:root{--void:#05060a;--void-2:#07090f;--panel:#0b0e15;--panel-2:#10141d;--panel-3:#161b26;--line:rgba(150,172,216,0.13);--line-2:rgba(150,172,216,0.26);--ink:#eef2fa;--dim:#9aa4b8;--faint:#6c788d;--signal:#6ea8ff;--signal-2:#9cc2ff;--signal-soft:rgba(110,168,255,0.13);--signal-glow:rgba(110,168,255,0.45);--burn:#ff6a3d;--burn-soft:rgba(255,106,61,0.15);--ok:#41d98d;--ok-soft:rgba(65,217,141,0.14);--module:#f4f6fa;--module-line:#dfe5ee;--sans:'Space Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;--mono:'JetBrains Mono',ui-monospace,'SF Mono',SFMono-Regular,Menlo,Consolas,monospace;--hand:'Caveat',cursive;--ease:cubic-bezier(0.65,0.05,0,1);--ease-out:cubic-bezier(0.22,1,0.36,1);--fast:280ms;--med:600ms;--slow:1000ms;--gutter:clamp(20px,4.5vw,64px);--nav-h:66px;--radius:4px;--maxw:1900px;--sec-y:clamp(58px,5.4vw,108px);--head-gap:clamp(16px,1.5vw,28px);--title-gap:clamp(26px,2.6vw,46px)}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html,body{background:var(--void)}html{overflow-x:clip}body{color:var(--ink);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;overflow-x:hidden;overflow-x:clip;display:flex;flex-direction:column}::selection{background:var(--burn);color:#fff}a{color:inherit}img{max-width:100%;display:block}button{font-family:inherit}:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:2px}.skip-link{position:fixed;top:0;left:0;z-index:10000;transform:translateY(-120%);transition:transform 180ms var(--ease);background:var(--signal);color:#05060a;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;text-decoration:none;padding:12px 20px;border-radius:0 0 var(--radius) 0}.skip-link:focus{transform:translateY(0)}@media (prefers-reduced-motion:reduce){.skip-link{transition:none}}body::after{content:"";position:fixed;inset:-50%;z-index:9990;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");opacity:0.05;mix-blend-mode:overlay;animation:grain 0.9s steps(2) infinite}@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-2%,3%)}50%{transform:translate(3%,-2%)}75%{transform:translate(-3%,-3%)}100%{transform:translate(2%,2%)}}@media (prefers-reduced-motion:reduce){body::after{animation:none}}#stars{position:fixed;inset:0;z-index:0;pointer-events:none;display:block}.site{position:relative;z-index:1;flex:1 0 auto}.hud{position:fixed;inset:0;z-index:80;pointer-events:none;font-family:var(--mono)}.hud-corner{position:fixed;width:22px;height:22px;border:1px solid var(--line-2);opacity:0.9}.hud-corner.tl{top:12px;left:12px;border-right:0;border-bottom:0}.hud-corner.tr{top:12px;right:12px;border-left:0;border-bottom:0}.hud-corner.bl{bottom:12px;left:12px;border-right:0;border-top:0}.hud-corner.br{bottom:12px;right:12px;border-left:0;border-top:0}.hud-alt{position:fixed;bottom:18px;left:26px;font-size:10px;letter-spacing:0.14em;color:var(--faint)}.hud-alt b{color:var(--signal);font-weight:500}.hud-sys{position:fixed;bottom:18px;right:26px;font-size:10px;letter-spacing:0.14em;color:var(--faint);display:flex;align-items:center;gap:7px}.hud-sys .blip{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok);animation:blip 1.6s ease-in-out infinite}@keyframes blip{0%,100%{opacity:1}50%{opacity:0.25}}@media (max-width:820px){.hud{display:none}}.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);display:flex;align-items:center;gap:26px;padding:0 var(--gutter);background:color-mix(in srgb,var(--void) 78%,transparent);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--line);transition:transform 420ms var(--ease)}.nav.nav-hidden{transform:translateY(-101%)}.nav-brand{display:flex;align-items:center;gap:11px;text-decoration:none;flex:none;padding:4px 2px;min-height:26px}.nav-brand .sig{width:9px;height:9px;flex:none;border-radius:50%;background:var(--ok);box-shadow:0 0 10px var(--ok);animation:blip 2.2s ease-in-out infinite}.nav-brand .nb-txt{display:flex;flex-direction:column;line-height:1.12}.nav-brand .nb-name{font-weight:700;font-size:0.98rem;letter-spacing:0.02em}.nav-brand .nb-sub{font-family:var(--mono);font-size:10px;letter-spacing:0.3em;color:var(--faint);text-transform:uppercase}.nav-links{display:flex;gap:4px;margin-left:8px}.nav-links a{position:relative;text-decoration:none;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--dim);padding:9px 13px;transition:color var(--fast) ease}.nav-links a .idx{color:var(--faint);margin-right:6px;font-size:10px}.nav-links a::after{content:"";position:absolute;left:13px;right:13px;bottom:5px;height:1px;background:var(--signal);transform:scaleX(0);transform-origin:right;transition:transform 340ms var(--ease)}.nav-links a:hover{color:var(--ink)}.nav-links a:hover::after{transform:scaleX(1);transform-origin:left}.nav-links a.active{color:var(--signal-2)}.nav-links a.active::after{transform:scaleX(1)}.nav-spacer{flex:1}.nav-tail{display:flex;align-items:center;gap:18px;flex:none}.nav-stats{display:flex;gap:14px;font-family:var(--mono);font-size:10px;letter-spacing:0.1em;color:var(--faint)}.nav-stats .ns{display:flex;align-items:center;gap:6px;white-space:nowrap}.nav-stats .ns svg{width:12px;height:12px;color:var(--signal)}.nav-stats .num{color:var(--ink);font-weight:600}.nav-stats .num.loading{opacity:0.4}.nav-clock{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;color:var(--dim);white-space:nowrap}.nav-clock b{color:var(--signal);font-weight:500}@media (max-width:1080px){.nav-stats{display:none}}@media (max-width:920px){.nav-clock{display:none}}.nav-social{display:flex;align-items:center;gap:4px;flex:none;padding-left:16px;margin-left:-2px;border-left:1px solid var(--line)}.nav-social a{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;color:var(--dim);border:1px solid transparent;border-radius:3px;text-decoration:none;transition:color var(--fast) ease,border-color var(--fast) ease,background var(--fast) ease,transform var(--fast) var(--ease-out)}.nav-social a svg{width:16px;height:16px;display:block}.nav-social a:hover{color:var(--signal-2);border-color:var(--line-2);background:color-mix(in srgb,var(--panel) 70%,transparent);transform:translateY(-2px)}@media (max-width:720px){.nav-social{display:none}}.mmenu .mm-social{display:flex;gap:12px;margin-top:22px}.mmenu .mm-social a{display:inline-flex;align-items:center;gap:9px;color:var(--dim);text-decoration:none;font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;border:1px solid var(--line);border-radius:3px;padding:10px 14px;min-height:44px;transition:color var(--fast) ease,border-color var(--fast) ease}.mmenu .mm-social a svg{width:15px;height:15px;flex:none}.mmenu .mm-social a:hover{color:var(--signal-2);border-color:var(--signal)}.to-top{position:fixed;right:clamp(14px,2.2vw,30px);bottom:clamp(46px,5vh,64px);z-index:95;width:clamp(38px,3vw,46px);height:clamp(38px,3vw,46px);display:inline-flex;align-items:center;justify-content:center;appearance:none;cursor:pointer;color:var(--dim);background:color-mix(in srgb,var(--void) 72%,var(--panel));border:1px solid var(--line-2);border-radius:3px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity 300ms ease,transform 380ms var(--ease-out),visibility 0s linear 380ms,color var(--fast) ease,border-color var(--fast) ease}.to-top svg{width:16px;height:16px;display:block}.to-top .tt-label{position:absolute;bottom:calc(100% + 8px);right:0;white-space:nowrap;font-family:var(--mono);font-size:9px;letter-spacing:0.2em;text-transform:uppercase;color:var(--faint);opacity:0;transition:opacity var(--fast) ease;pointer-events:none}.to-top:hover{color:var(--signal-2);border-color:var(--signal)}.to-top:hover .tt-label{opacity:1}.to-top.is-on{opacity:1;visibility:visible;transform:none;transition:opacity 300ms ease,transform 380ms var(--ease-out),visibility 0s linear 0s,color var(--fast) ease,border-color var(--fast) ease}@media (max-width:820px){.to-top{bottom:18px;right:14px}}@media (prefers-reduced-motion:reduce){.to-top{transition:opacity 1ms linear;transform:none}}.nav-burger{display:none;appearance:none;background:none;border:0;cursor:pointer;width:40px;height:40px;position:relative;flex:none;z-index:130}.nav-burger span{position:absolute;left:8px;right:8px;height:1.5px;background:var(--ink);transition:transform 380ms var(--ease),opacity 200ms ease,top 380ms var(--ease)}.nav-burger span:nth-child(1){top:15px}.nav-burger span:nth-child(2){top:23px}body.menu-open .nav-burger span:nth-child(1){top:19px;transform:rotate(45deg)}body.menu-open .nav-burger span:nth-child(2){top:19px;transform:rotate(-45deg)}@media (max-width:720px){.nav-links{display:none}.nav-burger{display:block}.nav-stats{display:flex;font-size:10px;letter-spacing:0.08em}.nav-stats .ns svg{width:11px;height:11px}}.mmenu{position:fixed;inset:0;z-index:120;background:color-mix(in srgb,var(--void) 92%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;flex-direction:column;justify-content:center;justify-content:safe center;padding:calc(var(--nav-h) + 10px) var(--gutter) 24px;overflow-y:auto;opacity:0;pointer-events:none;transition:opacity 380ms ease}body.menu-open .mmenu{opacity:1;pointer-events:auto}.mmenu a{text-decoration:none;font-size:clamp(2rem,9vw,3.2rem);font-weight:700;letter-spacing:-0.02em;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink);display:flex;align-items:baseline;gap:16px;opacity:0;transform:translateY(26px);transition:opacity 500ms var(--ease),transform 500ms var(--ease)}.mmenu a .idx{font-family:var(--mono);font-size:11px;color:var(--burn);letter-spacing:0.2em}body.menu-open .mmenu a{opacity:1;transform:none}body.menu-open .mmenu a:nth-child(1){transition-delay:60ms}body.menu-open .mmenu a:nth-child(2){transition-delay:130ms}body.menu-open .mmenu a:nth-child(3){transition-delay:200ms}body.menu-open .mmenu a:nth-child(4){transition-delay:270ms}.mmenu .mmeta{margin-top:34px;font-family:var(--mono);font-size:10px;letter-spacing:0.2em;color:var(--faint);text-transform:uppercase;opacity:0;transition:opacity 500ms ease 380ms}body.menu-open .mmenu .mmeta{opacity:1}.cur-dot,.cur-ring{position:fixed;top:0;left:0;z-index:9999;pointer-events:none;border-radius:50%;will-change:transform}.cur-dot{width:6px;height:6px;background:var(--signal);margin:-3px 0 0 -3px}.cur-ring{width:38px;height:38px;margin:-19px 0 0 -19px;border:1px solid var(--signal-glow);display:flex;align-items:center;justify-content:center;transition:width 320ms var(--ease-out),height 320ms var(--ease-out),margin 320ms var(--ease-out),background 320ms ease,border-color 320ms ease,opacity 260ms ease}.cur-ring .cur-label{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:0.22em;color:var(--void);opacity:0;transform:scale(0.6);transition:opacity 200ms ease,transform 260ms var(--ease-out);text-transform:uppercase;white-space:nowrap}.cur-ring.is-hover{width:56px;height:56px;margin:-28px 0 0 -28px;border-color:var(--signal)}.cur-ring.is-label{width:74px;height:74px;margin:-37px 0 0 -37px;background:var(--signal);border-color:var(--signal)}.cur-ring.is-label .cur-label{opacity:1;transform:scale(1)}.cur-hidden .cur-dot,.cur-hidden .cur-ring,.cur-frozen .cur-dot,.cur-frozen .cur-ring{opacity:0}body.has-cursor,body.has-cursor *{cursor:none !important}body.has-cursor input,body.has-cursor textarea,body.has-cursor select,body.has-cursor [contenteditable]{cursor:auto !important}body.has-cursor select{cursor:pointer !important}@media (hover:none),(pointer:coarse){.cur-dot,.cur-ring{display:none}}.pt{display:none}body.pt-exiting .site{transition:transform 460ms cubic-bezier(0.55,0,1,0.45),opacity 360ms ease;transform:translateY(72px);opacity:0;pointer-events:none}html.pt-enter .site{transform:translateY(-40px);opacity:0}html.pt-enter.pt-leave .site{transition:transform 720ms cubic-bezier(0.22,1,0.36,1),opacity 580ms ease;transform:none;opacity:1}.mlabel{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:0.26em;text-transform:uppercase;color:var(--faint)}.mlabel .hash{color:var(--burn)}.sec-head{display:flex;align-items:center;gap:16px;margin-bottom:var(--head-gap)}.sec-head .si{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:0.2em;color:var(--burn)}.sec-head .sl{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:0.3em;text-transform:uppercase;color:var(--dim);white-space:nowrap}.sec-head .rule{flex:1;height:1px;background:var(--line);position:relative;overflow:hidden}.sec-head .rule::after{content:"";position:absolute;inset:0;background:var(--line-2);transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease) 200ms}.sec-head.is-inview .rule::after{transform:scaleX(1)}.sec-title{font-size:clamp(1.1rem,3vw,2.3rem);font-weight:700;letter-spacing:-0.035em;line-height:0.98;text-transform:uppercase;margin-bottom:var(--title-gap)}.sys-meta,.fl-hint-row,.edu-head-row{margin-bottom:0}.sec-title .thin{font-weight:300;color:var(--dim)}.mbtn{--btn-ink:var(--ink);position:relative;z-index:0;display:inline-flex;align-items:center;gap:10px;overflow:hidden;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--btn-ink);text-decoration:none;background:transparent;border:1px solid var(--line-2);padding:15px 26px;cursor:pointer;border-radius:2px;transition:color 340ms var(--ease),border-color 340ms ease,transform 340ms var(--ease-out);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}.mbtn::before{content:"";position:absolute;inset:0;background:var(--signal);z-index:-1;transform:scaleY(0);transform-origin:bottom;transition:transform 380ms var(--ease)}.mbtn:hover{color:var(--void);border-color:var(--signal)}.mbtn:hover::before{transform:scaleY(1)}.mbtn svg{width:14px;height:14px;flex:none;transition:transform 340ms var(--ease)}.mbtn:hover svg{transform:translateX(4px)}.mbtn.solid{background:var(--signal);color:var(--void);border-color:var(--signal)}.mbtn.solid::before{background:var(--burn)}.mbtn.solid:hover{border-color:var(--burn);color:#fff}.mbtn.ghost-burn::before{background:var(--burn)}.mbtn.ghost-burn:hover{border-color:var(--burn);color:#fff}.alink{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--signal-2)}.alink svg{width:14px;height:14px;transition:transform 300ms var(--ease)}.alink:hover svg{transform:translateX(5px)}[data-reveal]{opacity:0;transform:translateY(30px);filter:blur(5px);transition:opacity 0.9s var(--ease),transform 0.9s var(--ease),filter 0.9s var(--ease);transition-delay:var(--rd,0ms)}[data-reveal].is-inview{opacity:1;transform:none;filter:none}[data-reveal="fade"]{transform:none}[data-reveal="left"]{transform:translateX(-40px)}[data-reveal="right"]{transform:translateX(40px)}[data-reveal="scale"]{transform:scale(0.92)}[data-reveal].will-animate{will-change:opacity,transform,filter}.will-animate .sp-i{will-change:transform}.sp-w{display:inline-block;overflow:hidden;vertical-align:top}.sp-i{display:inline-block;transform:translateY(115%) rotate(4deg);transition:transform 0.9s var(--ease);transition-delay:var(--sd,0ms)}.is-inview .sp-i,.sp-run .sp-i{transform:none}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;filter:none;transition:none}.sp-i{transform:none;transition:none}}.mq{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;position:relative;background:color-mix(in srgb,var(--panel) 55%,transparent)}.mq-track{display:flex;gap:0;width:max-content;will-change:transform}.mq-seg{display:flex;align-items:center;flex:none}.mq-seg span{font-family:var(--mono);font-size:clamp(0.8rem,1.6vw,1.05rem);font-weight:500;letter-spacing:0.3em;text-transform:uppercase;color:var(--dim);white-space:nowrap;padding:0 28px}.mq-seg .star{color:#ffd24a;font-size:1.05em;padding:0;display:inline-block;transform-origin:center;text-shadow:0 0 6px rgba(255,210,74,0.5);animation:starTwinkle 2.6s ease-in-out infinite}.mq-seg .star:nth-child(4n){animation-delay:-1.3s}.mq-seg .star:nth-child(4n+2){animation-delay:-0.6s}@keyframes starTwinkle{0%,100%{opacity:0.4;transform:scale(0.72);text-shadow:0 0 3px rgba(255,210,74,0.3)}50%{opacity:1;transform:scale(1.2);text-shadow:0 0 11px rgba(255,214,90,0.9)}}@media (prefers-reduced-motion:reduce){.mq{display:none}}.page-hero{padding:calc(var(--nav-h) + clamp(44px,8vh,90px)) var(--gutter) clamp(26px,4vh,44px);position:relative;overflow:visible}.page-hero .ph-kicker{margin-bottom:18px;display:flex;align-items:center;gap:12px}.ph-kicker .hero-quote{margin-left:auto;margin-bottom:0;min-height:unset}.page-hero .ph-kicker .tick{width:34px;height:1px;background:var(--burn)}.page-hero h1{font-size:clamp(2.8rem,9.5vw,7rem);font-weight:700;letter-spacing:-0.04em;line-height:0.92;text-transform:uppercase}.page-hero h1 .ghost{color:transparent;-webkit-text-fill-color:transparent;background:linear-gradient(180deg,#b6d0ff 0%,#7ea6f2 52%,rgba(126,166,242,0.42) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:1px rgba(182,208,255,0.34)}.page-hero h1 .ghost .sp-i{background:linear-gradient(180deg,#b6d0ff 0%,#7ea6f2 52%,rgba(126,166,242,0.42) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:1px rgba(182,208,255,0.34)}.ph-meta{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;flex-wrap:wrap;margin-top:clamp(24px,4vh,40px)}.hero-quote{font-family:var(--hand);font-weight:600;font-size:clamp(1.15rem,2.2vw,1.5rem);line-height:1.3;color:var(--dim);text-align:right;min-height:1.4em}.hero-quote .q-grey{color:var(--faint)}.hero-quote .q-cursor{display:inline-block;width:2px;height:1.02em;margin-left:3px;background:var(--burn);vertical-align:-0.15em;animation:q-blink 900ms step-end infinite}@keyframes q-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.hero-quote .q-cursor{animation:none;opacity:0}}@media (max-width:760px){.hero-quote{text-align:left}.ph-meta{align-items:flex-start}}.filter-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;position:relative;z-index:30}.dd-stack{display:flex;gap:10px;flex-wrap:wrap}.dd{position:relative}.dd-btn{appearance:none;display:inline-flex;align-items:center;gap:10px;cursor:pointer;background:color-mix(in srgb,var(--panel) 80%,transparent);border:1px solid var(--line-2);color:var(--ink);font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;padding:11px 14px;border-radius:2px;min-width:190px;white-space:nowrap;transition:border-color var(--fast) ease,background var(--fast) ease;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%)}.dd-btn:hover{border-color:var(--signal)}.dd-btn.has-value{border-color:var(--burn)}.dd-btn.has-value .dd-val{color:var(--burn)}.dd-btn .dd-lead{color:var(--faint);font-size:10px;letter-spacing:0.24em}.dd-btn .dd-val{color:var(--signal-2);font-weight:600;margin-left:auto}.dd-btn svg.chev{width:12px;height:12px;color:var(--dim);transition:transform 300ms var(--ease);flex:none}.dd.open .dd-btn svg.chev{transform:rotate(180deg)}.dd-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:100%;max-width:300px;max-height:360px;overflow-y:auto;background:var(--panel-2);border:1px solid var(--line-2);border-radius:3px;box-shadow:0 24px 60px rgba(0,0,0,0.65);padding:6px;z-index:50;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity 260ms var(--ease-out),transform 260ms var(--ease-out)}.dd.open .dd-menu{opacity:1;transform:none;pointer-events:auto}.dd-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border-radius:2px;font-family:var(--mono);font-size:10.5px;letter-spacing:0.08em;color:var(--dim);cursor:pointer;transition:background var(--fast) ease,color var(--fast) ease;white-space:nowrap}.dd-opt:hover{background:var(--signal-soft);color:var(--ink)}.dd-opt.selected{color:var(--signal-2);background:var(--signal-soft)}.dd-opt .count{font-size:10px;color:var(--faint);font-variant-numeric:tabular-nums}.dd-opt .check{width:12px;height:12px;opacity:0;flex:none;color:var(--signal)}.dd-opt.selected .check{opacity:1}.clear-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;border-radius:2px;cursor:pointer;background:transparent;border:1px solid var(--line-2);color:var(--dim);transition:all var(--fast) ease}.clear-btn svg{width:13px;height:13px}.clear-btn:hover{color:var(--burn);border-color:var(--burn)}.dd-menu.multi{min-width:290px}.so-hint{font-family:var(--mono);font-size:10px;letter-spacing:0.1em;color:var(--faint);text-transform:uppercase;padding:8px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:5px}.so-row{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:2px;cursor:pointer;font-family:var(--mono);font-size:10.5px;color:var(--dim);letter-spacing:0.05em;transition:background var(--fast) ease,color var(--fast) ease}.so-row:hover{background:var(--signal-soft);color:var(--ink)}.so-row.on{color:var(--ink)}.so-grip{color:var(--faint);cursor:grab;display:inline-flex}.so-grip svg{width:13px;height:13px}.so-check{width:15px;height:15px;flex:none;border:1px solid var(--line-2);border-radius:2px;display:inline-flex;align-items:center;justify-content:center;transition:all var(--fast) ease}.so-check svg{width:9px;height:9px;color:var(--void);opacity:0}.so-row.on .so-check{background:var(--signal);border-color:var(--signal)}.so-row.on .so-check svg{opacity:1}.so-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-count{font-size:10px;color:var(--faint)}.so-row.dragging{opacity:0.35}.so-row.drop-target{box-shadow:inset 0 2px 0 var(--burn)}.so-actions{display:flex;gap:6px;padding:8px 6px 4px;border-top:1px solid var(--line);margin-top:5px}.so-actions button{flex:1;appearance:none;background:transparent;border:1px solid var(--line-2);color:var(--dim);font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;padding:7px 4px;border-radius:2px;cursor:pointer;transition:all var(--fast) ease}.so-actions button:hover{color:var(--ink);border-color:var(--signal)}.results-meta{display:block;font-family:var(--mono);font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--faint);margin:4px 2px 22px}.ph-results{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--dim)}.ph-results .ph-dot{color:var(--ok);font-weight:700;line-height:1}.page-wrap{padding:10px var(--gutter) 110px;position:relative}#render-root{transition:opacity 300ms ease}.grid{display:grid;grid-template-columns:1fr;gap:22px}@media (min-width:720px){.grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1120px){.grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1700px){.grid{grid-template-columns:repeat(4,1fr);gap:26px}}.card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform 500ms var(--ease-out),border-color 400ms ease,box-shadow 500ms ease;animation:cardIn 0.85s var(--ease) both}@keyframes cardIn{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}.grid .card:nth-child(1){animation-delay:0.02s}.grid .card:nth-child(2){animation-delay:0.08s}.grid .card:nth-child(3){animation-delay:0.14s}.grid .card:nth-child(4){animation-delay:0.20s}.grid .card:nth-child(5){animation-delay:0.26s}.grid .card:nth-child(6){animation-delay:0.32s}.grid .card:nth-child(7){animation-delay:0.38s}.grid .card:nth-child(8){animation-delay:0.44s}.grid .card:nth-child(9){animation-delay:0.50s}.grid .card:nth-child(n+10){animation-delay:0.56s}@media (prefers-reduced-motion:reduce){.card{animation:none}}.card::before,.card::after{content:"";position:absolute;width:14px;height:14px;z-index:5;pointer-events:none;border:1px solid transparent;transition:border-color 400ms ease}.card::before{top:7px;left:7px;border-right:0;border-bottom:0}.card::after{bottom:7px;right:7px;border-left:0;border-top:0}.card:hover{transform:translateY(-7px);border-color:var(--line-2);box-shadow:0 30px 70px rgba(0,0,0,0.55),0 0 0 1px var(--signal-soft)}.card:hover::before,.card:hover::after{border-color:var(--signal)}.thumb{position:relative;aspect-ratio:1000/772;margin:12px 12px 0;overflow:hidden;border-radius:3px;background:var(--panel-2);border:1px solid var(--line)}.thumb img{position:absolute;inset:0;width:100%;height:100%;background:var(--panel-2);transition:transform 900ms var(--ease-out),filter 600ms ease}.thumb::after{content:"";position:absolute;top:0;bottom:0;left:-80%;width:55%;z-index:2;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(160,195,255,0.14),transparent);transform:skewX(-18deg);transition:left 0.9s var(--ease)}.card:hover .thumb::after{left:130%}.thumb .thumb-click{position:absolute;inset:0;z-index:3;background:transparent;cursor:pointer}.thumb.cs{border-style:dashed;border-color:var(--line-2);display:flex;align-items:center;justify-content:center}.cs-badge{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:10px;letter-spacing:0.24em;text-transform:uppercase;color:var(--faint)}.cs-badge svg{width:16px;height:16px;opacity:0.7}.card-body{padding:16px 16px 14px;display:flex;flex-direction:column;flex:1}.card-title{font-size:0.94rem;font-weight:650;letter-spacing:-0.01em;color:var(--ink);line-height:1.32;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-issuer{font-family:var(--mono);font-size:8px;letter-spacing:0.02em;text-transform:uppercase;color:var(--faint);margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-desc{font-size:0.82rem;color:var(--dim);line-height:1.5;margin:10px 0 12px;height:calc(2 * 0.82rem * 1.5);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}.card-tags{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.tag{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--signal-2);background:var(--signal-soft);border:1px solid transparent;padding:4px 9px;border-radius:2px;cursor:pointer;transition:all var(--fast) ease;white-space:nowrap}.tag:hover{border-color:var(--signal);color:var(--ink)}.btn{appearance:none;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;border-radius:2px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 13px;flex:none;white-space:nowrap;transition:all var(--fast) ease;border:1px solid transparent}.btn svg{width:12px;height:12px}.btn-open,.btn-view{background:var(--signal);color:var(--void);border-color:var(--signal)}.btn-open:hover,.btn-view:hover{background:var(--signal-2);border-color:var(--signal-2);transform:translateY(-1px)}.btn-open[aria-disabled="true"]{opacity:0.4;cursor:not-allowed;background:var(--panel-3);color:var(--faint);border-color:var(--line-2);transform:none}.btn-verify{background:transparent;color:var(--dim);border-color:var(--line-2)}.btn-verify:hover{color:var(--ok);border-color:var(--ok)}.btn-verify[aria-disabled="true"]{opacity:0.4;cursor:not-allowed}.action-bar{display:flex;gap:8px;padding:0 16px 16px}.action-bar .btn{flex:1}.empty-state{text-align:center;padding:90px 20px;color:var(--faint);font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;line-height:2}.empty-state svg{width:44px;height:44px;opacity:0.35;margin:0 auto 18px;display:block}.modal-overlay{position:fixed;inset:0;z-index:900;background:rgba(3,4,7,0.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;padding:30px;opacity:0;pointer-events:none;transition:opacity 320ms ease}.modal-overlay.open{opacity:1;pointer-events:auto}.modal-close{position:fixed;top:20px;right:22px;z-index:950;width:46px;height:46px;display:none;align-items:center;justify-content:center;border-radius:50%;background:var(--panel-2);border:1px solid var(--line-2);color:var(--dim);cursor:pointer;transition:all var(--fast) ease}.modal-close:hover{color:var(--burn);border-color:var(--burn);transform:rotate(90deg)}.modal-close svg{width:19px;height:19px}.modal-doc{width:min(88vw,1000px);height:86vh;max-height:86vh;border:1px solid var(--line-2);border-radius:4px;background:#fff}.modal-overlay .modal-project,.modal-overlay .modal-doc{transform:translateY(26px) scale(0.985);opacity:0;transition:transform 480ms var(--ease),opacity 380ms ease}.modal-overlay.open .modal-project,.modal-overlay.open .modal-doc{transform:none;opacity:1}.footer{border-top:1px solid var(--line);padding:26px var(--gutter);position:relative;z-index:2;flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--faint);background:color-mix(in srgb,var(--void) 70%,transparent)}.footer .f-sys{display:flex;align-items:center;gap:8px}.footer .f-sys .blip{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok);animation:blip 1.6s ease-in-out infinite}.footer .social{display:flex;gap:14px}.footer .social a{color:var(--dim);display:inline-flex;transition:color var(--fast) ease,transform var(--fast) ease}.footer .social a:hover{color:var(--signal);transform:translateY(-2px)}.footer .social svg{width:17px;height:17px}@media (hover:hover) and (pointer:fine){::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--void)}::-webkit-scrollbar-thumb{background:var(--panel-3);border-radius:5px;border:2px solid var(--void)}::-webkit-scrollbar-thumb:hover{background:var(--faint)}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}.cur-dot,.cur-ring,.pt{display:none !important}}@media (max-width:760px){.page-hero{padding-top:calc(var(--nav-h) + 28px);padding-bottom:18px}.ph-kicker{flex-wrap:wrap;row-gap:6px;margin-bottom:0}.ph-kicker .mlabel{font-size:10px;letter-spacing:0.2em}.ph-kicker .hero-quote{flex:1 1 100%;order:9;text-align:left;white-space:nowrap;overflow:hidden;font-size:clamp(0.72rem,3.35vw,1.02rem);line-height:1.4;min-height:1.5em;margin:10px 0 12px}.page-hero h1{font-size:clamp(2.1rem,10.5vw,3.2rem);line-height:1.04}.page-hero h1 > span{display:block;white-space:nowrap}.ph-meta{margin-top:14px;gap:12px}.filter-row{width:100%}.dd-stack{width:100%;flex-direction:column;gap:10px}.filter-row > .dd{flex:1 1 100%}.dd-btn{width:100%;min-width:0}.ph-results{font-size:10px}.page-wrap{padding-bottom:72px}.modal-close{top:12px;right:12px;width:42px;height:42px}.footer{padding:20px var(--gutter)}}@media (hover:none),(pointer:coarse){.dd-btn,.clear-btn{min-height:44px}.btn{min-height:42px}}@media (hover:none),(pointer:coarse){body::after{display:none !important}[data-reveal]{filter:none !important}[data-reveal].will-animate{will-change:opacity,transform}.hi{filter:none !important}.nav{-webkit-backdrop-filter:blur(10px) saturate(120%);backdrop-filter:blur(10px) saturate(120%);background:color-mix(in srgb,var(--void) 88%,transparent)}.mmenu{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--void) 95%,transparent)}.modal-overlay,.mod-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}[data-reveal].is-inview{will-change:auto}.edu-row .name a.edu-link,.fl-card .frole a.frole-link{color:inherit;text-decoration:none;display:inline-flex;align-items:baseline;gap:0.34em;border-bottom:1px solid var(--line-2);transition:color 180ms ease,border-color 180ms ease}.edu-row .name a.edu-link:hover,.edu-row .name a.edu-link:focus-visible,.fl-card .frole a.frole-link:hover,.fl-card .frole a.frole-link:focus-visible{color:var(--signal-2);border-bottom-color:var(--signal)}.edu-row .name a.edu-link .ext,.fl-card .frole a.frole-link .ext{width:0.62em;height:0.62em;flex:none;opacity:0.5;transform:translate(0,0);transition:opacity 180ms ease,transform 180ms ease}.edu-row .name a.edu-link:hover .ext,.edu-row .name a.edu-link:focus-visible .ext,.fl-card .frole a.frole-link:hover .ext,.fl-card .frole a.frole-link:focus-visible .ext{opacity:1;transform:translate(1px,-1px)}.fl-card .frole a.frole-link{position:relative;z-index:3}@media (hover:none){.edu-row .name a.edu-link,.fl-card .frole a.frole-link{padding:6px 0}.edu-row .name a.edu-link .ext,.fl-card .frole a.frole-link .ext{opacity:0.7}}@media (prefers-reduced-motion:reduce){.edu-row .name a.edu-link,.fl-card .frole a.frole-link,.edu-row .name a.edu-link .ext,.fl-card .frole a.frole-link .ext{transition:none}.edu-row .name a.edu-link:hover .ext,.fl-card .frole a.frole-link:hover .ext{transform:none}}