diff --git a/src/app.css b/src/app.css
index f201664..503437e 100644
--- a/src/app.css
+++ b/src/app.css
@@ -1,290 +1,332 @@
@import url('https://fonts.googleapis.com/css2?family=Saira:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Symbols:wght@100..900&display=swap');
@import 'tailwindcss';
-/* @import '@skeletonlabs/skeleton-svelte'; */
@theme {
- /*
- Old green ECSESS palette (kept for quick revert):
- --color-ecsess-50: #e8ffd9;
- --color-ecsess-100: #cce7ba;
- --color-ecsess-150: #bae9a5;
- --color-ecsess-200: #a9d0a0;
- --color-ecsess-250: #9cc295;
- --color-ecsess-300: #8fb98a;
- --color-ecsess-350: #7daa7a;
- --color-ecsess-400: #6a9a6a;
- --color-ecsess-450: #62925a;
- --color-ecsess-500: #5a8b5a;
- --color-ecsess-550: #4c7a4f;
- --color-ecsess-600: #3f6a3f;
- --color-ecsess-650: #306032;
- --color-ecsess-700: #2f4d29;
- --color-ecsess-750: #1c4a1e;
- --color-ecsess-800: #0a3d2a;
- --color-ecsess-850: #083525;
- --color-ecsess-900: #062c20;
- --color-ecsess-950: #031c15;
- */
-
- /* Light bright blues - for backgrounds and cards */
- --color-ecsess-50: #eff6ff;
- --color-ecsess-100: #dbeafe;
- --color-ecsess-150: #bfdbfe;
- --color-ecsess-200: #93c5fd;
-
- /* Mid-light bright blues - for borders and hover states */
- --color-ecsess-250: #7ab8ff;
- --color-ecsess-300: #60a5fa;
- --color-ecsess-350: #4f9bff;
- --color-ecsess-400: #3b82f6;
-
- /* Mid bright blues - for accents and interactive elements */
- --color-ecsess-450: #2f74ef;
- --color-ecsess-500: #2563eb;
- --color-ecsess-550: #2259d1;
- --color-ecsess-600: #1d4ed8;
- --color-ecsess-650: #1b46c2;
-
- /* Mid-dark bright blues - for text on light backgrounds */
- --color-ecsess-700: #1e40af;
- --color-ecsess-750: #1b3a99;
- --color-ecsess-800: #1e3a8a;
-
- /* Dark bright blues - for text and backgrounds */
- --color-ecsess-850: #1b3277;
- --color-ecsess-900: #1e2f66;
- --color-ecsess-950: #172554;
-
- /* Black variants for UI elements */
- --color-ecsess-black: #1f1f1f;
- --color-ecsess-black-hover: #161917;
+ /* ─── Windows 2000 Silver / Navy palette ─── */
+
+ /* Silver / gray system colors */
+ --color-ecsess-50: #ffffff; /* white */
+ --color-ecsess-100: #f5f4f0; /* near-white / button face highlight */
+ --color-ecsess-150: #ece9d8; /* classic Win2k dialog bg */
+ --color-ecsess-200: #d4d0c8; /* classic Win2k silver */
+ --color-ecsess-250: #c0bdb5; /* mid-silver */
+ --color-ecsess-300: #aca899; /* medium silver-gray */
+ --color-ecsess-350: #969289; /* darker silver */
+ --color-ecsess-400: #808080; /* gray */
+ --color-ecsess-450: #6e6e6e;
+ --color-ecsess-500: #5c5c5c;
+ --color-ecsess-550: #4a4a4a;
+ --color-ecsess-600: #404040;
+ --color-ecsess-650: #333333;
+ --color-ecsess-700: #3a3a3a;
+ --color-ecsess-750: #2e2e2e;
+ --color-ecsess-800: #242424;
+ --color-ecsess-850: #1a1a1a;
+ --color-ecsess-900: #0a0a0a;
+ --color-ecsess-950: #000000;
+
+ /* Win2k title-bar navy */
+ --color-win-titlebar: #0a246a;
+ --color-win-titlebar-end: #a6caf0;
+ --color-win-titlebar-text: #ffffff;
+
+ /* Win2k classic accent blue (hyperlinks / selection) */
+ --color-win-blue: #0000ff;
+ --color-win-blue2: #000080;
+
+ /* system border helpers */
+ --color-win-light: #ffffff;
+ --color-win-highlight:#dfdfdf;
+ --color-win-shadow: #808080;
+ --color-win-dark: #404040;
+
+ /* Black variants */
+ --color-ecsess-black: #000000;
+ --color-ecsess-black-hover: #0a246a;
--animate-wiggle: wiggle 0.5s ease-in-out 1;
@keyframes wiggle {
- 0%,
- 100% {
- transform: rotateY(-2.4deg);
- }
- 50% {
- transform: rotateY(2.4deg);
- }
+ 0%, 100% { transform: rotateY(-2.4deg); }
+ 50% { transform: rotateY(2.4deg); }
}
--animate-pulse-ring: pulse-ring 1.5s ease-in-out infinite;
@keyframes pulse-ring {
- 0%,
- 100% {
- opacity: 0.5;
- }
- 50% {
- opacity: 1;
- }
+ 0%, 100% { opacity: 0.5; }
+ 50% { opacity: 1; }
+ }
+
+ --animate-blink: blink 1s step-start infinite;
+ @keyframes blink {
+ 0%, 100% { opacity: 1; }
+ 50% { opacity: 0; }
+ }
+
+ --animate-marquee: marquee 18s linear infinite;
+ @keyframes marquee {
+ 0% { transform: translateX(100%); }
+ 100% { transform: translateX(-100%); }
}
}
+/* ─── Global reset to Win2k system font feel ─── */
* {
- font-family: 'Saira', 'Noto Sans Symbols', sans-serif;
- font-optical-sizing: auto;
- font-weight: 500;
+ font-family: 'Tahoma', 'Verdana', 'MS Sans Serif', Arial, sans-serif;
+ font-size: 13px;
+ font-weight: normal;
font-style: normal;
scroll-behavior: smooth;
}
-h1 {
- @apply py-4 text-2xl font-bold md:text-3xl;
+body {
+ background-color: #008080; /* classic teal desktop */
+ color: #000000;
}
-h2 {
- @apply py-1.5 text-xl font-bold md:text-2xl;
+/* ─── Win2k beveled border utilities ─── */
+.win-raised {
+ border-top: 2px solid #ffffff;
+ border-left: 2px solid #ffffff;
+ border-right: 2px solid #404040;
+ border-bottom: 2px solid #404040;
+ box-shadow: inset 1px 1px 0 #dfdfdf, inset -1px -1px 0 #808080;
}
-.page-title {
- @apply my-6 text-3xl font-bold md:text-4xl lg:text-6xl;
+.win-sunken {
+ border-top: 2px solid #404040;
+ border-left: 2px solid #404040;
+ border-right: 2px solid #ffffff;
+ border-bottom: 2px solid #ffffff;
+ box-shadow: inset 1px 1px 0 #808080, inset -1px -1px 0 #dfdfdf;
}
-.typography {
- @apply text-sm md:text-base lg:text-lg;
-
- p {
- @apply my-2 leading-relaxed;
- }
-
- strong,
- b {
- @apply font-bold;
- }
-
- i {
- @apply italic;
- }
-
- blockquote {
- @apply bg-ecsess-100 text-ecsess-700 border-l-ecsess-600 my-4 rounded-md border-l-4 py-[0.01rem] ps-4 italic;
- }
-
- h1 {
- @apply my-4 text-4xl leading-10 font-extrabold;
- }
-
- h2 {
- @apply mt-4 mb-3 text-2xl leading-8 font-black;
- }
-
- h3 {
- @apply mt-4 mb-1 text-xl leading-relaxed font-bold;
- }
-
- h4 {
- @apply mt-6 mb-2 leading-6;
- }
-
- img,
- picture,
- video {
- @apply my-8;
- }
-
- picture > img {
- @apply mt-0 mb-0;
- }
-
- code,
- kbd {
- @apply rounded-md font-mono text-sm;
- }
-
- h2 code {
- @apply text-[1.3125rem]; /* 21px */
- }
-
- h3 code {
- @apply text-[1.125rem]; /* 18px */
- }
-
- pre {
- @apply my-3 rounded-md px-4 pt-3 pb-3 font-mono text-sm leading-6;
- }
-
- ol,
- ul {
- @apply my-2 list-outside list-disc ps-6.5;
- }
-
- li {
- @apply my-1 leading-relaxed;
- }
-
- ol > li,
- ul > li {
- @apply ps-1;
- }
-
- > ul > li p {
- @apply my-2 leading-relaxed;
- }
-
- ul ul,
- ul ol,
- ol ul,
- ol ol {
- @apply my-1;
- }
+.win-flat {
+ border: 1px solid #808080;
+}
- dl {
- @apply my-5;
- }
+.win-groupbox {
+ border: 2px groove #808080;
+ padding: 16px;
+}
- dt {
- @apply mt-5;
- }
+/* ─── Win2k window chrome ─── */
+.win-window {
+ background: #d4d0c8;
+ border-top: 2px solid #ffffff;
+ border-left: 2px solid #ffffff;
+ border-right: 2px solid #404040;
+ border-bottom: 2px solid #404040;
+ box-shadow: inset 1px 1px 0 #dfdfdf, inset -1px -1px 0 #808080, 2px 2px 8px rgba(0,0,0,0.5);
+}
- dd {
- @apply mt-2 ps-6.5;
- }
+.win-titlebar {
+ background: linear-gradient(to right, #0a246a, #a6caf0);
+ color: #ffffff;
+ font-weight: bold;
+ font-size: 12px;
+ padding: 3px 6px;
+ display: flex;
+ align-items: center;
+ gap: 4px;
+ user-select: none;
+}
- hr {
- @apply my-12;
- }
+.win-titlebar-btn {
+ background: #d4d0c8;
+ border-top: 1px solid #ffffff;
+ border-left: 1px solid #ffffff;
+ border-right: 1px solid #404040;
+ border-bottom: 1px solid #404040;
+ width: 16px;
+ height: 14px;
+ font-size: 9px;
+ line-height: 1;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ cursor: pointer;
+ flex-shrink: 0;
+}
- hr + *,
- h2 + *,
- h3 + *,
- h4 + * {
- @apply mt-0;
- }
+.win-titlebar-btn:active {
+ border-top: 1px solid #404040;
+ border-left: 1px solid #404040;
+ border-right: 1px solid #ffffff;
+ border-bottom: 1px solid #ffffff;
+}
- table {
- @apply w-full;
- }
+.win-btn {
+ background: #d4d0c8;
+ color: #000000;
+ border-top: 2px solid #ffffff;
+ border-left: 2px solid #ffffff;
+ border-right: 2px solid #404040;
+ border-bottom: 2px solid #404040;
+ box-shadow: inset 1px 1px 0 #dfdfdf, inset -1px -1px 0 #808080;
+ padding: 4px 12px;
+ cursor: pointer;
+ font-family: 'Tahoma', 'Verdana', sans-serif;
+ font-size: 12px;
+ min-width: 75px;
+ text-align: center;
+}
- thead {
- @apply border-ecsess-500 border-b-2;
- }
+.win-btn:active, .win-btn:focus {
+ border-top: 2px solid #404040;
+ border-left: 2px solid #404040;
+ border-right: 2px solid #ffffff;
+ border-bottom: 2px solid #ffffff;
+ box-shadow: inset 1px 1px 0 #808080, inset -1px -1px 0 #dfdfdf;
+}
- thead th {
- @apply text-ecsess-500 p-2 text-left text-base font-bold;
- }
+.win-btn:hover {
+ background: #ece9d8;
+}
- tbody td,
- tfoot td {
- @apply p-2.5;
- }
+.win-btn:disabled {
+ color: #808080;
+ text-shadow: 1px 1px 0 #ffffff;
+ cursor: default;
+}
- td > a {
- @apply underline transition-colors;
- }
+.win-menu-bar {
+ background: #d4d0c8;
+ border-bottom: 1px solid #808080;
+ display: flex;
+ gap: 0;
+}
- tbody tr:nth-child(odd) {
- @apply bg-ecsess-200/24;
- }
+.win-menu-item {
+ padding: 3px 8px;
+ font-size: 12px;
+ cursor: pointer;
+}
- td + td {
- @apply border-l;
- }
+.win-menu-item:hover {
+ background: #0a246a;
+ color: #ffffff;
+}
- tfoot {
- @apply border-t;
- }
+.win-statusbar {
+ background: #d4d0c8;
+ border-top: 1px solid #808080;
+ padding: 2px 6px;
+ font-size: 11px;
+ display: flex;
+ align-items: center;
+ gap: 4px;
+}
- figure {
- @apply my-8;
- }
+.win-input {
+ background: #ffffff;
+ border-top: 2px solid #808080;
+ border-left: 2px solid #808080;
+ border-right: 1px solid #ffffff;
+ border-bottom: 1px solid #ffffff;
+ padding: 2px 4px;
+ font-family: 'Tahoma', 'Verdana', sans-serif;
+ font-size: 12px;
+}
- figure > * {
- @apply my-0;
- }
+.win-link {
+ color: #0000ff;
+ text-decoration: underline;
+ cursor: pointer;
+}
- figcaption {
- @apply mt-3 text-sm leading-5;
- }
+.win-link:visited {
+ color: #800080;
}
-/* Scrollbar Styles */
-*::-webkit-scrollbar {
- @apply h-1 w-1;
+.win-link:hover {
+ color: #000080;
}
-*::-webkit-scrollbar-track {
- @apply bg-ecsess-700 rounded;
+/* ─── page-title kept for animation ─── */
+.page-title {
+ font-size: 18px;
+ font-weight: bold;
+ color: #000000;
}
-*::-webkit-scrollbar-track:hover {
- @apply bg-ecsess-900;
+/* ─── Headings ─── */
+h1 {
+ font-size: 18px;
+ font-weight: bold;
+ padding: 4px 0;
}
-*::-webkit-scrollbar-track:active {
- @apply bg-ecsess-900;
+h2 {
+ font-size: 15px;
+ font-weight: bold;
+ padding: 4px 0;
}
-*::-webkit-scrollbar-thumb {
- @apply bg-ecsess-100 rounded-md;
+h3 {
+ font-size: 13px;
+ font-weight: bold;
}
-*::-webkit-scrollbar-thumb:hover {
- @apply bg-ecsess-300;
+/* ─── Typography block (rich text) ─── */
+.typography {
+ font-size: 13px;
+
+ p { margin: 6px 0; line-height: 1.5; }
+ strong, b { font-weight: bold; }
+ i { font-style: italic; }
+ blockquote {
+ background: #ece9d8;
+ border-left: 3px solid #0a246a;
+ margin: 8px 0;
+ padding: 4px 8px;
+ font-style: italic;
+ }
+ h1 { font-size: 18px; font-weight: bold; }
+ h2 { font-size: 15px; font-weight: bold; }
+ h3 { font-size: 13px; font-weight: bold; }
+ code, kbd {
+ font-family: 'Courier New', monospace;
+ font-size: 12px;
+ background: #ece9d8;
+ padding: 1px 3px;
+ }
+ pre {
+ font-family: 'Courier New', monospace;
+ font-size: 12px;
+ background: #ece9d8;
+ padding: 8px;
+ margin: 6px 0;
+ border: 1px solid #808080;
+ }
+ ol, ul { margin: 4px 0; padding-left: 20px; list-style: disc; }
+ li { margin: 2px 0; }
+ table { width: 100%; border-collapse: collapse; }
+ thead { border-bottom: 2px solid #0a246a; }
+ thead th { color: #0a246a; padding: 4px; text-align: left; font-weight: bold; }
+ tbody td, tfoot td { padding: 4px; }
+ tbody tr:nth-child(odd) { background: #f5f4f0; }
+ td + td { border-left: 1px solid #d4d0c8; }
}
-*::-webkit-scrollbar-thumb:active {
- @apply bg-ecsess-300;
+/* ─── Scrollbars ─── */
+*::-webkit-scrollbar { width: 16px; height: 16px; }
+*::-webkit-scrollbar-track { background: #d4d0c8; }
+*::-webkit-scrollbar-thumb {
+ background: #d4d0c8;
+ border-top: 2px solid #ffffff;
+ border-left: 2px solid #ffffff;
+ border-right: 2px solid #404040;
+ border-bottom: 2px solid #404040;
+}
+*::-webkit-scrollbar-button {
+ background: #d4d0c8;
+ border-top: 2px solid #ffffff;
+ border-left: 2px solid #ffffff;
+ border-right: 2px solid #404040;
+ border-bottom: 2px solid #404040;
+ display: block;
+ height: 16px;
+ width: 16px;
}
+*::-webkit-scrollbar-corner { background: #d4d0c8; }
diff --git a/src/components/Button.svelte b/src/components/Button.svelte
index 9982870..825e3d2 100644
--- a/src/components/Button.svelte
+++ b/src/components/Button.svelte
@@ -5,9 +5,7 @@
{@render children()}
diff --git a/src/components/QuickLinks.svelte b/src/components/QuickLinks.svelte
index c4b9427..9ada40b 100644
--- a/src/components/QuickLinks.svelte
+++ b/src/components/QuickLinks.svelte
@@ -1,35 +1,31 @@
-
-
- Popular resources
-
+
+ 📌 Popular Resources
-
+
- ECSESS Events
+
+ 📅 ECSESS Events
+
-
- Trottier 5th Room Booking
-
+
+ 🏫 Trottier 5th Booking
+
- Ctrl+Z feedback form
+
+ 📝 Ctrl+Z Feedback
+
-
-
-
- Sponsor ECSESS
-
-
+
+ 💼 Sponsor ECSESS
+
-
+
diff --git a/src/components/homepage/AffiliatedGroups.svelte b/src/components/homepage/AffiliatedGroups.svelte
index 06e9d5d..733fa95 100644
--- a/src/components/homepage/AffiliatedGroups.svelte
+++ b/src/components/homepage/AffiliatedGroups.svelte
@@ -1,15 +1,10 @@
-
-
-
-
- Subcommittees & Affiliated Groups
+
+
+
+
+ Subcommittees & Affiliated Groups
-
- Explore opportunities to enhance your skills, build innovative projects, and connect with the
- engineering community through our subcommittees and affiliated groups.
+
+ Explore opportunities to enhance your skills and connect with the engineering community.
-
-
+
+
{#each groups as group, i (group.name)}
- {@const Icon = group.icon}
-
-
-
-
-
-
-
-
- {group.name}
-
-
+
+
+
+
+ {group.icon}
+ {group.name}
+ ✕
+
-
-
- {group.description}
-
+
+
+
{group.description}
-
-
- {#each group.features as feature (feature)}
-
-
- {feature}
+
+
+ {#each group.features as feature}
+
+ ✔
+ {feature}
{/each}
-
-
+
+
{#if group.instagram}
-
- Instagram
+ 📸 Instagram
{/if}
{#if group.website}
@@ -126,16 +106,15 @@
href={group.website}
target="_blank"
rel="noopener noreferrer external"
- aria-label={`Visit ${group.name} website`}
- class="text-ecsess-300 hover:text-ecsess-100 border-ecsess-700 bg-ecsess-900/50 hover:bg-ecsess-800/80 inline-flex items-center gap-2 rounded-md border px-4 py-2 text-base"
+ class="win-btn"
+ style="font-size: 10px; min-width: auto; padding: 2px 6px; text-decoration: none; color: #000;"
>
-
-
Website
+ 🌐 Website
{/if}
-
+
{/each}
diff --git a/src/components/homepage/Sponsors.svelte b/src/components/homepage/Sponsors.svelte
index 82c5542..9dafdab 100644
--- a/src/components/homepage/Sponsors.svelte
+++ b/src/components/homepage/Sponsors.svelte
@@ -1,7 +1,6 @@
-