:root{--bg: #fafaf9;--surface: #ffffff;--surface-2: #f3f3f1;--border: #e2e2de;--text: #1c1c1a;--muted: #6b6b66;--accent: #1f6feb;--accent-ink: #ffffff;--err-bg: #fdecec;--err: #b42318;--warn-bg: #fff6e0;--warn: #8a5a00;--mono: ui-monospace, "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--a-rw: #d8e8ff;--a-ro: #e3f3df;--a-wo: #fde7cf;--a-w1c: #f6dcef;--a-w1s: #e6defa;--a-rc: #fff1b8;--a-none: transparent}@media (prefers-color-scheme: dark){:root:not([data-theme]){--bg: #121211;--surface: #1a1a19;--surface-2: #232321;--border: #33332f;--text: #e9e9e5;--muted: #9a9a93;--accent: #4c8dff;--accent-ink: #0b0b0b;--err-bg: #3a1717;--err: #ff8a80;--warn-bg: #3a2d10;--warn: #f2c46d;--a-rw: #1d3557;--a-ro: #1f3b24;--a-wo: #4a2f12;--a-w1c: #4a1f3e;--a-w1s: #31275a;--a-rc: #4a4010}}:root[data-theme=dark]{--bg: #121211;--surface: #1a1a19;--surface-2: #232321;--border: #33332f;--text: #e9e9e5;--muted: #9a9a93;--accent: #4c8dff;--accent-ink: #0b0b0b;--err-bg: #3a1717;--err: #ff8a80;--warn-bg: #3a2d10;--warn: #f2c46d;--a-rw: #1d3557;--a-ro: #1f3b24;--a-wo: #4a2f12;--a-w1c: #4a1f3e;--a-w1s: #31275a;--a-rc: #4a4010}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:16px/1.55 var(--sans)}a{color:var(--accent)}code,pre,textarea{font-family:var(--mono);font-size:13px}.site-header{border-bottom:1px solid var(--border);background:var(--surface)}.site-header .inner{max-width:1400px;margin:0 auto;padding:12px 16px;display:flex;gap:16px;align-items:baseline}.brand{font-weight:700;text-decoration:none;color:var(--text)}.site-header nav a{color:var(--muted);text-decoration:none;margin-right:12px;font-size:14px}main{max-width:1400px;margin:0 auto;padding:20px 16px 48px}h1{font-size:26px;margin:4px 0}.lede{color:var(--muted);margin:0 0 16px;max-width:80ch}.tool{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:16px}@media (max-width: 900px){.tool{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;min-width:0}.panel-head{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border);flex-wrap:wrap}.panel-head .title{font-weight:600;font-size:14px;margin-right:auto}button,.btn{font:13px var(--sans);padding:5px 10px;border-radius:6px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer}button:hover{border-color:var(--muted)}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}textarea#src{flex:1;min-height:560px;width:100%;border:0;padding:12px;resize:vertical;background:var(--surface);color:var(--text);outline:none;tab-size:2;line-height:1.5}.tabs{display:flex;gap:2px;margin-right:auto;flex-wrap:wrap}.tabs button{border:0;background:transparent;color:var(--muted);padding:6px 10px;border-radius:6px}.tabs button[aria-selected=true]{background:var(--surface-2);color:var(--text);font-weight:600}pre#out{margin:0;padding:12px;overflow:auto;flex:1;min-height:560px;max-height:75vh;white-space:pre}#preview{padding:12px;overflow:auto;max-height:75vh;min-height:560px}.hidden{display:none!important}.msgs{margin:0;padding:0;list-style:none}.msgs li{padding:6px 12px;font-size:13px;font-family:var(--mono);border-bottom:1px solid var(--border)}.msgs li.err{background:var(--err-bg);color:var(--err)}.msgs li.warn{background:var(--warn-bg);color:var(--warn)}.reg{margin-bottom:20px}.reg h3{font-size:14px;margin:0 0 6px;font-family:var(--mono)}.reg h3 small{color:var(--muted);font-weight:400}.bits{display:grid;border:1px solid var(--border);border-radius:4px;overflow:hidden;font-family:var(--mono);font-size:11px}.bits .idx{color:var(--muted);text-align:center;padding:2px 0;background:var(--surface-2);border-right:1px solid var(--border)}.bits .f{text-align:center;padding:6px 2px;border-right:1px solid var(--border);border-top:1px solid var(--border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bits .f.none{color:var(--muted);background:repeating-linear-gradient(45deg,transparent 0 4px,var(--surface-2) 4px 8px)}.a-rw{background:var(--a-rw)}.a-ro{background:var(--a-ro)}.a-wo{background:var(--a-wo)}.a-w1c{background:var(--a-w1c)}.a-w1s{background:var(--a-w1s)}.a-rc{background:var(--a-rc)}.legend{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;margin-bottom:14px}.legend span{padding:2px 8px;border-radius:4px;font-family:var(--mono)}article{max-width:80ch;margin-top:40px}article h2{font-size:20px;margin-top:32px}article table{border-collapse:collapse;width:100%;font-size:14px;display:block;overflow-x:auto}article th,article td{border:1px solid var(--border);padding:6px 8px;text-align:left;vertical-align:top}article th{background:var(--surface-2)}article pre{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:12px;overflow-x:auto}.ad-slot{display:none}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px;text-decoration:none;color:var(--text)}.card h2{font-size:16px;margin:0 0 4px}.card p{margin:0;color:var(--muted);font-size:14px}.card.soon{opacity:.6}footer{border-top:1px solid var(--border);color:var(--muted);font-size:13px}footer .inner{max-width:1400px;margin:0 auto;padding:16px}.ve{flex:1;min-height:560px;padding:10px;display:flex;flex-direction:column;gap:10px;outline:none;overflow:auto;max-height:85vh}.ve-toolbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ve-hint{color:var(--muted);font-size:12px}.ve-note{background:var(--warn-bg);color:var(--warn);font-size:13px;padding:6px 10px;border-radius:6px}.ve-block{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.ve-cols{display:grid;grid-template-columns:minmax(170px,2fr) minmax(0,5fr);gap:12px;align-items:start}@media (max-width: 1200px){.ve-cols{grid-template-columns:1fr}}.ve-h{font-weight:600;font-size:13px;margin-bottom:6px;font-family:var(--mono)}.ve-map{display:flex;flex-direction:column;gap:3px;font-family:var(--mono);font-size:12px}.ve-slot{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;column-gap:6px;padding:5px 7px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);cursor:grab}.ve-slot .off{color:var(--muted);grid-row:span 2;align-self:center}.ve-slot .name{font-weight:600;overflow:hidden;text-overflow:ellipsis}.ve-slot.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.ve-slot.empty{background:transparent;border-style:dashed;cursor:pointer;grid-template-rows:auto}.ve-slot.empty .off{grid-row:auto}.ve-slot.drop{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.ve-skip{color:var(--muted);font-size:11px;text-align:center;padding:2px 0}.ve-minibar{position:relative;display:block;height:6px;border-radius:3px;background:var(--surface);overflow:hidden;border:1px solid var(--border)}.ve-minibar i{position:absolute;top:0;bottom:0;border-right:1px solid var(--border)}.muted{color:var(--muted)}.ve-grid{display:grid;border:1px solid var(--border);border-radius:4px;font-family:var(--mono);font-size:11px;user-select:none;touch-action:none;margin-bottom:8px}.ve-grid .idx{color:var(--muted);text-align:center;padding:2px 0;background:var(--surface-2);border-right:1px solid var(--border)}.ve-grid .cell{height:34px;border-right:1px solid var(--border);border-top:1px solid var(--border);cursor:crosshair;background:repeating-linear-gradient(45deg,transparent 0 4px,var(--surface-2) 4px 8px)}.ve-grid .cell.creating{background:color-mix(in srgb,var(--accent) 30%,transparent)}.ve-grid .seg{position:relative;z-index:1;height:34px;border:1px solid color-mix(in srgb,var(--text) 25%,transparent);border-radius:3px;display:flex;align-items:center;justify-content:center;cursor:grab;overflow:hidden;min-width:0}.ve-grid.dragging .seg{cursor:grabbing}.ve-grid .seg.sel{outline:2px solid var(--accent);outline-offset:-2px}.ve-grid .seg.invalid{outline:2px solid var(--err);outline-offset:-2px;opacity:.7}.ve-grid .seg .label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 6px;pointer-events:none}.ve-grid .grip{position:absolute;top:0;bottom:0;width:7px;cursor:ew-resize}.ve-grid .grip.l{left:0}.ve-grid .grip.r{right:0}.ve-grid .grip:hover{background:color-mix(in srgb,var(--accent) 45%,transparent)}.ve-insp fieldset{border:1px solid var(--border);border-radius:6px;margin:0 0 10px;padding:8px 10px 10px;display:flex;flex-wrap:wrap;gap:8px;align-items:end}.ve-insp legend{font-size:12px;font-weight:600;color:var(--muted);padding:0 4px}.fld{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--muted)}.fld input,.fld select{font:13px var(--mono);padding:4px 6px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text);min-width:0;width:140px}.fld input[type=number]{width:70px}.fld input.wide{width:260px}.fld input.bad{border-color:var(--err);box-shadow:0 0 0 1px var(--err)}.fld select{width:auto;max-width:260px}.check{font-size:13px;display:flex;align-items:center;gap:4px}.row{display:flex;gap:8px;align-items:end;flex-wrap:wrap}button.danger{color:var(--err)}button:disabled{opacity:.5;cursor:default}.ve-insp p.muted,.ve-bits p.muted{font-size:13px;margin:4px 0}:root[data-theme=gruvbox]{color-scheme:dark;--bg: #282828;--surface: #32302f;--surface-2: #3c3836;--border: #504945;--text: #ebdbb2;--muted: #a89984;--accent: #fabd2f;--accent-ink: #282828;--err-bg: #4a2422;--err: #fb4934;--warn-bg: #4a3d18;--warn: #fabd2f;--a-rw: #34474a;--a-ro: #45471f;--a-wo: #59391d;--a-w1c: #523845;--a-w1s: #3b4a3a;--a-rc: #5a4a1c}:root[data-theme=vscode-dark]{color-scheme:dark;--bg: #1e1e1e;--surface: #252526;--surface-2: #2d2d30;--border: #3c3c3c;--text: #d4d4d4;--muted: #9d9d9d;--accent: #3794ff;--accent-ink: #ffffff;--err-bg: #4b1818;--err: #f48771;--warn-bg: #3d3214;--warn: #cca700;--a-rw: #264f78;--a-ro: #2e4b2e;--a-wo: #5a3d1e;--a-w1c: #4b2d4f;--a-w1s: #3a3d6b;--a-rc: #5c4b17;--mono: Consolas, "Cascadia Code", "Droid Sans Mono", ui-monospace, monospace}:root[data-theme=vscode-dark] button.primary{background:#0e639c;border-color:#0e639c;color:#fff}:root[data-theme] body,:root:not([data-theme]) body{transition:background-color .15s,color .15s}.theme-pick{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.theme-pick select{font:13px var(--sans);padding:3px 6px;border-radius:6px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}:root{--brand: #b45309}@media (prefers-color-scheme: dark){:root:not([data-theme]){--brand: #f59e0b}}:root[data-theme=dark],:root[data-theme=gruvbox],:root[data-theme=vscode-dark]{--brand: #f59e0b}.brand{display:inline-flex;align-items:center;gap:8px}.brand-mark{width:24px;height:24px;flex:none}.brand .up{color:var(--brand)}footer .inner{display:flex;gap:8px 16px;flex-wrap:wrap;justify-content:space-between}footer nav a{color:var(--muted);margin-left:12px}footer nav a:first-child{margin-left:0}.prose{max-width:72ch}.prose h1{font-size:28px}.prose h2{font-size:19px;margin-top:28px}.prose li{margin:4px 0}.site-header .inner{flex-wrap:wrap;row-gap:6px;align-items:center}footer nav{display:flex;flex-wrap:wrap;gap:4px 12px}footer nav a{margin-left:0}
