.container{max-width:1120px;margin:0 auto;padding:0 32px}main{display:grid}.site-header{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px);background:color-mix(in oklab,var(--bg),transparent 25%);border-bottom:1px solid color-mix(in oklab,var(--border),transparent 60%)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.brand{display:inline-flex;align-items:center;gap:10px;color:inherit}.brand-mark{width:20px;height:20px;border-radius:4px;background:linear-gradient(135deg,#6366f1,#22d3ee);box-shadow:0 8px 24px #6366f159}.brand-text{font-weight:700;letter-spacing:.2px}.nav{display:flex;gap:20px}.nav a{color:var(--muted-foreground)}.nav a:hover{color:var(--foreground)}.hero{padding-bottom:64px;min-height:calc(100svh - 64px);display:flex;align-items:center;position:relative}.hero-inner{text-align:center;display:flex;flex-direction:column;gap:32px}.hero h1{font-size:clamp(28px,6vw,64px);line-height:1.05;margin:0}.highlight-italic{font-style:italic;color:#e7d027}.highlight-accent{font-style:italic;color:#25b0c9}.subhead{max-width:500px;margin:0 auto;color:var(--muted-foreground)}.cta-row{display:flex;gap:12px;align-items:center;justify-content:center}.scroll-cue{position:absolute;left:50%;transform:translate(-50%);bottom:24px;color:var(--muted-foreground);opacity:.8;animation:bounce 1.6s infinite;transition:opacity .2s ease}.scroll-cue:hover{color:var(--foreground)}.scroll-cue.hidden{opacity:0;pointer-events:none}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(6px)}60%{transform:translate(-50%) translateY(3px)}}.btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 16px;border-radius:10px;border:1px solid var(--border);color:var(--foreground);background:var(--bg-elevated)}.btn:hover{filter:brightness(1.03)}.btn:active{transform:translateY(1px)}.btn.primary{background:linear-gradient(135deg,#536bff,#2a8797);box-shadow:0 6px 24px #6366f159;color:#fff}.btn.ghost{background:transparent}.section-head{margin-bottom:32px}.section-head h2{font-size:clamp(22px,4vw,32px);margin:0}.section-head p{color:var(--muted-foreground);margin:8px 0}.projects{padding:16px 0 64px}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}@media (max-width: 960px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.projects-grid{grid-template-columns:1fr}}.project-card{display:grid;grid-template-rows:140px auto;border:1px solid var(--border);background:var(--bg-elevated);border-radius:14px;overflow:hidden;text-align:left;transition:transform .15s ease,background .15s ease,border-color .15s ease}.project-card:hover{transform:translateY(-2px);border-color:color-mix(in oklab,var(--border),var(--foreground) 20%)}.project-media{background:linear-gradient(135deg,color-mix(in oklab,#22d3ee,var(--bg) 30%),color-mix(in oklab,#6366f1,var(--bg) 30%))}.project-body{padding:16px}.project-body h3{margin:0 0 6px;font-size:18px}.project-body p{margin:0 0 10px;color:var(--muted-foreground)}.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.tag{font-size:12px;padding:4px 8px;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--muted-foreground)}.site-footer{border-top:1px solid var(--border);margin-top:48px}.footer-inner{display:flex;align-items:center;justify-content:space-between;padding:20px 32px}.socials{display:flex;gap:16px}:root{--bg: #0b0b0c;--bg-elevated: #111113;--surface-contrast: #000;--foreground: #e7e7ea;--muted-foreground: #a1a1aa;--border: #2a2a2e}@media (prefers-color-scheme: light){:root{--bg: #ffffff;--bg-elevated: #fff;--surface-contrast: #fff;--foreground: #0b0b0c;--muted-foreground: #6b7280;--border: #e5e7eb}}:root{font-family:Inter,ui-sans-serif,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--foreground);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--foreground)}a{color:inherit;text-decoration:none}h1,h2,h3{font-weight:700}h1{letter-spacing:-.02em}p{color:var(--foreground)}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}:where(section){scroll-margin-top:80px}
