:root{--night:#101a28;--deep:#172940;--ink:#e7edf5;--muted:#97a7bb;--line:#2d4058;--land:#304256;--partial:#6d93a3;--accent:#f3a55a;--paper:#f7f3ec;--orange-ink:#985b1c}*{box-sizing:border-box}body{min-height:100dvh;margin:0;background:var(--night);color:var(--ink);font:15px/1.5 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button{font:inherit;cursor:pointer}button:focus-visible,.country:focus-visible{outline:3px solid #ffe0b6;outline-offset:3px}.topbar{height:72px;display:flex;align-items:center;padding:0 26px;border-bottom:1px solid var(--line);background:#111e2e}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-size:18px;font-weight:760;letter-spacing:.2px}.brand small{display:block;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:2.5px}.mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid #57708b;border-radius:50%;color:var(--accent);font-size:20px}.quiet{margin-left:auto;padding:7px 11px;border:1px solid #40536a;border-radius:7px;background:transparent;color:#aebdcd;font-size:12px}.quiet:hover{border-color:#7d94ad;color:#fff}.app-shell{display:grid;grid-template-columns:minmax(0,1fr) 390px;height:calc(100dvh - 72px)}.map-stage{position:relative;min-width:0;overflow:hidden;background:radial-gradient(circle at 46% 42%,#203c57 0,#172b40 48%,#111c2b 100%)}#map{width:100%;height:100%;background-image:radial-gradient(#2b4057 1px,transparent 1px);background-size:28px 28px}.country{fill:var(--land);stroke:#60768c;stroke-width:.65;transition:fill .16s,stroke .16s}.country:hover,.country.selected{fill:#668097;stroke:#d9e6f1;stroke-width:1.15}.country.partial{fill:var(--partial);stroke:#b8d6e1}.country.visited{fill:var(--accent);stroke:#ffcca0}.country.visited:hover,.country.visited.selected{fill:#f8bd79;stroke:#fff1de}.country.partial:hover,.country.partial.selected{fill:#88b0bd;stroke:#ecfbff}.map-label{position:absolute;z-index:2;top:28px;left:32px}.eyebrow{margin:0;color:#93a5ba;font-size:10px;font-weight:800;letter-spacing:1.9px}.map-label h1{margin:5px 0 0;font:29px/1.04 Georgia,serif;letter-spacing:-.7px}.map-label h1 span{color:#f6b36e}.metrics{position:absolute;z-index:2;left:32px;bottom:30px;display:flex;gap:1px;overflow:hidden;border:1px solid #3c5067;border-radius:10px;background:#182940;box-shadow:0 14px 35px #050b1370}.metric{min-width:126px;padding:12px 15px;border-right:1px solid #3c5067}.metric:last-child{border:0}.metric strong{display:block;font-size:22px;line-height:1.1;color:#fff}.metric span{display:block;margin-top:3px;color:#9cadbf;font-size:11px}.map-tools{position:absolute;z-index:2;top:28px;right:28px;display:grid;gap:7px}.map-tools button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #40546b;border-radius:8px;background:#172940;color:#e8eef4;font-size:21px;line-height:1}.map-tools button:disabled{opacity:.38;cursor:not-allowed}.legend{position:absolute;z-index:2;right:28px;bottom:30px;display:flex;gap:14px;color:#aebdca;font-size:11px}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:12px;height:12px;border:1px solid #60768c;border-radius:3px;background:var(--land)}.legend .whole{border-color:#ffcca0;background:var(--accent)}.legend .partial{border-color:#b8d6e1;background:var(--partial)}.panel{overflow:auto;border-left:1px solid var(--line);background:var(--paper);color:#26384b}.panel .eyebrow{color:#718092}.detail,.visited{padding:28px;border-bottom:1px solid #e4ddd3}.detail h2,.visited h2{margin:7px 0 9px;color:#1d3042;font-size:18px;letter-spacing:-.25px}.detail .country-name{font:30px/1.06 Georgia,serif;letter-spacing:-.8px}.detail p:not(.eyebrow){margin:0;color:#657383;font-size:14px}.status{display:inline-block;margin-top:10px!important;padding:3px 7px;border-radius:99px;background:#edf0f2;color:#586978!important;font-size:11px!important;font-weight:700}.status.whole{background:#fff0dc;color:var(--orange-ink)!important}.status.partial{background:#e5f0f2;color:#416d79!important}.detail-copy{margin-top:11px!important}.country-action{width:100%;margin:18px 0 14px;padding:11px 13px;border:0;border-radius:8px;background:#233a54;color:#fff;font-size:13px;font-weight:750}.country-action:hover{background:#304d6c}.country-action.visited{border:1px solid #f3c58d;background:#fff2df;color:#9b591a}.subhead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:19px 0 9px}.subhead b,.subhead small{display:block}.subhead b{color:#32485e;font-size:12px}.subhead small{margin-top:2px;color:#7f8c9a;font-size:11px}.subhead span{color:#7f8c9a;font-size:11px}.places{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.place{display:flex;align-items:center;gap:7px;min-width:0;padding:8px;border:1px solid #e0d9cf;border-radius:6px;background:#fff;color:#536576;font-size:11px;cursor:pointer}.place input{flex:none;margin:0;accent-color:#d7822b}.place span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.place:has(input:checked){border-color:#efbd80;background:#fff4e5;color:#99591c}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:12px}.sectionhead h2{margin:2px 0 0}.sectionhead span{min-width:24px;padding:2px 8px;border-radius:99px;background:#e9e5de;color:#5f7080;text-align:center;font-size:11px}.visited{min-height:220px}.visit-group{border-bottom:1px solid #e8e1d8}.visit-group:last-child{border:0}.visit-row{display:flex;justify-content:space-between;gap:12px;width:100%;padding:11px 0;border:0;background:transparent;color:#32495e;text-align:left;font-size:13px}.visit-row:hover{color:#b6631d}.visit-row small{color:#8995a1}.visit-areas{display:flex;flex-wrap:wrap;gap:5px;padding:0 0 11px}.visit-area{padding:5px 7px;border:1px solid #eadbc9;border-radius:5px;background:#fff8ef;color:var(--orange-ink);font-size:11px;line-height:1.2;text-align:left}.visit-area:hover{border-color:#e8b36f;background:#fff0dc}.empty-list{margin:18px 0;color:#7a8794;font-size:13px}.panel footer{padding:22px 28px;color:#84909b;font-size:10px}@media(max-width:780px){.topbar{height:64px;padding:0 18px}.app-shell{display:flex;flex-direction:column;height:auto}.map-stage{height:52dvh;min-height:330px}.panel{border-left:0}.map-label{top:18px;left:20px}.map-label h1{font-size:23px}.map-tools{top:18px;right:18px}.metrics{left:18px;bottom:18px}.metric{min-width:108px;padding:9px 11px}.legend{display:none}.detail,.visited{padding:24px}.places{grid-template-columns:repeat(2,minmax(0,1fr))}}
