:root{--bg:#0b0f17;--panel:#131a26;--panel-2:#1b2434;--text:#e8edf5;--muted:#93a1b5;--accent:#4ade80;--accent-2:#38bdf8;--danger:#f87171;--border:#243043;--radius:12px;--maxw:1040px}:root[data-theme=light]{--bg:#f6f8fb;--panel:#fff;--panel-2:#eef2f7;--text:#0f1722;--muted:#5a6b80;--accent:#16a34a;--accent-2:#0284c7;--danger:#dc2626;--border:#dde4ee}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}a{color:var(--accent-2);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}header.site{border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}header.site .row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;min-height:60px;padding:8px 0}header.site nav.tabs{order:3;width:100%}header.site .row a,header.site .row button{white-space:nowrap}.brand{font-weight:800;letter-spacing:.5px;font-size:18px}.brand span{color:var(--accent)}nav.tabs{display:flex;gap:14px;flex-wrap:wrap}nav.tabs a{color:var(--muted);font-size:14px;font-weight:600;padding:6px 2px;border-bottom:2px solid transparent}nav.tabs a:hover{color:var(--text)}nav.tabs a[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.grid{display:grid;grid-gap:14px;gap:14px}.cols-2{grid-template-columns:repeat(2,1fr)}@media (max-width:720px){.cols-2{grid-template-columns:1fr}header.site nav.tabs{gap:12px}header.site .row>div:last-child a{max-width:52vw;overflow:hidden;text-overflow:ellipsis}.panel{overflow-x:auto}.panel table{font-size:12px}.panel td,.panel th{padding:6px}}h1{font-size:28px;margin:0 0 6px}h2{font-size:19px;margin:0 0 12px}.muted{color:var(--muted)}.kicker{color:var(--accent);font-weight:700;font-size:12px;letter-spacing:1px;text-transform:uppercase}.bar{height:10px;border-radius:6px;background:var(--panel-2);overflow:hidden}.bar>i{display:block;height:100%;background:var(--accent)}.md{white-space:normal}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md ol,.md p,.md ul{margin:0 0 8px}.md ol,.md ul{padding-left:18px}.md li{margin:2px 0}.md code{background:var(--panel-2);padding:1px 5px;border-radius:4px;font-size:.9em}.md a{color:var(--accent)}.md h1,.md h2,.md h3{font-size:1.05em;margin:8px 0 4px}table{width:100%;border-collapse:collapse;font-size:14px}td,th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600}button,input,select{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:9px 12px}button{cursor:pointer;font-weight:600}button.primary{background:var(--accent);color:#06210f;border-color:transparent}button:disabled{opacity:.5;cursor:not-allowed}.disclaimer{font-size:12px;color:var(--muted);border-top:1px solid var(--border);margin-top:40px;padding:18px 0 40px}.badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;border:1px solid var(--border)}.badge,.upgrade{color:var(--muted)}.upgrade{border:1px dashed var(--accent-2);border-radius:var(--radius);padding:16px}.devbar{background:var(--panel-2);border-bottom:1px solid var(--border);font-size:12px}.devbar .row{display:flex;align-items:center;gap:10px;height:38px}.thinking{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.thinking .ball{display:inline-block;font-size:20px;animation:ballbounce .55s ease-in-out infinite}.thinking .dots:after{content:"";animation:dots 1.2s steps(4) infinite}@keyframes ballbounce{0%,to{transform:translateY(0)}50%{transform:translateY(-11px)}}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}