:root,[data-theme=dark]{--accent:#FF8C00;--orange:#FF8C00;--orange-dim:rgba(255,140,0,0.15);--bg:#0f0f0f;--surface:#1a1a1a;--surface-2:#222222;--surface-3:#2a2a2a;--border:#333333;--text:#efefef;--text-muted:#666666;--green:#22c55e;--red:#ef4444;--amber:#f59e0b;--blue:#3b82f6;--purple:#a855f7;--teal:#14b8a6;--input-bg:#111111;--input-border:#333333;--font-family:"Barlow",sans-serif}[data-theme=light]{--bg:#f3f4f6;--surface:#ffffff;--surface-2:#f0f0f0;--surface-3:#e5e7eb;--border:#d1d5db;--text:#111827;--text-muted:#6b7280;--input-bg:#ffffff;--input-border:#d1d5db}[data-font=inter]{--font-family:"Inter",sans-serif}[data-font=roboto]{--font-family:"Roboto",sans-serif}[data-font=oswald]{--font-family:"Oswald",sans-serif}[data-font=space-grotesk]{--font-family:"Space Grotesk",sans-serif}[data-font=nunito]{--font-family:"Nunito",sans-serif}[data-font=outfit]{--font-family:"Outfit",sans-serif}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body,html{background:var(--bg);color:var(--text);font-family:var(--font-family);-webkit-font-smoothing:antialiased;overscroll-behavior:none}a{color:inherit;text-decoration:none}.mi{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:4px}@keyframes xpPop{0%{opacity:1;transform:translateY(0) scale(1)}60%{opacity:1;transform:translateY(-20px) scale(1.2)}to{opacity:0;transform:translateY(-40px) scale(.8)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fade-in{animation:fadeIn .2s ease forwards}.slide-up{animation:slideUp .28s cubic-bezier(.32,.72,0,1) forwards}textarea{resize:vertical}input[type=color]{cursor:pointer}