@keyframes modalIn{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:none}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.footer[data-astro-cid-jo6i4kqk]{flex-direction:column;align-items:center;gap:16px;padding:40px 0 56px;display:flex}.foot-social[data-astro-cid-jo6i4kqk]{align-items:center;gap:22px;display:flex}.sicon[data-astro-cid-jo6i4kqk]{color:var(--t3);cursor:pointer;background:0 0;border:none;padding:4px;transition:color .2s,transform .2s;display:inline-flex}.sicon[data-astro-cid-jo6i4kqk]:hover{color:var(--cyan);transform:translateY(-1px)}.share-ico-done[data-astro-cid-jo6i4kqk]{color:var(--cyan)}.foot-copy[data-astro-cid-jo6i4kqk]{letter-spacing:.04em;color:var(--t3);margin:0;font-size:10.5px}.foot-credit[data-astro-cid-jo6i4kqk]{letter-spacing:.03em;color:var(--t3);opacity:.8;margin:0;font-size:10px}@font-face{font-family:DM Sans;font-style:italic;font-weight:300 800;font-display:swap;src:url(/fonts/dm-sans-300-800-italic-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,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:DM Sans;font-style:italic;font-weight:300 800;font-display:swap;src:url(/fonts/dm-sans-300-800-italic-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/dm-sans-300-800-normal-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,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:DM Sans;font-style:normal;font-weight:300 800;font-display:swap;src:url(/fonts/dm-sans-300-800-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/jetbrains-mono-400-700-normal-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,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;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/jetbrains-mono-400-700-normal-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--cyan:#00d4ff;--cyan-dim:#00d4ff2e;--cyan-glow:#00d4ff14}[data-theme=dark]{--bg:#000;--bg1:#080808;--bg2:#101010;--bg3:#181818;--b1:#1a1a1a;--b2:#282828;--b3:#383838;--t1:#f2f2f2;--t2:#a0a0a0;--t3:gray;--inv:#f2f2f2;--inv-bg:#000;--on-cyan:#000;--shadow:none}[data-theme=light]{--bg:#f0f0f0;--bg1:#fff;--bg2:#e8e8e8;--bg3:#dcdcdc;--b1:#d0d0d0;--b2:#b8b8b8;--b3:#909090;--t1:#0a0a0a;--t2:#2a2a2a;--t3:#606060;--cyan:#0057b8;--cyan-dim:#0057b824;--cyan-glow:#0057b80f;--inv:#0a0a0a;--inv-bg:#fff;--on-cyan:#fff;--shadow:0 1px 3px #00000014, 0 0 0 1px #0000000d}:root{--surf-hollow:transparent;--surf-base:var(--bg1);--surf-raised:var(--bg2);--surf-accent:var(--cyan-glow);--r-technical:0px;--r-micro:4px;--r-control:8px;--r-container:14px;--r-editorial:20px;--r-pill:999px;--voice-editorial-family:"DM Sans", system-ui, sans-serif;--voice-editorial-weight:var(--w-normal);--voice-editorial-lh:var(--lh-loose);--voice-structural-family:"DM Sans", system-ui, sans-serif;--voice-structural-weight:var(--w-black);--voice-structural-lh:var(--lh-tight);--voice-technical-family:"JetBrains Mono", monospace;--voice-technical-weight:var(--w-normal);--voice-technical-tracking:.09em;--voice-accent-family:"JetBrains Mono", monospace;--voice-accent-weight:var(--w-normal);--voice-accent-tracking:.09em;--border-structural:1px solid var(--b1);--border-emphasis:1px solid var(--b2);--border-strong:1px solid var(--b3);--border-provisional:1px dashed var(--b2);--border-active:1px solid var(--cyan);--density-compact-pad:10px;--density-compact-gap:6px;--density-default-pad:18px;--density-default-gap:12px;--density-comfort-pad:28px;--density-comfort-gap:18px;--dur-fast:.18s;--dur-mid:.26s;--dur-slow:.36s;--ease-std:cubic-bezier(.4, 0, .2, 1)}.v-editorial{font-family:var(--voice-editorial-family);font-weight:var(--voice-editorial-weight);line-height:var(--voice-editorial-lh)}.v-structural{font-family:var(--voice-structural-family);font-weight:var(--voice-structural-weight);line-height:var(--voice-structural-lh);letter-spacing:-.02em}.v-technical{font-family:var(--voice-technical-family);font-weight:var(--voice-technical-weight);letter-spacing:var(--voice-technical-tracking);color:var(--t3)}.v-accent{font-family:var(--voice-accent-family);font-weight:var(--voice-accent-weight);letter-spacing:var(--voice-accent-tracking);color:var(--cyan)}.div-rule{background:var(--b1);border:none;width:100%;height:1px}.div-accent{background:linear-gradient(90deg, transparent, var(--cyan-dim), transparent);transform-origin:0;height:1px}.div-label{color:var(--t3);font-family:var(--voice-technical-family);font-size:var(--sz-xs);letter-spacing:var(--voice-technical-tracking);align-items:center;gap:12px;display:flex}.div-label:before,.div-label:after{content:"";background:var(--b1);flex:1;height:1px}:root{--sz-xs:11px;--sz-sm:13px;--sz-base:16px;--sz-md:17px;--sz-lg:22px;--sz-xl:clamp(32px, 6vw, 52px);--sz-2xl:clamp(44px, 10vw, 68px);--w-light:300;--w-normal:400;--w-medium:500;--w-bold:700;--w-black:800;--lh-tight:1.2;--lh-text:1.65;--lh-loose:1.8}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:DM Sans,system-ui,sans-serif;font-size:var(--sz-base);line-height:var(--lh-text);background:var(--bg);color:var(--t1);-webkit-font-smoothing:antialiased;min-height:100dvh;transition:background var(--dur-mid), color var(--dur-mid);overflow-x:hidden}*{z-index:1;position:relative}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;font-family:inherit}::selection{background:var(--t1);color:var(--bg)}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-thumb{background:var(--b3);border-radius:2px}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes spinSlow{to{transform:rotate(360deg)}}@keyframes scanDown{0%{opacity:0;top:0}5%{opacity:.8}90%{opacity:.4}to{opacity:0;top:100%}}@keyframes pipPulse{0%,to{opacity:1}50%{opacity:.2}}@keyframes drawLine{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.mono{font-family:JetBrains Mono,monospace}body:before{content:"";pointer-events:none;z-index:0;position:fixed;inset:0}[data-theme=dark] body:before{background-image:radial-gradient(circle,#ffffff0e 1px,#0000 1px);background-size:30px 30px;mask-image:radial-gradient(80% 80% at 50% 40%,#000 20%,#0000 100%)}[data-theme=light] body:before{background-image:radial-gradient(circle,#00000017 1px,#0000 1px);background-size:30px 30px;mask-image:radial-gradient(80% 80% at 50% 40%,#000 20%,#0000 100%)}.main-narrow{max-width:520px;margin:0 auto;padding:0 24px}.main-mid{max-width:960px;margin:0 auto;padding:0 24px}.main-wide{max-width:1140px;margin:0 auto;padding:0 24px}.card{background:var(--surf-base);border:var(--border-structural);border-radius:var(--r-container);box-shadow:var(--shadow);transition:border-color var(--dur-fast), transform var(--dur-mid) var(--ease-std), box-shadow var(--dur-mid);overflow:hidden}.card:hover{border:var(--border-emphasis);transform:translateY(-2px);box-shadow:0 10px 32px #00000024}.bn{font-family:var(--voice-technical-family);font-size:var(--sz-xs);letter-spacing:var(--voice-technical-tracking);color:var(--t3);flex-shrink:0;width:24px}.blk-title{font-size:var(--sz-md);font-weight:var(--w-bold);color:var(--t1);letter-spacing:-.015em;line-height:var(--lh-tight)}.blk-sub{font-family:var(--voice-technical-family);font-size:var(--sz-xs);letter-spacing:var(--voice-technical-tracking);color:var(--t3);margin-top:4px}.blk-head-l{align-items:center;gap:16px;display:flex}.cyan-rule{background:linear-gradient(90deg, transparent, var(--cyan-dim), transparent);transform-origin:0;height:1px}.row-link{border-bottom:1px solid var(--b1);align-items:center;gap:14px;padding:16px 22px;transition:background .18s;display:flex;overflow:hidden}.row-link:last-child{border-bottom:none}.row-link:hover{background:var(--bg2)}.row-bar{background:var(--cyan);transform-origin:50%;opacity:0;border-radius:1px;width:2px;transition:transform .2s cubic-bezier(.4,0,.2,1),opacity .2s;position:absolute;top:12%;bottom:12%;left:0;transform:scaleY(0)}.row-link:hover .row-bar{opacity:1;transform:scaleY(1)}.arr{color:var(--t3);flex-shrink:0;transition:transform .2s,color .2s}.row-link:hover .arr{color:var(--t1);transform:translate(3px,-3px)}.breadcrumb{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:28px;display:flex}.bc-link{font-family:JetBrains Mono,monospace;font-size:var(--sz-xs);letter-spacing:.1em;color:var(--t3);align-items:center;gap:5px;transition:color .18s;display:flex}.bc-link:hover{color:var(--t1)}.bc-sep{font-family:JetBrains Mono,monospace;font-size:var(--sz-xs);color:var(--t3)}.bc-cur{font-family:JetBrains Mono,monospace;font-size:var(--sz-xs);letter-spacing:.1em;color:var(--t2)}.pf-hero{padding:108px 0 40px;animation:.5s .1s both fadeUp}.pf-title{font-size:var(--sz-xl);font-weight:var(--w-black);letter-spacing:-.03em;line-height:var(--lh-tight);color:var(--t1);margin-bottom:18px}.pf-title-out{-webkit-text-stroke:1.5px var(--t1);color:#0000;display:inline-block}[data-theme=dark] .pf-title-out{filter:drop-shadow(0 0 10px #00d4ff26)}.pf-desc{font-size:var(--sz-base);font-weight:var(--w-normal);color:var(--t2);max-width:580px;line-height:var(--lh-text)}.cta-btn{background:var(--inv);color:var(--inv-bg);font-size:var(--sz-sm);font-weight:var(--w-bold);border-radius:12px;align-items:center;gap:9px;padding:14px 28px;transition:opacity .2s,transform .2s;display:inline-flex}.cta-btn:hover{opacity:.85;transform:translateY(-2px)}.toggle{border:1px solid var(--b2);background:var(--bg2);width:32px;height:32px;color:var(--t2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .18s,color .18s;display:flex}.toggle:hover{border-color:var(--b3);color:var(--t1)}html[data-theme=dark] .ico-sun,html[data-theme=light] .ico-moon{display:none!important}html[data-theme=light] .ico-sun{display:flex!important}.ico-sun{display:none}.nav-burger{border:1px solid var(--b2);background:var(--bg2);border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;width:32px;height:32px;transition:border-color .18s;display:flex}.nav-burger:hover{border-color:var(--b3)}.nb-ln{background:var(--t2);border-radius:1px;width:14px;height:1.5px;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .2s,background .18s}.nav-burger:hover .nb-ln{background:var(--t1)}.nav-burger[aria-expanded=true] .nb-1{transform:translateY(5.5px)rotate(45deg)}.nav-burger[aria-expanded=true] .nb-2{opacity:0}.nav-burger[aria-expanded=true] .nb-3{transform:translateY(-5.5px)rotate(-45deg)}.nav-overlay{z-index:350;background:var(--bg1);backdrop-filter:blur(20px);opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:opacity .35s;display:flex;position:fixed;inset:0;overflow:hidden}.nav-overlay.open{opacity:1;pointer-events:all}.nav-orb{filter:blur(100px);pointer-events:none;background:radial-gradient(circle,#00d4ff1a 0%,#0000 70%);border-radius:50%;width:520px;height:520px;position:absolute;top:-100px;right:-100px}[data-theme=light] .nav-orb{background:radial-gradient(circle,#0057b824 0%,#0000 70%)}.nav-close{z-index:1;border:1px solid var(--b2);background:var(--bg2);width:40px;height:40px;color:var(--t2);cursor:pointer;opacity:0;border-radius:50%;justify-content:center;align-items:center;transition:border-color .18s,color .18s,transform .3s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:20px;right:20px;transform:rotate(-45deg)scale(.7)}.nav-overlay.open .nav-close{opacity:1;transition-delay:.1s;transform:rotate(0)scale(1)}.nav-close:hover{border-color:var(--cyan);color:var(--t1)}.nav-panel{z-index:1;flex-direction:column;align-items:flex-start;gap:clamp(14px,3vw,22px);display:flex}.nav-link{color:var(--t2);opacity:0;align-items:baseline;gap:16px;text-decoration:none;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .4s;display:flex;transform:translateY(16px)}.nav-link-n{color:var(--t3);letter-spacing:.04em;font-size:12px;transition:color .25s}.nav-link-txt{font-family:DM Sans,system-ui,sans-serif;font-size:clamp(28px,6vw,48px);font-weight:var(--w-black);letter-spacing:-.02em;position:relative}.nav-link-txt:after{content:"→";opacity:0;font-size:.6em;transition:opacity .2s,transform .2s;position:absolute;top:50%;left:calc(100% + 14px);transform:translate(-8px,-50%)}.nav-overlay.open .nav-link{opacity:1;transform:none}.nav-overlay.open .nav-link:first-child{transition-delay:50ms}.nav-overlay.open .nav-link:nth-child(2){transition-delay:.1s}.nav-overlay.open .nav-link:nth-child(3){transition-delay:.15s}.nav-overlay.open .nav-link:nth-child(4){transition-delay:.2s}.nav-overlay.open .nav-link:nth-child(5){transition-delay:.25s}.nav-overlay.open .nav-link:nth-child(6){transition-delay:.3s}.nav-link:hover,.nav-link:focus-visible{color:var(--t1)}.nav-link:hover .nav-link-n,.nav-link:focus-visible .nav-link-n{color:var(--cyan)}.nav-link:hover .nav-link-txt:after,.nav-link:focus-visible .nav-link-txt:after{opacity:1;transform:translateY(-50%)}@media (width<=640px){.nav-link-txt:after{display:none}}.lang-switch{border:1px solid var(--b2);background:var(--bg2);border-radius:20px;flex-shrink:0;align-items:center;gap:2px;padding:3px 4px;display:flex}.lang-btn{cursor:pointer;font-family:JetBrains Mono,monospace;font-size:var(--sz-xs);letter-spacing:.06em;color:var(--t3);background:0 0;border:none;border-radius:16px;align-items:center;gap:5px;padding:4px 10px;transition:background .16s,color .16s;display:flex}.lang-btn .flag{font-size:13px;line-height:1}.lang-btn.active{background:var(--bg3);color:var(--t1)}.lang-btn:hover:not(.active){color:var(--t2)}.hdr{z-index:360;background:color-mix(in srgb, var(--bg) 97%, transparent);border-bottom:1px solid var(--b1);transition:background .25s,border-color .25s;position:fixed;top:0;left:0;right:0}.hdr-wrap{max-width:520px;margin:0 auto}.brand{flex-shrink:0;align-items:center;gap:9px;display:flex}.brand-logo{background:var(--t1);flex-shrink:0;width:6px;height:11px;transition:background .2s;animation:1.1s step-end infinite pipPulse;display:block}.brand:hover .brand-logo{background:var(--cyan)}.brand-txt{letter-spacing:.1em;color:var(--t3);text-transform:uppercase;font-size:12px;line-height:1}.brand-sep{color:var(--t3);opacity:.5}.brand:hover .brand-txt{color:var(--t2)}.hdr-controls{flex-shrink:0;align-items:center;gap:9px;display:flex}.live{align-items:center;gap:6px;display:flex}.live .mono{font-size:var(--sz-xs);letter-spacing:.07em;color:var(--t3)}.rib-dot{background:var(--b2);border-radius:50%;flex-shrink:0;width:2px;height:2px}.rib-status{white-space:nowrap;align-items:center;gap:6px;display:flex}.status-led{background:var(--cyan);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:3s ease-in-out .5s infinite pipPulse}[data-theme=light] .status-led{background:var(--cyan)}.rotating-text{transition:opacity .28s,transform .28s;display:inline-block}.rotating-text.fade-out{opacity:0;transform:translateY(-4px)}.hdr-rule{animation:.8s .3s both drawLine}[data-theme=light] .hdr-rule{background:var(--b1)}.hdr-mobile{justify-content:space-between;align-items:center;padding:13px 20px 9px;animation:.4s both fadeUp;display:flex}.ribbon{scrollbar-width:none;align-items:center;gap:9px;padding:0 20px 10px;animation:.4s 50ms both fadeUp;display:flex;overflow-x:auto}.ribbon::-webkit-scrollbar{display:none}.ribbon .mono{font-size:var(--sz-xs);letter-spacing:.1em;color:var(--t3);white-space:nowrap}.rib-status .mono{font-size:var(--sz-xs);letter-spacing:.1em;color:var(--t2)}.hdr-desktop{justify-content:space-between;align-items:center;gap:18px;padding:13px 28px 11px;animation:.4s both fadeUp;display:none}.desk-meta{flex:1;justify-content:center;align-items:center;gap:10px;min-width:0;display:flex;overflow:hidden}.desk-txt{font-size:var(--sz-xs);letter-spacing:.09em;color:var(--t3);white-space:nowrap}.desk-meta .mono{font-size:var(--sz-xs)}.desk-meta .rib-status .mono{color:var(--t2)}@media (width>=640px){.hdr-mobile,.ribbon-mobile{display:none}.hdr-desktop{display:flex}.hdr-wrap{max-width:980px}}.acc-card{padding:0}.acc-trig{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:14px;padding:18px 22px;transition:background .18s;display:flex}.acc-trig:hover{background:var(--bg2)}.chev{color:var(--t3);flex-shrink:0;transition:transform .3s cubic-bezier(.4,0,.2,1),color .18s}.acc-card.open .chev{color:var(--t1);transform:rotate(180deg)}.acc-body{grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.4,0,.2,1);display:grid}.acc-card.open .acc-body{border-top:1px solid var(--b1);grid-template-rows:1fr}.acc-inner{overflow:hidden}.ws-card{justify-content:space-between;align-items:center;gap:14px;padding:18px 22px;display:flex}.ws-card:hover .arr{color:var(--t1);transform:translate(3px,-3px)}.ws-card:hover .blk-title{color:var(--t1)}.ws-card:hover .ws-icon{border-color:var(--b3);color:var(--t1)}.ws-l{flex:1;align-items:center;gap:16px;min-width:0;display:flex}.ws-icon{border:1px solid var(--b1);width:40px;height:40px;color:var(--t2);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .2s,color .2s;display:flex}.pf-rule{transform-origin:0;transition:transform .4s;transform:scaleX(0)}.acc-card.open .pf-rule{transform:scaleX(1)}.pf-row{border-bottom:1px solid var(--b1);opacity:0;transition:background .18s, opacity .24s ease var(--d), transform .24s ease var(--d);flex-direction:column;gap:9px;padding:18px 22px 16px;display:flex;overflow:hidden;transform:translate(-8px)}.acc-card.open .pf-row{opacity:1;transform:none}.pf-row:last-child{border-bottom:none}.pf-row:hover{background:var(--bg2)}.pf-row:hover .pf-row-title{color:var(--t1)}.pf-row:hover .arr{color:var(--t1);transform:translate(3px,-3px)}.pf-top{justify-content:flex-end;align-items:center;display:flex}.pf-row-title{font-size:var(--sz-base);font-weight:var(--w-bold);letter-spacing:-.01em;color:var(--t2);line-height:1.3;transition:color .2s}.pf-desc-sm{font-size:var(--sz-sm);color:var(--t3);line-height:var(--lh-text)}.pf-tags{flex-wrap:wrap;gap:6px;display:flex}.ptag{font-size:var(--sz-xs);letter-spacing:.08em;color:var(--t3);border:1px solid var(--b1);border-radius:4px;padding:3px 9px}.svc-trig-r{flex-shrink:0;align-items:center;gap:10px;display:flex}.cat-btn{font-size:var(--sz-xs);letter-spacing:.09em;color:var(--t2);border:1px solid var(--b2);white-space:nowrap;border-radius:6px;padding:6px 13px;transition:border-color .18s,color .18s,background .18s;display:inline-block}.cat-btn:hover{border-color:var(--t1);color:var(--t1);background:var(--bg3)}.svc-rule{transform-origin:0;transition:transform .4s;transform:scaleX(0)}.acc-card.open .svc-rule{transform:scaleX(1)}.svc-row{opacity:0;transition:background .18s, opacity .24s ease var(--d), transform .24s ease var(--d);transform:translate(-8px)}.acc-card.open .svc-row{opacity:1;transform:none}.svc-row:hover .svc-title{color:var(--t1)}.svc-row:hover .svc-n{color:var(--cyan)}.svc-n{font-size:var(--sz-xs);color:var(--t3);flex-shrink:0;width:22px;transition:color .18s}.svc-body-txt{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.svc-title-row{align-items:center;gap:8px;display:flex}.svc-title{font-size:var(--sz-base);font-weight:var(--w-medium);color:var(--t2);transition:color .18s}.top-badge{letter-spacing:.12em;color:var(--cyan);border:1px solid var(--cyan-dim);border-radius:4px;flex-shrink:0;padding:2px 7px;font-size:10px}.svc-kw{font-size:var(--sz-xs);color:var(--t3);letter-spacing:.05em}.faq-rule{transform-origin:0;transition:transform .4s;transform:scaleX(0)}.acc-card.open .faq-rule{transform:scaleX(1)}.faq-item{border-bottom:1px solid var(--b1);opacity:0;transition:opacity .24s ease var(--d), transform .24s ease var(--d);transform:translate(-8px)}.acc-card.open .faq-item{opacity:1;transform:none}.faq-item:last-child{border-bottom:none}.faq-q{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:flex-start;gap:14px;padding:16px 22px;transition:background .18s;display:flex}.faq-q:hover,.faq-q[aria-expanded=true]{background:var(--bg2)}.faq-q[aria-expanded=true] .faq-chev{color:var(--t1);transform:rotate(180deg)}.faq-q[aria-expanded=true] .faq-q-txt{color:var(--t1)}.faq-n{font-size:var(--sz-xs);color:var(--t3);letter-spacing:.05em;flex-shrink:0;width:24px;padding-top:2px}.faq-q-txt{font-size:var(--sz-base);font-weight:var(--w-medium);color:var(--t2);line-height:var(--lh-tight);flex:1;transition:color .18s}.faq-chev{color:var(--t3);flex-shrink:0;margin-top:2px;transition:transform .28s cubic-bezier(.4,0,.2,1),color .18s}.faq-a-wrap{grid-template-rows:0fr;transition:grid-template-rows .28s cubic-bezier(.4,0,.2,1);display:grid}.faq-item.open .faq-a-wrap{grid-template-rows:1fr}.faq-a-inner{overflow:hidden}.faq-a{font-size:var(--sz-sm);color:var(--t2);line-height:var(--lh-loose);padding:0 22px 18px 60px}.profile{text-align:center;flex-direction:column;align-items:center;gap:22px;padding:100px 20px 6px;animation:.5s .1s both fadeUp;display:flex}.av-outer{cursor:pointer;padding:30px 14px 38px;position:relative}.av-outer:focus-within .hud{border-color:var(--cyan)}.av-wrap{justify-content:center;align-items:center;width:100px;height:100px;display:flex;position:relative}.av-ring{pointer-events:none;border-radius:50%;position:absolute}.av-ring.r1{border:1px solid var(--b2);width:100px;height:100px;top:0;left:0}.av-ring.r2{border:1px dashed var(--b1);width:116px;height:116px;animation:24s linear infinite spinSlow;top:-8px;left:-8px}.hud{pointer-events:none;width:10px;height:10px;transition:border-color .2s;position:absolute}.hud-tl{border-top:1.5px solid var(--t2);border-left:1.5px solid var(--t2);top:-1px;left:-1px}.hud-tr{border-top:1.5px solid var(--t2);border-right:1.5px solid var(--t2);top:-1px;right:-1px}.hud-bl{border-bottom:1.5px solid var(--t2);border-left:1.5px solid var(--t2);bottom:-1px;left:-1px}.hud-br{border-bottom:1.5px solid var(--t2);border-right:1.5px solid var(--t2);bottom:-1px;right:-1px}.av-outer:hover .hud{border-color:var(--cyan)}.scan-wrap{z-index:3;pointer-events:none;border-radius:50%;position:absolute;inset:0;overflow:hidden}.scan{background:linear-gradient(90deg, transparent, var(--cyan), transparent);opacity:0;height:1.5px;animation:4s ease-in-out infinite scanDown;position:absolute;left:0;right:0}[data-theme=light] .scan{background:linear-gradient(90deg, transparent, var(--cyan), transparent)}.av-img{object-fit:cover;background:var(--bg2);border:1px solid var(--b2);filter:grayscale();z-index:2;border-radius:50%;width:92px;height:92px;transition:filter .4s,transform .3s;position:relative}.av-outer:hover .av-img{filter:grayscale(0%);transform:scale(1.04)}.av-dot{z-index:4;background:var(--cyan);border:2px solid var(--bg);border-radius:50%;width:11px;height:11px;position:absolute;bottom:4px;right:4px}.av-tag{font-size:var(--sz-xs);letter-spacing:.11em;color:var(--t3);pointer-events:none;z-index:5;white-space:nowrap;position:absolute}.av-tl{top:8px;left:13px}.av-br{color:var(--t2);bottom:16px;right:13px}.av-hint{font-size:var(--sz-xs);letter-spacing:.13em;color:var(--cyan);opacity:0;pointer-events:none;z-index:6;white-space:nowrap;transition:opacity .22s;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.av-outer:hover .av-hint{opacity:1}.identity{flex-direction:column;align-items:center;gap:8px;display:flex}.name{font-size:var(--sz-2xl);font-weight:var(--w-black);letter-spacing:-.04em;line-height:var(--lh-tight);color:var(--t1)}.name-out{-webkit-text-stroke:1.5px var(--t1);color:#0000;display:inline-block}[data-theme=dark] .name-out{filter:drop-shadow(0 0 10px #00d4ff2e)}.tagline{font-size:var(--sz-sm);font-weight:var(--w-light);color:var(--t3);letter-spacing:.05em;font-style:italic}.sep-line{background:linear-gradient(90deg, transparent, var(--b2), transparent);width:180px;height:1px}.chips{flex-wrap:wrap;justify-content:center;gap:7px;display:flex}.chip{font-size:var(--sz-xs);font-weight:var(--w-medium);letter-spacing:.06em;color:var(--t3);border:1px solid var(--b1);border-radius:999px;padding:6px 16px;transition:border-color .18s,color .18s}.chip:hover{border-color:var(--b3);color:var(--t1)}.chip-hi{border-color:var(--cyan-dim);color:var(--cyan)}.ticker{border-top:1px solid var(--b1);border-bottom:1px solid var(--b1);width:100%;padding:10px 0;overflow:hidden}.ticker-track{width:max-content;animation:30s linear infinite marquee;display:flex}.ticker-track span{font-size:var(--sz-xs);letter-spacing:.13em;color:var(--t3);white-space:nowrap}.modal-overlay{z-index:800;backdrop-filter:blur(6px);opacity:0;pointer-events:none;background:#000000bf;justify-content:center;align-items:flex-end;padding:0 14px 18px;transition:opacity .25s;display:flex;position:fixed;inset:0}[data-theme=light] .modal-overlay{background:#0000008c}.modal-overlay.open{opacity:1;pointer-events:all;animation:.25s overlayIn}@media (width>=520px){.modal-overlay{align-items:center;padding:24px}}.modal{background:var(--bg1);border:1px solid var(--b2);scrollbar-width:thin;scrollbar-color:var(--b2) transparent;border-radius:20px;width:100%;max-width:600px;max-height:88dvh;transition:transform .28s cubic-bezier(.4,0,.2,1);overflow-y:auto;transform:translateY(18px)scale(.97)}.modal-overlay.open .modal{animation:.28s cubic-bezier(.4,0,.2,1) modalIn;transform:none}.m-head{justify-content:space-between;align-items:center;gap:14px;padding:24px 32px 18px;display:flex}.m-head-l{align-items:center;gap:14px;display:flex}.m-av-wrap{flex-shrink:0;position:relative}.m-av{object-fit:cover;border:1px solid var(--b2);filter:grayscale(15%);border-radius:50%;width:50px;height:50px}.m-av-dot{background:var(--cyan);border:2px solid var(--bg1);border-radius:50%;width:10px;height:10px;position:absolute;bottom:1px;right:1px}.m-name{font-size:var(--sz-md);font-weight:var(--w-bold);color:var(--t1);letter-spacing:-.015em}.m-role{font-size:var(--sz-xs);letter-spacing:.09em;color:var(--t3);margin-top:3px}.m-close{border:1px solid var(--b1);background:var(--bg2);width:34px;height:34px;color:var(--t2);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .18s,color .18s;display:flex}.m-close:hover{border-color:var(--b3);color:var(--t1)}.m-rule{animation:.5s .1s both drawLine}.m-body{flex-direction:column;gap:18px;padding:26px 32px;display:flex}.m-meta{font-size:var(--sz-xs);letter-spacing:.12em;align-items:center;gap:11px;display:flex}.m-ref{color:var(--cyan)}.m-loc{color:var(--t3)}.m-greeting{font-size:var(--sz-lg);font-weight:var(--w-bold);color:var(--t1);letter-spacing:-.015em}.m-greeting strong{font-weight:var(--w-black)}.m-text{font-size:var(--sz-base);color:var(--t2);line-height:var(--lh-loose)}.m-skills{border-top:1px solid var(--b1);grid-template-columns:1fr;gap:14px;padding-top:18px;display:grid}.m-skill-col{flex-direction:column;gap:5px;display:flex}.m-skill-label{font-size:var(--sz-xs);letter-spacing:.12em;color:var(--t3)}.m-skill-val{font-size:var(--sz-base);font-weight:var(--w-medium);color:var(--t2);line-height:1.45}.m-foot{border-top:1px solid var(--b1);align-items:center;gap:14px;padding:20px 32px 26px;display:flex}.m-cta{background:var(--inv);color:var(--inv-bg);font-size:var(--sz-sm);font-weight:var(--w-bold);border-radius:10px;flex-shrink:0;align-items:center;gap:8px;padding:13px 24px;transition:opacity .18s,transform .18s;display:inline-flex}.m-cta:hover{opacity:.85;transform:translateY(-1px)}.m-cta-sec{font-size:var(--sz-sm);font-weight:var(--w-medium);color:var(--t3);transition:color .18s}.m-cta-sec:hover{color:var(--t1)}@media (width<=640px){.m-head-l{display:none}.m-head{justify-content:flex-end;padding:18px 20px 14px}.m-body{gap:14px;padding:18px 20px}.m-greeting{font-size:var(--sz-md)}.m-text,.m-skill-val{font-size:var(--sz-sm)}.m-foot{padding:16px 20px 20px}}.chat-widget{z-index:500;position:fixed;bottom:24px;right:20px}@media (width>=560px){.chat-widget{right:max(20px,50vw - 240px)}}@media (width>=980px){.chat-widget{right:28px}}.chat-btn{background:var(--inv);width:52px;height:52px;color:var(--inv-bg);z-index:2;border:none;border-radius:14px;justify-content:center;align-items:center;transition:transform .22s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;bottom:0;right:0;box-shadow:0 4px 22px #00000047}.chat-btn:hover{transform:scale(1.07)}.cb-ico{transition:opacity .2s,transform .2s;position:absolute}.cb-close{opacity:0;transform:rotate(-90deg)scale(.7)}.chat-widget.open .cb-open{opacity:0;transform:rotate(90deg)scale(.7)}.chat-widget.open .cb-close{opacity:1;transform:none}.cb-ring{border:1px solid var(--inv);pointer-events:none;border-radius:16px;animation:3s ease-in-out infinite pipPulse;position:absolute}.cb-ring.r1{inset:-5px}.cb-ring.r2{opacity:.4;animation-delay:1.2s;inset:-10px}.chat-widget.open .cb-ring{display:none}.cb-dot{background:var(--cyan);border:2px solid var(--bg);border-radius:50%;width:11px;height:11px;transition:opacity .28s,transform .28s;position:absolute;top:-3px;right:-3px}.chat-widget.open .cb-dot{opacity:0;transform:scale(0)}.chat-panel{background:var(--bg1);border:1px solid var(--b2);opacity:0;transform-origin:100% 100%;pointer-events:none;border-radius:18px;flex-direction:column;width:min(318px,100vw - 36px);transition:opacity .22s cubic-bezier(.4,0,.2,1),transform .22s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;bottom:64px;right:0;overflow:hidden;transform:translateY(10px)scale(.97);box-shadow:0 20px 60px #00000047}.chat-widget.open .chat-panel{opacity:1;pointer-events:all;transform:none}.cp-hdr{background:var(--bg2);justify-content:space-between;align-items:center;padding:15px 17px 13px;display:flex}.cp-hdr-l{align-items:center;gap:11px;display:flex}.cp-av{border:1px solid var(--b2);background:var(--bg3);border-radius:8px;flex-shrink:0;grid-template-columns:1fr 1fr;gap:2px;width:30px;height:30px;padding:7px;display:grid}.av-sq{border-radius:1px}.aq-a{background:var(--t1);opacity:.12}.aq-b{background:var(--t1)}.aq-c{background:var(--t1);opacity:.04}.aq-d{background:var(--t1);opacity:.4}.cp-name{font-size:var(--sz-sm);letter-spacing:.05em;color:var(--t1);font-weight:var(--w-medium)}.cp-status{font-size:var(--sz-xs);letter-spacing:.09em;color:var(--t3);align-items:center;gap:6px;margin-top:2px;display:flex}.cp-led{background:var(--cyan);border-radius:50%;width:6px;height:6px;animation:2.5s ease-in-out infinite pipPulse}.cp-ver{font-size:var(--sz-xs);letter-spacing:.09em;color:var(--t3)}.cp-msgs{scrollbar-width:thin;scrollbar-color:var(--b2) transparent;flex-direction:column;flex:1;gap:13px;max-height:240px;padding:15px 15px 11px;display:flex;overflow-y:auto}.msg-sys{border-bottom:1px dashed var(--b1);flex-direction:column;gap:2px;padding-bottom:11px;display:flex}.msg-sys span{font-size:var(--sz-xs);letter-spacing:.09em;color:var(--t3)}.msg-bot{align-items:flex-start;gap:9px;display:flex}.bot-av{border:1px solid var(--b2);background:var(--bg2);width:28px;height:28px;color:var(--t2);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;display:flex}.msg-bubble{background:var(--bg2);border:1px solid var(--b1);border-radius:12px 12px 12px 4px;flex-direction:column;gap:6px;padding:11px 13px;display:flex}.msg-bubble p{font-size:var(--sz-sm);color:var(--t1);line-height:var(--lh-text)}.msg-bubble strong{font-weight:var(--w-bold)}.msg-ts{font-size:var(--sz-xs);letter-spacing:.09em;color:var(--t3)}.quick-wrap{background:var(--bg2);border:1px solid var(--b1);border-radius:12px;flex-direction:column;gap:6px;padding:12px 13px;display:flex}.qa-title{font-size:var(--sz-xs);letter-spacing:.14em;color:var(--t3);margin-bottom:4px}.qa-row{font-size:var(--sz-sm);font-weight:var(--w-medium);color:var(--t2);border:1px solid var(--b1);background:var(--bg1);border-radius:8px;justify-content:space-between;align-items:center;padding:9px 11px;transition:all .16s;display:flex}.qa-row:hover{border-color:var(--b3);color:var(--t1);background:var(--bg3)}.cp-foot{border-top:1px solid var(--b1);background:var(--bg2);flex-direction:column;gap:7px;padding:11px 15px 14px;display:flex}.cp-inp-row{gap:7px;display:flex}.cp-inp{background:var(--bg1);border:1px solid var(--b2);font-size:var(--sz-sm);color:var(--t3);cursor:not-allowed;border-radius:8px;outline:none;flex:1;padding:9px 13px}.cp-inp::placeholder{color:var(--t3)}.cp-send{background:var(--bg1);border:1px solid var(--b2);width:38px;height:38px;color:var(--t3);cursor:not-allowed;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.cp-note{font-size:var(--sz-xs);letter-spacing:.1em;color:var(--t3);text-align:center}.footer{flex-direction:column;align-items:center;gap:20px;padding:28px 20px 88px;animation:.5s .5s both fadeUp;display:flex}.foot-sep{align-items:center;gap:12px;width:100%;display:flex}.sep-line{background:var(--b1);flex:1;height:1px}.sep-label{font-size:var(--sz-xs);letter-spacing:.16em;color:var(--t3);white-space:nowrap}.contacts{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.cpill{border:1px solid var(--b2);background:var(--bg1);font-size:var(--sz-sm);font-weight:var(--w-medium);color:var(--t2);border-radius:10px;align-items:center;gap:8px;padding:11px 18px;transition:all .2s;display:inline-flex}.cpill:hover{border-color:var(--t1);color:var(--t1);transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}.share-btn{border:1px solid var(--b2);background:var(--bg1);color:var(--t2);font-size:var(--sz-base);font-weight:var(--w-bold);border-radius:10px;align-items:center;gap:10px;padding:14px 30px;transition:all .2s;display:inline-flex}.share-btn:hover{background:var(--inv);color:var(--inv-bg);border-color:var(--inv);transform:translateY(-2px)}.foot-copy{font-size:var(--sz-xs);letter-spacing:.09em;color:var(--t3);text-align:center}.pf-hub-main{width:100%;max-width:100%;padding:0;overflow-x:hidden}.pf-hub-wrap{max-width:960px;margin:0 auto;padding:0 20px}.pf-hub-hero{background:linear-gradient(160deg, var(--bg1) 0%, var(--bg2) 40%, color-mix(in srgb, var(--cyan) 8%, var(--bg2)) 100%);position:relative;overflow:hidden}.pf-hub-hero__bg{background-image:radial-gradient(circle at 1px 1px, var(--b2) .7px, transparent 0);opacity:.45;background-size:28px 28px;position:absolute;inset:0;mask-image:linear-gradient(160deg,#000000b3 0%,#0000 65%)}[data-theme=dark] .pf-hub-hero{background:linear-gradient(160deg, var(--bg) 0%, var(--bg1) 50%, color-mix(in srgb, var(--cyan) 6%, var(--bg2)) 100%)}[data-theme=dark] .pf-hub-hero__bg{background-image:radial-gradient(circle at 1px 1px, var(--cyan) .7px, transparent 0);opacity:.1}.pf-hub-hero__inner{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:120px 20px 72px;display:flex;position:relative}.pf-hub-bc{justify-content:center;margin-bottom:8px;display:flex}.pf-hub-h1{color:var(--t1);letter-spacing:-.03em;font-size:clamp(28px,6vw,48px);font-weight:800;line-height:1.15;animation:.5s .1s both fadeUp}.pf-hub-sub{letter-spacing:.06em;color:var(--t3);font-size:15px;animation:.5s .3s both fadeUp}.pf-hub-cards{border-top:1px solid var(--b1);background:var(--bg1);padding:44px 0 56px;scroll-margin-top:20px}.hub-grid{grid-template-columns:repeat(3,1fr);gap:14px;animation:.5s .2s both fadeUp;display:grid}@media (width<=768px){.hub-grid{grid-template-columns:1fr}}.hub-card{border:1px solid var(--b1);background:var(--bg1);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:0;padding:28px 28px 22px;transition:border-color .22s,transform .28s cubic-bezier(.4,0,.2,1),box-shadow .28s;display:flex;overflow:hidden}.hub-card:hover{border-color:var(--b2);transform:translateY(-4px);box-shadow:0 20px 60px #0000002e}.hub-card:hover .hc-arr{color:var(--t1);transform:translate(3px,-3px)}.hub-card:hover .hc-bar{opacity:1;transform:scaleX(1)}.hc-num{font-size:var(--sz-xs);color:var(--t3);margin-bottom:22px}.hc-body{flex-direction:column;flex:1;gap:13px;display:flex}.hc-icon{border:1px solid var(--b1);background:var(--bg2);width:52px;height:52px;color:var(--t2);border-radius:12px;justify-content:center;align-items:center;margin-bottom:4px;transition:border-color .2s,color .2s;display:flex}.hub-card:hover .hc-icon{border-color:var(--cyan-dim);color:var(--cyan)}.hc-title{font-size:clamp(20px,3vw,26px);font-weight:var(--w-bold);color:var(--t1);letter-spacing:-.02em;line-height:var(--lh-tight)}.hc-desc{font-size:var(--sz-sm);color:var(--t2);line-height:var(--lh-text)}.hc-tags{flex-wrap:wrap;gap:5px;display:flex}.htag{font-size:var(--sz-xs);letter-spacing:.09em;color:var(--t3);border:1px solid var(--b1);border-radius:4px;padding:3px 8px}.hc-foot{border-top:1px solid var(--b1);justify-content:space-between;align-items:center;margin-top:4px;padding-top:20px;display:flex}.hc-count{font-size:var(--sz-xs);letter-spacing:.07em;color:var(--t3)}.hc-arr{color:var(--t3);transition:transform .2s,color .2s}.hc-bar{background:linear-gradient(90deg, var(--cyan), transparent);transform-origin:0;opacity:0;height:2px;transition:transform .32s,opacity .22s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.proj-hero{flex-direction:column;gap:12px;padding:108px 0 36px;animation:.5s .1s both fadeUp;display:flex}.hero-top{flex-direction:column;gap:14px;display:flex}.hero-meta{align-items:center;gap:9px;display:flex}.hero-meta .mono{font-size:var(--sz-xs);letter-spacing:.1em;color:var(--t3)}.hero-sep{opacity:.4}.hero-title{font-size:var(--sz-xl);font-weight:var(--w-black);letter-spacing:-.03em;line-height:var(--lh-tight);color:var(--t1)}.hero-excerpt{font-size:var(--sz-base);color:var(--t2);line-height:var(--lh-text);max-width:640px}.hero-tags{flex-wrap:wrap;gap:7px;padding-top:4px;display:flex}.tag-stack{font-size:var(--sz-xs);letter-spacing:.09em;color:var(--t3);border:1px solid var(--b1);border-radius:4px;padding:3px 10px}[data-theme=dark] .tag-stack,[data-theme=light] .tag-stack{color:var(--cyan);border-color:var(--cyan-dim)}.tag-svc{font-size:var(--sz-xs);letter-spacing:.09em;color:var(--t2);border:1px solid var(--b2);border-radius:4px;padding:3px 10px}.hero-url{font-size:var(--sz-sm);letter-spacing:.07em;color:var(--t3);margin-top:8px;transition:color .18s;display:inline-block}.hero-url:hover{color:var(--t1)}.hero-img-wrap{border:1px solid var(--b1);border-radius:16px;height:clamp(240px,44vw,520px);margin-bottom:52px;animation:.5s .2s both fadeUp;overflow:hidden}.hero-img{object-fit:cover;filter:grayscale(12%);width:100%;height:100%}.hero-note{border:1px solid var(--b1);background:var(--bg1);border-radius:10px;align-items:flex-start;gap:9px;width:fit-content;margin-top:9px;padding:12px 16px;display:flex}.hero-note svg{color:var(--t3);flex-shrink:0;margin-top:1px}.hero-note span{font-size:var(--sz-sm);color:var(--t3);line-height:var(--lh-text)}.hero-stats{flex-wrap:wrap;align-items:center;gap:28px;display:flex}.hstat{flex-direction:column;gap:3px;display:flex}.hstat-n{font-size:var(--sz-lg);font-weight:var(--w-black);color:var(--t1);letter-spacing:-.02em}.hstat-l{font-size:var(--sz-xs);letter-spacing:.13em;color:var(--t3)}.hstat-sep{background:var(--b2);width:1px;height:28px}.filters{border-bottom:1px solid var(--b1);flex-wrap:wrap;gap:7px;margin-bottom:12px;padding-bottom:12px;animation:.5s .15s both fadeUp;display:flex}.svc-filters{flex-wrap:wrap;gap:7px;padding-bottom:36px;animation:.5s .2s both fadeUp;display:flex}.filter-btn{font-size:var(--sz-xs);letter-spacing:.09em;border:1px solid var(--b1);background:var(--bg1);color:var(--t3);cursor:pointer;border-radius:6px;padding:7px 14px;transition:all .18s}.filter-btn:hover,.filter-btn.active{border-color:var(--t1);color:var(--t1);background:var(--bg2)}[data-theme=dark] .filter-btn.active{border-color:var(--cyan-dim);color:var(--cyan);background:var(--cyan-glow)}[data-theme=light] .filter-btn.active{border-color:var(--cyan);color:var(--cyan);background:var(--cyan-glow)}.svc-btn{font-size:var(--sz-xs);letter-spacing:.09em;color:var(--t3);border:1px dashed var(--b1);cursor:pointer;background:0 0;border-radius:6px;padding:7px 14px;transition:all .18s}.svc-btn:hover,.svc-btn.active{border-color:var(--b2);color:var(--t2);border-style:solid}.section-label{font-size:var(--sz-xs);letter-spacing:.16em;color:var(--t3);margin-bottom:18px}.count-label{color:var(--t3);margin-left:5px}.featured-section{margin-bottom:52px;animation:.5s .25s both fadeUp}.featured-grid{grid-template-rows:auto auto;grid-template-columns:2fr 1fr;gap:14px;display:grid}@media (width<=768px){.featured-grid{grid-template-columns:1fr}}.feat-card{border:1px solid var(--b1);background:var(--bg1);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;transition:border-color .22s,transform .28s cubic-bezier(.4,0,.2,1),box-shadow .28s;display:flex;overflow:hidden}.feat-card--wide{grid-row:span 2}.feat-card:hover{border-color:var(--b2);transform:translateY(-3px);box-shadow:0 16px 48px #00000029}.feat-card:hover .feat-img{filter:grayscale(0%);transform:scale(1.04)}.feat-card:hover .feat-overlay{opacity:1}.feat-card:hover .feat-title{color:var(--t1)}.feat-card[hidden]{display:none}.feat-img-wrap{position:relative;overflow:hidden}.feat-card--wide .feat-img-wrap{height:320px}.feat-card:not(.feat-card--wide) .feat-img-wrap{height:170px}@media (width<=768px){.feat-img-wrap{height:220px!important}}.feat-img{object-fit:cover;filter:grayscale(18%);width:100%;height:100%;transition:transform .42s,filter .28s}.feat-overlay{opacity:0;background:#00000080;justify-content:flex-end;align-items:flex-end;padding:16px;transition:opacity .28s;display:flex;position:absolute;inset:0}.feat-view{font-size:var(--sz-sm);letter-spacing:.09em;color:#fff}.feat-body{flex-direction:column;flex:1;gap:9px;padding:20px 22px;display:flex}.feat-meta{justify-content:space-between;align-items:center;display:flex}.feat-year{font-size:var(--sz-xs);letter-spacing:.1em;color:var(--t3)}.feat-stacks{flex-wrap:wrap;gap:5px;display:flex}.feat-title{font-size:clamp(16px,2.5vw,22px);font-weight:var(--w-bold);color:var(--t2);letter-spacing:-.02em;line-height:var(--lh-tight);transition:color .2s}.feat-excerpt{font-size:var(--sz-sm);color:var(--t2);line-height:var(--lh-text)}.feat-svcs{border-top:1px solid var(--b1);flex-wrap:wrap;gap:5px;margin-top:auto;padding-top:10px;display:flex}.ftag{font-size:var(--sz-xs);letter-spacing:.09em;color:var(--t3);border:1px solid var(--b1);border-radius:4px;padding:3px 8px}[data-theme=dark] .ftag{color:#00d4ff66;border-color:var(--cyan-dim)}.svctag{font-size:var(--sz-xs);letter-spacing:.08em;color:var(--t3);border:1px solid var(--b1);border-radius:4px;padding:2px 8px}.grid-section{margin-bottom:52px;animation:.5s .3s both fadeUp}.proj-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}@media (width<=480px){.proj-grid{grid-template-columns:1fr}}.proj-card{border:1px solid var(--b1);background:var(--bg1);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;transition:border-color .22s,transform .28s cubic-bezier(.4,0,.2,1),box-shadow .28s;display:flex;overflow:hidden}.proj-card:hover{border-color:var(--b2);transform:translateY(-3px);box-shadow:0 12px 36px #00000024}.proj-card:hover .proj-img{filter:grayscale(0%);transform:scale(1.06)}.proj-card:hover .proj-title{color:var(--t1)}.proj-card:hover .proj-arr{color:var(--t1);transform:translate(3px,-3px)}.proj-card[hidden]{display:none}.proj-img-wrap{position:relative;overflow:hidden}.proj-img-wrap--fixed{height:160px}.proj-img{object-fit:cover;filter:grayscale(28%);width:100%;height:100%;transition:transform .38s,filter .28s}.proj-body{flex-direction:column;flex:1;gap:8px;padding:16px 18px 12px;display:flex}.proj-top{justify-content:space-between;align-items:center;display:flex}.proj-year{font-size:var(--sz-xs);letter-spacing:.09em;color:var(--t3)}.proj-industry{font-size:var(--sz-xs);letter-spacing:.07em;color:var(--t3)}.proj-title{font-size:var(--sz-base);font-weight:var(--w-bold);color:var(--t2);letter-spacing:-.01em;line-height:var(--lh-tight);transition:color .18s}.proj-excerpt{font-size:var(--sz-sm);color:var(--t2);line-height:var(--lh-text)}.proj-stacks{flex-wrap:wrap;gap:5px;display:flex}.proj-footer{border-top:1px solid var(--b1);justify-content:space-between;align-items:center;margin-top:auto;padding:11px 18px 15px;display:flex}.proj-svcs{gap:5px;display:flex}.proj-arr{color:var(--t3);flex-shrink:0;transition:transform .18s,color .18s}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:13px;padding:52px 0;display:flex}.empty-state p{font-size:var(--sz-sm);color:var(--t3);letter-spacing:.05em}.reset-btn{font-size:var(--sz-xs);letter-spacing:.1em;color:var(--t2);border:1px solid var(--b2);cursor:pointer;background:0 0;border-radius:6px;padding:9px 18px;transition:all .18s}.reset-btn:hover{border-color:var(--t1);color:var(--t1)}.content-grid{grid-template-columns:1fr 320px;gap:52px;margin-bottom:68px;animation:.5s .25s both fadeUp;display:grid}@media (width<=900px){.content-grid{grid-template-columns:1fr}}.cs-section{border-bottom:1px solid var(--b1);flex-direction:column;gap:16px;margin-bottom:40px;padding-bottom:40px;display:flex}.cs-section:last-child{border-bottom:none;margin-bottom:0}.cs-split{border-bottom:1px solid var(--b1);grid-template-columns:1fr 1fr;gap:28px;margin-bottom:40px;padding-bottom:40px;display:grid}@media (width<=600px){.cs-split{grid-template-columns:1fr}}.cs-col{flex-direction:column;gap:12px;display:flex}.cs-label{font-size:var(--sz-xs);letter-spacing:.16em;color:var(--t3)}.cs-text{font-size:var(--sz-base);color:var(--t2);line-height:var(--lh-loose)}.process-list{flex-direction:column;list-style:none;display:flex}.process-item{border-bottom:1px solid var(--b1);align-items:center;gap:16px;padding:13px 0;display:flex}.process-item:last-child{border-bottom:none}.process-n{font-size:var(--sz-xs);letter-spacing:.09em;color:var(--t3);flex-shrink:0;width:26px}.process-step{font-size:var(--sz-base);font-weight:var(--w-medium);color:var(--t2)}.gallery{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.gallery-item{border:1px solid var(--b1);border-radius:10px;overflow:hidden}.gallery-img{object-fit:cover;filter:grayscale(14%);width:100%;height:180px;transition:filter .28s}.gallery-img:hover{filter:grayscale(0%)}.sidebar{flex-direction:column;gap:16px;display:flex}.sb-block{background:var(--bg1);border:1px solid var(--b1);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:13px;padding:20px;display:flex}.sb-label{font-size:var(--sz-xs);letter-spacing:.16em;color:var(--t3)}.metrics{flex-direction:column;gap:13px;display:flex}.metric{border-bottom:1px solid var(--b1);flex-direction:column;gap:5px;padding-bottom:13px;display:flex}.metric:last-child{border-bottom:none;padding-bottom:0}.metric-top{flex-wrap:wrap;align-items:baseline;gap:9px;display:flex}.metric-val{font-size:var(--sz-lg);font-weight:var(--w-black);color:var(--t1);letter-spacing:-.02em}.metric-delta{font-size:var(--sz-xs);letter-spacing:.07em;color:var(--t3)}.metric-label{font-size:var(--sz-xs);letter-spacing:.09em;color:var(--t3)}.tech-list{flex-wrap:wrap;gap:6px;display:flex}.tech-item{font-size:var(--sz-xs);letter-spacing:.07em;color:var(--t2);border:1px solid var(--b2);border-radius:5px;padding:4px 10px}.info-list{flex-direction:column;display:flex}.info-row{border-bottom:1px solid var(--b1);justify-content:space-between;align-items:flex-start;gap:9px;padding:10px 0;display:flex}.info-row:last-child{border-bottom:none}.info-k{font-size:var(--sz-xs);letter-spacing:.09em;color:var(--t3);flex-shrink:0}.info-v{font-size:var(--sz-sm);font-weight:var(--w-medium);color:var(--t2);text-align:right}.sb-cta{background:var(--bg2);border:1px solid var(--b1);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:12px;padding:20px;display:flex}.sb-cta-txt{font-size:var(--sz-base);font-weight:var(--w-bold);color:var(--t1)}.sb-cta-btn{background:var(--inv);color:var(--inv-bg);font-size:var(--sz-sm);font-weight:var(--w-bold);border-radius:8px;justify-content:center;align-items:center;gap:7px;width:100%;padding:12px 22px;transition:opacity .18s;display:inline-flex}.sb-cta-btn:hover{opacity:.85}.sb-cta-sec{font-size:var(--sz-xs);letter-spacing:.09em;color:var(--t3);transition:color .18s}.sb-cta-sec:hover{color:var(--t1)}.related{border-top:1px solid var(--b1);margin-bottom:52px;padding-top:52px}.related-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.rel-card{border:1px solid var(--b1);background:var(--bg1);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;transition:border-color .22s,transform .28s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.rel-card:hover{border-color:var(--b2);transform:translateY(-3px)}.rel-card:hover .rel-img{filter:grayscale(0%);transform:scale(1.05)}.rel-card:hover .rel-title{color:var(--t1)}.rel-img-wrap{height:140px;overflow:hidden}.rel-img{object-fit:cover;filter:grayscale(22%);width:100%;height:100%;transition:transform .38s,filter .28s}.rel-body{flex-direction:column;gap:7px;padding:15px 18px;display:flex}.rel-year{font-size:var(--sz-xs);letter-spacing:.09em;color:var(--t3)}.rel-title{font-size:var(--sz-base);font-weight:var(--w-bold);color:var(--t2);letter-spacing:-.01em;transition:color .18s}.rel-stacks{flex-wrap:wrap;gap:5px;display:flex}.agg-stats{border:1px solid var(--b1);box-shadow:var(--shadow);border-radius:16px;flex-wrap:wrap;align-items:stretch;margin-bottom:22px;animation:.5s .15s both fadeUp;display:flex;overflow:hidden}.agg-item{border-right:1px solid var(--b1);flex-direction:column;flex:1;gap:6px;min-width:140px;padding:26px 30px;display:flex}.agg-item:last-child{border-right:none}@media (width<=600px){.agg-item{border-right:none;border-bottom:1px solid var(--b1)}.agg-item:last-child{border-bottom:none}}.agg-n{font-size:clamp(22px,4vw,38px);font-weight:var(--w-black);color:var(--t1);letter-spacing:-.03em}.agg-l{font-size:var(--sz-xs);letter-spacing:.13em;color:var(--t3)}.pf-note{border:1px solid var(--b1);background:var(--bg1);border-radius:10px;align-items:flex-start;gap:9px;margin-bottom:44px;padding:13px 17px;animation:.5s .2s both fadeUp;display:flex}.pf-note svg{color:var(--t3);flex-shrink:0;margin-top:1px}.pf-note span{font-size:var(--sz-sm);color:var(--t3);line-height:var(--lh-text)}.projects-section{flex-direction:column;gap:14px;margin-bottom:36px;animation:.5s .25s both fadeUp;display:flex}.ads-card{background:var(--bg1);border:1px solid var(--b1);box-shadow:var(--shadow);border-radius:16px;transition:border-color .22s;overflow:hidden}.ads-card:hover{border-color:var(--b2)}.ads-card-head{border-bottom:1px solid var(--b1);justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 26px 18px;display:flex}@media (width<=600px){.ads-card-head{flex-direction:column}}.ads-head-l{align-items:flex-start;gap:15px;display:flex}.ads-n{font-size:var(--sz-xs);letter-spacing:.09em;color:var(--t3);flex-shrink:0;width:24px;padding-top:4px}.ads-title{font-size:var(--sz-md);font-weight:var(--w-bold);color:var(--t1);letter-spacing:-.015em;margin-bottom:6px}.ads-meta{font-size:var(--sz-xs);letter-spacing:.09em;color:var(--t3);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.meta-dot{opacity:.4}.ads-activity{align-items:center;gap:7px;display:flex}.active-badge{font-size:var(--sz-xs);letter-spacing:.12em;color:var(--cyan);border:1px solid var(--cyan-dim);border-radius:4px;padding:1px 7px}.ads-platform{text-align:right;flex-direction:column;flex-shrink:0;gap:4px;display:flex}.platform-label{font-size:var(--sz-xs);letter-spacing:.12em;color:var(--t3)}.platform-val{font-size:var(--sz-sm);letter-spacing:.05em;color:var(--t2)}.ads-metrics{border-bottom:1px solid var(--b1);align-items:stretch;display:flex}.ads-metric{border-right:1px solid var(--b1);flex-direction:column;flex:1;gap:5px;padding:20px 26px;display:flex}.ads-metric:last-child{border-right:none}@media (width<=480px){.ads-metrics{flex-direction:column}.ads-metric{border-right:none;border-bottom:1px solid var(--b1)}.ads-metric:last-child{border-bottom:none}}.ads-metric-n{font-size:clamp(18px,4vw,30px);font-weight:var(--w-black);color:var(--t1);letter-spacing:-.03em}.ads-metric-l{font-size:var(--sz-xs);letter-spacing:.13em;color:var(--t3)}.ads-metric-full{font-size:var(--sz-xs);letter-spacing:.05em;color:var(--t3);opacity:.55;margin-top:2px}.ads-footer{flex-direction:column;gap:11px;padding:18px 26px;display:flex}.ads-tags-row{align-items:flex-start;gap:11px;display:flex}.ads-tags-label{font-size:var(--sz-xs);letter-spacing:.1em;color:var(--t3);flex-shrink:0;width:64px;padding-top:3px}.ads-tags{flex-wrap:wrap;gap:6px;display:flex}.atag{font-size:var(--sz-xs);letter-spacing:.08em;color:var(--t3);border:1px solid var(--b1);border-radius:4px;padding:3px 9px}.atag-traffic{border-style:dashed}.ads-notes{background:var(--bg2);border-radius:8px;align-items:flex-start;gap:8px;margin-top:5px;padding:11px 13px;display:flex}.ads-notes svg{color:var(--t3);flex-shrink:0;margin-top:1px}.notes-text{font-size:var(--sz-sm);letter-spacing:.03em;color:var(--t3);line-height:var(--lh-text)}.source-note{border-top:1px solid var(--b1);text-align:center;font-size:var(--sz-xs);letter-spacing:.09em;color:var(--t3);margin-bottom:52px;padding:18px 0}.proj-hd{justify-content:space-between;align-items:flex-start;gap:11px;display:flex}.proj-tagline{font-size:var(--sz-sm);color:var(--t3);margin-top:4px;font-style:italic}.proj-overlay{opacity:0;background:#00000085;justify-content:flex-end;align-items:flex-end;padding:15px;transition:opacity .28s;display:flex;position:absolute;inset:0}.proj-open{font-size:var(--sz-sm);letter-spacing:.09em;color:#fff}.proj-status{font-size:var(--sz-xs);letter-spacing:.09em;color:var(--t2);background:var(--bg1);border:1px solid var(--b2);border-radius:20px;align-items:center;gap:6px;padding:4px 11px;display:flex;position:absolute;top:12px;left:12px}.proj-status--active{border-color:var(--cyan-dim);color:var(--cyan)}.s-dot{background:var(--cyan);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pipPulse}.proj-stack{border-top:1px solid var(--b1);flex-wrap:wrap;gap:5px;margin-top:auto;padding-top:9px;display:flex}.stag{font-size:var(--sz-xs);letter-spacing:.09em;color:var(--t3);border:1px solid var(--b1);border-radius:4px;padding:2px 8px}.proj-card:hover .proj-overlay{opacity:1}.pf-cta{border-top:1px solid var(--b1);text-align:center;flex-direction:column;align-items:center;gap:14px;padding:44px 0 60px;display:flex}.cta-text{font-size:var(--sz-lg);font-weight:var(--w-bold);color:var(--t1);letter-spacing:-.02em}.cta-sub{font-size:var(--sz-sm);color:var(--t3)}a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:4px}.sect{flex-direction:column;gap:12px;padding:10px 0;scroll-margin-top:78px;display:flex}.sect-head{flex-direction:column;gap:4px;padding:14px 2px 2px;display:flex}.sect-head.center{text-align:center;align-items:center}.sect-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);font-size:10px}.hr-eyebrow{align-items:center;gap:10px;display:flex}.hr-eyebrow-n{color:var(--cyan);font-family:JetBrains Mono,monospace;font-size:12px}.hr-eyebrow-txt{letter-spacing:.12em;color:var(--t3);font-family:JetBrains Mono,monospace;font-size:11px}.icon-circle{border:1px solid var(--b2);background:var(--bg1);width:44px;height:44px;color:var(--t2);transition:border-color var(--dur-fast), color var(--dur-fast), background var(--dur-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.icon-circle--lg{width:56px;height:56px}.sect-title{color:var(--t1);letter-spacing:-.01em;margin:0;font-size:18px;font-weight:600}.sect-body{color:var(--t2);max-width:52ch;margin:0;font-size:13.5px;line-height:1.6}.sect-body.center{text-align:center;margin:0 auto}.sect-intro{color:var(--t2);margin:0 2px 2px;font-size:12.5px;line-height:1.55}.sect-aux{color:var(--t2);align-self:flex-start;font-size:11px;text-decoration:none;transition:color .2s}.sect-aux:hover{color:var(--cyan)}.stat-group{flex-wrap:wrap;align-items:stretch;display:flex}.stat-group--separated .stat+.stat{border-left:1px solid var(--b2);margin-left:var(--density-default-gap);padding-left:var(--density-default-gap)}.stat{flex-direction:column;gap:4px;display:flex}.stat--featured .stat__n{font-family:var(--voice-structural-family);font-size:var(--sz-2xl);font-weight:var(--voice-structural-weight);letter-spacing:-.04em;line-height:var(--voice-structural-lh);color:var(--t1)}.stat--default .stat__n{font-family:var(--voice-structural-family);font-size:var(--sz-xl);font-weight:var(--voice-structural-weight);letter-spacing:-.03em;line-height:var(--voice-structural-lh);color:var(--t1)}.stat--inline .stat__n{font-family:var(--voice-structural-family);font-size:var(--sz-lg);font-weight:var(--voice-structural-weight);letter-spacing:-.02em;line-height:var(--voice-structural-lh);color:var(--t1)}.stat__l{font-family:var(--voice-technical-family);font-size:var(--sz-xs);letter-spacing:var(--voice-technical-tracking);color:var(--t3);text-transform:uppercase}.stat__delta{font-family:var(--voice-technical-family);font-size:var(--sz-xs);letter-spacing:var(--voice-technical-tracking);color:var(--t3)}.stat__delta--up{color:var(--cyan)}.stat__delta--down{color:var(--t3)}.stat__n--accent{color:var(--cyan)}.dtag{border-radius:var(--r-micro);font-family:var(--voice-technical-family);font-size:var(--sz-xs);letter-spacing:var(--voice-technical-tracking);white-space:nowrap;align-items:center;padding:2px 8px;line-height:1.6;display:inline-flex}.dtag--solid{border:var(--border-structural);color:var(--t3)}.dtag--provisional{border:var(--border-provisional);color:var(--t3)}.dtag--accent{border:1px solid var(--cyan-dim);background:var(--cyan-glow);color:var(--cyan)}.dtag-group{flex-wrap:wrap;gap:5px;display:flex}.sbadge{border-radius:var(--r-pill);font-family:var(--voice-technical-family);font-size:var(--sz-xs);letter-spacing:var(--voice-technical-tracking);white-space:nowrap;align-items:center;gap:6px;padding:3px 10px;display:inline-flex}.sbadge--active{background:var(--cyan-glow);border:1px solid var(--cyan-dim);color:var(--cyan)}.sbadge--active .sbadge__dot{background:var(--cyan);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2.5s ease-in-out infinite pipPulse}.sbadge--neutral{background:var(--bg2);border:var(--border-structural);color:var(--t2)}.sbadge--archived{border:var(--border-structural);color:var(--t3)}.sbadge--closed{color:#e5484d;background:#e5484d1f;border:1px solid #e5484d59}.alert-block{padding:var(--density-comfort-pad);border-radius:var(--r-control);background:var(--surf-base);border:var(--border-structural);border-left-width:2px;align-items:flex-start;gap:12px;display:flex}.alert-block--info{border-left-color:var(--cyan)}.alert-block--neutral{border-left-color:var(--b3)}.alert-block__body{font-size:var(--sz-sm);line-height:var(--lh-text);color:var(--t2)}.alert-block__title{font-family:var(--voice-technical-family);font-size:var(--sz-xs);letter-spacing:var(--voice-technical-tracking);color:var(--t3);margin-bottom:4px}.timeline{flex-direction:column;display:flex;position:relative}.timeline:before{content:"";background:linear-gradient(to bottom, var(--b2) 85%, transparent 100%);z-index:0;width:1px;position:absolute;top:8px;bottom:0;left:20px}.timeline__entry{padding:var(--density-default-pad) 0;border-bottom:var(--border-structural);grid-template-columns:44px 1fr;gap:0 16px;display:grid}.timeline__entry:last-child{border-bottom:none}.timeline__anchor{z-index:1;flex-direction:column;align-items:center;padding-top:4px;display:flex;position:relative}.timeline__dot{background:var(--b3);flex-shrink:0;width:6px;height:6px}.timeline__dot--active{background:var(--cyan)}.timeline__meta{font-family:var(--voice-technical-family);font-size:var(--sz-xs);letter-spacing:var(--voice-technical-tracking);color:var(--t3);text-align:center;margin-top:6px;line-height:1.4}.timeline__content{flex-direction:column;gap:4px;display:flex}.timeline__role{font-size:var(--sz-base);font-weight:var(--w-bold);color:var(--t1);letter-spacing:-.01em;line-height:var(--lh-tight)}.timeline__org{font-family:var(--voice-technical-family);font-size:var(--sz-xs);letter-spacing:var(--voice-technical-tracking);color:var(--t3)}.timeline__bullets{flex-direction:column;gap:3px;margin-top:6px;list-style:none;display:flex}.timeline__bullets li{font-size:var(--sz-sm);color:var(--t2);line-height:var(--lh-text);padding-left:12px;position:relative}.timeline__bullets li:before{content:"·";color:var(--t3);position:absolute;left:0}.timeline--process .timeline__entry{grid-template-columns:44px 1fr;padding:12px 0}.timeline--process .timeline__meta{font-size:var(--sz-xs);color:var(--t3)}.timeline--process .timeline__role{font-size:var(--sz-base);font-weight:var(--w-normal);color:var(--t2)}.archive{flex-direction:column;display:flex}.archive__row{border-bottom:var(--border-structural);height:48px;transition:background var(--dur-fast);grid-template-columns:48px 1fr auto 20px;align-items:center;gap:0 16px;padding:0 4px;text-decoration:none;display:grid;overflow:hidden}.archive__row:last-child{border-bottom:none}.archive__row:hover{background:var(--bg2)}.archive__row:hover .archive__arr{color:var(--t1);transform:translate(2px,-2px)}.archive__row:hover .archive__title{color:var(--t1)}.archive__year{font-family:var(--voice-technical-family);font-size:var(--sz-xs);letter-spacing:var(--voice-technical-tracking);color:var(--t3);flex-shrink:0}.archive__title{font-size:var(--sz-sm);font-weight:var(--w-medium);color:var(--t2);white-space:nowrap;text-overflow:ellipsis;transition:color var(--dur-fast);overflow:hidden}.archive__stack{font-family:var(--voice-technical-family);font-size:var(--sz-xs);letter-spacing:var(--voice-technical-tracking);color:var(--t3);white-space:nowrap;text-overflow:ellipsis;max-width:140px;overflow:hidden}.archive__arr{color:var(--t3);transition:transform var(--dur-fast), color var(--dur-fast);flex-shrink:0}.archive__header{border-bottom:var(--border-emphasis);grid-template-columns:48px 1fr auto 20px;gap:0 16px;padding:0 4px 8px;display:grid}.archive__header span{font-family:var(--voice-technical-family);font-size:var(--sz-xs);letter-spacing:var(--voice-technical-tracking);color:var(--t3)}.nav-tabs{flex-wrap:wrap;gap:6px;display:flex}.nav-tab{font-family:var(--voice-technical-family);font-size:var(--sz-xs);letter-spacing:var(--voice-technical-tracking);border-radius:var(--r-control);border:var(--border-structural);background:var(--surf-base);color:var(--t3);cursor:pointer;transition:border-color var(--dur-fast), color var(--dur-fast), background var(--dur-fast), font-weight var(--dur-fast);padding:6px 13px}.nav-tab:hover{border:var(--border-emphasis);color:var(--t2)}.nav-tab.active{border-color:var(--cyan-dim);color:var(--cyan);background:var(--cyan-glow);font-weight:var(--w-medium)}[data-theme=light] .nav-tab.active{border-color:var(--cyan);color:var(--cyan);background:var(--cyan-glow)}.nav-tab.active:before{content:"◉ ";vertical-align:middle;font-size:9px}.nav-pills{background:var(--bg2);border-radius:var(--r-pill);align-items:center;gap:2px;padding:3px 4px;display:inline-flex}.nav-pill{font-family:var(--voice-technical-family);font-size:var(--sz-xs);letter-spacing:var(--voice-technical-tracking);border-radius:var(--r-pill);color:var(--t3);cursor:pointer;transition:background var(--dur-fast), color var(--dur-fast), font-weight var(--dur-fast);white-space:nowrap;background:0 0;border:none;padding:4px 12px}.nav-pill:hover:not(.active){color:var(--t2)}.nav-pill.active{background:var(--bg3);color:var(--t1);font-weight:var(--w-medium)}.row-link--disabled{opacity:.4;pointer-events:none;cursor:default}.bc-link{transition:color var(--dur-fast)}.sect-head--major .sect-eyebrow{font-size:var(--sz-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--cyan)}.sect-head--major .sect-title{font-size:var(--sz-lg);font-weight:var(--w-black);letter-spacing:-.025em;color:var(--t1)}.sect-head--major .sect-body{font-size:var(--sz-base);line-height:var(--lh-loose);color:var(--t2);max-width:56ch}.sect-head--minimal{padding:10px 2px 2px}.sect-head--minimal .sect-eyebrow{font-size:var(--sz-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--t3)}.sect-head--inline{flex-direction:row;align-items:baseline;gap:8px;padding:10px 2px 6px}.sect-head--inline .sect-eyebrow{font-size:var(--sz-xs);letter-spacing:.12em;color:var(--t3);text-transform:uppercase;flex-shrink:0}.sect-head--inline .sect-eyebrow:after{content:" ·";color:var(--b3)}.sect-head--inline .sect-title{font-size:var(--sz-md);font-weight:var(--w-bold);color:var(--t1);letter-spacing:-.01em}.bio-block{font-family:var(--voice-editorial-family);font-weight:var(--w-light);font-size:var(--sz-base);line-height:var(--lh-loose);color:var(--t2);max-width:60ch}.bio-block__lead{font-weight:var(--w-bold);color:var(--t1)}.bio-block__tech{font-family:var(--voice-technical-family);letter-spacing:.04em;color:var(--t2);font-size:.9em}.bio-block+.bio-block{margin-top:var(--density-comfort-gap)}.quote-hl{padding:var(--density-comfort-pad) 0 var(--density-comfort-pad) 28px;position:relative}.quote-hl:before{content:"\"";left:0;top:calc(var(--density-comfort-pad) - 4px);font-family:var(--voice-technical-family);color:var(--b3);font-size:32px;line-height:1;font-weight:var(--w-normal);position:absolute}.quote-hl__text{font-family:var(--voice-editorial-family);font-weight:var(--w-light);font-size:var(--sz-lg);line-height:var(--lh-text);color:var(--t1);letter-spacing:-.01em}.quote-hl__source{font-family:var(--voice-technical-family);font-size:var(--sz-xs);letter-spacing:var(--voice-technical-tracking);color:var(--t3);margin-top:12px}.code-block{background:var(--bg3);border-radius:var(--r-technical);border-left:2px solid var(--b3);padding:var(--density-default-pad);scrollbar-width:thin;scrollbar-color:var(--b2) transparent;position:relative;overflow-x:auto}.code-block::-webkit-scrollbar{height:2px}.code-block::-webkit-scrollbar-thumb{background:var(--b2)}.code-block__lang{font-family:var(--voice-technical-family);font-size:var(--sz-xs);letter-spacing:var(--voice-technical-tracking);color:var(--t3);background:var(--bg2);border:var(--border-structural);border-radius:var(--r-micro);padding:1px 7px;position:absolute;top:10px;right:12px}.code-block pre,.code-block code{font-family:var(--voice-technical-family);font-size:var(--sz-sm);line-height:var(--lh-text);color:var(--t2);white-space:pre;margin:0}.empty-state-ds{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:52px 0;display:flex}.empty-state-ds__msg{font-size:var(--sz-base);color:var(--t2);line-height:var(--lh-text)}.empty-state-ds__action{font-family:var(--voice-technical-family);font-size:var(--sz-xs);letter-spacing:var(--voice-technical-tracking);color:var(--t3);transition:color var(--dur-fast);cursor:pointer;background:0 0;border:none;text-decoration:none}.empty-state-ds__action:hover{color:var(--t1)}.signal{font-family:var(--voice-technical-family);font-size:var(--sz-xs);letter-spacing:var(--voice-technical-tracking);border-radius:var(--r-pill);white-space:nowrap;vertical-align:middle;align-items:center;gap:5px;padding:2px 9px;display:inline-flex}.signal--live{background:var(--cyan-glow);border:1px solid var(--cyan-dim);color:var(--cyan)}.signal--live:before{content:"";background:var(--cyan);border-radius:50%;flex-shrink:0;width:5px;height:5px;animation:2.5s ease-in-out infinite pipPulse}.signal--new{background:var(--bg2);border:var(--border-structural);color:var(--t2)}.signal--beta{background:var(--bg2);border:var(--border-provisional);color:var(--t3)}.signal--open{background:var(--bg2);border:var(--border-structural);color:var(--t3)}.stat-list-cv{flex-direction:column;gap:0}.stat-row-cv{border-bottom:var(--border-structural);flex-direction:row;justify-content:space-between;align-items:baseline;gap:8px;padding:10px 0}.stat-row-cv:last-child{border-bottom:none}.stat-row-cv .stat__n{font-size:var(--sz-md);font-weight:var(--w-black);letter-spacing:-.02em;color:var(--t1);font-family:var(--voice-structural-family)}.stat-row-cv .stat__l{font-size:var(--sz-xs);letter-spacing:var(--voice-technical-tracking);color:var(--t3);text-align:right}.proj-badge{z-index:2;position:absolute;top:10px;left:10px}.pf-signal{padding:1px 7px;font-size:10px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important}[class*=-anim],[class*=-reveal]{animation-duration:.01ms!important;animation-delay:0s!important}}
