:root{color-scheme:light;--paper:#FCFFFF;--ink:#142C3C;--muted:#425E70;--line:#CEE2EB;--green:#00648D;--green-dark:#07364D;--lime:#F9D5EA;--white:#FCFFFF;--sea:#A4DAEE;--pin:#00648D;--fail:#94315F;--shadow:0 6px 20px #06446214;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}button,select{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,a:focus-visible,svg:focus-visible,[tabindex]:focus-visible{outline:2px solid #A81D6D;outline-offset:3px}a{color:inherit}.shell{width:min(calc(100% - 70px),1320px);margin-inline:auto}.top{border-bottom:1px solid var(--line);background:#FCFFFF}.top-inner{height:65px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;letter-spacing:.15em;font-size:.78rem;font-weight:700}.brand-icon{display:grid;place-items:center;width:31px;aspect-ratio:1;border-radius:50%;background:#D83995;color:#130C16;font-size:1.24rem;letter-spacing:0}.icon-text{border:0;background:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--green);font-size:.82rem;font-weight:700;white-space:nowrap;padding:7px 4px}.icon-text>span:first-child{display:grid;place-items:center;font-size:1rem;min-width:19px;height:19px;border-radius:50%;border:1px solid #A3CEDF;line-height:1}.icon-text:hover{text-decoration:underline}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:32px 0 23px}.intro h1{font-family:inherit;font-weight:700;letter-spacing:-.053em;font-size:clamp(2.8rem,6vw,5.4rem);line-height:.98;margin:0 0 10px}.intro p{color:var(--muted);font-size:1rem;margin:0;font-weight:500}.geographies{display:flex;gap:3px;background:#E9F6FB;border:1px solid var(--line);border-radius:11px;padding:4px;align-items:center}.geographies button{border:0;border-radius:7px;padding:10px 17px;background:transparent;font-weight:700;font-size:.85rem;color:var(--muted)}.geographies button[aria-pressed="true"]{background:#0593C6;color:#081F31;box-shadow:0 2px 4px #07364D24}.geographies button:hover:not([aria-pressed="true"]){background:#D8F0F9}.settings{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0 12px;border-top:1px solid var(--line)}#modes,.options{display:flex;align-items:center;gap:8px}#modes button{border:1px solid transparent;background:transparent;border-radius:7px;padding:8px 13px;color:var(--muted);font-weight:700;font-size:.84rem}#modes button:hover{background:#E9F6FB}#modes button[aria-pressed="true"]{background:var(--lime);border-color:#E9A8CE;color:var(--green-dark)}select{font-size:.8rem;font-weight:700;border:1px solid #B8D8E6;border-radius:7px;padding:7px 8px;background:var(--white);color:var(--green)}.options{gap:16px}.board{display:grid;grid-template-columns:minmax(0,1fr) minmax(244px,265px);gap:16px;padding-bottom:26px;align-items:stretch}.map-card,.side{border:1px solid var(--line);border-radius:14px;background:var(--white);box-shadow:var(--shadow);min-width:0}.map-card{overflow:hidden;display:flex;flex-direction:column}.map-top,.map-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 13px;background:#FCFFFF}.map-label{font-size:.65rem;letter-spacing:.12em;color:var(--green);font-weight:700;display:flex;align-items:center;gap:8px;white-space:nowrap}.green-dot{width:7px;height:7px;border-radius:50%;background:#D83995}.zoom{display:flex;gap:3px}.zoom button{min-width:34px;min-height:32px;border:1px solid #CBDDE8;background:#F2FAFC;border-radius:6px;color:var(--green);font-size:1.17rem;line-height:1}.zoom button:hover:not(:disabled){background:var(--lime)}.zoom button:disabled{opacity:.38;cursor:default}#viewport{position:relative;background:var(--sea);border-block:1px solid #8CC6DD;overflow:hidden}#map{display:block;width:100%;height:auto;aspect-ratio:3/2;user-select:none;touch-action:pan-y;overflow:hidden}#map.is-zoomed{touch-action:none;cursor:grab}#map.panning{cursor:grabbing}#map.is-active{cursor:crosshair}#map .target{cursor:pointer}#map .target:hover,#map .target:focus-visible{fill:#D3EEF8;stroke:#286B89;stroke-width:1.3;outline:none}#map .pin:focus-visible{outline:none}#map .pin:hover .pin-dot,#map .pin:focus-visible .pin-dot{fill:#D83995;stroke:#713251}#map .correct{fill:#8BD7F1;stroke:#00648D;stroke-width:1.35;vector-effect:non-scaling-stroke}#map .wrong{fill:#F0A3CA;stroke:#A42970;stroke-width:1.5;vector-effect:non-scaling-stroke}#map .hint-zone{fill:#F4ABD4;stroke:#8D145B;stroke-width:2;vector-effect:non-scaling-stroke}#map .pin-check{fill:none;stroke:white;stroke-linecap:round;stroke-linejoin:round}.map-bottom{color:var(--muted);font-size:.68rem;min-height:37px}.map-bottom a{text-underline-offset:2px;white-space:nowrap}.side{display:flex;flex-direction:column;position:relative;padding:17px;min-height:0}.side-heading{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:9px}.side h2{font-family:inherit;font-weight:700;font-size:1.7rem;line-height:1;margin:0}#progress-count{font-size:.77rem;background:#DDF4FC;border-radius:20px;padding:4px 8px;color:var(--green);font-weight:700;white-space:nowrap}.track{height:6px;border-radius:5px;background:#DCECF3;overflow:hidden}.track div{height:100%;background:#0593C6;width:0;transition:width .2s}#feedback{font-size:.78rem;min-height:42px;padding:12px 0 7px;color:var(--muted);line-height:1.35;font-weight:500}#feedback[data-kind="good"]{color:#00648D}#feedback[data-kind="bad"]{color:var(--fail)}#feedback[data-kind="hint"]{color:#8D145B}#labels{display:grid;gap:6px;align-content:start;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;min-height:100px;max-height:clamp(230px,36vw,540px);padding:2px 3px 5px 2px}.label{touch-action:none;text-align:left;display:flex;align-items:center;gap:9px;border:1px solid #CBDDE8;border-radius:7px;background:#F5FBFE;padding:7px 9px;min-height:35px;color:var(--ink);font-size:.84rem;font-weight:700;line-height:1.2;cursor:grab;user-select:none}.label:hover{background:#E9F6FB}.label[aria-pressed="true"]{background:var(--lime);border-color:#D83995}.label .grip{color:#4E7689;font-size:.87rem;line-height:1;letter-spacing:-2px}.side-footer{display:flex;justify-content:space-between;align-items:center;gap:6px;border-top:1px solid #E0EDF3;margin-top:auto;padding-top:8px;color:var(--muted);font-size:.71rem}.side-footer button:disabled{opacity:.4;cursor:default;text-decoration:none}.completion{padding:14px 1px;font-size:.89rem;line-height:1.55}.completion strong{font-family:inherit;font-size:1.6rem;font-weight:700;display:block}.primary{background:var(--green);color:white;border:0;border-radius:7px;padding:9px 14px;font-weight:700}.completion button{margin-top:10px}.close{float:right;border:0;background:#DFEFF6;border-radius:50%;height:32px;width:32px;font-size:1.35rem}dialog{width:min(calc(100% - 30px),480px);border:1px solid var(--line);padding:23px;border-radius:15px;background:var(--white);color:var(--ink);box-shadow:0 20px 100px #0E35545E}dialog::backdrop{background:#0E355465}dialog h2{font-family:inherit;font-weight:400;font-size:2.6rem;margin:0}dialog p,dialog li{line-height:1.5;font-size:.92rem}dialog ol{padding-left:23px}dialog li{margin-bottom:7px}#drag-ghost{position:fixed;pointer-events:none;z-index:5;background:var(--lime);color:var(--green-dark);padding:9px 12px;border:1px solid #D83995;border-radius:7px;box-shadow:0 5px 14px #153F5950;font-weight:700;font-size:.84rem;max-width:200px}.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}
@media(max-width:900px){.shell{width:calc(100% - 36px)}.board{grid-template-columns:minmax(0,1fr) minmax(200px,220px);gap:10px}.side{padding:12px}.map-bottom{align-items:start}.map-bottom span{max-width:65%}}
@media(max-width:670px){.shell{width:calc(100% - 22px)}.top-inner{height:49px}.intro{padding:17px 0 10px;display:grid;gap:10px}.intro h1{font-size:clamp(2.4rem,9.8vw,3.4rem);margin-bottom:5px}.intro p{font-size:.84rem}.geographies{width:max-content}.geographies button{padding:7px 13px}.settings{padding:5px 0 7px;flex-wrap:wrap;gap:4px}.options{gap:6px}select{max-width:139px;padding:5px 4px;font-size:.72rem}.restart-text{display:none}#modes{gap:1px}#modes button{padding:6px 7px;font-size:.72rem}.board{display:flex;flex-direction:column;gap:8px}.map-top{padding:4px 8px}.map-label{font-size:.56rem}.zoom button{min-height:28px;min-width:31px}.map-bottom{padding:4px 8px;align-items:center;min-height:27px;font-size:.57rem}.side{padding:8px 10px;gap:0}.side-heading{margin-bottom:5px}.side h2{font-size:1.68rem}#feedback{padding:6px 0 4px;min-height:28px}#labels{grid-template-columns:repeat(2,minmax(0,1fr));max-height:164px;gap:4px;min-height:34px}.label{font-size:.77rem;padding:5px 6px;min-height:32px;gap:5px}.side-footer{margin-top:4px;padding-top:1px}.completion{grid-column:1/-1;padding:6px 0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(pointer:coarse){.label{touch-action:pan-y}}
.label .grip{touch-action:none}
@media(min-width:901px){.shell{max-width:1240px}.top-inner{height:56px}.intro{padding-top:23px;padding-bottom:19px}.intro h1{font-size:clamp(2.8rem,5.5vw,4.5rem)}}

@media(max-width:670px){.intro h1{font-size:clamp(2rem,8.7vw,3.1rem)}.side h2{font-size:1.38rem}}
