:root{--primary: #6C5CE7;--primary-light: #A29BFE;--primary-dark: #5541D7;--accent: #FF9F43;--accent-light: #FECA57;--success: #00B894;--success-light: #55EFC4;--danger: #FF6B6B;--danger-light: #FF8E8E;--info: #0984E3;--info-light: #74B9FF;--pink: #FD79A8;--purple: #A29BFE;--bg: #F0F2F5;--bg-card: #FFFFFF;--text: #2D3436;--text-muted: #636E72;--text-light: #B2BEC3;--border: #E0E0E0;--grad-primary: linear-gradient(135deg, #6C5CE7, #A29BFE);--grad-orange: linear-gradient(135deg, #FF9F43, #FFBE76);--grad-green: linear-gradient(135deg, #00B894, #55EFC4);--grad-blue: linear-gradient(135deg, #0984E3, #74B9FF);--grad-pink: linear-gradient(135deg, #FD79A8, #FDCB6E);--grad-sunset: linear-gradient(135deg, #FF9F43, #FC6C8F);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 50%;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .16);--shadow-glow: 0 4px 24px rgba(108, 92, 231, .3);--font: "Nunito", -apple-system, BlinkMacSystemFont, sans-serif;--bottom-nav-height: 70px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font);background-color:var(--bg);color:var(--text);line-height:1.6;min-height:100vh;overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}a{text-decoration:none;color:inherit}button{cursor:pointer;font-family:var(--font);border:none;outline:none}img{max-width:100%;display:block}.container{width:100%;max-width:1100px;margin:0 auto;padding:0 var(--space-md)}.text-center{text-align:center}.text-white{color:#fff}.text-muted{color:var(--text-muted)}.card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.card-body{padding:var(--space-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:12px 24px;border-radius:var(--radius-md);font-weight:700;font-size:1rem;transition:all .25s ease;min-height:48px;min-width:48px}.btn-primary{background:var(--grad-primary);color:#fff}.btn-primary:hover{box-shadow:var(--shadow-glow);transform:translateY(-2px)}.btn-accent{background:var(--grad-orange);color:#fff}.btn-success{background:var(--grad-green);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-light{background:#ffffffe6;color:var(--primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-light:hover{background:#fff;transform:translateY(-2px)}.btn-outline{background:transparent;border:2px solid var(--border);color:var(--text)}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.btn-lg{padding:16px 32px;font-size:1.1rem;border-radius:var(--radius-lg)}.btn-sm{padding:8px 16px;font-size:.85rem;min-height:36px}.btn-block{width:100%}.form-group{margin-bottom:var(--space-md)}.form-label{display:block;font-weight:700;margin-bottom:var(--space-xs);font-size:.9rem;color:var(--text-muted)}.form-input{width:100%;padding:14px 18px;border:2px solid var(--border);border-radius:var(--radius-md);font-size:1rem;font-family:var(--font);transition:border-color .25s ease,box-shadow .25s ease;background:#fff}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #6c5ce726;outline:none}.form-input::placeholder{color:var(--text-light)}.badge{display:inline-flex;align-items:center;padding:6px 14px;border-radius:var(--radius-full);font-size:.8rem;font-weight:700}.badge-primary{background:var(--primary);color:#fff}.badge-success{background:var(--success);color:#fff}.badge-danger{background:var(--danger);color:#fff}.badge-warning{background:var(--accent);color:#fff}.progress{height:12px;background:var(--bg);border-radius:6px;overflow:hidden}.progress-bar{height:100%;background:var(--grad-sunset);border-radius:6px;transition:width .6s ease}.grid{display:grid;gap:var(--space-md)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 768px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.page{flex:1;padding:var(--space-lg) 0;padding-bottom:calc(var(--bottom-nav-height) + var(--space-xl))}.page-header{text-align:center;margin-bottom:var(--space-xl)}.page-header h1{font-size:1.8rem;font-weight:900;color:var(--text)}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}@keyframes confetti{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(-100px) rotate(720deg);opacity:0}}.animate-fade{animation:fadeIn .5s ease forwards}.animate-scale{animation:scaleIn .4s ease forwards}.animate-bounce{animation:bounce 2s ease infinite}.animate-pulse{animation:pulse 2s ease infinite}.score-banner{background:var(--grad-sunset);border-radius:var(--radius-xl);padding:var(--space-xl);text-align:center;color:#fff}.score-banner .score-value{font-size:3rem;font-weight:900}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-light);border-radius:3px}@media (max-width: 768px){:root{--space-lg: 16px;--space-xl: 24px}.page-header h1{font-size:1.5rem}.btn-lg{padding:14px 24px;font-size:1rem}.score-banner .score-value{font-size:2.2rem}}@media (max-width: 480px){.container{padding:0 var(--space-sm)}.card-body{padding:var(--space-md)}}
