:root{--bg-primary:#0d0f0e;--bg-secondary:#161a18;--bg-tertiary:#1e2422;--text-primary:#e8ede9;--text-secondary:#8a9b8f;--accent-green:#4a9e6e;--accent-green-dim:#2d6b45;--accent-green-glow:#4a9e6e26;--accent-purple:#7b5ea7;--accent-purple-dim:#5a4080;--accent-purple-glow:#7b5ea726;--danger:#c45c5c;--danger-dim:#9a3a3a;--timer-warn:#d4a24e;--timer-danger:#c45c5c;--border:#2a3330;--radius:12px;--radius-sm:8px;--font-sans:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Geist Mono", ui-monospace, monospace;--transition-fast:.15s ease;--transition-normal:.25s ease}*{box-sizing:border-box;margin:0;padding:0}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%;color:var(--text-primary);background:var(--bg-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;line-height:1.5;display:flex}a{color:var(--accent-green);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-green-dim)}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit}.container{width:100%;max-width:1000px;margin:0 auto;padding:0 20px}@media (max-width:640px){body{padding-bottom:60px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid var(--border);border-top-color:var(--accent-green);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin;display:inline-block}.spinnerLarge{border-width:3px;width:32px;height:32px}.loadingPage{min-height:50vh;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex}@keyframes toastIn{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-20px)scale(.95)}}
