@import"https://fonts.googleapis.com/css2?family=Onest:wght@400..800&family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--bg: #0c0b09;--bg-deep: #080807;--surface: #131210;--card: #171614;--hair: rgba(255, 255, 255, .09);--hair-strong: rgba(255, 255, 255, .16);--text: #f4f2ec;--text-2: #b9b6ad;--text-3: #807d74;--text-4: #4f4d46;--accent: #ffc815;--accent-ink: #151203;--accent-dim: rgba(255, 200, 21, .14);--live: #ff3b3b;--ok: #3ddc84;--warn: #ffc815;--bad: #ff6b35;--font-disp: "Onest", -apple-system, "Helvetica Neue", Arial, sans-serif;--font-serif: "Instrument Serif", Georgia, serif;--font-body: "Onest", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--ease: cubic-bezier(.65, 0, .35, 1);--ease-out: cubic-bezier(.22, 1, .36, 1);--fast: .16s;--base: .32s;--slow: .6s}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;padding:0}body{color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";background:var(--bg)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}::-moz-selection{background:var(--accent);color:var(--accent-ink)}::selection{background:var(--accent);color:var(--accent-ink)}*{scrollbar-width:thin;scrollbar-color:#2c2a25 transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:#262420;border-radius:8px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:#34322c;background-clip:padding-box}.disp{font-family:var(--font-disp);font-weight:700;letter-spacing:-.02em}.it{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:0}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.micro{font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.kicker{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3);display:inline-flex;align-items:center;gap:10px}.kicker:before{content:"//";color:var(--accent);font-weight:700;letter-spacing:0}.ghost{font-family:var(--font-disp);font-weight:800;line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.14);-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.ghost.accent{-webkit-text-stroke:1px rgba(255,200,21,.35)}.grain{position:relative}.grain>.grain-layer{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.4;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.45'/%3E%3C/svg%3E");mix-blend-mode:overlay}.idx{position:relative;display:grid;align-items:center;grid-template-columns:72px minmax(0,1fr) auto 48px;gap:24px;padding:28px 24px;border-top:1px solid var(--hair);transition:background var(--fast) var(--ease),color var(--fast) var(--ease);cursor:pointer}.idx:last-of-type{border-bottom:1px solid var(--hair)}.idx-num{font-family:var(--font-mono);font-size:13px;color:var(--text-4);transition:color var(--fast) var(--ease)}.idx-title{font-family:var(--font-disp);font-weight:700;letter-spacing:-.02em;font-size:clamp(22px,3vw,34px);line-height:1.05;color:var(--text);transition:color var(--fast) var(--ease)}.idx-sub{font-size:14px;color:var(--text-3);margin-top:6px;transition:color var(--fast) var(--ease)}.idx-meta{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-4);transition:color var(--fast) var(--ease);white-space:nowrap}.idx-arrow{justify-self:end;color:var(--text-4);transition:color var(--fast) var(--ease),transform var(--base) var(--ease-out)}.idx:hover{background:var(--accent)}.idx:hover .idx-title,.idx:hover .idx-sub,.idx:hover .idx-num,.idx:hover .idx-meta{color:var(--accent-ink)}.idx:hover .idx-arrow{color:var(--accent-ink);transform:translate(6px)}.idx:active{background:#e8b400}@media (max-width: 767px){.idx{grid-template-columns:40px minmax(0,1fr) 32px;gap:14px;padding:20px 12px}.idx .idx-meta{display:none}}.li-row{display:flex;align-items:baseline;gap:14px;padding:14px 4px;border-top:1px solid var(--hair);transition:background var(--fast) var(--ease),color var(--fast) var(--ease),padding var(--fast) var(--ease)}.li-row:last-of-type{border-bottom:1px solid var(--hair)}.li-num{font-family:var(--font-mono);font-size:11px;color:var(--text-4);transition:color var(--fast) var(--ease)}.li-title{font-weight:600;font-size:15px;color:var(--text);flex:1;min-width:0;transition:color var(--fast) var(--ease)}.li-meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--text-4);white-space:nowrap;transition:color var(--fast) var(--ease)}.li-row:hover{background:var(--accent);padding-left:12px;padding-right:12px}.li-row:hover .li-title,.li-row:hover .li-num,.li-row:hover .li-meta{color:var(--accent-ink)}.ticker{overflow:hidden;white-space:nowrap;display:flex;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);background:var(--bg-deep)}.ticker-track{display:inline-flex;align-items:center;gap:48px;padding:14px 24px;flex-shrink:0;min-width:100%}.ticker-item{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.ticker-item b{color:var(--accent);font-weight:700}@media (prefers-reduced-motion: no-preference){.ticker-track{animation:ticker 36s linear infinite}.ticker:hover .ticker-track{animation-play-state:paused}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-100%)}}}.topnav{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:32px;padding:0 clamp(20px,4vw,48px);height:64px;border-bottom:1px solid var(--hair);background:rgba(12,11,9,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.topnav-links{display:flex;align-items:center;gap:4px;flex:1;overflow-x:auto;scrollbar-width:none}.topnav-links::-webkit-scrollbar{display:none}.nav-link{font-family:var(--font-mono);font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);padding:8px 12px;white-space:nowrap;position:relative;transition:color var(--fast) var(--ease)}.nav-link:hover{color:var(--text)}.nav-link.on{color:var(--accent)}.nav-link.on:before{content:"//";margin-right:6px}.crumbs{display:flex;align-items:center;gap:10px;padding:14px clamp(20px,4vw,48px);border-bottom:1px solid var(--hair);font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-4)}.crumbs a{color:var(--text-3);transition:color var(--fast) var(--ease)}.crumbs a:hover{color:var(--accent)}.crumbs .here{color:var(--text)}.crumbs .sep{color:var(--text-4)}.wrap{max-width:1200px;margin:0 auto;padding-left:clamp(20px,4vw,48px);padding-right:clamp(20px,4vw,48px)}.wrap-narrow{max-width:880px;margin:0 auto;padding-left:clamp(20px,4vw,48px);padding-right:clamp(20px,4vw,48px)}.sect-head{position:relative;padding:clamp(48px,8vw,88px) 0 40px}.sect-head .ghost{position:absolute;top:8px;right:-8px;font-size:clamp(120px,22vw,280px);z-index:0}.sect-title{position:relative;z-index:1;font-family:var(--font-disp);font-weight:800;letter-spacing:-.03em;line-height:.95;font-size:clamp(48px,9vw,104px);margin:0}.sect-sub{position:relative;z-index:1;font-size:17px;color:var(--text-2);line-height:1.65;max-width:560px;margin:24px 0 0}.rule{display:flex;align-items:center;gap:16px}.rule .micro{color:var(--text-3)}.rule-line{flex:1;height:1px;background:var(--hair)}.rule b{font-family:var(--font-mono);font-size:10.5px;color:var(--text-4);font-weight:500}.panel{background:var(--surface);border:1px solid var(--hair)}.btn-solid{display:inline-flex;align-items:center;gap:10px;background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);border-radius:0;padding:14px 24px;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:background var(--fast) var(--ease),color var(--fast) var(--ease)}.btn-solid:hover{background:transparent;color:var(--accent)}.btn-line{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--text-2);border:1px solid var(--hair-strong);border-radius:0;padding:12px 20px;font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:border-color var(--fast) var(--ease),color var(--fast) var(--ease)}.btn-line:hover{color:var(--accent);border-color:var(--accent)}.u-link{position:relative;display:inline-flex;align-items:center;gap:8px;color:var(--text-2);font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;transition:color var(--fast) var(--ease)}.u-link:after{content:"";position:absolute;left:0;bottom:-4px;height:1px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform var(--base) var(--ease-out)}.u-link:hover{color:var(--accent)}.u-link:hover:after{transform:scaleX(1);transform-origin:left}.link-accent{transition:color var(--fast) var(--ease)}.link-accent:hover{color:var(--accent)!important}.tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;border:1px solid var(--hair-strong);color:var(--text-2)}.tag.acc{color:var(--accent);border-color:#ffc81580}.ctag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px}.onair{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--live)}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--live);box-shadow:0 0 10px #ff3b3bb3;animation:pulse 1.6s infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:.55}}.tabs{display:flex;gap:0;border-bottom:1px solid var(--hair)}.tabs button{background:none;border:none;padding:14px 22px;font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);position:relative;transition:color var(--fast) var(--ease)}.tabs button:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);transform:scaleX(0);transition:transform var(--base) var(--ease-out)}.tabs button:hover{color:var(--text)}.tabs button.on{color:var(--accent)}.tabs button.on:after{transform:scaleX(1)}.feed-row{display:grid;grid-template-columns:140px minmax(0,1fr) 48px;gap:24px;padding:36px 0;border-top:1px solid var(--hair);align-items:start;cursor:pointer}.feed-row:last-of-type{border-bottom:1px solid var(--hair)}.feed-date{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-4);padding-top:8px}.feed-title{font-family:var(--font-disp);font-weight:700;letter-spacing:-.02em;font-size:clamp(24px,3.4vw,38px);line-height:1.06;margin:10px 0 12px;color:var(--text);transition:color var(--fast) var(--ease)}.feed-row:hover .feed-title{color:var(--accent)}.feed-row:hover .feed-arrow{color:var(--accent);transform:translate(4px,-4px)}.feed-excerpt{font-size:15px;color:var(--text-3);line-height:1.65;max-width:640px;margin:0}.feed-arrow{justify-self:end;padding-top:10px;color:var(--text-4);transition:color var(--fast) var(--ease),transform var(--base) var(--ease-out)}@media (max-width: 767px){.feed-row{grid-template-columns:minmax(0,1fr) 32px}.feed-date{grid-column:1 / -1;padding-top:0}}.ticket{border-top:1px solid var(--hair);padding:36px 0;display:grid;grid-template-columns:140px minmax(0,1fr);gap:24px}.ticket:last-of-type{border-bottom:1px solid var(--hair)}.ticket-ver{font-family:var(--font-disp);font-size:clamp(26px,3vw,36px);font-weight:800;letter-spacing:-.02em;color:var(--accent);line-height:1}.ticket-date{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-4);margin-top:10px}.change-line{display:flex;gap:16px;align-items:baseline;padding:9px 0}.change-line+.change-line{border-top:1px dashed var(--hair)}.change-text{font-size:15px;color:var(--text-2);line-height:1.6}@media (max-width: 767px){.ticket{grid-template-columns:minmax(0,1fr);gap:16px}}.prose{color:#b7b4ab;font-size:17px;line-height:1.8;counter-reset:section}.prose>*+*{margin-top:1.3em}.prose h2{font-family:var(--font-disp);color:var(--text);font-size:clamp(26px,3vw,34px);font-weight:700;line-height:1.1;letter-spacing:-.02em;margin-top:2.2em;margin-bottom:.2em;scroll-margin-top:120px}.prose h2:before{counter-increment:section;content:"(" counter(section,decimal-leading-zero) ")";display:block;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.16em;color:var(--accent);margin-bottom:10px}.prose h3{font-family:var(--font-disp);color:var(--text);font-size:20px;font-weight:700;line-height:1.3;margin-top:1.6em;margin-bottom:.1em;scroll-margin-top:120px}.prose p{margin:0}.prose strong{color:var(--text);font-weight:700}.prose a{color:var(--accent);border-bottom:1px solid rgba(255,200,21,.35);transition:border-color var(--fast) var(--ease)}.prose a:hover{border-bottom-color:var(--accent)}.prose ul,.prose ol{margin:0;padding-left:1.3em}.prose li{margin:.45em 0}.prose li::marker{color:var(--accent)}.prose blockquote{margin:0;padding:8px 0 8px 24px;border-left:2px solid var(--accent);font-family:var(--font-body);font-style:normal;font-size:1.05em;line-height:1.65;color:var(--text-2)}.prose img{max-width:100%;border:1px solid var(--hair)}.prose table{width:100%;border-collapse:collapse;font-size:14.5px}.prose th{text-align:left;font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);padding:10px 12px;border-bottom:1px solid var(--hair-strong)}.prose td{padding:12px;border-bottom:1px solid var(--hair);color:var(--text-2)}.prose code{font-family:var(--font-mono);font-size:.85em;background:rgba(255,200,21,.08);border:1px solid rgba(255,200,21,.18);padding:2px 6px;color:#ffd95e}.prose hr{border:none;border-top:1px solid var(--hair);margin:3em 0}.prose pre{position:relative;background:var(--bg-deep)!important;border:1px solid var(--hair);padding:20px;font-family:var(--font-mono);font-size:13.5px;line-height:1.7;overflow-x:auto}.prose pre code{background:none;border:none;padding:0;color:inherit;font-size:inherit}.prose pre .code-copy{position:absolute;top:10px;right:10px;background:var(--bg);color:var(--text-3);border:1px solid var(--hair-strong);font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;opacity:0;transition:opacity var(--fast) var(--ease),color var(--fast) var(--ease)}.prose pre:hover .code-copy{opacity:1}.prose pre .code-copy:hover{color:var(--accent);border-color:var(--accent)}.tldr{position:relative;padding:28px 0 28px 32px;border-left:2px solid var(--accent)}.tldr-label{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:14px}.tldr-text{font-family:var(--font-body);font-style:normal;font-weight:500;font-size:clamp(18px,2.1vw,22px);line-height:1.6;letter-spacing:-.01em;color:var(--text);margin:0}.term{background:var(--bg-deep);border:1px solid var(--hair);font-family:var(--font-mono)}.term-bar{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--hair)}.term-name{font-size:11px;letter-spacing:.08em;color:var(--text-3)}.code-body{padding:18px;font-size:13.5px;line-height:1.75;color:#c9c6bd;overflow-x:auto}.tok-key{color:var(--text)}.tok-str{color:var(--accent)}.tok-com{color:#585650}.tok-num{color:#ff9d6b}.toc-link{display:flex;align-items:baseline;gap:12px;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:var(--text-3);padding:8px 0;border-top:1px solid var(--hair);transition:color var(--fast) var(--ease)}.toc-link .toc-num{font-size:10px;color:var(--text-4);transition:color var(--fast) var(--ease)}.toc-link:hover{color:var(--text)}.toc-link.on,.toc-link.on .toc-num{color:var(--accent)}.search-row{transition:background var(--fast) var(--ease),color var(--fast) var(--ease)}.search-row:hover{background:var(--accent)}.search-row:hover *{color:var(--accent-ink)!important}kbd.key{font-family:var(--font-mono);font-size:10.5px;color:var(--text-3);border:1px solid var(--hair-strong);padding:2px 7px}.faq-item{border-top:1px solid var(--hair)}.faq-item:last-of-type{border-bottom:1px solid var(--hair)}.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:18px;padding:22px 0;color:var(--text);font-family:var(--font-disp);font-weight:600;font-size:17px;transition:color var(--fast) var(--ease)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:hover{color:var(--accent)}.faq-n{font-family:var(--font-mono);font-size:11px;color:var(--text-4)}.faq-item[open] .faq-n,.faq-item[open] summary{color:var(--accent)}.faq-item p{margin:0;padding:0 0 24px 41px;color:var(--text-3);line-height:1.7;font-family:var(--font-body);font-size:15px}.docs-foot{border-top:1px solid var(--hair);margin-top:clamp(64px,10vw,120px);overflow:hidden}.foot-mark{font-family:var(--font-disp);font-weight:800;letter-spacing:-.04em;font-size:clamp(64px,13vw,180px);line-height:.9;color:transparent;-webkit-text-stroke:1px rgba(255,200,21,.4);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color var(--slow) var(--ease)}.docs-foot:hover .foot-mark{color:var(--accent);-webkit-text-stroke-color:var(--accent)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}#search-input:focus,#search-input:focus-visible{outline:none}@media (prefers-reduced-motion: no-preference){.reveal{animation:rev .7s var(--ease-out) both}@keyframes rev{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation-duration:.001ms!important;transition-duration:.001ms!important}}
