:root{--bg:#0c0d0f;--panel:#15171b;--panel-2:#1a1c21;--panel-hover:#1d2026;--row-hover:#16181c;--cell:#121418;--chip:#23262d;--line:#2b2f37;--line-strong:#3a3f49;--text:#f2f1ec;--text-soft:#c9c8c2;--prose:#dad9d3;--muted:#9a9da5;--focus:#ffd400;--lens:#6c7bff;--lens-soft:#a7b0ff;--rec:#ff5a4e;--tint-wide:#b9c4ff;--tint-main:#e9e6da;--tint-tele:#ffe680;--tint-macro:#bfefd0;--display:"Sora", system-ui, sans-serif;--body:"Inter", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--wrap:1240px;--ease:cubic-bezier(.16,1,.3,1);--ease-io:cubic-bezier(.65,0,.35,1);color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:24px}body{font-family:var(--body);color:var(--text);background:var(--bg);margin:0;line-height:1.5;overflow-x:hidden}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{background:var(--focus);color:var(--bg);z-index:100;border-radius:8px;padding:10px 14px;font-weight:700;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.on-yellow :focus-visible,.on-lens :focus-visible{outline-color:var(--bg)}.display{font-family:var(--display);letter-spacing:-.03em;margin:0;font-weight:800;line-height:1.04}.h2{overflow-wrap:break-word;font-size:clamp(34px,4.4vw,50px)}.mono{font-family:var(--mono)}.eyebrow{font-family:var(--mono);letter-spacing:.02em;color:var(--focus);margin:0 0 10px;font-size:13px;font-weight:500}.hl{color:var(--focus)}.btn{text-align:center;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:54px;padding:0 26px;font-size:16px;font-weight:700;display:inline-flex}.btn-sm{min-height:46px;padding:0 18px;font-size:15px}.btn-yellow{background:var(--focus);color:var(--bg)}.btn-ghost{border:1.5px solid var(--line-strong);font-weight:600}.btn-ink{background:var(--bg);color:var(--focus)}.arrow{transition:transform .3s var(--ease);display:inline-block}a:hover .arrow,.card:hover .arrow{transform:translate(6px)}.pill{transition:background-color .2s,color .2s,transform .2s}.pill:hover{transform:translateY(-2px)}.shutter{transition:transform .15s;position:relative;overflow:hidden}.shutter:after{content:"";opacity:0;pointer-events:none;background:#fff;position:absolute;inset:0}.shutter:hover{transform:translateY(-2px)}.shutter:hover:after{animation:.45s ease-out flash}.card{transition:transform .45s var(--ease);position:relative}.card:hover{transform:translateY(-6px)}.fbox{pointer-events:none;opacity:0;position:absolute;inset:-8px}.fbox i{border-color:var(--focus);border-style:solid;width:18px;height:18px;position:absolute}.fbox i:first-child{border-width:2px 0 0 2px;top:0;left:0}.fbox i:nth-child(2){border-width:2px 2px 0 0;top:0;right:0}.fbox i:nth-child(3){border-width:0 0 2px 2px;bottom:0;left:0}.fbox i:nth-child(4){border-width:0 2px 2px 0;bottom:0;right:0}.card:hover .fbox,.card:focus-within .fbox{opacity:1;animation:focusIn .35s var(--ease) both}.corner{border:0 solid var(--text);pointer-events:none;width:34px;height:34px;position:absolute}.corner.tl{border-top-width:3px;border-left-width:3px;top:18px;left:18px}.corner.tr{border-top-width:3px;border-right-width:3px;top:18px;right:18px}.corner.bl{border-bottom-width:3px;border-left-width:3px;bottom:18px;left:18px}.corner.br{border-bottom-width:3px;border-right-width:3px;bottom:18px;right:18px}.rec-dot{background:var(--rec);border-radius:999px;width:9px;height:9px;animation:1.2s step-end infinite blink;display:inline-block}.hud{font-family:var(--mono)}.chip{background:var(--focus);color:var(--bg);font-family:var(--mono);letter-spacing:.02em;text-transform:uppercase;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-block}.site-header{z-index:20;position:relative}.site-header .bar{align-items:center;gap:28px;padding-top:22px;padding-bottom:22px;display:flex}.logo{font-family:var(--display);letter-spacing:-.02em;flex:none;align-items:center;gap:10px;font-size:20px;font-weight:800;display:inline-flex}.logo svg{flex:none}.navlinks{gap:4px;margin-left:auto;font-size:15px;font-weight:500;display:flex}.navlinks a{padding:10px 14px;transition:color .2s}.navlinks a:hover,.navlinks a[aria-current]{color:var(--focus)}.navcta{flex:none;min-height:48px;padding:0 22px;font-size:15px}.menubtn{background:var(--focus);width:50px;height:50px;color:var(--bg);cursor:pointer;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;display:none}.menubtn .i-close,.site-header[data-open] .menubtn .i-open{display:none}.site-header[data-open] .menubtn .i-close{display:block}.sheet{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:10px;display:none;position:absolute;top:100%;left:16px;right:16px;box-shadow:0 40px 80px -30px #000c}.sheet a{font-family:var(--display);border-radius:14px;justify-content:space-between;padding:16px 18px;font-size:22px;font-weight:700;display:flex}.sheet a span{color:var(--focus)}.sheet a:not(.sheetcta){transition:background-color .2s}.sheet a:not(.sheetcta):hover,.sheet a[aria-current]{background-color:var(--panel-hover)}.sheet .sheetcta{background:var(--focus);color:var(--bg);text-align:center;font-family:var(--body);border-radius:999px;margin-top:8px;padding:18px;font-size:17px;font-weight:700;display:block}@media (width<=900px){.navlinks,.navcta{display:none!important}.menubtn{margin-left:auto;display:inline-flex}.site-header[data-open] .sheet{animation:sheetIn .35s var(--ease) both;display:block}.site-header[data-open] .sheet a{animation:linkIn .4s var(--ease) both}.site-header[data-open] .sheet a:nth-child(2){animation-delay:40ms}.site-header[data-open] .sheet a:nth-child(3){animation-delay:80ms}.site-header[data-open] .sheet a:nth-child(4){animation-delay:.12s}.site-header[data-open] .sheet a:nth-child(5){animation-delay:.16s}}.site-footer{border-top:1px solid var(--line)}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:32px;padding-top:48px;padding-bottom:56px;display:flex}.footer-brand{max-width:420px}.footer-brand .logo{margin:0 0 12px;font-size:20px}.footer-note{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.footer-note a{color:var(--text-soft);text-underline-offset:3px;text-decoration:underline}.footer-navs{flex-direction:column;gap:4px;display:flex}.footer-navs nav{color:var(--text-soft);flex-wrap:wrap;gap:0 24px;font-size:15px;display:flex}.footer-navs nav a{padding:10px 0;transition:color .2s}.footer-navs nav a:hover{color:var(--focus)}.footer-navs .legal{color:var(--muted);font-size:14px}.footer-navs .legal span{padding:10px 0}.crumbs{font-family:var(--mono);color:var(--muted);flex-wrap:wrap;gap:8px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.crumbs li+li:before{content:"/";margin-right:8px}.crumbs a{transition:color .2s}.crumbs a:hover{color:var(--focus)}.crumbs [aria-current]{color:var(--text)}.frame{color:var(--bg);font-family:var(--mono);text-align:center;border-radius:16px;justify-content:center;align-items:center;padding:12px;font-size:13px;font-weight:700;display:flex;position:relative;overflow:hidden}.frame .corner{border-color:#0c0d0f8c;width:18px;height:18px}.frame .corner.tl{border-top-width:2px;border-left-width:2px;top:10px;left:10px}.frame .corner.tr{border-top-width:2px;border-right-width:2px;top:10px;right:10px}.frame .corner.bl{border-bottom-width:2px;border-left-width:2px;bottom:10px;left:10px}.frame .corner.br{border-bottom-width:2px;border-right-width:2px;bottom:10px;right:10px}.frame img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;margin-bottom:40px;display:flex}.sec-link{min-height:44px;color:var(--focus);align-items:center;gap:8px;font-weight:600;display:inline-flex}.post-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}@media (width<=1000px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.post-grid{grid-template-columns:minmax(0,1fr)}}.pagination{font-family:var(--mono);flex-wrap:wrap;justify-content:center;gap:8px;margin:56px 0 0;padding:0;font-weight:700;list-style:none;display:flex}.pagination a,.pagination span{border:1.5px solid var(--line-strong);border-radius:999px;justify-content:center;align-items:center;min-width:48px;height:48px;padding:0 12px;display:inline-flex}.pagination a:hover{border-color:var(--focus);color:var(--focus)}.pagination [aria-current]{background:var(--focus);border-color:var(--focus);color:var(--bg)}.prose{max-width:70ch;color:var(--prose);overflow-wrap:break-word;font-size:18px;line-height:1.75}.prose>:first-child{margin-top:0}.prose p,.prose ul,.prose ol,.prose blockquote,.prose figure,.prose table{margin:0 0 20px}.prose h2,.prose h3,.prose h4{font-family:var(--display);color:var(--text);letter-spacing:-.02em;line-height:1.15}.prose h2{margin:44px 0 14px;font-size:clamp(26px,3vw,32px);font-weight:800}.prose h3{margin:32px 0 12px;font-size:22px;font-weight:700}.prose h4{margin:28px 0 10px;font-size:18px;font-weight:700}.prose a{color:var(--focus);text-underline-offset:3px;text-decoration:underline}.prose strong{color:var(--text)}.prose li{margin:6px 0}.prose li::marker{color:var(--focus)}.prose blockquote{border-left:3px solid var(--lens);color:var(--text-soft);padding:4px 0 4px 20px}.prose img{border-radius:16px;display:block}.prose figcaption{color:var(--muted);margin-top:8px;font-size:14px}.prose hr{border:0;border-top:1px solid var(--line);margin:40px 0}.prose code{background:var(--chip);font-family:var(--mono);border-radius:6px;padding:2px 6px;font-size:.88em}.prose table{border-collapse:collapse;width:100%;font-size:15px;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 16px}.prose th{background:var(--cell);font-family:var(--mono);color:var(--muted);font-size:13px;font-weight:500}@keyframes spin{to{transform:rotate(360deg)}}@keyframes iris{0%,to{transform:scale(.32)rotate(0)}50%{transform:scale(1)rotate(30deg)}}@keyframes blades{0%,to{transform:rotate(0)}50%{transform:rotate(-28deg)}}@keyframes blink{50%{opacity:.15}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes rise{0%{opacity:0;translate:0 50px}to{opacity:1;translate:none}}@keyframes lift{0%{translate:0 40px}to{translate:none}}@keyframes swap{0%{opacity:0;filter:blur(6px);transform:translateY(14px)}to{opacity:1;filter:none;transform:none}}@keyframes focusIn{0%{opacity:0;transform:scale(1.25)}60%{opacity:1;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes flash{0%{opacity:0}20%{opacity:.85}to{opacity:0}}@keyframes scan{0%{top:0}to{top:100%}}@keyframes sheetIn{0%{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:none}}@keyframes linkIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}@keyframes dial{0%{stroke-dashoffset:302px}}.rise{animation:rise 1s var(--ease) both}.lift-in{animation:lift 1s var(--ease) both;display:inline-block}.swapping{animation:swap .55s var(--ease) both}@supports (animation-timeline:view()){.reveal{animation:linear both rise}body .reveal{animation-timeline:view();animation-range:entry cover 30%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
