:root{--bg:#f2f0e9;--card:#fffefa;--text:#202822;--muted:#748078;--line:#e2e8de;--water:#e6efe6;--land:#b6c8b7;--highlight:#7f9e7c;--accent:#d5ec96;--strong:#294335}body.dark{--bg:#141b18;--card:#202a24;--text:#f0f2e9;--muted:#a7b6a8;--line:#35443a;--water:#263b35;--land:#536b5a;--highlight:#91b584;--accent:#b5d978;--strong:#b5d978}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,sans-serif}header{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:28px;padding:0 5%;background:var(--card)}.brand{font-size:23px;font-weight:800;color:var(--text);text-decoration:none;letter-spacing:-1px}.brand span{color:#8aac76}header small{letter-spacing:.14em;border-left:1px solid var(--line);padding-left:24px}header button{margin-left:auto}main{max-width:1440px;padding:48px 28px 70px;margin:auto}.intro{display:flex;align-items:end;justify-content:space-between;margin-bottom:30px;gap:20px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;color:#829b78!important;margin:0 0 13px}h1{font-family:Georgia,serif;font-size:clamp(42px,5vw,64px);letter-spacing:-2px;line-height:1.02;margin:0}h1 em{font-weight:400;color:#78956c}.intro p,.card p,small,#status{color:var(--muted);line-height:1.6}.daily{border-left:2px solid #bed49e;padding-left:18px;display:grid;gap:5px}.daily strong{font:20px Georgia}.daily small,footer,.map-card small{font-size:10px}.layout{display:grid;grid-template-columns:340px 1fr;gap:20px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 40px #3149340d}.listen,.map-card{padding:26px}.listen{display:flex;flex-direction:column}.top{display:flex;align-items:start;justify-content:space-between;gap:10px}h2{font:25px Georgia;margin:9px 0}.card p{font-size:13px}.audio-box{background:var(--bg);border:1px solid var(--line);padding:16px;border-radius:8px;font-size:13px}.audio-box audio{width:100%;height:35px;margin-top:16px}.steps{margin:16px 0}.steps p{font-size:12px}#status{font-size:12px;margin-top:auto;min-height:40px}button{background:transparent;border:1px solid var(--line);color:var(--text);border-radius:6px;padding:10px 13px;cursor:pointer;font-weight:650}button:hover{border-color:#96b487}.primary{background:var(--strong);color:var(--card);padding:16px;text-align:left}.dark .primary{color:#1d2d20}.primary:disabled{opacity:.4;cursor:not-allowed}.map-wrap{border-radius:8px;overflow:hidden;background:var(--water)}svg{display:block;width:100%;height:auto;min-height:260px;max-height:480px}.land{fill:var(--land);stroke:var(--water);stroke-width:.5}.selectable{fill:var(--highlight);cursor:pointer;stroke:var(--card);stroke-width:1}.selectable:hover,.selectable:focus{fill:#b6d27d;outline:none}.country-shape{fill:var(--land);stroke:var(--card);stroke-width:1}.pin{fill:#e6785f;stroke:white;stroke-width:2;pointer-events:none}.label{fill:var(--text);font-size:10px;pointer-events:none;paint-order:stroke;stroke:var(--water);stroke-width:3px}#country-buttons{display:flex;gap:8px;margin:15px 0}.hidden{display:none!important}#result{margin-top:20px;padding:25px}#result a{color:inherit}footer{border-top:1px solid var(--line);padding:25px 5%;color:var(--muted);display:flex;justify-content:space-between;gap:15px}footer a{color:inherit}@media(max-width:800px){header{height:65px}header small{display:none}main{padding:30px 16px}.layout{grid-template-columns:1fr}.steps{display:none}.audio-box{margin-bottom:18px}.map-card,.listen{padding:20px}svg{min-height:200px}footer{flex-direction:column}}@media(max-width:480px){.intro{display:block}.daily{margin-top:24px}h1{font-size:42px}.top{flex-wrap:wrap}}

#status.completed { font-size: 18px; font-weight: 700; color: var(--text); }

.boundary{fill:none;stroke:var(--card);stroke-width:0.7;opacity:.6;pointer-events:none}.label{font-size:inherit;stroke-width:inherit}#zoom-controls{display:flex;align-items:center;gap:6px;margin-top:12px;flex-wrap:wrap}#zoom-controls small{margin-left:6px}#country-buttons{flex-wrap:wrap}svg{touch-action:none}

.reveal-map{background:var(--water);border-radius:8px;overflow:hidden}.reveal-map svg{min-height:200px;max-height:280px}.reveal-line{stroke:var(--text);stroke-width:2;stroke-dasharray:7 5}.guess-dot{fill:#e6785f;stroke:white;stroke-width:3}.answer-dot{fill:#43824e;stroke:white;stroke-width:3}.guess-key{color:#dc6a50}.answer-key{color:#43824e}.credits{max-width:850px}.credits a{color:var(--strong)}.credits h2{margin-top:30px}.credits p,.credits li{line-height:1.65}.credits button{margin-top:15px}
