
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display&display=swap');
:root{--paper:#f5f5ef;--ink:#213b34;--muted:#75817a;--line:#dfe5dd;--green:#28624b;--mint:#e9f0e5;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--paper);font-size:14px;line-height:1.5}button,input,select{font:inherit}button{cursor:pointer;color:inherit;transition:background .18s,transform .18s}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b6c99b;outline-offset:3px}button:not(:disabled):active{transform:translateY(1px)}a{color:inherit}h1,h2,h3,p{margin:0}svg{display:block}[hidden]{display:none!important}.shell{max-width:1232px;padding:0 40px;margin:auto}.header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{text-decoration:none;display:flex;align-items:center;gap:11px}.brandmark{width:37px;height:37px;color:var(--green)}.brand strong{display:block;letter-spacing:-1.6px;font-size:30px;line-height:1.1;font-weight:700}.brand small{display:block;font-size:8px;letter-spacing:2px;color:var(--muted);margin-top:6px}.header-tools{display:flex;align-items:center;gap:30px}.modes{display:flex;gap:4px;background:#e9ede5;border:1px solid #e3e8de;border-radius:30px;padding:4px}.modes button{border:0;background:transparent;border-radius:24px;padding:9px 22px;font-size:12px;font-weight:600;color:#738173;white-space:nowrap}.modes button.active{background:white;color:var(--green);box-shadow:0 2px 5px #243a3210}.header-help{background:none;border:0;font-size:12px;display:flex;gap:8px;align-items:center;font-weight:600}.question-circle{border:1.5px solid #819084;width:19px;height:19px;border-radius:50%;font-size:12px;display:grid;place-items:center}.intro{padding:39px 0 29px;display:flex;justify-content:space-between;gap:20px;align-items:center}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.7px;color:var(--muted);text-transform:uppercase}.intro .eyebrow{color:var(--green);display:flex;align-items:center;gap:8px}.intro .eyebrow:before{content:'';width:6px;height:6px;border-radius:50%;background:#9eb78b}.intro h1{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:47px;line-height:1.2;letter-spacing:-1.3px;margin:9px 0}.subtitle{font-size:13px;color:var(--muted)}.daily-tag{display:flex;flex-direction:column;text-align:right;gap:5px;font-size:11px;color:var(--muted)}.daily-tag strong{font-size:12px;font-weight:500;color:#4e6256}.layout{display:grid;grid-template-columns:minmax(0,1.46fr) minmax(355px,1fr);gap:24px;align-items:start}.map-column{min-width:0}.map-card{background:white;border:1px solid var(--line);border-radius:18px;padding:7px;box-shadow:0 5px 30px #263b3010;overflow:hidden}.map-topbar{padding:10px 12px 15px;display:flex;align-items:center;justify-content:space-between}.map-title{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600}.map-topbar svg{width:17px;height:17px;color:var(--green)}.map-type{font-size:9px;letter-spacing:1.3px;color:var(--muted)}.map-stage{position:relative;width:100%;aspect-ratio:1;background:#1c322d;border-radius:11px;overflow:hidden;isolation:isolate;touch-action:pan-y}.raster{position:absolute;left:0;top:0;width:640px;height:640px;transform-origin:top left}.map-chip{position:absolute;top:17px;left:17px;z-index:500;display:flex;align-items:center;gap:7px;border:1px solid #ffffff35;border-radius:5px;background:#18352dc7;backdrop-filter:blur(8px);padding:7px 9px;font-size:8px;letter-spacing:1px;color:white;pointer-events:none}.map-chip i{width:5px;height:5px;background:#b6cd9e;border-radius:50%}.compass{position:absolute;right:18px;top:17px;width:33px;z-index:500;text-align:center;font-size:9px;color:white;pointer-events:none;filter:drop-shadow(0 1px 3px #0008)}.compass span{display:block;font-size:26px;line-height:1.2;font-family:Georgia,serif}.map-crosshair{position:absolute;z-index:500;left:50%;top:50%;transform:translate(-50%,-50%);height:28px;width:28px;border:1px solid #ffffff70;border-radius:50%;pointer-events:none;box-shadow:0 0 0 5px #17352a20}.map-crosshair:before,.map-crosshair:after{content:'';position:absolute;background:#ffffffe0;left:50%;top:50%;transform:translate(-50%,-50%)}.map-crosshair:before{width:10px;height:1px}.map-crosshair:after{width:1px;height:10px}.map-coordinate{position:absolute;left:17px;bottom:15px;z-index:500;color:#ffffffb0;font-size:8px;letter-spacing:1.2px;pointer-events:none;text-shadow:0 1px 3px #000}.map-load{position:absolute;inset:0;z-index:650;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:38px;color:#e2eddf;background:radial-gradient(circle at center,#34554a,#1c322d)}.map-load:before{content:'';position:absolute;width:170px;height:170px;border:1px solid #a3c5ad12;border-radius:50%;box-shadow:0 0 0 42px #a3c5ad08,0 0 0 85px #a3c5ad04;pointer-events:none}.map-load h3{font-weight:500;font-size:16px;margin-top:20px;position:relative}.map-load p{font-size:12px;max-width:270px;line-height:1.7;margin-top:8px;color:#a9beb0;position:relative}.map-load button{position:relative;border:1px solid #92af9c55;background:#f2f5e91a;color:#f5f5ec;border-radius:7px;font-size:12px;padding:9px 18px;margin-top:15px}.map-load button+button{margin-top:6px;background:transparent;border:0;text-decoration:underline}.loader{border:2px solid #b7cca52e;border-top-color:#c2d9aa;border-radius:50%;width:26px;height:26px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.attribution{font-size:8px;color:#788275;line-height:1.5;min-height:26px;padding:9px 7px 2px}.attribution a{text-underline-offset:2px}.view-controls{padding:21px 3px 0}.view-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.view-status strong{font-size:9px;letter-spacing:1.5px}.view-status span{font-size:10px;color:var(--muted)}.reveal-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.reveal-step{border:1px solid #d9e2d5;background:#edf1e8;height:36px;border-radius:7px;color:#a1aba0;font-size:11px;display:flex;align-items:center;justify-content:center;gap:7px;font-weight:600}.reveal-step svg{width:10px;height:10px}.reveal-step.current{background:var(--green);color:white;border-color:var(--green)}.reveal-step.unlocked:not(.current){background:white;color:var(--green)}.reveal-step:disabled{opacity:.7}.map-footnote{font-size:10px;color:#83917f;display:flex;align-items:center;justify-content:center;gap:6px;margin:13px 0}.map-footnote svg{width:12px;height:12px}.field-note{display:flex;gap:12px;margin-top:24px;padding:17px 18px;background:#eaf0e4;border:1px solid #dfe8d5;border-radius:12px}.field-note svg{width:19px;height:19px;flex-shrink:0;color:#75905e}.field-note strong{display:block;font-size:11px;font-weight:600;margin-bottom:3px}.field-note p{font-size:11px;color:#7c8c72;line-height:1.65}.panel{border:1px solid var(--line);padding:25px 25px 20px;border-radius:18px;background:white;box-shadow:0 5px 30px #263b3010;min-width:0}.panel-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.panel-heading{font-size:12px;font-weight:600;display:flex;align-items:center;gap:8px}.panel-heading svg{height:17px;width:17px;color:#71886d}.difficulty-modes{border-radius:7px;padding:3px;gap:2px;background:#f0f3ec;border:0}.difficulty-modes button{border-radius:5px;font-size:10px;padding:6px 13px}.difficulty-modes button.active{color:white;background:var(--green);box-shadow:none}.score-top{display:flex;justify-content:space-between;align-items:center;padding:0 0 17px}.points{font-size:35px;font-weight:600;letter-spacing:-1.5px;line-height:1.3;margin-top:4px}.points small{font-size:12px;letter-spacing:0;color:#87927d;font-weight:400}.guess-pill{font-size:10px;color:#738270;background:#f2f5ed;border-radius:5px;padding:7px 10px}.score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding-bottom:23px;border-bottom:1px solid #e9ede5}.score-slot{min-width:0;padding:10px 8px;background:#f7f8f4;border:1px solid #eef0e8;border-radius:7px}.score-slot .label{display:flex;align-items:center;justify-content:space-between;font-size:7px;letter-spacing:.7px;font-weight:700;color:#7a876e;gap:2px}.slot-value{font-size:11px;font-weight:600;margin-top:7px;overflow-wrap:anywhere;line-height:1.3;min-height:15px}.score-slot .mini{font-size:8px;line-height:1.4;color:#7e8a73;margin-top:4px}.score-slot.solved{background:#eaf3e7;border-color:#cbddc2}.score-slot.solved .label,.score-slot.solved .mini{color:#5c8150}.form-title{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:25px;letter-spacing:-.5px;margin-top:21px}.hint{font-size:10px;color:#78866f;margin:5px 0 20px;line-height:1.7}.field{position:relative;margin-bottom:15px}.field label{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:600;margin-bottom:6px;gap:5px}.optional{font-size:8px;font-weight:400;color:#7d8972}.input-wrap{position:relative}.input-wrap input{width:100%;border:1px solid #dfe5d8;background:#fafbf8;border-radius:7px;height:43px;padding:0 34px 0 12px;color:var(--ink);font-size:11px;outline:none}.input-wrap input:focus{border-color:#7e9c6a;box-shadow:0 0 0 3px #dbe8d055;background:white}.input-wrap input::placeholder{color:#8a967f}.input-wrap input:disabled{background:#edf4e8;color:#52754a;border-color:#c9dcbc;opacity:1;-webkit-text-fill-color:#52754a}.input-icon{position:absolute;right:13px;top:11px;color:#94a08a;font-size:17px;line-height:1}.primary,.secondary{width:100%;border:0;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:7px;height:43px;padding:0 16px;font-size:11px;font-weight:600}.primary{background:var(--green);color:white}.primary:hover:not(:disabled){background:#204f3e}.primary:disabled{background:#7f9778;color:#ffffffc4;opacity:.75}.primary svg{height:15px;width:15px}.secondary{background:#edf2e8;border:1px solid #dbe4d2;color:var(--green)}.below-form{display:flex;align-items:center;justify-content:space-between;margin-top:11px;gap:6px}.text-button{border:0;background:transparent;padding:3px 0;font-size:10px;color:#6f845f;text-decoration:none}.text-button:hover:not(:disabled){color:var(--green);text-decoration:underline;text-underline-offset:3px}.text-button:disabled{opacity:.45}.spacer-note{font-size:8px;color:#8b967f}.feedback{border-radius:7px;padding:12px;font-size:11px;background:#f2f4ec;color:#718068;margin:15px 0;line-height:1.7}.feedback.success{background:#edf5e7;color:#527341}.feedback.error{background:#fcf2e8;color:#986036}.history{padding-top:20px;margin-top:21px;border-top:1px solid #e9ede5}.history h3{font-size:8px;font-weight:700;letter-spacing:1.6px;color:#7e8b72}.empty-history{font-size:11px;color:#8d9882;margin:14px 0 0;font-style:italic}.history-row{display:flex;align-items:center;gap:9px;padding-top:14px}.attempt-number{width:22px;height:22px;display:grid;place-items:center;background:#f0f3ea;border:1px solid #e3e9da;border-radius:50%;font-size:9px;color:#829374;flex-shrink:0}.history-entry{flex:1;min-width:0}.history-name{font-size:10px;font-weight:500;overflow-wrap:anywhere}.history-detail{font-size:8px;color:#829073;margin-top:2px}.guess-result{font-size:10px;font-weight:700;color:var(--green)}.guess-result.miss{color:#ac8d6d}.suggestions{position:absolute;top:100%;left:0;right:0;margin-top:5px;max-height:214px;overflow:auto;background:white;border:1px solid #d5dfcb;box-shadow:0 8px 25px #233d2522;z-index:750;border-radius:8px;padding:4px}.suggestion{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 9px;border:0;background:white;text-align:left;border-radius:4px;font-size:11px}.suggestion small{font-size:9px;color:#8a9681;text-align:right}.suggestion:hover,.suggestion.focused{background:#edf3e7}.empty-search{padding:12px;font-size:11px;color:var(--muted)}.hint-board{margin-top:20px;border-top:1px solid var(--line);padding-top:15px}.hint-board-title{font-size:10px;font-weight:600;margin-bottom:9px}.hint-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.hint-card{background:#f6f7ee;padding:11px;border:1px solid #e7ecd9;border-radius:7px}.hint-label{font-size:7px;letter-spacing:1px;color:#85875d;font-weight:700}.hint-main{font-size:10px;margin-top:6px;font-weight:600}.hint-meta{font-size:9px;line-height:1.8;color:#82865f;margin-top:5px}.hint-arrow{font-size:9px;color:#737d56;margin-top:8px;border-top:1px solid #e5e9d6;padding-top:7px}.hint-source{font-size:8px;color:#8b9074;margin-top:8px;line-height:1.6}.result-title{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:31px;line-height:1.25;margin-top:8px}.result-place{font-size:23px;font-weight:600;margin-top:22px;letter-spacing:-.5px}.result-country{font-size:11px;color:var(--muted);margin-top:3px}.result-details{font-size:11px;color:#78896c;line-height:1.8;margin:14px 0 22px}.result-actions{display:flex;flex-direction:column;gap:8px}.result-actions a{align-self:center;margin-top:5px}.share-preview{background:#f5f7ef;padding:14px;border:1px solid #e5ecdc;border-radius:8px;font-family:inherit;font-size:10px;line-height:2;white-space:pre-wrap;overflow-wrap:anywhere;margin:16px 0 0}#resultSection>.eyebrow{margin-top:20px}.footer{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:29px 0 23px;margin-top:32px;border-top:1px solid var(--line);font-size:9px;color:#7c8b73}.footer-brand{display:flex;align-items:center;gap:7px}.footer-brand svg{width:13px;height:13px}.footer .text-button{font-size:9px}.footer-right{display:flex;align-items:center;gap:15px}.footer-note{font-size:8px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:12px 22px;border-radius:10px;background:#204f3e;color:white;z-index:1200;font-size:12px;box-shadow:0 5px 25px #142a3022;max-width:calc(100vw - 32px);text-align:center}dialog{color:var(--ink);border:1px solid var(--line);border-radius:18px;max-width:530px;width:calc(100% - 30px);padding:28px;box-shadow:0 20px 100px #14302520}dialog::backdrop{background:#172c2766;backdrop-filter:blur(4px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.dialog-header h2{font-family:'DM Serif Display',Georgia,serif;font-size:28px;font-weight:400;line-height:1.2}.icon-btn{border:1px solid var(--line);border-radius:50%;width:30px;height:30px;background:white;flex-shrink:0;font-size:20px}dialog p{font-size:12px;line-height:1.9;color:#6e7b64;margin-bottom:15px}.rules-table{border-collapse:collapse;width:100%;font-size:11px;margin:20px 0}.rules-table td,.rules-table th{text-align:center;padding:9px 6px;border-bottom:1px solid #e8eddc}.rules-table th{font-weight:600;font-size:9px;color:#7c8970}.rules-table tbody tr:first-child{background:#f0f5e9}.small{font-size:10px!important}.warn-note{padding:11px;background:#f6f4e9;border-radius:7px;color:#827c60!important;font-size:10px!important}dialog label{display:block;font-size:11px;font-weight:600;margin:15px 0 6px}dialog select,dialog input{width:100%;padding:11px;border:1px solid var(--line);border-radius:6px;background:#fafcf7;color:var(--ink);font-size:12px}#keyWrap{margin-bottom:15px}#keyWrap .small{margin-top:7px}.leaflet-container{font-family:inherit!important;background:#1c322d!important}.skip-link{position:fixed;top:-100px;left:20px;z-index:1500;background:white;padding:10px;border-radius:5px}.skip-link:focus{top:10px}noscript{display:block;padding:25px;text-align:center}.assist-note{font-size:9px;color:#9b8354;line-height:1.5;margin-top:8px}
@media(min-width:1400px){.shell{max-width:1280px}.intro{padding-top:43px;padding-bottom:34px}.layout{gap:28px}.panel{padding:27px 28px}.field{margin-bottom:18px}.input-wrap input{height:46px}.primary,.secondary{height:46px}}
@media(max-width:1000px){.shell{padding:0 25px}.layout{grid-template-columns:minmax(0,1.3fr) minmax(310px,1fr);gap:18px}.panel{padding:19px 17px}.view-status{align-items:start}.view-status span{text-align:right;font-size:9px;max-width:160px}.header{height:88px}.intro h1{font-size:41px}.score-slot{padding:9px 6px}.header-tools{gap:20px}.map-footnote{font-size:9px}}
@media(max-width:760px){.shell{padding:0 18px;max-width:600px}.header{height:80px;gap:10px}.brand strong{font-size:26px}.brandmark{width:30px;height:30px}.brand small{display:none}.brand{gap:8px}.header-tools{gap:12px}.modes button{padding:7px 14px;font-size:11px}.header-help .help-label{display:none}.header-help{padding:0}.intro{padding:27px 0 21px;align-items:flex-start}.intro h1{font-size:38px;margin:8px 0}.intro .eyebrow{font-size:8px}.subtitle{font-size:11px;max-width:300px}.daily-tag{display:none}.layout{grid-template-columns:1fr;gap:20px}.map-card{padding:6px;border-radius:15px}.map-topbar{padding:8px 8px 13px}.view-controls{padding-top:16px}.view-status span{max-width:none;font-size:9px}.field-note{display:none}.map-footnote{margin-bottom:0}.panel{padding:23px;border-radius:15px}.panel-top{margin-bottom:19px}.difficulty-modes button{padding:6px 14px}.form-title{font-size:28px}.field label{font-size:11px}.input-wrap input{font-size:16px;height:46px}.input-icon{top:13px}.optional{font-size:9px}.hint{font-size:11px}.score-slot{padding:11px 9px}.score-slot .label{font-size:8px}.slot-value{font-size:12px}.score-slot .mini{font-size:9px}.primary,.secondary{height:46px;font-size:12px}.text-button{font-size:11px}.spacer-note{font-size:9px}.suggestion{font-size:13px;padding:12px 9px}.suggestion small{font-size:10px}.empty-history{font-size:12px}.history-name{font-size:12px}.history-detail{font-size:10px}.footer{margin-top:25px;padding:21px 0;flex-wrap:wrap;gap:9px}.footer-right{margin-left:auto}.footer-note{display:none}.hint-meta,.hint-arrow{font-size:10px}.hint-source{font-size:9px}.map-chip{top:12px;left:12px;font-size:7px}.compass{top:12px;right:12px}}
@media(max-width:370px){.shell{padding:0 12px}.header-tools{gap:8px}.modes button{padding:7px 10px}.brand strong{font-size:24px}.panel{padding:18px}.optional{font-size:8px}.intro h1{font-size:35px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Small copy remains readable on the soft paper and card backgrounds. */
:root{--muted:#606f64}.hint,.optional,.spacer-note,.score-slot .mini,.history-detail,.empty-history,.map-footnote,.footer,.text-button,.suggestion small,.empty-search{color:#65735d}.score-slot .label,.history h3,.hint-label,.hint-meta,.hint-source{color:#687354}.input-wrap input::placeholder{color:#707d65}.attribution{font-size:9px;color:#606e58}.input-wrap input{font-size:12px}.field label{font-size:11px}.optional{font-size:9px}.score-slot .label{font-size:8px}.score-slot .mini{font-size:9px}.history h3{font-size:9px}.history-detail{font-size:10px}.field-note p{color:#657557}.points small{color:#68765e}.reveal-step:disabled{opacity:1;color:#7e8a72}.hint-arrow{color:#63724d}.result-title:focus{outline:none}
@media(max-width:760px){.input-wrap input{font-size:16px}.map-footnote{font-size:9px}.optional{font-size:9px}}

/* Theme and map inspection controls. Satellite pixels keep their original colors. */
.theme-toggle{height:36px;width:36px;display:grid;place-items:center;padding:8px;border:1px solid var(--line);border-radius:50%;background:transparent;flex-shrink:0}.theme-toggle:hover{background:#e8eee2}.theme-toggle svg{height:18px;width:18px}.theme-sun{display:none}html[data-theme="dark"] .theme-moon{display:none}html[data-theme="dark"] .theme-sun{display:block}.header-tools{gap:20px}.intro{padding-bottom:24px}.intro h1{margin-bottom:0}.brand strong{line-height:1.2}#guessForm{margin-top:17px}.hint{margin-bottom:0}.map-navigation{position:absolute;bottom:14px;right:14px;z-index:700;display:flex;flex-direction:column;gap:1px;border:1px solid #ffffff50;border-radius:8px;overflow:hidden;box-shadow:0 2px 9px #0b251a30;background:#e6e9e0}.map-navigation button{width:42px;height:42px;display:grid;place-items:center;border:0;padding:0;background:#fffffff2;color:#284b37;font-size:23px;font-weight:400;line-height:1}.map-navigation button:not(:disabled):hover{background:#eaf2e5}.map-navigation button:disabled{color:#96a28b;background:#f0f3e9e8}.map-navigation button:focus-visible{outline:2px solid #3a7951;outline-offset:-4px}.map-navigation button svg{width:17px;height:17px}.map-navigation #mapReset{font-size:16px;border-top:1px solid #dbe4d1}.map-stage .compass{top:15px;right:18px}.map-footnote{justify-content:flex-start}.footer{margin-top:26px}.empty-history{font-style:normal}
html[data-theme="dark"]{--paper:#141e1b;--ink:#e3ece3;--muted:#a7b7a9;--line:#35453a;--green:#a1cc9c;--mint:#273d2c;color-scheme:dark}
html[data-theme="dark"] .map-card,html[data-theme="dark"] .panel,html[data-theme="dark"] dialog{background:#1b2822;box-shadow:0 5px 30px #00000016}
html[data-theme="dark"] .modes{background:#223328;border-color:#354838}html[data-theme="dark"] .modes button{color:#acbaa8}html[data-theme="dark"] .modes button.active{background:#3b503e;color:#e2edda;box-shadow:none}html[data-theme="dark"] .difficulty-modes button.active{background:#a1cc9c;color:#13251a}
html[data-theme="dark"] .theme-toggle:hover,html[data-theme="dark"] .icon-btn{background:#283c2e}html[data-theme="dark"] .question-circle{border-color:#98b099}
html[data-theme="dark"] .daily-tag strong,html[data-theme="dark"] .panel-heading svg{color:#b9cab5}html[data-theme="dark"] .guess-pill{background:#283d2c;color:#b5cdb0}html[data-theme="dark"] .points small{color:#a2b798}
html[data-theme="dark"] .score-grid,html[data-theme="dark"] .history{border-color:#35453a}html[data-theme="dark"] .score-slot{background:#233228;border-color:#334637}html[data-theme="dark"] .score-slot .label,html[data-theme="dark"] .score-slot .mini{color:#afbea3}html[data-theme="dark"] .score-slot.solved{background:#2b4430;border-color:#456a42}html[data-theme="dark"] .score-slot.solved .label,html[data-theme="dark"] .score-slot.solved .mini{color:#bbdba9}
html[data-theme="dark"] .hint,html[data-theme="dark"] .optional,html[data-theme="dark"] .spacer-note,html[data-theme="dark"] .history-detail,html[data-theme="dark"] .empty-history,html[data-theme="dark"] .map-footnote,html[data-theme="dark"] .footer,html[data-theme="dark"] .text-button,html[data-theme="dark"] .suggestion small,html[data-theme="dark"] .empty-search,html[data-theme="dark"] .attribution,html[data-theme="dark"] .history h3{color:#a8b79d}
html[data-theme="dark"] .input-wrap input,html[data-theme="dark"] dialog input,html[data-theme="dark"] dialog select{background:#16251d;border-color:#45563f;color:#e1eadb}html[data-theme="dark"] .input-wrap input::placeholder{color:#9bab91}html[data-theme="dark"] .input-wrap input:focus{background:#24362a;border-color:#9dc28d;box-shadow:0 0 0 3px #adc99615}html[data-theme="dark"] .input-wrap input:disabled{background:#2b412d;border-color:#4b6341;color:#bad6a7;-webkit-text-fill-color:#bad6a7}
html[data-theme="dark"] .primary{background:#9fc995;color:#152519}html[data-theme="dark"] .primary:hover:not(:disabled){background:#b1d5a6}html[data-theme="dark"] .primary:disabled{background:#3c543d;color:#b2c0a7;opacity:1}html[data-theme="dark"] .secondary{background:#2b4130;border-color:#4b6245;color:#c0d8b2}
html[data-theme="dark"] .suggestions{background:#233529;border-color:#4a6442;box-shadow:0 8px 25px #0004}html[data-theme="dark"] .suggestion{background:transparent}html[data-theme="dark"] .suggestion:hover,html[data-theme="dark"] .suggestion.focused{background:#39533b}
html[data-theme="dark"] .reveal-step{background:#1e2d23;border-color:#394e39;color:#a1b497}html[data-theme="dark"] .reveal-step.unlocked:not(.current){background:#2e4531;color:#c8dbba}html[data-theme="dark"] .reveal-step.current{background:#a1cc9c;color:#13251a;border-color:#a1cc9c}
html[data-theme="dark"] .feedback{background:#2b3e2d;color:#bfceb3}html[data-theme="dark"] .feedback.success{background:#2d442f;color:#c1dbab}html[data-theme="dark"] .feedback.error{background:#443425;color:#e1be95}html[data-theme="dark"] .attempt-number{background:#2d422e;border-color:#47603e;color:#bed3ad}html[data-theme="dark"] .guess-result.miss{color:#d3af86}
html[data-theme="dark"] .hint-card{background:#2b3628;border-color:#444f35}html[data-theme="dark"] .hint-meta,html[data-theme="dark"] .hint-label,html[data-theme="dark"] .hint-source{color:#b7c09c}html[data-theme="dark"] .hint-arrow{color:#c0d3a3;border-color:#46553a}html[data-theme="dark"] .result-details,html[data-theme="dark"] dialog p,html[data-theme="dark"] .rules-table th{color:#aebfa0}html[data-theme="dark"] .rules-table td,html[data-theme="dark"] .rules-table th{border-color:#3c5039}html[data-theme="dark"] .rules-table tbody tr:first-child{background:#2b412f}html[data-theme="dark"] .warn-note{background:#3b3626;color:#d8c99e!important}html[data-theme="dark"] .share-preview{background:#233628;border-color:#415b3c}html[data-theme="dark"] .skip-link{background:#263b2c}
html[data-theme="dark"] .map-navigation{border-color:#526848;background:#4a5c41}html[data-theme="dark"] .map-navigation button{background:#1e3025f5;color:#d0e5c1}html[data-theme="dark"] .map-navigation button:not(:disabled):hover{background:#38523a}html[data-theme="dark"] .map-navigation button:disabled{background:#26382bf0;color:#789170}html[data-theme="dark"] .map-navigation #mapReset{border-color:#4b6141}html[data-theme="dark"] .map-navigation button:focus-visible{outline-color:#b6dca2}
@media(max-width:760px){.header-tools{gap:10px}.theme-toggle{width:30px;height:30px;padding:6px}.theme-toggle svg{width:16px;height:16px}.modes button{padding:7px 12px}.map-navigation{right:11px;bottom:11px}.map-navigation button{width:44px;height:44px}.intro{padding-bottom:21px}.map-footnote{font-size:10px}.daily-tag{display:none}}
@media(max-width:370px){.header-tools{gap:6px}.brand strong{font-size:22px}.brandmark{width:27px;height:27px}.modes button{padding:7px 9px}.theme-toggle{width:28px;height:28px}}

/* Persistent map feedback is compact and never covers a view during inspection. */
.map-display-tools{display:flex;align-items:center;gap:10px}.topography-toggle{display:flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #dce5d5;border-radius:7px;background:#f6f8f1;color:#567149;font-size:10px;font-weight:600;line-height:1.3;white-space:nowrap}.map-topbar .topography-toggle svg{height:17px;width:17px;color:inherit}.topography-toggle:hover{background:#ebf2e3}.topography-toggle[aria-pressed="true"]{color:#28583c;background:#e1eed5;border-color:#a8c596}.topography-toggle[aria-busy="true"]{border-style:dashed}.map-activity{display:block;width:13px;height:13px;border:2px solid #9ab18855;border-top-color:#52784a;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.map-notice{position:absolute;z-index:710;left:12px;bottom:12px;max-width:calc(100% - 82px);border:1px solid #e7d6b488;background:#273023f2;color:#f2e8d1;box-shadow:0 2px 9px #0003;border-radius:7px;display:flex;align-items:center;gap:10px;padding:9px 11px;font-size:10px;line-height:1.5}.map-notice button{border:0;border-bottom:1px solid #d8dfb1;background:transparent;padding:1px 0;color:#e5efbf;font-size:10px;font-weight:600}.map-stage #mapCompass{width:68px;height:68px;top:14px;right:14px;display:block;border-radius:50%;padding:0;background:#15271ff2;color:white;border:1px solid #f3f6e67a;box-shadow:0 2px 10px #0007;filter:none;z-index:500;pointer-events:none}.compass svg{width:100%;height:100%}.compass-north{font-family:'DM Sans',Arial,sans-serif;font-size:13px;font-weight:700;fill:#fff}.compass-direction{font-family:'DM Sans',Arial,sans-serif;font-size:8px;font-weight:600;fill:#ceddcb}.map-stage[data-style="topography"] .map-crosshair{border-color:#172819;box-shadow:0 0 0 4px #f1f4e5ad}.map-stage[data-style="topography"] .map-crosshair:before,.map-stage[data-style="topography"] .map-crosshair:after{background:#192d1d}
html[data-theme="dark"] .topography-toggle{background:#243829;border-color:#41573a;color:#b9cfa7}html[data-theme="dark"] .topography-toggle:hover{background:#334c34}html[data-theme="dark"] .topography-toggle[aria-pressed="true"]{background:#3c5939;border-color:#94b57c;color:#e0eed0}html[data-theme="dark"] .map-activity{border-color:#a6c68f44;border-top-color:#b6d4a2}
@media(max-width:760px){.map-topbar{padding-top:5px;padding-bottom:10px}.map-display-tools{gap:7px}.topography-toggle{font-size:10px;padding:8px}.map-stage #mapCompass{height:62px;width:62px;top:11px;right:11px}.map-notice{font-size:10px;padding:8px;left:9px;bottom:9px}.map-notice button{font-size:10px}}

.round-archive{margin-top:20px;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.round-archive>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;padding:18px 20px;font-size:14px;font-weight:600}
.round-archive>summary::-webkit-details-marker{display:none}.round-archive>summary:focus-visible{outline:3px solid #b6c99b;outline-offset:-4px}
.archive-heading{display:flex;align-items:center;gap:10px}.archive-heading>svg{width:20px;height:20px;color:var(--green)}.archive-count{color:var(--muted);font-size:11px;font-weight:400;margin-left:4px}
.archive-chevron{width:18px;height:18px;transition:transform .18s}.round-archive[open] .archive-chevron{transform:rotate(180deg)}
.archive-body{border-top:1px solid var(--line);padding:16px 20px 20px}
.archive-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:12px;color:var(--muted);font-size:11px;margin-bottom:15px}.archive-toolbar:has(nav[hidden]){display:none}
.archive-toolbar nav{display:flex;align-items:center;gap:12px}.archive-toolbar button{width:32px;height:32px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);font-size:16px}.archive-toolbar button:disabled{opacity:.35}
.archive-list{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));list-style:none;margin:0;padding:0;gap:10px}.archive-row{min-width:0}
.archive-play{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:100%;min-height:83px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--muted);padding:10px 4px;font-variant-numeric:tabular-nums}
.session-id{font-size:25px;font-weight:600;line-height:1.15}.archive-result{font-size:10px;line-height:20px;white-space:nowrap}.archive-play[data-outcome="first-try"] .archive-result{font-size:19px;font-weight:700}
.archive-play[data-outcome="first-try"]{background:#e0efdb;border-color:#b4d1a5;color:#285b35}.archive-play[data-outcome="solved"]{background:#fff0bf;border-color:#deca82;color:#76520c}.archive-play[data-outcome="missed"]{background:#f8e0db;border-color:#dfb0a5;color:#8b3c30}
.archive-play:hover{filter:brightness(.96)}.archive-play[aria-current="true"]{outline:2px solid var(--ink);outline-offset:2px}.archive-play:focus-visible{outline:3px solid var(--green);outline-offset:3px}.daily-tag #returnToday{color:var(--green);font-size:11px}
html[data-theme="dark"] .round-archive{background:#1c2c23}html[data-theme="dark"] .archive-play[data-outcome="first-try"]{background:#284b31;border-color:#527347;color:#d5eccb}html[data-theme="dark"] .archive-play[data-outcome="solved"]{background:#4c4124;border-color:#84743e;color:#f0d98c}html[data-theme="dark"] .archive-play[data-outcome="missed"]{background:#4c2b28;border-color:#80514b;color:#f0b9ad}
html[data-theme="dark"] .map-stage[data-style="topography"] .map-crosshair{border-color:#e2eddf;box-shadow:0 0 0 4px #16251f8c}html[data-theme="dark"] .map-stage[data-style="topography"] .map-crosshair:before,html[data-theme="dark"] .map-stage[data-style="topography"] .map-crosshair:after{background:#edf5e9}
@media(max-width:1050px){.archive-list{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:760px){.round-archive{margin-top:20px}.round-archive>summary{padding:16px}.archive-body{padding:14px 14px 18px}.archive-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.archive-play{min-height:75px}.session-id{font-size:24px}.archive-toolbar nav{gap:8px}.intro:has(#returnToday:not([hidden])){flex-direction:column;align-items:flex-start;gap:5px}.daily-tag:has(#returnToday:not([hidden])){display:flex;flex-direction:row;align-items:center;gap:12px}}

.stats-button{display:grid;place-items:center;flex-shrink:0;width:35px;height:35px;padding:7px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink)}.stats-button svg{width:20px;height:20px}.stats-button:hover{background:var(--mint)}.stats-dialog{width:min(480px,calc(100% - 28px));padding:26px;max-height:calc(100dvh - 32px);overflow-y:auto}.stats-dialog .dialog-header{margin-bottom:18px}.stats-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:17px;font-size:11px;color:var(--muted)}.stats-toolbar .modes button{padding:7px 18px;font-size:11px}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:13px 16px;display:flex;flex-direction:column;align-items:flex-start;gap:3px}.stat-label{font-size:10px;color:var(--muted)}.stat-card strong{font-size:30px;line-height:1.2;font-weight:600;letter-spacing:-1px;color:var(--ink);font-variant-numeric:tabular-nums}.stat-card small{font-size:9px;color:var(--muted)}.stat-streak{background:var(--mint);border-color:#d6e1ce}.stat-streak strong{color:var(--green)}.stats-rules{margin-top:18px;font-size:11px;color:var(--muted)}.stats-rules summary{cursor:pointer;font-weight:500;color:var(--ink);padding:5px 0}.stats-dialog .stats-rules p{font-size:11px;line-height:1.7;margin:8px 0 0}.stats-dialog .stats-note{font-size:11px;color:var(--muted);margin:14px 0 0}.stats-dialog .stats-storage{margin:18px 0 0;padding-top:15px;border-top:1px solid var(--line);font-size:10px;line-height:1.6;color:var(--muted)}
html[data-theme="dark"] .stat-streak{background:#2a412e;border-color:#435b3c}html[data-theme="dark"] .stats-button:hover{background:#2a412e}html[data-theme="dark"] .stats-dialog .stats-storage,html[data-theme="dark"] .stats-dialog .stats-note{color:var(--muted)}
@media(max-width:760px){.header{gap:10px}.header-tools{gap:7px}.brand{gap:8px}.brand strong{font-size:26px}.brandmark{width:30px;height:30px}.header .modes button{padding:7px 9px}.stats-button{width:30px;height:30px;padding:6px}.stats-button svg{width:17px;height:17px}.stats-dialog{padding:20px}.stats-dialog h2{font-size:24px}.stat-card{padding:11px 14px}.stat-card strong{font-size:28px}}
@media(max-width:440px){.header{gap:6px}.header-tools{gap:5px}.brand strong{font-size:22px}.brandmark{width:25px;height:25px}.brand{gap:6px}.header .modes button{padding:7px 7px}.header-help{padding:0}.theme-toggle,.stats-button{width:27px;height:27px}}
@media(max-width:350px){.header{height:auto;min-height:94px;display:grid;grid-template-columns:1fr repeat(3,auto);gap:10px;padding:16px 0 12px}.header-tools{display:contents}.header-tools>.modes{grid-column:1/-1;grid-row:2;justify-self:center}.archive-list{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* A single search field carries the selected location hierarchy. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.guess-field{margin-top:15px}.guess-entry{min-width:0;border:1px solid #dfe5d8;background:#fafbf8;border-radius:9px;cursor:text;transition:border-color .18s,box-shadow .18s}.guess-entry:focus-within{border-color:#7e9c6a;box-shadow:0 0 0 3px #dbe8d055;background:#fff}
.guess-entry input{display:block;min-width:0;width:100%;height:46px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--ink);font-size:12px;outline:none;box-shadow:none}.guess-entry input:focus-visible{outline:none}.guess-entry input::placeholder{color:var(--muted)}
.guess-selection{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 10px 0;min-width:0}.guess-chip{display:inline-flex;align-items:center;gap:7px;max-width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;padding:6px 8px;background:var(--paper);color:var(--ink);font-size:11px;line-height:1.5;text-align:left}.guess-chip-name{min-width:0;overflow-wrap:anywhere}.guess-chip-icon{font-size:15px;line-height:1;flex-shrink:0;color:var(--muted)}button.guess-chip:hover{background:var(--mint)}.guess-chip[data-locked="true"]{background:#eaf3e7;border-color:#cbddc2;color:#416638}.guess-chip[data-locked="true"] .guess-chip-icon{font-size:12px;color:inherit}
.guess-field .suggestions{position:relative;top:auto;max-height:210px;margin-top:8px;box-shadow:0 5px 14px #233d2510}.guess-field .suggestion>span{min-width:0;overflow-wrap:anywhere}.guess-field .suggestion small{flex-shrink:0;max-width:50%;overflow-wrap:anywhere}
html[data-theme="dark"] .guess-entry{background:#16251d;border-color:#45563f}html[data-theme="dark"] .guess-entry:focus-within{background:#24362a;border-color:#9dc28d;box-shadow:0 0 0 3px #adc99615}html[data-theme="dark"] .guess-chip[data-locked="true"]{background:#2b4430;border-color:#456a42;color:#bbdba9}
@media(max-width:760px){.guess-entry input{font-size:16px}.guess-chip{font-size:12px;padding:7px 9px}.guess-field .suggestions{max-height:220px}}

/* Language controls and layouts keep the map's geography unmirrored. */
.language-select{width:115px;min-width:0;border:1px solid var(--line);border-radius:8px;padding:8px 6px;background:var(--paper);color:var(--ink);font-family:inherit;font-size:12px;cursor:pointer}.language-select option{background:var(--paper);color:var(--ink)}.header-tools{gap:18px}.brand{flex-shrink:0}.header-help{white-space:nowrap}
.suggestion,.guess-chip{text-align:start}.suggestion>span,.guess-chip-name{unicode-bidi:plaintext}.guess-entry input{text-align:start}.archive-result{white-space:normal;line-height:1.4;overflow-wrap:anywhere;text-align:center}.archive-play{min-height:85px}.score-slot .label{overflow-wrap:anywhere;hyphens:auto}.panel-heading,.header-tools{min-width:0}.daily-tag{text-align:end}.archive-count{margin-left:0;margin-inline-start:4px}
html[lang="ar"]{font-family:Tahoma,'Segoe UI',Arial,sans-serif}html[lang="ar"] .intro h1,html[lang="ar"] .form-title,html[lang="ar"] .result-title,html[lang="ar"] .dialog-header h2{font-family:Tahoma,'Segoe UI',Arial,sans-serif;font-weight:600;letter-spacing:0;line-height:1.5}html[lang="ar"] .eyebrow,html[lang="ar"] .score-slot .label,html[lang="ar"] .history h3,html[lang="ar"] .hint-label{letter-spacing:0}html[lang="ar"] .intro h1{font-size:39px}html[lang="ar"] .form-title{font-size:24px}html[lang="ar"] .brand{direction:ltr}html[lang="ar"] .brand strong{font-family:'DM Sans',Arial,sans-serif}
html[dir="rtl"] .map-stage,html[dir="rtl"] .raster,html[dir="rtl"] .compass{direction:ltr}html[dir="rtl"] .map-load,html[dir="rtl"] .map-notice{direction:rtl}html[dir="rtl"] .footer-right{margin-left:0;margin-inline-start:auto}html[dir="rtl"] .archive-toolbar button{transform:scaleX(-1)}html[dir="rtl"] .points,html[dir="rtl"] .share-preview{unicode-bidi:plaintext}html[dir="rtl"] .points{letter-spacing:0}
@media(max-width:1100px) and (min-width:761px){.header-tools{gap:10px}.header .modes button{padding:9px 12px}.header-help .help-label{display:none}.language-select{width:105px}}
@media(max-width:760px){.header{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,auto);height:auto;min-height:112px;gap:12px 10px;padding:18px 0 14px}.header-tools{display:contents}.header .brand{grid-column:1;grid-row:1}.header #statsBtn{grid-column:2;grid-row:1}.header #themeToggle{grid-column:3;grid-row:1}.header #helpBtn{grid-column:4;grid-row:1}.header .modes{grid-column:1/-1;grid-row:2;justify-self:start;max-width:calc(100% - 126px);min-width:0;margin:0}.header .modes button{padding:7px 9px;white-space:normal;overflow-wrap:anywhere;line-height:1.4;min-width:0}.header .language-select{grid-column:1/-1;grid-row:2;justify-self:end;width:115px;min-height:36px;font-size:12px}.archive-play{min-height:80px}.archive-result{font-size:10px}html[lang="ar"] .intro h1{font-size:32px}.panel-top{gap:10px}.difficulty-modes button{white-space:normal}.panel-heading{flex-shrink:1}.score-slot .label{font-size:8px}.suggestion small{max-width:50%}}
@media(max-width:370px){.header .modes{max-width:calc(100% - 112px)}.header .modes button{font-size:10px;padding:7px 6px}.header .language-select{width:103px}.panel{padding:18px}.score-slot{padding:9px 6px}}
html[lang="ar"] .score-slot .label,html[lang="ar"] .hint-label{font-size:10px}html[lang="ar"] .score-slot .mini,html[lang="ar"] .history-detail,html[lang="ar"] .map-footnote,html[lang="ar"] .hint-meta,html[lang="ar"] .hint-arrow{font-size:11px;line-height:1.7}html[lang="ar"] .archive-result{font-size:11px}
html[dir="rtl"] .points{direction:ltr;unicode-bidi:isolate;display:flex;align-items:baseline;justify-content:flex-end;gap:5px}
html[dir="rtl"] .guess-entry input:placeholder-shown{direction:rtl;text-align:right}html[dir="rtl"] .points{font-family:Arial,sans-serif}
dialog .dialog-header h2{min-width:0;overflow-wrap:anywhere;hyphens:auto}.stat-label,.stat-card small{max-width:100%;overflow-wrap:anywhere;hyphens:auto}dialog select{min-width:0;max-width:100%}
