@font-face{font-family:Work Sans;src:url(/fonts/worksans-lat.woff2)format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}@font-face{font-family:Work Sans;src:url(/fonts/worksans-ext.woff2)format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;src:url(/fonts/jbmono-lat.woff2)format("woff2");font-weight:100 800;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;src:url(/fonts/jbmono-ext.woff2)format("woff2");font-weight:100 800;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Tektur;src:url(/fonts/tektur-lat.woff2)format("woff2");font-weight:400 900;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}@font-face{font-family:Tektur;src:url(/fonts/tektur-ext.woff2)format("woff2");font-weight:400 900;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg:#0a0e13;--bg2:#070b0f;--panel:#0f1826;--panel2:#15202d;--ink:#e8edf4;--ink2:#c3cdd8;--muted:#8c99a8;--dim:#5e6b7a;--accent:#c8b389;--accent-d:#a6987a;--line:#1c2a3b;--sans:"Work Sans",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;--disp:"Tektur",var(--sans);--pad:clamp(20px,5vw,64px);--max:1120px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:clamp(15px,1.05vw,17px);line-height:1.62}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}.wrap{max-width:var(--max);padding-inline:var(--pad);margin:0 auto}nav{z-index:50;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#070b0fe0;position:sticky;top:0}nav .wrap{align-items:center;gap:24px;height:60px;display:flex}nav .brand{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);white-space:nowrap;font-size:.78rem}nav .sp{flex:1}nav .lnk{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.72rem;transition:color .18s}nav .lnk:hover{color:var(--accent)}nav .lang{font-family:var(--mono);letter-spacing:.12em;border:1px solid var(--accent-d);color:var(--accent);padding:5px 11px;font-size:.72rem;transition:all .18s}nav .lang:hover{background:var(--accent);color:var(--bg2)}@media (width<=640px){nav .lnk.hide-s{display:none}nav .wrap{gap:14px}}.eyebrow{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent-d);margin-bottom:14px;font-size:.7rem;font-weight:500}h1{font-family:var(--disp);letter-spacing:-.01em;font-size:clamp(2.2rem,6vw,3.9rem);font-weight:600;line-height:1.06}.hero h1{text-transform:uppercase}h2{letter-spacing:-.02em;font-size:clamp(1.5rem,3.1vw,2.25rem);font-weight:600;line-height:1.16}h3{letter-spacing:-.01em;font-size:clamp(1.1rem,1.9vw,1.35rem);font-weight:600}h4{color:var(--accent);letter-spacing:.005em;margin-bottom:9px;font-size:.98rem;font-weight:600}*+h4{margin-top:24px}div>h4:first-child,.card>h4:first-child{margin-top:0}p+p{margin-top:14px}.lead{color:#dce6ee;font-size:clamp(1.02rem,1.5vw,1.2rem);line-height:1.6}.rule{background:var(--accent);width:82px;height:1px;margin:20px 0 30px}.muted{color:var(--muted)}ul{list-style:none}ul li{color:var(--ink2);margin-bottom:8px;padding-left:18px;position:relative}ul li:before{content:"";background:var(--accent-d);width:6px;height:1px;position:absolute;top:.62em;left:0}b,strong{color:#f0f6fa;font-weight:600}code{font-family:var(--mono);color:#bcd8f5;font-size:.88em}.hero{padding:clamp(56px,10vw,120px) 0 clamp(40px,6vw,72px);position:relative;overflow:hidden}.hero .bg{opacity:.5;position:absolute;inset:0;mask-image:linear-gradient(#000 12%,#0000 88%)}.hero .bg img{object-fit:cover;width:100%;height:100%}.hero .wrap{position:relative}.hero .lead{max-width:34em;margin-top:26px}.hero .sub{max-width:38em;color:var(--muted);margin-top:14px;font-size:.94rem}section.band{border-top:1px solid var(--line);padding:clamp(44px,6.5vw,84px) 0}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:34px;display:grid}.stat{background:var(--panel);border-top:1px solid var(--accent);text-align:center;padding:20px 16px}.stat .v{font-family:var(--mono);color:var(--accent);letter-spacing:-.02em;font-size:clamp(1.4rem,2.6vw,1.85rem);font-weight:500;line-height:1}.stat .v.o{color:var(--ink)}.stat .k{font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin-top:11px;font-size:.63rem;line-height:1.42}.tags{flex-wrap:wrap;gap:7px;margin-top:8px;display:flex}.tag{font-family:var(--mono);letter-spacing:.02em;background:var(--panel2);color:var(--ink2);padding:6px 10px;font-size:.7rem}.tag.a{border:1px solid var(--accent-d);color:var(--accent);background:0 0}.card{background:var(--panel);border-left:2px solid var(--accent);padding:22px 24px}.meta{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:20px;margin-top:26px;display:grid}.meta .k{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-size:.63rem}.meta .v{color:#e2ebf2;margin-top:5px;font-size:.95rem;font-weight:600}.cols{grid-template-columns:1fr 1fr;gap:clamp(20px,3.4vw,44px);margin-top:26px;display:grid}@media (width<=760px){.cols{grid-template-columns:1fr}}.onecol{max-width:60em;margin-top:26px}figure{background:var(--panel);margin-top:26px;overflow:hidden}figure img{object-fit:cover;width:100%;height:auto}figure.contain img{object-fit:contain;background:#eff3f6}figure.contain-dark img{object-fit:contain;background:#080e15}figure.fig-s{max-width:560px}figure.kod{background:var(--bg2);border:1px solid var(--line);border-left:2px solid var(--accent);padding:18px 20px;overflow-x:auto}figure.kod pre{margin:0}figure.kod code{font-family:var(--mono);color:var(--ink2);white-space:pre;font-size:.8rem;line-height:1.65}figcaption{font-family:var(--mono);color:var(--dim);margin-top:10px;font-size:.68rem;line-height:1.5}.figrow{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(14px,2vw,24px);display:grid}.figrow figure{margin-top:0}.figrow>div{margin-top:26px}.figrow>div figure{margin-top:0}.grid-work{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(14px,2vw,22px);margin-top:38px;display:grid}.wcard{background:var(--panel);border:1px solid #0000;flex-direction:column;transition:border-color .2s,transform .2s;display:flex}.wcard:hover{border-color:var(--accent-d);transform:translateY(-3px)}.wcard .thumb{aspect-ratio:16/9;background:var(--bg2);overflow:hidden}.wcard .thumb img{object-fit:cover;width:100%;height:100%}.wcard .thumb.txt{background:linear-gradient(135deg,var(--panel2),var(--bg2));place-items:center;display:grid}.wcard .thumb.txt span{font-family:var(--mono);color:var(--accent-d);letter-spacing:.05em;font-size:2.6rem}.wcard .body{flex-direction:column;flex:1;padding:20px 22px 24px;display:flex}.wcard .idx{font-family:var(--mono);letter-spacing:.16em;color:var(--accent-d);font-size:.66rem}.wcard h3{margin-top:9px}.wcard .sub{color:var(--muted);flex:1;margin-top:9px;font-size:.87rem}.wcard .go{font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin-top:18px;font-size:.68rem}.btns{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.btn{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--accent-d);color:var(--accent);padding:12px 20px;font-size:.72rem;transition:all .18s}.btn:hover,.btn.solid{background:var(--accent);color:var(--bg2)}.btn.solid:hover{background:var(--accent-d);border-color:var(--accent-d);color:var(--bg2)}.vid{background:#000;margin-top:30px}.vid video{width:100%;height:auto}.contact{grid-template-columns:1.25fr .85fr;align-items:start;gap:clamp(24px,4vw,56px);display:grid}@media (width<=820px){.contact{grid-template-columns:1fr}}.contact .pic{background:var(--panel)}.contact .pic img{object-fit:cover;width:100%;height:auto}footer{border-top:1px solid var(--line);margin-top:10px;padding:34px 0}footer .wrap{font-family:var(--mono);letter-spacing:.08em;color:var(--dim);flex-wrap:wrap;align-items:center;gap:16px;font-size:.68rem;display:flex}footer .sp{flex:1}footer a:hover{color:var(--accent)}.backlink{font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:20px;font-size:.7rem;display:inline-block}.backlink:hover{color:var(--accent)}.prose{max-width:44em}.prose p,.prose ul,.prose ol{color:var(--ink2);margin-top:16px}.prose h2{margin-top:44px;font-size:clamp(1.3rem,2.4vw,1.7rem)}.prose h3{margin-top:32px}.prose h2+p,.prose h3+p{margin-top:12px}.prose ol{padding-left:22px;list-style:decimal}.prose ol li{padding-left:4px}.prose ol li:before{content:none}.prose blockquote{border-left:2px solid var(--accent);color:var(--ink2);margin-top:22px;padding:6px 0 6px 20px}.prose pre{background:var(--bg2);border:1px solid var(--line);margin-top:20px;padding:16px 18px;overflow-x:auto}.prose pre code{color:var(--ink2);font-size:.84rem;line-height:1.6}.prose :not(pre)>code{background:var(--panel2);color:#bcd8f5;padding:2px 6px;font-size:.86em}.prose table{border-collapse:collapse;width:100%;margin-top:22px;font-size:.9rem}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;padding:9px 12px}.prose th{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);font-size:.68rem}.prose img{margin-top:22px}.prose a{color:var(--accent);border-bottom:1px solid var(--accent-d)}.prose a:hover{background:var(--panel2)}h2.sec{border-top:1px solid var(--line);margin-top:56px;padding-top:34px}.posts{background:var(--line);gap:2px;margin-top:34px;display:grid}.post{background:var(--bg);padding:24px 4px;transition:background .18s;display:block}.post:hover{background:var(--panel)}.post .d{font-family:var(--mono);letter-spacing:.12em;color:var(--dim);text-transform:uppercase;font-size:.66rem}.post h3{margin-top:8px}.post p{color:var(--muted);max-width:52em;margin-top:8px;font-size:.92rem}@media (width>=760px){.post{padding-inline:22px}}.sechead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.sechead .more{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:.7rem}.sechead .more:hover{color:var(--ink)}.pagehead{padding:clamp(48px,7vw,90px) 0 0}main{counter-reset:fig}figcaption{counter-increment:fig}figcaption:before{content:"FIG." counter(fig,decimal-leading-zero) " · ";color:var(--accent-d)}.brk{position:relative}.brk:after{content:"";pointer-events:none;--c:var(--accent);background:linear-gradient(var(--c) 0 0) top left/16px 1px, linear-gradient(var(--c) 0 0) top left/1px 16px, linear-gradient(var(--c) 0 0) top right/16px 1px, linear-gradient(var(--c) 0 0) top right/1px 16px, linear-gradient(var(--c) 0 0) bottom left/16px 1px, linear-gradient(var(--c) 0 0) bottom left/1px 16px, linear-gradient(var(--c) 0 0) bottom right/16px 1px, linear-gradient(var(--c) 0 0) bottom right/1px 16px;opacity:.85;background-repeat:no-repeat;position:absolute;inset:10px}.hero .scan{pointer-events:none;background:linear-gradient(#0000,#c8b38906 42%,#c8b38912 50%,#c8b38906 58%,#0000);height:120px;animation:11s linear infinite hud-scan;position:absolute;top:-140px;left:0;right:0}@keyframes hud-scan{to{transform:translateY(1040px)}}.hero canvas.hud{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;mask-image:linear-gradient(#000 12%,#0000 88%)}.ticker{border-block:1px solid var(--line);background:var(--bg2);user-select:none;overflow:hidden}.ticker .tk{width:max-content;animation:30s linear infinite hud-tick;display:flex}.ticker span{white-space:nowrap;font-family:var(--mono);letter-spacing:.22em;color:var(--muted);align-items:center;gap:20px;padding:11px 0 11px 20px;font-size:.66rem;display:flex}.ticker span:after{content:"→";color:var(--accent-d);letter-spacing:0}@keyframes hud-tick{to{transform:translate(-50%)}}.stat{position:relative;overflow:hidden}.stat:after{content:"";width:34%;height:1px;animation:3.8s linear infinite hud-serit;animation-delay:calc(var(--i,0)*.45s);background:linear-gradient(90deg,#0000,#ebddc0,#0000);position:absolute;top:0;left:0}@keyframes hud-serit{0%{transform:translate(-110%)}to{transform:translate(400%)}}.stats .stat:nth-child(2){--i:1}.stats .stat:nth-child(3){--i:2}.stats .stat:nth-child(4){--i:3}.wcard .thumb{position:relative}.wcard .thumb:after{content:"";pointer-events:none;--c:var(--accent);background:linear-gradient(var(--c) 0 0) top left/14px 1px, linear-gradient(var(--c) 0 0) top left/1px 14px, linear-gradient(var(--c) 0 0) top right/14px 1px, linear-gradient(var(--c) 0 0) top right/1px 14px, linear-gradient(var(--c) 0 0) bottom left/14px 1px, linear-gradient(var(--c) 0 0) bottom left/1px 14px, linear-gradient(var(--c) 0 0) bottom right/14px 1px, linear-gradient(var(--c) 0 0) bottom right/1px 14px;opacity:0;background-repeat:no-repeat;transition:opacity .25s,transform .3s cubic-bezier(.2,.9,.3,1.3);position:absolute;inset:8px;transform:scale(1.08)}.wcard:hover .thumb:after{opacity:1;transform:scale(1)}.wcard .thumb:before{content:"⌖";z-index:1;font-family:var(--mono);color:var(--accent);opacity:0;pointer-events:none;font-size:.95rem;transition:opacity .25s .1s;position:absolute;top:9px;right:14px}.wcard:hover .thumb:before{opacity:1;animation:1.1s ease-in-out .2s infinite hud-pulse}@keyframes hud-pulse{50%{opacity:.35}}.wcard .thumb img{transition:transform .5s}.wcard:hover .thumb img{transform:scale(1.04)}.rv{opacity:0;transition:opacity .65s,transform .65s;transition-delay:calc(var(--rvd,0)*70ms);transform:translateY(16px)}.rv.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.hero .scan,.hero canvas.hud{display:none}.ticker .tk{animation:none}.stat:after{opacity:0;animation:none}.rv{opacity:1;transition:none;transform:none}.wcard .thumb img,.wcard .thumb:after{transition:none}.wcard:hover .thumb:before{animation:none}html{scroll-behavior:auto}}
