@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}:root{--bg-app: oklch(98.6% .003 250);--bg-surface: #ffffff;--bg-elev: oklch(99.3% .002 250);--bg-subtle: oklch(96.6% .005 250);--bg-muted: oklch(93.8% .008 250);--bg-strong: oklch(89% .01 250);--border-soft: oklch(94% .006 250);--border: oklch(90.5% .009 250);--border-strong: oklch(84% .013 250);--text-1: oklch(20% .02 250);--text-2: oklch(38% .018 250);--text-3: oklch(54% .014 250);--text-4: oklch(66% .011 250);--text-inv: #ffffff;--accent-hue: 258;--accent: oklch(55% .17 var(--accent-hue));--accent-hover: oklch(48% .18 var(--accent-hue));--accent-soft: oklch(96% .04 var(--accent-hue));--accent-border: oklch(86% .07 var(--accent-hue));--accent-text: oklch(38% .15 var(--accent-hue));--success: oklch(56% .13 152);--success-soft: oklch(95% .04 152);--success-border: oklch(83% .09 152);--warning: oklch(64% .14 75);--warning-soft: oklch(96% .05 75);--warning-border: oklch(85% .1 75);--danger: oklch(56% .18 25);--danger-soft: oklch(96% .04 25);--danger-border: oklch(86% .09 25);--shadow: 0 4px 12px -2px oklch(0% 0 0 / .06), 0 2px 4px -2px oklch(0% 0 0 / .04);--font-ui: "Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--r-sm: 6px;--r: 8px;--r-lg: 10px}body{font-family:var(--font-ui);color:var(--text-1);background:var(--bg-app);font-size:14px;-webkit-font-smoothing:antialiased;letter-spacing:-.005em}.btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--bg-surface);color:var(--text-1);font:500 13px var(--font-ui);letter-spacing:-.005em;cursor:pointer;transition:background .12s,border-color .12s;white-space:nowrap;text-decoration:none}.btn:hover{background:var(--bg-subtle)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--text-inv)}.btn.primary:hover{background:var(--accent-hover)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--bg-subtle)}.btn.sm{height:28px;padding:0 10px;font-size:12.5px;gap:4px}.iconbtn{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text-2);cursor:pointer;transition:background .12s,color .12s}.iconbtn:hover{background:var(--bg-subtle);color:var(--text-1)}.chip{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border:1px solid var(--border);border-radius:999px;background:var(--bg-surface);color:var(--text-2);font:500 11.5px var(--font-ui);white-space:nowrap}.chip.mono{font-family:var(--font-mono);font-size:11px}.chip.accent{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-text)}.chip.success{background:var(--success-soft);border-color:var(--success-border);color:var(--success)}.chip.warning{background:var(--warning-soft);border-color:var(--warning-border);color:var(--warning)}.chip.danger{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger)}.chip.subtle{background:var(--bg-muted);border-color:transparent;color:var(--text-2)}.chip.dot:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor;opacity:.7;flex-shrink:0}.kbd{display:inline-flex;align-items:center;justify-content:center;height:18px;min-width:18px;padding:0 5px;border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;background:var(--bg-surface);color:var(--text-3);font:500 10.5px var(--font-mono)}.muted{color:var(--text-3)}.mono{font-family:var(--font-mono);font-size:12.5px;letter-spacing:0}.field-label{display:block;font:500 12px var(--font-ui);color:var(--text-2);margin-bottom:6px}.field-hint{font:400 11.5px var(--font-ui);color:var(--text-3);margin-top:6px}.input{display:flex;align-items:center;gap:8px;height:36px;padding:0 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-surface);font:400 13px var(--font-ui);color:var(--text-1);transition:border-color .12s,box-shadow .12s}.input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input>input,.input>select{flex:1;border:0;outline:0;background:transparent;font:inherit;color:inherit;min-width:0}.input>input::placeholder,.input>select::placeholder{color:var(--text-4)}
