:root{color-scheme:dark;--bg:#07090d;--panel:rgba(10,13,18,0.86);--border:rgba(221,227,238,0.14);--line:rgba(221,227,238,0.07);--text:#f4f7fb;--muted:#97a1b3;--soft:#c1c8d5;--accent:#f4f7fb;--shadow:rgba(0,0,0,0.38);--font-mono:"IBM Plex Mono","SFMono-Regular","SF Mono",Consolas,"Liberation Mono",Menlo,Courier,monospace}*{box-sizing:border-box}body,html{background:var(--bg)}body{margin:0;min-height:100vh;color:var(--text);font-family:var(--font-mono)}a{color:inherit;text-decoration:none}.home-shell{position:relative;min-height:100vh;overflow:hidden;display:grid;place-items:center;padding:1.25rem;isolation:isolate}.background-grid,.background-noise{position:absolute;inset:0;pointer-events:none}.background-grid{opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cpath d='M 96 0 L 0 0 0 96' fill='none' stroke='rgba(220,228,240,0.13)' stroke-width='1'/%3E%3C/svg%3E");background-size:96px 96px}.background-noise{opacity:.16;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cg fill='%23ffffff'%3E%3Crect x='8' y='14' width='1' height='1' opacity='.32'/%3E%3Crect x='44' y='72' width='1' height='1' opacity='.28'/%3E%3Crect x='90' y='26' width='1' height='1' opacity='.34'/%3E%3Crect x='132' y='56' width='1' height='1' opacity='.24'/%3E%3Crect x='160' y='100' width='1' height='1' opacity='.3'/%3E%3Crect x='22' y='126' width='1' height='1' opacity='.22'/%3E%3Crect x='70' y='156' width='1' height='1' opacity='.2'/%3E%3Crect x='108' y='136' width='1' height='1' opacity='.26'/%3E%3Crect x='150' y='18' width='1' height='1' opacity='.2'/%3E%3Crect x='122' y='168' width='1' height='1' opacity='.18'/%3E%3C/g%3E%3C/svg%3E");background-size:180px 180px}.home-panel{position:relative;z-index:1;width:min(860px,100%);padding:clamp(1.35rem,3vw,2.5rem);border:1px solid var(--border);background:var(--panel);box-shadow:0 24px 80px var(--shadow);text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.eyebrow{margin:0 0 .8rem;color:var(--muted);font-size:.7rem;letter-spacing:.3em;text-transform:uppercase}h1{margin:0;font-size:clamp(2rem,6vw,4rem);line-height:.98;letter-spacing:-.06em}.footnote,.intro{margin:0 auto;max-width:38rem;color:var(--muted);line-height:1.65;font-size:.86rem}.intro{margin-top:1.1rem}.project-list{margin-top:2rem;display:grid;grid-gap:.75rem;gap:.75rem}.project-row{display:grid;justify-items:center;align-items:center;grid-gap:0;gap:0;min-height:3.45rem;padding:.95rem 1.15rem;border:1px solid var(--line);background:rgba(255,255,255,.015);color:var(--soft);cursor:pointer;transition:border-color .18s ease,background-color .18s ease,color .18s ease,transform .18s ease}.project-row-expanded,.project-row:focus-visible,.project-row:hover{border-color:var(--border);background:rgba(255,255,255,.03);color:var(--accent);transform:translateY(-1px)}.project-row:focus-visible{outline:2px solid rgba(244,247,251,.4);outline-offset:3px}.project-description,.project-name,.project-status,.project-topline{text-align:center}.project-topline{display:inline-flex;justify-content:center;align-items:center;gap:.7rem;flex-wrap:wrap}.project-name{font-size:clamp(.96rem,2vw,1.12rem);letter-spacing:.035em;transition:letter-spacing .22s ease,transform .22s ease}.project-initial{color:var(--muted)}.project-description{color:var(--muted);opacity:0;max-height:0;max-width:44rem;overflow:hidden;margin-top:0;white-space:normal;font-size:.78rem;line-height:1.55;transform:translateY(-.25rem);transition:opacity .22s ease,max-height .26s ease,margin-top .22s ease,transform .22s ease}.project-row-expanded .project-name,.project-row:focus-visible .project-name,.project-row:hover .project-name{letter-spacing:.08em;transform:translateY(-.04rem)}.project-row-expanded .project-description,.project-row:focus-visible .project-description,.project-row:hover .project-description{opacity:1;max-height:7rem;margin-top:.55rem;transform:translateY(0)}.project-row-disabled{opacity:.78;cursor:default}.project-status{color:var(--muted);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}.footnote{margin-top:1.5rem;font-size:.77rem}@media (max-width:700px){.home-shell{padding:.8rem}.home-panel{padding:1.2rem .9rem}.project-row{padding:.85rem .8rem}.project-description{font-size:.75rem}.project-row:focus-visible .project-description,.project-row:hover .project-description{max-height:8rem}}