:root{--bg: #FAFAF7;--bg-elev: #FFFFFF;--bg-sunken: #F3F2ED;--bg-panel: #F7F6F2;--line: #E6E4DC;--line-strong: #D4D1C6;--line-soft: #EFEDE5;--ink: #14130F;--ink-2: #3A3832;--ink-3: #6A675D;--ink-4: #9A968A;--ink-5: #B8B4A6;--accent: #FF5B1F;--accent-hover: #E64A14;--accent-soft: #FFE7DB;--accent-ink: #7A2708;--green: #2E7D5B;--green-soft: #DDF0E4;--amber: #B5761A;--amber-soft: #FBEBD2;--red: #B23A2B;--red-soft: #F5DCD6;--blue: #2D5FB3;--blue-soft: #DDE6F5;--r-xs: 3px;--r-sm: 5px;--r-md: 8px;--r-lg: 12px;--r-xl: 18px;--sh-sm: 0 1px 0 rgba(20,19,15,.04), 0 1px 2px rgba(20,19,15,.04);--sh-md: 0 2px 4px rgba(20,19,15,.04), 0 8px 24px rgba(20,19,15,.06);--sh-lg: 0 4px 8px rgba(20,19,15,.06), 0 24px 56px rgba(20,19,15,.08);--font-sans: "Inter", "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-display: "Inter", "IBM Plex Sans", sans-serif;--ribbon-pad-y: 10px;--ribbon-icon-size: 36px;--ribbon-label-size: 11px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11"}a{color:inherit;text-decoration:none}button{font-family:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:10px;border:2px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}.mono{font-family:var(--font-mono);font-feature-settings:"zero","ss01"}.caps{text-transform:uppercase;letter-spacing:.08em;font-size:11px}.muted{color:var(--ink-3)}.btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border:1px solid var(--line-strong);background:var(--bg-elev);color:var(--ink);font-size:13px;font-weight:500;border-radius:var(--r-sm);cursor:pointer;transition:all .12s ease;white-space:nowrap;text-decoration:none}.btn:hover{border-color:var(--ink-4);background:var(--bg)}.btn:active{transform:translateY(1px)}.btn:disabled,.btn.disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn.primary:hover{background:var(--ink-2);border-color:var(--ink-2)}.btn.accent{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.accent:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--bg-sunken)}.btn.sm{height:28px;padding:0 10px;font-size:12px}.btn.lg{height:44px;padding:0 18px;font-size:14px}.chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:999px;border:1px solid var(--line-strong);background:var(--bg-elev);font-size:11px;font-weight:500;color:var(--ink-2);font-family:var(--font-mono)}.chip .dot{width:6px;height:6px;border-radius:50%;background:var(--ink-4)}.chip.ok{color:#195c3b;border-color:#9bcdb0;background:var(--green-soft)}.chip.ok .dot{background:var(--green)}.chip.run{color:#2d5fb3;border-color:#a8c0e5;background:var(--blue-soft)}.chip.run .dot{background:var(--blue);animation:arp-pulse 1.4s ease-in-out infinite}.chip.warn{color:#7a4f0b;border-color:#e2bb73;background:var(--amber-soft)}.chip.warn .dot{background:var(--amber)}.chip.err{color:#7a1f13;border-color:#dfa79b;background:var(--red-soft)}.chip.err .dot{background:var(--red)}.chip.accent{color:var(--accent-ink);background:var(--accent-soft);border-color:#f6b79a}.chip.accent .dot{background:var(--accent)}@keyframes arp-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.card{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--r-md)}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:3px;background:var(--bg-elev);font-family:var(--font-mono);font-size:10px;color:var(--ink-3)}.map-surface{position:relative;background:linear-gradient(to right,rgba(0,0,0,.035) 1px,transparent 1px) 0 0 / 40px 40px,linear-gradient(to bottom,rgba(0,0,0,.035) 1px,transparent 1px) 0 0 / 40px 40px,linear-gradient(to right,rgba(0,0,0,.05) 1px,transparent 1px) 0 0 / 200px 200px,linear-gradient(to bottom,rgba(0,0,0,.05) 1px,transparent 1px) 0 0 / 200px 200px,#F1EFE7;overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}
