:root{--color-primary: hsl(242, 54%, 65%);--color-primary-high-contrast: hsl(242, 54%, 80%);--color-primary-inactive: hsl(242, 27%, 32%);--color-primary-background-brighter: hsl(242, 54%, 30%);--color-primary-background-darker: hsl(242, 54%, 20%);--color-secondary: hsl(216, 79%, 70%);--color-secondary-high-contrast: hsl(216, 79%, 80%);--color-error: hsl(2, 54%, 65%);--color-success: hsl(106, 54%, 65%);--color-black: #000000;--color-off-black: hsl(242, 54%, 10%);--color-off-black-secondary: hsl(332, 54%, 20%);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-navbar-height: 2.3rem;--space-padding-horiz: min(var(--space-lg), 7vw);--space-padding-vert: min(var(--space-lg), 7vw);--opacity-disabled: .2;--opacity-secondary: .4}@font-face{font-family:Gotham;src:url(/fonts/GothamSSm-XLight.otf);font-style:normal;font-weight:200;font-display:swap}@font-face{font-family:Gotham;src:url(/fonts/GothamSSm-Light.otf);font-style:normal;font-weight:300;font-display:swap}@font-face{font-family:Gotham;src:url(/fonts/GothamSSm-Book.otf);font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Gotham;src:url(/fonts/GothamSSm-Medium.otf);font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Gotham;src:url(/fonts/GothamSSm-Bold.otf);font-style:normal;font-weight:700;font-display:swap}*{box-sizing:border-box}body{margin:0;font-family:Gotham,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-off-black);color:var(--color-primary-high-contrast);transition:all .3s ease}body.listening-pulse{animation:subtlePulse 2s ease-in-out infinite}.app{min-height:100vh;display:flex;flex-direction:column}.container{max-width:600px;margin:0 auto;padding:var(--space-padding-vert) var(--space-padding-horiz);flex:1;display:flex;flex-direction:column;transition:all .3s ease}.correct-flash{animation:correctFlash 1s ease-out}.wrong-flash{animation:wrongFlash 1s ease-out}.question-bounce{animation:bounceIn .6s ease-out}.bounce-in{animation:bounceIn .5s ease-out}.shake{animation:shake .5s ease-out}@keyframes subtlePulse{0%,to{background-color:var(--color-off-black);transform:scale(1)}50%{background-color:#0f0e2f;transform:scale(1.002)}}@keyframes correctFlash{0%{background-color:var(--color-off-black)}30%{background-color:var(--color-success);box-shadow:inset 0 0 100px #6a994e4d}to{background-color:var(--color-off-black)}}@keyframes wrongFlash{0%{background-color:var(--color-off-black)}30%{background-color:var(--color-error);box-shadow:inset 0 0 100px #cc55444d}to{background-color:var(--color-off-black)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3) translateY(50px)}50%{opacity:1;transform:scale(1.05) translateY(-10px)}70%{transform:scale(.95) translateY(5px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-3px)}20%,40%,60%,80%{transform:translate(3px)}}@keyframes floatUp{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}50%{opacity:1;transform:translate(-50%,-150%) scale(1.2)}to{opacity:0;transform:translate(-50%,-250%) scale(.8)}}@keyframes waveExpand{0%{transform:scale(.8);opacity:1}to{transform:scale(2);opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button{background:var(--color-primary-background-brighter);border:2px solid var(--color-primary-inactive);color:var(--color-primary-high-contrast);padding:var(--space-md) var(--space-lg);border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center;text-decoration:none;display:inline-block}.button:hover{border-color:var(--color-primary);box-shadow:0 0 16px var(--color-primary);transform:translateY(-2px)}.button:active{transform:translateY(0)}.button.primary{background:var(--color-primary);color:var(--color-off-black);border-color:var(--color-primary)}.button.success{background:var(--color-success);color:var(--color-off-black);border-color:var(--color-success)}.button.error{background:var(--color-error);color:var(--color-off-black);border-color:var(--color-error)}.button.success-dim{background:var(--color-success);color:var(--color-off-black);border-color:var(--color-success);opacity:.4}.button.error-bright{background:var(--color-error);color:var(--color-off-black);border-color:var(--color-error);box-shadow:0 0 20px var(--color-error)}.game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl);margin-top:var(--space-lg);padding:0 var(--space-md)}.score-display{margin-left:1rem;font-size:1.5rem;font-weight:700;color:var(--color-success);display:flex;gap:.25rem}.game-content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center}.listening-indicator{width:120px;height:120px;border:4px solid var(--color-primary-inactive);border-radius:50%;margin:0 auto var(--space-lg) auto;display:flex;align-items:center;justify-content:center;background:var(--color-primary-background-darker);position:relative;overflow:visible}.pulse-glow{animation:pulseGlow 2s ease-in-out infinite}@keyframes pulseGlow{0%,to{box-shadow:0 0 20px var(--color-primary-inactive);transform:scale(1)}50%{box-shadow:0 0 40px var(--color-primary),0 0 60px var(--color-primary);transform:scale(1.05)}}.listening-icon{font-size:2.5rem;color:var(--color-primary);z-index:2}.loading-spinner{width:50px;height:50px;border:3px solid var(--color-primary-inactive);border-top:3px solid var(--color-primary);border-radius:50%;margin:0 auto;animation:spin 1s linear infinite}.stats-card{background:var(--color-primary-background-darker);border:1px solid var(--color-primary-inactive);border-radius:12px;padding:var(--space-lg);margin-bottom:var(--space-lg);box-shadow:inset 0 0 16px var(--color-primary-background-brighter)}.progress-bar{width:100%;height:8px;background:var(--color-primary-inactive);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-secondary),var(--color-primary));transition:width .3s ease}.countdown-ring{width:100px;height:100px;margin:var(--space-lg) auto}.countdown-ring circle{fill:none;stroke-width:4;stroke-linecap:round;transform-origin:center;transform:rotate(-90deg);transition:stroke .3s ease}.countdown-ring .background{stroke:var(--color-primary-inactive)}.countdown-ring .progress{stroke:var(--color-primary);stroke-dasharray:251.2;stroke-dashoffset:0;transition:stroke-dashoffset .1s linear,stroke .3s ease}.countdown-text{font-size:28px;font-weight:700}.answer-buttons{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr 1fr;height:33vh;gap:2px;background:var(--color-off-black);padding:2px}.answer-button{padding:var(--space-lg);font-size:1.4rem;font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:8px;margin:0;min-height:unset;height:100%;transition:all .3s ease;position:relative;overflow:hidden}.answer-button:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000004d}.answer-button:active{transform:translateY(-2px)}.answer-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.answer-button:hover:before{left:100%}.level-progress{position:fixed;top:0;left:0;right:0;height:6px;background:var(--color-primary-inactive);z-index:100}.level-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-secondary),var(--color-primary));transition:width .5s ease;position:relative}.level-progress-fill:after{content:"";position:absolute;top:0;right:0;width:20px;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3));animation:progressShimmer 2s ease-in-out infinite}@keyframes progressShimmer{0%,to{opacity:0}50%{opacity:1}}.floating-emoji{-webkit-user-select:none;user-select:none;pointer-events:none}@media (max-width: 480px){.listening-indicator{width:100px;height:100px}.listening-icon{font-size:2rem}.answer-button{font-size:1.2rem}.countdown-ring{width:80px;height:80px}.countdown-text{font-size:24px}}@media (prefers-reduced-motion: reduce){body.listening-pulse,.pulse-glow,.question-bounce,.bounce-in,.shake,.answer-button:before,.level-progress-fill:after{animation:none}.correct-flash,.wrong-flash{animation:none;transition:background-color .3s ease}}.home-page{animation:fadeInUp .8s ease-out}.hero-section{text-align:center;margin-bottom:var(--space-lg);position:relative}.hero-section.compact{margin-bottom:var(--space-md)}.app-title{font-size:4rem;margin:0 0 var(--space-sm) 0;background:linear-gradient(135deg,var(--color-secondary),var(--color-primary),var(--color-success));background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 3s ease-in-out infinite;text-shadow:0 0 30px rgba(124,144,255,.3);font-weight:900;letter-spacing:.1em}.app-title.compact{font-size:3rem;margin:0 0 var(--space-xs) 0}.app-subtitle{font-size:1.2rem;color:var(--color-primary-high-contrast);margin:0;opacity:.8;display:flex;align-items:center;justify-content:center;gap:.5rem}.app-subtitle.compact{font-size:1rem}.app-subtitle span{font-size:1.5rem;animation:bounce 2s ease-in-out infinite}.app-subtitle.compact span{font-size:1.2rem}.app-subtitle span:nth-child(3){animation-delay:1s}.main-stats{position:relative;overflow:hidden}.main-stats.compact{padding:var(--space-md)}.main-stats:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,var(--color-primary),var(--color-secondary),var(--color-success),var(--color-primary));background-size:400% 400%;border-radius:14px;z-index:-1;animation:gradientBorder 4s ease-in-out infinite}.stats-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.stats-header.compact{margin-bottom:var(--space-md)}.stats-header h2{margin:0;color:var(--color-secondary);font-size:1.5rem}.stats-header.compact h2{font-size:1.3rem}.progress-emoji{font-size:1.5rem;animation:pulse 2s ease-in-out infinite}.stats-header.compact .progress-emoji{font-size:1.2rem}.progress-section{margin-bottom:var(--space-xl)}.progress-section.compact{margin-bottom:var(--space-lg)}.enhanced-progress{position:relative;height:10px;background:var(--color-primary-inactive);border-radius:5px;overflow:hidden;box-shadow:inset 0 2px 4px #0003}.animated-fill{background:linear-gradient(90deg,var(--color-secondary),var(--color-primary),var(--color-success));background-size:200% 100%;animation:progressFlow 2s ease-in-out infinite;transition:width 1s ease-out}.progress-glow{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progressGlow 2s ease-in-out infinite;transition:width 1s ease-out}.progress-text{text-align:center;margin-top:var(--space-sm);font-size:.9rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.progress-text.compact{font-size:.8rem;margin-top:var(--space-xs)}.progress-numbers{font-weight:700;color:var(--color-primary)}.completion-badge{font-size:1.2rem;animation:bounce 1s ease-in-out infinite}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm);margin-bottom:var(--space-xl)}.stats-grid.compact{gap:var(--space-xs);margin-bottom:var(--space-lg)}.stat-card{text-align:center;padding:var(--space-md);background:var(--color-primary-background-darker);border:1px solid var(--color-primary-inactive);border-radius:8px;transition:all .3s ease;position:relative;overflow:hidden}.stat-card.compact{padding:var(--space-sm);border-radius:6px}.stat-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.stat-card:hover:before{left:100%}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0003;border-color:var(--color-primary)}.stat-icon{font-size:1.5rem;margin-bottom:var(--space-xs);display:block}.stat-card.compact .stat-icon{font-size:1.2rem;margin-bottom:2px}.stat-value{font-size:1.6rem;font-weight:700;margin-bottom:var(--space-xs)}.stat-card.compact .stat-value{font-size:1.4rem;margin-bottom:2px}.stat-label{font-size:.8rem;opacity:var(--opacity-secondary)}.stat-card.compact .stat-label{font-size:.7rem}.main-action.compact{margin-bottom:var(--space-md)}.start-button.compact{font-size:1.2rem;padding:var(--space-md)}.completion-message{text-align:center;padding:var(--space-lg);background:linear-gradient(135deg,var(--color-success),var(--color-secondary));color:var(--color-off-black);border-radius:12px;box-shadow:0 8px 25px #0000004d}.completion-message.compact{padding:var(--space-md);border-radius:8px}.completion-icon{font-size:2.5rem;margin-bottom:var(--space-sm);animation:celebration 2s ease-in-out infinite}.completion-message.compact .completion-icon{font-size:2rem;margin-bottom:var(--space-xs)}.completion-message h3{margin:0 0 var(--space-sm) 0;font-size:1.3rem}.completion-message.compact h3{font-size:1.1rem;margin:0 0 var(--space-xs) 0}.completion-message p{margin:0;line-height:1.4;font-size:.9rem}.reset-section{margin-top:var(--space-lg);text-align:center}.reset-section.compact{margin-top:var(--space-md)}.reset-button{font-size:.8rem;opacity:.7;border:1px solid var(--color-primary-inactive);transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem;padding:var(--space-sm) var(--space-md)}.reset-button.compact{font-size:.75rem;padding:var(--space-xs) var(--space-sm)}.levels-left .stat-value{color:var(--color-primary)}.avg-points .stat-value{color:var(--color-secondary)}.total-points .stat-value{color:var(--color-success)}.stat-label{font-size:.9rem;opacity:var(--opacity-secondary)}.main-action{margin-bottom:var(--space-lg)}.start-button{width:100%;font-size:1.4rem;padding:var(--space-lg);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:.5rem}.button-icon{font-size:1.2em;animation:rocket 2s ease-in-out infinite}.button-shine{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:buttonShine 3s ease-in-out infinite}.completion-message{text-align:center;padding:var(--space-xl);background:linear-gradient(135deg,var(--color-success),var(--color-secondary));color:var(--color-off-black);border-radius:12px;box-shadow:0 8px 25px #0000004d}.completion-icon{font-size:3rem;margin-bottom:var(--space-md);animation:celebration 2s ease-in-out infinite}.completion-message h3{margin:0 0 var(--space-md) 0;font-size:1.5rem}.completion-message p{margin:0;line-height:1.6}.reset-section{margin-top:var(--space-xl);text-align:center}.reset-button{font-size:.9rem;opacity:.7;border:1px solid var(--color-primary-inactive);transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.reset-button:hover{opacity:1;border-color:var(--color-error);color:var(--color-error)}.result-screen{position:relative;animation:fadeInUp .8s ease-out}.result-screen.celebrating{animation:celebrationPulse 3s ease-out}.celebration-emoji{position:fixed;font-size:3rem;animation:celebrationFloat 3s ease-out forwards;z-index:1000;pointer-events:none}.result-header{margin-bottom:var(--space-xl)}.result-header.compact{margin-bottom:var(--space-lg)}.performance-message{animation:bounceIn 1s ease-out .5s both}.performance-message.compact{animation:bounceIn .8s ease-out .3s both}.result-stats{background:linear-gradient(135deg,var(--color-primary-background-darker),var(--color-primary-background-brighter));border:2px solid var(--color-primary);box-shadow:0 0 30px #7c90ff33}.result-stats.compact{padding:var(--space-md);border-width:1px;box-shadow:0 0 20px #7c90ff26}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) 0;border-bottom:1px solid var(--color-primary-inactive);transition:all .3s ease}.stat-row:last-child{border-bottom:none}.stat-row:hover{background:var(--color-primary-background-brighter);padding-left:var(--space-sm);border-radius:8px}.highlight-stat{background:linear-gradient(90deg,transparent,var(--color-success)20,transparent);border-radius:8px;font-weight:700}.animated-points{transition:all .1s ease}.action-buttons{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-xl)}.action-buttons.compact{gap:var(--space-sm);margin-top:var(--space-lg)}.pulse-button{animation:gentlePulse 2s ease-in-out infinite;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-size:1.2rem;padding:var(--space-lg)}.pulse-button.compact{font-size:1.1rem;padding:var(--space-md)}.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-size:1.1rem;transition:all .3s ease}.secondary-button.compact{font-size:1rem;padding:var(--space-sm) var(--space-md)}.secondary-button:hover{background:var(--color-primary-background-brighter)}.completion-badge{padding:var(--space-xl);background:linear-gradient(135deg,var(--color-success),var(--color-secondary));color:var(--color-off-black);border-radius:12px;font-weight:700;font-size:1.2rem;box-shadow:0 8px 25px #0000004d;animation:completionGlow 2s ease-in-out infinite}.completion-badge.compact{padding:var(--space-md);border-radius:8px;font-size:1rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes gradientBorder{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes progressFlow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes progressGlow{0%,to{transform:translate(-100%)}50%{transform:translate(100%)}}@keyframes rocket{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes buttonShine{0%{left:-100%}50%{left:100%}to{left:100%}}@keyframes celebration{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.1) rotate(-5deg)}75%{transform:scale(1.1) rotate(5deg)}}@keyframes celebrationPulse{0%,to{background-color:var(--color-off-black)}50%{background-color:#0f0e2f}}@keyframes celebrationFloat{0%{opacity:1;transform:translateY(0) rotate(0) scale(.5)}50%{opacity:1;transform:translateY(-100px) rotate(180deg) scale(1.2)}to{opacity:0;transform:translateY(-200px) rotate(360deg) scale(.8)}}@keyframes gentlePulse{0%,to{box-shadow:0 0 16px var(--color-primary)}50%{box-shadow:0 0 25px var(--color-primary),0 0 35px var(--color-primary) 40}}@keyframes completionGlow{0%,to{box-shadow:0 8px 25px #0000004d}50%{box-shadow:0 8px 35px #6a994e66,0 0 20px #6a994e4d}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}
