:root{--color-bg: #f0f4f8;--color-text: #333;--color-primary: #0066aa;--color-primary-hover: #004d80;--color-surface: #fff;--color-border: rgba(0, 0, 0, .08);--color-muted: #555;--font-sans: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--shadow-sm: 0 2px 6px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--radius: 8px;--max-content: 800px}html.dark{--color-bg: rgb(30, 30, 34);--color-text: #e4e4e7;--color-primary: #58a6ff;--color-primary-hover: #79b8ff;--color-surface: rgb(44, 44, 48);--color-border: rgba(255, 255, 255, .08);--color-muted: #a1a1aa}html.dark body{background:var(--color-bg);color:var(--color-text)}body{font-family:var(--font-sans);margin:0;padding:0;background:var(--color-bg);color:var(--color-text);line-height:1.6}.app{min-height:100vh;display:flex;flex-direction:column}.theme-toggle{position:fixed;top:1.25rem;right:1.25rem;padding:.5rem .75rem;font-size:1.25rem;border-radius:var(--radius);cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);z-index:10;transition:background .2s ease,transform .15s ease}.theme-toggle:hover{transform:scale(1.05)}.hero{background:linear-gradient(135deg,#06a,#004d80);color:#fff;padding:3rem 1.5rem;text-align:center}html.dark .hero{background:linear-gradient(135deg,#1a3a52,#0d2137)}.hero__title{margin:0 0 .5rem;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:600;letter-spacing:-.02em}.hero__tagline{margin:0;font-size:clamp(1rem,2vw,1.125rem);opacity:.95}.main{flex:1;padding:0 1rem 2rem}.section{max-width:var(--max-content);margin:0 auto;padding:2.5rem 0}.section:not(:last-child){border-bottom:1px solid var(--color-border)}.section__header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.section__header h2,.section h2{margin:0 0 1rem;font-size:1.5rem;font-weight:600;color:var(--color-text)}.section__note{margin:1rem 0 1.5rem;font-size:.95rem;color:var(--color-muted)}.section__mascot{display:block;border-radius:var(--radius);margin-top:1rem}.prose{max-width:65ch}.prose p{margin:0 0 1rem;font-size:clamp(1rem,2.5vw,1.0625rem);line-height:1.65;color:var(--color-text)}.prose p:last-child{margin-bottom:0}.link{text-decoration:none;font-weight:500;transition:color .15s ease}.link--primary{color:var(--color-primary)}.link--primary:hover{color:var(--color-primary-hover);text-decoration:underline}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;margin-top:1rem}.project-card{display:block;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem;color:inherit;text-decoration:none;transition:box-shadow .2s ease,transform .2s ease}.project-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.project-card__title{margin:0 0 .5rem;font-size:1.1rem;font-weight:600;color:var(--color-primary)}.project-card__desc{margin:0;font-size:.9rem;color:var(--color-muted);line-height:1.5}.project-list{list-style:none;padding:0;margin:0 0 1rem}.project-list__item{padding:.75rem 0;border-bottom:1px solid var(--color-border)}.project-list__item:first-child{padding-top:0}.project-list__item .link{display:inline-block;margin-bottom:.25rem}.project-list__desc{margin:0;font-size:.95rem;color:var(--color-muted);line-height:1.5}.footer{background:var(--color-surface);border-top:1px solid var(--color-border);text-align:center;padding:1.25rem 1rem;font-size:.875rem;color:var(--color-muted)}
