@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;700&family=JetBrains+Mono:wght@400;500;600&display=swap";
[data-theme=dark]{--bg:#0b0e14;--grid:#11161f;--card:#121823;--card2:#19212f;--line:#222c3a;--txt:#dfe6ef;--mut:#7d8aa0;--dim:#4e5b6e;--accent:#a3e635;--accent-ink:#1a2e05;--teal:#2dd4bf;--teal-ink:#06281f;--red:#fb6f6a;--amber:#fbbf24;--violet:#a78bfa;--violet-ink:#1e1b3a;--brand:#a3e635}[data-theme=white]{--bg:#f4f6f8;--grid:#e9edf1;--card:#fff;--card2:#f1f4f7;--line:#e2e7ec;--txt:#1b2330;--mut:#64748b;--dim:#9aa6b4;--accent:#16a34a;--accent-ink:#fff;--teal:#0d9488;--teal-ink:#fff;--red:#dc2626;--amber:#d97706;--violet:#7c3aed;--violet-ink:#fff;--brand:#16a34a}[data-theme=pink]{--bg:#fdf2f6;--grid:#fbe4ec;--card:#fff;--card2:#fdeaf1;--line:#f6d6e2;--txt:#3d1f2c;--mut:#9c6b7e;--dim:#c89aab;--accent:#2563eb;--accent-ink:#fff;--teal:#0ea5a4;--teal-ink:#fff;--red:#e11d48;--amber:#d97706;--violet:#9333ea;--violet-ink:#fff;--brand:#db2777}[data-theme=violet]{--bg:#0f0a1a;--grid:#1a1230;--card:#171029;--card2:#221635;--line:#2e2150;--txt:#e9e2f7;--mut:#9b8bbf;--dim:#5f5180;--accent:#c084fc;--accent-ink:#2a103f;--teal:#5e50f0;--teal-ink:#fff;--red:#f87189;--amber:#fbbf24;--violet:#a78bfa;--violet-ink:#1e1b3a;--brand:#c084fc}[data-theme=teal]{--bg:#06141a;--grid:#0c2028;--card:#0c1c24;--card2:#112a34;--line:#1c3b46;--txt:#d8eef2;--mut:#6f97a3;--dim:#3f5d66;--accent:#34d399;--accent-ink:#04261a;--teal:#22d3ee;--teal-ink:#053038;--red:#fb7185;--amber:#fbbf24;--violet:#818cf8;--violet-ink:#1a1f3a;--brand:#34d399}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;font-size:14px}body{background-color:var(--bg);color:var(--txt);background-image:radial-gradient(var(--grid) 1px, transparent 1px);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-size:22px 22px;min-height:100vh;font-family:Noto Sans SC,sans-serif;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:Space Grotesk,sans-serif;font-weight:600}a{color:inherit;text-decoration:none}.mono{font-family:JetBrains Mono,monospace}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--dim)}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px}.card2{background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:16px}.btn{border:1px solid var(--line);background:var(--card2);color:var(--txt);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn-accent{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn-accent:hover{opacity:.85;color:var(--accent-ink)}.btn-danger{background:var(--red);color:#fff;border-color:var(--red)}.btn-danger:hover{opacity:.85;color:#fff}.btn-sm{padding:4px 10px;font-size:12px}.btn:disabled{opacity:.45;cursor:not-allowed}.badge{white-space:nowrap;border-radius:20px;align-items:center;padding:2px 8px;font-family:Space Grotesk,sans-serif;font-size:11px;font-weight:600;display:inline-flex}.badge-green{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent)}.badge-red{background:color-mix(in srgb, var(--red) 15%, transparent);color:var(--red)}.badge-amber{background:color-mix(in srgb, var(--amber) 15%, transparent);color:var(--amber)}.badge-violet{background:color-mix(in srgb, var(--violet) 15%, transparent);color:var(--violet)}.badge-teal{background:color-mix(in srgb, var(--teal) 15%, transparent);color:var(--teal)}.badge-dim{background:color-mix(in srgb, var(--dim) 15%, transparent);color:var(--mut)}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-transform:uppercase;letter-spacing:.06em;color:var(--mut);text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px;font-family:Space Grotesk,sans-serif;font-size:11px;font-weight:600}.data-table td{border-bottom:1px solid color-mix(in srgb, var(--line) 50%, transparent);vertical-align:middle;padding:10px 12px}.data-table tr:hover td{background:color-mix(in srgb, var(--card2) 60%, transparent)}.data-table tr:last-child td{border-bottom:none}.input,.select,textarea.input{background:var(--card2);border:1px solid var(--line);color:var(--txt);border-radius:8px;outline:none;width:100%;padding:8px 12px;font-family:Noto Sans SC,sans-serif;font-size:13px;transition:border-color .15s}.input:focus,.select:focus,textarea.input:focus{border-color:var(--accent)}.select{cursor:pointer}.tab-bar{background:var(--card2);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;gap:4px;padding:4px;display:flex}.tab-item{color:var(--mut);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:6px 16px;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:500;transition:all .15s}.tab-item:hover{color:var(--txt)}.tab-item.active{background:var(--accent);color:var(--accent-ink)}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.skeleton{background:linear-gradient(90deg, var(--card2) 25%, var(--line) 50%, var(--card2) 75%);background-size:800px 100%;border-radius:6px;animation:1.4s infinite shimmer}.txt-mut{color:var(--mut)}.txt-dim{color:var(--dim)}.txt-accent{color:var(--accent)}.txt-red{color:var(--red)}.txt-amber{color:var(--amber)}.txt-teal{color:var(--teal)}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.w-full{width:100%}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.text-sm{font-size:12px}.text-xs{font-size:11px}.font-bold{font-weight:700}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
