:root{--bg: oklch(.985 .004 70);--surface: oklch(1 0 0);--surface-2: oklch(.965 .005 70);--surface-3: oklch(.935 .006 70);--line: oklch(.905 .008 70);--line-2: oklch(.86 .01 70);--muted: oklch(.52 .012 70);--muted-2: oklch(.38 .012 70);--fg: oklch(.19 .014 70);--fg-soft: oklch(.29 .014 70);--accent: oklch(.62 .18 28);--accent-soft: oklch(.94 .045 28);--accent-line: oklch(.87 .09 28);--accent-fg: oklch(.38 .15 28);--pro: oklch(.55 .14 200);--pro-soft: oklch(.945 .035 200);--pro-line: oklch(.86 .075 200);--ok: oklch(.62 .15 150);--warn: oklch(.72 .15 70);--danger: oklch(.58 .19 25);--live: oklch(.6 .22 22);--radius-sm: 4px;--radius: 6px;--radius-lg: 10px;--radius-xl: 14px;--shadow-sm: 0 1px 0 oklch(.85 .008 70 / .6);--shadow: 0 1px 2px oklch(.5 .01 70 / .06), 0 4px 12px oklch(.5 .01 70 / .04);--shadow-lg: 0 4px 8px oklch(.5 .01 70 / .08), 0 16px 40px oklch(.5 .01 70 / .08);--font-sans: "Inter Tight", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace}[data-theme=dark]{--bg: oklch(.165 .008 70);--surface: oklch(.205 .008 70);--surface-2: oklch(.235 .008 70);--surface-3: oklch(.275 .01 70);--line: oklch(.31 .01 70);--line-2: oklch(.38 .012 70);--muted: oklch(.62 .012 70);--muted-2: oklch(.74 .012 70);--fg: oklch(.965 .006 70);--fg-soft: oklch(.88 .008 70);--accent: oklch(.7 .18 28);--accent-soft: oklch(.29 .06 28);--accent-line: oklch(.38 .09 28);--accent-fg: oklch(.82 .14 28);--pro: oklch(.7 .13 200);--pro-soft: oklch(.27 .045 200);--pro-line: oklch(.37 .075 200);--shadow: 0 1px 2px oklch(0 0 0 / .4), 0 4px 12px oklch(0 0 0 / .3);--shadow-lg: 0 4px 8px oklch(0 0 0 / .4), 0 16px 40px oklch(0 0 0 / .5)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--fg);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11";letter-spacing:-.005em}button{font-family:inherit;font-size:inherit;cursor:pointer;border:0;background:none;color:inherit;padding:0}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}a{color:inherit;text-decoration:none}hr{border:0;border-top:1px solid var(--line);margin:0}.mono{font-family:var(--font-mono);font-feature-settings:"ss01","zero";letter-spacing:-.01em}.tnum{font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--fg);font-weight:500;font-size:13px;letter-spacing:-.005em;transition:background 80ms ease,border-color 80ms ease,transform 80ms ease;white-space:nowrap}.btn:hover{background:var(--surface-2);border-color:var(--line-2)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--fg);color:var(--bg);border-color:var(--fg)}.btn.primary:hover{background:var(--fg-soft);border-color:var(--fg-soft)}.btn.accent{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.accent:hover{filter:brightness(1.05)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--surface-2)}.btn.danger{color:var(--danger);border-color:var(--line)}.btn.danger:hover{background:color-mix(in oklab,var(--danger) 8%,transparent);border-color:color-mix(in oklab,var(--danger) 30%,var(--line))}.btn.lg{height:40px;padding:0 18px;font-size:14px;border-radius:8px}.btn.sm{height:26px;padding:0 9px;font-size:12px;border-radius:5px}.btn.icon{width:32px;padding:0;justify-content:center}.btn.icon.sm{width:26px}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:3px;background:var(--surface-2);border:1px solid var(--line);border-bottom-width:2px;font-family:var(--font-mono);font-size:10px;color:var(--muted)}.chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted-2);font-size:11px;font-weight:500;letter-spacing:.01em}.chip .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.chip.live{color:var(--live);border-color:color-mix(in oklab,var(--live) 35%,var(--line));background:color-mix(in oklab,var(--live) 8%,var(--surface))}.chip.live .dot{background:var(--live);animation:pulse 1.6s ease-in-out infinite}.chip.pro{color:var(--pro);border-color:var(--pro-line);background:var(--pro-soft)}.chip.free{color:var(--muted)}.chip.ok{color:var(--ok);border-color:color-mix(in oklab,var(--ok) 35%,var(--line));background:color-mix(in oklab,var(--ok) 7%,var(--surface))}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.lock-pill{display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 6px;border-radius:4px;background:var(--pro-soft);color:var(--pro);font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--pro-line)}.divider{height:1px;background:var(--line)}.vdivider{width:1px;background:var(--line);align-self:stretch}.spinner{width:14px;height:14px;border:2px solid var(--line-2);border-top-color:var(--fg);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.placeholder{background-color:var(--surface-2);background-image:repeating-linear-gradient(-45deg,transparent 0,transparent 10px,color-mix(in oklab,var(--muted) 10%,transparent) 10px,color-mix(in oklab,var(--muted) 10%,transparent) 11px);position:relative;display:flex;align-items:center;justify-content:center;color:var(--muted);font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;overflow:hidden}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:6px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.row{display:flex;align-items:center}.col{display:flex;flex-direction:column}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.gap-8{gap:32px}.flex-1{flex:1}.muted{color:var(--muted)}.fg-soft{color:var(--fg-soft)}.center{display:flex;align-items:center;justify-content:center}.between{display:flex;align-items:center;justify-content:space-between}.wrap{flex-wrap:wrap}.no-shrink{flex-shrink:0}.h1{font-size:28px;font-weight:600;letter-spacing:-.025em;line-height:1.1}.h2{font-size:20px;font-weight:600;letter-spacing:-.02em;line-height:1.2}.h3{font-size:15px;font-weight:600;letter-spacing:-.01em}.label{font-size:11px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.small{font-size:12px}.xsmall{font-size:11px}input.field,textarea.field,select.field{height:32px;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:0 10px;outline:none;width:100%;transition:border-color 80ms ease,box-shadow 80ms ease}textarea.field{height:auto;padding:8px 10px;resize:vertical}input.field:focus,textarea.field:focus,select.field:focus{border-color:var(--fg);box-shadow:0 0 0 3px color-mix(in oklab,var(--fg) 10%,transparent)}input.field::placeholder{color:var(--muted)}.tab-bar{display:flex;gap:2px;border-bottom:1px solid var(--line)}.tab{padding:9px 12px;font-size:13px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;font-weight:500;cursor:pointer}.tab:hover{color:var(--fg-soft)}.tab.active{color:var(--fg);border-bottom-color:var(--fg)}.nav-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--radius);color:var(--muted-2);font-size:13px;font-weight:500;cursor:pointer;position:relative}.nav-item:hover,.nav-item.active{background:var(--surface-2);color:var(--fg)}.nav-item .ico{width:16px;height:16px;flex-shrink:0;opacity:.85}.nav-item .count{margin-left:auto;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.meter{height:4px;background:var(--surface-3);border-radius:999px;overflow:hidden}.meter>span{display:block;height:100%;background:var(--fg);border-radius:999px}.meter.warn>span{background:var(--warn)}.meter.danger>span{background:var(--danger)}.meter.accent>span{background:var(--accent)}.dotgrid{background-image:radial-gradient(circle,color-mix(in oklab,var(--muted) 25%,transparent) 1px,transparent 1px);background-size:20px 20px}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.fade-in{animation:fadeIn .2s ease-out}
