*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--radius: 10px;--font: "DM Sans", sans-serif;--mono: "DM Mono", monospace}[data-theme=dark]{--bg: #0f0f0f;--bg2: #1a1a1a;--bg3: #242424;--border: #2e2e2e;--text: #f0ede8;--muted: #888580;--accent: #d4f04a;--accent2: #a8c238;--accent-text: #0f0f0f;--accent-bg: rgba(212, 240, 74, .08);--accent-border: rgba(212, 240, 74, .2);--danger: #ff5c5c;--danger-bg: #2b0d0d;--success: #4ad48a;--success-bg: #0d2b1e;--warning: #f0a84a;--warning-bg: #2b1e0d}[data-theme=light]{--bg: #faf9f5;--bg2: #ffffff;--bg3: #f1efe8;--border: #e5e2d8;--text: #1a1a1a;--muted: #706e68;--accent: #6b8e23;--accent2: #557018;--accent-text: #ffffff;--accent-bg: rgba(107, 142, 35, .08);--accent-border: rgba(107, 142, 35, .25);--danger: #c4302b;--danger-bg: #fde8e7;--success: #2a8c5a;--success-bg: #e3f5ec;--warning: #b87c1a;--warning-bg: #faf0db}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background .2s,color .2s}a{color:inherit;text-decoration:none}button{font-family:var(--font);cursor:pointer;border:none;outline:none}input,select,textarea{font-family:var(--font);outline:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:var(--radius);font-size:14px;font-weight:500;transition:all .15s}.btn-primary{background:var(--accent);color:var(--accent-text)}.btn-primary:hover{background:var(--accent2)}.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}.btn-ghost:hover{color:var(--text);border-color:var(--muted)}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:24px;transition:background .2s,border-color .2s}.input{width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:10px 14px;font-size:14px;transition:border-color .15s}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--muted)}.label{display:block;font-size:12px;font-weight:500;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:500;font-family:var(--mono)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-muted{background:var(--bg3);color:var(--muted)}.form-group{margin-bottom:18px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:768px){.grid-2,.grid-3{grid-template-columns:1fr}}.toggle-group{display:inline-flex;background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:3px;gap:2px}.toggle-btn{padding:6px 14px;border-radius:6px;font-size:13px;font-weight:500;background:transparent;color:var(--muted);transition:all .15s}.toggle-btn.active{background:var(--accent);color:var(--accent-text)}
