@font-face{font-family:Space Grotesk;src:url(/assets/fonts/space-grotesk-vf-latin.woff2)format("woff2");font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/assets/fonts/ibm-plex-sans-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/assets/fonts/ibm-plex-sans-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/assets/fonts/ibm-plex-mono-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/assets/fonts/ibm-plex-mono-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Instrument Serif;src:url(/assets/fonts/instrument-serif-400-italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0e0b;--bg-2:#0d120e;--surface:#111712;--surface-2:#151d17;--ink:#e9efe7;--muted:#9aa69c;--dim:#7b877e;--line:#e9f2e91a;--line-strong:#e9f2e92e;--accent:#c8f76e;--accent-2:#8fe3c0;--accent-ink:#10160e;--accent-soft:#c8f76e1a;--sans:"Space Grotesk", "IBM Plex Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--body:"IBM Plex Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--serif:"Instrument Serif", "Songti SC", "Noto Serif SC", Georgia, serif;--shell:1240px;--gutter:clamp(20px, 4vw, 48px);--header-h:72px;--r-sm:4px;--r-md:8px;--r-lg:14px;--ease:cubic-bezier(.22, .7, .2, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 24px);scrollbar-color:#2a352d var(--bg);background:var(--bg)}body{background:var(--bg);color:var(--ink);font-family:var(--body);letter-spacing:.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.65;overflow-x:hidden}body:before{content:"";z-index:100;pointer-events:none;opacity:.032;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");position:fixed;inset:0}h1,h2,h3,h4,p,dl,dd,dt,ul,ol,figure{margin:0}ul,ol{padding:0;list-style:none}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.skip-link{z-index:200;border-radius:var(--r-sm);background:var(--accent);color:var(--accent-ink);font-family:var(--mono);transition:transform .2s var(--ease);padding:10px 14px;font-size:11px;position:fixed;top:10px;left:10px;transform:translateY(-160%)}.skip-link:focus{transform:none}.shell{width:min(var(--shell), calc(100% - var(--gutter) * 2));margin-inline:auto}.mono{font-family:var(--mono)}.visually-hidden{clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}[hidden]{display:none!important}.js [data-reveal]{opacity:0;transition:opacity .75s var(--ease) var(--reveal-delay,0s), transform .75s var(--ease) var(--reveal-delay,0s);transform:translateY(16px)}.js [data-reveal].is-visible{opacity:1;transform:none}.section{border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--header-h) + 8px);padding:clamp(78px,10.5vw,138px) 0;position:relative}.btn{border-radius:var(--r-sm);font-family:var(--sans);letter-spacing:.005em;transition:background .22s var(--ease), border-color .22s var(--ease), color .22s var(--ease), transform .22s var(--ease), box-shadow .22s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:12px;padding:13px 18px;font-size:13px;font-weight:500;display:inline-flex}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:#d9ff9c;border-color:#d9ff9c;transform:translateY(-2px);box-shadow:0 12px 30px #c8f76e21}.btn-ghost{border-color:var(--line-strong);color:var(--muted);background:#ffffff03}.btn-ghost:hover{color:var(--ink);background:#ffffff08;border-color:#5c6b5f}.btn .arrow{opacity:.75;font-size:11px}.btn-arrow{place-items:center;width:16px;height:16px;display:grid}.btn-arrow svg{width:12px;height:12px;transition:transform .22s var(--ease)}.btn:hover .btn-arrow svg{transform:translate(1.5px,-1.5px)}.code-panel{border:1px solid var(--line-strong);border-radius:var(--r-md);background:#0b100c;overflow:hidden}.code-panel-head{border-bottom:1px solid var(--line);font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--dim);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:8px;display:flex}.code-panel pre{font-family:var(--mono);color:#b9c5bb;tab-size:2;margin:0;padding:18px;font-size:10.5px;line-height:1.75;overflow:auto}.code-panel pre:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.code-panel code{font-family:inherit}.prose{max-width:720px;color:var(--muted);font-size:14.5px;line-height:1.85}.prose p+p{margin-top:14px}.prose strong{color:var(--ink);font-weight:500}.prose ul{gap:8px;margin-top:14px;display:grid}.prose li{padding-left:16px;position:relative}.prose li:before{content:"";background:var(--accent);width:5px;height:1px;position:absolute;top:.75em;left:0}.prose code{font-family:var(--mono);color:var(--accent-2);background:#8fe3c014;border-radius:3px;padding:1px 5px;font-size:.9em}@keyframes pulse{0%,to{opacity:.45;transform:scale(.9)}50%{opacity:1;transform:scale(1.12)}}@keyframes fig-pulse{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.3)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.js [data-reveal]{opacity:1;transform:none}.pulse,.fig-pulse,.specimen-status i{animation:none}}.site-footer{background:var(--bg);padding:34px 0 26px}.footer-main{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-bottom:21px;display:flex}.brand--footer .brand-text{font-size:14px}.brand--footer .brand-mark{border-radius:6px;width:28px;height:28px}.brand--footer .brand-mark svg{width:19px;height:19px}.footer-motto{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--dim);font-size:8.5px}.footer-links{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);flex-wrap:wrap;gap:18px;font-size:9px;display:flex}.footer-links a{transition:color .2s var(--ease)}.footer-links a:hover{color:var(--accent)}.footer-sub{color:var(--dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:17px;font-size:10.5px;display:flex}@media (width<=700px){.footer-main{flex-direction:column;align-items:flex-start;gap:15px}.footer-links{gap:14px 18px}.footer-sub{flex-direction:column;align-items:flex-start;gap:8px}}.site-header{z-index:60;height:var(--header-h);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px)saturate(130%);backdrop-filter:blur(18px)saturate(130%);background:#0a0e0bd1;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:24px;height:100%;display:flex}.brand{align-items:center;gap:11px;min-width:0;display:inline-flex}.brand-mark{width:32px;height:32px;color:var(--accent);border:1px solid var(--line-strong);transition:border-color .25s var(--ease), transform .25s var(--ease);background:linear-gradient(145deg,#1a241b,#0e140f);border-radius:7px;place-items:center;display:grid}.brand:hover .brand-mark{border-color:#c8f76e80;transform:translateY(-1px)}.brand-mark svg{width:22px;height:22px}.brand-text{font-family:var(--sans);letter-spacing:-.02em;font-size:16px;font-weight:500}.brand-meta{border-left:1px solid var(--line);font-family:var(--mono);letter-spacing:.13em;color:var(--dim);margin-left:5px;padding-left:12px;font-size:9px}.nav-links{align-items:center;gap:clamp(18px,2.4vw,34px);display:flex}.nav-links a{font-family:var(--mono);text-transform:uppercase;letter-spacing:.13em;color:var(--muted);transition:color .2s var(--ease);align-items:baseline;gap:6px;padding:6px 0;font-size:10px;display:inline-flex;position:relative}.nav-links a:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .3s var(--ease);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav-links a:hover,.nav-links a[aria-current]{color:var(--ink)}.nav-links a:hover:after,.nav-links a[aria-current]:after{transform:scaleX(1)}.nav-actions{align-items:center;gap:10px;display:flex}.nav-github{border:1px solid var(--line-strong);border-radius:var(--r-sm);font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);transition:color .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease);align-items:center;gap:8px;padding:9px 13px;font-size:10px;display:inline-flex}.nav-github:hover{color:var(--accent);background:#c8f76e0a;border-color:#c8f76e73}.nav-github .arrow{opacity:.7;font-size:11px}.nav-github-dot{background:var(--accent-2);border-radius:50%;width:5px;height:5px;box-shadow:0 0 10px #8fe3c0cc}.nav-toggle{border:1px solid var(--line-strong);border-radius:var(--r-sm);width:40px;height:40px;color:var(--ink);place-items:center;display:none}.nav-toggle-bars{gap:5px;width:16px;display:grid}.nav-toggle-bars i{height:1px;transition:transform .25s var(--ease), opacity .25s var(--ease);background:currentColor;display:block}.nav-toggle[aria-expanded=true] .nav-toggle-bars i:first-child{transform:translateY(3px)rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-bars i:last-child{transform:translateY(-3px)rotate(-45deg)}@media (width<=920px){:root{--header-h:66px}.brand-meta{display:none}.nav-toggle{display:grid}.nav-links{top:var(--header-h);padding:10px var(--gutter) 18px;border-bottom:1px solid var(--line-strong);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0a0e0b;flex-direction:column;align-items:stretch;gap:0;display:none;position:absolute;left:0;right:0}.nav-links.is-open{display:flex}.nav-links a{border-bottom:1px solid var(--line);padding:14px 0;font-size:11px}.nav-links a:last-child{border-bottom:0}.nav-links a:after{display:none}}.section-head{grid-template-columns:repeat(12,1fr);align-items:end;column-gap:clamp(16px,2.4vw,28px);margin-bottom:clamp(44px,6vw,74px);display:grid}.section-label{grid-column:1/-1;align-items:center;gap:16px;margin-bottom:22px;display:flex}.kicker{font-family:var(--mono);text-transform:uppercase;letter-spacing:.17em;color:var(--accent);white-space:nowrap;font-size:9.5px}.section-rule{background:var(--line-strong);flex:1;max-width:220px;height:1px}.section-head h2{font-family:var(--sans);letter-spacing:-.048em;color:var(--ink);text-wrap:balance;grid-column:1/8;font-size:clamp(2.15rem,4.55vw,3.85rem);font-weight:500;line-height:1.02}.section-note{max-width:38ch;color:var(--muted);grid-column:9/-1;padding-bottom:8px;font-size:14px;line-height:1.8}.section-head h2 em,.page-hero h1 em,.project-hero h1 em,.closing h2 em{font-family:var(--serif);letter-spacing:.005em;color:var(--accent);padding-right:.03em;font-size:1.08em;font-style:italic;font-weight:400}.text-link{border-bottom:1px solid var(--line-strong);width:fit-content;font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink);transition:color .25s var(--ease), border-color .25s var(--ease);align-items:center;gap:8px;padding-bottom:3px;font-size:9px;display:inline-flex}.text-link:hover{color:var(--accent);border-color:var(--accent)}.text-link span{transition:transform .25s var(--ease)}.text-link:hover span{transform:translate(2px,-2px)}.page-hero,.project-hero{border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 84% 2%, #8fe3c017, transparent 48%), linear-gradient(180deg, #0b100c 0%, var(--bg) 82%);padding:clamp(78px,11vh,126px) 0 clamp(42px,5.5vw,68px);position:relative;overflow:hidden}.page-hero:before,.project-hero:before{content:"";pointer-events:none;background-image:linear-gradient(90deg,#e9f2e90b 1px,#0000 1px),linear-gradient(#e9f2e90b 1px,#0000 1px);background-size:88px 88px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000000eb,#0000 84%);mask-image:linear-gradient(#000000eb,#0000 84%)}.page-hero:after,.project-hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#c8f76e14,#0000 68%);border-radius:50%;width:620px;height:620px;position:absolute;top:-260px;right:-160px}.page-hero>.shell,.project-hero>.shell{z-index:2;position:relative}.page-hero+.section{padding-top:clamp(24px,3vw,36px)}.breadcrumb{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--dim);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:25px;font-size:8.5px;display:flex}.breadcrumb a{transition:color .2s var(--ease)}.breadcrumb a:hover{color:var(--accent)}.breadcrumb-sep{color:var(--line-strong)}.page-hero h1{max-width:1080px;font-family:var(--sans);letter-spacing:-.058em;color:var(--ink);text-wrap:balance;font-size:clamp(2.8rem,7.1vw,6.15rem);font-weight:500;line-height:.94}.page-lead{color:#c2ccc4;max-width:660px;margin-top:26px;font-size:clamp(15px,1.3vw,17.5px);line-height:1.8}.page-lead strong{color:var(--ink);font-weight:500}.page-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.page-meta{border-top:1px solid var(--line);font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--dim);flex-wrap:wrap;align-items:center;gap:12px 30px;margin-top:clamp(34px,4vw,48px);padding-top:16px;font-size:8.5px;display:flex}.page-meta b{color:var(--muted);letter-spacing:.14em;margin-right:8px;font-weight:500}.page-meta i{background:var(--accent-2);border-radius:50%;width:5px;height:5px;margin-right:7px;display:inline-block;box-shadow:0 0 8px #8fe3c0a6}.next-wrap{padding:clamp(42px,5vw,64px) 0 0}.next-project{border-top:1px solid var(--line-strong);justify-content:space-between;align-items:center;gap:24px;padding-top:24px;display:flex}.next-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--dim);margin-bottom:6px;font-size:8px}.next-title{font-family:var(--sans);letter-spacing:-.03em;color:var(--ink);transition:color .25s var(--ease);font-size:clamp(1.4rem,2.6vw,2.1rem);font-weight:500}.next-project:hover .next-title{color:var(--accent)}.next-arrow{color:var(--accent);transition:transform .25s var(--ease);font-size:24px}.next-project:hover .next-arrow{transform:translate(4px,-4px)}@media (width<=1120px){.section-head h2{grid-column:1/9}.section-note{grid-column:9/-1}}@media (width<=920px){.section-head h2{grid-column:1/-1}.section-note{grid-column:1/-1;max-width:520px;margin-top:18px;padding-bottom:0}.page-hero h1{font-size:clamp(2.5rem,7.2vw,4.8rem)}}@media (width<=700px){.section{padding:74px 0}.page-hero,.project-hero{padding:62px 0 50px}.page-hero h1{font-size:clamp(2.2rem,9.2vw,3.7rem)}.project-hero h1{font-size:clamp(2.2rem,9vw,3.6rem)}.page-lead{font-size:15px}.page-meta{gap:10px 18px}.next-project{align-items:flex-start}.next-arrow{margin-top:4px}}@media (width<=460px){.btn{width:100%}}.contact-layout{grid-template-columns:1.08fr .92fr;align-items:start;gap:clamp(32px,5vw,72px);display:grid}.contact-form{gap:15px;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field{flex-direction:column;gap:7px;display:flex}.field label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--dim);font-size:8px}.field input,.field select,.field textarea{border:1px solid var(--line-strong);background:var(--surface);width:100%;color:var(--ink);font-family:var(--body);transition:border-color .2s var(--ease);border-radius:4px;padding:12px 13px;font-size:14px;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none}.field textarea{resize:vertical;min-height:150px}.field ::placeholder{color:var(--dim)}.form-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:4px;display:flex}.form-note{max-width:430px;color:var(--dim);font-size:11px;line-height:1.65}.form-status{border:1px solid var(--line);background:var(--surface);min-height:46px;color:var(--muted);border-radius:4px;padding:12px 14px;font-size:12px;line-height:1.6}.form-status.is-ready{color:var(--accent);border-color:#c8f76e66}.form-status.is-error{color:var(--ink);border-color:#e9f2e952}.honeypot{opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;position:absolute!important;left:-9999px!important;overflow:hidden!important}.contact-aside{border:1px solid var(--line-strong);border-radius:var(--r-lg);background:linear-gradient(150deg, var(--surface), #0b100c);padding:24px}.contact-aside h2{font-family:var(--sans);letter-spacing:-.02em;color:var(--ink);margin-bottom:6px;font-size:16px;font-weight:500}.contact-aside>p{color:var(--dim);font-size:12px;line-height:1.7}.contact-channel{border-bottom:1px solid var(--line);grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 0;display:grid}.contact-channel:first-of-type{border-top:1px solid var(--line);margin-top:18px}.contact-channel>span:first-child{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--dim);font-size:8px}.contact-channel a{color:var(--muted);transition:color .2s var(--ease);font-size:12.5px}.contact-channel a:hover{color:var(--accent)}.contact-channel .arrow{color:var(--accent);font-size:12px}.contact-topics{margin-top:16px;display:grid}.contact-topics li{color:var(--muted);border-bottom:1px dashed #e9f2e912;gap:10px;padding:8px 0;font-size:12px;line-height:1.55;display:flex}.contact-topics li span{font-family:var(--mono);color:var(--accent);padding-top:2px;font-size:8px}.contact-availability{border-top:1px solid var(--line);font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent-2);align-items:center;gap:7px;margin-top:18px;padding-top:16px;font-size:8px;display:flex}.contact-availability i{background:var(--accent-2);border-radius:50%;width:5px;height:5px;box-shadow:0 0 8px #8fe3c0a6}@media (width<=920px){.contact-layout{grid-template-columns:1fr;gap:34px}}@media (width<=700px){.form-row{grid-template-columns:1fr}.contact-channel{grid-template-columns:66px minmax(0,1fr) auto}}@media (width<=460px){.form-status{font-size:11px}.contact-channel{grid-template-columns:1fr auto}.contact-channel>span:first-child,.contact-channel a{grid-column:1}.contact-channel .arrow{grid-area:1/2/span 2}}.hero{border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 84% 4%, #8fe3c017, transparent 46%), linear-gradient(180deg, #0b100c 0%, var(--bg) 78%);padding-top:clamp(64px,10vh,118px);position:relative;overflow:hidden}.hero-glow{pointer-events:none;background:radial-gradient(circle,#c8f76e14,#c8f76e00 68%);border-radius:50%;width:720px;height:720px;position:absolute;top:-220px;right:-160px}.hero-grid{pointer-events:none;background-image:linear-gradient(90deg,#e9f2e90b 1px,#0000 1px),linear-gradient(#e9f2e90b 1px,#0000 1px);background-size:88px 88px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000000e6,#0000 78%);mask-image:linear-gradient(#000000e6,#0000 78%)}.hero>.shell{z-index:1;position:relative}.eyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:.17em;color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:clamp(30px,5vw,52px);font-size:9.5px;display:flex}.pulse{background:var(--accent-2);border-radius:50%;width:6px;height:6px;animation:3.4s ease-in-out infinite pulse;box-shadow:0 0 0 4px #8fe3c014}.eyebrow-rule{background:var(--line-strong);width:42px;height:1px}.eyebrow-code{color:var(--dim)}.hero-title{font-family:var(--sans);letter-spacing:-.058em;color:var(--ink);max-width:100%;font-size:clamp(2.5rem,8vw,7.8rem);font-weight:500;line-height:.93}.hero-title .line{display:block}.hero-title .line-3{padding-left:clamp(0px,6vw,96px)}.hero-title em{font-family:var(--serif);letter-spacing:.005em;color:var(--accent);padding-right:.03em;font-size:1.08em;font-style:italic;font-weight:400}.hero-bottom{grid-template-columns:minmax(0,1fr) minmax(400px,.95fr);align-items:start;gap:clamp(32px,6vw,90px);margin-top:clamp(42px,6vw,72px);display:grid}.hero-lead{color:#c2ccc4;max-width:540px;font-size:clamp(15.5px,1.3vw,18px);line-height:1.8}.hero-lead strong{color:var(--ink);font-weight:500}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.specimen{border:1px solid var(--line-strong);border-radius:var(--r-lg);background:linear-gradient(155deg,#172019eb,#0b100cf7);position:relative;overflow:hidden;box-shadow:0 34px 90px #00000061}.specimen:before{content:"";pointer-events:none;border-radius:inherit;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff0a}.specimen-bar,.specimen-foot{font-family:var(--mono);text-transform:uppercase;letter-spacing:.13em;color:var(--dim);justify-content:space-between;align-items:center;gap:14px;padding:11px 16px;font-size:8.5px;display:flex}.specimen-bar{border-bottom:1px solid var(--line)}.specimen-foot{border-top:1px solid var(--line)}.specimen-title{color:var(--muted)}.specimen-status{color:var(--accent-2);align-items:center;gap:7px;display:inline-flex}.specimen-status i{background:var(--accent-2);border-radius:50%;width:5px;height:5px;animation:3.4s ease-in-out infinite pulse;box-shadow:0 0 8px #8fe3c0b3}.hash-figure{width:100%;height:auto;padding:6px 10px 4px}.fig-hair{stroke:var(--line)}.fig-rule{stroke:var(--line-strong)}.fig-label{fill:var(--dim);font-family:var(--mono);letter-spacing:.12em;font-size:10px}.fig-label--hot{fill:var(--accent)}.fig-micro{fill:var(--dim);font-family:var(--mono);letter-spacing:.08em;font-size:9px}.fig-index{fill:var(--dim);font-family:var(--mono);font-size:9.5px}.fig-index--hot{fill:var(--accent)}.fig-bucket{fill:#e9f2e907;stroke:var(--line-strong);stroke-width:1px}.fig-bucket--hot{fill:#c8f76e1a;stroke:var(--accent)}.fig-node{fill:#121a14;stroke:var(--line-strong);stroke-width:1px}.fig-node--hot{stroke:#c8f76ea6}.fig-node--target{fill:#c8f76e21;stroke:var(--accent)}.fig-link{stroke:var(--line-strong);stroke-width:1px;fill:none}.fig-link--hot{stroke:#c8f76ea6}.fig-key{fill:var(--muted);font-family:var(--mono);letter-spacing:.05em;font-size:9.5px}.fig-key--hot{fill:var(--accent)}.fig-null{fill:var(--dim);font-family:var(--mono);font-size:10px}.fig-null--hot{fill:#c8f76e8c}.fig-pulse{fill:var(--accent);transform-box:fill-box;transform-origin:50%;animation:2.8s ease-in-out infinite fig-pulse}.hero-meta{z-index:1;border-top:1px solid var(--line);background:#080c0959;margin-top:clamp(52px,7vw,88px);position:relative}.hero-meta-inner{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--dim);grid-template-columns:repeat(4,1fr);gap:16px 24px;padding:15px 0;font-size:8.5px;display:grid}.hero-meta-inner b{color:var(--muted);letter-spacing:.14em;margin-right:9px;font-weight:500}.hero-meta-end{text-align:right;color:var(--muted)}.hero-meta-end i{color:var(--accent);margin-left:6px;font-style:normal}.about{background:var(--bg)}.focus{background:var(--bg-2)}.work{background:var(--bg)}.writing{background:var(--bg-2)}.now{background:var(--bg)}.about-layout{grid-template-columns:1.14fr .86fr;align-items:start;gap:clamp(32px,6vw,92px);display:grid}.statement{max-width:760px;font-family:var(--sans);letter-spacing:-.032em;color:var(--ink);text-wrap:balance;margin-bottom:clamp(28px,3.4vw,40px);font-size:clamp(1.45rem,2.55vw,2.1rem);font-weight:400;line-height:1.42}.statement strong{color:var(--ink);background-image:linear-gradient(#0000 63%,#c8f76e38 63%);padding:0 .04em;font-weight:500}.about-copy{max-width:620px;color:var(--muted);gap:15px;font-size:14.5px;line-height:1.85;display:grid}.about-sign{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--dim);align-items:center;gap:12px;margin-top:30px;font-size:9px;display:flex}.about-sign-line{background:var(--line-strong);width:46px;height:1px}.dossier{border:1px solid var(--line-strong);border-radius:var(--r-lg);background:linear-gradient(150deg, var(--surface), #0b100c 82%);overflow:hidden}.dossier-head{border-bottom:1px solid var(--line);font-family:var(--mono);text-transform:uppercase;letter-spacing:.13em;color:var(--dim);justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;font-size:8.5px;display:flex}.status{color:var(--accent-2);align-items:center;gap:6px;display:inline-flex}.status i{background:var(--accent-2);border-radius:50%;width:5px;height:5px;box-shadow:0 0 8px #8fe3c0a6}.dossier-list{padding:4px 18px 8px}.dossier-list>div{border-bottom:1px solid #e9f2e90e;grid-template-columns:82px 1fr;gap:14px;padding:10px 0;display:grid}.dossier-list>div:last-child{border-bottom:0}.dossier-list dt{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--dim);padding-top:2px;font-size:8px}.dossier-list dd{color:var(--muted);font-size:12.5px;line-height:1.5}.principles{border-top:1px solid var(--line);padding:6px 18px 12px}.principle{border-bottom:1px dashed #e9f2e913;gap:14px;padding:11px 0;display:flex}.principle:last-child{border-bottom:0}.principle>span{font-family:var(--mono);color:var(--accent);padding-top:2px;font-size:8.5px}.principle b{font-family:var(--sans);color:var(--ink);letter-spacing:-.01em;font-size:12.5px;font-weight:500;display:block}.principle small{color:var(--dim);margin-top:3px;font-size:11.5px;line-height:1.6;display:block}.focus-list{border-top:1px solid var(--line-strong)}.focus-row{border-bottom:1px solid var(--line);grid-template-columns:52px minmax(230px,.95fr) minmax(280px,1.15fr) 148px;align-items:center;gap:clamp(18px,3vw,46px);padding:clamp(26px,3.3vw,40px) 0;display:grid;position:relative}.focus-row:before{content:"";border-radius:var(--r-md);opacity:0;transition:opacity .35s var(--ease);pointer-events:none;background:linear-gradient(90deg,#c8f76e0b,#0000 62%);position:absolute;inset:0 calc(-1*clamp(8px,1.6vw,20px))}.focus-row:hover:before{opacity:1}.focus-index{font-family:var(--mono);letter-spacing:.1em;color:var(--dim);transition:color .25s var(--ease);align-self:start;padding-top:4px;font-size:10px}.focus-row:hover .focus-index{color:var(--accent)}.focus-name h3{font-family:var(--sans);letter-spacing:-.032em;color:var(--ink);text-wrap:balance;font-size:clamp(1.2rem,1.75vw,1.55rem);font-weight:500;line-height:1.16}.focus-zh{font-family:var(--mono);letter-spacing:.04em;color:var(--dim);margin-top:9px;font-size:9.5px}.focus-body p{max-width:480px;color:var(--muted);font-size:13.5px;line-height:1.78}.tags{flex-wrap:wrap;gap:6px;margin-top:17px;display:flex}.tags li{border:1px solid var(--line);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#a9b6ab;background:#ffffff04;border-radius:3px;padding:4px 7px;font-size:8px}.focus-glyph{opacity:.72;width:100%;max-width:148px;transition:opacity .35s var(--ease), transform .35s var(--ease);justify-self:end}.focus-row:hover .focus-glyph{opacity:1;transform:translate(-3px)}.glyph-line{stroke:var(--line-strong);stroke-width:1px;fill:none}.glyph-line--dashed{stroke-dasharray:3 4}.glyph-node{fill:#111813;stroke:var(--line-strong);stroke-width:1px}.glyph-node--accent{fill:#c8f76e21;stroke:var(--accent)}.glyph-fill{fill:#e9f2e90e;stroke:var(--line-strong)}.work-index{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line);font-family:var(--mono);text-transform:uppercase;letter-spacing:.13em;color:var(--dim);justify-content:space-between;align-items:center;gap:20px;padding:12px 0;font-size:8.5px;display:flex}.project-list{border-bottom:1px solid var(--line-strong)}.project{isolation:isolate;border-bottom:1px solid var(--line);grid-template-columns:42px 120px minmax(0,1fr) 200px;align-items:center;gap:clamp(16px,2.5vw,34px);padding:clamp(20px,2.5vw,29px) 0;display:grid;position:relative}.project:before{content:"";z-index:-1;border-radius:var(--r-md);opacity:0;transition:opacity .3s var(--ease);background:linear-gradient(90deg,#c8f76e0a,#0000 70%);position:absolute;inset:6px calc(-1*clamp(8px,1.6vw,20px))}.project:hover:before{opacity:1}.project-index{font-family:var(--mono);letter-spacing:.1em;color:var(--dim);transition:color .25s var(--ease);align-self:start;padding-top:4px;font-size:9.5px}.project:hover .project-index{color:var(--accent)}.project-plate{border:1px solid var(--line);width:120px;height:76px;transition:border-color .3s var(--ease), background-color .3s var(--ease);background:radial-gradient(circle at 1px 1px,#e9f2e91c 1px,#0000 1.6px) 0 0/10px 10px,#0d130f;border-radius:6px;place-items:center;display:grid;overflow:hidden}.project:hover .project-plate{border-color:#c8f76e6b}.project-plate svg{width:100%;height:100%}.plate-node{fill:#121a14;stroke:var(--line-strong);stroke-width:1px}.plate-node--accent{fill:#c8f76e1c;stroke:var(--accent)}.plate-line{stroke:var(--line-strong);stroke-width:1px;fill:none}.plate-line--accent{stroke:#c8f76ecc}.plate-line--dashed{stroke-dasharray:3 3}.plate-line-box{stroke:var(--line-strong);stroke-width:1px;fill:#e9f2e905}.plate-fill{fill:#c8f76e29;stroke:var(--accent);stroke-width:1px}.plate-dot{fill:var(--accent)}.project-main{flex-direction:column;gap:6px;min-width:0;display:flex}.project-cat{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--dim);font-size:8px}.project-name{font-family:var(--sans);letter-spacing:-.025em;color:var(--ink);transition:color .25s var(--ease);flex-wrap:wrap;align-items:baseline;gap:11px;font-size:clamp(1.2rem,1.65vw,1.42rem);font-weight:500;line-height:1.15;display:flex}.project:hover .project-name{color:var(--accent)}.project-latin{letter-spacing:.01em;color:var(--dim);font-size:.64em;font-weight:400}.project-desc{max-width:620px;color:var(--muted);font-size:12.5px;line-height:1.65}.project-meta{justify-content:flex-end;align-items:center;gap:16px;display:flex}.project-stack{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--dim);text-align:right;font-size:8px;line-height:1.6}.project-arrow{color:var(--accent);transition:transform .3s var(--ease);font-size:17px}.project:hover .project-arrow{transform:translate(3px,-3px)}.work-all{margin-top:24px}.writing-layout{grid-template-columns:1.1fr .9fr;align-items:start;gap:clamp(28px,4.5vw,64px);display:grid}.featured-note{border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--surface);transition:border-color .3s var(--ease), transform .3s var(--ease);display:block;overflow:hidden}.featured-note:hover{border-color:#c8f76e61;transform:translateY(-2px)}.note-plate{border-bottom:1px solid var(--line);background:#0c110d;padding:18px;display:block}.note-plate svg{width:100%;height:auto}.note-paper{fill:#101711;stroke:var(--line-strong)}.note-folio{fill:var(--dim);font-family:var(--mono);letter-spacing:.12em;font-size:7.5px}.note-title{fill:var(--ink);font-family:var(--sans);letter-spacing:.01em;font-size:21px;font-weight:500}.note-sub{fill:var(--dim);font-family:var(--mono);letter-spacing:.1em;font-size:7px}.note-hair{stroke:var(--line-strong)}.note-text{stroke:#e9f2e929;stroke-width:1.5px}.note-cell{fill:#e9f2e909;stroke:var(--line-strong)}.note-cell--accent{fill:#c8f76e24;stroke:var(--accent)}.note-line{stroke:var(--line-strong)}.note-line--accent{stroke:var(--accent);stroke-width:2px}.note-content{padding:clamp(20px,2.6vw,28px);display:block}.note-kicker{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--accent-2);margin-bottom:13px;font-size:8.5px;display:block}.note-heading{font-family:var(--sans);letter-spacing:-.03em;color:var(--ink);text-wrap:balance;margin-bottom:11px;font-size:clamp(1.28rem,1.9vw,1.62rem);font-weight:500;line-height:1.27;display:block}.note-desc{max-width:46ch;color:var(--muted);font-size:13px;line-height:1.72;display:block}.note-link{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);align-items:center;gap:8px;margin-top:22px;font-size:9px;display:inline-flex}.featured-note:hover .note-link span{transform:translate(2px,-2px)}.note-link span{transition:transform .25s var(--ease)}.note-side{border-top:1px solid var(--line-strong)}.note-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:22px 0;display:grid}.note-row-meta{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--dim);align-items:center;gap:12px;margin-bottom:8px;font-size:8px;display:flex}.note-row-title{font-family:var(--sans);letter-spacing:-.02em;color:var(--ink);transition:color .25s var(--ease);grid-column:1;font-size:15.5px;line-height:1.45;display:block}.note-row:hover .note-row-title{color:var(--accent)}.note-row-arrow{color:var(--dim);transition:color .25s var(--ease), transform .25s var(--ease);grid-area:1/2/span 2;align-self:center;font-size:14px}.note-row:hover .note-row-arrow{color:var(--accent);transform:translate(2px,-2px)}.note-ongoing{color:var(--accent-2);align-items:center;gap:6px;display:inline-flex}.note-ongoing i{background:var(--accent-2);border-radius:50%;width:4px;height:4px}.note-row>.note-row-meta{grid-area:1/1}.note-row>.note-row-title{grid-row:2}.note-side-foot{color:var(--dim);flex-direction:column;gap:14px;margin-top:24px;font-size:12px;line-height:1.75;display:flex}.note-topics{margin-top:26px}.note-topics-head{border-bottom:1px solid var(--line);font-family:var(--mono);text-transform:uppercase;letter-spacing:.13em;color:var(--dim);justify-content:space-between;align-items:center;padding-bottom:10px;font-size:8px;display:flex}.note-topics li{color:var(--muted);border-bottom:1px solid #e9f2e90e;gap:13px;padding:9px 0;font-size:12px;line-height:1.5;display:flex}.note-topics li:last-child{border-bottom:0}.note-topics li span{font-family:var(--mono);color:var(--accent);padding-top:2px;font-size:8px}.now-layout{grid-template-columns:1.25fr .75fr;align-items:start;gap:clamp(28px,5vw,64px);display:grid}.now-list{border-top:1px solid var(--line-strong)}.now-item{border-bottom:1px solid var(--line);grid-template-columns:108px minmax(0,1fr) 22px;align-items:start;gap:20px;padding:clamp(23px,3vw,33px) 0;display:grid}.now-status{font-family:var(--mono);text-transform:uppercase;letter-spacing:.11em;color:var(--accent-2);align-items:center;gap:7px;padding-top:3px;font-size:8px;display:inline-flex}.now-status i{background:var(--accent-2);border-radius:50%;width:4px;height:4px;box-shadow:0 0 8px #8fe3c099}.now-body h3{font-family:var(--sans);letter-spacing:-.025em;color:var(--ink);margin-bottom:8px;font-size:clamp(1.12rem,1.6vw,1.38rem);font-weight:500}.now-body p{max-width:500px;color:var(--muted);font-size:13px;line-height:1.72}.now-mark{font-family:var(--mono);text-align:right;color:var(--dim);font-size:10px}.now-aside{border:1px solid var(--line-strong);border-radius:var(--r-lg);background:linear-gradient(160deg, var(--surface), #0b100c);padding:clamp(20px,2.4vw,28px)}.aside-head{border-bottom:1px solid var(--line);font-family:var(--mono);text-transform:uppercase;letter-spacing:.13em;color:var(--dim);justify-content:space-between;align-items:center;padding-bottom:13px;font-size:8.5px;display:flex}.aside-head span{color:var(--accent)}.thread-list li{color:#b4c0b7;border-bottom:1px solid #e9f2e90e;gap:14px;padding:11px 0;font-size:12.5px;line-height:1.55;display:flex}.thread-list li:last-child{border-bottom:0}.thread-list li span{font-family:var(--mono);color:var(--accent);padding-top:2px;font-size:8px}.aside-foot{color:var(--dim);margin-top:16px;font-size:11.5px;line-height:1.7}.now-research{margin-top:14px}.closing{border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 50% 0%, #c8f76e12, transparent 56%), var(--bg-2);padding:clamp(92px,12.5vw,164px) 0 clamp(72px,9vw,116px);position:relative;overflow:hidden}.closing-grid{pointer-events:none;background-image:linear-gradient(90deg,#e9f2e90b 1px,#0000 1px),linear-gradient(#e9f2e90b 1px,#0000 1px);background-size:88px 88px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 50% 30%,#000,#0000 72%);mask-image:radial-gradient(at 50% 30%,#000,#0000 72%)}.closing-inner{z-index:1;position:relative}.closing-meta{font-family:var(--mono);text-transform:uppercase;letter-spacing:.13em;color:var(--dim);align-items:center;gap:16px;margin-bottom:clamp(26px,3.6vw,40px);font-size:8.5px;display:flex}.closing-line{background:var(--line-strong);width:76px;height:1px}.closing h2{font-family:var(--sans);letter-spacing:-.057em;color:var(--ink);margin-bottom:clamp(38px,5vw,56px);font-size:clamp(2.55rem,7vw,6.2rem);font-weight:500;line-height:.95}.closing-bottom{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;display:grid}.closing-bottom p{max-width:430px;color:var(--muted);font-size:14px;line-height:1.8}.closing-actions{flex-wrap:wrap;gap:12px;display:flex}.focus-row:nth-child(2){--reveal-delay:70ms}.focus-row:nth-child(3){--reveal-delay:.14s}.project:nth-child(2){--reveal-delay:50ms}.project:nth-child(3){--reveal-delay:.1s}.project:nth-child(4){--reveal-delay:50ms}.project:nth-child(5){--reveal-delay:.1s}.project:nth-child(6){--reveal-delay:.15s}@media (width<=1120px){.focus-row{grid-template-columns:44px minmax(200px,.9fr) minmax(240px,1.1fr) 120px;gap:22px}.project{grid-template-columns:36px 108px minmax(0,1fr) 170px;gap:20px}.project-plate{width:108px;height:70px}}@media (width<=920px){.hero-bottom{grid-template-columns:1fr;gap:44px}.specimen{max-width:660px}.about-layout{grid-template-columns:1fr;gap:40px}.dossier{max-width:680px}.focus-row{grid-template-columns:30px minmax(0,1fr);align-items:start;gap:7px 18px;padding:28px 0}.focus-index{grid-row:1/3}.focus-name,.focus-body{grid-column:2}.focus-glyph{display:none}.focus-body p{margin-top:4px}.project{grid-template-columns:32px minmax(0,1fr) 150px;gap:16px}.project-plate{display:none}.project-desc{max-width:560px}.writing-layout{grid-template-columns:1fr;gap:38px}.now-layout{grid-template-columns:1fr;gap:34px}.now-aside{max-width:620px}.closing-bottom{grid-template-columns:1fr;align-items:start;gap:28px}}@media (width<=700px){.hero{padding-top:52px}.hero-title{font-size:clamp(2.15rem,9.4vw,4.2rem)}.hero-title .line-3{padding-left:0}.eyebrow{gap:9px;font-size:8.5px}.eyebrow-rule,.eyebrow-code{display:none}.hero-actions .btn{flex:auto}.hero-meta-inner{grid-template-columns:1fr 1fr;padding:14px 0}.hero-meta-inner>span:nth-child(3){display:none}.hero-meta-end{text-align:left}.fig-label{font-size:14px}.fig-micro{font-size:12px}.fig-index{font-size:13px}.fig-key,.fig-null{font-size:14px}.fig-col{display:none}.project{grid-template-columns:24px minmax(0,1fr);gap:12px;padding:22px 0}.project-meta{grid-column:2;justify-content:flex-start;gap:16px;margin-top:10px}.project-stack{text-align:left}.project-arrow{font-size:15px}.project-name{gap:8px}.work-index{font-size:7.5px}.work-index span:last-child{display:none}.note-plate{padding:10px}.note-row{padding:18px 0}.now-item{grid-template-columns:1fr;gap:10px}.now-status{margin-bottom:2px}.now-mark{display:none}}@media (width<=460px){.hero-lead{font-size:15px}.specimen-bar,.specimen-foot{padding:9px 12px;font-size:7.5px}.hash-figure{padding:2px 4px}.statement{font-size:1.38rem}.dossier-list>div{grid-template-columns:70px 1fr;gap:10px}.closing-meta{flex-direction:column;align-items:flex-start;gap:8px}.closing-line{display:none}.closing-actions .btn{width:100%}}.filter-bar{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:14px 0;display:flex}.filter-btn{border:1px solid var(--line);font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);transition:color .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease);border-radius:4px;padding:8px 12px;font-size:9px}.filter-btn:hover{color:var(--ink);border-color:var(--line-strong)}.filter-btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.projects-count{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--dim);margin-left:auto;font-size:8px}.projects-grid{grid-template-columns:repeat(12,1fr);grid-auto-flow:dense;gap:14px;padding-top:22px;display:grid}.project-card{border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(150deg, var(--surface), #0c110d);transition:border-color .3s var(--ease), transform .3s var(--ease);flex-direction:column;grid-column:span 4;display:flex;overflow:hidden}.project-card:hover{border-color:#c8f76e66;transform:translateY(-3px)}.project-card--feature{grid-column:span 7}.project-card--feature-alt{grid-column:span 5}.project-card--wide{flex-direction:row;grid-column:span 12}.card-media{aspect-ratio:16/10;border-bottom:1px solid var(--line);background:#0c110d;position:relative;overflow:hidden}.project-card--feature .card-media{aspect-ratio:16/9}.card-media img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease)}.project-card:hover .card-media img{transform:scale(1.025)}.card-media--svg{background:radial-gradient(circle at 1px 1px,#e9f2e91c 1px,#0000 1.6px) 0 0/10px 10px,#0c110d;place-items:center;display:grid}.card-media--svg svg{width:100%;height:100%}.card-media--code{align-items:center;padding:18px;display:flex}.card-code-wrap{width:100%}.card-code-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--dim);margin-bottom:16px;font-size:8px}.card-code{width:100%;font-family:var(--mono);color:#a9b6ab;font-size:11px;line-height:1.95}.card-code .c{color:var(--dim)}.card-code .k{color:var(--accent)}.card-code .s{color:var(--accent-2)}.card-body{flex-direction:column;flex:1;padding:20px;display:flex}.card-cat{font-family:var(--mono);text-transform:uppercase;letter-spacing:.13em;color:var(--dim);font-size:8px}.card-badge{border:1px solid var(--line-strong);font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--dim);border-radius:3px;align-items:center;gap:5px;margin-left:7px;padding:3px 6px;font-size:7px;display:inline-flex}.card-badge--live{color:var(--accent-2);border-color:#8fe3c059}.card-badge--live i{background:var(--accent-2);border-radius:50%;width:4px;height:4px}.card-title{font-family:var(--sans);letter-spacing:-.03em;color:var(--ink);transition:color .25s var(--ease);flex-wrap:wrap;align-items:baseline;gap:9px;margin-top:9px;font-size:clamp(1.25rem,1.8vw,1.55rem);font-weight:500;line-height:1.15;display:flex}.project-card:hover .card-title{color:var(--accent)}.card-title span{letter-spacing:0;color:var(--dim);font-size:.62em;font-weight:400}.card-desc{color:var(--muted);margin-top:9px;font-size:12.5px;line-height:1.65}.card-foot{justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:18px;display:flex}.card-stack{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--dim);font-size:8px;line-height:1.6}.card-arrow{color:var(--accent);transition:transform .25s var(--ease);font-size:16px}.project-card:hover .card-arrow{transform:translate(3px,-3px)}.project-card--wide .card-media{aspect-ratio:auto;border-right:1px solid var(--line);border-bottom:0;width:44%;min-height:260px}.project-card--wide .card-body{justify-content:center;width:56%;padding:clamp(24px,4vw,46px)}.detail-svg{width:100%;height:auto;display:block}.detail-svg .d-line{stroke:var(--line-strong);stroke-width:1px;fill:none}.detail-svg .d-line--dashed{stroke-dasharray:3 4}.detail-svg .d-node{fill:#111813;stroke:var(--line-strong);stroke-width:1px}.detail-svg .d-accent{fill:#c8f76e17;stroke:var(--accent);stroke-width:1px}.detail-svg .d-fill{fill:#e9f2e90a;stroke:var(--line-strong)}.detail-svg .d-text{fill:var(--muted);font-family:var(--mono);letter-spacing:.05em;font-size:9px}.detail-svg .d-text--hot{fill:var(--accent)}.detail-svg .d-label{fill:var(--dim);font-family:var(--mono);letter-spacing:.1em;font-size:8px}.detail-svg .d-dot{fill:var(--accent)}@media (width<=920px){.project-card,.project-card--feature-alt{grid-column:span 6}.project-card--feature,.project-card--wide{grid-column:span 12}}@media (width<=700px){.projects-grid{grid-template-columns:1fr}.project-card,.project-card--feature,.project-card--feature-alt,.project-card--wide{grid-column:1/-1}.project-card--wide{flex-direction:column}.project-card--wide .card-media{aspect-ratio:16/10;border-right:0;border-bottom:1px solid var(--line);width:100%;min-height:0}.project-card--wide .card-body{width:100%}.filter-bar{gap:6px}.projects-count{width:100%;margin-left:0}}@media (width<=460px){.filter-btn{padding:7px 9px;font-size:8px}}.lab-shell{border:1px solid var(--line-strong);border-radius:var(--r-lg);background:linear-gradient(150deg, var(--surface), #0b100c);overflow:hidden}.lab-head{border-bottom:1px solid var(--line);font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--dim);justify-content:space-between;align-items:center;gap:14px;padding:13px 18px;font-size:8px;display:flex}.lab-head strong{color:var(--muted);font-weight:400}.lab-body{grid-template-columns:minmax(0,1fr) 320px;gap:24px;padding:22px;display:grid}.hash-lab{gap:5px;display:grid}.bucket-row{grid-template-columns:26px 62px minmax(0,1fr);align-items:center;gap:10px;display:grid}.bucket-index{font-family:var(--mono);color:var(--dim);text-align:right;font-size:8.5px}.bucket-cell{border:1px solid var(--line);height:34px;font-family:var(--mono);color:var(--dim);transition:border-color .2s var(--ease), background .2s var(--ease), color .2s var(--ease);background:#e9f2e906;border-radius:3px;justify-content:center;align-items:center;font-size:9px;display:flex}.bucket-cell.is-target{border-color:var(--accent);color:var(--accent);background:#c8f76e1a}.bucket-chain{flex-wrap:wrap;align-items:center;gap:6px;min-height:34px;display:flex}.hash-node{border:1px solid var(--line-strong);font-family:var(--mono);color:var(--muted);transition:border-color .2s var(--ease), background .2s var(--ease), color .2s var(--ease);background:#121a14;border-radius:3px;padding:4px 8px;font-size:9px;line-height:1.5}.hash-node.is-hit{border-color:var(--accent);color:var(--accent);background:#c8f76e21}.hash-node.is-miss,.hash-node.is-empty{color:var(--dim);border-style:dashed}.chain-tail{min-width:32px;font-family:var(--mono);color:var(--dim);flex:60px;align-items:center;gap:8px;font-size:9px;display:flex}.chain-tail:before{content:"";background:var(--line);flex:1;height:1px}.lab-side{flex-direction:column;display:flex}.lab-controls{flex-wrap:wrap;gap:8px;display:flex}.lab-input{border:1px solid var(--line-strong);background:var(--bg);min-width:0;color:var(--ink);font-family:var(--mono);border-radius:4px;flex:120px;padding:10px 12px;font-size:11px}.lab-input:focus{border-color:var(--accent);outline:none}.lab-btn{border:1px solid var(--line-strong);font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);transition:color .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease);background:#ffffff03;border-radius:4px;padding:10px 12px;font-size:9px}.lab-btn:hover{color:var(--ink);border-color:var(--line-strong);background:#ffffff0a}.lab-btn--primary{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.lab-btn--primary:hover{color:var(--accent-ink);background:#d9ff9c;border-color:#d9ff9c}.lab-status{border:1px solid var(--line);min-height:68px;font-family:var(--mono);color:var(--muted);background:#0a0e0b66;border-radius:4px;margin-top:14px;padding:11px 12px;font-size:9.5px;line-height:1.65}.lab-status.is-hit{color:var(--accent);border-color:#c8f76e73}.lab-status.is-miss{border-color:var(--line-strong);color:var(--muted)}.lab-metrics{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.metric{border:1px solid var(--line);border-radius:4px;padding:10px}.metric b{font-family:var(--sans);letter-spacing:-.03em;color:var(--ink);font-size:18px;font-weight:500;display:block}.metric span{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--dim);font-size:7.5px}.lab-legend{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--dim);flex-wrap:wrap;gap:14px;margin-top:14px;font-size:8px;display:flex}.lab-legend span{align-items:center;gap:6px;display:inline-flex}.lab-legend i{background:var(--line-strong);border-radius:50%;width:5px;height:5px}.lab-legend .hit i{background:var(--accent)}.lab-legend .miss i{border:1px dashed var(--dim);background:0 0}.lab-hint{color:var(--dim);margin-top:12px;font-size:11px;line-height:1.65}@media (width<=920px){.lab-body{grid-template-columns:1fr}}@media (width<=700px){.lab-body{padding:16px}.bucket-row{grid-template-columns:22px 48px minmax(0,1fr);gap:7px}.bucket-cell{height:30px}.chain-tail{display:none}}@media (width<=460px){.lab-controls .lab-btn{flex:auto}}.thread-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.thread-card{border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(150deg, var(--surface), #0c110d);min-height:255px;transition:border-color .25s var(--ease), transform .25s var(--ease);flex-direction:column;padding:24px;display:flex}.thread-card:hover{border-color:#c8f76e61;transform:translateY(-2px)}.thread-index{font-family:var(--mono);letter-spacing:.1em;color:var(--accent);font-size:9px}.thread-card h3{font-family:var(--sans);letter-spacing:-.025em;color:var(--ink);margin:18px 0 8px;font-size:clamp(1.15rem,1.7vw,1.4rem);font-weight:500;line-height:1.2}.thread-card p{color:var(--muted);font-size:12.5px;line-height:1.7}.thread-tags{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:18px;display:flex}.thread-tags span{border:1px solid var(--line);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--dim);border-radius:3px;padding:3px 6px;font-size:7.5px}.research-notes{border-top:1px solid var(--line-strong)}.research-note{border-bottom:1px solid var(--line);grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:20px;padding:18px 0;display:grid}.research-note time{font-family:var(--mono);letter-spacing:.08em;color:var(--dim);font-size:8.5px}.research-note h3{font-family:var(--sans);letter-spacing:-.02em;color:var(--ink);transition:color .25s var(--ease);font-size:16px;font-weight:500;line-height:1.4}.research-note p{color:var(--dim);grid-column:2;margin-top:4px;font-size:12px}.research-note .arrow{color:var(--dim);transition:color .25s var(--ease), transform .25s var(--ease);grid-area:1/3/span 2}.research-note:hover h3{color:var(--accent)}.research-note:hover .arrow{color:var(--accent);transform:translate(2px,-2px)}.research-actions{margin-top:26px}@media (width<=920px){.thread-grid{grid-template-columns:1fr}.thread-card{min-height:0}}@media (width<=700px){.research-note{grid-template-columns:1fr auto;gap:6px 16px}.research-note time,.research-note h3,.research-note p{grid-column:1}.research-note .arrow{grid-area:1/2/span 3}}.project-hero{padding-top:clamp(60px,8.5vh,96px)}.project-hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(380px,.98fr);align-items:start;gap:clamp(30px,5vw,70px);display:grid}.project-hero .breadcrumb{margin-bottom:22px}.project-cat{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--accent-2);align-items:center;gap:8px;margin-bottom:15px;font-size:8.5px;display:inline-flex}.project-cat:before{content:"";background:var(--accent-2);border-radius:50%;width:5px;height:5px;box-shadow:0 0 8px #8fe3c0a6}.project-hero h1{max-width:720px;font-family:var(--sans);letter-spacing:-.056em;color:var(--ink);text-wrap:balance;font-size:clamp(2.5rem,5.7vw,5rem);font-weight:500;line-height:.95}.project-hero .page-lead{max-width:560px;margin-top:20px}.project-hero-links{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}.project-hero-visual{border:1px solid var(--line-strong);border-radius:var(--r-lg);background:linear-gradient(150deg, var(--surface), #0b100c);overflow:hidden;box-shadow:0 32px 80px #0000005c}.visual-bar,.visual-foot{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--dim);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:8px;display:flex}.visual-bar{border-bottom:1px solid var(--line)}.visual-foot{border-top:1px solid var(--line)}.visual-media{background:#0c110d}.visual-media img{width:100%;height:auto;display:block}.visual-media--svg{padding:14px}.visual-media--svg svg{width:100%;height:auto;display:block}.code-panel--flush{border:0;border-radius:0}.project-facts{border-top:1px solid var(--line);z-index:2;grid-template-columns:repeat(4,1fr);gap:18px 24px;margin-top:clamp(30px,4vw,46px);padding-top:18px;display:grid;position:relative}.project-facts dt{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--dim);margin-bottom:5px;font-size:8px}.project-facts dd{color:var(--muted);font-size:12.5px;line-height:1.55}.detail-section{border-bottom:1px solid var(--line);padding:clamp(52px,7vw,86px) 0}.detail-section:last-of-type{border-bottom:0}.detail-section-head{grid-template-columns:repeat(12,1fr);align-items:end;column-gap:clamp(16px,2.4vw,28px);margin-bottom:32px;display:grid}.detail-section-head .kicker{grid-column:1/-1;margin-bottom:10px}.detail-section-head h2{font-family:var(--sans);letter-spacing:-.045em;color:var(--ink);text-wrap:balance;grid-column:1/8;font-size:clamp(1.8rem,3.2vw,2.7rem);font-weight:500;line-height:1.05}.detail-section-head p{color:var(--muted);grid-column:9/-1;font-size:13.5px;line-height:1.75}.detail-two-col{grid-template-columns:1.02fr .98fr;align-items:start;gap:clamp(28px,5vw,64px);display:grid}.detail-two-col>*{min-width:0}.capability-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.capability-card{border:1px solid var(--line);border-radius:var(--r-md);background:linear-gradient(150deg, var(--surface), #0c110d);padding:22px}.capability-card>span{font-family:var(--mono);letter-spacing:.12em;color:var(--accent);font-size:8px}.capability-card h3{font-family:var(--sans);letter-spacing:-.02em;color:var(--ink);margin:14px 0 7px;font-size:15.5px;font-weight:500}.capability-card p{color:var(--muted);font-size:12.5px;line-height:1.7}.link-list{border-top:1px solid var(--line-strong)}.link-row{border-bottom:1px solid var(--line);transition:color .2s var(--ease);grid-template-columns:118px minmax(0,1fr) auto;align-items:center;gap:18px;padding:15px 0;display:grid}.link-row .link-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--dim);font-size:8px}.link-row .link-value{color:var(--muted);font-size:13px}.link-row .link-arrow{color:var(--accent);transition:transform .2s var(--ease);font-size:14px}.link-row:hover .link-value{color:var(--ink)}.link-row:hover .link-arrow{transform:translate(2px,-2px)}.demo-frame{border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.demo-frame img{width:100%;height:auto;display:block}.demo-caption{border-top:1px solid var(--line);font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--dim);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:8px;display:flex}.product-shot{justify-self:end;max-width:320px}.product-shot img{width:100%;height:auto}.video-note{color:var(--dim);margin-top:10px;font-size:11px;line-height:1.7}.video-note a{color:var(--accent);border-bottom:1px solid #c8f76e59}.video-poster{aspect-ratio:16/9;border:1px solid var(--line-strong);border-radius:var(--r-lg);background:#000;display:block;position:relative;overflow:hidden}.video-poster img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease);display:block}.video-poster:hover img{transform:scale(1.015)}.video-poster:after{content:"";pointer-events:none;background:linear-gradient(#0000000a,#00000094);position:absolute;inset:0}.video-play{z-index:1;place-items:center;display:grid;position:absolute;inset:0}.video-play span{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:76px;height:76px;color:var(--accent);transition:transform .25s var(--ease), background .25s var(--ease);background:#0a0e0b8c;border:1px solid #e9f2e98c;border-radius:50%;place-items:center;padding-left:4px;font-size:22px;display:grid}.video-poster:hover .video-play span{background:#c8f76e24;transform:scale(1.06)}.video-poster-meta{z-index:1;font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:#dbe5dc;font-size:8px;position:absolute;bottom:14px;left:16px}.video-poster-meta b{color:var(--accent);font-weight:400}@media (width<=1120px){.project-hero-grid{grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);gap:36px}.project-hero h1{font-size:clamp(2.4rem,5.4vw,4.4rem)}}@media (width<=920px){.project-hero-grid{grid-template-columns:1fr;align-items:start;gap:34px}.project-hero-visual{max-width:680px}.project-facts{grid-template-columns:1fr 1fr}.detail-section-head h2,.detail-section-head p{grid-column:1/-1}.detail-section-head p{margin-top:14px}.detail-two-col{grid-template-columns:1fr;gap:28px}.capability-grid{grid-template-columns:1fr 1fr}}@media (width<=700px){.project-facts{grid-template-columns:1fr 1fr;gap:14px 18px}.detail-section{padding:52px 0}.capability-grid{grid-template-columns:1fr}.product-shot{justify-self:start;max-width:100%}.link-row{grid-template-columns:90px minmax(0,1fr) auto;gap:12px}}@media (width<=460px){.project-facts{grid-template-columns:1fr}.demo-caption{flex-direction:column;align-items:flex-start;gap:6px}.visual-bar,.visual-foot{padding:9px 12px;font-size:7.5px}.link-row{grid-template-columns:1fr auto;gap:6px 12px}.link-row .link-label,.link-row .link-value{grid-column:1}.link-row .link-arrow{grid-area:1/2/span 2}}
