:root{--font-display:"Quicksand", ui-rounded, system-ui, sans-serif;--font-body:"Mulish", system-ui, sans-serif;--font-mono:"Spline Sans Mono", ui-monospace, monospace;--fs-2xs:11px;--fs-xs:12.5px;--fs-sm:14px;--fs-base:16px;--fs-md:18px;--fs-lg:22px;--fs-xl:28px;--fs-2xl:36px;--fs-3xl:48px;--fs-4xl:64px;--lh-tight:1.12;--lh-snug:1.3;--lh-body:1.6;--track-display:-.01em;--track-caps:.09em}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0d22;--bg-deep:#060919;--surface:#151936;--surface-2:#1d2244;--surface-3:#262c55;--overlay:#060919b3;--text:#eef0fb;--text-2:#b3b8d9;--text-3:#7e84ad;--stroke:#bec4e829;--stroke-strong:#bec4e852;--moon:#cdd3ef;--moon-d:#9ba3ce;--gold:#e9c979;--gold-d:#c9a247;--gold-l:#e9c97924;--dusk:#8b93f8;--dusk-d:#6a72e8;--dusk-l:#8b93f829;--aurora:#5bd4c2;--aurora-d:#2fa893;--aurora-l:#5bd4c224;--ember:#f2917e;--ember-d:#d96a55;--ember-l:#f2917e24;--haze:#c490e4;--haze-l:#c490e426;--primary:var(--gold);--primary-ink:#231a05;--link:var(--dusk);--success-text:var(--aurora);--success-bg:var(--aurora-l);--warning-text:var(--gold);--warning-bg:var(--gold-l);--danger-text:var(--ember);--danger-bg:var(--ember-l);--info-text:var(--dusk);--info-bg:var(--dusk-l);--text-body:var(--text);--text-muted:var(--text-2);--text-faint:var(--text-3);--surface-card:var(--surface)}[data-theme=day]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f3ec;--bg-deep:#ece9df;--surface:#fff;--surface-2:#f7f5ee;--surface-3:#efece2;--overlay:#262a4d73;--text:#272b52;--text-2:#5a5f8a;--text-3:#8a8fb4;--stroke:#272b5224;--stroke-strong:#272b524d;--moon:#8a93c4;--moon-d:#6b74a8;--gold:#c9992e;--gold-d:#a67c1c;--gold-l:#c9992e24;--dusk:#5a63d8;--dusk-d:#4650c4;--dusk-l:#5a63d81f;--aurora:#1f9a86;--aurora-d:#157263;--aurora-l:#1f9a861f;--ember:#d45a44;--ember-d:#b03e2b;--ember-l:#d45a441f;--haze:#9a5fc7;--haze-l:#9a5fc71f;--primary:var(--gold);--primary-ink:#2e2104;--link:var(--dusk-d);--success-text:var(--aurora-d);--success-bg:var(--aurora-l);--warning-text:var(--gold-d);--warning-bg:var(--gold-l);--danger-text:var(--ember-d);--danger-bg:var(--ember-l);--info-text:var(--dusk-d);--info-bg:var(--dusk-l);--text-body:var(--text);--text-muted:var(--text-2);--text-faint:var(--text-3);--surface-card:var(--surface)}
:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:40px;--sp-9:48px;--sp-10:64px;--sp-11:80px;--sp-12:96px;--content-max:1180px;--card-pad:var(--sp-6)}
:root{--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-pill:999px;--shadow-sm:0 2px 8px #03051259;--shadow-md:0 12px 32px -8px #03051280;--glow-gold:0 0 0 1px #e9c97947, 0 0 28px #e9c9792e;--glow-dusk:0 0 0 1px #8b93f840, 0 0 24px #8b93f833;--focus-ring:0 0 0 3px #8b93f873;--dur-fast:.14s;--dur-base:.24s;--dur-slow:.6s;--dur-dream:1.8s;--ease-out:cubic-bezier(.22, .8, .3, 1);--ease-dream:cubic-bezier(.6, .05, .28, .99);--ease-drift:cubic-bezier(.4, 0, .2, 1)}[data-theme=day]{--shadow-sm:0 2px 10px #272b521a;--shadow-md:0 14px 36px -10px #272b522e;--glow-gold:0 0 0 1px #c9992e38, 0 6px 20px #c9992e2e;--glow-dusk:0 0 0 1px #5a63d833, 0 6px 20px #5a63d829;--focus-ring:0 0 0 3px #5a63d859}

*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.6}html.theming body,html.theming body *{transition:background-color 1s var(--ease-dream), color 1s var(--ease-dream), border-color 1s var(--ease-dream), box-shadow 1s var(--ease-dream)!important}.sky{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.sky-night,.sky-day{transition:opacity 1.1s var(--ease-dream);position:absolute;inset:0}.sky-night{opacity:1;background:linear-gradient(#040612 0%,#060919 50%,#10142e 100%)}.sky-day{opacity:0;background:linear-gradient(#cfe3f4 0%,#eee9db 60%,#f5f3ec 100%)}html[data-theme=day] .sky-night{opacity:0}html[data-theme=day] .sky-day{opacity:1}.stars{transition:opacity 1.1s var(--ease-dream), transform 1.1s var(--ease-dream);position:absolute;inset:0}html[data-theme=day] .stars{opacity:0;transform:translateY(-40px)}.star{background:#cdd3ef;border-radius:50%;animation:4s ease-in-out infinite twinkle;position:absolute}@keyframes twinkle{0%,to{opacity:.22}50%{opacity:.75}}.impersonate-banner{z-index:3;background:var(--gold-l);border-bottom:1px solid var(--stroke-strong);color:var(--gold);font-family:var(--font-body);text-align:center;justify-content:center;align-items:center;gap:12px;padding:10px 16px;font-size:13.5px;font-weight:600;display:flex;position:relative}.impersonate-banner b{color:var(--text)}.impersonate-banner button{border-radius:var(--r-pill);border:1px solid var(--gold);height:28px;color:var(--gold);font-family:var(--font-display);cursor:pointer;transition:background var(--dur-fast) var(--ease-out);background:0 0;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:700;display:inline-flex}.impersonate-banner button:hover{background:var(--gold-l)}.impersonate-banner button:disabled{opacity:.6;cursor:not-allowed}.nav{z-index:2;max-width:var(--content-max);justify-content:space-between;align-items:center;gap:24px;margin:0 auto;padding:22px 32px;display:flex;position:relative}.wm{font-family:var(--font-display);color:var(--text);align-items:center;gap:10px;font-size:21px;font-weight:700;text-decoration:none;display:flex}.wm b{color:var(--gold)}.nav-links{font-family:var(--font-display);align-items:center;gap:26px;font-size:14.5px;font-weight:600;display:flex}.nav-links a:not(.btn){color:var(--text-2);transition:color var(--dur-fast);text-decoration:none}.nav-links a:not(.btn):hover,.nav-links a.on{color:var(--text)}.dev-dropdown-wrap{position:relative}.dev-dropdown-wrap>button{color:var(--text-2);transition:color var(--dur-fast)}.dev-dropdown-wrap>button:hover,.dev-dropdown-wrap>button.on{color:var(--text)}.dev-dropdown{background:var(--surface);border:1px solid var(--stroke);border-radius:var(--r-lg);min-width:260px;box-shadow:var(--shadow-md);z-index:20;padding:8px;position:absolute;top:calc(100% + 14px);right:0}.dev-dropdown a{border-radius:var(--r-md);padding:9px 12px;font-size:13.5px;font-weight:600;text-decoration:none;display:block;color:var(--text-2)!important}.dev-dropdown a:hover{background:var(--surface-2);color:var(--text)!important}.dev-dropdown a .path{font-family:var(--font-mono);color:var(--text-3);margin-top:2px;font-size:11px;font-weight:400;display:block}.btn{border-radius:var(--r-pill);cursor:pointer;background:var(--primary);height:46px;color:var(--primary-ink);font-family:var(--font-display);white-space:nowrap;transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), background var(--dur-fast);border:none;justify-content:center;align-items:center;gap:8px;padding:0 26px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{box-shadow:var(--glow-gold);transform:translateY(-1px)}.btn:active{transform:translateY(1px)scale(.99)}.btn.secondary{color:var(--text);border:1px solid var(--stroke-strong);background:0 0}.btn.secondary:hover{background:var(--surface-2);box-shadow:none}.btn.ghost{color:var(--text-2);background:0 0}.btn.ghost:hover{background:var(--surface-2);box-shadow:none}.btn.sm{height:38px;padding:0 20px;font-size:14px}.btn.lg{height:54px;padding:0 32px;font-size:16.5px}.theme-toggle{border-radius:var(--r-pill);border:1px solid var(--stroke-strong);cursor:pointer;width:74px;height:34px;transition:background 1s var(--ease-dream), box-shadow var(--dur-base);background:linear-gradient(90deg,#060919,#1d2244);flex-shrink:0;padding:0;position:relative;overflow:hidden}html[data-theme=day] .theme-toggle{background:linear-gradient(90deg,#bfd9f2,#f2e4be)}.theme-toggle:hover{box-shadow:var(--glow-dusk)}html[data-theme=day] .theme-toggle:hover{box-shadow:var(--glow-gold)}.tt-knob{width:26px;height:26px;transition:left var(--dur-slow) var(--ease-dream), background var(--dur-slow);color:#1d2244;background:#cdd3ef;border-radius:50%;justify-content:center;align-items:center;font-size:15px;display:flex;position:absolute;top:3px;left:43px;box-shadow:0 0 10px #cdd3ef99}html[data-theme=day] .tt-knob{color:#8a5b00;background:#f5c542;left:3px;box-shadow:0 0 12px #f5c542cc}.streak-pill{border-radius:var(--r-pill);background:var(--gold-l);color:var(--gold);font-size:14px;font-weight:700;font-family:var(--font-mono);align-items:center;gap:7px;padding:7px 14px;display:inline-flex}.avatar{background:var(--haze);color:#0a0d22;width:36px;height:36px;font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:inline-flex}.card{background:var(--surface);border:1px solid var(--stroke);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:var(--sp-6)}.eyebrow{letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--gold);font-size:11.5px;font-weight:800}.content{z-index:1;max-width:var(--content-max);margin:0 auto;padding:0 32px;position:relative}.footer{z-index:1;border-top:1px solid var(--stroke);margin-top:96px;position:relative}.footer-in{max-width:var(--content-max);color:var(--text-3);justify-content:space-between;align-items:center;gap:24px;margin:0 auto;padding:36px 32px;font-size:13.5px;display:flex}.footer-in a{color:var(--text-2);margin-left:20px;text-decoration:none}.footer-in a:hover{color:var(--text)}.video-embed{aspect-ratio:16/9;border-radius:var(--r-lg);width:100%;box-shadow:var(--shadow-sm);background:var(--surface);position:relative;overflow:hidden}.video-embed iframe{border:none;width:100%;height:100%;position:absolute;inset:0}.portfolio-meta{background:var(--surface);border:1px solid var(--stroke);border-radius:var(--r-md);flex-wrap:wrap;align-items:center;gap:20px;margin:0 0 28px;padding:16px 20px;display:flex}.portfolio-meta-item{align-items:center;gap:8px;display:flex}.portfolio-meta-label{letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text-3);font-size:11.5px;font-weight:800}.portfolio-meta-value{font-family:var(--font-display);color:var(--text);font-size:14.5px;font-weight:700}.portfolio-meta-tags{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.tag-pill{border-radius:var(--r-pill);background:var(--gold-l);color:var(--gold);align-items:center;padding:5px 12px;font-size:12.5px;font-weight:700;display:inline-flex}
