:root{--bg: #0f1419;--panel: #1a2028;--border: #2a3441;--text: #e6edf3;--muted: #8b949e;--accent: #58a6ff}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}.app{padding:24px}:root{--bg:#0a0d12;--surf:#11161d;--surf2:#161c25;--line:#232b36;--line2:#2f3946;--text:#d9e1ea;--muted:#7d8794;--accent:#4f9cf9;--accent-dim:rgba(79,156,249,.14);--danger:#f26d6d;--warn:#e0b862;--mono:ui-monospace,Menlo,Consolas,monospace;--sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:var(--bg);color:var(--text);font:13px/1.45 var(--sans)}.app{display:grid;grid-template-rows:48px 1fr;height:100%;overflow:hidden}.topbar{display:flex;align-items:center;gap:16px;padding:0 16px;border-bottom:1px solid var(--line);background:var(--surf)}.topbar h1{margin:0;font-size:14px;font-weight:600}.topbar .muted{font-size:12px}.tabs{display:flex;margin-left:auto;gap:4px;height:100%;align-items:stretch}.tab{background:0;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:0 14px;font:12px var(--sans);cursor:pointer}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.layout{display:grid;grid-template-columns:232px 1fr 260px;min-height:0;overflow:hidden}.sidebar,.rightbar{padding:14px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;background:var(--surf)}.sidebar{border-right:1px solid var(--line)}.rightbar{border-left:1px solid var(--line);gap:12px}.main{padding:16px;overflow:auto;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.mode .tab{flex:1;border:0;border-radius:0;padding:8px 0;background:var(--surf2);text-transform:none}.mode .tab.active{background:var(--accent-dim);color:var(--accent)}.toolbar{display:flex;flex-direction:column;gap:8px}.toolbar-row{display:flex;flex-wrap:wrap;gap:6px}.toolbar-row--actions{border-top:1px solid var(--line);padding-top:8px}.brush{--swatch:transparent;display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--line);border-radius:4px;background:var(--surf2);color:var(--muted);font-size:11px;cursor:pointer}.brush:hover{color:var(--text);border-color:var(--line2)}.brush.active{color:var(--text);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.swatch{width:10px;height:10px;border-radius:2px;background:var(--swatch);border:1px solid rgba(255,255,255,.08)}button{background:var(--surf2);color:var(--text);border:1px solid var(--line);border-radius:4px;padding:7px 11px;font:12px var(--sans);cursor:pointer}button:hover:not(:disabled){border-color:var(--line2)}button:disabled{opacity:.4;cursor:not-allowed}button.ghost{background:0}.control-panel{display:flex;flex-direction:column;gap:10px}.control-panel label{display:flex;flex-direction:column;gap:4px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.control-panel select,.control-panel input[type=range]{width:100%;background:var(--surf2);color:var(--text);border:1px solid var(--line);border-radius:4px;padding:6px 8px;font:12px var(--sans)}.control-panel select:focus,.control-panel input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.control-panel input[type=range]{padding:0;background:0;accent-color:var(--accent)}.control-panel .checkbox{flex-direction:row;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-size:12px;color:var(--text)}.control-panel input[type=checkbox]{accent-color:var(--accent)}.editor-canvas{background:var(--surf);cursor:crosshair;outline:1px solid var(--line);border-radius:4px;display:block}.replay-bar{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--surf);border:1px solid var(--line);border-radius:4px;width:100%}.replay-bar button{padding:5px 9px;font-size:11px}.replay-bar input[type=range]{flex:1;accent-color:var(--accent)}.replay-bar .readout{font:11px var(--mono);color:var(--muted);min-width:64px;text-align:right}.panel{background:var(--surf2);border:1px solid var(--line);border-radius:4px;padding:12px}.panel-title{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.panel--empty{color:var(--muted);font-size:12px}.kv{display:flex;flex-direction:column}.kv-row{display:grid;grid-template-columns:1fr auto;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.03);font-size:12px}.kv-row:last-child{border:0}.kv-row span{color:var(--muted)}.kv-row b{font:500 12px var(--mono);font-variant-numeric:tabular-nums}.warnings{margin-top:10px;padding:8px;border-left:2px solid var(--warn);color:var(--warn);font-size:11px;line-height:1.5}.compare-view{width:100%;display:flex;flex-direction:column;gap:12px}.compare-row{display:flex;gap:12px;flex-wrap:wrap}.compare-cell{display:flex;flex-direction:column;gap:6px}.compare-label,.compare-stats{font:11px var(--mono);color:var(--muted)}.explain{padding:10px 12px;background:var(--surf2);border:1px solid var(--line);border-left:2px solid var(--accent);border-radius:4px;font:12px var(--mono);min-height:36px}.explain.muted{color:var(--muted)}.gap-table{display:flex;flex-direction:column;gap:2px;font-size:12px}.gap-row{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:6px;padding:6px 8px;background:var(--surf2);border:1px solid var(--line);border-radius:3px;font:12px var(--mono);font-variant-numeric:tabular-nums}.gap-row span:first-child{color:var(--accent)}.benchmarks,.demo-mode{padding:16px;display:flex;flex-direction:column;gap:16px;overflow:auto}.benchmarks-controls,.demo-controls{display:flex;align-items:center;gap:12px;font-size:12px}.benchmarks-controls label,.demo-controls label{display:flex;align-items:center;gap:6px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.benchmarks-controls select,.demo-controls select{background:var(--surf2);color:var(--text);border:1px solid var(--line);border-radius:4px;padding:5px 8px;font-size:12px}.benchmarks-charts{display:grid;grid-template-columns:1fr 1fr;gap:16px}.chart{background:var(--surf2);border:1px solid var(--line);border-radius:4px;padding:12px}.chart-title{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.chart svg{display:block;max-width:100%;height:auto}.chart.muted{color:var(--muted);font-size:12px;padding:40px;text-align:center}.demo-body{display:flex;gap:16px;align-items:flex-start;overflow:auto}.error{color:var(--danger);font-size:12px;padding:8px 10px;border:1px solid rgba(242,109,109,.3);background:#f26d6d0f;border-radius:4px}.muted{color:var(--muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:5px;border:2px solid var(--surf)}::-webkit-scrollbar-thumb:hover{background:var(--line2)}.tabs{display:flex;margin-left:auto;gap:2px;height:100%;align-items:stretch;padding:0 8px;border-left:1px solid var(--line)}.tab{background:0;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:0 18px;font:500 12px var(--sans);letter-spacing:.02em;cursor:pointer;transition:color .12s ease}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent);background:linear-gradient(180deg,transparent 60%,rgba(79,156,249,.06))}.mode{display:flex;border:1px solid var(--line);border-radius:4px;overflow:hidden}.mode .tab{flex:1;border:0;border-radius:0;padding:8px 0;background:var(--surf2);text-transform:none;color:var(--muted)}.mode .tab:hover{color:var(--text)}.mode .tab.active{background:var(--accent-dim);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
