:root{--logo-filter:invert(1);--bg-0:#0a0a0d;--bg-1:#101014;--bg-2:#16161c;--bg-3:#1c1c23;--bg-4:#23232c;--line-1:#1d1d24;--line-2:#2a2a33;--line-3:#3a3a45;--text-0:#ededf0;--text-1:#b1b1ba;--text-2:#7a7a85;--text-3:#54545d;--accent:#7a85ff;--accent-2:#5a64e0;--accent-soft:rgba(122,133,255,.14);--accent-line:rgba(122,133,255,.38);--success:#4ec9a3;--warn:#e0b341;--danger:#ef6f6c;--info:#6cc1e0;--g-hardwood:#d39c5b;--g-lvp:#5fa7e0;--g-rubber:#8a8f9a;--g-vents:#c277ea;--g-treads:#4ec9a3;--g-nosing:#e08c5a;--g-reducer:#d4d05a;--g-base:#6c6f7a;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--r-1:4px;--r-2:6px;--r-3:8px;--r-4:12px;--r-pill:999px;--font-ui:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--topbar-h:48px;--leftrail-w:52px;--rightpanel-w:320px;--bottomrail-h:240px;--shadow-1:0 1px 0 hsla(0,0%,100%,.03) inset,0 1px 2px rgba(0,0,0,.4);--shadow-2:0 8px 24px rgba(0,0,0,.5),0 2px 6px rgba(0,0,0,.4);--shadow-pop:0 12px 40px rgba(0,0,0,.6),0 2px 8px rgba(0,0,0,.5);--t-1:80ms;--t-2:140ms;--t-3:220ms}:root[data-theme=light]{--logo-filter:none;--bg-0:#f6f6f4;--bg-1:#fff;--bg-2:#fafaf8;--bg-3:#f0f0ed;--bg-4:#e6e6e2;--line-1:#e8e8e3;--line-2:#d8d8d2;--line-3:#c4c4be;--text-0:#1a1a1d;--text-1:#4a4a52;--text-2:#74747c;--text-3:#a8a8b0;--accent:#4a55e0;--accent-2:#3a45c8;--accent-soft:rgba(74,85,224,.1);--accent-line:rgba(74,85,224,.35);--shadow-1:0 1px 0 rgba(0,0,0,.02) inset,0 1px 2px rgba(0,0,0,.06);--shadow-2:0 8px 24px rgba(0,0,0,.1),0 2px 6px rgba(0,0,0,.06);--shadow-pop:0 12px 40px rgba(0,0,0,.14),0 2px 8px rgba(0,0,0,.08)}*{box-sizing:border-box}body,html{height:100%;margin:0;padding:0}body{font-family:var(--font-ui);font-size:13px;line-height:1.4;color:var(--text-0);background:var(--bg-0);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:0;cursor:pointer;padding:0}.mono{font-family:var(--font-mono);font-feature-settings:"tnum" 1,"zero" 1}.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:10px;border:2px solid var(--bg-1)}::-webkit-scrollbar-thumb:hover{background:var(--line-3)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:3px}.btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;font-size:12.5px;font-weight:500;color:var(--text-0);background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--r-2);transition:background var(--t-1) ease,border-color var(--t-1) ease}.btn:hover{background:var(--bg-3);border-color:var(--line-3)}.btn:disabled{opacity:.5;pointer-events:none}.btn.primary{color:#fff;background:var(--accent-2);border-color:var(--accent)}.btn.primary:hover{background:var(--accent)}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-1)}.btn.ghost:hover{background:var(--bg-3);color:var(--text-0)}.btn.sm{height:24px;padding:0 8px;font-size:12px}.btn.lg{height:36px;padding:0 14px;font-size:13.5px}.btn.icon{width:28px;padding:0;justify-content:center}.btn.icon.sm{width:24px}.btn.danger{color:#fff;background:var(--danger);border-color:var(--danger)}.input{width:100%;height:28px;padding:0 8px;font-size:12.5px;color:var(--text-0);background:var(--bg-0);border:1px solid var(--line-2);border-radius:var(--r-2);outline:none;transition:border-color var(--t-1) ease,background var(--t-1) ease}.input:focus{border-color:var(--accent);background:var(--bg-1)}.input::placeholder{color:var(--text-3)}.input.lg{height:36px;padding:0 12px;font-size:13.5px}.section-label{font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}.kbd{justify-content:center;min-width:18px;padding:0 5px;font-family:var(--font-mono);line-height:1;color:var(--text-1)}.kbd,.pill{display:inline-flex;align-items:center;height:18px;font-size:10.5px;background:var(--bg-3);border:1px solid var(--line-2);border-radius:3px}.pill{gap:4px;padding:0 6px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:var(--text-2)}.pill.accent{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}.dot{width:8px;height:8px;border-radius:50%}.dot,.swatch{display:inline-block;flex-shrink:0}.swatch{width:12px;height:12px;border-radius:3px;border:1px solid rgba(0,0,0,.2)}