*,:before,:after{box-sizing:border-box}html,body{color:#e0e0e0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;letter-spacing:-.01em;background:#0f0f1a;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}#root{min-height:100dvh}button{letter-spacing:inherit;font-family:inherit}@keyframes screenFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.exit-fullscreen-btn{z-index:9000;color:#ffffff40;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff0f;border:none;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.1rem;line-height:1;transition:background .2s,color .2s;display:flex;position:fixed;top:.4rem;left:.4rem}.exit-fullscreen-btn:active{color:#fff9;background:#ffffff26}.portrait-overlay{z-index:9999;color:#e0e0e0;text-align:center;background:#0f0f1a;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;padding:2rem;display:none;position:fixed;inset:0}.portrait-overlay .rotate-icon{font-size:4rem;animation:2s ease-in-out infinite rotateHint}.portrait-overlay h2{margin:0;font-size:1.5rem;font-weight:700}.portrait-overlay p{color:#888;max-width:280px;margin:0;font-size:1rem}.portrait-dismiss-btn{color:#ffffff80;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #ffffff26;border-radius:.5rem;margin-top:.5rem;padding:.6rem 1.5rem;font-size:.9rem;transition:background .2s,color .2s}.portrait-dismiss-btn:active{color:#fffc;background:#ffffff1a}@keyframes rotateHint{0%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}@media (orientation:portrait){.has-motion .portrait-overlay{display:flex}.has-motion #root{display:none}}.home-screen{flex-direction:column;gap:.75rem;max-width:960px;min-height:100dvh;margin:0 auto;padding:1rem 1.5rem;animation:.3s ease-out screenFadeIn;display:flex}.home-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;display:flex}.tilt-test-btn{color:#aaa;cursor:pointer;white-space:nowrap;background:#333;border:1px solid #555;border-radius:8px;padding:.4rem .75rem;font-size:.75rem}.home-title{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:2rem;font-weight:800}.home-subtitle{color:#888;margin:0;font-size:.9rem}.categories-section{flex-direction:column;flex:1;gap:.5rem;min-height:0;display:flex;overflow-y:auto}.categories-section h2{color:#ccc;margin:0;font-size:1rem;font-weight:600}.categories-header{justify-content:space-between;align-items:center;display:flex}.select-all-btn{color:#aaa;cursor:pointer;background:0 0;border:1px solid #555;border-radius:1rem;padding:.25rem .6rem;font-size:.75rem}.select-all-btn:active{background:#333}.categories-grid{flex-wrap:wrap;gap:.4rem;display:flex}.category-chip{color:#ccc;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#1a1a2e;border:2px solid #444;border-radius:2rem;align-items:center;gap:.35rem;padding:.45rem .8rem;font-size:.85rem;transition:all .15s;display:flex}.category-chip:active{transform:scale(.96)}.category-chip.selected{color:#fff;background:#2a2a5e;border-color:#667eea}.chip-count{color:#999;background:#ffffff1a;border-radius:1rem;padding:.1rem .35rem;font-size:.65rem}.category-chip.selected .chip-count{color:#a8b8ff;background:#667eea4d}.bottom-bar{flex-direction:column;flex-shrink:0;gap:.5rem;display:flex}.timer-row{justify-content:center;align-items:center;gap:.35rem;display:flex}.timer-label{color:#999;white-space:nowrap;margin-right:.25rem;font-size:.8rem;font-weight:600}.timer-chip{color:#ccc;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#1a1a2e;border:2px solid #444;border-radius:1.5rem;padding:.3rem .65rem;font-size:.75rem;font-weight:600;transition:all .15s}.timer-chip:active{transform:scale(.96)}.timer-chip.selected{color:#fff;background:#3a2a5e;border-color:#764ba2}.start-btn{color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:1rem;padding:.85rem;font-size:1.1rem;font-weight:700;transition:all .2s}.start-btn:disabled{color:#666;cursor:not-allowed;background:#333}.start-btn:not(:disabled):active{filter:brightness(.9);transform:scale(.97)}.game-screen{flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:.75rem 2rem;transition:background-color .15s;animation:.3s ease-out screenFadeIn;display:flex;position:relative;overflow:hidden}.game-screen.pregame{text-align:center;flex-flow:wrap;place-content:center;gap:.75rem;padding:1.5rem 2rem}.game-screen.pregame h2{letter-spacing:-.02em;width:100%;margin:0;font-size:1.5rem;font-weight:700}.pregame-instructions{color:#aaa;width:100%;max-width:400px;font-size:1rem}.pregame-hint{color:#888;width:100%;max-width:400px;font-size:.85rem;transition:color .3s}.pregame-btn{color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:1rem;margin-top:.5rem;padding:.85rem 3rem;font-size:1.2rem;font-weight:700}.pregame-btn:active{transform:scale(.96)}.orientation-indicator{justify-content:center;align-items:center;width:120px;height:80px;margin:.25rem 0;transition:transform .3s;display:flex}.orientation-indicator:not(.upright){transform:rotate(-20deg)}.orientation-indicator.upright{transform:rotate(0)}.phone-icon{border:3px solid #555;border-radius:10px;justify-content:center;align-items:center;width:90px;height:50px;transition:border-color .3s;display:flex}.orientation-indicator.upright .phone-icon{border-color:#4ade80}.phone-screen{background:#2a2a3e;border-radius:4px;width:72px;height:38px;transition:background .3s}.orientation-indicator.upright .phone-screen{background:#4ade8026}.countdown-screen{text-align:center;gap:.5rem}.countdown-number{color:#fff;letter-spacing:-.04em;font-size:clamp(5rem,20vw,10rem);font-weight:800;line-height:1;animation:.5s cubic-bezier(.175,.885,.32,1.275) countdownPop}.countdown-hint{color:#666;font-size:1.1rem;font-weight:500}@keyframes countdownPop{0%{opacity:0;transform:scale(2)}60%{opacity:1;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.game-screen.flash-correct{background-color:#0d3b0d}.game-screen.flash-wrong{background-color:#3b0d0d}.game-timer{color:#888;font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:700;transition:color .3s,transform .15s;position:absolute;top:.75rem;right:1.5rem}.game-timer.warning{color:#f87171;animation:1s ease-in-out infinite timerPulse}@keyframes timerPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.12)}}.game-word-container{flex:1;justify-content:center;align-items:center;width:100%;padding:.5rem 2rem;display:flex}.game-word{text-align:center;word-break:break-word;color:#fff;letter-spacing:-.02em;font-size:clamp(2.5rem,8vw,5rem);font-weight:800;line-height:1.1;animation:.25s ease-out wordSlideIn}@keyframes wordSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.flash-label{text-align:center;letter-spacing:-.02em;font-size:3rem;font-weight:800;animation:.3s flashPulse}.flash-correct-label{color:#4ade80}.flash-wrong-label{color:#f87171}@keyframes flashPulse{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.game-buttons{pointer-events:none;justify-content:space-between;padding:.75rem 1rem;display:flex;position:fixed;bottom:0;left:0;right:0}.game-btn{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;pointer-events:auto;border:none;border-radius:1rem;padding:1.2rem 2rem;font-size:1.3rem;font-weight:700;transition:transform .1s}.game-btn:active{transform:scale(.95)}.game-btn-correct{color:#fff;background:#16a34a}.game-btn-wrong{color:#fff;background:#dc2626}.game-tilt-hint{color:#555;font-size:.75rem;position:absolute;bottom:.75rem}.score-screen{grid-template-rows:auto auto 1fr auto;grid-template-columns:1fr 1fr;align-items:start;gap:.75rem 2rem;max-width:960px;min-height:100dvh;margin:0 auto;padding:1rem 2rem;animation:.35s ease-out screenFadeIn;display:grid}.score-title{color:#fff;text-align:center;grid-column:1/-1;margin:0;font-size:1.5rem;font-weight:800}.score-display{grid-column:1/-1;justify-content:center;align-items:baseline;gap:.25rem;display:flex}.score-number{color:#4ade80;font-size:3rem;font-weight:800}.score-divider{color:#555;font-size:2rem;font-weight:300}.score-total{color:#888;font-size:2rem;font-weight:700}.score-section{min-height:0;overflow-y:auto}.score-section-title{margin:0 0 .4rem;font-size:.9rem;font-weight:600}.correct-title{color:#4ade80}.wrong-title{color:#f87171}.score-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.score-item{border-radius:.4rem;align-items:center;gap:.4rem;padding:.35rem .6rem;font-size:.9rem;display:flex}.correct-item{color:#bbf7d0;background:#4ade8014}.wrong-item{color:#fecaca;background:#f8717114}.score-icon{flex-shrink:0;font-size:1rem;font-weight:700}.correct-item .score-icon{color:#4ade80}.wrong-item .score-icon{color:#f87171}.score-empty{color:#666;text-align:center;grid-column:1/-1;font-style:italic}.score-actions{grid-column:1/-1;gap:.75rem;width:100%;padding-top:.5rem;display:flex}.score-btn{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:none;border-radius:1rem;flex:1;padding:.75rem;font-size:1rem;font-weight:700;transition:transform .1s}.score-btn:active{transform:scale(.96)}.play-again-btn{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.home-btn{color:#ccc;background:#2a2a3e;border:2px solid #444}
