#gamable-game-zone{background:var(--bg-bottom);touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.quiz{position:absolute;inset:0;overflow:hidden;background:linear-gradient(160deg,var(--bg-top),var(--bg-bottom) 70%);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.screen{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:22px;text-align:center}.screen.visible{display:flex;animation:pop-in .35s ease-out}.title-screen{padding:0}.title-map{position:absolute;inset:0;opacity:.28;pointer-events:none}.title-map .world-svg{width:100%;height:100%}.title-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:9px;padding:22px;max-width:880px}.title-badge{width:clamp(52px,10vh,84px);height:clamp(52px,10vh,84px);border-radius:24px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#1b2c4d;box-shadow:0 5px #0000004d;animation:wobble 3s ease-in-out infinite}.title-badge svg{width:62%;height:62%}.title{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,min(8vw,7.5vh),58px);font-weight:700;line-height:1.06;color:var(--accent)}.subtitle{margin:0;max-width:26em;font-size:clamp(15px,2.4vw,21px);font-weight:600;color:#d8e3ff}.count{margin:0;max-width:30em;font-size:clamp(12px,1.9vw,16px);font-weight:600;color:#b9c9ea}.hint{margin:0;max-width:30em;font-size:clamp(12px,1.7vw,14px);line-height:1.5;opacity:.82}.best{font-weight:700;opacity:1}.best.record{color:var(--accent);font-size:clamp(16px,2.4vw,20px);animation:pulse .7s ease-in-out infinite alternate}.big-button{margin-top:6px;min-width:210px;padding:15px 32px;border:0;border-radius:18px;background:var(--accent);color:#241a02;font:inherit;font-size:clamp(18px,3vw,24px);font-weight:900;cursor:pointer;box-shadow:0 6px #00000059}.big-button:active{transform:translateY(4px);box-shadow:0 2px #00000059}.mode-buttons{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:12px;width:100%;max-width:620px;margin-top:6px}.mode-buttons .big-button{flex:1 1 240px;min-width:0;max-width:300px;margin-top:0;padding:15px 20px;text-align:center}.big-button.secondary{background:#ffffff24;border:2px solid var(--accent);color:#ffe9b0;box-shadow:0 6px #0000004d}.small-button{padding:9px 18px;border:2px solid rgba(255,255,255,.35);border-radius:14px;background:#ffffff1a;color:#e8eeff;font:inherit;font-size:clamp(13px,1.6vw,16px);font-weight:800;cursor:pointer}.small-button:active{background:#fff3}.pulse{animation:breathe 1.6s ease-in-out infinite}.play{position:absolute;inset:0;display:none;flex-direction:column}.play.visible{display:flex}.top-bar{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:9px 12px 4px;font-weight:800}.progress{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(12px,1.5vw + 5px,16px);letter-spacing:.07em;text-transform:uppercase;color:var(--accent)}.streak-badge{display:none;padding:3px 10px;border-radius:999px;background:#ffd1662e;color:var(--accent);font-size:clamp(11px,1.3vw + 4px,14px)}.streak-badge.visible{display:inline-block}.spacer{flex:1 1 auto;min-width:0}.score-badge{padding:3px 12px;border-radius:999px;background:#ffffff1a;font-size:clamp(13px,1.6vw + 5px,17px);font-variant-numeric:tabular-nums}.bonus{display:flex;align-items:center;gap:5px;font-size:clamp(12px,1.5vw + 5px,16px);color:var(--accent);font-variant-numeric:tabular-nums}.bonus.spent{color:#d8e3ff80}.bonus svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.icon-button{width:36px;height:36px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.28);border-radius:10px;background:#ffffff38;color:#fff;cursor:pointer}.icon-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-button svg .solid{fill:currentColor;stroke:none}.icon-button:active{background:#ffffff57}.timer{flex:0 0 auto;position:relative;height:9px;margin:0 12px 8px;border-radius:999px;background:#ffffff1f;overflow:hidden}.timer-fill{position:absolute;inset:0;transform-origin:left center;background:linear-gradient(90deg,var(--accent),#ffab3d);transition:background .3s}.timer.spent .timer-fill{background:var(--timer-spent)}.board{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:1fr;gap:10px;padding:0 12px 12px;overflow-y:auto;-webkit-overflow-scrolling:touch}.pane{display:flex;flex-direction:column;gap:8px;min-height:0}.card{position:relative;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:14px 16px;border-radius:20px;background:var(--card);color:var(--card-text);box-shadow:0 7px #0000004d}.idiom{font-family:Georgia,Times New Roman,serif;font-size:clamp(20px,2.4vw + 1.2vh,42px);line-height:1.3;text-align:center;overflow-wrap:break-word}.blank{display:inline-block;min-width:3em;margin:0 .18em;padding:0 .3em;border-radius:10px;background:#ffd1664d;box-shadow:inset 0 0 0 2px var(--accent);color:#8a6a10;font-style:italic;letter-spacing:.14em}.idiom.filled .blank{background:#22c07a3d;box-shadow:inset 0 0 0 2px var(--right);color:#128a52;font-style:normal;font-weight:700;letter-spacing:0;animation:pop-in .3s ease-out}.pane-right{display:flex;flex-direction:column;gap:5px;min-height:0}.map-caption{flex:0 0 auto;font-size:clamp(10.5px,1.2vw + 5px,14px);font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#d8e3ffd9;text-align:center}.map-wrap{position:relative;width:100%;aspect-ratio:1000 / 540;max-height:46vh;border-radius:18px;background:radial-gradient(130% 130% at 50% 0%,#1c4980 0%,#103158 55%,var(--ocean-deep) 100%);box-shadow:inset 0 0 0 1px #ffffff1f,0 6px #00000040;overflow:hidden}.world-svg,.pin-lines{position:absolute;inset:0;width:100%;height:100%}.pin-lines{pointer-events:none}.map-grid line{stroke:#ffffff14;stroke-width:1}.map-equator{stroke:#ffffff24;stroke-width:1;stroke-dasharray:7 7}.map-land polygon{fill:var(--land);stroke:var(--land-edge);stroke-width:1.8;stroke-linejoin:round}.pin-lines .leader{stroke:#fdfaf399;stroke-width:1.4}.pin-lines .pin-halo{fill:#ffd16633;stroke:#ffd166b3;stroke-width:1.2}.pin-lines .anchor-flag rect{fill:#fdfaf3;stroke:#050f1f99;stroke-width:1}.pin{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;margin:0;padding:0;border:0;background:none;font:inherit;cursor:pointer}.pin-chip{position:relative;display:flex;align-items:center;gap:5px;padding:5px 8px;border:2px solid rgba(5,15,31,.55);border-radius:11px;background:var(--card);color:var(--card-text);box-shadow:0 3px #00000059;white-space:nowrap}.pin-letter{position:absolute;left:-8px;top:-8px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:2px solid var(--card);border-radius:50%;background:#101f3d;color:#fff;font-size:11px;font-weight:900}.pin-flag .flag{display:block;width:32px;height:22px;border-radius:2px;box-shadow:0 0 0 1px #111f3d4d}.pin-name{font-size:14.5px;font-weight:800}.pin-sub{padding:1px 7px;border-radius:999px;background:#050f1fb8;color:#dbe6ff;font-size:10.5px;font-weight:700}.pin:hover .pin-chip{background:#fff}.pin.highlighted .pin-chip{outline:3px solid var(--accent);outline-offset:3px}.pin.right .pin-chip{border-color:#06341e;background:var(--right);color:#04240f;animation:pin-pop .45s ease-out}.pin.wrong .pin-chip{border-color:#3d0410;background:var(--wrong);color:#2b0006;animation:shake .4s ease-in-out}.pin.faded{opacity:.32;filter:grayscale(.65)}.map-wrap.pins-locked .pin{pointer-events:none}.map-wrap.compact .pin-chip{gap:4px;padding:3px 6px;border-radius:9px}.map-wrap.compact .pin-flag .flag{width:24px;height:16px}.map-wrap.compact .pin-name{font-size:12px}.map-wrap.compact .pin-sub{display:none}.map-wrap.compact .pin-letter{left:-6px;top:-6px;width:15px;height:15px;font-size:9.5px}.reveal{display:none;flex-direction:column;gap:7px;text-align:left}.reveal.visible{display:flex;animation:drop-in .3s ease-out}.answer-line{display:flex;align-items:center;gap:9px;font-size:clamp(16px,1.9vw + 7px,23px);font-weight:900;color:#128a52}.answer-mark{flex:0 0 auto;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#fff}.answer-mark.right{background:var(--right)}.answer-mark.wrong{background:var(--wrong)}.answer-mark svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round}.answer-line:has(.answer-mark.wrong) .answer-text{color:#b3202f}.answer-flag .flag{width:38px;height:25px;border-radius:3px;box-shadow:0 0 0 1px #111f3d40}.answer-note{display:none;padding:7px 11px;border-radius:12px;background:#ffd16638;font-size:clamp(14px,1.35vw + 6px,17px);line-height:1.4;color:#6f5a14}.answer-note.visible{display:block}.answer-note b{color:#3f3208}.fact{padding:8px 11px;border-radius:12px;background:#111f3d0f;font-size:clamp(14px,1.3vw + 7px,17.5px);line-height:1.5;color:#1c2743}.fact b{display:block;margin-bottom:1px;font-size:.76em;letter-spacing:.09em;text-transform:uppercase;color:var(--label)}.fact.example{background:#22c07a17}.fact.example .example-line{display:block}.fact.example .example-line.punch{margin-top:3px;padding-left:10px;border-left:3px solid var(--accent);color:#0f5132;font-style:italic}.fact.example .example-line b{display:inline;font-size:1em;letter-spacing:0;text-transform:none;color:inherit;font-weight:900}.score-lines{display:none;flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px}.score-lines.visible{display:flex}.score-pill{padding:3px 10px;border-radius:999px;background:#111f3d17;color:#25324f;font-size:clamp(12px,1.2vw + 6px,15px);font-weight:800;font-variant-numeric:tabular-nums}.score-pill.total{background:var(--right);color:#04240f}.score-pill.miss{background:#ff4d5e29;color:#a3202e}.next-button{margin-top:3px;padding:11px 20px;border:0;border-radius:14px;background:var(--accent);color:#241a02;font:inherit;font-size:clamp(15px,1.6vw + 7px,20px);font-weight:900;cursor:pointer;box-shadow:0 5px #0000004d;align-self:flex-start}.next-button:active{transform:translateY(3px);box-shadow:0 2px #0000004d}.points{position:absolute;top:8px;right:12px;padding:3px 12px;border-radius:12px;background:var(--right);color:#04240f;font-size:clamp(16px,2vw,22px);font-weight:900;animation:float-up 1.4s ease-out forwards}.points.miss{background:#111f3d1f;color:#6b5a2a}.over-screen{justify-content:flex-start;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:clamp(16px,4vh,40px) 18px 28px}.over-inner{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:1000px;margin:0 auto}.stars{display:flex;gap:6px;font-size:clamp(34px,7vh,56px);line-height:1}.star{color:#ffffff2e}.star.won{color:var(--accent);animation:star-pop .5s ease-out backwards}.star.won:nth-child(2){animation-delay:.15s}.star.won:nth-child(3){animation-delay:.3s}.final-score{font-size:clamp(34px,8vh,60px);font-weight:900;font-variant-numeric:tabular-nums;line-height:1}.breakdown{margin:0;max-width:34em;font-size:clamp(13px,1.5vw,16px);font-weight:700;color:#b9c9ea;font-variant-numeric:tabular-nums}.review-title{margin:12px 0 2px;font-size:clamp(15px,2vw,20px);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.review{display:grid;gap:7px;width:100%;grid-template-columns:1fr}.review-item{display:flex;align-items:flex-start;gap:9px;padding:8px 12px;border-radius:12px;background:#ffffff12;text-align:left}.review-item.missed{background:#ff4d5e21}.review-flag{flex:0 0 auto;margin-top:2px}.review-flag .flag{width:28px;height:19px;border-radius:3px;box-shadow:0 0 0 1px #ffffff40}.review-text{min-width:0;flex:1 1 auto}.review-idiom{font-family:Georgia,Times New Roman,serif;font-size:clamp(15px,1.8vw,19px);font-weight:700;color:#fff}.review-idiom em{font-family:system-ui,sans-serif;font-size:.82em;font-style:normal;color:var(--accent);opacity:.95}.review-meaning{font-size:clamp(12.5px,1.25vw + 5px,15px);line-height:1.45;color:#d5def5}.review-mark{flex:0 0 auto;font-weight:900;color:var(--right)}.review-item.missed .review-mark{color:var(--wrong)}@media(min-width:880px)and (min-height:420px){.board{grid-template-columns:minmax(330px,.92fr) minmax(420px,1.08fr);grid-template-rows:minmax(0,1fr);overflow:hidden}.pane-right{flex:1 1 auto;min-height:0}.map-wrap{flex:1 1 auto;aspect-ratio:auto;max-height:none;min-height:180px}.card{overflow-y:auto}}@media(min-width:780px){.review{grid-template-columns:1fr 1fr}}@keyframes pop-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes drop-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes pulse{0%{opacity:1}to{opacity:.5}}@keyframes wobble{0%,to{transform:rotate(-7deg)}50%{transform:rotate(5deg) scale(1.04)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@keyframes pin-pop{0%{transform:scale(1)}45%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes float-up{0%{opacity:0;transform:translateY(8px) scale(.85)}20%{opacity:1;transform:translateY(0) scale(1.08)}to{opacity:0;transform:translateY(-26px) scale(1)}}@keyframes star-pop{0%{transform:scale(0) rotate(-90deg)}to{transform:scale(1) rotate(0)}}
