:root{--bg: #0e0e11;--bg-elev: #141418;--surface: #17171b;--surface-2: #1c1c21;--border: #26262c;--border-strong: #34343c;--text: #ececf0;--text-dim: #b5b5bd;--secondary: #8a8a94;--muted: #55555e;--muted-2: #3a3a42;--accent: oklch(.78 .14 82);--accent-strong: oklch(.7 .15 82);--accent-bright: oklch(.84 .14 82);--accent-soft: oklch(.78 .14 82 / .14);--accent-line: oklch(.78 .14 82 / .34);--success: #4ade80;--success-soft: rgba(74, 222, 128, .1);--warning: #fbbf24;--warning-soft: rgba(251, 191, 36, .12);--error: #f87171;--error-soft: rgba(248, 113, 113, .1);--info: #7aa2ff;--info-soft: rgba(122, 162, 255, .12);--font-ui: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--r-sm: 4px;--r-md: 6px;--r-lg: 10px;--r-xl: 14px;--shadow-sm: 0 1px 0 rgba(255, 255, 255, .02) inset, 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 24px rgba(0, 0, 0, .45), 0 1px 0 rgba(255, 255, 255, .03) inset}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11"}body{min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit;color:inherit}::selection{background:var(--accent-soft);color:var(--text)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--muted);border:2px solid transparent;background-clip:padding-box}.pr-grid-bg{background:radial-gradient(1200px 600px at 10% -10%,oklch(.78 .14 82 / .06),transparent 60%),radial-gradient(800px 400px at 100% 0%,rgba(122,162,255,.04),transparent 60%),var(--bg)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ui{font-family:var(--font-ui)}.dim{color:var(--secondary)}.muted{color:var(--muted)}.hairline{border:1px solid var(--border)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.card-elev{background:linear-gradient(180deg,var(--surface-2),var(--surface));border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.kbd{font-family:var(--font-mono);font-size:10px;padding:2px 6px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:4px;color:var(--text-dim);background:var(--bg-elev)}.pill{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;font-size:10.5px;border-radius:999px;font-family:var(--font-ui);letter-spacing:.01em;font-weight:500;line-height:18px;height:20px}.pill-outline{border:1px solid var(--border-strong);color:var(--secondary);background:transparent}.pill-dot:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;font-size:11px;border-radius:4px;font-family:var(--font-ui);border:1px solid var(--border);background:#ffffff05;color:var(--text-dim)}.rule{height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent)}button:focus-visible,a:focus-visible{outline:none;box-shadow:0 0 0 2px var(--accent-line)}.btn-primary:focus-visible{box-shadow:0 0 0 2px var(--accent-line)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent)}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.35}}.live-dot{width:6px;height:6px;border-radius:999px;background:var(--success);animation:pulseDot 1.6s ease-in-out infinite;box-shadow:0 0 0 3px #4ade8026}@keyframes slideUp{0%{transform:translateY(6px);opacity:0}to{transform:none;opacity:1}}.enter{animation:slideUp .22s ease both}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.skeleton{background:linear-gradient(90deg,#1a1a1e,#222228,#1a1a1e);background-size:400px 100%;animation:shimmer 1.4s linear infinite}.noise{position:relative}.noise:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.035;mix-blend-mode:overlay;border-radius:inherit;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.6 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}table.pr{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}table.pr thead th{font-weight:500;color:var(--secondary);font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:10px 14px;text-align:left;background:var(--bg-elev);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1}table.pr thead th.c{text-align:center}table.pr thead th.r{text-align:right}table.pr tbody td{padding:12px 14px;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:middle}table.pr tbody tr{cursor:pointer;transition:background .12s ease}table.pr tbody tr:hover{background:#ffffff06}table.pr tbody tr.regressed{box-shadow:inset 2px 0 0 var(--error)}table.pr tbody tr.drifting{box-shadow:inset 2px 0 0 var(--warning)}table.pr tbody tr.highlight{box-shadow:inset 2px 0 0 var(--accent)}table.pr tbody tr:last-child td{border-bottom:none}table.pr tbody td.r{text-align:right}table.pr tbody td.c{text-align:center}.inp{background:var(--bg-elev);border:1px solid var(--border);color:var(--text);padding:7px 10px;border-radius:var(--r-md);font-size:12px;font-family:var(--font-ui);min-width:140px}.inp:hover{border-color:var(--border-strong)}textarea.inp{font-family:var(--font-mono);font-size:12.5px;line-height:1.55;resize:vertical}.btn{background:var(--bg-elev);border:1px solid var(--border);color:var(--text);padding:7px 12px;border-radius:var(--r-md);font-size:12px;font-family:var(--font-ui);cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:border-color .12s ease,background .12s ease}.btn:hover{border-color:var(--border-strong);background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#1a0e04;font-weight:600;box-shadow:none}.btn-primary:hover{background:var(--accent-bright);border-color:var(--accent-bright);filter:none}.btn-primary:active{background:var(--accent-strong);border-color:var(--accent-strong)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:var(--surface)}.btn-accent{background:transparent;border:1px solid var(--accent-line);color:var(--accent)}.btn-accent:hover{background:var(--accent-soft)}.pr-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh}.pr-dialog{width:560px;max-width:92vw;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-md);overflow:hidden}[data-tt]{position:relative}[data-tt]:hover:after{content:attr(data-tt);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#000;color:#eee;font-size:11px;padding:5px 8px;border-radius:4px;white-space:nowrap;z-index:5;border:1px solid var(--border-strong);font-family:var(--font-ui)}.diff-line{display:grid;grid-template-columns:44px 44px 1fr;font-family:var(--font-mono);font-size:12.5px;line-height:1.6}.diff-line .ln{color:var(--muted);text-align:right;padding:0 10px;-webkit-user-select:none;user-select:none;border-right:1px solid var(--border)}.diff-line.added{background:#4ade8012}.diff-line.added .ln{color:#4ade80b3}.diff-line.deleted{background:#f8717112}.diff-line.deleted .ln{color:#f87171b3}.diff-line pre{margin:0;padding:0 12px;white-space:pre-wrap;word-break:break-word}.varpill{display:inline-block;padding:0 5px;margin:0 1px;border-radius:5px;border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--accent);font-size:.92em;white-space:nowrap;-webkit-user-select:none;user-select:none}
