@font-face{font-family:inter;src:url(../media/inter_var-s.p.0gsaq8ukbf34m.woff2)format("woff2");font-display:swap;font-weight:400 700;font-style:normal}@font-face{font-family:inter Fallback;src:local(Arial);ascent-override:89.79%;descent-override:22.36%;line-gap-override:0.0%;size-adjust:107.89%}._6M2aEq_className{font-family:inter,inter Fallback,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}._6M2aEq_variable{--font-inter:"inter", "inter Fallback", -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif}
@font-face{font-family:jetbrains;src:url(../media/jetbrains_mono_var-s.013tcyr58qp0n.woff2)format("woff2");font-display:swap;font-weight:400 800;font-style:normal}@font-face{font-family:jetbrains Fallback;src:local(Arial);ascent-override:77.57%;descent-override:22.82%;line-gap-override:0.0%;size-adjust:131.49%}._92PWq_className{font-family:jetbrains,jetbrains Fallback,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}._92PWq_variable{--font-jetbrains:"jetbrains", "jetbrains Fallback", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}
:root{--bg:#fff;--bg-elev:#fff;--bg-soft:#f5f5f7;--bg-sunk:#ececf0;--fg:#1d1d1f;--fg-2:#424245;--fg-3:#6e6e73;--line:#00000014;--line-2:#00000024;--accent:#0071e3;--accent-hover:#0077ed;--accent-ink:#fff;--accent-soft:#0071e31a;--glass:#ffffffb8;--ok:#1d8a4e;--bad:#d6302f;--warn:#b25e00;--ok-bg:#eefaf2;--bad-bg:#fdf0f0;--shadow-1:0 1px 2px #0000000a, 0 4px 16px #0000000a;--shadow-2:0 2px 6px #0000000a, 0 18px 48px #00000017;--field-ink:29 29 31;--field-accent:0 113 227;--gray-50:#f9f9fb;--gray-100:var(--bg-soft);--gray-200:#e3e3e8;--gray-300:#d2d2d7;--gray-400:var(--fg-3);--gray-500:#6e6e73;--gray-600:#515154;--gray-700:var(--fg-2);--font-sans:var(--font-inter,Inter), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:var(--font-jetbrains,ui-monospace), ui-monospace, SFMono-Regular, Menlo, monospace;--ease:cubic-bezier(.25, .1, .25, 1);--expo:cubic-bezier(.23, 1, .32, 1);--spring:cubic-bezier(.34, 1.36, .64, 1);--wrap:1120px;--prose:44rem;--nav-h:56px;--radius:22px;--radius-sm:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#000;--bg-elev:#161617;--bg-soft:#1c1c1e;--bg-sunk:#0c0c0d;--fg:#f5f5f7;--fg-2:#d2d2d7;--fg-3:#a1a1a6;--line:#ffffff1a;--line-2:#ffffff2e;--accent:#2997ff;--accent-hover:#47a6ff;--accent-ink:#000;--accent-soft:#2997ff24;--glass:#0000009e;--ok:#30d158;--bad:#ff6961;--warn:#ffb340;--ok-bg:#0e1f14;--bad-bg:#241315;--shadow-1:0 1px 2px #0006, 0 4px 16px #0000004d;--shadow-2:0 2px 6px #0006, 0 18px 48px #00000080;--field-ink:245 245 247;--field-accent:41 151 255;--gray-50:#121214;--gray-200:#2c2c2e;--gray-300:#3a3a3c;--gray-500:#a1a1a6;--gray-600:#c7c7cc;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#000;--bg-elev:#161617;--bg-soft:#1c1c1e;--bg-sunk:#0c0c0d;--fg:#f5f5f7;--fg-2:#d2d2d7;--fg-3:#a1a1a6;--line:#ffffff1a;--line-2:#ffffff2e;--accent:#2997ff;--accent-hover:#47a6ff;--accent-ink:#000;--accent-soft:#2997ff24;--glass:#0000009e;--ok:#30d158;--bad:#ff6961;--warn:#ffb340;--ok-bg:#0e1f14;--bad-bg:#241315;--shadow-1:0 1px 2px #0006, 0 4px 16px #0000004d;--shadow-2:0 2px 6px #0006, 0 18px 48px #00000080;--field-ink:245 245 247;--field-accent:41 151 255;--gray-50:#121214;--gray-200:#2c2c2e;--gray-300:#3a3a3c;--gray-500:#a1a1a6;--gray-600:#c7c7cc;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 20px);background:var(--bg);-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);min-width:320px;min-height:100dvh;color:var(--fg);font-family:var(--font-sans);letter-spacing:-.011em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;transition:background-color .3s var(--ease), color .3s var(--ease);margin:0;font-size:17px;line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}img,svg,canvas{max-width:100%;display:block}button{font:inherit;color:inherit}h1,h2,h3,h4{letter-spacing:-.028em;margin:0;font-weight:700;line-height:1.08}p{margin:0}ul,ol{margin:0;padding:0}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:200;background:var(--fg);color:var(--bg);opacity:0;transition:transform .2s var(--ease), opacity .2s var(--ease);border-radius:999px;padding:10px 16px;font-size:14px;font-weight:600;position:fixed;top:10px;left:10px;transform:translateY(-150%)}.skip:focus-visible{opacity:1;transform:none}html[data-motion] [data-rise]{opacity:0;transition:opacity .8s var(--expo), transform .8s var(--expo);transition-delay:calc(var(--rise,0) * 80ms);transform:translateY(22px)}html[data-motion] [data-rise].is-in,html[data-motion] [data-rise].stagger{opacity:1;transform:none}html[data-motion] [data-rise].stagger>*{opacity:0;transition:opacity .7s var(--expo), transform .7s var(--expo);transform:translateY(18px)}html[data-motion] [data-rise].stagger.is-in>*{opacity:1;transform:none}html[data-motion] [data-rise].stagger.is-in>:nth-child(2){transition-delay:60ms}html[data-motion] [data-rise].stagger.is-in>:nth-child(3){transition-delay:.12s}html[data-motion] [data-rise].stagger.is-in>:nth-child(4){transition-delay:.18s}html[data-motion] [data-rise].stagger.is-in>:nth-child(5){transition-delay:.24s}html[data-motion] [data-rise].stagger.is-in>:nth-child(6){transition-delay:.3s}html[data-motion] [data-rise].stagger.is-in>:nth-child(n+7){transition-delay:.34s}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}[data-rise],[data-rise].stagger>*{opacity:1!important;transform:none!important}}
.wrap{width:min(var(--wrap), calc(100% - 48px));margin-inline:auto}.wrap-prose{width:min(var(--prose), calc(100% - 48px));margin-inline:auto}main{z-index:1;position:relative}.page{animation:page-in .64s var(--expo) backwards}@keyframes page-in{0%{opacity:0;transform:translateY(14px)}}.field{z-index:0;pointer-events:none;width:100%;height:100%;transition:opacity .6s var(--ease);position:fixed;inset:0}.nav{z-index:50;height:var(--nav-h);transition:background-color .3s var(--ease), border-color .3s var(--ease), backdrop-filter .3s var(--ease);background:0 0;border-bottom:1px solid #0000;position:sticky;top:0}.nav.is-scrolled{border-bottom-color:var(--line);background:var(--glass);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px)}.nav-row{align-items:center;gap:18px;height:100%;display:flex}.brand{letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:10px;margin-right:auto;font-size:15px;font-weight:600;display:inline-flex}.brand-mark{background:var(--fg);width:30px;height:30px;color:var(--bg);letter-spacing:-.02em;transition:transform .4s var(--spring);border-radius:9px;place-items:center;font-size:12px;font-weight:700;display:grid}.brand:hover .brand-mark{transform:rotate(-8deg)scale(1.06)}.nav-links{border-radius:999px;align-items:center;gap:2px;padding:3px;display:flex;position:relative}.nav-pill{height:calc(100% - 6px);width:var(--pill-w,0);background:var(--bg-soft);box-shadow:inset 0 0 0 1px var(--line);transform:translateX(var(--pill-x,0));opacity:0;transition:transform .46s var(--expo), width .46s var(--expo), opacity .2s var(--ease);border-radius:999px;position:absolute;top:3px;left:0}.nav-links.has-pill .nav-pill{opacity:1}.nav-link{z-index:1;color:var(--fg-3);transition:color .2s var(--ease);border-radius:999px;padding:7px 13px;font-size:14px;font-weight:500;position:relative}.nav-link:hover,.nav-link.is-active{color:var(--fg)}.nav-ask{border:1px solid var(--line);background:var(--bg-elev);color:var(--fg-2);cursor:pointer;transition:border-color .2s var(--ease), transform .2s var(--ease);border-radius:999px;align-items:center;gap:7px;padding:7px 12px;font-size:13px;display:inline-flex}.nav-ask:hover{border-color:var(--line-2);transform:translateY(-1px)}.nav-ask kbd{border:1px solid var(--line);color:var(--fg-3);font-family:var(--font-mono);border-radius:5px;padding:1px 5px;font-size:10.5px}.nav-menu{cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;width:38px;height:38px;display:none}.nav-menu i{background:var(--fg);width:18px;height:1.5px;transition:transform .3s var(--expo), background-color .2s var(--ease);display:block;position:relative}.nav-menu i:before,.nav-menu i:after{content:"";background:var(--fg);width:18px;height:1.5px;transition:transform .3s var(--expo);position:absolute;left:0}.nav-menu i:before{transform:translateY(-6px)}.nav-menu i:after{transform:translateY(6px)}.nav.is-open .nav-menu i{background:0 0}.nav.is-open .nav-menu i:before{transform:rotate(45deg)}.nav.is-open .nav-menu i:after{transform:rotate(-45deg)}.nav-sheet{inset:var(--nav-h) 0 0;z-index:49;background:var(--bg);padding:18px 24px 40px;display:none;position:fixed}.nav.is-open .nav-sheet{display:block}.nav-sheet a{border-bottom:1px solid var(--line);letter-spacing:-.03em;animation:sheet-in .52s var(--expo) both;padding:14px 0;font-size:28px;font-weight:700;display:block}.nav-sheet a:nth-child(2){animation-delay:40ms}.nav-sheet a:nth-child(3){animation-delay:80ms}.nav-sheet a:nth-child(4){animation-delay:.12s}.nav-sheet a:nth-child(5){animation-delay:.16s}.nav-sheet a.is-active{color:var(--accent)}@keyframes sheet-in{0%{opacity:0;transform:translateY(-10px)}}@media (max-width:820px){.nav-links,.nav-ask{display:none}.nav-menu{display:grid}}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){animation:theme-reveal .62s var(--expo)}@keyframes theme-reveal{0%{clip-path:circle(0 at var(--reveal-x,50%) var(--reveal-y,0))}to{clip-path:circle(var(--reveal-r,150vmax) at var(--reveal-x,50%) var(--reveal-y,0))}}.section{padding:clamp(72px,11vw,136px) 0}.section-tight{padding:clamp(48px,7vw,88px) 0}.eyebrow{color:var(--accent);letter-spacing:-.005em;margin-bottom:14px;font-size:14px;font-weight:600;display:inline-block}.display{letter-spacing:-.045em;font-size:clamp(44px,7.4vw,92px);font-weight:700;line-height:1.02}.headline{letter-spacing:-.038em;font-size:clamp(32px,4.6vw,56px);font-weight:700;line-height:1.06}.title-3{letter-spacing:-.028em;font-size:clamp(22px,2.4vw,28px);font-weight:700;line-height:1.15}.lede{max-width:38rem;color:var(--fg-3);letter-spacing:-.018em;margin-top:20px;font-size:clamp(19px,2vw,22px);line-height:1.45}.muted{color:var(--fg-3)}.section-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(32px,4vw,52px);display:flex}.section-head .lede{margin-top:12px}.btn{letter-spacing:-.012em;white-space:nowrap;cursor:pointer;min-height:46px;transition:background-color .2s var(--ease), border-color .2s var(--ease), transform .3s var(--spring), color .2s var(--ease);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:16px;font-weight:500;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{border-color:var(--line-2);background:var(--bg-elev);color:var(--fg)}.btn-ghost:hover{border-color:var(--fg-3)}.btn-row{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.more-link{color:var(--accent);white-space:nowrap;align-items:center;gap:4px;font-size:17px;font-weight:500;display:inline-flex}.more-link span{transition:transform .3s var(--expo)}.more-link:hover{text-underline-offset:3px;text-decoration:underline}.more-link:hover span{transform:translate(3px)}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);box-shadow:var(--shadow-1);transition:transform .5s var(--expo), box-shadow .5s var(--expo), border-color .3s var(--ease);isolation:isolate;flex-direction:column;padding:28px;display:flex;position:relative;overflow:hidden}.card:before{content:"";z-index:-1;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%), var(--accent-soft), transparent 55%);opacity:0;transition:opacity .4s var(--ease);position:absolute;inset:0}a.card:hover,button.card:hover,.card.is-hover:hover{box-shadow:var(--shadow-2);border-color:var(--line-2);transform:translateY(-4px)}.card:hover:before{opacity:1}.card-kicker{color:var(--fg-3);align-items:center;gap:8px;margin-bottom:14px;font-size:13px;font-weight:500;display:flex}.card h3{letter-spacing:-.028em;font-size:22px;line-height:1.18}.card p{color:var(--fg-3);margin-top:10px;font-size:16px;line-height:1.5}.card-foot{flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:22px;display:flex}.card .more-link{font-size:15px}.grid{gap:20px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:980px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:minmax(0,1fr)}.card{padding:22px}}.tags{flex-wrap:wrap;gap:6px;display:flex}.tag{background:var(--bg-soft);color:var(--fg-2);white-space:nowrap;border-radius:999px;align-items:center;padding:4px 10px;font-size:12.5px;font-weight:500;display:inline-flex}.badge{letter-spacing:.01em;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.badge-live{background:var(--ok-bg);color:var(--ok)}.badge-work{background:var(--accent-soft);color:var(--accent)}.badge-built{background:var(--bg-soft);color:var(--fg-2)}.badge-design{border:1px dashed var(--line-2);color:var(--fg-3)}.live-dot{background:currentColor;border-radius:50%;width:7px;height:7px;position:relative}.live-dot:after{content:"";animation:live 2s var(--ease) infinite;border:1.5px solid;border-radius:50%;position:absolute;inset:-4px}@keyframes live{0%{opacity:.8;transform:scale(.5)}80%,to{opacity:0;transform:scale(1.6)}}.seg{background:var(--bg-soft);scrollbar-width:none;border-radius:12px;max-width:100%;padding:3px;display:inline-flex;position:relative;overflow-x:auto}.seg::-webkit-scrollbar{display:none}.seg-thumb{height:calc(100% - 6px);width:var(--seg-w,0);background:var(--bg-elev);box-shadow:0 1px 3px #0000001a, 0 0 0 .5px var(--line);transform:translateX(var(--seg-x,0));transition:transform .42s var(--expo), width .42s var(--expo);border-radius:9px;position:absolute;top:3px;left:0}.seg button{z-index:1;color:var(--fg-3);white-space:nowrap;cursor:pointer;transition:color .2s var(--ease);background:0 0;border:0;border-radius:9px;padding:7px 16px;font-size:14px;font-weight:500;position:relative}.seg button.is-on{color:var(--fg)}.stats{border:1px solid var(--line);border-radius:var(--radius);background:var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.stat{background:var(--bg-elev);padding:28px 24px}.stat strong{letter-spacing:-.045em;font-variant-numeric:tabular-nums;font-size:clamp(36px,4.4vw,52px);font-weight:700;line-height:1;display:block}.stat span{color:var(--fg-3);margin-top:10px;font-size:14.5px;line-height:1.4;display:block}@media (max-width:760px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{padding:22px 18px}}.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.ticker-move{width:max-content;animation:52s linear infinite ticker;display:flex}.ticker:hover .ticker-move{animation-play-state:paused}.ticker-run{flex:none;gap:40px;padding-right:40px;display:flex}.ticker-run span{color:var(--fg-3);white-space:nowrap;font-size:15px;font-weight:500}@keyframes ticker{to{transform:translate(-50%)}}.footer{z-index:1;border-top:1px solid var(--line);background:var(--bg);color:var(--fg-3);padding:48px 0 56px;font-size:13px;position:relative}.footer-grid{grid-template-columns:1.4fr repeat(3,1fr);gap:28px;display:grid}.footer h4{color:var(--fg);letter-spacing:-.01em;margin-bottom:12px;font-size:13px;font-weight:600}.footer ul{gap:8px;list-style:none;display:grid}.footer a:hover{color:var(--fg);text-underline-offset:3px;text-decoration:underline}.footer-base{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:36px;padding-top:20px;display:flex}@media (max-width:760px){.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>:first-child{grid-column:1/-1}}.toast{left:50%;bottom:calc(28px + env(safe-area-inset-bottom));z-index:120;background:var(--fg);color:var(--bg);box-shadow:var(--shadow-2);opacity:0;pointer-events:none;transition:transform .42s var(--spring), opacity .24s var(--ease);border-radius:999px;padding:11px 18px;font-size:14px;font-weight:500;position:fixed;transform:translate(-50%,16px)}.toast.is-on{opacity:1;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.live-dot:after,.ticker-move,.page{animation:none}.ticker{-webkit-mask-image:none;mask-image:none}}
.hero{min-height:calc(100svh - var(--nav-h));align-items:center;padding:48px 0 96px;display:grid;position:relative}.hero-title{max-width:16ch}.hero-soft{color:var(--fg-3)}.rotator{color:var(--fg-3);flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:26px;font-size:17px;display:flex}.rotator-slot{height:1.5em;color:var(--fg);transition:width .5s var(--expo);vertical-align:bottom;font-weight:600;display:inline-grid;position:relative;overflow:hidden}.rotator-word{white-space:nowrap;animation:word-in .62s var(--expo) both;grid-area:1/1}.rotator-word.is-out{animation:word-out .52s var(--expo) both}@keyframes word-in{0%{opacity:0;transform:translateY(80%)}}@keyframes word-out{to{opacity:0;transform:translateY(-80%)}}.hero-hint{color:var(--fg-3);align-items:center;gap:8px;margin-top:44px;font-size:13px;display:inline-flex}.hero-hint i{width:18px;height:18px;animation:hint 2.6s var(--ease) infinite;border:1.5px solid;border-radius:50%}@keyframes hint{0%,to{opacity:.5;transform:scale(.85)}50%{opacity:1;transform:scale(1.05)}}.scroll-cue{border:1.5px solid var(--line-2);border-radius:999px;width:22px;height:36px;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.scroll-cue:after{content:"";background:var(--fg-3);width:3px;height:7px;animation:cue 1.8s var(--ease) infinite;border-radius:2px;position:absolute;top:7px;left:50%;transform:translate(-50%)}@keyframes cue{0%{opacity:0;transform:translate(-50%)}30%{opacity:1}to{opacity:0;transform:translate(-50%,12px)}}.solid{background:var(--bg);position:relative}.soft{background:var(--bg-soft);position:relative}.do-card{min-height:250px}.do-icon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:12px;place-items:center;margin-bottom:20px;font-size:20px;display:grid}.do-card ul{color:var(--fg-2);gap:6px;margin-top:16px;font-size:15px;list-style:none;display:grid}.do-card li:before{content:"— ";color:var(--fg-3)}.demo-card{min-height:280px}.demo-art{background:var(--bg-soft);border-radius:14px;height:96px;margin:-6px -6px 22px;position:relative;overflow:hidden}.demo-art i{background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute}.demo-art-flow i{animation:2.4s linear infinite art-flow;top:44px}.demo-art-flow i:nth-child(2){animation-delay:.4s}.demo-art-flow i:nth-child(3){background:var(--bad);animation-delay:.8s}.demo-art-flow i:nth-child(4){animation-delay:1.2s}.demo-art-flow i:nth-child(5){background:var(--bad);animation-delay:1.6s}.demo-art-flow i:nth-child(6){animation-delay:2s}@keyframes art-flow{0%{opacity:0;left:-10px}10%{opacity:1}90%{opacity:1}to{opacity:0;left:calc(100% + 10px)}}.demo-art-bars{align-items:flex-end;gap:4px;padding:14px;display:flex}.demo-art-bars b{background:var(--accent);opacity:.8;animation:art-bar 2.2s var(--ease) infinite alternate;border-radius:3px 3px 1px 1px;flex:1}.demo-art-bars b:nth-child(odd){animation-delay:-.6s}.demo-art-bars b:nth-child(3n){animation-delay:-1.2s}.demo-art-bars b:nth-child(4n){animation-delay:-1.6s}@keyframes art-bar{0%{height:14%}to{height:86%}}.demo-art-gauge:before{content:"";border:10px solid var(--bg-sunk);border-top-color:var(--accent);border-right-color:var(--accent);width:128px;height:128px;animation:art-gauge 3s var(--ease) infinite alternate;border-radius:50%;position:absolute;bottom:-52px;left:50%;transform:translate(-50%)rotate(-45deg)}@keyframes art-gauge{to{transform:translate(-50%)rotate(40deg)}}.demo-art-json{color:var(--fg-3);font-family:var(--font-mono);padding:14px 16px;font-size:11px;line-height:1.55}.demo-art-json b{color:var(--accent);font-weight:500}.demo-art-json em{color:var(--ok);font-style:normal}.demo-art-game i{animation:2.6s linear infinite art-fall;top:-10px}.demo-art-game i:first-child{left:18%}.demo-art-game i:nth-child(2){background:var(--ok);animation-delay:.9s;left:42%}.demo-art-game i:nth-child(3){background:var(--bad);animation-delay:1.6s;left:68%}.demo-art-game i:nth-child(4){background:var(--bad);animation-delay:.4s;left:84%}.demo-art-game:after{content:"";background:var(--fg);width:26%;height:5px;animation:art-paddle 2.6s var(--ease) infinite alternate;border-radius:3px;position:absolute;bottom:12px;left:38%}@keyframes art-fall{to{top:100px}}@keyframes art-paddle{0%{left:12%}to{left:62%}}.demo-art-notes{justify-content:center;align-items:center;gap:6px;display:flex}.demo-art-notes span{background:var(--bg-elev);box-shadow:0 0 0 1px var(--line);animation:art-token 2.8s var(--ease) infinite;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600}.demo-art-notes span:nth-child(2){animation-delay:.3s}.demo-art-notes span:nth-child(3){animation-delay:.6s}.demo-art-notes span:nth-child(4){background:var(--accent);color:var(--accent-ink);animation-delay:.9s}@keyframes art-token{0%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.demo-art-lanes{align-content:center;gap:8px;padding:14px 16px;display:grid}.demo-art-lanes span{gap:3px;height:12px;display:flex}.demo-art-lanes b{background:var(--ok);opacity:.75;transform-origin:0;animation:art-lane 3s var(--expo) infinite;border-radius:3px;flex:1}.demo-art-lanes b.is-bad{background:var(--bad)}.demo-art-lanes b:nth-child(2){animation-delay:.2s}.demo-art-lanes b:nth-child(3){animation-delay:.4s}.demo-art-lanes b:nth-child(4){animation-delay:.6s}.demo-art-lanes span:nth-child(2) b{animation-delay:.3s}@keyframes art-lane{0%{opacity:0;transform:scaleX(0)}25%,85%{opacity:.75;transform:scaleX(1)}to{opacity:0}}.demo-art-gate{color:var(--fg-3);font-family:var(--font-mono);grid-template-columns:repeat(3,auto) 1fr;align-items:center;gap:10px;padding:0 16px;font-size:11px;display:grid}.demo-art-gate span{animation:art-check 3.2s var(--ease) infinite}.demo-art-gate span:nth-child(2){animation-delay:.3s}.demo-art-gate span:nth-child(3){animation-delay:.6s}.demo-art-gate b{color:var(--ok)}.demo-art-gate b.is-bad{color:var(--bad)}.demo-art-gate em{background:var(--bad-bg);color:var(--bad);animation:art-check 3.2s var(--ease) infinite .9s;border-radius:999px;justify-self:end;padding:4px 10px;font-style:normal;font-weight:700}@keyframes art-check{0%,8%{opacity:0;transform:translateY(4px)}20%,88%{opacity:1;transform:none}to{opacity:0}}.demo-art-breaker i{animation:2.4s linear infinite art-breaker;top:44px}.demo-art-breaker i:nth-child(2){animation-delay:.48s}.demo-art-breaker i:nth-child(3){animation-delay:.96s}.demo-art-breaker i:nth-child(4){animation-delay:1.44s}.demo-art-breaker i:nth-child(5){animation-delay:1.92s}.demo-art-breaker u{background:var(--fg);transform-origin:0;width:26px;height:3px;animation:art-switch 2.4s var(--ease) infinite alternate;border-radius:2px;position:absolute;top:36px;left:58%}@keyframes art-breaker{0%{opacity:0;left:-10px}10%{opacity:1}55%{opacity:1;background:var(--accent);left:55%}62%{opacity:0;background:var(--fg-3);left:55%}to{opacity:0;left:55%}}@keyframes art-switch{0%{transform:rotate(0)}to{transform:rotate(-35deg)}}.demo-art-graph{justify-content:center;align-items:center;gap:22px;display:flex}.demo-art-graph span{z-index:1;background:var(--bg-elev);box-shadow:0 0 0 1px var(--line-2);border-radius:9px;padding:6px 10px;font-size:11.5px;font-weight:600;position:relative}.demo-art-graph span.is-end{background:var(--fg);color:var(--bg)}.demo-art-graph i{background:var(--accent);animation:art-hop 3.2s var(--ease) infinite;top:20px;left:30%}@keyframes art-hop{0%,12%{left:30%}28%,40%{left:50%}56%,68%{left:30%}84%,to{left:70%}}.demo-art-trace{align-content:center;gap:8px;padding:0 16px;display:grid}.demo-art-trace b{left:var(--l);width:var(--w);background:var(--accent);opacity:.55;border-radius:4px;height:10px;position:relative}.demo-art-trace b.is-hot{background:var(--bad);opacity:.9;animation:1.6s ease-in-out infinite art-glow}.demo-art-trace em{animation:art-scan 3.2s var(--ease) infinite alternate;font-size:22px;font-style:normal;position:absolute;top:30px}@keyframes art-glow{50%{box-shadow:0 0 12px var(--bad)}}@keyframes art-scan{0%{left:10%}to{left:70%}}.demo-art-split{justify-content:center;align-items:center;gap:12px;display:flex}.demo-art-split span{background:var(--accent);width:36px;height:36px;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:14px;font-weight:700;display:grid}.demo-art-split i{background:var(--ok-bg);width:auto;height:auto;color:var(--ok);animation:art-token 2.4s var(--ease) infinite;border-radius:999px;padding:5px 10px;font-size:13px;font-style:normal;font-weight:700;position:static}.demo-art-ring{place-items:center;display:grid}.demo-art-ring:before{content:"";background:conic-gradient(var(--warn) 0 38%, var(--accent) 38% 100%);border-radius:50%;width:74px;height:74px;animation:6s linear infinite art-spin;position:absolute;left:18%;-webkit-mask:radial-gradient(circle,#0000 26px,#000 27px);mask:radial-gradient(circle,#0000 26px,#000 27px)}.demo-art-ring span{letter-spacing:-.03em;margin-left:34%;font-size:18px;font-weight:700}.demo-art-ring small{color:var(--fg-3);font-size:11px;font-weight:500;display:block}@keyframes art-spin{to{transform:rotate(360deg)}}.demo-art-growth b{height:var(--h);background:var(--ok);animation:art-rise 2.6s var(--expo) infinite alternate;transform-origin:bottom}@keyframes art-rise{0%{transform:scaleY(.2)}}.demo-art-timer{place-items:center;display:grid}.demo-art-timer:before{content:"";background:conic-gradient(var(--accent) var(--p,70%), var(--bg-sunk) 0);border-radius:50%;width:70px;height:70px;animation:8s linear infinite reverse art-spin;position:absolute;-webkit-mask:radial-gradient(circle,#0000 29px,#000 30px);mask:radial-gradient(circle,#0000 29px,#000 30px)}.demo-art-timer span{font-family:var(--font-mono);font-size:14px;font-weight:700}.demo-art-pw{place-items:center;padding:0 16px;display:grid}.demo-art-pw span{background:var(--bg-elev);box-shadow:0 0 0 1px var(--line);font-family:var(--font-mono);animation:pw-in 2.4s var(--expo) infinite;border-radius:10px;padding:8px 12px;font-size:12.5px}.demo-art-sql{font-family:var(--font-mono);color:var(--fg-2);align-content:center;gap:4px;padding:0 16px;font-size:11.5px;display:grid}.demo-art-sql b{color:var(--accent);font-weight:600}.demo-art-sql em{color:var(--ok);animation:art-check 3.2s var(--ease) infinite;margin-top:4px;font-style:normal}.demo-art-raft{display:block}.demo-art-raft i{background:var(--bg-elev);width:14px;height:14px;box-shadow:0 0 0 1.5px var(--line-2)}.demo-art-raft i:first-child{top:10px;left:calc(50% - 7px)}.demo-art-raft i:nth-child(2){top:34px;left:calc(50% + 34px)}.demo-art-raft i:nth-child(3){top:70px;left:calc(50% + 20px)}.demo-art-raft i:nth-child(4){top:70px;left:calc(50% - 34px)}.demo-art-raft i:nth-child(5){top:34px;left:calc(50% - 48px)}.demo-art-raft i.is-leader{background:var(--accent);box-shadow:0 0 0 0 var(--accent);animation:1.4s ease-out infinite art-beat}@keyframes art-beat{to{box-shadow:0 0 0 26px #0000}}.demo-art-crdt{align-content:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;display:grid}.demo-art-crdt span{background:var(--bg-elev);box-shadow:0 0 0 1px var(--line);border-radius:8px;padding:5px 10px}.demo-art-crdt b{animation:1s step-end infinite art-caret}.demo-art-crdt b.is-a{color:var(--accent)}.demo-art-crdt b.is-b{color:var(--ok);animation-delay:.5s}@keyframes art-caret{50%{opacity:0}}.demo-art-chat{align-content:center;gap:6px;padding:14px 16px;display:grid}.demo-art-chat b{background:var(--bg-sunk);width:58%;height:12px;animation:art-chat 3s var(--ease) infinite;border-radius:6px}.demo-art-chat b:nth-child(2){background:var(--accent-soft);width:76%;margin-left:auto;animation-delay:.5s}.demo-art-chat b:nth-child(3){width:44%;animation-delay:1s}@keyframes art-chat{0%,to{opacity:.45}50%{opacity:1}}.page-head{padding:clamp(56px,9vw,112px) 0 clamp(32px,5vw,56px)}.page-head .lede{margin-top:18px}.crumb{color:var(--fg-3);transition:color .2s var(--ease);align-items:center;gap:6px;margin-bottom:22px;font-size:14px;display:inline-flex}.crumb:hover{color:var(--accent)}.browse-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:28px;display:flex}.browse-count{color:var(--fg-3);font-variant-numeric:tabular-nums;font-size:14px}.project-card{min-height:290px}.project-card h3{margin-top:2px}.project-card .tags{margin-top:18px}.grid.is-swapping>*{animation:card-in .52s var(--expo) both}.grid.is-swapping>:nth-child(2){animation-delay:40ms}.grid.is-swapping>:nth-child(3){animation-delay:80ms}.grid.is-swapping>:nth-child(4){animation-delay:.12s}.grid.is-swapping>:nth-child(5){animation-delay:.16s}.grid.is-swapping>:nth-child(n+6){animation-delay:.2s}@keyframes card-in{0%{opacity:0;transform:translateY(14px)scale(.985)}}.group-title{align-items:baseline;gap:12px;margin:56px 0 20px;display:flex}.group-title:first-child{margin-top:0}.group-title h2{letter-spacing:-.03em;font-size:24px}.group-title p{color:var(--fg-3);font-size:15px}.detail-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;display:flex}.detail-links{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.detail-body{padding-bottom:40px}.detail-block{border-top:1px solid var(--line);padding:34px 0}.detail-block:first-child{border-top:0;padding-top:0}.detail-block h2{color:var(--fg-3);letter-spacing:0;margin-bottom:14px;font-size:14px;font-weight:600}.detail-block>p{color:var(--fg-2);letter-spacing:-.014em;font-size:19px;line-height:1.55}.points{gap:14px;list-style:none;display:grid}.points li{color:var(--fg-2);padding-left:22px;font-size:17px;line-height:1.55;position:relative}.points li:before{content:"";background:var(--accent);opacity:.8;border-radius:50%;width:7px;height:7px;position:absolute;top:.62em;left:2px}.flow{flex-wrap:wrap;align-items:center;gap:10px 0;list-style:none;display:flex}.flow li{align-items:center;font-size:15px;font-weight:500;display:inline-flex}.flow b{border:1px solid var(--line);background:var(--bg-elev);white-space:nowrap;border-radius:12px;align-items:center;gap:8px;padding:9px 14px;font-weight:500;display:inline-flex}.flow b small{color:var(--accent);font-family:var(--font-mono);font-size:11px;font-weight:500}.flow li+li:before{content:"";background:var(--line-2);transform-origin:0;width:22px;height:1.5px;margin:0 4px;display:block}html[data-motion] .flow[data-rise] li{opacity:0;transition:opacity .5s var(--expo), transform .5s var(--expo);transform:translateY(8px)}html[data-motion] .flow[data-rise] li+li:before{transition:transform .38s var(--expo);transform:scaleX(0)}html[data-motion] .flow[data-rise].is-in li{opacity:1;transform:none}html[data-motion] .flow[data-rise].is-in li+li:before{transform:scaleX(1)}.flow li:nth-child(2),.flow li:nth-child(2):before{transition-delay:.12s!important}.flow li:nth-child(3),.flow li:nth-child(3):before{transition-delay:.24s!important}.flow li:nth-child(4),.flow li:nth-child(4):before{transition-delay:.36s!important}.flow li:nth-child(5),.flow li:nth-child(5):before{transition-delay:.48s!important}.flow li:nth-child(6),.flow li:nth-child(6):before{transition-delay:.6s!important}.callout{border-radius:var(--radius-sm);background:var(--bg-soft);color:var(--fg);padding:22px 24px;font-size:18px;line-height:1.55}.design-note{border:1px dashed var(--line-2);border-radius:var(--radius-sm);color:var(--fg-3);gap:12px;margin-top:8px;padding:16px 18px;font-size:15px;line-height:1.5;display:flex}.pager{grid-template-columns:1fr 1fr;gap:16px;padding:24px 0 96px;display:grid}.pager a{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-elev);transition:border-color .2s var(--ease), transform .4s var(--expo);padding:20px 22px}.pager a:hover{border-color:var(--line-2);transform:translateY(-2px)}.pager small{color:var(--fg-3);font-size:13px;display:block}.pager strong{letter-spacing:-.02em;margin-top:4px;font-size:16px;display:block}.pager .next{text-align:right;grid-column:2}@media (max-width:640px){.pager{grid-template-columns:1fr}.pager .next{grid-column:auto}}.search{flex:260px;max-width:360px;position:relative}.search input{border:1px solid var(--line);background:var(--bg-elev);width:100%;height:42px;color:var(--fg);font:inherit;transition:border-color .2s var(--ease), box-shadow .2s var(--ease);border-radius:12px;outline:none;padding:0 16px 0 40px;font-size:15px}.search input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.search svg{width:16px;height:16px;color:var(--fg-3);position:absolute;top:50%;left:13px;transform:translateY(-50%)}.post-list{border-top:1px solid var(--line);list-style:none}.post-row{border-bottom:1px solid var(--line);transition:background-color .3s var(--ease);grid-template-columns:130px minmax(0,1fr) auto;align-items:baseline;gap:24px;padding:26px 4px;display:grid}.post-row time{color:var(--fg-3);font-variant-numeric:tabular-nums;font-size:14px}.post-row h3{letter-spacing:-.026em;transition:color .2s var(--ease);font-size:21px;line-height:1.25}.post-row p{color:var(--fg-3);margin-top:8px;font-size:16px;line-height:1.5}.post-row .tags{margin-top:12px}.post-row .read{color:var(--fg-3);white-space:nowrap;font-size:14px}.post-row:hover h3{color:var(--accent)}.empty{color:var(--fg-3);text-align:center;padding:48px 0}@media (max-width:720px){.post-row{grid-template-columns:minmax(0,1fr);gap:6px;padding:22px 0}.post-row .read{display:none}}.reading-bar{top:var(--nav-h);z-index:49;pointer-events:none;height:2px;position:fixed;left:0;right:0}.reading-bar i{background:var(--accent);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.article{background:var(--bg);padding-bottom:32px;position:relative}.article .post{margin-top:0}.article .post-title{letter-spacing:-.04em;font-size:clamp(34px,5.4vw,56px);line-height:1.06}.article .post-summary{color:var(--fg-3);font-size:clamp(19px,2vw,22px);line-height:1.45}.in-short{border-radius:var(--radius-sm);background:var(--bg-soft);margin:34px 0 8px;padding:22px 24px}.in-short h2{color:var(--accent);letter-spacing:0;margin-bottom:12px;font-size:14px;font-weight:600}.in-short ul{gap:10px;list-style:none;display:grid}.in-short li{color:var(--fg);padding-left:20px;font-size:16.5px;line-height:1.5;position:relative}.in-short li:before{content:"✓";color:var(--accent);font-size:13px;font-weight:700;position:absolute;left:0}.about-top{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:48px;display:grid}.monogram{aspect-ratio:1;background:linear-gradient(145deg, var(--bg-soft), var(--bg-sunk));box-shadow:inset 0 0 0 1px var(--line);color:var(--fg-3);letter-spacing:-.05em;border-radius:32px;place-items:center;font-size:72px;font-weight:700;display:grid}.clock-card{margin-top:16px}.clock{letter-spacing:-.04em;font-variant-numeric:tabular-nums;align-items:baseline;gap:10px;font-size:40px;font-weight:700;display:flex}.clock small{color:var(--fg-3);letter-spacing:-.01em;font-size:15px;font-weight:500}.clock-colon{animation:1s step-end infinite blink}@keyframes blink{50%{opacity:.25}}@media (max-width:860px){.about-top{grid-template-columns:1fr}.about-side{max-width:320px}}.timeline{padding-left:32px;list-style:none;position:relative}.timeline:before{content:"";background:var(--line-2);transform-origin:top;border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:7px}html[data-motion] .timeline[data-rise]:before{transition:transform 1.4s var(--expo);transform:scaleY(0)}html[data-motion] .timeline[data-rise].is-in:before{transform:scaleY(1)}.timeline>li{padding-bottom:36px;position:relative}.timeline>li:last-child{padding-bottom:0}.timeline>li:before{content:"";border:3px solid var(--bg);background:var(--accent);width:14px;height:14px;box-shadow:0 0 0 1.5px var(--accent);border-radius:50%;position:absolute;top:6px;left:-31px}.timeline time{color:var(--fg-3);font-variant-numeric:tabular-nums;font-size:14px}.timeline h3{letter-spacing:-.026em;margin-top:4px;font-size:21px}.timeline .where{color:var(--fg-3);font-size:16px}.timeline ul{gap:8px;margin-top:12px;list-style:none;display:grid}.timeline ul li{color:var(--fg-2);padding-left:16px;font-size:16px;line-height:1.5;position:relative}.timeline ul li:before{content:"·";color:var(--fg-3);font-weight:700;position:absolute;left:3px}.skill-group+.skill-group{margin-top:26px}.skill-group h3{letter-spacing:-.015em;margin-bottom:12px;font-size:15px}.contact-band{text-align:center}.contact-band .lede{margin-inline:auto}.contact-band .btn-row{justify-content:center}.lost{min-height:calc(100svh - var(--nav-h) - 200px);text-align:center;place-content:center;padding:64px 0;display:grid}.lost .display{letter-spacing:-.06em;font-size:clamp(88px,18vw,180px)}.lost .btn-row{justify-content:center}@media (prefers-reduced-motion:reduce){.hero-hint i,.scroll-cue:after,.clock-colon,.demo-art i,.demo-art b,.demo-art span,.demo-art:before,.demo-art:after,.rotator-word{animation:none!important}}.post-h2{scroll-margin-top:96px;position:relative}.post-anchor{color:var(--fg-3);opacity:0;transition:opacity .2s var(--ease), color .2s var(--ease);margin-left:8px;font-weight:400;text-decoration:none}.post-h2:hover .post-anchor,.post-anchor:focus-visible{opacity:1}.post-anchor:hover{color:var(--accent)}@media (hover:none){.post-anchor{opacity:.45}}.post-code-bar{justify-content:space-between;align-items:center;padding:7px 8px 0 14px;display:flex}.post-code-copy{color:var(--fg-3);font:inherit;cursor:pointer;transition:background-color .18s var(--ease), color .18s var(--ease);background:0 0;border:0;border-radius:7px;padding:4px 10px;font-size:12px;font-weight:500}.post-code-copy:hover{background:var(--bg-sunk);color:var(--fg)}.post-code-copy.is-done{color:var(--ok)}.post-code .post-code-bar+pre{padding-top:8px}.outline{top:calc(var(--nav-h) + 12px);z-index:48;opacity:0;pointer-events:none;width:max-content;max-width:calc(100% - 32px);transition:opacity .3s var(--ease), transform .42s var(--spring);position:fixed;left:50%;transform:translate(-50%,-10px)scale(.96)}.outline.is-on{opacity:1;pointer-events:auto;transform:translate(-50%)}.outline-pill{background:color-mix(in srgb, var(--bg-elev) 82%, transparent);max-width:100%;box-shadow:0 0 0 1px var(--line), 0 8px 28px #0000001a;-webkit-backdrop-filter:saturate(180%)blur(18px);color:var(--fg);font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:10px;padding:8px 14px;font-size:13.5px;display:flex}.outline-count{color:var(--accent);font-family:var(--font-mono);font-size:11.5px;font-weight:600}.outline-name{text-overflow:ellipsis;white-space:nowrap;animation:outline-name .36s var(--expo);font-weight:500;overflow:hidden}@keyframes outline-name{0%{opacity:0;transform:translateY(6px)}}.outline-chev{color:var(--fg-3);transition:transform .3s var(--spring)}.outline.is-open .outline-chev{transform:rotate(180deg)}.outline-list{background:color-mix(in srgb, var(--bg-elev) 92%, transparent);box-shadow:0 0 0 1px var(--line), 0 18px 40px #00000024;-webkit-backdrop-filter:saturate(180%)blur(18px);animation:outline-open .28s var(--expo);border-radius:16px;gap:2px;margin-top:8px;padding:6px;list-style:none;display:grid}.outline-list[hidden]{display:none}@keyframes outline-open{0%{opacity:0;transform:translateY(-6px)scale(.98)}}.outline-list button{width:100%;color:var(--fg-2);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:8px 12px;font-size:14px}.outline-list button:hover{background:var(--bg-soft);color:var(--fg)}.outline-list button.is-on{background:var(--accent-soft);color:var(--accent);font-weight:600}.jump{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.jump a{background:var(--bg-elev);min-height:40px;box-shadow:0 0 0 1px var(--line);color:var(--fg);transition:box-shadow .2s var(--ease), transform .25s var(--spring);border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-size:14.5px;font-weight:500;text-decoration:none;display:inline-flex}.jump a:hover{box-shadow:0 0 0 1px var(--accent);transform:translateY(-1px)}.jump b{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:1px 8px;font-size:12px}.lab-group{padding-top:clamp(24px,4vw,40px);scroll-margin-top:80px}@media (max-width:560px){.group-title{flex-direction:column;gap:2px}}.try-switch{scrollbar-width:none;margin-bottom:22px;display:flex;overflow-x:auto}.try-grid>*{animation:cb-log-in .46s var(--expo) both}.try-grid>:nth-child(2){animation-delay:60ms}.try-grid>:nth-child(3){animation-delay:.12s}.try-grid>:nth-child(4){animation-delay:.18s}.try-grid>:nth-child(5){animation-delay:.24s}.try-grid>:nth-child(6){animation-delay:.3s}
.tool{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);box-shadow:var(--shadow-1);overflow:hidden}.tool-stage{background:var(--bg-soft);border-bottom:1px solid var(--line);position:relative}.tool-stage canvas{width:100%}.tool-body{padding:24px}.tool-controls{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px 28px;display:grid}.control label{color:var(--fg-2);justify-content:space-between;gap:12px;margin-bottom:8px;font-size:14px;font-weight:500;display:flex}.control output{color:var(--fg);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px}.range{--fill:50%;cursor:pointer;appearance:none;background:0 0;width:100%;height:22px;margin:0}.range::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) var(--fill), var(--bg-sunk) var(--fill));border-radius:999px;height:4px}.range::-moz-range-track{background:linear-gradient(to right, var(--accent) var(--fill), var(--bg-sunk) var(--fill));border-radius:999px;height:4px}.range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;transition:transform .2s var(--spring);background:#fff;border-radius:50%;margin-top:-9px;box-shadow:0 1px 4px #00000040,0 0 0 .5px #00000014}.range::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:22px;height:22px;box-shadow:0 1px 4px #00000040}.range:active::-webkit-slider-thumb{transform:scale(1.12)}.switch{color:var(--fg-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;font-size:14px;font-weight:500;display:inline-flex}.switch input{opacity:0;pointer-events:none;position:absolute}.switch i{background:var(--bg-sunk);width:44px;height:26px;box-shadow:inset 0 0 0 1px var(--line);transition:background-color .25s var(--ease);border-radius:999px;flex:none;position:relative}.switch i:after{content:"";width:22px;height:22px;transition:transform .32s var(--spring);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.switch input:checked+i{background:var(--ok)}.switch input:checked+i:after{transform:translate(18px)}.switch input:focus-visible+i{outline:2px solid var(--accent);outline-offset:2px}.tool-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.tool-actions .btn{white-space:normal;text-align:center;max-width:100%;min-height:40px;padding:0 18px;font-size:15px}.readouts{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--line);grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;margin-top:22px;display:grid;overflow:hidden}.readout{background:var(--bg-elev);padding:14px 16px}.readout span{color:var(--fg-3);font-size:12.5px;display:block}.readout strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:4px;font-size:22px;font-weight:700;display:block}.readout strong.is-ok{color:var(--ok)}.readout strong.is-bad{color:var(--bad)}.readout strong.is-warn{color:var(--warn)}.verdict{border-radius:var(--radius-sm);align-items:flex-start;gap:12px;margin-top:20px;padding:16px 18px;font-size:15.5px;line-height:1.5;display:flex}.verdict b{font-weight:600}.verdict.is-info{background:var(--bg-soft);color:var(--fg)}.verdict.is-ok{background:var(--ok-bg);color:var(--fg)}.verdict.is-bad{background:var(--bad-bg);color:var(--fg)}.verdict.is-warn{background:color-mix(in srgb, var(--warn) 12%, var(--bg-elev));color:var(--fg)}.verdict-icon{flex:none;font-size:16px;line-height:1.4}.legend{color:var(--fg-3);flex-wrap:wrap;gap:16px;margin-top:14px;font-size:13px;display:flex}.legend i{vertical-align:0;border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.chart{height:220px;padding:20px 20px 28px 52px;position:relative}.chart-bars{border-bottom:1px solid var(--line-2);align-items:flex-end;gap:3px;height:100%;display:flex;position:relative}.chart-bars b{background:var(--accent);min-width:2px;transition:height .18s var(--ease), background-color .18s var(--ease);border-radius:3px 3px 0 0;flex:1}.chart-bars b.is-over{background:var(--bad)}.chart-cap{border-top:1.5px dashed var(--bad);pointer-events:none;position:absolute;left:0;right:0}.chart-cap span{background:var(--bg-elev,transparent);color:var(--bad);border-radius:4px;padding:0 4px;font-size:11.5px;font-weight:600;position:absolute;top:-20px;left:4px}.chart-axis{color:var(--fg-3);font-family:var(--font-mono);text-align:right;flex-direction:column;justify-content:space-between;width:38px;font-size:10.5px;display:flex;position:absolute;top:20px;bottom:28px;left:8px}.chart-x{color:var(--fg-3);justify-content:space-between;font-size:11px;display:flex;position:absolute;bottom:6px;left:52px;right:20px}.meters{gap:22px;padding:24px;display:grid}.meter-head{justify-content:space-between;gap:12px;margin-bottom:8px;font-size:14px;display:flex}.meter-head span{color:var(--fg-2);font-weight:500}.meter-head strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px}.meter{background:var(--bg-sunk);border-radius:999px;height:12px;position:relative;overflow:visible}.meter i{background:var(--accent);max-width:100%;height:100%;transition:width .5s var(--expo), background-color .3s var(--ease);border-radius:999px;display:block}.meter i.is-bad{background:var(--bad)}.meter i.is-warn{background:var(--warn)}.meter-mark{background:var(--fg);width:2px;transition:left .5s var(--expo);border-radius:2px;position:absolute;top:-5px;bottom:-5px}.meter-note{color:var(--fg-3);margin-top:6px;font-size:12.5px}.law{border-top:1px solid var(--line);color:var(--fg-2);font-family:var(--font-mono);white-space:nowrap;padding:18px 24px;font-size:13.5px;line-height:1.7;overflow-x:auto}.law b{color:var(--accent);font-weight:600}.chain{background:var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.chain-col{background:var(--bg-elev);flex-direction:column;min-width:0;padding:18px;display:flex}.chain-col h3{letter-spacing:-.01em;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;display:flex}.chain-col h3 small{background:var(--accent);width:20px;height:20px;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.code-input{border:1px solid var(--line);background:var(--bg-soft);width:100%;min-height:260px;color:var(--fg);font-family:var(--font-mono);resize:vertical;tab-size:2;transition:border-color .2s var(--ease), box-shadow .2s var(--ease);border-radius:12px;outline:none;flex:1;padding:12px 14px;font-size:12.5px;line-height:1.6}.code-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.code-input.is-bad{border-color:var(--bad)}.rules{gap:8px;display:grid}.rule{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr) 28px;align-items:center;gap:6px;display:grid}.rule input{border:1px solid var(--line);background:var(--bg-soft);width:100%;min-width:0;height:34px;color:var(--fg);font-family:var(--font-mono);border-radius:9px;outline:none;padding:0 10px;font-size:12px}.rule input:focus{border-color:var(--accent)}.rule button{height:28px;color:var(--fg-3);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:18px;line-height:1}.rule button:hover{background:var(--bg-soft);color:var(--bad)}.rule-value{font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;margin:-2px 0 4px;font-size:11.5px;overflow:hidden}.rule-value.is-ok{color:var(--ok)}.rule-value.is-bad{color:var(--bad)}.add-rule{border:1px dashed var(--line-2);color:var(--accent);cursor:pointer;background:0 0;border-radius:10px;margin-top:8px;padding:8px;font-size:13px;font-weight:500}.add-rule:hover{background:var(--accent-soft)}.resolved{background:var(--bg-sunk);color:var(--fg);font-family:var(--font-mono);white-space:pre;border-radius:12px;margin:12px 0 0;padding:12px 14px;font-size:12.5px;line-height:1.6;overflow-x:auto}.resolved mark{background:color-mix(in srgb, var(--ok) 18%, transparent);color:inherit;border-radius:4px;padding:0 2px}.resolved mark.is-bad{background:color-mix(in srgb, var(--bad) 20%, transparent)}.chain-error{color:var(--bad);margin-top:10px;font-size:13px;line-height:1.45}@media (max-width:900px){.chain{grid-template-columns:minmax(0,1fr)}.code-input{min-height:200px}}.launch{text-align:center;place-items:center;gap:18px;padding:56px 24px;display:grid}.launch p{max-width:30rem;color:var(--fg-3)}.chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.chip-btn{border:1px solid var(--line);background:var(--bg-elev);color:var(--fg-2);cursor:pointer;transition:border-color .2s var(--ease), color .2s var(--ease), transform .3s var(--spring);border-radius:999px;padding:8px 14px;font-size:14px}.chip-btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.lab-about{gap:12px;list-style:none;display:grid}.lab-about li{color:var(--fg-2);grid-template-columns:28px minmax(0,1fr);gap:10px;font-size:17px;line-height:1.55;display:grid}.lab-about li b{background:var(--accent-soft);width:24px;height:24px;color:var(--accent);border-radius:50%;place-items:center;margin-top:1px;font-size:12px;font-weight:700;display:grid}.lab-wrap{width:min(980px,100% - 48px);margin-inline:auto}.verdict code,.legend code{background:var(--bg-sunk);color:var(--fg);font-family:var(--font-mono);border-radius:6px;padding:1px 6px;font-size:.88em}.flaky-stage{padding:20px 24px 18px}.flaky-head{color:var(--fg-3);font-family:var(--font-mono);justify-content:space-between;gap:12px;margin-bottom:14px;font-size:12.5px;display:flex}.flaky-head .is-ok{color:var(--ok)}.flaky-head .is-bad{color:var(--bad)}.gantt{gap:6px;display:grid}.gantt-lane{grid-template-columns:28px 1fr;align-items:center;gap:8px;display:grid}.gantt-label{color:var(--fg-3);font-family:var(--font-mono);font-size:11px}.gantt-track{background:var(--bg-sunk);border-radius:5px;height:18px;position:relative}.gantt-track i{box-shadow:inset -1px 0 0 var(--bg-soft);opacity:.8;transform-origin:0;animation:gantt-in .36s var(--expo) both;border-radius:3px;position:absolute;top:2px;bottom:2px}.gantt-track i.is-retry{opacity:1;background-image:repeating-linear-gradient(135deg,#ffffff59 0 3px,#0000 3px 6px)}.gantt-track i.is-bug{opacity:1;box-shadow:0 0 0 2px var(--fg);z-index:1;top:0;bottom:0}@keyframes gantt-in{0%{opacity:0;transform:scaleX(0)}}.builds{flex-wrap:wrap;gap:6px;margin-top:18px;display:flex}.builds button{cursor:pointer;width:22px;height:22px;transition:transform .22s var(--spring), box-shadow .22s var(--ease);border:0;border-radius:6px;padding:0}.builds button.is-ok{background:color-mix(in srgb, var(--ok) 75%, transparent)}.builds button.is-bad{background:color-mix(in srgb, var(--bad) 80%, transparent)}.builds button.is-hidden{box-shadow:inset 0 0 0 2px var(--bad);background:color-mix(in srgb, var(--ok) 35%, transparent)}.builds button:hover{transform:translateY(-2px)}.builds button.is-on{box-shadow:0 0 0 2px var(--bg-soft), 0 0 0 4px var(--fg)}.builds button.is-hidden.is-on{box-shadow:inset 0 0 0 2px var(--bad), 0 0 0 2px var(--bg-soft), 0 0 0 4px var(--fg)}.legend i.legend-retry{background:repeating-linear-gradient(135deg, var(--ok) 0 2px, var(--bg-elev) 2px 4px);border-radius:2px}.legend i.legend-bug{box-shadow:0 0 0 2px var(--fg);background:var(--ok);border-radius:2px}.legend i.legend-hidden{box-shadow:inset 0 0 0 2px var(--bad);background:color-mix(in srgb, var(--ok) 35%, transparent);border-radius:3px}.eval-stage{padding:20px 24px}.eval-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.gate{transition:background-color .3s var(--ease), color .3s var(--ease);border-radius:999px;align-items:baseline;gap:10px;padding:8px 16px;font-size:14px;display:inline-flex}.gate b{font-size:15px;font-weight:700}.gate span{font-family:var(--font-mono);opacity:.85;font-size:12.5px}.gate.is-open{background:var(--ok-bg);color:var(--ok);animation:gate-pop .42s var(--spring)}.gate.is-shut{background:var(--bad-bg);color:var(--bad);animation:gate-shake .42s var(--ease)}@keyframes gate-pop{40%{transform:scale(1.06)}}@keyframes gate-shake{20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-2px)}}.eval-table{border:1px solid var(--line);background:var(--bg-elev);border-radius:12px;overflow:hidden}.eval-row{border:0;border-top:1px solid var(--line);width:100%;color:var(--fg);font:inherit;text-align:left;cursor:pointer;transition:background-color .18s var(--ease);background:0 0;grid-template-columns:minmax(0,1fr) repeat(3,76px);align-items:center;padding:10px 14px;font-size:14px;display:grid}.eval-row>span:not(:first-child){text-align:center}.eval-row .eval-wide{grid-column:span 3}.eval-row:hover{background:var(--bg-soft)}.eval-row.is-on{background:var(--accent-soft)}.eval-row.is-fail .eval-name{color:var(--bad)}.eval-head{color:var(--fg-3);cursor:default;border-top:0;font-size:12px;font-weight:600}.eval-head:hover{background:0 0}.eval-name{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.eval-name em{background:var(--bg-sunk);color:var(--fg-3);border-radius:999px;padding:1px 7px;font-size:11px;font-style:normal;font-weight:600}.eval-name em.is-edited{background:var(--accent-soft);color:var(--accent)}.eval-mark{font-weight:700}.eval-mark.is-ok{color:var(--ok)}.eval-mark.is-bad{color:var(--bad)}.eval-mark.is-off{color:var(--fg-3)}.eval-detail{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px;padding:24px;display:grid}.eval-detail h3{letter-spacing:-.02em;font-size:18px}.eval-input{color:var(--fg-2);margin-top:6px;font-size:14.5px}.eval-rules{color:var(--fg-3);gap:6px;margin-top:12px;font-size:13px;display:grid}.eval-rules code{background:var(--bg-sunk);color:var(--fg);font-family:var(--font-mono);border-radius:6px;margin-left:6px;padding:1px 6px;font-size:12px}.eval-why{gap:8px;margin-top:16px;list-style:none;display:grid}.eval-why li{border-left:3px solid var(--line-2);background:var(--bg-soft);border-radius:4px 10px 10px 4px;padding:10px 12px;font-size:13.5px;line-height:1.5}.eval-why li b{margin-bottom:2px;font-size:12.5px;display:block}.eval-why li.is-ok{border-left-color:var(--ok)}.eval-why li.is-bad{border-left-color:var(--bad)}.eval-why li.is-ok b{color:var(--ok)}.eval-why li.is-bad b{color:var(--bad)}.eval-label{color:var(--fg-3);justify-content:space-between;gap:10px;margin-bottom:8px;font-size:13px;font-weight:500;display:flex}.eval-label button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0}.eval-detail .code-input{min-height:170px}.eval-policy{color:var(--fg-3);margin-top:12px;font-size:13px}.eval-policy summary{cursor:pointer}.eval-policy dl{gap:4px;margin-top:8px;display:grid}.eval-policy dl div{grid-template-columns:34px 1fr;gap:8px;display:grid}.eval-policy dt{color:var(--fg);font-family:var(--font-mono)}@media (max-width:720px){.eval-detail{grid-template-columns:1fr}.eval-row{grid-template-columns:minmax(0,1fr) repeat(3,44px);padding:10px;font-size:13.5px}.eval-head{font-size:10.5px}.eval-stage,.eval-detail{padding:16px}}.cb-stage{padding:20px 24px}.cb-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.cb-state{background:var(--bg-elev);box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:14px;font-weight:600;display:inline-flex}.cb-state i{background:var(--fg-3);width:10px;height:10px;transition:background-color .3s var(--ease), box-shadow .3s var(--ease);border-radius:50%}.cb-state.is-closed i{background:var(--ok);box-shadow:0 0 0 4px color-mix(in srgb, var(--ok) 20%, transparent)}.cb-state.is-open i{background:var(--bad);box-shadow:0 0 0 4px color-mix(in srgb, var(--bad) 22%, transparent);animation:1.1s ease-in-out infinite cb-pulse}.cb-state.is-half i{background:var(--warn);box-shadow:0 0 0 4px color-mix(in srgb, var(--warn) 22%, transparent)}@keyframes cb-pulse{50%{box-shadow:0 0 0 8px color-mix(in srgb, var(--bad) 0%, transparent)}}.cb-chart{border-bottom:1px solid var(--line-2);align-items:flex-end;gap:2px;height:170px;display:flex}.cb-bar{flex-direction:column-reverse;flex:1;justify-content:flex-start;min-width:2px;height:100%;display:flex}.cb-bar b{transition:height .16s linear;display:block}.cb-bar b:last-child{border-radius:2px 2px 0 0}.cb-bar .is-ok{background:var(--ok)}.cb-bar .is-failed{background:var(--bad)}.cb-bar .is-fast{background:var(--fg-3);opacity:.55}.cb-bar .is-full{background:var(--warn)}.cb-axis{color:var(--fg-3);font-family:var(--font-mono);justify-content:space-between;margin-top:6px;font-size:11px;display:flex}.cb-pool{grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-top:18px;font-size:13.5px;display:grid}.cb-pool span{color:var(--fg-2);font-weight:500}.cb-pool strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px}.cb-log{color:var(--fg-2);gap:6px;margin-top:16px;font-size:13.5px;list-style:none;display:grid}.cb-log li{animation:cb-log-in .36s var(--expo) both;align-items:baseline;gap:10px;display:flex}.cb-log li:not(:first-child){opacity:.6;animation:none}.cb-log code{min-width:58px;color:var(--fg-3);font-family:var(--font-mono);flex:none;font-size:12px}@keyframes cb-log-in{0%{opacity:0;transform:translateY(-6px)}}.gg-levels{border-bottom:1px solid var(--line);scrollbar-width:none;gap:8px;padding:14px 16px;display:flex;overflow-x:auto}.gg-levels::-webkit-scrollbar{display:none}.gg-levels button{background:var(--bg-soft);color:var(--fg-2);font:inherit;cursor:pointer;transition:background-color .2s var(--ease), color .2s var(--ease), transform .25s var(--spring);border:0;border-radius:999px;flex:none;align-items:center;gap:8px;padding:7px 14px 7px 8px;font-size:13.5px;font-weight:500;display:inline-flex}.gg-levels button b{background:var(--bg-elev);min-width:24px;height:24px;box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;place-items:center;padding:0 6px;font-size:12px;display:grid}.gg-levels button.is-done b{background:color-mix(in srgb, var(--warn) 18%, var(--bg-elev));color:var(--warn);letter-spacing:-1px}.gg-levels button.is-on{background:var(--fg);color:var(--bg)}.gg-levels button.is-on b{background:var(--bg);color:var(--fg);box-shadow:none}.gg-levels button:active{transform:scale(.96)}.gg-main{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.gg-stage{background:var(--bg-soft);border-right:1px solid var(--line);padding:20px}.gg-goal{gap:2px;margin-bottom:8px;font-size:15px;line-height:1.45;display:grid}.gg-goal b{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.gg-svg{width:100%;max-width:380px;margin:0 auto;display:block;overflow:visible}.gg-edge path{fill:none;stroke:var(--fg-3);stroke-width:1.6px;transition:stroke .2s var(--ease)}.gg-edge.is-cond path{stroke:var(--accent);stroke-dasharray:5 4;animation:1.2s linear infinite gg-march}.gg-edge.is-hot path{stroke:var(--ok);stroke-width:2.6px;stroke-dasharray:none}.gg-edge text{fill:var(--accent);text-anchor:middle;paint-order:stroke;stroke:var(--bg-soft);stroke-width:4px;font-size:10.5px;font-weight:600}#gg-head path{fill:var(--fg-3)}@keyframes gg-march{to{stroke-dashoffset:-18px}}.gg-node rect{fill:var(--bg-elev);stroke:var(--line-2);stroke-width:1.2px;transition:fill .22s var(--ease), stroke .22s var(--ease)}.gg-node text{fill:var(--fg);text-anchor:middle;font-size:12.5px;font-weight:600}.gg-node.is-term rect{fill:var(--fg);stroke:none}.gg-node.is-term text{fill:var(--bg);letter-spacing:.06em;font-size:11px}.gg-node.is-active rect{fill:var(--accent-soft);stroke:var(--accent);stroke-width:2px}.gg-node.is-term.is-active rect{fill:var(--accent)}.gg-node.is-paused rect{fill:color-mix(in srgb, var(--warn) 16%, var(--bg-elev));stroke:var(--warn)}.gg-dot{fill:var(--accent);transition:transform .42s var(--expo);filter:drop-shadow(0 0 6px var(--accent))}.gg-side{padding:20px}.gg-h{letter-spacing:-.01em;margin-bottom:12px;font-size:16px}.gg-slots{gap:14px;display:grid}.gg-slot p{color:var(--fg-2);margin-bottom:8px;font-size:14px}.gg-slot p b{color:var(--fg)}.gg-choices{flex-wrap:wrap;gap:6px;display:flex}.gg-choices button{border:1px solid var(--line-2);background:var(--bg-elev);min-height:38px;color:var(--fg);font:inherit;cursor:pointer;transition:background-color .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease), transform .25s var(--spring);border-radius:999px;padding:0 14px;font-size:14px;font-weight:500}.gg-choices button:hover{border-color:var(--accent)}.gg-choices button:active{transform:scale(.95)}.gg-choices button.is-on{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.gg-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.gg-actions .btn{min-height:42px}.gg-actions .btn:disabled{opacity:.45;cursor:not-allowed}.gg-note{color:var(--fg-3);margin-top:10px;font-size:13px}.gg-hint{background:var(--accent-soft);animation:cb-log-in .32s var(--expo);border-radius:12px;margin-top:12px;padding:12px 14px;font-size:14px}.gg-results{gap:10px;padding:20px;display:grid}.gg-test{border:1px solid var(--line);transition:border-color .25s var(--ease), background-color .25s var(--ease);border-radius:14px;padding:12px 14px}.gg-test.is-ok{border-color:color-mix(in srgb, var(--ok) 40%, transparent);background:var(--ok-bg)}.gg-test.is-bad{border-color:color-mix(in srgb, var(--bad) 40%, transparent);background:var(--bad-bg);animation:gate-shake .42s var(--ease)}.gg-test.is-playing{border-color:var(--accent)}.gg-test-head{align-items:center;gap:10px;font-size:14.5px;display:flex}.gg-test-mark{font-weight:700}.gg-test.is-ok .gg-test-mark{color:var(--ok)}.gg-test.is-bad .gg-test-mark{color:var(--bad)}.gg-path{color:var(--fg-3);flex-wrap:wrap;gap:4px 6px;margin-top:8px;font-size:12.5px;list-style:none;display:flex}.gg-path li{animation:cb-log-in .3s var(--expo) both;align-items:baseline;gap:5px;display:inline-flex}.gg-path li:not(:last-child):after{content:"→";margin-left:2px}.gg-path code{background:var(--bg-elev);color:var(--fg);font-family:var(--font-mono);border-radius:6px;padding:1px 6px;font-size:11.5px}.gg-path span{display:none}.gg-test.is-playing .gg-path li:last-child span{color:var(--fg-2);display:inline}.gg-why{color:var(--fg);margin-top:8px;font-size:14px}.gg-win{background:linear-gradient(135deg, var(--ok-bg), var(--accent-soft));animation:gg-win .52s var(--spring);border-radius:16px;justify-items:start;gap:10px;padding:18px;display:grid}.gg-win p{font-size:15px}.gg-stars{color:var(--warn);letter-spacing:4px;font-size:28px}@keyframes gg-win{0%{opacity:0;transform:scale(.94)translateY(8px)}}@media (max-width:760px){.gg-main{grid-template-columns:1fr}.gg-stage{border-right:0;border-bottom:1px solid var(--line);padding:16px}.gg-side,.gg-results{padding:16px}}.td-hud{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 20px;font-size:14px;display:flex}.td-round{color:var(--fg-3);font-family:var(--font-mono);font-size:12.5px}.td-lives{gap:4px;display:inline-flex}.td-lives i{color:var(--bg-sunk);transition:color .3s var(--ease), transform .4s var(--spring);font-size:18px;font-style:normal}.td-lives i.is-on{color:var(--bad)}.td-lives i:not(.is-on){transform:scale(.8)}.td-score b{animation:td-pop .42s var(--spring);font-size:18px;display:inline-block}.td-score em{color:var(--warn);font-style:normal;font-weight:600}@keyframes td-pop{40%{color:var(--ok);transform:scale(1.3)}}.td-ticket{background:var(--bg-soft);animation:cb-log-in .42s var(--expo);border-radius:18px 18px 18px 6px;align-items:flex-start;gap:14px;margin:20px 20px 0;padding:16px 18px;display:flex}.td-who{font-size:30px;line-height:1}.td-quote{letter-spacing:-.01em;font-size:17px;font-weight:600;line-height:1.4}.td-ask{color:var(--fg-3);margin-top:6px;font-size:13.5px}.td-trace{border:1px solid var(--line);border-radius:14px;margin:16px 20px 0;overflow:hidden}.td-trace-head{background:var(--bg-soft);color:var(--fg-3);font-family:var(--font-mono);justify-content:space-between;padding:10px 14px;font-size:12px;display:flex}.td-rows{list-style:none}.td-row{border-top:1px solid var(--line);animation:cb-log-in .38s var(--expo) both;animation-delay:calc(var(--i) * 60ms)}.td-row-btn{width:100%;color:var(--fg);font:inherit;text-align:left;cursor:pointer;transition:background-color .18s var(--ease);background:0 0;border:0;gap:7px;padding:12px 14px;display:grid}.td-row-btn:hover{background:var(--bg-soft)}.td-row.is-open .td-row-btn{background:var(--accent-soft)}.td-row-top{align-items:center;gap:8px;min-width:0;font-size:14px;display:flex}.td-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.td-dur{color:var(--fg-3);font-family:var(--font-mono);flex:none;font-size:12px}.td-type{letter-spacing:.03em;text-transform:uppercase;border-radius:6px;flex:none;padding:2px 7px;font-size:10.5px;font-weight:700}.td-type.is-span{background:var(--bg-sunk);color:var(--fg-3)}.td-type.is-generation{background:var(--accent-soft);color:var(--accent)}.td-type.is-retriever{background:color-mix(in srgb, var(--warn) 16%, transparent);color:var(--warn)}.td-type.is-tool{background:color-mix(in srgb, var(--ok) 16%, transparent);color:var(--ok)}.td-bar-track{background:var(--bg-sunk);border-radius:4px;height:8px;display:block;position:relative}.td-bar{background:var(--accent);opacity:.75;transform-origin:0;animation:gantt-in .52s var(--expo) both;animation-delay:calc(var(--i) * 60ms + .12s);border-radius:4px;position:absolute;top:0;bottom:0}.td-row.is-error .td-name{color:var(--bad)}.td-row.is-error .td-bar{background:var(--bad)}.td-row.is-culprit .td-row-btn{background:var(--ok-bg);box-shadow:inset 3px 0 0 var(--ok)}.td-detail{background:var(--accent-soft);animation:cb-log-in .28s var(--expo);padding:4px 14px 14px}.td-detail dl{gap:6px;display:grid}.td-detail dl div{grid-template-columns:minmax(96px,30%) 1fr;gap:10px;font-size:13.5px;display:grid}.td-detail dt{color:var(--fg-3)}.td-detail dd{color:var(--fg);font-weight:500}.td-blame{min-height:40px;margin-top:12px}.td-feedback{border-radius:14px;gap:8px;margin:16px 20px 0;padding:16px 18px;font-size:14.5px;display:grid}.td-feedback.is-ok{background:var(--ok-bg);animation:gg-win .48s var(--spring)}.td-feedback.is-ok b{color:var(--ok)}.td-feedback.is-bad{background:var(--bad-bg);animation:gate-shake .42s var(--ease)}.td-feedback.is-bad b{color:var(--bad)}.td-feedback.is-close{background:color-mix(in srgb, var(--warn) 12%, var(--bg-elev));animation:cb-log-in .3s var(--expo)}.td-feedback .btn{justify-self:start;margin-top:4px}.td-lesson{background:var(--bg-elev);border-radius:10px;padding:10px 12px}.td-lesson span{color:var(--accent);letter-spacing:.05em;text-transform:uppercase;font-size:11.5px;font-weight:700;display:block}.td-foot{color:var(--fg-3);padding:16px 20px 20px;font-size:12.5px}.td-end{text-align:center;animation:gg-win .52s var(--spring);justify-items:center;gap:10px;padding:36px 20px;display:grid}.td-end-emoji{font-size:44px}.td-end h3{letter-spacing:-.02em;font-size:22px}.td-end-score{color:var(--accent);letter-spacing:-.03em;font-size:34px;font-weight:700}.td-end-sub{color:var(--fg-3);margin-top:8px;font-size:14px}.td-learned{text-align:left;gap:8px;max-width:34rem;margin-bottom:10px;padding-left:20px;font-size:14.5px;display:grid}@media (max-width:560px){.td-hud{padding:12px 16px}.td-ticket,.td-trace,.td-feedback{margin-inline:12px}.td-quote{font-size:16px}.td-detail dl div{grid-template-columns:1fr;gap:0}}.split-form input,.split-form select,.focus-input{border:1px solid var(--line-2);background:var(--bg-elev);min-width:0;min-height:44px;color:var(--fg);font:inherit;transition:border-color .18s var(--ease), box-shadow .18s var(--ease);border-radius:12px;outline:none;padding:0 14px;font-size:16px}.split-form input:focus,.split-form select:focus,.focus-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.split{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);display:grid}.split-col{padding:22px}.split-result{background:var(--bg-soft);border-left:1px solid var(--line)}.split-h{letter-spacing:-.01em;margin:0 0 12px;font-size:15px}.split-h:not(:first-child){margin-top:26px}.split-people{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.split-person{background:var(--bg-soft);animation:cb-log-in .3s var(--expo);border-radius:999px;align-items:center;gap:8px;padding:4px 6px 4px 4px;font-size:14px;font-weight:500;display:inline-flex}.split-person i{background:var(--accent);width:26px;height:26px;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:12px;font-style:normal;font-weight:700;display:grid}.split-person button,.split-item-top button{width:24px;height:24px;color:var(--fg-3);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:16px}.split-person button:hover,.split-item-top button:hover{background:var(--bad-bg);color:var(--bad)}.split-form{gap:8px;display:flex}.split-form input{flex:1}.split-form .btn{flex:none;min-height:44px}.split-expense{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);display:grid}.split-form select{width:100%}.split-expense select{grid-column:1}.split-items{gap:8px;margin-top:14px;list-style:none;display:grid}.split-items li{border:1px solid var(--line);animation:cb-log-in .32s var(--expo);border-radius:14px;padding:12px 14px}.split-item-top{align-items:center;gap:10px;font-size:14.5px;display:flex}.split-item-top span{color:var(--fg-3);flex:1;font-size:13px}.split-among{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.split-among button{border:1px solid var(--line-2);color:var(--fg-3);font:inherit;cursor:pointer;transition:all .18s var(--ease);background:0 0;border-radius:999px;padding:4px 10px;font-size:12.5px;text-decoration:line-through}.split-among button.is-on{background:var(--accent-soft);color:var(--accent);border-color:#0000;font-weight:600;text-decoration:none}.split-empty{color:var(--fg-3);font-size:14px;border-style:dashed!important}.split-clear{color:var(--fg-3);font:inherit;cursor:pointer;background:0 0;border:0;margin-top:10px;font-size:13px;text-decoration:underline}.split-total{color:var(--fg-3);justify-content:space-between;align-items:baseline;margin-bottom:16px;font-size:14px;display:flex}.split-total b{color:var(--fg);letter-spacing:-.03em;font-size:26px}.split-bal{gap:10px;list-style:none;display:grid}.split-bal li{grid-template-columns:64px minmax(40px,1fr) auto;align-items:center;gap:10px;font-size:13.5px;display:grid}.split-bal-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.split-bal-track{background:var(--bg-sunk);border-radius:5px;height:10px;position:relative}.split-bal-track:after{content:"";background:var(--line-2);width:1px;position:absolute;top:-3px;bottom:-3px;left:50%}.split-bal-track i{transition:width .5s var(--expo);border-radius:5px;position:absolute;top:0;bottom:0}.split-bal-track i.is-plus{background:var(--ok);left:50%}.split-bal-track i.is-minus{background:var(--bad);right:50%}.split-bal-v{min-width:0;color:var(--fg-3);font-family:var(--font-mono);text-align:right;font-size:12px}.split-bal-v.is-plus{color:var(--ok)}.split-bal-v.is-minus{color:var(--bad)}.split-pays{gap:8px;margin:22px 0 10px;list-style:none;display:grid}.split-pays li{background:var(--bg-elev);box-shadow:0 0 0 1px var(--line);animation:gg-win .42s var(--spring) both;border-radius:14px;align-items:center;gap:8px;padding:12px 14px;font-size:14.5px;display:flex}.split-pays li:nth-child(2){animation-delay:80ms}.split-pays li:nth-child(3){animation-delay:.16s}.split-pays strong{margin-left:auto;font-size:16px}.split-arrow{color:var(--accent)}.split-note{color:var(--fg-3);margin-bottom:14px;font-size:13px}@media (max-width:760px){.split{grid-template-columns:minmax(0,1fr)}.split-result{border-left:0;border-top:1px solid var(--line)}.split-col{padding:18px 16px}}.money-stage{padding:22px 24px 18px}.money-top{align-items:center;gap:24px;display:flex}.money-ring{flex:none;width:128px;height:128px;position:relative}.money-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.money-ring circle{fill:none;stroke-width:14px}.money-ring .ring-bg{stroke:var(--accent)}.money-ring .ring-fg{stroke:var(--warn);stroke-linecap:butt;transition:stroke-dasharray .6s var(--expo)}.money-ring div{text-align:center;place-content:center;display:grid;position:absolute;inset:0}.money-ring b{letter-spacing:-.03em;font-size:22px}.money-ring span{color:var(--fg-3);font-size:11.5px}.money-big{gap:2px;display:grid}.money-big span{color:var(--fg-3);font-size:14px}.money-big strong{letter-spacing:-.04em;animation:td-pop .48s var(--spring);font-size:clamp(34px,7vw,52px);font-weight:700;line-height:1.05}.money-big em{color:var(--fg-2);font-size:14.5px;font-style:normal}.money-years{border-bottom:1px solid var(--line-2);align-items:flex-end;gap:3px;height:120px;margin-top:22px;display:flex}.money-year{flex-direction:column-reverse;flex:1;min-width:2px;height:100%;display:flex}.money-year b{transition:height .45s var(--expo);display:block}.money-year b:last-child{border-radius:3px 3px 0 0}.money-year .is-p{background:var(--accent)}.money-year .is-i{background:var(--warn)}.money-year .is-gain{background:var(--ok)}.money-axis{color:var(--fg-3);justify-content:space-between;gap:10px;margin-top:6px;font-size:11.5px;display:flex}@media (max-width:560px){.money-stage{padding:18px 16px 14px}.money-top{gap:16px}.money-ring{width:104px;height:104px}.money-axis span:nth-child(2){display:none}}.focus-stage{transition:background-color .6s var(--ease);justify-items:center;gap:18px;padding:22px 16px 26px;display:grid}.focus-stage.is-rest{background:color-mix(in srgb, var(--ok) 8%, var(--bg-soft))}.focus-presets{background:var(--bg-sunk);border-radius:999px;gap:6px;padding:4px;display:flex}.focus-presets button{color:var(--fg-2);font:inherit;cursor:pointer;transition:background-color .2s var(--ease), color .2s var(--ease);background:0 0;border:0;border-radius:999px;padding:7px 14px;font-size:13.5px;font-weight:600}.focus-presets button.is-on{background:var(--bg-elev);color:var(--fg);box-shadow:0 1px 3px #0000001f}.focus-ring{aspect-ratio:1;width:min(280px,78vw);position:relative}.focus-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.focus-ring circle{fill:none;stroke-width:12px}.focus-bg{stroke:var(--bg-sunk)}.focus-fg{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .3s linear, stroke .4s var(--ease)}.focus-stage.is-rest .focus-fg{stroke:var(--ok)}.focus-stage.is-running .focus-ring{animation:4s ease-in-out infinite focus-breathe}@keyframes focus-breathe{50%{transform:scale(1.015)}}.focus-center{text-align:center;place-content:center;justify-items:center;gap:4px;padding:0 30px;display:grid;position:absolute;inset:0}.focus-phase{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700}.focus-stage.is-rest .focus-phase{color:var(--ok)}.focus-center strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(46px,14vw,64px);font-weight:700;line-height:1}.focus-task{max-width:180px;color:var(--fg-3);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.focus-actions{flex-wrap:wrap;justify-content:center;gap:10px;max-width:100%;display:flex}.focus-actions .btn{min-height:44px}.focus-main{min-width:112px}.focus-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.focus-input{flex:220px}.focus-today{flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;font-size:14px;display:flex}.focus-today>span{color:var(--fg-3)}.focus-dots{flex-wrap:wrap;gap:6px;display:flex}.focus-dots i{background:var(--bg-sunk);width:14px;height:14px;transition:background-color .3s var(--ease), transform .4s var(--spring);border-radius:50%}.focus-dots i.is-on{background:var(--accent);transform:scale(1.1)}.pw-stage{gap:14px;padding:22px 24px;display:grid}.pw-out{overflow-wrap:anywhere;background:var(--bg-elev);box-shadow:0 0 0 1px var(--line);font-family:var(--font-mono);-webkit-user-select:all;user-select:all;animation:pw-in .36s var(--expo);border-radius:14px;padding:18px;font-size:clamp(17px,4.5vw,22px);font-weight:500;line-height:1.4;display:block}@keyframes pw-in{0%{opacity:0;filter:blur(6px);transform:translateY(4px)}}.pw-meter{background:var(--bg-sunk);border-radius:4px;height:8px;overflow:hidden}.pw-meter i{height:100%;transition:width .5s var(--expo), background-color .3s var(--ease);border-radius:4px;display:block}.pw-meter i.is-bad{background:var(--bad)}.pw-meter i.is-warn{background:var(--warn)}.pw-meter i.is-ok{background:var(--ok)}.pw-grade{flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:14px;display:flex}.pw-grade b.is-bad{color:var(--bad)}.pw-grade b.is-warn{color:var(--warn)}.pw-grade b.is-ok{color:var(--ok)}.pw-grade span{color:var(--fg-3)}.pw-actions{gap:10px;display:flex}.pw-actions .btn{min-height:44px}.ql-top{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 250px;display:grid}.ql-editor{min-width:0;padding:18px}.ql-chips{scrollbar-width:none;gap:6px;margin-bottom:12px;padding-bottom:2px;display:flex;overflow-x:auto}.ql-chips::-webkit-scrollbar{display:none}.ql-chips button{border:1px solid var(--line-2);background:var(--bg-elev);color:var(--fg-2);font:inherit;cursor:pointer;transition:border-color .18s var(--ease), color .18s var(--ease);border-radius:999px;flex:none;padding:6px 12px;font-size:13px;font-weight:500}.ql-chips button:hover{border-color:var(--accent);color:var(--accent)}.ql-sql{min-height:150px;font-size:13.5px}.ql-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.ql-bar .btn{min-height:40px}.ql-hint,.ql-saved{color:var(--fg-3);font-size:12.5px}.ql-spacer{flex:1}.ql-txn{background:color-mix(in srgb, var(--warn) 16%, transparent);color:var(--warn);border-radius:999px;padding:4px 10px;font-size:12.5px;font-weight:600}.ql-schema{border-left:1px solid var(--line);background:var(--bg-soft);max-height:360px;padding:16px;font-size:13px;overflow:auto}.ql-schema details+details{margin-top:10px}.ql-schema summary{cursor:pointer;justify-content:space-between;gap:8px;display:flex}.ql-schema summary span{color:var(--fg-3);font-family:var(--font-mono);font-size:11.5px}.ql-schema ul{gap:3px;margin:8px 0 6px;list-style:none;display:grid}.ql-schema li{justify-content:space-between;gap:8px;display:flex}.ql-schema li em{color:var(--fg-3);font-size:11.5px;font-style:normal}.ql-index{color:var(--ok);font-size:11.5px}.ql-out{padding:18px}.ql-msg{color:var(--ok);font-size:13.5px}.ql-msg span{color:var(--fg-3)}.ql-msg+.ql-msg{margin-top:4px}.ql-error{background:var(--bad-bg);color:var(--fg);border-radius:12px;margin-top:8px;padding:12px 14px;font-size:14px}.ql-error b{color:var(--bad)}.ql-error pre{color:var(--bad);font-family:var(--font-mono);margin-top:8px;font-size:12.5px;overflow-x:auto}.ql-stats{color:var(--fg-3);flex-wrap:wrap;gap:8px 18px;margin:12px 0;font-size:13px;display:flex}.ql-stats b{color:var(--fg);font-variant-numeric:tabular-nums}.ql-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.ql-table-wrap{border:1px solid var(--line);border-radius:12px;max-height:380px;overflow:auto}.ql-table{border-collapse:collapse;width:100%;font-size:12.5px}.ql-table th{background:var(--bg-soft);color:var(--fg-2);text-align:left;white-space:nowrap;padding:8px 10px;font-weight:600;position:sticky;top:0}.ql-table td{border-top:1px solid var(--line);white-space:nowrap;padding:6px 10px}.ql-table td.is-num{font-family:var(--font-mono);text-align:right}.ql-null{color:var(--fg-3);font-style:italic}.ql-more{color:var(--fg-3);padding:8px 10px;font-size:12.5px}.ql-plan h4{margin-bottom:10px;font-size:14px}.ql-plan h4 span{color:var(--fg-3);font-weight:400}.ql-tree,.ql-tree ul{list-style:none}.ql-tree ul{border-left:1px dashed var(--line-2);margin-left:14px;padding-left:12px}.ql-tree li{margin-top:8px}.ql-node{background:var(--bg-soft);box-shadow:inset 3px 0 0 var(--line-2);animation:cb-log-in .32s var(--expo) both;border-radius:10px;padding:9px 11px;font-size:12.5px}.ql-node.is-index{box-shadow:inset 3px 0 0 var(--ok)}.ql-node.is-seq{box-shadow:inset 3px 0 0 var(--warn)}.ql-node.is-join{box-shadow:inset 3px 0 0 var(--accent)}.ql-node-top{justify-content:space-between;gap:8px;display:flex}.ql-node-top b{font-size:13px}.ql-rows{color:var(--fg-3);font-family:var(--font-mono);white-space:nowrap;font-size:11.5px}.ql-node p{color:var(--fg-2);overflow-wrap:anywhere;margin-top:3px}.ql-node .ql-filter{color:var(--fg-3);font-family:var(--font-mono);font-size:11.5px}.ql-node .ql-note{color:var(--fg-3);font-size:11.5px}.ql-node.is-seq .ql-note{color:var(--warn)}@media (max-width:820px){.ql-top,.ql-grid{grid-template-columns:minmax(0,1fr)}.ql-schema{border-left:0;border-top:1px solid var(--line);max-height:none}.ql-editor,.ql-out{padding:14px}}.raft-status,.crdt-top{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:14px 18px;display:flex}.raft-pill{background:var(--bg-soft);font-variant-numeric:tabular-nums;border-radius:999px;padding:5px 12px;font-size:13px}.raft-pill.is-ok{background:var(--ok-bg);color:var(--ok)}.raft-pill.is-warn{background:color-mix(in srgb, var(--warn) 14%, transparent);color:var(--warn)}.raft-pill.is-bad{background:var(--bad-bg);color:var(--bad)}.raft-main{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,.9fr);display:grid}.raft-svg{width:100%;max-width:440px;margin:0 auto;padding:8px;display:block}.raft-link{stroke:var(--line-2);stroke-width:1px}.raft-link.is-cut{stroke:var(--bad);stroke-dasharray:3 5;opacity:.6}.raft-msg{fill:var(--fg-3)}.raft-msg.is-RequestVote,.raft-msg.is-Vote{fill:var(--warn)}.raft-msg.is-AppendEntries{fill:var(--accent)}.raft-msg.is-AppendReply{fill:var(--accent);opacity:.5}.raft-msg.is-dropped{fill:var(--bad);opacity:.8}.raft-node{cursor:pointer}.raft-node:focus-visible{outline:none}.raft-node:focus-visible .raft-body{stroke:var(--accent);stroke-width:3px}.raft-body{fill:var(--bg-elev);stroke:var(--line-2);stroke-width:1.5px;transition:fill .3s var(--ease), stroke .3s var(--ease)}.raft-timer{fill:none;stroke:var(--fg-3);stroke-width:3px;opacity:.35;stroke-linecap:round}.raft-name{fill:var(--fg);text-anchor:middle;font-size:15px;font-weight:700}.raft-term{fill:var(--fg-3);text-anchor:middle;font-size:10.5px}.raft-node.is-candidate .raft-body{fill:color-mix(in srgb, var(--warn) 18%, var(--bg-elev));stroke:var(--warn)}.raft-node.is-candidate .raft-timer{stroke:var(--warn);opacity:.8}.raft-node.is-leader .raft-body{fill:var(--accent);stroke:var(--accent)}.raft-node.is-leader .raft-name,.raft-node.is-leader .raft-term{fill:var(--accent-ink)}.raft-node.is-dead{opacity:.45}.raft-node.is-dead .raft-body{stroke-dasharray:4 4}.raft-side{border-left:1px solid var(--line);align-content:start;gap:14px;padding:18px;display:grid}.raft-actions{flex-wrap:wrap;gap:8px;display:flex}.raft-actions .btn{min-height:38px;padding:0 14px;font-size:14px}.raft-actions .btn:disabled{opacity:.45;cursor:not-allowed}.raft-speed{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;font-size:13.5px;display:grid}.raft-speed span{color:var(--fg-2);font-weight:500}.raft-speed output{font-family:var(--font-mono);font-size:12.5px}.raft-events{color:var(--fg-2);gap:5px;font-size:12.5px;list-style:none;display:grid}.raft-events li{gap:8px;display:flex}.raft-events li:first-child{color:var(--fg);animation:cb-log-in .3s var(--expo)}.raft-events code{min-width:48px;color:var(--fg-3);font-family:var(--font-mono);flex:none;font-size:11.5px}.raft-logs{gap:4px;padding:16px 18px;display:grid;overflow-x:auto}.raft-log-row{align-items:center;gap:4px;display:flex}.raft-log-row>span:first-child{flex:none;width:44px;font-size:12.5px;font-weight:600}.raft-log-head span{width:24px;color:var(--fg-3);font-family:var(--font-mono);text-align:center;font-size:10px}.raft-log-row.is-dead{opacity:.45}.raft-cell{border:2px solid var(--term);width:24px;height:24px;color:var(--fg);animation:gg-win .32s var(--spring);border-radius:6px;flex:none;place-items:center;font-size:10.5px;font-weight:700;display:grid}.raft-cell.is-committed{background:var(--term);color:#fff}.raft-cell.is-empty{border:1px dashed var(--line-2);animation:none}.raft .legend{margin-top:0;padding:0 18px 18px}@media (max-width:820px){.raft-main{grid-template-columns:minmax(0,1fr)}.raft-side{border-left:0;border-top:1px solid var(--line);padding:16px}.raft-status,.crdt-top{padding:12px 14px}.raft-logs{padding:14px}}.crdt-spacer{flex:1}.crdt-top .btn{min-height:38px;padding:0 14px;font-size:14px}.crdt-peers{background:var(--bg-soft);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px 18px;display:grid}.crdt-peer{background:var(--bg-elev);box-shadow:0 0 0 1px var(--line);transition:opacity .3s var(--ease), box-shadow .3s var(--ease);border-radius:16px;gap:10px;padding:12px;display:grid}.crdt-peer.is-offline{box-shadow:0 0 0 1px var(--warn), 0 0 0 4px color-mix(in srgb, var(--warn) 14%, transparent)}.crdt-peer-head{align-items:center;gap:10px;display:flex}.crdt-peer-head>span:nth-child(2){flex:1;line-height:1.2;display:grid}.crdt-peer-head small{color:var(--fg-3);font-size:11.5px}.crdt-peer-head .switch{gap:8px;font-size:12.5px}.crdt-avatar{background:var(--accent);width:30px;height:30px;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.crdt-peer:nth-child(2) .crdt-avatar{background:var(--ok)}.crdt-peer:nth-child(3) .crdt-avatar{background:var(--warn)}.crdt-area{border:1px solid var(--line);background:var(--bg-soft);min-height:190px;color:var(--fg);font:inherit;resize:vertical;border-radius:10px;outline:none;padding:10px 12px;font-size:16px;line-height:1.5}.crdt-area:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.crdt-inside{background:var(--bg-soft);border-radius:14px;margin-top:18px;padding:14px;font-size:13.5px}.crdt-inside code{background:var(--bg-sunk);font-family:var(--font-mono);border-radius:6px;padding:1px 6px;font-size:12px}.crdt-chips{flex-wrap:wrap;gap:4px;margin-top:12px;display:flex}.crdt-chips span{background:var(--bg-elev);min-width:30px;box-shadow:0 0 0 1px var(--line);border-radius:6px;justify-items:center;padding:3px 4px;display:grid}.crdt-chips b{font-family:var(--font-mono);font-size:13px}.crdt-chips small{color:var(--fg-3);font-size:9px}.crdt-chips span.is-dead{opacity:.45}.crdt-chips span.is-dead b{text-decoration:line-through}@media (max-width:820px){.crdt-peers{grid-template-columns:minmax(0,1fr);padding:14px}.crdt-area{min-height:130px}}
.post{margin-top:44px}.post-back{color:var(--gray-500);transition:color .16s var(--expo);margin-bottom:30px;font-size:14px;display:inline-block}.post-back:hover{color:var(--fg)}.post-title{letter-spacing:-.032em;margin:0;font-size:clamp(29px,4.4vw,40px);font-weight:600;line-height:1.12}.post-summary{color:var(--gray-600);margin:16px 0 0;font-size:18.5px;line-height:1.6}.post-meta{border-bottom:1px solid var(--gray-200);color:var(--gray-400);font-family:var(--font-jetbrains,ui-monospace), ui-monospace, monospace;flex-wrap:wrap;align-items:center;gap:9px;margin-top:22px;padding-bottom:26px;font-size:11.5px;display:flex}.post-tags{flex-wrap:wrap;gap:6px;margin:0 0 0 auto;padding:0;list-style:none;display:flex}.post-tags li{border:1px solid var(--gray-200);color:var(--gray-500);border-radius:999px;padding:3px 9px}.post-body{padding-top:6px}.post-h2{letter-spacing:-.022em;margin:44px 0 0;font-size:21px;font-weight:600;line-height:1.3}.post-p{color:var(--gray-700);margin:17px 0 0;font-size:17px;line-height:1.75}.post-quote{border-left:2px solid var(--gray-300);color:var(--fg);margin:30px 0 0;padding:4px 0 4px 20px;font-size:18px;font-style:normal;line-height:1.6}.post-ul,.post-ol{counter-reset:step;gap:12px;margin:20px 0 0;padding:0;list-style:none;display:grid}.post-ul li,.post-ol li{color:var(--gray-700);padding-left:26px;font-size:16.5px;line-height:1.7;position:relative}.post-ul li:before{content:"";background:var(--gray-300);border-radius:50%;width:5px;height:5px;position:absolute;top:.75em;left:4px}.post-ol li{counter-increment:step}.post-ol li:before{content:counter(step, decimal-leading-zero);color:var(--gray-400);font-family:var(--font-jetbrains,ui-monospace), ui-monospace, monospace;font-size:11px;position:absolute;top:.2em;left:0}.post-code{border:1px solid var(--gray-200);background:var(--gray-50);border-radius:10px;margin:26px 0 0;position:relative}.post-code-lang{color:var(--gray-400);font-family:var(--font-jetbrains,ui-monospace), ui-monospace, monospace;letter-spacing:.06em;text-transform:uppercase;font-size:10px}.post-code pre{margin:0;padding:17px 16px;overflow-x:auto}.post-code code{color:var(--gray-700);font-family:var(--font-jetbrains,ui-monospace), ui-monospace, monospace;white-space:pre;font-size:12.5px;line-height:1.72}.post-table-wrap{border:1px solid var(--gray-200);border-radius:10px;margin:26px 0 0;overflow-x:auto}.post-table{border-collapse:collapse;width:100%;font-size:14.5px}.post-table th,.post-table td{border-bottom:1px solid var(--gray-100);text-align:left;vertical-align:top;padding:11px 14px}.post-table th{color:var(--gray-500);font-family:var(--font-jetbrains,ui-monospace), ui-monospace, monospace;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-size:11px;font-weight:400}.post-table td{color:var(--gray-700);line-height:1.6}.post-table tr:last-child td{border-bottom:0}.theme{--opt-w:28px;grid-template-columns:repeat(3, var(--opt-w));border:1px solid var(--gray-200);background:var(--gray-50);border-radius:999px;flex:none;padding:3px;display:inline-grid;position:relative}.theme-thumb{width:var(--opt-w);background:var(--bg);height:calc(100% - 6px);transform:translateX(calc(var(--i,2) * var(--opt-w)));opacity:0;border-radius:999px;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000017}.theme.is-ready .theme-thumb{opacity:1}.theme.is-armed .theme-thumb{transition:transform .34s var(--expo), background-color .24s var(--expo)}.theme-option{z-index:1;height:24px;color:var(--gray-400);cursor:pointer;transition:color .2s var(--expo);background:0 0;border:0;border-radius:999px;place-items:center;padding:0;font-family:inherit;font-size:12.5px;line-height:1;display:grid;position:relative}.theme-option:hover{color:var(--gray-600)}.theme-option.is-active{color:var(--fg)}.theme-glyph{transform-origin:50%;transition:transform .34s var(--expo);display:block}.theme-option.is-active .theme-glyph{transform:rotate(360deg)scale(1.12)}.theme-option:hover:not(.is-active) .theme-glyph{transform:scale(1.1)}.theme-option:active .theme-glyph{transform:scale(.92)}body,.head,.theme,.theme-option,.row,.peek-tags li,.chip-mark,.avatar{transition:background-color .24s var(--expo), border-color .24s var(--expo), color .24s var(--expo)}@media (prefers-reduced-motion:reduce){body,.head,.theme,.theme-option,.row,.peek-tags li,.chip-mark,.avatar,.theme.is-armed .theme-thumb,.theme-glyph{transition:none}.theme-option.is-active .theme-glyph{transform:scale(1.12)}}@media (max-width:720px){.theme{--opt-w:26px}.theme-option{height:23px;font-size:12px}}:root{--ai:#2f8f5b;--ai-soft:#2f8f5b1c;--ask-width:min(460px, 38vw);--ask-radius:16px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ai:#58c896;--ai-soft:#58c89621}}:root[data-theme=dark]{--ai:#58c896;--ai-soft:#58c89621}.ask-launch{right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:70;border:1px solid var(--gray-200);background:var(--bg);height:46px;color:var(--fg);font:inherit;letter-spacing:-.01em;cursor:pointer;transition:transform .26s var(--expo), border-color .26s var(--expo), box-shadow .26s var(--expo);border-radius:999px;align-items:center;gap:9px;padding:0 16px 0 13px;font-size:14.5px;font-weight:550;display:inline-flex;position:fixed;box-shadow:0 1px 2px #0000000a,0 8px 28px -12px #00000038}.ask-launch:hover{border-color:var(--gray-300);transform:translateY(-2px);box-shadow:0 1px 2px #0000000d,0 14px 34px -14px #00000047}.ask-launch:focus-visible{outline:2px solid var(--fg);outline-offset:3px}.ask-launch-mark{background:var(--ai-soft);border-radius:7px;place-items:center;width:22px;height:22px;display:grid}.ask-launch-mark i{background:var(--ai);border-radius:50%;width:7px;height:7px}html[data-motion] .ask-launch-mark i{animation:ask-pulse 2.8s var(--expo) infinite}@keyframes ask-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.72)}}.ask-launch kbd{border:1px solid var(--gray-200);color:var(--gray-500);font-family:var(--font-jetbrains,ui-monospace, monospace);border-radius:5px;padding:1px 6px;font-size:11px}.ask-launch.is-open{opacity:0;pointer-events:none;transform:translateY(6px)}.ask-scrim{z-index:65;opacity:0;pointer-events:none;transition:opacity .3s var(--expo);background:#0a0a0c57;border:0;padding:0;position:fixed;inset:0}.ask-scrim.is-open{opacity:1;pointer-events:auto}@media (min-width:781px){.ask-scrim{display:none}body{transition:padding-right .34s var(--expo)}html.ask-open body{padding-right:calc(var(--ask-width) + 34px)}}@media (min-width:781px) and (prefers-reduced-motion:reduce){body{transition:none}}.ask-panel{z-index:66;width:var(--ask-width);border:1px solid var(--gray-200);border-radius:var(--ask-radius);background:var(--bg);opacity:0;pointer-events:none;min-width:360px;transition:opacity .32s var(--expo), transform .32s var(--expo);position:fixed;top:16px;bottom:16px;right:16px;overflow:hidden;transform:translateY(10px)scale(.985);box-shadow:0 1px 2px #0000000a,0 30px 70px -30px #00000059}.ask-panel.is-open{opacity:1;pointer-events:auto;transform:none}.ask{flex-direction:column;height:100%;min-height:0;display:flex}.ask-head{border-bottom:1px solid var(--gray-100);background:var(--bg);align-items:center;gap:11px;padding:13px 14px;display:flex}.ask-avatar{background:var(--gray-100);width:32px;height:32px;color:var(--gray-700);font-family:var(--font-jetbrains,ui-monospace, monospace);letter-spacing:.04em;border-radius:10px;place-items:center;font-size:11.5px;display:grid}.ask-back{width:34px;height:34px;color:var(--gray-600);cursor:pointer;transition:background .2s var(--expo), color .2s var(--expo);background:0 0;border:0;border-radius:10px;place-items:center;margin-left:-4px;display:grid}.ask-back svg{width:20px;height:20px}.ask-back:hover{background:var(--gray-100);color:var(--fg)}.ask-back:focus-visible{outline:2px solid var(--fg);outline-offset:1px}.ask-back{display:none}.ask-close{width:30px;height:30px;color:var(--gray-500);cursor:pointer;transition:background .2s var(--expo), color .2s var(--expo);background:0 0;border:0;border-radius:9px;flex:none;place-items:center;margin-right:-4px;display:grid}.ask-close svg{width:18px;height:18px}.ask-close:hover{background:var(--gray-100);color:var(--fg)}.ask-close:focus-visible{outline:2px solid var(--fg);outline-offset:1px}.ask-head-text{flex:1;min-width:0}.ask-head-text strong{letter-spacing:-.012em;font-size:15px;font-weight:600;display:block}.ask-head-text small{color:var(--gray-500);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;margin-top:2px;font-size:12px;display:flex;overflow:hidden}.ask-live{background:var(--ai);width:6px;height:6px;box-shadow:0 0 0 3px var(--ai-soft);border-radius:50%;flex:none}.ask-clear{border:1px solid var(--gray-200);color:var(--gray-600);font:inherit;cursor:pointer;transition:color .2s var(--expo), border-color .2s var(--expo), opacity .2s var(--expo);background:0 0;border-radius:999px;flex:none;padding:5px 11px;font-size:12.5px}.ask-clear:hover:not(:disabled){color:var(--fg);border-color:var(--gray-400)}.ask-clear:disabled{opacity:0;pointer-events:none}.ask-clear:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.ask-log{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-direction:column;flex:1;gap:20px;min-height:0;padding:20px 16px 8px;display:flex;overflow-y:auto}.ask-turn{gap:10px;min-width:0;display:grid}html[data-motion] .ask-turn{animation:ask-in .34s var(--expo) both}@keyframes ask-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.ask-turn p{letter-spacing:-.003em;overflow-wrap:anywhere;margin:0;font-size:16.5px;line-height:1.62}.ask-turn.is-assistant p{color:var(--gray-700)}.ask-turn.is-assistant code{background:var(--gray-100);font-family:var(--font-jetbrains,ui-monospace, monospace);border-radius:5px;padding:1px 5px;font-size:.88em}.ask-turn.is-assistant mark{background:var(--ai-soft);color:inherit;border-radius:3px;padding:0 1px}.ask-turn.is-user{justify-self:end;max-width:88%;margin-left:auto}.ask-turn.is-user p{background:var(--gray-100);color:var(--fg);border-radius:16px 16px 4px;padding:11px 15px;font-size:16px}.ask-turn.is-refusal p{color:var(--gray-600);font-style:normal}.ask-cite{background:var(--ai-soft);min-width:17px;height:17px;color:var(--ai);font:inherit;font-variant-numeric:tabular-nums;vertical-align:2px;cursor:pointer;transition:transform .18s var(--expo), background .18s var(--expo);border:0;border-radius:5px;place-items:center;margin-left:5px;padding:0 4px;font-size:11px;font-weight:650;display:inline-grid}.ask-cite:hover{background:var(--ai);color:var(--bg);transform:translateY(-1px)}.ask-cite:focus-visible{outline:2px solid var(--ai);outline-offset:2px}.ask-provenance{color:var(--gray-500);letter-spacing:-.005em;margin:4px 0 0;font-size:12.5px}.ask-provenance-mark{color:var(--ai)}.ask-sources{gap:4px;margin:2px 0 0;padding:0;list-style:none;display:grid}.ask-sources button{width:100%;color:var(--gray-600);font:inherit;text-align:left;cursor:pointer;transition:border-color .2s var(--expo), background .2s var(--expo), color .2s var(--expo);background:0 0;border:1px solid #0000;border-radius:9px;align-items:baseline;gap:8px;padding:7px 9px;font-size:13px;display:flex}.ask-sources button:hover{border-color:var(--gray-200);background:var(--gray-50);color:var(--fg)}.ask-sources button:focus-visible{outline:2px solid var(--fg);outline-offset:1px}.ask-source-n{min-width:15px;color:var(--ai);font-variant-numeric:tabular-nums;flex:none;font-size:11px;font-weight:650}.ask-source-kind{color:var(--gray-400);font-family:var(--font-jetbrains,ui-monospace, monospace);letter-spacing:.06em;text-transform:uppercase;flex:none;font-size:10.5px}.ask-source-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.is-sourced{animation:ask-sourced 2.2s var(--expo) both;border-radius:12px}@keyframes ask-sourced{0%,62%{box-shadow:0 0 0 1px var(--ai), 0 0 0 7px var(--ai-soft)}to{box-shadow:0 0 0 1px #0000,0 0 0 7px #0000}}.ask-followups{flex-wrap:wrap;gap:6px;display:flex}.ask-followups button{align-items:center;gap:7px;display:inline-flex}.ask-followups button span{color:var(--gray-400);transition:transform .2s var(--expo)}.ask-followups button:hover span{transform:translate(2px)}.ask-followups button,.ask-openers-grid button{border:1px solid var(--gray-200);color:var(--gray-600);font:inherit;text-align:left;cursor:pointer;transition:border-color .2s var(--expo), color .2s var(--expo), transform .2s var(--expo);background:0 0;border-radius:999px;padding:8px 13px;font-size:13.5px}.ask-followups button:hover,.ask-openers-grid button:hover{border-color:var(--gray-400);color:var(--fg);transform:translateY(-1px)}.ask-followups button:focus-visible,.ask-openers-grid button:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.ask-openers{margin-top:-6px}.ask-openers-label{color:var(--gray-400);font-family:var(--font-jetbrains,ui-monospace, monospace);letter-spacing:.08em;text-transform:uppercase;margin:0 0 9px;font-size:10.5px}.ask-openers-grid{flex-wrap:wrap;gap:6px;display:flex}.ask-thinking{align-items:center;gap:5px;height:26px;display:inline-flex}.ask-thinking i{background:var(--gray-400);border-radius:50%;width:6px;height:6px;animation:1.1s ease-in-out infinite ask-blink}.ask-thinking i:nth-child(2){animation-delay:.15s}.ask-thinking i:nth-child(3){animation-delay:.3s}@keyframes ask-blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.ask-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--gray-100);background:var(--bg);flex:none}.ask-composer{border:1px solid var(--gray-200);background:var(--bg);transition:border-color .2s var(--expo), box-shadow .2s var(--expo);border-radius:22px;align-items:flex-end;gap:8px;padding:7px 7px 7px 14px;display:flex}.ask-composer:focus-within{border-color:var(--gray-400);box-shadow:0 0 0 4px var(--ai-soft)}.ask-composer textarea{min-width:0;font:inherit;color:var(--fg);resize:none;background:0 0;border:0;outline:none;flex:1;max-height:168px;padding:7px 0;font-size:16px;line-height:1.5}.ask-composer textarea::placeholder{color:var(--gray-400)}.ask-composer button{background:var(--fg);width:34px;height:34px;color:var(--bg);cursor:pointer;transition:opacity .2s var(--expo), transform .2s var(--expo);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.ask-composer button svg{width:18px;height:18px}.ask-composer button:hover:not(:disabled){transform:translateY(-1px)}.ask-composer button:disabled{opacity:.28;cursor:default}.ask-composer button:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.ask-note{color:var(--gray-400);margin:9px 2px 0;font-size:11.5px;line-height:1.45}.ask-page{height:calc(100dvh - var(--nav-h));flex-direction:column;max-width:820px;margin:0 auto;padding:10px 16px 0;display:flex}.ask-page .ask{border:1px solid var(--gray-200);border-radius:var(--ask-radius) var(--ask-radius) 0 0;border-bottom:0;flex:1;min-height:0;overflow:hidden}.ask-page .ask-log{padding-inline:22px}.ask-page .ask-turn p{font-size:17.5px}.ask-page .ask-foot{padding-inline:22px}@media (max-width:780px){.ask-launch{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}.ask-panel{width:auto;min-width:0;height:var(--ask-vh,100dvh);box-shadow:none;border:0;border-radius:0;inset:0;transform:translateY(14px)}.ask-panel .ask-head{padding-top:calc(13px + env(safe-area-inset-top,0px))}.ask-panel .ask-back{display:grid}.ask-panel .ask-avatar,.ask-panel .ask-close{display:none}.ask-log{gap:22px;padding:18px 16px 8px}.ask-turn.is-user{max-width:92%}.ask-openers-grid{flex-direction:column;align-items:stretch}.ask-openers-grid button{text-align:left}}@media (prefers-reduced-motion:reduce){.ask-launch:hover,.ask-followups button:hover,.ask-followups button:hover span,.ask-openers-grid button:hover,.ask-cite:hover,.ask-composer button:hover:not(:disabled){transform:none}.ask-panel{transition:opacity .12s linear;transform:none}.ask-panel.is-open{transform:none}.ask-thinking i{opacity:.55;animation:none}.is-sourced{animation-duration:2.2s}}.game{border:1px solid var(--gray-200);background:var(--gray-50);border-radius:12px;position:relative;overflow:hidden}.game-hud{border-bottom:1px solid var(--gray-200);font-family:var(--font-jetbrains,ui-monospace), ui-monospace, monospace;font-variant-numeric:tabular-nums;align-items:center;gap:13px;padding:10px 13px;font-size:11.5px;display:flex}.game-score{letter-spacing:-.02em;font-size:16px;font-weight:600}.game-stat{color:var(--gray-400)}.game-lives{gap:4px;margin-left:auto;display:inline-flex}.game-lives i{border:1px solid var(--gray-300);border-radius:50%;width:8px;height:8px}.game-lives i.is-on{background:var(--fg);border-color:#0000}.game-canvas{touch-action:none;cursor:none;width:100%;display:block}.game-flash{min-height:17px;color:var(--gray-500);font-family:var(--font-jetbrains,ui-monospace), ui-monospace, monospace;margin:0;padding:0 13px 8px;font-size:11px}.game-help{color:var(--gray-400);margin:0;padding:0 13px 12px;font-size:12px}.game-help kbd,.game-panel kbd{border:1px solid var(--gray-300);background:var(--bg);color:var(--gray-500);font-family:var(--font-jetbrains,ui-monospace), ui-monospace, monospace;border-radius:4px;padding:1px 5px;font-size:10.5px}.game-panel{padding:20px}.game-panel h4{letter-spacing:-.02em;margin:0 0 9px;font-size:17px;font-weight:600}.game-panel p{color:var(--gray-700);margin:0 0 11px;font-size:15px;line-height:1.65}.game-panel-note{color:var(--gray-500)!important;font-size:14px!important}.game-best{color:var(--gray-400);font-family:var(--font-jetbrains,ui-monospace), ui-monospace, monospace;margin-left:11px;font-size:12px}.game-final{align-items:baseline;gap:11px;margin-bottom:6px;display:flex}.game-final strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:32px;font-weight:600}.game-final span{color:var(--gray-500);font-size:14.5px}.arena{--ok:#15803d;--bad:#b91c1c;--ok-bg:#f0fdf4;--bad-bg:#fef2f2;border:1px solid var(--gray-200);background:var(--gray-50);border-radius:12px;padding:16px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .arena{--ok:#4ade80;--bad:#f87171;--ok-bg:#0e1f14;--bad-bg:#241315}}:root[data-theme=dark] .arena{--ok:#4ade80;--bad:#f87171;--ok-bg:#0e1f14;--bad-bg:#241315}.arena kbd{border:1px solid var(--gray-300);background:var(--bg);color:var(--gray-500);font-family:var(--font-jetbrains,ui-monospace), ui-monospace, monospace;border-radius:4px;padding:1px 5px;font-size:10.5px}.arena-intro p{color:var(--gray-700);margin:0 0 12px;font-size:15.5px;line-height:1.65}.arena-note{color:var(--gray-500)!important;font-size:14.5px!important}.arena-primary{border:1px solid var(--fg);background:var(--fg);color:var(--bg);font:inherit;cursor:pointer;border-radius:8px;margin-top:4px;padding:9px 16px;font-size:14.5px;font-weight:500;transition:opacity .14s}.arena-primary:hover{opacity:.85}.arena-bar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;margin-bottom:14px;display:grid}.arena-count,.arena-clock{color:var(--gray-400);font-family:var(--font-jetbrains,ui-monospace), ui-monospace, monospace;font-variant-numeric:tabular-nums;font-size:11.5px}.arena-track{background:var(--gray-200);border-radius:999px;height:3px;overflow:hidden}.arena-track i{transform-origin:0;background:var(--gray-500);height:100%;transition:transform .1s linear;display:block}.arena-prompt{border:1px solid var(--gray-200);background:var(--bg);color:var(--fg);font-family:var(--font-jetbrains,ui-monospace), ui-monospace, monospace;overflow-wrap:anywhere;border-radius:10px;margin:0;padding:15px 16px;font-size:13.5px;line-height:1.7}.arena-live{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.arena-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px;display:grid}.arena-actions button{border:1px solid var(--gray-300);background:var(--bg);color:var(--fg);font:inherit;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:15px;font-weight:500;transition:border-color .14s,transform .14s;display:inline-flex}.arena-actions button:hover{border-color:var(--fg);transform:translateY(-1px)}.arena-feedback{border:1px solid var(--gray-200);background:var(--bg);border-radius:10px;margin-top:14px;padding:14px 15px}.arena-feedback.is-right{border-color:color-mix(in srgb, var(--ok) 40%, var(--gray-200));background:var(--ok-bg)}.arena-feedback.is-wrong{border-color:color-mix(in srgb, var(--bad) 40%, var(--gray-200));background:var(--bad-bg)}.arena-feedback-head{flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:8px;display:flex}.arena-feedback-mark{font-size:14px}.arena-feedback.is-right .arena-feedback-mark,.arena-feedback.is-right strong{color:var(--ok)}.arena-feedback.is-wrong .arena-feedback-mark,.arena-feedback.is-wrong strong{color:var(--bad)}.arena-feedback-tag{color:var(--gray-500);font-family:var(--font-jetbrains,ui-monospace), ui-monospace, monospace;font-size:11px}.arena-feedback p{color:var(--gray-700);margin:0 0 13px;font-size:15px;line-height:1.65}.arena-final{align-items:baseline;gap:11px;margin-bottom:16px;display:flex}.arena-final strong{letter-spacing:-.03em;font-size:34px;font-weight:600}.arena-final strong span{color:var(--gray-400);font-size:19px;font-weight:500}.arena-final-label{color:var(--gray-500);font-size:14.5px}.arena-metrics{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:9px;margin:0 0 16px;display:grid}.arena-metrics>div{border:1px solid var(--gray-200);background:var(--bg);border-radius:9px;padding:10px 11px}.arena-metrics dt{color:var(--gray-500);font-size:11.5px}.arena-metrics dd{font-family:var(--font-jetbrains,ui-monospace), ui-monospace, monospace;font-variant-numeric:tabular-nums;margin:3px 0 0;font-size:15px}.arena-verdict{border-left:2px solid var(--gray-300);color:var(--gray-700);margin:0 0 18px;padding:13px 15px;font-size:15.5px;line-height:1.65}.arena-review{counter-reset:none;gap:11px;margin:0 0 18px;padding:0;list-style:none;display:grid}.arena-review li{grid-template-columns:18px minmax(0,1fr);align-items:start;gap:9px;display:grid}.arena-review-mark{font-size:12px;line-height:1.6}.arena-review .is-right,.arena-review li.is-right .arena-review-mark{color:var(--ok)}.arena-review li.is-wrong .arena-review-mark{color:var(--bad)}.arena-review-technique{color:var(--fg);font-size:14px;font-weight:500;display:block}.arena-review-technique em{color:var(--gray-400);font-family:var(--font-jetbrains,ui-monospace), ui-monospace, monospace;margin-left:7px;font-size:10.5px;font-style:normal}.arena-review-why{color:var(--gray-500);margin-top:2px;font-size:14px;line-height:1.6;display:block}@media (max-width:720px){body{font-size:16px}.head{flex-wrap:wrap;gap:8px 14px}.head-meta{order:3;width:100%}.intro{gap:20px;margin-top:34px}.intro p{font-size:19px}.avatar{border-radius:13px;width:76px;height:76px;font-size:20px}.row{grid-template-columns:84px minmax(0,1fr);gap:13px}.dialog-backdrop{padding:0}.dialog{border:0;border-radius:0;max-height:100dvh}.dialog-columns{grid-template-columns:minmax(0,1fr);gap:0}.arena-actions{grid-template-columns:minmax(0,1fr)}}@media (max-width:430px){.intro{grid-template-columns:minmax(0,1fr)}.avatar{order:-1}.row{grid-template-columns:minmax(0,1fr);gap:3px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.chip:hover{transform:none}[data-rise],[data-rise].stagger>*{opacity:1!important;transform:none!important}.ticker-move{animation:none;transform:none}.ticker{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.row-open .row-title:after{transform:scaleX(1)}}.chat-how{color:var(--accent);letter-spacing:.01em;font-size:11px;font-weight:600}
