@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=dark]{--bg:#0d1117;--surface:#161b22;--surface-hi:#1f2937;--sidebar:#0a0f16;--sidebar-text:#ffffff8c;--sidebar-act:#00c2a826;--sidebar-act-text:#00c2a8;--border:#ffffff14;--border-hover:#ffffff26;--text:#f1f5f9;--text-sub:#94a3b8;--text-faint:#475569;--teal:#00c2a8;--teal-muted:#00c2a81f;--blue:#3b82f6;--blue-muted:#3b82f61f;--input-bg:#ffffff0a;--input-border:#ffffff1a;--scroll-track:#0a0f16;--scroll-thumb:#1e293b}[data-theme=light]{--bg:#f4f6f8;--surface:#fff;--surface-hi:#f1f5f9;--sidebar:#1e293b;--sidebar-text:#fff9;--sidebar-act:#00c2a833;--sidebar-act-text:#00c2a8;--border:#00000014;--border-hover:#00000026;--text:#0f172a;--text-sub:#475569;--text-faint:#94a3b8;--teal:#0d9488;--teal-muted:#0d94881a;--blue:#2563eb;--blue-muted:#2563eb14;--input-bg:#fff;--input-border:#0000001f;--scroll-track:#e2e8f0;--scroll-thumb:#cbd5e1}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5;transition:background .2s,color .2s}#root{min-height:100vh}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--scroll-track)}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{opacity:.8}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{background:var(--input-bg);border:1px solid var(--input-border);color:var(--text);border-radius:6px;outline:none;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal-muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px}.card-sm{background:var(--surface);border:1px solid var(--border);border-radius:8px}.text-sub{color:var(--text-sub)}.text-faint{color:var(--text-faint)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.18s fadeIn}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.6}}.cap-bar-track{background:var(--border);border-radius:2px;height:4px;overflow:hidden}.cap-bar-fill{border-radius:2px;height:100%;transition:width .4s}
