:root{--bg:#0b0b10;--bg-elev:#14141c;--bg-elev-2:#1c1c27;--line:#2a2a38;--text:#f4f4f7;--muted:#a0a0b4;--accent:#ff4f5e;--accent-2:#ffb547;--ok:#3ddc97;--warn:#ffb547;--bad:#ff5d6c;--focus:#7cc4ff;--shadow:0 24px 60px -20px #000000bf;--radius:14px;--gutter:clamp(16px, 4vw, 56px);--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "Cascadia Code", "SFMono-Regular", Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f6f5f2;--bg-elev:#fff;--bg-elev-2:#efeee9;--line:#dcdad2;--text:#15151c;--muted:#5d5d6e;--accent:#e0303f;--accent-2:#c07a00;--ok:#138a5a;--warn:#a86500;--bad:#c52434;--focus:#1a6fd1;--shadow:0 22px 50px -24px #14142859;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){:root[data-theme=system]{--bg:#f6f5f2;--bg-elev:#fff;--bg-elev-2:#efeee9;--line:#dcdad2;--text:#15151c;--muted:#5d5d6e;--accent:#e0303f;--accent-2:#c07a00;--ok:#138a5a;--warn:#a86500;--bad:#c52434;--focus:#1a6fd1;--shadow:0 22px 50px -24px #14142859;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);margin:0;line-height:1.55;overflow-x:hidden}a{color:inherit}img{max-width:100%;display:block}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.skip{z-index:100;background:var(--text);color:var(--bg);border-radius:8px;padding:8px 14px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.header{z-index:40;padding:14px var(--gutter);background:linear-gradient(to bottom, color-mix(in srgb, var(--bg) 92%, transparent), color-mix(in srgb, var(--bg) 0%, transparent));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;gap:16px;display:flex;position:sticky;top:0}.logo{letter-spacing:-.04em;align-items:baseline;gap:2px;font-size:1.6rem;font-weight:900;text-decoration:none;display:flex}.logo b{color:var(--accent)}.logo small{color:var(--muted);letter-spacing:.02em;margin-left:8px;font-size:.7rem;font-weight:600}.header nav{gap:4px;margin-left:8px;display:flex}.header nav a{color:var(--muted);border-radius:8px;padding:6px 10px;font-size:.92rem;font-weight:600;text-decoration:none}.header nav a:hover,.header nav a[aria-current=page]{color:var(--text);background:var(--bg-elev-2)}.header .spacer{flex:1}@media (max-width:640px){.header nav,.logo small{display:none}}.btn{min-height:44px;font:inherit;cursor:pointer;background:var(--text);color:var(--bg);border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:700;text-decoration:none;transition:transform .15s,background .15s,opacity .15s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.accent{background:var(--accent);color:#fff}.btn.ghost{background:color-mix(in srgb, var(--text) 12%, transparent);color:var(--text)}.btn.line{color:var(--text);border-color:var(--line);background:0 0}.btn.small{min-height:34px;padding:6px 12px;font-size:.88rem}.icon-btn{border:1px solid var(--line);background:var(--bg-elev);width:40px;height:40px;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;font-size:1.05rem;display:grid}.input,.textarea,.select{width:100%;font:inherit;color:var(--text);background:var(--bg-elev);border:1px solid var(--line);border-radius:10px;min-height:44px;padding:10px 12px}.textarea{resize:vertical;min-height:120px;line-height:1.5}.textarea.code{font-family:var(--mono);min-height:420px;font-size:.86rem}.field{gap:6px;display:grid}.field>span{font-size:.9rem;font-weight:700}.field small{color:var(--muted)}.search{background:var(--bg-elev);border:1px solid var(--line);border-radius:999px;align-items:center;gap:8px;width:min(320px,100%);min-height:40px;padding:0 14px;display:flex}.search input{color:var(--text);font:inherit;background:0 0;border:0;outline:none;width:100%;min-height:38px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);background:var(--bg-elev);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;min-height:36px;padding:6px 14px;font-size:.88rem;font-weight:600}.chip[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}.hero{isolation:isolate;min-height:min(72vh,640px);padding:120px var(--gutter) 64px;align-items:flex-end;margin-top:-72px;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:-2;background:var(--hero-grad);position:absolute;inset:0}.hero-bg:after{content:"";background:radial-gradient(1200px 500px at 85% 20%, transparent, color-mix(in srgb, var(--bg) 35%, transparent)), linear-gradient(to top, var(--bg) 2%, color-mix(in srgb, var(--bg) 70%, transparent) 40%, transparent 75%), linear-gradient(to right, color-mix(in srgb, var(--bg) 85%, transparent), transparent 70%);position:absolute;inset:0}.hero-mark{right:var(--gutter);z-index:-1;letter-spacing:-.06em;color:#ffffff24;-webkit-user-select:none;user-select:none;font-size:clamp(6rem,22vw,18rem);font-weight:900;line-height:1;animation:14s ease-in-out infinite alternate drift;position:absolute;top:50%;transform:translateY(-55%)}.hero-content{max-width:640px;animation:.7s cubic-bezier(.2,.8,.2,1) both rise}.kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-2);align-items:center;gap:8px;font-size:.78rem;font-weight:800;display:inline-flex}.kicker .dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 30%, transparent);border-radius:50%}.hero h1{letter-spacing:-.045em;margin:12px 0;font-size:clamp(2.4rem,6.5vw,5rem);font-weight:900;line-height:.98}.hero p{color:color-mix(in srgb, var(--text) 85%, transparent);margin:0 0 22px;font-size:clamp(1rem,1.6vw,1.2rem)}.hero .actions{flex-wrap:wrap;gap:12px;display:flex}.meta{color:var(--muted);flex-wrap:wrap;gap:14px;margin-bottom:14px;font-size:.86rem;display:flex}.meta .badge{color:var(--text);border:1px solid color-mix(in srgb, var(--text) 35%, transparent);letter-spacing:.06em;text-transform:uppercase;border-radius:6px;padding:1px 8px;font-size:.74rem;font-weight:800}.toolbar{padding:8px var(--gutter) 4px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.row{margin:26px 0 8px;animation:.6s cubic-bezier(.2,.8,.2,1) both rise;position:relative}.row h2{letter-spacing:-.01em;margin:0 var(--gutter) 10px;font-size:clamp(1.05rem,1.8vw,1.35rem);font-weight:800}.track{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0 var(--gutter);padding:18px var(--gutter) 38px;scrollbar-width:none;gap:12px;margin:-18px 0 -30px;display:flex;overflow-x:auto}.track::-webkit-scrollbar{display:none}.row-nav{width:calc(var(--gutter) - 4px);z-index:5;background:color-mix(in srgb, var(--bg) 70%, transparent);min-width:40px;color:var(--text);cursor:pointer;opacity:0;border:0;font-size:1.8rem;transition:opacity .2s;position:absolute;top:44px;bottom:8px}.row:hover .row-nav,.row-nav:focus-visible{opacity:1}.row-nav[hidden]{display:none}.row-nav.prev{left:0}.row-nav.next{right:0}@media (hover:none){.row-nav{display:none}}.card{--w:clamp(220px, 26vw, 320px);flex:0 0 var(--w);scroll-snap-align:start;border-radius:var(--radius);background:var(--bg-elev);box-shadow:0 1px 0 var(--line);transform-origin:50% 30%;text-decoration:none;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s,z-index 0s .28s;position:relative}.card:hover,.card:focus-visible{box-shadow:var(--shadow);z-index:4;transition-delay:80ms,80ms,0s;transform:scale(1.06)translateY(-4px)}.card .poster{aspect-ratio:16/9;border-radius:var(--radius) var(--radius) 0 0;background:linear-gradient(135deg, var(--from), var(--to));position:relative;overflow:hidden}.card .poster img{object-fit:cover;width:100%;height:100%}.card .poster .mark{letter-spacing:-.05em;color:#ffffffe6;text-shadow:0 6px 30px #00000059;font-size:clamp(2.2rem,4vw,3.2rem);font-weight:900;transition:transform .4s cubic-bezier(.2,.8,.2,1);position:absolute;inset:auto 12px 6px auto}.card:hover .poster .mark{transform:translateY(-4px)rotate(-3deg)scale(1.06)}.card .poster:after{content:"";background:linear-gradient(#0000 45%,#00000073);position:absolute;inset:0}.card .kind{z-index:1;letter-spacing:.12em;text-transform:uppercase;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;border-radius:6px;padding:4px 8px;font-size:.68rem;font-weight:900;position:absolute;top:10px;left:10px}.card .kind.topic{background:var(--accent)}.card .draft-tag{z-index:2;letter-spacing:.12em;text-transform:uppercase;background:var(--warn);color:#1b1306;border-radius:6px;padding:4px 8px;font-size:.68rem;font-weight:900;position:absolute;top:10px;right:10px}.notice-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;display:flex}.card .body{padding:12px 14px 14px}.card h3{letter-spacing:-.01em;margin:0;font-size:1rem;line-height:1.25}.card .sub{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:4px 0 0;font-size:.86rem;display:-webkit-box;overflow:hidden}.card .more{grid-template-rows:0fr;transition:grid-template-rows .28s;display:grid}.card .more>div{overflow:hidden}.card:hover .more,.card:focus-visible .more{grid-template-rows:1fr}.card .tags{color:var(--muted);flex-wrap:wrap;gap:6px;padding-top:10px;font-size:.75rem;display:flex}.card .tags span:before{content:"#";opacity:.6}.grid{padding:16px var(--gutter) 48px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;display:grid}.grid .card{--w:auto}.empty{padding:48px var(--gutter);text-align:center;color:var(--muted)}.banner{isolation:isolate;padding:140px var(--gutter) 48px;margin-top:-72px;position:relative;overflow:hidden}.banner h1{letter-spacing:-.04em;max-width:18ch;margin:10px 0 12px;font-size:clamp(2rem,5.5vw,4.2rem);font-weight:900;line-height:1;animation:.6s cubic-bezier(.2,.8,.2,1) both rise}.banner p.lead{max-width:60ch;color:color-mix(in srgb, var(--text) 88%, transparent);margin:0;font-size:clamp(1.02rem,1.6vw,1.25rem);animation:.6s cubic-bezier(.2,.8,.2,1) 80ms both rise}.back{color:var(--muted);align-items:center;gap:6px;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.back:hover{color:var(--text)}.article h2,.article h3{-webkit-hyphens:manual;hyphens:manual;text-wrap:balance}.article{max-width:calc(980px + 2 * var(--gutter));padding:24px var(--gutter) 80px;-webkit-hyphens:auto;hyphens:auto;margin:0 auto;font-size:1.1rem;line-height:1.7}.article h2{letter-spacing:-.02em;margin:2.2em 0 .5em;font-size:1.6rem;line-height:1.2}.article h3{margin:1.8em 0 .4em;font-size:1.25rem}.article p,.article li{color:color-mix(in srgb, var(--text) 90%, transparent)}.article a{color:var(--accent)}.article blockquote{border-left:4px solid var(--accent);color:var(--muted);margin:1.4em 0;padding:4px 18px}.article pre,.code{background:var(--bg-elev-2);border:1px solid var(--line);font-family:var(--mono);border-radius:12px;padding:14px 16px;font-size:.86rem;line-height:1.5;overflow-x:auto}.article code{font-family:var(--mono);background:var(--bg-elev-2);border-radius:6px;padding:1px 6px;font-size:.9em}.article pre code{background:0 0;padding:0}.article table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.article th,.article td{border-bottom:1px solid var(--line);text-align:left;padding:8px 10px}.article img{border-radius:12px;margin:1.4em 0}.provenance{border:1px dashed var(--line);color:var(--muted);border-radius:12px;margin-top:48px;padding:14px 16px;font-size:.86rem}.topic-wrap{padding:28px var(--gutter) 80px}.topic-sections{gap:18px;max-width:1100px;display:grid}.panel{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(16px,3vw,28px)}.panel h2{letter-spacing:-.01em;margin:0 0 8px;font-size:1.3rem}.panel h3{margin:18px 0 6px}.admin{max-width:1100px;padding:24px var(--gutter) 80px;margin:0 auto}.admin h1{letter-spacing:-.03em;margin:8px 0 18px;font-size:clamp(1.8rem,4vw,2.8rem)}.type-pick{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:24px;display:grid}.type-pick button{text-align:left;border:2px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);color:var(--text);cursor:pointer;font:inherit;padding:18px;transition:border-color .2s,transform .2s}.type-pick button:hover{transform:translateY(-2px)}.type-pick button[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent)}.type-pick strong{margin-bottom:4px;font-size:1.1rem;display:block}.form{gap:16px;display:grid}.form .two{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.steps{gap:10px;margin:0;padding:0;list-style:none;display:grid}.step{border:1px solid var(--line);background:var(--bg-elev);border-radius:12px;grid-template-columns:28px 1fr auto;align-items:start;gap:12px;padding:12px 14px;animation:.35s both rise;display:grid}.step .st{border-radius:50%;place-items:center;width:22px;height:22px;margin-top:2px;font-size:.8rem;font-weight:900;display:grid}.step.running .st{border:3px solid var(--line);border-top-color:var(--accent);animation:.8s linear infinite spin}.step.done .st{background:var(--ok);color:#04130c}.step.failed .st{background:var(--bad);color:#fff}.step.skipped .st{background:var(--bg-elev-2);color:var(--muted)}.step ul{color:var(--muted);margin:6px 0 0;padding-left:18px;font-size:.88rem}.step .t{color:var(--muted);white-space:nowrap;font-size:.8rem}.notice{border:1px solid var(--line);background:var(--bg-elev);border-radius:12px;padding:12px 16px}.notice.ok{border-color:color-mix(in srgb, var(--ok) 60%, var(--line))}.notice.bad{border-color:color-mix(in srgb, var(--bad) 60%, var(--line))}.notice.warn{border-color:color-mix(in srgb, var(--warn) 60%, var(--line))}.split{grid-template-columns:1fr 1fr;gap:18px;display:grid}@media (max-width:900px){.split{grid-template-columns:1fr}}.preview{border:1px solid var(--line);background:var(--bg);border-radius:12px;max-height:640px;overflow:auto}.preview .article{padding:8px 20px 24px;font-size:1rem}.swatch{align-items:center;gap:10px;display:flex}.swatch input[type=color]{border:1px solid var(--line);background:0 0;border-radius:10px;width:44px;height:44px;padding:2px}.mini-card{pointer-events:none;max-width:320px}.footer{padding:40px var(--gutter);color:var(--muted);border-top:1px solid var(--line);margin-top:40px;font-size:.86rem}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes drift{0%{transform:translateY(-55%)translate(0)rotate(-2deg)}to{transform:translateY(-50%)translate(-24px)rotate(2deg)}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.hero-bg{overflow:hidden}.hero .hero-bg:after{background:linear-gradient(to top, var(--bg) 0%, color-mix(in srgb, var(--bg) 55%, transparent) 30%, transparent 65%), linear-gradient(to right, color-mix(in srgb, var(--bg) 80%, transparent) 0%, color-mix(in srgb, var(--bg) 35%, transparent) 50%, transparent 80%)}.hero-art{object-fit:cover;transform-origin:70% 40%;width:100%;height:100%;animation:26s ease-in-out infinite alternate kenburns;display:block;position:absolute;inset:0}.banner .hero-bg{background:var(--bg)}.poster-art{width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.8,.2,1);display:block;position:absolute;inset:0}.card:hover .poster-art,.card:focus-visible .poster-art{transform:scale(1.08)}.card .poster img{transition:transform .6s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.card:hover .poster img{transform:scale(1.06)}.card .poster .mark{z-index:1}.card .poster:after{z-index:0}.card .kind{z-index:2}.hero-carousel{isolation:isolate;height:clamp(480px,72vh,660px);margin-top:-72px;position:relative;overflow:hidden}.hero-track{will-change:transform;height:100%;transition:transform .9s cubic-bezier(.65,0,.35,1);display:flex}.hero-slide{isolation:isolate;height:100%;padding:120px var(--gutter) 88px;flex:0 0 100%;align-items:flex-end;display:flex;position:relative;overflow:hidden}.hero-slide-bg{z-index:-2;transition:transform .9s cubic-bezier(.65,0,.35,1);position:absolute;inset:0}.hero-slide-bg:after{content:"";background:linear-gradient(to top, var(--bg) 0%, color-mix(in srgb, var(--bg) 55%, transparent) 30%, transparent 65%), linear-gradient(to right, color-mix(in srgb, var(--bg) 80%, transparent) 0%, color-mix(in srgb, var(--bg) 35%, transparent) 50%, transparent 80%);position:absolute;inset:0}.hero-slide .hero-content{opacity:0;max-width:min(640px,100%);transition:opacity .6s .25s,transform .8s cubic-bezier(.2,.8,.2,1) .2s;animation:none;transform:translate(48px)}.hero-slide[data-active=true] .hero-content{opacity:1;transform:none}.hero-title{letter-spacing:-.045em;text-wrap:balance;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:12px 0;font-size:clamp(2.4rem,6.5vw,5rem);font-weight:900;line-height:.98;display:-webkit-box;overflow:hidden}.hero-title.title-l{max-width:20ch;font-size:clamp(2rem,4.6vw,3.6rem)}.hero-title.title-xl{max-width:24ch;font-size:clamp(1.7rem,3.8vw,2.9rem)}.hero-summary{color:color-mix(in srgb, var(--text) 85%, transparent);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 22px;font-size:clamp(1rem,1.6vw,1.2rem);display:-webkit-box;overflow:hidden}.hero-arrow{z-index:3;border:1px solid color-mix(in srgb, var(--text) 25%, transparent);background:color-mix(in srgb, var(--bg) 55%, transparent);width:48px;height:48px;color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;border-radius:50%;margin-top:-24px;font-size:1.8rem;line-height:1;transition:opacity .25s,transform .25s,background .2s;position:absolute;top:50%}.hero-arrow.prev{left:max(12px, calc(var(--gutter) / 3))}.hero-arrow.next{right:max(12px, calc(var(--gutter) / 3))}.hero-carousel:hover .hero-arrow,.hero-arrow:focus-visible{opacity:1}.hero-arrow:hover{background:color-mix(in srgb, var(--bg) 80%, transparent);transform:scale(1.06)}@media (hover:none){.hero-arrow{display:none}}.hero-dots{z-index:3;left:var(--gutter);gap:8px;display:flex;position:absolute;bottom:32px}.hero-dots button{cursor:pointer;background:0 0;border:0;width:36px;height:20px;padding:8px 0}.hero-dots button:before{content:"";background:color-mix(in srgb, var(--text) 28%, transparent);border-radius:99px;height:4px;display:block}.hero-dots button{position:relative}.hero-dot-fill{background:var(--text);border-radius:99px;width:0;height:4px;position:absolute;top:8px;left:0}.hero-dots button[aria-current=true] .hero-dot-fill{animation:linear forwards dotfill}@keyframes dotfill{0%{width:0}to{width:100%}}@media (prefers-reduced-motion:reduce){.hero-track,.hero-slide-bg,.hero-slide .hero-content{transition:none}.hero-dots button[aria-current=true] .hero-dot-fill{width:100%;animation:none}}@media (max-width:640px){.hero-slide{padding-bottom:76px}.hero-dots{bottom:26px}}.hero h1.title-l{max-width:20ch;font-size:clamp(2rem,4.6vw,3.6rem)}.hero h1.title-xl{max-width:24ch;font-size:clamp(1.7rem,3.8vw,2.9rem)}.banner h1{max-width:22ch}.job-corner{z-index:60;width:min(380px,100vw - 32px);right:max(16px, env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));pointer-events:none;justify-items:end;gap:10px;display:grid;position:fixed}.job-corner>*{pointer-events:auto}.job-corner .toast{width:100%}.job-dock{justify-items:end;gap:8px;display:grid;position:relative}.job-pill{border:1px solid var(--line);background:var(--bg-elev);color:var(--text);font:inherit;cursor:pointer;box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:10px;padding:9px 16px;font-size:.86rem;font-weight:700;display:inline-flex}.job-pill:hover{border-color:var(--text)}.job-spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}.job-menu{border:1px solid var(--line);background:var(--bg-elev);width:min(340px,100vw - 32px);box-shadow:var(--shadow);border-radius:14px;gap:2px;margin:0;padding:6px;list-style:none;animation:.2s both rise;display:grid}.job-menu a{border-radius:10px;grid-template-columns:12px minmax(0,1fr);align-items:center;gap:10px;padding:8px 10px;text-decoration:none;display:grid}.job-menu a:hover,.job-menu a[aria-current=page]{background:var(--bg-elev-2)}.job-menu b{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;display:block;overflow:hidden}.job-menu small{color:var(--muted);font-size:.78rem}.job-state{background:var(--muted);border-radius:50%;width:10px;height:10px}.job-state.running{background:var(--accent);animation:1.2s ease-in-out infinite pulse}.job-state.done{background:var(--ok)}.job-state.error{background:var(--bad)}@keyframes pulse{50%{opacity:.35}}.drafts{margin-bottom:24px}.drafts ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.drafts li{border:1px solid var(--line);background:var(--bg);border-radius:12px;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.drafts li[aria-current=true]{border-color:var(--accent)}.drafts strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.drafts small{color:var(--muted);font-size:.8rem}.drafts-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}@media (max-width:640px){.drafts li{grid-template-columns:12px minmax(0,1fr)}.drafts-actions{grid-column:1/-1;justify-content:flex-start}}.toast{background:var(--bg-elev);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;animation:.35s cubic-bezier(.2,.8,.2,1) both rise;display:grid}.toast.ok{border-left:4px solid var(--ok)}.toast.bad{border-left:4px solid var(--bad)}.toast p{color:var(--muted);overflow-wrap:anywhere;margin:2px 0 0;font-size:.88rem}.toast-actions{align-items:center;gap:6px;display:flex}.toast .icon-btn{width:32px;height:32px;font-size:.8rem}.style-pick{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;display:grid}.style-pick button{border:2px solid var(--line);background:var(--bg-elev);color:var(--text);font:inherit;cursor:pointer;text-align:center;border-radius:12px;gap:6px;padding:6px;font-size:.82rem;font-weight:700;display:grid}.style-pick button[aria-checked=true]{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent)}.style-thumb{aspect-ratio:16/9;border-radius:8px;width:100%;display:block}@keyframes kenburns{0%{transform:scale(1)}to{transform:scale(1.12)translate(-1.5%,1%)}}@keyframes heroIn{0%{opacity:0;transform:scale(1.03)}to{opacity:1;transform:none}}.banner.compact{padding-top:104px;padding-bottom:22px}.banner.compact h1{margin:6px 0 0;font-size:clamp(1.6rem,3.6vw,2.4rem)}.banner.compact .hero-mark{font-size:clamp(4rem,12vw,9rem)}.theme-switch{border:1px solid var(--line);background:var(--bg-elev);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.theme-switch button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;min-height:32px;padding:6px 10px;font-size:.82rem;font-weight:700;transition:background .2s,color .2s;display:inline-flex}.theme-switch button:hover{color:var(--text)}.theme-switch button[aria-checked=true]{background:var(--text);color:var(--bg)}@media (max-width:760px){.theme-switch .theme-label{display:none}}.banner .kicker{display:flex}.banner .back{margin-bottom:4px}.topic-banner,.topic-wrap{--topic-inset:max(var(--gutter), calc((100% - max(1240px, 80vw)) / 2));padding-left:var(--topic-inset);padding-right:var(--topic-inset)}.topic-banner .hero-mark{right:var(--topic-inset)}.hero-content{overflow-wrap:anywhere;min-width:0;max-width:min(640px,100%)}.panel pre.code{white-space:pre-wrap;word-break:break-word}@media (max-width:520px){.header{gap:10px}.header .add-label{display:none}.hero{padding-top:104px}.hero-mark{opacity:.6}}.present-start{left:max(16px, env(safe-area-inset-left));bottom:max(16px, env(safe-area-inset-bottom));z-index:70;font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--bg-elev);color:var(--text);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:8px;padding:11px 16px;font-size:.92rem;font-weight:800;display:inline-flex;position:fixed}.present-start:hover{border-color:var(--text)}html.presenting{font-size:clamp(16px,.55vw + 10px,26px);overflow:hidden}html.presenting body{overflow:hidden}html.presenting [data-current]{z-index:90;overscroll-behavior:contain;background:var(--bg);max-width:none;min-height:100vh;padding:7vh max(var(--gutter), 7vw) 12vh;border:0;align-content:center;margin:0;display:grid;position:fixed;inset:0;overflow-y:auto}html.presenting [data-current]>*{animation:.35s cubic-bezier(.2,.8,.2,1) both present-in}html.presenting .banner[data-current]{padding-top:7vh}html.presenting .article [data-current]{grid-template-columns:minmax(0,60rem);justify-content:center}html.presenting .banner[data-current] h1{max-width:20ch;font-size:clamp(2.6rem,6vw,5.4rem)}html.presenting [data-current] .back,html.presenting [data-current] [data-present-hide]{display:none}html.presenting [data-reveal]{opacity:1!important;transform:none!important}[data-pending]{opacity:0;visibility:hidden}html.presenting [data-current] [data-step]{transition:opacity .45s,transform .45s cubic-bezier(.2,.8,.2,1),visibility}html.presenting [data-current] [data-step][data-pending]{transform:translateY(14px)}@keyframes present-in{0%{translate:0 10px}to{translate:0}}.present-bar{z-index:95;left:50%;bottom:max(14px, env(safe-area-inset-bottom));background:color-mix(in srgb, var(--bg-elev) 85%, transparent);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--muted);opacity:.35;border-radius:999px;align-items:center;gap:4px;padding:6px 8px;font-size:14px;transition:opacity .2s;display:flex;position:fixed;overflow:hidden;transform:translate(-50%)}.present-bar:hover,.present-bar:focus-within{opacity:1}.present-bar span{font-variant-numeric:tabular-nums;white-space:nowrap;padding:0 8px}.present-bar button{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;width:34px;height:34px;font-size:16px}.present-bar button:hover{background:var(--bg-elev-2)}.present-progress{background:var(--accent);transform-origin:0;height:3px;transition:transform .3s;position:absolute;bottom:0;left:0;right:0}@media (prefers-reduced-motion:reduce){html.presenting [data-current],html.presenting [data-current] *{transition:none!important;animation:none!important}}html.ask-docked body{padding-right:var(--ask-width);transition:padding-right .28s cubic-bezier(.2,.8,.2,1)}html.ask-docked body:has([data-dragging]){cursor:ew-resize;-webkit-user-select:none;user-select:none;transition:none}html.presenting body{padding-right:0}
:root{--s1:#3987e5;--s2:#d95926;--s3:#199e70;--s4:#c98500;--s-other:#6b6b78;--kb-surface:var(--bg-elev);--kb-grid:#2c2c36;--kb-axis:#8a8a98}:root[data-theme=light]{--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a;--s4:#eda100;--s-other:#a3a29b;--kb-grid:#e1e0d9;--kb-axis:#6b6a66}@media (prefers-color-scheme:light){:root[data-theme=system]{--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a;--s4:#eda100;--s-other:#a3a29b;--kb-grid:#e1e0d9;--kb-axis:#6b6a66}}.kb{margin:1.8em 0;font-size:.98rem}.kb p{margin:0}.kb-error{border:1px dashed var(--bad);color:var(--bad);border-radius:10px;padding:10px 14px;font-size:.88rem}.kb-chart{background:var(--kb-surface);border:1px solid var(--line);border-radius:16px;padding:18px 18px 12px}.kb-chart-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.kb-chart figcaption{letter-spacing:-.01em;text-wrap:balance;font-size:1.02rem;font-weight:800}.kb-toggle{border:1px solid var(--line);color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:700}.kb-toggle:hover{color:var(--text);border-color:var(--text)}.kb .kb-source{color:var(--muted);margin-top:10px;font-size:.78rem}.kb-source a{color:inherit;text-underline-offset:2px;text-decoration:underline}.kb-table-wrap{overflow-x:auto}.article .kb-table,.kb-table{border-collapse:collapse;width:100%;font-size:.9rem;display:table}.kb-table th,.kb-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}.kb-table thead th{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.74rem}.kb-table td{font-variant-numeric:tabular-nums}.kb-legend{color:var(--text);flex-wrap:wrap;gap:6px 16px;margin:0 0 10px;padding:0;font-size:.84rem;list-style:none;display:flex}.kb-legend li{align-items:center;gap:8px;transition:opacity .2s;display:inline-flex}.kb-legend li[data-dim=true]{opacity:.4}.kb-key{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.kb-tooltip{z-index:5;pointer-events:none;background:var(--bg);color:var(--text);border:1px solid var(--line);box-shadow:var(--shadow);white-space:nowrap;border-radius:10px;gap:2px;padding:6px 10px;font-size:.82rem;display:grid;position:absolute}.kb-tooltip span{align-items:center;gap:6px;display:inline-flex}.kb-bars{gap:10px;padding:0 0 22px;display:grid;position:relative}.kb-bars-grid{pointer-events:none;position:absolute;inset:0 0 0 calc(min(36%,220px) + 12px)}.kb-bars-grid span{background:var(--kb-grid);width:1px;position:absolute;top:0;bottom:18px}.kb-bars-grid i{color:var(--kb-axis);font-variant-numeric:tabular-nums;font-size:.72rem;font-style:normal;position:absolute;bottom:-18px;transform:translate(-50%)}.kb-bar-row{outline:none;grid-template-columns:min(36%,220px) minmax(0,1fr);align-items:center;gap:12px;transition:opacity .2s;display:grid;position:relative}.kb-bar-row[data-dim=true]{opacity:.45}.kb-bar-row:focus-visible .kb-bar{box-shadow:0 0 0 3px var(--focus)}.kb-bar-label{color:var(--text);text-align:right;font-size:.86rem;line-height:1.25}.kb-bar-track{height:20px;margin-right:72px;position:relative}.kb-bar{background:var(--s1);border-radius:0 4px 4px 0;height:18px;margin-top:1px;transition:width .9s cubic-bezier(.2,.8,.2,1);display:block}.kb-bar-value{color:var(--text);white-space:nowrap;margin-left:8px;font-size:.82rem;font-weight:700;line-height:20px;transition:left .9s cubic-bezier(.2,.8,.2,1);position:absolute;top:0}.kb-bar-row .kb-tooltip{top:-34px;right:0}@media (max-width:560px){.kb-bar-row{grid-template-columns:minmax(0,1fr);gap:4px}.kb-bar-label{text-align:left}.kb-bars-grid{display:none}}.kb-line-wrap{position:relative}.kb-line{touch-action:pan-y;width:100%;height:auto;display:block}.kb-grid{stroke:var(--kb-grid);stroke-width:1px}.kb-axis{fill:var(--kb-axis);font-variant-numeric:tabular-nums;font-size:11px}.kb-path{stroke-dasharray:1;stroke-dashoffset:1px}.kb-line.is-in .kb-path{animation:1.4s cubic-bezier(.4,0,.2,1) forwards kb-draw}.kb-dot{stroke:var(--kb-surface);stroke-width:2px}.kb-cross{stroke:var(--kb-axis);stroke-width:1px}.kb-tooltip-line{top:8px;transform:translate(-50%)}.kb-donut{grid-template-columns:minmax(150px,220px) minmax(0,1fr);align-items:center;gap:20px;display:grid}@media (max-width:560px){.kb-donut{grid-template-columns:minmax(0,1fr);justify-items:center}}.kb-donut svg{width:100%;max-width:220px;height:auto}.kb-slice{stroke-linecap:butt;cursor:pointer;transition:stroke-dasharray 1s cubic-bezier(.2,.8,.2,1),stroke-width .2s,opacity .2s}.kb-slice[data-dim=true]{opacity:.35}.kb-donut-value{fill:var(--text);font-size:22px;font-weight:800}.kb-legend-col{flex-direction:column;gap:8px}.kb-legend-col li{cursor:default;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;display:grid}.kb-legend-col b{font-variant-numeric:tabular-nums}.kb-stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px;display:grid}.kb-stat{background:var(--kb-surface);border:1px solid var(--line);opacity:.001;border-radius:16px;align-content:start;gap:6px;padding:18px;transition:opacity .6s,transform .6s cubic-bezier(.2,.8,.2,1);display:grid;transform:translateY(10px)}.kb-stats.is-in .kb-stat{opacity:1;transform:none}.kb-stat-value{letter-spacing:-.03em;font-size:clamp(1.8rem,4vw,2.4rem);font-weight:900;line-height:1}.kb-stat-label{color:color-mix(in srgb, var(--text) 85%, transparent);font-size:.9rem;line-height:1.4}.article .kb-stat-source,.kb-stat-source{color:var(--muted);margin-top:4px;font-size:.74rem}.kb-compare figcaption{margin-bottom:10px;font-weight:800}.kb-compare .kb-table{background:var(--kb-surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.kb-compare tbody th{white-space:nowrap;font-weight:700}.kb-timeline{gap:18px;padding:0 0 0 26px;list-style:none;display:grid;position:relative}.kb-timeline:before{content:"";background:var(--line);width:2px;position:absolute;top:6px;bottom:6px;left:7px}.kb-timeline li{opacity:.001;gap:2px;transition:opacity .5s,transform .5s;display:grid;position:relative;transform:translate(-8px)}.kb-timeline.is-in li{opacity:1;transform:none}.kb-timeline li:before{content:"";background:var(--s1);width:12px;height:12px;box-shadow:0 0 0 3px var(--bg);border-radius:50%;position:absolute;top:5px;left:-24px}.kb-date{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.76rem;font-weight:800}.kb-timeline p{color:color-mix(in srgb, var(--text) 85%, transparent)}.kb-steps{counter-reset:kb;gap:12px;padding:0;list-style:none;display:grid}.kb-steps li{counter-increment:kb;background:var(--kb-surface);border:1px solid var(--line);border-radius:14px;grid-template-columns:34px minmax(0,1fr);gap:4px 14px;padding:14px 16px;display:grid}.kb-steps li:before{content:counter(kb);background:var(--text);width:30px;height:30px;color:var(--bg);border-radius:50%;grid-row:span 2;place-items:center;font-size:.86rem;font-weight:800;display:grid}.kb-flow-wrap{container:kbflow/inline-size}.kb-flow{align-items:stretch;gap:0;display:flex}.kb-flow-step{opacity:.001;flex:1 1 0;align-items:center;min-width:0;transition:opacity .5s,transform .5s;display:flex;transform:translateY(8px)}.kb-flow-step:last-child{flex-grow:.78}.kb-flow.is-in .kb-flow-step{opacity:1;transform:none}.kb-flow-node{background:var(--kb-surface);border:1px solid var(--line);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;border-radius:14px;flex:auto;align-content:center;align-self:stretch;gap:2px;min-width:0;padding:12px 14px;display:grid}.kb-flow-node small{color:var(--muted);font-size:.84rem;line-height:1.4}.kb-flow-arrow{background:var(--line);flex:none;width:28px;height:2px;margin:0 6px;position:relative}.kb-flow-arrow:after{content:"";border-left:7px solid var(--line);border-top:5px solid #0000;border-bottom:5px solid #0000;position:absolute;top:-4px;right:-2px}.kb-flow-arrow i{background:var(--s1);border-radius:50%;width:8px;height:8px;animation:2s cubic-bezier(.4,0,.2,1) infinite kb-zip;position:absolute;top:-3px;left:0}@container kbflow (max-width:560px){.kb-flow{flex-direction:column}.kb-flow-step{flex-direction:column;flex:none;align-items:stretch}.kb-flow-arrow{width:2px;height:22px;margin:4px 0 4px 28px}.kb-flow-arrow:after{display:none}.kb-flow-arrow i{animation-name:kb-drop;left:-3px}}@container kbflow (max-width:820px){.kb-flow:is([data-n="4"],[data-n="5"],[data-n="6"],[data-long=true]){flex-direction:column}.kb-flow:is([data-n="4"],[data-n="5"],[data-n="6"],[data-long=true]) .kb-flow-step{flex-direction:column;flex:none;align-items:stretch}.kb-flow:is([data-n="4"],[data-n="5"],[data-n="6"],[data-long=true]) .kb-flow-arrow{width:2px;height:22px;margin:4px 0 4px 28px}.kb-flow:is([data-n="4"],[data-n="5"],[data-n="6"],[data-long=true]) .kb-flow-arrow:after{display:none}.kb-flow:is([data-n="4"],[data-n="5"],[data-n="6"],[data-long=true]) .kb-flow-arrow i{animation-name:kb-drop;left:-3px}}@container kbflow (max-width:1180px){.kb-flow:is([data-n="5"],[data-n="6"])[data-long=true]{flex-direction:column}.kb-flow:is([data-n="5"],[data-n="6"])[data-long=true] .kb-flow-step{flex-direction:column;flex:none;align-items:stretch}.kb-flow:is([data-n="5"],[data-n="6"])[data-long=true] .kb-flow-arrow{width:2px;height:22px;margin:4px 0 4px 28px}.kb-flow:is([data-n="5"],[data-n="6"])[data-long=true] .kb-flow-arrow:after{display:none}.kb-flow:is([data-n="5"],[data-n="6"])[data-long=true] .kb-flow-arrow i{animation-name:kb-drop;left:-3px}}@container kbflow (min-width:480px) and (max-width:820px){.kb-flow:is([data-n="4"],[data-n="5"],[data-n="6"],[data-long=true]) .kb-flow-node{grid-template-columns:minmax(150px,.32fr) minmax(0,1fr);align-items:baseline;column-gap:20px;padding:14px 18px}.kb-flow:is([data-n="4"],[data-n="5"],[data-n="6"],[data-long=true]) .kb-flow-node small{font-size:.92rem}}@container kbflow (min-width:820px) and (max-width:1180px){.kb-flow:is([data-n="5"],[data-n="6"])[data-long=true] .kb-flow-node{grid-template-columns:minmax(170px,.28fr) minmax(0,1fr);align-items:baseline;column-gap:24px;padding:14px 18px}.kb-flow:is([data-n="5"],[data-n="6"])[data-long=true] .kb-flow-node small{font-size:.95rem}}.kb-callout{border:1px solid var(--line);background:var(--kb-surface);border-radius:14px;grid-template-columns:32px minmax(0,1fr);gap:12px;padding:14px 16px;display:grid}.kb-callout-icon{width:30px;height:30px;color:var(--bg);background:var(--s1);border-radius:50%;place-items:center;font-weight:900;display:grid}.kb-tone-tip .kb-callout-icon{background:var(--ok)}.kb-tone-warn .kb-callout-icon{background:var(--warn)}.kb-callout strong{margin-bottom:2px;display:block}.kb-faq{gap:8px;display:grid}.kb-faq details{border:1px solid var(--line);background:var(--kb-surface);border-radius:12px}.kb-faq summary{cursor:pointer;justify-content:space-between;gap:12px;padding:12px 16px;font-weight:700;list-style:none;display:flex}.kb-faq summary::-webkit-details-marker{display:none}.kb-faq summary:after{content:"+";font-weight:900;transition:transform .2s}.kb-faq details[open] summary:after{transform:rotate(45deg)}.kb-faq details p{color:color-mix(in srgb, var(--text) 85%, transparent);padding:0 16px 14px}@keyframes kb-draw{to{stroke-dashoffset:0}}@keyframes kb-zip{0%{opacity:0;left:0}20%,80%{opacity:1}to{opacity:0;left:calc(100% - 8px)}}@keyframes kb-drop{0%{opacity:0;top:0}20%,80%{opacity:1}to{opacity:0;top:calc(100% - 8px)}}@media (prefers-reduced-motion:reduce){.kb-path{stroke-dasharray:none;stroke-dashoffset:0}.kb-stat,.kb-timeline li,.kb-flow-step{opacity:1;transform:none}.kb-flow-arrow i{display:none}}
