:root{--bg: oklch(.978 .004 85);--bg-elev: oklch(.962 .005 85);--bg-deep: oklch(.945 .006 85);--ink: oklch(.18 .01 250);--ink-2: oklch(.4 .008 250);--ink-3: oklch(.58 .006 250);--ink-4: oklch(.74 .005 250);--rule: oklch(.88 .006 250);--rule-2: oklch(.93 .005 250);--accent: oklch(.46 .085 245);--accent-2: oklch(.36 .075 245);--accent-soft: oklch(.93 .04 245);--flag: oklch(.66 .13 65);--flag-soft: oklch(.95 .05 75);--ok: oklch(.55 .09 155);--ok-soft: oklch(.95 .04 155);--shadow: 0 1px 0 oklch(.88 .006 250 / .8), 0 8px 24px -12px oklch(.18 .01 250 / .12);--f-display: "Instrument Serif", "Times New Roman", serif;--f-ui: "Geist", -apple-system, BlinkMacSystemFont, sans-serif;--f-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}html[data-theme=dark]{--bg: oklch(.14 .006 250);--bg-elev: oklch(.18 .007 250);--bg-deep: oklch(.11 .005 250);--ink: oklch(.93 .005 85);--ink-2: oklch(.72 .006 85);--ink-3: oklch(.54 .005 85);--ink-4: oklch(.38 .004 85);--rule: oklch(.26 .007 250);--rule-2: oklch(.21 .006 250);--accent: oklch(.6 .1 245);--accent-2: oklch(.7 .09 245);--accent-soft: oklch(.2 .05 245);--flag: oklch(.72 .14 65);--flag-soft: oklch(.22 .07 75);--ok: oklch(.65 .11 155);--ok-soft: oklch(.2 .05 155);--shadow: 0 1px 0 oklch(.08 .005 250 / .8), 0 8px 24px -12px oklch(.05 .005 250 / .4)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:var(--f-ui);font-size:14px;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv01","cv11"}.serif{font-family:var(--f-display)}.mono{font-family:var(--f-mono);font-feature-settings:"zero","ss01"}.smallcaps{font-family:var(--f-mono);font-size:10.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.card{border-radius:3px;border:1px solid var(--rule);background:var(--bg-elev)}.btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:2px;border:1px solid var(--rule);background:var(--bg-elev);color:var(--ink);font-family:var(--f-ui);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .1s,border-color .1s,color .1s}.btn:disabled{opacity:.45;cursor:default}.btn.ghost{background:transparent;border-color:var(--rule);color:var(--ink-2)}.btn.ghost:hover:not(:disabled){background:var(--bg-elev);color:var(--ink)}.btn.primary{background:var(--ink);border-color:var(--ink);color:var(--bg)}.btn.primary:hover:not(:disabled){background:var(--ink-2);border-color:var(--ink-2)}.btn.accent{background:var(--accent);border-color:var(--accent);color:#fff}.btn.accent:hover:not(:disabled){background:var(--accent-2);border-color:var(--accent-2)}.pill{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:11px;font-family:var(--f-mono);font-size:9.5px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.pill.accent{background:var(--accent-soft);color:var(--accent)}.pill .dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.hover-lift{transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.hover-lift:hover{transform:translateY(-1px);box-shadow:var(--shadow);border-color:var(--ink-4)}@keyframes shimmer{0%{opacity:1}50%{opacity:.5}to{opacity:1}}@keyframes pulse-soft{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.shimmer{animation:shimmer 1.6s linear infinite}.pulse-soft{animation:pulse-soft 1.6s ease-in-out infinite}.paper-grid-fine{background-image:linear-gradient(var(--rule-2) 1px,transparent 1px),linear-gradient(90deg,var(--rule-2) 1px,transparent 1px);background-size:20px 20px}
