*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d1117;--surface: #161b22;--border: #30363d;--text: #e6edf3;--muted: #8b949e;--red: #ff3333;--green: #3fb950;--accent: #58a6ff}html,body{height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}#app{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.screen{display:none;flex-direction:column;align-items:center;width:100%;height:100%}.screen.active{display:flex}#screen-mode-select{gap:1.5rem;text-align:center;padding:2rem;justify-content:center}#screen-mode-select h1{font-size:2.5rem;font-weight:700;letter-spacing:-.02em}#screen-mode-select>p{color:var(--muted);max-width:40ch;line-height:1.6}.mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;width:100%;max-width:780px;margin-top:.5rem}@media(max-width:640px){.mode-grid{grid-template-columns:1fr}}.mode-tile{position:relative;display:flex;flex-direction:column;gap:.5rem;padding:1.4rem 1.2rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--text);text-align:left;cursor:pointer;font:inherit;transition:border-color .15s,transform .15s,background .15s}.mode-tile:hover:not(:disabled){border-color:var(--accent);transform:translateY(-2px)}.mode-tile:disabled{cursor:not-allowed;opacity:.55}.mode-name{font-size:1.15rem;font-weight:700}.mode-desc{font-size:.9rem;color:var(--muted);line-height:1.45}.mode-badge{margin-top:auto;align-self:flex-start;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:.2rem .6rem}#screen-game{width:100%;height:100%;flex-direction:column;position:relative}#exit-btn{position:absolute;top:1rem;right:1rem;padding:.4rem .9rem;font-size:.85rem;z-index:10;display:none}#screen-game.mode-endless #exit-btn{display:inline-block}#screen-game.mode-endless .question-counter,#screen-game.mode-endless .timer-bar-wrap{display:none}#globe-container{width:100%;height:80vh;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:0;margin:0}.game-ui{height:20vh;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem}.question-counter{font-size:.8rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.question-label{font-size:1.1rem;color:var(--text)}.input-row{display:flex;gap:.5rem;width:100%;max-width:420px}#answer-input{flex:1;padding:.6rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:1rem;outline:none;transition:border-color .15s}#answer-input:focus{border-color:var(--accent)}#answer-input:disabled{opacity:.5}#submit-btn{padding:.6rem 1.2rem;background:var(--accent);border:none;border-radius:8px;color:#0d1117;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .15s}#submit-btn:disabled{opacity:.4;cursor:default}.timer-bar-wrap{width:100%;max-width:420px;height:4px;background:var(--border);border-radius:2px;overflow:hidden}#timer-bar{height:100%;background:var(--accent);transition:width 1s linear,background .3s;width:100%}#timer-bar.urgent{background:var(--red)}#feedback-overlay{position:absolute;top:1.5rem;left:50%;transform:translate(-50%);padding:.6rem 1.4rem;border-radius:8px;font-size:1rem;font-weight:600;opacity:0;transition:opacity .2s;pointer-events:none;white-space:nowrap}#feedback-overlay.visible{opacity:1}#feedback-overlay.correct{background:#3fb95026;border:1px solid var(--green);color:var(--green)}#feedback-overlay.wrong{background:#ff333326;border:1px solid var(--red);color:var(--red)}#screen-end{gap:1.2rem;text-align:center;padding:2rem;justify-content:center}#screen-end h2{font-size:2rem;font-weight:700}.score-display{font-size:3rem;font-weight:800;color:var(--accent)}.share-text{font-family:monospace;font-size:1.1rem;letter-spacing:.1em}#screen-done{gap:1.2rem;text-align:center;padding:2rem}#screen-done h2{font-size:1.8rem;font-weight:700}.btn{padding:.7rem 1.8rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .15s}.btn-primary{background:var(--accent);color:#0d1117}.btn-secondary{background:var(--surface);border:1px solid var(--border);color:var(--text)}.btn:hover{opacity:.85}
