
:root{--ink-1000:#000;--ink-950:#08090b;--ink-900:#111214;--ink-850:#17191d;--ink-800:#1d2127;--ink-750:#252a32;--ink-700:#2e343d;--slate-800:#243040;--slate-700:#303f54;--slate-600:#405d7a;--slate-500:#54749a;--slate-400:#7793b3;--slate-300:#9db4ce;--blue-200:#b4d8fd;--blue-300:#81bdfa;--blue-400:#55a2f3;--blue-500:#2f8bea;--blue-600:#1f6fc7;--blue-700:#1b4a8a;--navy-800:#1b2a46;--navy-900:#121d30;--mint-200:#b6ecc9;--mint-300:#82dba3;--mint-500:#58956e;--mint-700:#2f5c42;--amber-300:#f2c879;--amber-500:#b8862f;--clay-300:#f5a099;--clay-400:#e8756b;--clay-600:#9e3a31;--white:#fff;--paper-100:#f7f8f9;--paper-200:#e7ebef;--w-04:#ffffff0a;--w-06:#ffffff0f;--w-08:#ffffff14;--w-12:#ffffff1f;--w-16:#ffffff29;--w-24:#ffffff3d;--w-40:#fff6;--w-56:#ffffff8f;--w-72:#ffffffb8;--k-00:#0000;--k-24:#0000003d;--k-40:#0006;--k-56:#0000008f;--text-primary:var(--white);--text-secondary:#ffffffb8;--text-tertiary:#ffffff7a;--text-disabled:#ffffff47;--text-accent:var(--blue-300);--text-positive:var(--mint-300);--text-negative:var(--clay-300);--text-warning:var(--amber-300);--text-on-accent:var(--navy-900);--text-on-light:var(--navy-900);--text-on-light-secondary:var(--slate-700);--text-link:var(--blue-300);--text-link-hover:var(--blue-200);--surface-canvas:var(--ink-900);--surface-canvas-deep:var(--ink-1000);--surface-card:var(--ink-850);--surface-card-raised:var(--ink-800);--surface-inset:#ffffff0a;--surface-hover:#ffffff0f;--surface-pressed:#ffffff1a;--surface-sidebar:var(--navy-900);--surface-overlay:#08090bb8;--surface-tooltip:var(--ink-750);--surface-panel:linear-gradient(142deg,#96c7f79e 0%,#6082abb8 44%,#384a63db 100%);--surface-panel-solid:linear-gradient(142deg,#6e90b6 0%,#4a6688 45%,#33445c 100%);--surface-panel-row:#ffffff0f;--surface-panel-row-active:linear-gradient(90deg,#9bc0e88c,#81a8d061);--surface-panel-header:#ffffff1a;--panel-blur:18px;--accent-primary:var(--blue-300);--accent-primary-hover:var(--blue-200);--accent-primary-pressed:var(--blue-400);--accent-secondary:var(--mint-300);--accent-secondary-hover:var(--mint-200);--accent-light:var(--paper-100);--status-ontrack-fg:var(--mint-300);--status-ontrack-bg:#82dba329;--status-atrisk-fg:var(--amber-300);--status-atrisk-bg:#f2c87929;--status-delayed-fg:var(--clay-300);--status-delayed-bg:#f5a09929;--status-planned-fg:var(--blue-300);--status-planned-bg:#81bdfa29;--status-done-fg:#ffffffb8;--status-done-bg:#ffffff14;--border-hairline:#ffffff14;--border-subtle:#ffffff1f;--border-strong:#ffffff3d;--border-accent:var(--blue-300);--border-positive:#82dba38c;--border-negative:#f5a0998c;--border-focus:var(--blue-300);--viz-1:#81bdfa;--viz-2:#9db4ce;--viz-3:#82dba3;--viz-4:#54749a;--viz-5:#f2c879;--viz-6:#f5a099;--viz-grid:#ffffff14;--viz-line:var(--white);--viz-area:linear-gradient(180deg,#81bdfa52,#81bdfa00)}[data-theme=light]{--text-primary:var(--navy-900);--text-secondary:var(--slate-700);--text-tertiary:var(--slate-500);--text-disabled:var(--slate-300);--text-link:var(--blue-600);--text-link-hover:var(--blue-500);--surface-canvas:var(--paper-100);--surface-card:var(--white);--surface-card-raised:var(--white);--surface-inset:#121d300a;--surface-hover:#121d300d;--surface-pressed:#121d3017;--border-hairline:#121d301a;--border-subtle:#121d3024;--border-strong:#121d3047}
:root{--font-core:"Mona Sans","Mona Sans Fallback",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--font-display:var(--font-core);--font-body:var(--font-core);--font-mono:ui-monospace,SFMono-Regular,Menlo,monospace;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fs-11:11px;--fs-12:12px;--fs-13:13px;--fs-15:15px;--fs-17:17px;--fs-20:20px;--fs-24:24px;--fs-32:32px;--fs-40:40px;--fs-56:56px;--fs-72:72px;--lh-tight:1.05;--lh-snug:1.18;--lh-normal:1.35;--lh-relaxed:1.55;--ls-tight:-.022em;--ls-snug:-.012em;--ls-normal:0;--ls-wide:.04em;--ls-caps:.09em;--type-display-1:var(--fw-semibold) var(--fs-56)/var(--lh-tight) var(--font-display);--type-display-2:var(--fw-semibold) var(--fs-40)/var(--lh-snug) var(--font-display);--type-h1:var(--fw-semibold) var(--fs-32)/var(--lh-snug) var(--font-display);--type-h2:var(--fw-semibold) var(--fs-24)/var(--lh-snug) var(--font-display);--type-h3:var(--fw-semibold) var(--fs-20)/var(--lh-normal) var(--font-display);--type-title:var(--fw-medium) var(--fs-17)/var(--lh-normal) var(--font-body);--type-body:var(--fw-regular) var(--fs-15)/var(--lh-relaxed) var(--font-body);--type-body-sm:var(--fw-regular) var(--fs-13)/var(--lh-normal) var(--font-body);--type-label:var(--fw-medium) var(--fs-12)/var(--lh-normal) var(--font-body);--type-caption:var(--fw-regular) var(--fs-11)/var(--lh-normal) var(--font-body);--type-overline:var(--fw-medium) var(--fs-11)/var(--lh-normal) var(--font-body);--type-figure-xl:var(--fw-semibold) var(--fs-40)/1 var(--font-display);--type-figure-lg:var(--fw-semibold) var(--fs-32)/1 var(--font-display);--type-figure-md:var(--fw-semibold) var(--fs-20)/1.1 var(--font-display);--figure-fraction-scale:.52em}
:root{--sp-0:0px;--sp-2:2px;--sp-4:4px;--sp-6:6px;--sp-8:8px;--sp-10:10px;--sp-12:12px;--sp-16:16px;--sp-20:20px;--sp-24:24px;--sp-32:32px;--sp-40:40px;--sp-48:48px;--sp-64:64px;--sp-80:80px;--gap-inline:var(--sp-8);--gap-control:var(--sp-12);--gap-card:var(--sp-16);--gap-section:var(--sp-24);--gap-page:var(--sp-32);--pad-card:var(--sp-20);--pad-panel:var(--sp-20);--pad-row:var(--sp-12);--pad-page-desktop:var(--sp-24);--pad-page-mobile:var(--sp-16);--sidebar-w:84px;--sidebar-w-expanded:232px;--topbar-h:64px;--tabbar-h:72px;--content-max:1440px;--hit-min:44px}
:root{--r-xs:8px;--r-sm:12px;--r-md:16px;--r-lg:20px;--r-xl:24px;--r-2xl:32px;--r-pill:999px;--r-card:var(--r-lg);--r-panel:var(--r-xl);--r-row:var(--r-md);--r-control:var(--r-pill);--r-input:var(--r-pill);--r-sheet:var(--r-2xl);--r-phone:44px;--r-screen:40px;--bw-hairline:1px}
:root{--hairline:inset 0 0 0 1px var(--border-hairline);--highlight-top:inset 0 1px 0 #ffffff1a;--shadow-none:none;--shadow-sm:0 2px 8px #00000052;--shadow-card:0 8px 24px #00000061;--shadow-panel:0 20px 56px #00000075;--shadow-popover:0 16px 40px #00000085;--shadow-modal:0 40px 96px #0009;--shadow-inset-row:inset 0 1px 0 #ffffff0f;--glow-accent:0 0 0 4px #81bdfa33;--glow-mint:0 0 0 4px #82dba333;--ring-focus:0 0 0 2px var(--surface-canvas),0 0 0 4px var(--border-focus);--scrim-bottom:linear-gradient(180deg,#0000 0%,#000000b8 100%);--scrim-top:linear-gradient(180deg,#000000a3 0%,#0000 100%)}
:root{--ease-out:cubic-bezier(.2,.8,.25,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--ease-enter:cubic-bezier(.16,1,.3,1);--dur-instant:90ms;--dur-fast:.14s;--dur-base:.22s;--dur-slow:.38s;--dur-sheet:.42s;--t-color:color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out);--t-transform:transform var(--dur-fast) var(--ease-out);--t-panel:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out);--press-scale:.975}@media (prefers-reduced-motion:reduce){:root{--dur-instant:0s;--dur-fast:0s;--dur-base:0s;--dur-slow:0s;--dur-sheet:0s;--press-scale:1}}
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--surface-canvas);color:var(--text-primary);font:var(--type-body);font-synthesis-weight:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4,p,figure,blockquote{margin:0}ul,ol{margin:0;padding:0;list-style:none}img,svg{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--text-link);transition:var(--t-color);text-decoration:none}a:hover{color:var(--text-link-hover)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{box-shadow:var(--ring-focus);outline:none}::selection{background:#81bdfa52}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--w-12);border-radius:var(--r-pill);background-clip:content-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--w-24);background-clip:content-box}.k-display-1{font:var(--type-display-1);letter-spacing:var(--ls-tight)}.k-display-2{font:var(--type-display-2);letter-spacing:var(--ls-tight)}.k-h1{font:var(--type-h1);letter-spacing:var(--ls-snug)}.k-h2{font:var(--type-h2);letter-spacing:var(--ls-snug)}.k-h3{font:var(--type-h3);letter-spacing:var(--ls-snug)}.k-title{font:var(--type-title)}.k-body{font:var(--type-body)}.k-body-sm{font:var(--type-body-sm)}.k-label{font:var(--type-label)}.k-caption{font:var(--type-caption);color:var(--text-tertiary)}.k-overline{font:var(--type-overline);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-tertiary)}.k-figure{font:var(--type-figure-xl);letter-spacing:var(--ls-tight);font-variant-numeric:tabular-nums}.k-figure-lg{font:var(--type-figure-lg);letter-spacing:var(--ls-tight);font-variant-numeric:tabular-nums}.k-figure-md{font:var(--type-figure-md);font-variant-numeric:tabular-nums}.k-frac{font-size:var(--figure-fraction-scale);letter-spacing:0}.k-nums{font-variant-numeric:tabular-nums}.k-mono{font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:0}.k-card{background:var(--surface-card);border-radius:var(--r-card);box-shadow:var(--hairline),var(--shadow-card)}.k-panel{background:var(--surface-panel);border-radius:var(--r-panel);box-shadow:var(--hairline),var(--shadow-panel);-webkit-backdrop-filter:blur(var(--panel-blur))}.k-inset{background:var(--surface-inset);border-radius:var(--r-row)}.k-scroll-y{scrollbar-width:thin;scrollbar-color:var(--w-12) transparent;overflow-y:auto}.k-sr{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}

.projects-shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);gap:var(--gap-section);min-height:calc(100vh - 48px);display:grid}.projects-content{min-width:0}@media (max-width:720px){.projects-shell{min-height:auto;display:block}.projects-shell>nav{display:none}}
