*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.game-heading h1,.game-heading .subtitle,.hint,.calorie-label,.calorie-number,.food-name,.food-desc{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}button,.food-card,.difficulty-select,.language-select{min-height:44px;min-width:44px;touch-action:manipulation}html{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}input,select,textarea{font-size:16px}.game-container{background:var(--app-surface);border-radius:20px;max-width:700px;width:100%;min-width:0;box-shadow:0 12px 30px #0f172a1f;position:relative;overflow:hidden;margin:0 auto}.game-info-banner{background:#d5ee6e;padding:20px 24px;margin-bottom:26px;display:flex;flex-direction:column;gap:18px}.game-info-banner .top-bar{margin-bottom:0}.game-info-banner .scoring-display{margin:0}.game-info-banner .difficulty-dropdown{margin:0;justify-content:center}.game-section{padding:0 28px;margin-bottom:26px}.game-heading{text-align:center}.game-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#2c2c2c33,#2c2c2c99,#2c2c2c33);animation:topBarSweep 3s ease-in-out infinite}@keyframes topBarSweep{0%{transform:translate(-100%)}50%{transform:translate(0)}to{transform:translate(100%)}}.top-bar{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:24px}.nutriscan-logo{display:flex;justify-content:flex-start;align-items:center;cursor:pointer;transition:transform .3s ease}.nutriscan-logo:hover{transform:scale(1.05)}.logo-img{height:60px;width:auto;max-width:250px;object-fit:contain}.top-score{display:flex;align-items:center;gap:.5rem;border-radius:9999px;padding:8px 14px;background:#0000000d;color:var(--text-color);min-width:0}.top-score-icon{font-size:1.4rem}.top-score-text{display:flex;align-items:center;gap:.5rem}.top-score-label{font-size:.85rem;font-weight:600;color:var(--text-secondary, #4b5563)}.top-score-value{font-size:1.3rem;font-weight:700;color:var(--text-color)}h1{color:#718096;font-size:16px;margin-bottom:10px;font-weight:400;text-align:center}.subtitle{color:#1a202c;font-size:28px;margin-bottom:30px;font-weight:700;text-align:center}.difficulty-dropdown{margin:16px 0 24px;display:flex;flex-direction:column;align-items:center;gap:6px}.difficulty-label{font-size:.75rem;font-weight:600;color:var(--text-secondary, #4b5563);letter-spacing:.05em}.difficulty-pill{display:inline-flex;align-items:center;gap:12px;padding:6px 14px;border-radius:9999px;background:var(--card-background);border:2px solid var(--border-color);position:relative;transition:var(--transition)}.difficulty-pill:focus-within{border-color:var(--primary-color);box-shadow:var(--shadow-medium)}.difficulty-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text-color);font-size:.82rem;font-weight:600;padding:4px 20px 4px 0;cursor:pointer;min-width:150px}.difficulty-select:focus{outline:none}.difficulty-arrow{position:absolute;right:14px;pointer-events:none;color:var(--text-secondary, #666);font-size:.8rem}.score-display{display:flex;justify-content:center;gap:1rem;margin-top:1rem;padding:1rem;background:var(--card-background);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-light)}.score-item{text-align:center}.score-label{font-size:.875rem;font-weight:600;color:var(--text-color)}.food-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:30px;touch-action:manipulation}.food-card{background:var(--card-background, #f7fafc);border:2px solid var(--border-color, #e2e8f0);border-radius:14px;padding:16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;text-align:center;min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.food-card.selected{border-color:#2c2c2c;background-color:#2c2c2c0f}.food-card.correct{border-color:#48bb78;background-color:#e6fffa;animation:correctPulse .6s ease}.food-card.wrong{border-color:#f56565;background-color:#fee2e2;animation:shake .5s ease}.food-card.disabled{cursor:default}@media (hover: hover) and (pointer: fine){.food-card:hover:not(.revealed):not(.disabled){transform:translateY(-5px);box-shadow:0 10px 30px #0000001f;border-color:#2c2c2c}}@keyframes correctPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.food-emoji{font-size:48px;margin-bottom:12px;display:block;text-align:center;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.food-name{font-size:16px;font-weight:600;color:#2d3748;text-align:center;margin-bottom:10px}.food-desc{color:#718096;font-size:12px;text-align:center;margin-bottom:10px}.calorie-reveal{text-align:center;opacity:0;transform:translateY(20px);transition:all .5s ease .3s}.food-card.revealed .calorie-reveal{opacity:1;transform:translateY(0)}.calorie-number{font-size:28px;font-weight:700;background:linear-gradient(135deg,#2c2c2c,#4a4a4a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:4px}.calorie-label{color:#718096;font-size:14px}.indicator{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;display:none;align-items:center;justify-content:center;font-size:18px;animation:popIn .4s ease}.food-card.correct .indicator{display:flex;background:#48bb78;color:#fff}.food-card.wrong .indicator{display:flex;background:#f56565;color:#fff}@keyframes popIn{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.hint{text-align:center;color:#718096;font-size:14px;margin-top:20px;font-style:italic}.chart-surprise-container{margin:32px 28px 28px;padding:25px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #cbd5e0;border-radius:16px;animation:slideUp .6s ease}.surprise-section{text-align:center;margin-bottom:30px}.chart-section{margin-top:30px;padding-top:20px;border-top:1px solid #e2e8f0}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.bar-chart{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;height:220px;max-height:220px;margin:20px 0 15px;padding:0 12px;box-sizing:border-box}.bar-item{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:10px;min-width:0;max-width:120px}.bar{width:54px;background:linear-gradient(135deg,#2c2c2c,#4a4a4a);border-radius:8px 8px 0 0;transition:height 1s ease;position:relative;display:flex;align-items:flex-start;justify-content:center;padding-top:10px}.bar-value{color:#fff;font-weight:700;font-size:14px}.bar-label{color:#4a5568;font-size:14px;font-weight:500;text-align:center;line-height:1.3;min-height:42px;display:flex;align-items:center;justify-content:center;padding:0 4px}.bar-calories{color:#2d3748;font-size:16px;font-weight:700;text-align:center;min-height:26px;display:flex;align-items:center;justify-content:center}.results-message{background:#f7fafc;border:2px solid #e2e8f0;padding:24px;border-radius:16px;text-align:center;margin:30px 0;animation:slideUp .6s ease}.result-emoji{font-size:48px;margin-bottom:12px}.result-text{font-size:18px;font-weight:600;color:#2d3748}.surprise-message{background:linear-gradient(135deg,#2c2c2c,#4a4a4a);color:#fff;padding:24px;border-radius:16px;text-align:center;margin-top:30px;animation:slideUp .6s ease}.surprise-emoji{font-size:48px;margin-bottom:12px}.surprise-text{font-size:20px;font-weight:600;margin-bottom:8px}.surprise-subtext{font-size:16px;opacity:.95}.app-features{background:#f7fafc;border-radius:16px;padding:24px;margin:32px 28px 0;animation:slideUp .6s ease}.app-features h3{color:#2d3748;font-size:20px;font-weight:600;margin-bottom:20px;text-align:center}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}.feature-item{display:flex;align-items:center;gap:10px}.feature-icon{font-size:24px}.feature-text{color:#4a5568;font-size:14px}.features-cta{text-align:center;color:#2c2c2c;font-weight:600;font-size:16px;margin-top:16px}.action-buttons{display:flex;flex-direction:column;gap:1rem;align-items:center;margin-top:32px}.game-share-kit{margin-top:20px;display:flex;justify-content:center}.game-share-kit .a2a_kit{display:inline-flex;gap:10px}.start-btn,.cta-button,.reset-button{border:none;font-weight:600;cursor:pointer;transition:all .3s ease;animation:slideUp .6s ease}.cta-button{margin:30px auto 0;padding:16px 32px;background:linear-gradient(135deg,#2c2c2c,#4a4a4a);color:#fff;border-radius:12px;font-size:18px;display:block}.cta-button:hover{transform:translateY(-2px);box-shadow:0 10px 30px #2c2c2c66}.reset-button{margin:20px auto;padding:12px 24px;background:#fff;color:#2c2c2c;border:2px solid #2c2c2c;border-radius:8px;font-size:16px;display:block}.reset-button:hover{background:#2c2c2c;color:#fff}.confetti{position:absolute;width:10px;height:10px;background:#ff6b6b;animation:confettiFall 3s ease-out;opacity:.8}@keyframes confettiFall{0%{transform:translateY(-100vh) rotate(0);opacity:.8}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@media (max-width: 640px){.game-info-banner{padding:16px;gap:16px}.game-info-banner .top-bar{flex-direction:column;align-items:center;justify-content:center;gap:12px}.top-score{align-self:center;justify-content:center}.game-info-banner .difficulty-dropdown{width:100%}.game-container{padding:0;max-width:calc(100vw - 24px);margin:0 auto;min-width:0}.game-section{padding:0 16px;margin-bottom:20px}.chart-surprise-container{margin:24px 16px;padding:20px}.app-features{margin:24px 16px 0}.logo-img{height:60px;max-width:200px}h1{font-size:15px}.subtitle{font-size:24px}.food-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.food-emoji{font-size:40px}.calorie-number{font-size:24px}.food-name{font-size:15px}.bar-chart{height:180px;min-height:180px;padding:0 4px;gap:12px}.bar-item{gap:8px}.bar{width:46px}.slider-container{max-width:350px}.label-text{font-size:11px}.label-reward{font-size:9px;padding:1px 4px}}@media (max-width: 360px){.top-score{flex-direction:row;align-items:center;justify-content:space-between}.game-container{padding:15px;margin:0 5px;min-width:280px}.logo-img{height:55px;max-width:200px}.slider-container{max-width:300px}.label-text{font-size:10px}.label-reward{font-size:8px;padding:1px 3px}.slider-thumb{width:20px;height:20px;top:-6px}.food-grid{gap:12px}h1{font-size:14px}.subtitle{font-size:22px}}.scoring-display{margin:1.5rem 0}.score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.scoring-display .score-item{border-radius:16px;background:#0000000d;padding:8px 14px;display:flex;flex-direction:column;align-items:stretch;gap:4px;font-weight:600;color:#000}.scoring-display .score-line{display:flex;align-items:center;gap:8px;font-size:1.05rem;justify-content:left}.scoring-display .score-item .score-icon{font-size:1.15rem}.scoring-display .score-item .score-value{font-size:1.2rem;font-weight:700}.scoring-display .score-item .score-label{font-size:.85rem;color:#000000b3}.iq-item{padding:16px}@media (max-width: 640px){.score-grid{grid-template-columns:repeat(1,minmax(0,1fr))}.scoring-display .score-line{justify-content:flex-start;font-size:1rem}}@media (max-width: 640px){.scoring-display{column-gap:1.5rem;row-gap:.75rem}.score-item{flex:1 1 calc(50% - 1rem)}}@media (max-width: 360px){.score-item{flex:1 1 100%}}.streak-display{text-align:center;margin:1rem 0;padding:1.5rem;border-radius:16px;box-shadow:0 8px 16px #0003;animation:streakPulse 2s ease-in-out infinite;transform:scale(1.05)}.streak-fire{background:linear-gradient(135deg,#ff6b35,#ff9068);border:3px solid #e55100;color:#fff}.streak-legendary{background:linear-gradient(135deg,gold,#ffecb3);border:3px solid #ff8f00;color:#bf360c}.streak-god{background:linear-gradient(135deg,#2c2c2c,#424242);border:3px solid #9e9e9e;color:#ffeb3b}.streak-title{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:1.8rem;font-weight:900;text-transform:uppercase;letter-spacing:2px;margin-bottom:.5rem}.streak-emoji{font-size:2rem;animation:bounceEmoji 1s ease-in-out infinite alternate}.streak-text{text-shadow:2px 2px 4px rgba(0,0,0,.3)}.streak-count{font-size:1.2rem;font-weight:600;opacity:.9}.motivational-message{text-align:center;margin:.5rem 0;font-size:.9rem;color:#666;font-weight:500}.game-container{transition:background-color 1s ease-in-out}.streak-bg-fire h1,.streak-bg-fire .subtitle,.streak-bg-fire p{color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.streak-bg-fire .scoring-display,.streak-bg-fire .motivational-message,.streak-bg-fire .food-card{background:#fffffff2;color:#333}.streak-bg-legendary h1,.streak-bg-legendary .subtitle,.streak-bg-legendary p{color:#333;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.streak-bg-legendary .scoring-display,.streak-bg-legendary .motivational-message{background:#fffffff2;color:#333}.streak-bg-god h1,.streak-bg-god .subtitle,.streak-bg-god p{color:#ffeb3b;text-shadow:2px 2px 4px rgba(0,0,0,.8)}.streak-bg-god .scoring-display,.streak-bg-god .motivational-message{background:#000c;color:#ffeb3b;border-color:#ffeb3b}.streak-bg-god .food-card{background:#000000d9;color:#ffeb3b;border-color:#ffeb3b}.streak-bg-god .difficulty-slider .slider-track{background:#ffeb3b4d}@keyframes streakPulse{0%,to{transform:scale(1.05);box-shadow:0 8px 16px #0003}50%{transform:scale(1.08);box-shadow:0 12px 24px #0000004d}}@keyframes bounceEmoji{0%{transform:translateY(0)}to{transform:translateY(-5px)}}@keyframes motivationalPulse{0%,to{border-color:#4caf50;box-shadow:0 4px 8px #0000001a}50%{border-color:#8bc34a;box-shadow:0 6px 12px #00000026}}.game-over-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.game-over-content{background:#fff;padding:3rem 2rem;border-radius:20px;text-align:center;max-width:350px;margin:1rem;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;align-items:center;gap:1.25rem}.game-over-content h2{margin:0 0 1rem;color:#dc3545;font-size:1.5rem}.game-over-content p{margin:0 0 1.5rem;color:#6c757d;line-height:1.5}.restart-button{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem}.restart-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.game-over-logo{width:260px;height:auto;cursor:pointer}.game-over-logo .logo-img{width:100%;height:auto;object-fit:contain}.score-title{font-size:1.2rem;font-weight:600;color:#666;margin:0;text-align:center}.final-score-big{font-size:5rem;font-weight:900;color:#000;margin:0;line-height:1}.modal-action-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.play-again-button{background:transparent;color:#000;border:2px solid #000;padding:.9rem 2rem;border-radius:12px;font-weight:700;font-size:1.05rem;cursor:pointer;transition:all .3s ease;min-width:180px;box-shadow:none}.play-again-button:hover{background:#000;color:#fff;transform:translateY(-2px)}@keyframes heartLoss{0%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}to{transform:scale(1);opacity:.3}}.heart-lost{animation:heartLoss .6s ease-in-out}@keyframes coinEarned{0%{transform:scale(1) translateY(0)}50%{transform:scale(1.2) translateY(-5px)}to{transform:scale(1) translateY(0)}}.coin-earned{animation:coinEarned .5s ease-in-out}.score-submission-section{margin:1.5rem 0;text-align:center}.submission-text{margin:0 0 1rem;color:#666;font-size:1rem}.submission-buttons{display:flex;flex-direction:column;gap:.75rem;align-items:center}.submit-score-button{background:#28a745;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;min-width:200px;justify-content:center}.submit-score-button:hover:not(:disabled){background:#218838;transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.submit-score-button:disabled{background:#6c757d;cursor:not-allowed;transform:none}.change-username-button{background:transparent;color:#666;border:2px solid #e0e0e0;padding:8px 16px;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .3s ease}.change-username-button:hover{border-color:#ccc;color:#333}.join-leaderboard-button{background:#000;color:#fff;border:none;padding:.9rem 2rem;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s ease}.join-leaderboard-button:hover{background:#1f1f1f;transform:translateY(-2px)}.score-submitted{margin:1.5rem 0;text-align:center}.success-message{color:#28a745;font-weight:600;font-size:1.1rem;margin:0}.leaderboard-container{background:var(--leaderboard-background, #ffffff);color:var(--leaderboard-text, #2c2c2c);border-radius:16px;padding:24px;box-shadow:0 4px 20px #0000001a;min-height:400px;display:flex;flex-direction:column}.leaderboard-container .leaderboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.leaderboard-container .leaderboard-title{font-size:20px;font-weight:700;color:var(--leaderboard-text, #2c2c2c);margin:0}.leaderboard-container .refresh-button{background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;transition:all .3s ease}.leaderboard-container .refresh-button:hover:not(:disabled){background:#0000000d}.leaderboard-container .refresh-button:disabled{cursor:not-allowed;opacity:.5}.leaderboard-container .refresh-icon{font-size:16px;transition:transform .3s ease}.leaderboard-container .refresh-icon.spinning{animation:spin 1s linear infinite}.leaderboard-container .loading-state,.leaderboard-container .error-state,.leaderboard-container .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:40px 20px;text-align:center;color:var(--leaderboard-secondary, #666)}.leaderboard-container .spinner-large{width:32px;height:32px;border:3px solid #e0e0e0;border-top:3px solid var(--leaderboard-text, #2c2c2c);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.leaderboard-container .error-icon{font-size:32px;margin-bottom:12px}.leaderboard-container .error-message{color:#dc3545;margin-bottom:16px}.leaderboard-container .retry-button{background:#2c2c2c;color:#fff;border:none;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;transition:all .3s ease}.leaderboard-container .retry-button:hover{background:#1a1a1a}.leaderboard-container .leaderboard-list{flex:1}.leaderboard-container .leaderboard-item{display:flex;align-items:center;padding:16px;margin-bottom:8px;border-radius:12px;background:var(--leaderboard-item-bg, #f8f9fa);transition:all .3s ease;position:relative}.leaderboard-container .leaderboard-item.current-user{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:2px solid #2196f3;box-shadow:0 2px 8px #2196f333}.leaderboard-container .leaderboard-item.first-place{background:linear-gradient(135deg,#fff8e1,#ffecb3);border:2px solid #ffc107}.leaderboard-container .leaderboard-item.second-place{background:linear-gradient(135deg,#fafafa,#f5f5f5);border:2px solid #9e9e9e}.leaderboard-container .leaderboard-item.third-place{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:2px solid #ff9800}.leaderboard-container .rank{min-width:40px;text-align:center;margin-right:16px}.leaderboard-container .medal{font-size:24px}.leaderboard-container .rank-number{font-size:18px;font-weight:700;color:var(--leaderboard-secondary, #666)}.leaderboard-container .player-info{flex:1;min-width:0}.leaderboard-container .username{font-size:16px;font-weight:600;color:var(--leaderboard-text, #2c2c2c);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-container .you-indicator{font-weight:400;color:#2196f3;font-size:14px}.leaderboard-container .score{text-align:right;min-width:90px}.leaderboard-container .score-number{display:inline-flex;align-items:center;gap:6px;font-size:18px;font-weight:700;color:var(--leaderboard-text, #2c2c2c)}.leaderboard-container .score-fire{font-size:18px}.leaderboard-container .empty-icon{font-size:48px;margin-bottom:16px}.leaderboard-container .empty-message{font-size:18px;font-weight:600;color:var(--leaderboard-text, #2c2c2c);margin-bottom:8px}.leaderboard-container .empty-subtitle{color:var(--leaderboard-secondary, #666);font-size:14px}.leaderboard-container.mobile{border-radius:12px;padding:16px;margin-bottom:16px}.leaderboard-container.mobile .leaderboard-title{font-size:18px}.leaderboard-container.mobile .leaderboard-item{padding:12px;margin-bottom:6px}.leaderboard-container.mobile .rank{min-width:32px;margin-right:12px}.leaderboard-container.mobile .medal{font-size:20px}.leaderboard-container.mobile .rank-number{font-size:16px}.leaderboard-container.mobile .username{font-size:14px}.leaderboard-container.mobile .score-number{gap:4px;font-size:16px}.captcha-container{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.captcha-challenge{background:var(--app-surface, white);color:var(--app-text, #2c2c2c);padding:32px;border-radius:16px;box-shadow:0 8px 32px #0000004d;max-width:400px;width:90%;text-align:center}.captcha-challenge h4{margin:0 0 16px;font-size:20px;font-weight:600}.captcha-challenge p{margin:0 0 24px;color:var(--text-secondary, #666)}.math-challenge{display:flex;align-items:center;justify-content:center;gap:12px;margin:24px 0;font-size:18px;font-weight:500}.math-question{font-family:Courier New,monospace;background:var(--card-background, #f8f9fa);padding:12px 16px;border-radius:8px;border:2px solid var(--border-color, #e0e0e0)}.captcha-input{width:80px;padding:12px;border:2px solid var(--border-color, #e0e0e0);border-radius:8px;text-align:center;font-size:18px;font-weight:500;background:var(--app-surface, white);color:var(--app-text, #2c2c2c)}.captcha-input:focus{outline:none;border-color:#4ade80;box-shadow:0 0 0 3px #4ade801a}.captcha-actions{display:flex;gap:12px;justify-content:center;margin-top:24px}.verify-button{background:#4ade80;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.verify-button:hover:not(:disabled){background:#22c55e;transform:translateY(-1px)}.verify-button:disabled{background:#d1d5db;cursor:not-allowed;transform:none}.captcha-actions .refresh-button{background:var(--app-surface, white);color:var(--app-text, #2c2c2c);border:2px solid var(--border-color, #e0e0e0);padding:12px 16px;border-radius:8px;cursor:pointer;transition:all .2s ease}.captcha-actions .refresh-button:hover{background:var(--card-background, #f8f9fa);transform:translateY(-1px)}.captcha-error{color:#ef4444;font-size:14px;margin-top:16px;padding:8px;background:#ef44441a;border-radius:6px;border:1px solid rgba(239,68,68,.2)}@media (max-width: 480px){.captcha-challenge{padding:24px;margin:16px}.math-challenge{flex-direction:column;gap:16px}.captcha-actions{flex-direction:column}.verify-button,.captcha-actions .refresh-button{width:100%}}.turnstile-container{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.turnstile-challenge{background:var(--app-surface, white);color:var(--app-text, #2c2c2c);padding:32px;border-radius:16px;box-shadow:0 8px 32px #0000004d;max-width:400px;width:90%;text-align:center;min-height:200px;display:flex;flex-direction:column;justify-content:center}.turnstile-challenge h4{margin:0 0 16px;font-size:20px;font-weight:600;color:var(--app-text, #2c2c2c)}.turnstile-challenge p{margin:0 0 24px;color:var(--text-secondary, #666);font-size:14px}.turnstile-widget-container{display:flex;justify-content:center;align-items:center;margin:20px 0;min-height:65px}.turnstile-loading,.turnstile-error,.turnstile-success{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px}.turnstile-loading .loading-spinner{width:32px;height:32px;border:3px solid var(--border-color, #e0e0e0);border-top:3px solid var(--app-text, #2c2c2c);border-radius:50%;animation:spin 1s linear infinite}.turnstile-loading p{font-size:14px;color:var(--text-secondary, #666);margin:0}.turnstile-error .error-icon,.turnstile-success .success-icon{font-size:32px}.turnstile-error .error-message{color:#ef4444;font-size:14px;margin:0;text-align:center}.turnstile-error .retry-button{background:#ef4444;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:14px}.turnstile-error .retry-button:hover{background:#dc2626;transform:translateY(-1px)}.turnstile-success p{color:#22c55e;font-weight:500;margin:0}@media (max-width: 480px){.turnstile-challenge{padding:24px;margin:16px;max-width:none}.turnstile-challenge h4{font-size:18px}.turnstile-widget-container{margin:16px 0}}@media (prefers-color-scheme: dark){.turnstile-container{background:#000c}}.username-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.username-modal{background:#fff;border-radius:16px;padding:32px;width:90%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0003;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.username-modal .modal-logo{text-align:center;margin-bottom:24px}.username-modal .modal-title{font-size:24px;font-weight:700;text-align:center;margin-bottom:8px;color:#2c2c2c}.username-modal .modal-subtitle{text-align:center;color:#666;margin-bottom:32px;line-height:1.5}.username-modal .game-over-score{text-align:center;margin-bottom:24px;padding:16px;background:#f8f9fa;border-radius:12px;border:2px solid #e0e0e0}.username-modal .score-label{font-size:14px;color:#666;margin-bottom:8px;font-weight:500}.username-modal .score-value{font-size:32px;font-weight:700;color:#2c2c2c}.username-modal .input-container{position:relative;margin-bottom:24px}.username-modal .username-input{width:100%;padding:16px 60px 16px 16px;font-size:16px;border:2px solid #e0e0e0;border-radius:12px;transition:all .3s ease;outline:none;background:#fff}.username-modal .username-input:focus{border-color:#2c2c2c;box-shadow:0 0 0 3px #2c2c2c1a}.username-modal .username-input.error{border-color:#dc3545}.username-modal .username-input.success{border-color:#28a745}.username-modal .username-input.checking{border-color:#ffc107}.username-modal .character-counter{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:12px;color:#999;font-weight:500}.username-modal .validation-status{margin-top:8px;min-height:20px}.username-modal .checking-status{display:flex;align-items:center;gap:8px;color:#ffc107;font-size:14px}.username-modal .error-message{color:#dc3545;font-size:14px}.username-modal .success-message{color:#28a745;font-size:14px;font-weight:500}.username-modal .spinner{display:inline-block;width:12px;height:12px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.username-rules{background:#f8f9fa;padding:16px;border-radius:8px;margin-bottom:24px}.username-modal .rules-title{font-weight:600;margin-bottom:8px;color:#2c2c2c;font-size:14px}.username-modal .rules-list{list-style:none;padding:0;margin:0}.username-modal .rules-list li{font-size:13px;color:#666;position:relative;padding:4px 0 4px 20px}.username-modal .rules-list li:before{content:"○";position:absolute;left:0;color:#ccc}.username-modal .rules-list li.valid{color:#28a745}.username-modal .rules-list li.valid:before{content:"✓";color:#28a745}.username-modal .modal-actions{display:flex;gap:12px;flex-direction:column}.username-modal .submit-button{background:#2c2c2c;color:#fff;border:none;padding:16px 24px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.username-modal .submit-button:hover:not(:disabled){background:#1a1a1a;transform:translateY(-2px)}.username-modal .submit-button:disabled{background:#ccc;cursor:not-allowed;transform:none}.username-modal .submit-button.loading{background:#666;cursor:wait}.username-modal .cancel-button{background:transparent;color:#666;border:2px solid #e0e0e0;padding:14px 24px;border-radius:12px;font-size:16px;cursor:pointer;transition:all .3s ease}.username-modal .cancel-button:hover:not(:disabled){border-color:#ccc;color:#333}.username-modal .cancel-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 480px){.username-modal{padding:24px;width:95%}.username-modal .modal-title{font-size:20px}.username-modal .modal-actions{gap:8px}.username-modal .submit-button,.username-modal .cancel-button{padding:14px 20px}}@keyframes spin{to{transform:rotate(360deg)}}.game-layout{display:flex;gap:24px;min-height:100vh;align-items:flex-start;justify-content:center}.game-layout.has-leaderboard{align-items:flex-start}.game-container{flex:1;max-width:600px;min-width:0}.leaderboard-section{flex:0 0 360px;position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:hidden}@media (max-width: 767px){.game-layout{flex-direction:column;gap:16px}.game-layout.has-leaderboard{align-items:center}.game-container{width:100%;max-width:none}.leaderboard-section{flex:none;width:100%;position:static;max-height:500px;overflow-y:auto}}:root{--primary-color: #2c2c2c;--primary-hover: #4a4a4a;--secondary-color: #6a6a6a;--background-gradient: #f5f5f5;--text-color: #333;--text-secondary: #666;--border-color: #e0e0e0;--card-background: #ffffff;--shadow-light: 0 2px 8px rgba(0, 0, 0, .1);--shadow-medium: 0 4px 16px rgba(0, 0, 0, .15);--border-radius: 12px;--border-radius-lg: 20px;--transition: all .3s cubic-bezier(.4, 0, .2, 1);--app-background: #f3f4f6;--app-surface: #ffffff;--app-text: #1f2937;--leaderboard-background: #ffffff;--leaderboard-text: #1f2937;--leaderboard-border: #e5e7eb}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;color:var(--app-text, var(--text-color));background-color:var(--stage-background, var(--app-background))!important;min-height:100vh;overflow-x:hidden}#app{min-height:100vh;display:flex;flex-direction:column}.app-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px;gap:15px}.language-selector{position:fixed;top:20px;right:20px;z-index:1000}.language-select{padding:8px 12px;border:2px solid var(--border-color);border-radius:8px;background:var(--card-background);color:var(--text-color);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-light)}.language-select:hover{border-color:var(--primary-color);box-shadow:var(--shadow-medium)}.language-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2c2c2c1a}@media (max-width: 768px){.app-container{padding:10px;gap:15px}.language-selector{top:10px;right:10px}.language-select{padding:6px 10px;font-size:13px}}@media (max-width: 480px){.app-container{padding:5px}.language-selector{position:relative;top:auto;right:auto;align-self:flex-end;margin-bottom:10px}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.language-select:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.loading{opacity:.6;pointer-events:none;cursor:wait}*{transition:background-color .3s ease,border-color .3s ease,color .3s ease}
