@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#142039;--muted:#6b7484;--paper:#f6f7f2;--line:#e1e5dd;--lime:#d1f582;--navy:#101c30;--purple:#e8dcff;--green:#2a684e}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button,a,input,select{touch-action:manipulation}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8864cf;outline-offset:4px}button:disabled{opacity:.45;cursor:default}.topbar{max-width:1344px;margin:auto;height:106px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{border:0;background:none;padding:0;display:flex;align-items:center;gap:10px;text-align:left;font-family:Manrope,sans-serif;font-size:25px;font-weight:800;letter-spacing:-1.3px}.brand-light{font-weight:500}.brand small{display:block;font-size:8px;letter-spacing:2.3px;margin-top:2px}.brand-mark{display:grid;place-items:center;background:var(--lime);border-radius:12px;width:45px;height:45px;font-size:40px;line-height:1;font-weight:400}.topbar nav{display:flex;gap:28px}.topbar nav button{border:0;background:none;font-size:13px;font-weight:600;padding:12px 0;color:var(--muted)}.topbar nav .nav-active{color:var(--ink);border-bottom:2px solid var(--ink)}.header-note{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--muted)}.header-note i{width:6px;height:6px;border-radius:50%;background:#74a754}main{max-width:1344px;padding:0 48px;margin:auto;min-height:calc(100vh - 210px)}.hero{position:relative;overflow:hidden;background:var(--navy);border-radius:26px;min-height:340px;display:grid;grid-template-columns:1.07fr 1fr;color:#fff;padding:42px 48px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;display:flex;gap:9px;align-items:center}.eyebrow:before{content:'';width:20px;height:1px;background:currentColor}.hero .eyebrow{color:var(--lime)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif}.hero h1{font-size:clamp(30px,3.1vw,44px);line-height:1.22;font-weight:700;letter-spacing:-1.8px;margin:21px 0 16px}.hero h1 em{font-style:normal;color:var(--lime)}.hero p{font-size:13px;color:#b0bcce;line-height:1.8;max-width:360px}.hero-tags{display:flex;gap:9px;margin-top:25px}.hero-tags span{border:1px solid #344055;border-radius:6px;padding:6px 10px;font-size:10px;color:#d4deea}.hero-art{height:250px;position:relative;display:flex;align-items:center;justify-content:center}.hero-globe{position:absolute;width:268px;height:268px;border:1px solid #3b4f50;border-radius:50%;background:radial-gradient(ellipse at center,#24453e66,transparent 70%);transform:rotate(-18deg)}.hero-globe:before,.hero-globe:after{content:'';position:absolute;inset:0 60px;border:1px solid #3b4f50;border-radius:50%}.hero-globe:after{inset:85px 0}.hero-world{z-index:1;width:100%;max-width:420px;filter:drop-shadow(0 12px 14px #0005);transform:rotate(-8deg)}.hero-world path{fill:#b7df83;stroke:#172e2e;stroke-width:.65}.floating-tag{position:absolute;z-index:2;background:#f4f7e9;color:#213c29;border:1px solid #d9e7cb;border-radius:9px;padding:9px 12px;font-size:11px;box-shadow:0 6px 22px #0003}.floating-tag.one{right:8px;top:19px;transform:rotate(5deg)}.floating-tag.two{left:0;bottom:13px;transform:rotate(-5deg);background:var(--lime)}.hero-coord{position:absolute;bottom:-12px;right:10px;font-family:monospace;font-size:9px;color:#6e8298}.section-title{display:flex;align-items:end;justify-content:space-between;margin:35px 0 19px}.section-title h2{font-size:23px;letter-spacing:-.8px}.section-title p{font-size:12px;color:var(--muted);margin-top:7px}.section-title>span{font-size:11px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.game-card{border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden;transition:transform .2s,box-shadow .2s}.game-card:hover{transform:translateY(-4px);box-shadow:0 14px 25px #1420390a}.card-art{height:161px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#eaf1e2}.card-art.world{background:#e8efdf}.card-art.turkey{background:#e7edf4}.card-art.words{background:#ece5f5}.card-art .mini-map{width:87%;height:140px}.card-art path{fill:#c5d6b2;stroke:#f4f7ef;stroke-width:1}.card-art.world path.featured{fill:#517750}.card-art.turkey path{fill:#b6c7da;stroke:#e7edf4;stroke-width:1.5}.card-art.turkey path.featured{fill:#3e668e}.art-label{position:absolute;top:15px;left:16px;font-size:9px;letter-spacing:1.1px;color:#52674d;font-weight:700}.art-pill{position:absolute;right:14px;bottom:12px;background:#ffffffdc;font-size:9px;padding:6px 9px;border-radius:5px}.word-tiles{display:flex;gap:9px;transform:rotate(-9deg);margin-top:13px}.word-tile{height:66px;width:58px;display:grid;place-items:center;background:#fff;color:#79569c;font-family:Manrope,sans-serif;font-weight:800;font-size:30px;border-radius:10px;box-shadow:0 5px 0 #cabbdf}.word-tile:nth-child(2){transform:translateY(-14px);background:#8260a6;color:white;box-shadow:0 5px 0 #654482}.word-orbit{position:absolute;width:190px;height:190px;border:1px dashed #cab9dc;border-radius:50%}.card-body{padding:21px}.card-kicker{font-size:9px;letter-spacing:1.3px;font-weight:700;color:var(--muted);margin-bottom:8px}.card-body h3{font-size:21px;letter-spacing:-.7px}.card-body p{font-size:12px;line-height:1.8;color:var(--muted);min-height:44px;margin:9px 0 17px}.card-meta{display:flex;gap:7px;margin-bottom:20px}.card-meta span{font-size:9px;padding:5px 7px;background:#f3f5f0;border-radius:4px;color:#59645a}.play-button{width:100%;border:1px solid var(--line);background:#fff;border-radius:8px;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700}.play-button:hover{background:var(--ink);border-color:var(--ink);color:white}.game-card:first-child .play-button{background:var(--ink);color:#fff;border-color:var(--ink)}.play-button span:last-child{font-size:18px}.bottom-strip{display:flex;align-items:center;gap:15px;padding:24px 0 6px;color:var(--muted)}.bottom-strip>span{font-size:21px;color:var(--green)}.bottom-strip p{font-size:11px;line-height:1.8}.bottom-strip strong{color:var(--ink)}footer{max-width:1344px;margin:35px auto 0;padding:22px 48px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}footer button{background:none;border:0;font-size:10px;color:var(--muted)}.footer-dot{padding:0 8px}dialog{width:min(510px,calc(100% - 28px));border:1px solid var(--line);border-radius:22px;padding:34px;color:var(--ink);background:var(--paper);box-shadow:0 30px 120px #0004}dialog::backdrop{background:#0a142ba8;backdrop-filter:blur(5px)}dialog .close{position:absolute;right:16px;top:10px;background:none;border:0;font-size:27px;color:var(--muted)}dialog h2{font-size:26px;letter-spacing:-1px;margin:12px 0}dialog p{font-size:13px;color:var(--muted);line-height:1.8}label.field{display:block;font-size:12px;font-weight:700;margin:22px 0 8px}select{width:100%;padding:12px;border:1px solid #d6dcd1;background:white;border-radius:8px;color:var(--ink)}.mode-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mode-options button{text-align:left;background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px;font-weight:700;font-size:12px}.mode-options button small{display:block;font-weight:400;font-size:10px;line-height:1.7;color:var(--muted);margin-top:5px}.mode-options button.selected{background:#e9f3d9;border-color:#7c9a53}.primary{border:0;background:var(--lime);color:var(--ink);padding:12px 20px;border-radius:9px;font-size:13px;font-weight:700;display:inline-flex;gap:24px;align-items:center;justify-content:center}.full{width:100%;margin-top:23px}.secondary{border:1px solid var(--line);background:white;padding:11px 17px;border-radius:9px;font-size:12px;font-weight:600}.game-top{display:flex;justify-content:space-between;align-items:center;margin:18px 0 22px;gap:12px}.back{background:none;border:0;font-size:12px;color:var(--muted);padding:8px 0}.game-title h1{font-size:26px;letter-spacing:-1px}.game-title p{font-size:11px;color:var(--muted);margin-top:5px}.game-stats{display:flex;gap:25px;align-items:center;font-size:11px}.game-stats strong{font-size:20px;display:block;font-family:Manrope,sans-serif;letter-spacing:-.6px;margin-top:3px}.game-stats .timer{font-variant-numeric:tabular-nums}.game-stats .urgent{color:#c64646}.progress{height:4px;background:#e1e6da;border-radius:4px;overflow:hidden;margin-bottom:24px}.progress>div{height:100%;background:#91af5f;transition:width .3s}.question-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.question-bar .eyebrow{font-size:9px;color:var(--muted);letter-spacing:1.4px;margin-bottom:8px}.question-bar h2{font-size:26px;letter-spacing:-.7px}.question-bar h2 span{color:#467246}.question-number{font-size:11px;color:var(--muted);white-space:nowrap}.map-wrap{background:#e8edf1;border:1px solid #d7dfe3;border-radius:18px;position:relative;overflow:hidden}.map-viewport{height:clamp(310px,43vw,495px);overflow:hidden;touch-action:none;position:relative}.map-viewport svg{width:100%;height:100%;display:block;user-select:none}.map-region{fill:#9eafc1;stroke:#edf2f6;stroke-width:.65;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .12s}.map-region:hover,.map-region:focus-visible{fill:#52778f;outline:0}.map-region.correct{fill:#59955b!important;stroke:#224d32;stroke-width:2}.map-region.wrong{fill:#d47c72!important}.map-region.dimmed{opacity:.65}.map-controls{position:absolute;right:16px;top:16px;display:flex;flex-direction:column;gap:5px}.map-controls button{height:35px;min-width:35px;border:1px solid #dce2e7;background:#fffffff2;border-radius:7px;font-size:20px}.map-controls button:last-child{font-size:16px}.map-hint{position:absolute;bottom:13px;left:16px;font-size:10px;color:#526476;background:#ffffffd9;padding:6px 9px;border-radius:5px;pointer-events:none}.game-bottom{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:18px 0}.feedback{font-size:12px;line-height:1.7;min-height:38px;display:flex;flex-direction:column;justify-content:center}.feedback strong{font-size:14px}.feedback.good{color:#347149}.feedback.bad{color:#a1493c}.feedback .muted{font-size:11px;color:var(--muted)}.word-layout{display:grid;grid-template-columns:1fr 280px;gap:24px}.word-board{border-radius:20px;background:#fff;border:1px solid var(--line);padding:35px;min-height:360px;position:relative}.word-letter{background:var(--purple);color:#72519b;border-radius:17px;width:78px;height:78px;display:grid;place-items:center;font-family:Manrope,sans-serif;font-size:44px;font-weight:800;margin-bottom:26px}.level-badge{position:absolute;right:25px;top:28px;border-radius:5px;padding:6px 9px;font-size:10px;background:#f4f0f9;color:#765f94}.word-question{font-size:21px!important;line-height:1.6;font-weight:600;letter-spacing:-.35px;max-width:700px;min-height:73px}.answer-length{font-size:11px;color:var(--muted);margin:14px 0}.answer-row{display:flex;gap:10px}.answer-row input{min-width:0;width:100%;border:1px solid #d9ddd3;border-radius:9px;padding:14px;font-size:17px;color:var(--ink);background:#fafbf8}.answer-row input:disabled{background:#f2f4ee}.letter-sidebar{border:1px solid var(--line);background:#eeefe9;border-radius:20px;padding:22px;height:fit-content}.letter-sidebar h3{font-size:13px;margin-bottom:16px}.letter-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.letter-cell{aspect-ratio:1;border-radius:7px;background:white;display:grid;place-items:center;font-weight:700;font-size:13px;color:#6a7482}.letter-cell.current{background:#8b67ac;color:white;box-shadow:0 0 0 3px #d9cce9}.letter-cell.correct{background:#d7e9bf;color:#3a6032}.letter-cell.wrong{background:#f2d4cf;color:#a1493c}.letter-cell.passed{background:#d9e6f3;color:#476583}.legend{font-size:10px;color:var(--muted);line-height:1.8;margin-top:18px}.word-notice{font-size:10px;color:var(--muted);margin-top:17px;line-height:1.8}.result{max-width:800px;margin:35px auto;text-align:center}.result-icon{width:80px;height:80px;background:var(--lime);border-radius:50%;display:grid;place-items:center;font-size:40px;margin:0 auto 20px}.result h1{font-size:36px;letter-spacing:-1px}.result>p{font-size:13px;color:var(--muted);margin:12px auto 25px;line-height:1.8}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:#fff;border-radius:16px;padding:25px 12px;margin-bottom:25px}.result-stats strong{display:block;font-size:30px;font-family:Manrope,sans-serif}.result-stats span{display:block;font-size:11px;color:var(--muted);margin-top:6px}.result-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.mistakes{text-align:left;background:#fff;border:1px solid var(--line);padding:24px;border-radius:16px;margin-top:30px}.mistakes h3{font-size:15px;margin-bottom:15px}.mistakes ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}.mistakes li{font-size:11px;background:#f5ede9;padding:7px 10px;border-radius:5px}.record-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);font-size:13px}.record-row strong{font-size:20px}.record-row small{display:block;margin-top:4px;font-size:10px;color:var(--muted)}.text-link{color:#547646}.error-box{padding:45px;background:white;border:1px solid var(--line);border-radius:16px;margin:30px 0;line-height:1.8}.error-box p{margin-bottom:20px}svg{max-width:100%}@media(min-width:1500px){.hero{min-height:380px}.card-art{height:185px}}@media(max-width:900px){.topbar,main{padding-left:24px;padding-right:24px}.hero{padding:32px;grid-template-columns:1.1fr 1fr}.hero-art{height:220px}.hero-globe{height:220px;width:220px}.floating-tag.one{right:-10px}.header-note{display:none}.card-body{padding:17px}.card-body h3{font-size:19px}.word-layout{grid-template-columns:1fr 215px;gap:15px}.word-board{padding:25px}.letter-sidebar{padding:16px}.letter-grid{grid-template-columns:repeat(4,1fr)}footer{padding:22px 24px}.hero h1{font-size:34px}}@media(max-width:640px){.topbar{height:88px;padding:0 18px}.brand{font-size:21px}.brand-mark{width:38px;height:38px;font-size:33px}.brand small{font-size:6px}.topbar nav{gap:16px}.topbar nav button{font-size:11px}main{padding:0 16px}.hero{padding:28px 25px;display:block;min-height:460px}.hero h1{font-size:34px;letter-spacing:-1.4px}.hero p{font-size:12px}.hero-art{height:145px;position:absolute;bottom:5px;right:12px;left:70px;opacity:.75;pointer-events:none}.hero-world{width:250px}.hero-globe{width:160px;height:160px}.hero-globe:before{inset:0 35px}.hero-globe:after{inset:45px 0}.hero-coord{display:none}.floating-tag{font-size:9px;padding:6px 9px}.floating-tag.one{right:5px;top:0}.floating-tag.two{left:10px;bottom:20px}.hero-tags{margin-top:19px}.hero-tags span{font-size:9px}.cards{grid-template-columns:1fr;gap:17px}.card-art{height:175px}.card-art .mini-map{width:80%;height:160px}.card-body{padding:22px}.card-body p{min-height:0;font-size:13px}.card-body h3{font-size:23px}.card-meta{margin-bottom:17px}.section-title{margin-top:28px}.section-title h2{font-size:21px}.section-title>span{display:none}.bottom-strip{align-items:flex-start}.bottom-strip p{font-size:10px}footer{padding:18px 16px;font-size:9px;gap:12px}footer button{font-size:9px}.game-top{align-items:flex-start;flex-wrap:wrap}.game-title h1{font-size:23px}.game-stats{width:100%;justify-content:space-between;padding:12px 16px;background:#eaf0e1;border-radius:10px;gap:12px}.game-stats strong{font-size:18px}.question-bar h2{font-size:22px}.map-viewport{height:345px}.map-wrap.world .map-viewport{height:360px}.map-hint{max-width:75%;font-size:9px}.question-number{font-size:10px}.word-layout{display:flex;flex-direction:column-reverse}.letter-sidebar{padding:12px;border-radius:12px}.letter-sidebar h3,.legend{display:none}.letter-grid{grid-template-columns:repeat(12,1fr);gap:5px}.letter-cell{font-size:10px;border-radius:4px}.word-notice{display:none}.word-board{padding:23px;min-height:350px}.word-letter{height:60px;width:60px;font-size:35px}.word-question{font-size:18px!important}.answer-row{flex-wrap:wrap}.answer-row .primary{width:100%}.game-bottom{align-items:flex-start}.game-bottom .primary{white-space:nowrap;font-size:12px;gap:12px}.feedback{font-size:11px;max-width:65%}.result h1{font-size:29px}.result-stats strong{font-size:25px}dialog{padding:28px 22px}.result-actions>*{width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}

.difficulty-options{grid-template-columns:repeat(3,minmax(0,1fr))}.difficulty-options button{padding:13px 10px;font-size:16px}.chapter-number{display:block;font-size:8px;letter-spacing:1px;color:var(--muted);margin-bottom:7px}.chapter-count{display:block;font-size:9px;font-weight:500;margin-top:11px;color:#617447}.difficulty-options button.selected{box-shadow:inset 0 0 0 1px #7c9a53}.difficulty-options button[data-difficulty="hard"].selected{background:#ece2f7;border-color:#9b7abd;box-shadow:inset 0 0 0 1px #9b7abd}.difficulty-options button[data-difficulty="medium"].selected{background:#e0ebf6;border-color:#7c99b8;box-shadow:inset 0 0 0 1px #7c99b8}@media(max-width:640px){.difficulty-options{gap:7px}.difficulty-options button{padding:12px 8px}.difficulty-options button small{font-size:9px;min-height:30px}.chapter-number{font-size:7px;letter-spacing:.7px}}

.map-question-info{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.attempts-badge{display:inline-block;padding:7px 10px;border:1px solid #cbd9bc;background:#eaf2de;border-radius:7px;font-size:11px;font-weight:700;white-space:nowrap}.attempts-badge.last-attempt{background:#fff0db;border-color:#dfb47d;color:#8c5b24}.map-region.attempted:not(.correct):not(.wrong){fill:#d6b5ae;stroke:#b45a4e;stroke-width:1.6;stroke-dasharray:3 2}.map-region.correct.attempted{stroke:#c36355;stroke-width:2}.map-region.current-answer{stroke:#254c31;stroke-width:3;stroke-dasharray:none}.map-region.wrong.current-answer{stroke:#943c34}.map-legend{display:flex;gap:15px;flex-wrap:wrap;font-size:10px;color:var(--muted)}.map-legend>span{display:inline-flex;align-items:center;gap:6px}.legend-dot{height:8px;width:8px;border-radius:50%;display:inline-block}.legend-dot.green{background:#59955b}.legend-dot.red{background:#d47c72}@media(max-width:640px){.map-legend{gap:9px;font-size:9px}.attempts-badge{padding:6px 8px;font-size:10px}.map-question-info{gap:6px}}

/* Native SVG focus outlines scale with transformed shapes; draw keyboard focus as a non-scaling stroke instead. */
.map-viewport,.map-viewport svg,.map-viewport svg *{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
.map-viewport:focus,.map-viewport svg:focus,.map-viewport .map-region:focus{outline:none!important}
.map-viewport .map-region:focus-visible{outline:none!important;stroke:#8055b0;stroke-width:2.5;stroke-dasharray:4 2;vector-effect:non-scaling-stroke}
.map-viewport.is-dragging,.map-viewport.is-dragging .map-region{cursor:grabbing}

#mapLayer{transform-origin:0 0;transform-box:view-box;will-change:transform}
.map-viewport{contain:layout paint;overscroll-behavior:contain}
.map-viewport.is-interacting .map-region{transition:none}
.map-viewport.is-dragging .map-region{pointer-events:none}
@media(hover:none){.map-region:hover{fill:#9eafc1}}

.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.game-card{display:flex;flex-direction:column}.card-body{display:flex;flex-direction:column;flex:1}.card-body .play-button{margin-top:auto}.card-art.climate{background:#dfefea}.card-art.climate path{fill:#adcfc4;stroke:#e8f5ef}.card-art.climate path.featured{fill:#4b8672}.climate-land path{fill:#cbd8dd;stroke:#edf3f4;stroke-width:.5;vector-effect:non-scaling-stroke;pointer-events:none}.climate-land .antarctica{fill:#e6edf1}.climate-graticule{pointer-events:none}.climate-graticule path{fill:none;stroke:#8aa0ab;stroke-width:.8;stroke-dasharray:5 5;vector-effect:non-scaling-stroke}.climate-graticule text{font-size:7px;letter-spacing:1px;fill:#7e949e}.climate-region{fill:#799b9e66;stroke:#486d78;stroke-width:1.1}.climate-region:hover{fill:#789a9caa}.climate .map-viewport{height:clamp(355px,48vw,540px)}.regions-left{display:block;font-size:17px;letter-spacing:-.4px;color:#467356;background:#e5efd8;border:1px solid #c7d7b4;border-radius:9px;padding:10px 13px;white-space:nowrap}.climate-question h2 small{font-size:14px;font-weight:500;color:var(--muted)}.climate-stage-info>p{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:10px}.climate-region-chips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:17px}.climate-region-chip{font-size:10px;border:1px solid #cbdac1;background:#eaf2df;border-radius:7px;padding:7px 9px;color:#42653c}.climate-region-chip.wrong{border-color:#e1c4bc;background:#f8e8e2;color:#9a5747}.climate-source-note{font-size:10px;color:var(--muted);line-height:1.8;margin:0 0 15px}.climate-source-note a{color:#54776c}@media(max-width:1100px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.cards{grid-template-columns:1fr}.climate-question{align-items:flex-start}.climate-question h2{font-size:22px}.climate-question h2 small{display:block;font-size:11px;margin-top:4px}.climate-question .eyebrow{font-size:8px;letter-spacing:.7px;max-width:190px;line-height:1.6}.regions-left{font-size:13px;padding:8px 9px}.climate .map-viewport{height:390px}.climate-source-note{font-size:9px}}

/* Climate shapes use their real outline as the hit area, including holes. */
.climate-region{fill:#8fa8a6;fill-opacity:.7;stroke:#f5f8f4;stroke-width:.85;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:visiblePainted}.climate-region:hover{fill:#668c8a;fill-opacity:.95;stroke:#355e62;stroke-width:1.1}.climate-region.correct,.climate-region.wrong,.climate-region.attempted{fill-opacity:1}.climate-region.current-answer{stroke-width:1.6}

/* Classroom climate map: calm background and clearly bounded broad regions. */
.climate-land path{fill:#dce4dc;stroke:none}.climate-land .antarctica{fill:#e5ece8}.climate-region{fill:#a0b9af;fill-opacity:.92;stroke:#5c7970;stroke-width:.85}.climate-region:hover{fill:#7d9f90;stroke:#3c6255;stroke-width:1.2}.climate-region.correct,.climate-region.wrong,.climate-region.attempted{fill-opacity:1}

/* Five games: three cards above two wider cards. */
.cards{grid-template-columns:repeat(6,minmax(0,1fr))}.game-card{grid-column:span 2}.game-card:nth-child(n+4){grid-column:span 3}.card-art.mountains{background:#eee9da}.mountain-card-art{height:145px;width:85%;max-width:340px}.card-art.mountains path{stroke:none}.card-art.mountains path:nth-of-type(1){fill:#b4c3b7}.card-art.mountains path:nth-of-type(2){fill:#667f71}.card-art.mountains path:nth-of-type(3){fill:#f8f6eb}.card-art.mountains path:nth-of-type(4){fill:#8ca28d}.mountain-land{pointer-events:none}.mountain-land path{fill:#d8e2d6;stroke:#f6f8f0;stroke-width:.65;vector-effect:non-scaling-stroke}.mountain-range{fill:#c3ad83;stroke:#8a724c;stroke-width:1.4;stroke-linejoin:round;vector-effect:non-scaling-stroke}.mountain-range:hover{fill:#a68b59;stroke:#614921}.mountain-volcano{fill:#cb8666;stroke:#683f2e;stroke-width:1.5;vector-effect:non-scaling-stroke}.mountain-volcano:hover{fill:#e69a73;stroke:#683f2e}.mountain-ridge{fill:none;stroke:#786343;stroke-width:.9;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;vector-effect:non-scaling-stroke}.mountains .map-viewport{height:clamp(340px,44vw,480px)}.range-swatch{width:18px;height:6px;background:#bca47a;border-radius:5px;border:1px solid #8a724c}.volcano-swatch{width:11px;height:10px;background:#cb8666;clip-path:polygon(50% 0,100% 100%,0 100%)}
@media(max-width:1100px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.game-card,.game-card:nth-child(n+4){grid-column:span 1}.game-card:last-child{grid-column:span 2}}@media(max-width:640px){.cards{grid-template-columns:1fr}.game-card,.game-card:nth-child(n+4),.game-card:last-child{grid-column:span 1}.mountains .map-viewport{height:380px}.mountain-legend{max-width:70%}.map-wrap.mountains .map-hint{max-width:78%;line-height:1.7}.mountain-range{stroke-width:2}.mountain-volcano{stroke-width:1.8}}

.map-preferences{display:flex;justify-content:flex-end;margin:9px 0 1px}.motion-toggle{border:1px solid #cbd7c8;border-radius:7px;background:#edf3e8;color:#405e49;font-size:11px;padding:7px 11px;min-height:34px}.motion-toggle[aria-pressed="false"]{background:#f0f0eb;color:#6b7484}.motion-toggle:active{background:#dbeacb}@media(max-width:640px){.motion-toggle{min-height:40px;font-size:11px;padding:8px 12px}}

/* Six games and a warm, uncluttered desert map. */
.game-card:nth-child(n+4){grid-column:span 2}.card-art.deserts{background:#f1e4cb}.desert-card-art{height:145px;width:90%;max-width:370px}.card-art.deserts circle{fill:#e8b961}.card-art.deserts path{stroke:none}.card-art.deserts path:nth-of-type(1){fill:#d8b278}.card-art.deserts path:nth-of-type(2){fill:#b98b52}.card-art.deserts path:nth-of-type(3){fill:none;stroke:#f6dcae;stroke-width:2}.desert-land{pointer-events:none}.desert-land path{fill:#dce4d8;stroke:#f6f7ef;stroke-width:.5;vector-effect:non-scaling-stroke}.desert-region{fill:#dfbd7d;stroke:#8e6a3b;stroke-width:1;stroke-linejoin:round;vector-effect:non-scaling-stroke}.desert-region:hover{fill:#cfa157;stroke:#765226}.deserts .map-viewport{height:clamp(340px,44vw,480px)}@media(max-width:1100px){.game-card:nth-child(n+4),.game-card:last-child{grid-column:span 1}}@media(max-width:640px){.deserts .map-viewport{height:380px}.deserts .map-hint{max-width:78%;line-height:1.7}.desert-region{stroke-width:1.4}}

/* Waterways keep consistent, finger-sized markers as the map zooms. */
.card-art.waterways{background:#dcecf0}.waterway-card-art{height:145px;width:86%;max-width:340px}.card-art.waterways path{stroke:none}.card-art.waterways path:nth-of-type(1),.card-art.waterways path:nth-of-type(2){fill:#b5ccba}.card-art.waterways path:nth-of-type(3){fill:none;stroke:#90b9c8;stroke-width:2;stroke-dasharray:4 4}.card-art.waterways path:nth-of-type(4){fill:#3c7187}.card-art.waterways path:nth-of-type(5){fill:#fff6da;stroke:#3c7187;stroke-width:1}.waterway-land{pointer-events:none}.waterway-land path{fill:#dbe4d9;stroke:#f7f8f2;stroke-width:.5;vector-effect:non-scaling-stroke}.waterway-strait{fill:#61a49c;stroke:#1e625c;stroke-width:1.4;vector-effect:non-scaling-stroke}.waterway-canal{fill:#758fc4;stroke:#344d85;stroke-width:1.4;vector-effect:non-scaling-stroke}.waterway-strait:hover{fill:#84c4b9;stroke:#164e47}.waterway-canal:hover{fill:#a6b9e3;stroke:#263c6f}.waterways .map-viewport{height:clamp(340px,44vw,480px)}.strait-swatch{width:10px;height:10px;background:#61a49c;border:1px solid #1e625c;border-radius:50%}.canal-swatch{width:9px;height:9px;background:#758fc4;border:1px solid #344d85;transform:rotate(45deg)}.game-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 2fr}.game-card:last-child .card-art{height:100%;min-height:210px}@media(max-width:1100px){.game-card:last-child{grid-column:1/-1;grid-template-columns:1fr 1fr}}@media(max-width:640px){.game-card:last-child{display:flex;grid-column:span 1}.game-card:last-child .card-art{height:175px;min-height:0}.waterways .map-viewport{height:380px}.waterway-legend{max-width:72%}.waterways .map-hint{max-width:78%;line-height:1.7}}

/* Sound control stays accessible on every game, including narrow phone headers. */
.topbar nav .sound-toggle{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:28px}.sound-toggle>span:first-child{font-size:19px}.sound-toggle[aria-pressed="false"]{opacity:.65}.sound-toggle:focus-visible{outline:2px solid #668451;outline-offset:4px;border-radius:4px}@media(max-width:640px){.sound-label{display:none}.topbar{gap:10px}.topbar nav{gap:10px}}@media(max-width:380px){.topbar .brand{font-size:18px;gap:6px}.topbar .brand-mark{width:30px;height:30px;font-size:28px}.topbar nav{gap:8px}.topbar{gap:8px}}
