:root{--bg: #0F0A1A;--bg-gradient: radial-gradient(ellipse at 50% 0%, rgba(168, 85, 247, .12) 0%, #0F0A1A 70%);--card: #1A1230;--card-light: #251B45;--card-hover: #2D2055;--primary: #A855F7;--primary-light: #C084FC;--primary-glow: rgba(168, 85, 247, .4);--accent-red: #FF6B6B;--accent-teal: #4ECDC4;--accent-yellow: #FFE66D;--accent-pink: #FF85A2;--accent-blue: #45B7D1;--text: #F8F0FF;--text-muted: #A89BC2;--success: #4ECDC4;--danger: #FF6B6B;--gradient-primary: linear-gradient(135deg, #A855F7, #EC4899);--gradient-teal: linear-gradient(135deg, #4ECDC4, #45B7D1);--gradient-warm: linear-gradient(135deg, #FFE66D, #FF6B6B);--radius: 12px;--radius-lg: 16px;--radius-xl: 20px;--shadow: 0 4px 20px rgba(0, 0, 0, .3);--shadow-glow: 0 4px 15px var(--primary-glow)}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--text);font-family:Nunito,-apple-system,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}body{min-height:100vh;min-height:100dvh}a{color:var(--primary-light);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#a855f740;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a855f766}input,textarea,select{font-family:Nunito,sans-serif;font-size:15px;color:var(--text);background:var(--card);border:2px solid rgba(168,85,247,.2);border-radius:var(--radius);padding:12px 16px;outline:none;transition:border-color .2s,box-shadow .2s;width:100%}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #a855f726}select{cursor:pointer}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:var(--radius);font-family:Nunito,sans-serif;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap}.btn:hover{transform:translateY(-1px);filter:brightness(1.1)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-glow)}.btn-secondary{background:var(--card-light);color:var(--text);border:2px solid rgba(168,85,247,.2)}.btn-success{background:var(--gradient-teal);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-ghost{background:transparent;color:var(--text-muted);padding:8px 12px}.btn-sm{padding:8px 16px;font-size:13px}.btn-lg{padding:16px 32px;font-size:18px;border-radius:var(--radius-lg)}.btn-block{width:100%;justify-content:center}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes popIn{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes glow{0%,to{box-shadow:0 0 20px var(--primary-glow)}50%{box-shadow:0 0 40px var(--primary-glow)}}@keyframes stampMark{0%{transform:scale(2.5) rotate(-20deg);opacity:0}60%{transform:scale(1.1) rotate(5deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes confettiFall{0%{top:-5%;opacity:1;transform:rotate(0) translate(0)}to{top:105%;opacity:0;transform:rotate(720deg) translate(30px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade{animation:fadeIn .4s ease-out}.animate-slide{animation:slideIn .3s ease-out}.animate-pop{animation:popIn .4s ease-out}.animate-pulse{animation:pulse 1.5s infinite}.animate-glow{animation:glow 2s infinite}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.font-display{font-family:Fredoka One,cursive}.container{max-width:900px;margin:0 auto;padding:20px}.card{background:var(--card);border-radius:var(--radius-lg);border:1px solid rgba(168,85,247,.12);padding:20px}.card-empty{border:2px dashed rgba(168,85,247,.2);text-align:center;padding:32px}.badge{display:inline-block;padding:2px 10px;border-radius:20px;font-size:12px;font-weight:700}.badge-primary{background:#a855f733;color:var(--primary-light)}.badge-success{background:#4ecdc433;color:var(--success)}.badge-warning{background:#ffe66d33;color:var(--accent-yellow)}.badge-danger{background:#ff6b6b33;color:var(--danger)}
