.home-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:2rem 1.25rem calc(2rem + var(--safe-bottom));gap:2rem}.home-hero{text-align:center;animation:fadeInUp var(--ease) both}.home-icon{font-size:80px;line-height:1;margin-bottom:.75rem;animation:pulse 3s ease-in-out infinite}.home-title{font-size:36px;font-weight:700;letter-spacing:-.03em;color:var(--text);margin:0}.home-subtitle{font-size:17px;color:var(--hint);margin-top:.4rem;font-weight:400}.stats-card{width:100%;max-width:360px;background:var(--surface);border-radius:var(--radius-lg);overflow:hidden;animation:fadeInUp var(--ease) .08s both}.stats-card-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--hint);padding:1rem 1.25rem .5rem}.stats-row{display:flex;align-items:center;padding:.5rem 0 1rem}.stat-cell{flex:1;display:flex;flex-direction:column;align-items:center;gap:.2rem}.stat-number{font-size:28px;font-weight:700;letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums}.stat-caption{font-size:12px;color:var(--hint);font-weight:500}.stat-divider{width:1px;height:36px;background:var(--separator);opacity:.3}.home-actions{display:flex;flex-direction:column;gap:.625rem;width:100%;max-width:360px;animation:fadeInUp var(--ease) .16s both}.flag-display{display:flex;align-items:center;justify-content:center;width:160px;height:160px;border-radius:40px;background:var(--surface);animation:scaleSpring var(--spring)}.flag-emoji{font-size:80px;line-height:1}.flag-svg-fallback{position:absolute;width:100px;height:70px;object-fit:contain;opacity:0;pointer-events:none}.flag-display.use-svg .flag-emoji{display:none}.flag-display.use-svg .flag-svg-fallback{position:static;opacity:1;pointer-events:auto}.multiple-choice{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:400px;animation:fadeInUp .25s ease}.choice-btn{width:100%;padding:1rem 1.25rem;border:none;border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:17px;font-weight:400;cursor:pointer;transition:transform .12s ease,opacity .12s ease;text-align:left;line-height:1.3;letter-spacing:-.01em}.choice-btn:active:not(:disabled){transform:scale(.98);opacity:.7}.choice-btn:disabled{opacity:.4;cursor:not-allowed}.type-in{display:flex;flex-direction:column;gap:.625rem;width:100%;max-width:400px;animation:fadeInUp .25s ease}.type-in-input{padding:1rem 1.25rem;border:none;border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:17px;outline:none;transition:box-shadow .2s ease;letter-spacing:-.01em}.type-in-input:focus{box-shadow:0 0 0 3px #0a84ff4d}.type-in-input::placeholder{color:var(--hint)}.feedback{display:flex;flex-direction:column;align-items:center;gap:.625rem;padding:1.5rem 1.5rem 1.25rem;border-radius:var(--radius-lg);background:var(--surface);width:100%;max-width:320px;animation:scaleSpring var(--spring)}.feedback-badge{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center}.is-correct .feedback-badge{background:#34c75926}.is-wrong .feedback-badge{background:#ff3b3026}.feedback-badge-icon{font-size:24px;font-weight:700}.is-correct .feedback-badge-icon{color:var(--color-green)}.is-wrong .feedback-badge-icon{color:var(--color-red)}.feedback-title{font-size:20px;font-weight:600;color:var(--text);letter-spacing:-.02em}.feedback-answer{font-size:15px;color:var(--hint)}.feedback-points{font-size:17px;font-weight:600;color:var(--color-green);animation:countUp .3s var(--ease)}.feedback-next{width:100%;margin-top:.5rem}.score-bar{display:flex;align-items:center;justify-content:space-between;padding:.625rem 1rem;background:var(--surface);border-radius:var(--radius);width:100%;animation:fadeIn .2s ease}.sb-section{display:flex;align-items:baseline;gap:.25rem}.sb-score{font-size:20px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.sb-label{font-size:13px;color:var(--hint);font-weight:500}.sb-streak{font-size:12px;font-weight:700;color:var(--color-orange);background:#ff95001f;padding:.1rem .4rem;border-radius:6px;margin-left:.25rem;animation:scaleSpring .3s}.sb-question{font-size:13px;color:var(--hint);font-weight:500}.sb-hearts{display:flex;gap:.35rem}.sb-heart{width:10px;height:10px;border-radius:50%;transition:all .3s ease}.sb-heart.alive{background:var(--color-red);box-shadow:0 0 6px #ff3b3066}.sb-heart.dead{background:var(--hint);opacity:.25}.gameover{display:flex;flex-direction:column;align-items:center;gap:1.75rem;width:100%;max-width:360px;animation:fadeIn .3s ease}.gameover-hero{display:flex;flex-direction:column;align-items:center;gap:.25rem;animation:slideUp var(--spring) both}.gameover-label{font-size:15px;font-weight:500;color:var(--hint);text-transform:uppercase;letter-spacing:.06em}.gameover-score{font-size:72px;font-weight:700;letter-spacing:-.04em;color:var(--text);line-height:1;font-variant-numeric:tabular-nums;animation:countUp .5s var(--ease) .15s both}.gameover-details{display:flex;align-items:center;width:100%;background:var(--surface);border-radius:var(--radius-lg);padding:1rem 0;animation:slideUp var(--ease) .1s both}.gameover-detail{flex:1;display:flex;flex-direction:column;align-items:center;gap:.15rem}.gameover-detail-val{font-size:22px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.gameover-detail-cap{font-size:12px;color:var(--hint);font-weight:500}.gameover-sep{width:1px;height:32px;background:var(--separator);opacity:.3}.gameover-actions{display:flex;flex-direction:column;gap:.625rem;width:100%;animation:slideUp var(--ease) .2s both}.game-screen{display:flex;flex-direction:column;align-items:center;min-height:100vh;min-height:100dvh;padding:.75rem 1rem calc(.75rem + var(--safe-bottom));gap:.75rem}.game-screen.centered{justify-content:center;gap:1rem;padding:1.5rem}.game-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;flex:1;justify-content:center;width:100%;padding:0 .25rem}.game-mode-label{font-size:15px;color:var(--hint);font-weight:500;animation:fadeIn .2s ease}.quit-btn{margin-top:auto;font-size:15px;color:var(--hint)!important}.error-text{color:var(--color-red);font-size:15px;text-align:center;padding:1rem 1.25rem;background:#ff3b301a;border-radius:var(--radius)}.sr{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;animation:fadeInUp var(--ease) both}.sr-me{background:var(--surface);margin:.25rem .75rem;border-radius:var(--radius)}.sr-rank{font-size:17px;font-weight:600;min-width:2rem;text-align:center;color:var(--hint);font-variant-numeric:tabular-nums}.sr-info{flex:1;min-width:0;display:flex;flex-direction:column}.sr-name{font-size:17px;font-weight:400;color:var(--text);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sr-me .sr-name{font-weight:600}.sr-username{font-size:13px;color:var(--hint);letter-spacing:0}.sr-score{font-size:17px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.sb-screen{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;animation:fadeIn .2s ease}.sb-nav{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;position:sticky;top:0;z-index:10;background:var(--bg)}.sb-nav .btn-ghost{font-size:17px;gap:.2rem}.sb-nav-title{margin:0;font-size:17px;font-weight:600;color:var(--text)}.segmented-control{display:flex;margin:.5rem 1rem;padding:2px;background:#7676803d;border-radius:9px}.segment{flex:1;padding:.5rem;border:none;border-radius:7px;background:transparent;color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;position:relative;z-index:1}.segment.active{background:var(--surface);box-shadow:0 1px 3px #0000001f,0 1px 1px #00000014}.sb-body{flex:1;padding:.5rem 0}.sb-list{display:flex;flex-direction:column}.sb-loading{display:flex;justify-content:center;padding:4rem 0}.sb-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:4rem 2rem;text-align:center}.sb-empty-icon{font-size:48px;margin-bottom:.5rem}.sb-empty-title{font-size:20px;font-weight:600;color:var(--text)}.sb-empty-sub{font-size:15px;color:var(--hint);margin-bottom:.5rem}.sb-rank-note{text-align:center;padding:1rem;color:var(--hint);font-size:13px;font-weight:500}:root{--bg: var(--tg-theme-bg-color, #f2f2f7);--text: var(--tg-theme-text-color, #000000);--hint: var(--tg-theme-hint-color, #8e8e93);--link: var(--tg-theme-link-color, #007aff);--btn: var(--tg-theme-button-color, #007aff);--btn-text: var(--tg-theme-button-text-color, #ffffff);--secondary-bg: var(--tg-theme-secondary-bg-color, #ffffff);--surface: var(--secondary-bg);--separator: var(--tg-theme-hint-color, #8e8e93);--radius-sm: 10px;--radius: 14px;--radius-lg: 20px;--radius-xl: 28px;--safe-bottom: env(safe-area-inset-bottom, 0px);--spring: .5s cubic-bezier(.175, .885, .32, 1.275);--ease: .35s cubic-bezier(.25, .1, .25, 1);--ease-out: .3s cubic-bezier(0, 0, .2, 1);--color-blue: var(--btn);--color-green: #34c759;--color-red: #ff3b30;--color-orange: #ff9500}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;overflow-x:hidden}body{font-family:-apple-system,SF Pro Display,SF Pro Text,BlinkMacSystemFont,Helvetica Neue,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.47;letter-spacing:-.01em}#root{min-height:100vh;min-height:100dvh}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.85rem 1.5rem;border:none;border-radius:var(--radius);font-size:17px;font-weight:600;cursor:pointer;transition:transform .15s ease,opacity .15s ease;-webkit-user-select:none;user-select:none;position:relative;letter-spacing:-.01em}.btn:active:not(:disabled){transform:scale(.97);opacity:.7}.btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.btn-primary{background:var(--color-blue);color:var(--btn-text)}.btn-secondary{background:var(--surface);color:var(--text)}.btn-ghost{background:transparent;color:var(--color-blue);padding:.5rem .75rem}.btn-large{padding:1rem 2rem;font-size:18px;border-radius:var(--radius-lg);min-height:56px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleSpring{0%{opacity:0;transform:scale(.85)}60%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes countUp{0%{opacity:0;transform:translateY(8px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.loader{width:28px;height:28px;border:2.5px solid var(--hint);border-top-color:var(--color-blue);border-radius:50%;animation:spin .7s linear infinite;opacity:.5}
