*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #0a0a12;--bg-card: #13121f;--bg-surface: #1e1c2e;--text-primary: #f0eeff;--text-secondary: #c4b8ff;--text-muted: #8b7fb8;--text-dim: #6a5f8a;--accent-purple: #7c3aed;--accent-magenta: #a855f7;--accent-pink: #f72585;--accent-green: #06d6a0;--accent-gold: #ffd60a;--accent-red: #ff4d6d;--border-subtle: rgba(168, 85, 247, .2);--border-hover: rgba(168, 85, 247, .35);--shadow-purple: rgba(168, 85, 247, .4)}html,body{height:100%;background:var(--bg-primary);color:var(--text-primary);font-family:DM Sans,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;position:relative;z-index:1}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#a855f74d;border-radius:4px}::selection{background:#a855f74d;color:#fff}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes cardFly{0%{transform:scale(1) translateY(0);opacity:1}50%{transform:scale(.9) translateY(-40px);opacity:.7}to{transform:scale(.7) translateY(0);opacity:1}}.fade-up{animation:fadeUp .4s ease forwards}.pop-in{animation:popIn .35s cubic-bezier(.34,1.56,.64,1) forwards}.card-fly-out{animation:cardFly .5s ease forwards}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.error-banner{padding:12px 16px;border-radius:12px;background:#ff4d6d1a;border:1px solid rgba(255,77,109,.25);color:#ff4d6d;font-size:.85rem;text-align:center;line-height:1.5}.container{width:100%;max-width:720px;margin:0 auto;padding:24px 16px 40px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 480px){.grid-2{grid-template-columns:1fr}}.heading-xl{font-family:Bebas Neue,sans-serif;font-size:clamp(3rem,12vw,6rem);line-height:.95;letter-spacing:.02em;text-align:center}.heading-lg{font-family:Bebas Neue,sans-serif;font-size:clamp(2.8rem,10vw,4.5rem);line-height:1}.card{border-radius:16px;padding:clamp(12px,3vw,20px);background:linear-gradient(135deg,#1e1c2e,#13121f);border:1px solid rgba(168,85,247,.25)}.text-input{width:100%;padding:clamp(10px,2.5vw,14px);border-radius:10px;outline:none;background:#1e1c2e;border:1px solid rgba(168,85,247,.25);color:#f0eeff;font-size:clamp(.82rem,2.5vw,.95rem)}.text-input:focus{border-color:#a855f7;box-shadow:0 0 0 3px #a855f726}.btn-primary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:clamp(14px,3vw,18px) clamp(16px,4vw,24px);border-radius:16px;border:none;cursor:pointer;color:#fff;font-weight:700;font-size:clamp(.92rem,2.8vw,1.05rem);letter-spacing:.02em;transition:transform .15s,box-shadow .15s,opacity .2s}.btn-primary:active{transform:scale(.97)!important}@media (max-width: 480px){.timeline-track{height:36px!important}.timeline-thumb{width:28px!important;height:28px!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
