@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&family=Inter:wght@400;500;600;700&display=swap";
:root{--color-primary:#5b4cc4;--color-primary-light:#7b6fd4;--color-primary-dark:#4a3da6;--color-primary-rgb:91, 76, 196;--color-teal:#20b2aa;--color-gold:#daa520;--color-coral:#e8725a;--color-sage:#4caf7d;--color-success:var(--color-sage);--color-error:#d94848;--color-warning:var(--color-gold);--color-info:var(--color-teal);--color-bg-deep:#080c14;--color-bg:#0e1420;--color-bg-elevated:#151d2c;--color-surface:#151d2c;--color-surface-hover:#1a2538;--color-surface-alt:#1f2b3d;--color-border:#ffffff0f;--color-border-light:#ffffff0a;--color-border-hover:#5b4cc44d;--color-text:#e8ecf4;--color-text-secondary:#8a94a6;--color-text-muted:#4a5568;--gradient-hero:linear-gradient(135deg, #5b4cc4 0%, #7b6fd4 100%);--gradient-cta:linear-gradient(135deg, #5b4cc4 0%, #7b6fd4 50%, #8b7fe4 100%);--gradient-card:linear-gradient(180deg, #151d2c 0%, #0e1420 100%);--gradient-success:linear-gradient(135deg, #4caf7d 0%, #3d9468 100%);--gradient-error:linear-gradient(135deg, #d94848 0%, #b83a3a 100%);--gradient-glow:radial-gradient(circle at center, #5b4cc414 0%, transparent 70%);--gradient-bg-noise:radial-gradient(ellipse at 20% 50%, #20b2aa0a 0%, transparent 50%), radial-gradient(ellipse at 80% 20%, #5b4cc40d 0%, transparent 50%);--font-display:"Outfit", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000059;--shadow-lg:0 8px 30px #0006;--shadow-glow:0 0 20px #5b4cc426;--shadow-glow-teal:0 0 16px #20b2aa26;--shadow-glow-gold:0 0 16px #daa52026;--shadow-glow-coral:0 0 16px #e8725a26;--shadow-glow-success:0 0 16px #4caf7d33;--shadow-glow-error:0 0 16px #d9484833;--shadow-card:0 2px 12px #0000004d, 0 0 1px #ffffff0d;--transition-fast:.15s ease-out;--transition-base:.2s ease-out;--transition-slow:.3s ease-out;--transition-spring:.3s cubic-bezier(.16, 1, .3, 1);--page-padding:20px;--max-width-mobile:480px;--max-width-tablet:768px;--max-width-desktop:1200px;--bottom-nav-height:72px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-bg-deep);background-image:radial-gradient(ellipse at 50% 0%, #5b4cc40f 0%, transparent 60%), radial-gradient(ellipse at 30% 80%, #20b2aa0a 0%, transparent 50%), radial-gradient(ellipse at 70% 60%, #e8725a08 0%, transparent 50%), var(--gradient-bg-noise);background-attachment:fixed;min-height:100dvh;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}input,textarea,select{font-family:inherit;font-size:inherit}h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:700;line-height:1.2}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}.text-gradient{background:var(--gradient-hero);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-muted{color:var(--color-text-secondary)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-container{width:100%;max-width:var(--max-width-mobile);padding:0 var(--page-padding);padding-bottom:calc(var(--bottom-nav-height) + var(--space-lg));margin:0 auto}@media (min-width:768px){.page-container{max-width:var(--max-width-mobile);padding:0 var(--space-xl)}}@media (min-width:1024px){.page-container{max-width:var(--max-width-mobile);padding:0 var(--space-xl)}}.btn{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);font-family:var(--font-display);font-weight:600;font-size:var(--text-base);transition:all var(--transition-base);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:var(--gradient-cta);color:#fff;box-shadow:var(--shadow-glow), var(--shadow-md)}.btn-primary:hover{box-shadow:0 0 28px #5b4cc459, var(--shadow-lg);filter:brightness(1.1);transform:translateY(-2px)}.btn-primary:active{filter:brightness(.95);transform:translateY(0)scale(.98)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0003}.btn-large{padding:var(--space-md) var(--space-xl);font-size:var(--text-lg);border-radius:var(--radius-xl);width:100%;min-height:56px}.btn-icon{border-radius:var(--radius-full);width:48px;height:48px;font-size:var(--text-xl);padding:0}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md);box-shadow:var(--shadow-card);transition:all var(--transition-base)}.card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-glow), var(--shadow-card);transform:translateY(-2px)scale(1.02)}.card:active{transition:transform 80ms;transform:translateY(0)scale(.96)}.card-interactive{cursor:pointer}.btn-primary{animation:3s ease-in-out infinite cta-breathe}@keyframes cta-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}.answer-btn{align-items:center;gap:var(--space-md);width:100%;min-height:56px;padding:var(--space-md) var(--space-lg);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);text-align:left;transition:all var(--transition-base);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;box-shadow:var(--shadow-sm);font-weight:500;display:flex}.answer-btn:hover:not(.answer-btn--disabled){border-color:var(--color-border-hover);background:var(--color-surface-hover);transform:translateY(-1px)}.answer-btn:active:not(.answer-btn--disabled){transition:transform 80ms;transform:scale(.96)}.answer-btn--selected{border-color:var(--color-primary);background:#5b4cc414}.answer-btn--correct{border-color:var(--color-sage);background:#4caf7d1a;animation:.5s forwards glow-success}.answer-btn--incorrect{border-color:var(--color-error);background:#d948481a;animation:.3s cubic-bezier(.36,.07,.19,.97) shake,.5s forwards glow-error}.answer-btn--disabled{opacity:.6;cursor:default;pointer-events:none}.answer-btn__letter{border-radius:var(--radius-sm);background:var(--color-surface-alt);width:32px;height:32px;font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);color:var(--color-text-secondary);transition:all var(--transition-base);flex-shrink:0;justify-content:center;align-items:center;display:flex}.answer-btn--correct .answer-btn__letter{background:var(--color-sage);color:#fff}.answer-btn--incorrect .answer-btn__letter{background:var(--color-error);color:#fff}.badge{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-family:var(--font-display);font-size:var(--text-xs);white-space:nowrap;align-items:center;font-weight:600;display:inline-flex}.badge-primary{color:var(--color-primary-light);background:#5b4cc41f}.badge-success{color:var(--color-sage);background:#4caf7d1f}.badge-rank{background:var(--gradient-hero);color:#fff;font-size:var(--text-sm);padding:var(--space-xs) var(--space-md)}.skeleton{background:linear-gradient(90deg, var(--color-surface) 25%, var(--color-surface-alt) 50%, var(--color-surface) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite skeleton-pulse}@keyframes shake{0%,to{transform:translate(0)}10%,50%,90%{transform:translate(-4px)}30%,70%{transform:translate(4px)}}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes config-slide-up{0%{opacity:0;transform:translateY(100%)}60%{opacity:1;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes pill-glow{0%,to{filter:brightness()}50%{filter:brightness(1.08)}}@keyframes config-backdrop{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}}@keyframes scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes count-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 20px #5b4cc433}50%{box-shadow:0 0 40px #5b4cc466}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-100vh)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes heroGlow{0%,to{box-shadow:0 4px 24px #20b2aa40,0 0 50px #5b4cc433}50%{box-shadow:0 6px 32px #20b2aa59,0 0 60px #5b4cc44d}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes question-enter{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes answer-press{0%{transform:scale(1)}50%{transform:scale(.96)}to{transform:scale(1)}}@keyframes glow-success{0%{box-shadow:0 0 #4caf7d00}50%{box-shadow:0 0 20px #4caf7d4d,0 0 40px #4caf7d1a}to{box-shadow:0 0 16px #4caf7d33}}@keyframes glow-error{0%{box-shadow:0 0 #d9484800}50%{box-shadow:0 0 20px #d948484d,0 0 40px #d948481a}to{box-shadow:0 0 16px #d9484833}}@keyframes float-up{0%{opacity:1;transform:translate(-50%)translateY(0)}70%{opacity:1;transform:translate(-50%)translateY(-8px)}to{opacity:0;transform:translate(-50%)translateY(-20px)}}@keyframes explanation-enter{0%{opacity:0;max-height:0;transform:translateY(8px)}to{opacity:1;max-height:200px;transform:translateY(0)}}@keyframes score-glow{0%,to{box-shadow:0 0 20px #5b4cc426}50%{box-shadow:0 0 40px #5b4cc459,0 0 60px #5b4cc41a}}@keyframes flash-correct{0%{opacity:.35}to{opacity:0}}@keyframes flash-incorrect{0%{opacity:.3}to{opacity:0}}@keyframes float-score{0%{opacity:1;transform:translateY(0)scale(1)}60%{opacity:1;transform:translateY(-28px)scale(1.05)}to{opacity:0;transform:translateY(-48px)scale(.9)}}@keyframes streak-enter{0%{opacity:0;transform:translateY(8px)scale(.8)}60%{opacity:1;transform:translateY(-2px)scale(1.05)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes timer-bar-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes streak-glow{0%,to{text-shadow:0 0 8px #e8725a4d}50%{text-shadow:0 0 16px #e8725a99}}.animate-fade-in{animation:fade-in .3s var(--transition-spring) forwards}.animate-slide-up{animation:slide-up .4s var(--transition-spring) forwards}.animate-scale-in{animation:scale-in .3s var(--transition-spring) forwards}.animate-pop{animation:.3s ease-out pop}.stagger-children>*{opacity:0;animation:.3s cubic-bezier(.16,1,.3,1) forwards fade-in}.stagger-children>:first-child{animation-delay:0s}.stagger-children>:nth-child(2){animation-delay:60ms}.stagger-children>:nth-child(3){animation-delay:.12s}.stagger-children>:nth-child(4){animation-delay:.18s}.stagger-children>:nth-child(5){animation-delay:.24s}.stagger-children>:nth-child(6){animation-delay:.3s}.stagger-children>:nth-child(7){animation-delay:.36s}.stagger-children>:nth-child(8){animation-delay:.42s}.stagger-children>:nth-child(9){animation-delay:.48s}.stagger-children>:nth-child(10){animation-delay:.54s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
