:root{color-scheme:dark;--navy:#081a2a;--panel:#102b40;--sea:#153f60;--cream:#f8e8c7;--gold:#e6ba74;--orange:#ed8738;--ink:#122d3c}*{box-sizing:border-box}body{margin:0;background:var(--navy);color:#f6e8cd;font-family:Georgia,'Times New Roman',serif}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ffd166;outline-offset:3px}.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}.brand-banner{min-height:88px;display:flex;align-items:center;gap:24px;padding:12px 28px;background:linear-gradient(100deg,#061625,#113c54 80%,#0a2539);border-bottom:2px solid #a67c47}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{font-size:45px;line-height:1;color:#eac783}.brand b{font-size:clamp(21px,2.3vw,34px);letter-spacing:.03em;line-height:1}.brand em{color:#efb869;font-style:normal}.brand small{display:block;font:700 10px system-ui;letter-spacing:.2em;margin-top:6px;color:#d9be91}.banner-note{margin-left:auto;color:#e1c392;font-style:italic}.menu-toggle{display:none}.shell{display:grid;grid-template-columns:200px minmax(820px,1000px) minmax(450px,1fr);gap:20px;max-width:2000px;padding:20px 24px;margin:auto;align-items:start}.left-nav{min-height:650px;padding:20px 10px;background:#0c283b;border:1px solid #365166;border-radius:12px}.nav-heading{margin:6px 10px 12px;font:700 10px system-ui;letter-spacing:.13em;color:#a9bdc6}.left-nav a,.left-nav button{width:100%;min-height:48px;padding:10px;display:flex;align-items:center;gap:13px;border:1px solid transparent;background:transparent;color:#f2e6cb;text-align:left;text-decoration:none;border-radius:7px;font-weight:bold}.left-nav a:hover,.left-nav button:not(:disabled):hover{background:#193b50}.left-nav button:disabled{opacity:.48}.left-nav .active{background:#bb5c23;border-color:#ecaf6b}.left-nav a>span:first-child,.left-nav button>span:first-child{width:24px;text-align:center;font:700 22px system-ui}.left-nav small{font:700 9px system-ui;color:#ffe0a6}.left-nav hr{border:0;border-top:1px solid #596465;margin:16px 8px}.nav-note{margin:58px 10px 0;color:#b99d70;line-height:1.5;font-style:italic}.nav-note span{display:block;font-size:35px}.game-column{min-width:0}.game-toolbar{min-height:48px;padding:0 12px 8px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #9f875e;font:700 13px system-ui;letter-spacing:.14em}.utilities{display:flex;gap:8px}.utilities button,.zoom button{min-height:44px;color:#f8e9c7;background:#0b2a3e;border:1px solid #ba9664;border-radius:7px;padding:8px 12px;font:600 13px system-ui}.preview-strip{display:flex;gap:10px;align-items:center;padding:10px 12px;font:12px system-ui;color:#d7d8c7}.preview-strip strong{color:#ffd18a;font-size:10px;letter-spacing:.12em}.game-frame{padding:10px;border:2px solid #c9a164;border-radius:14px;background:#0b304a;box-shadow:inset 0 0 0 3px #16415a}.status-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:50px;padding:7px 14px;background:#0d3954;border-radius:7px}.eyebrow,.paper-label{font:700 10px system-ui;letter-spacing:.14em;color:#c6af86}.status-bar strong{font-size:17px}.score strong{color:#ffca79}.score span:last-child{font-size:13px;color:#c8d3ce}.dot{display:inline-block;width:10px;height:10px;border:1px solid #dfc69b;border-radius:50%;margin:0 3px}.dot.done{background:#e88c3f}.dot.current{box-shadow:0 0 0 3px #bd7c3d}.question{display:flex;gap:15px;align-items:center;min-height:100px;padding:14px 20px;margin:10px 0;background:linear-gradient(115deg,#edd5a9,#fff1cf 60%,#e9c996);border:2px solid #dfbd81;border-radius:8px;color:var(--ink)}.question-icon{font-size:35px;color:#b87b38}.paper-label{color:#91643d}.question h1{margin:4px 0;font-size:clamp(19px,2vw,25px);line-height:1.2}.question p{margin:0;font-size:14px;font-style:italic}.map{position:relative;height:clamp(285px,30vw,405px);overflow:hidden;border:2px solid #cda76f;border-radius:9px;background:#174763}.map svg{width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}.map svg:active{cursor:grabbing}.country{fill:#e4d1a7;stroke:#967f60;stroke-width:.7;vector-effect:non-scaling-stroke;cursor:pointer}.country:hover{fill:#f6dfac}.country.selected{fill:#ffd166;stroke:#fef5d1;stroke-width:2}.country.unavailable{fill:#a4a8a1;cursor:not-allowed}.map-caption{position:absolute;bottom:10px;left:12px;padding:6px 8px;background:#08283dc9;border-radius:4px;font:700 10px system-ui;letter-spacing:.1em;pointer-events:none}.zoom{display:flex;gap:5px;position:absolute;top:10px;right:10px}.zoom button{min-width:40px;padding:5px;font-size:18px}.selection{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:12px;background:#092a40;border-radius:8px}.selected{display:flex;flex-direction:column;gap:4px;min-width:160px;flex:1}.selected strong{color:#f8ca80;font-size:15px}.search-wrap{position:relative;flex:1 1 180px}.search-wrap input{width:100%;min-height:44px;padding:9px 12px;border:1px solid #b99c6b;border-radius:6px;background:#f8edda;color:#122d3c;font:14px system-ui}.search-results{position:absolute;bottom:100%;z-index:5;width:100%;max-height:240px;overflow:auto;background:#fff3df;color:#102a3a;box-shadow:0 2px 15px #0018;border-radius:6px}.search-results button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #e4d5bb;background:transparent;color:#102a3a;padding:10px;font:14px system-ui}.search-results button:hover,.search-results button:focus{background:#e8d2a8}.primary,.secondary{min-height:44px;padding:10px 16px;border-radius:6px;font-weight:bold}.primary{color:white;background:#bc5b21;border:1px solid #ffc477;box-shadow:0 3px 0 #693014}.primary:disabled{opacity:.45}.secondary{background:#173f56;border:1px solid #c5a26f;color:#fff0d3}.text-button,.mode-bar button{background:none;border:0;color:#f4cf93;text-decoration:underline;min-height:44px}.message{margin:8px 12px;color:#d9e3df;font:13px/1.5 system-ui}.mode-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #416078;padding:3px 8px;color:#edcf9f;font:12px system-ui}.reveal{margin:8px;padding:16px;background:#f7e6c4;border-radius:8px;color:#183446}.reveal h2{margin:0 0 8px}.reveal p{line-height:1.5}.reveal ul{padding-left:22px;columns:2}.reveal li{margin-bottom:5px}.reveal .primary{margin-top:8px}.route{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 20px;margin-top:14px;border:1px solid #567084;border-radius:10px;background:#0c2b40}.route h2{font-size:20px;margin:3px 0}.route p{font-size:13px;margin:0;color:#c7cfca}.route-stops{display:flex;gap:7px;flex-wrap:wrap}.stop{min-width:35px;height:35px;display:grid;place-items:center;border:1px dashed #c7a978;border-radius:50%;color:#ebc18a;font-weight:bold}.stop.done{border-style:solid;background:#b7622e;color:white}footer{font:12px/1.6 system-ui;color:#a6bac1;padding:18px 4px 30px}footer div{display:flex;flex-wrap:wrap;gap:14px}footer a{color:#dfc499}.ad-rail{margin-left:130px;padding-top:32px;width:300px}.ad-label{font:700 10px system-ui;text-align:center;letter-spacing:.17em;color:#aab9b6;margin-bottom:8px}.ad-slot{width:300px;height:250px;border:1px dashed #768a8d;background:#0d2939;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;color:#a6b0a9;font:11px system-ui;letter-spacing:.14em}.ad-slot small{letter-spacing:0}.rail-stamp{text-align:center;margin-top:65px;color:#a9804b;font-size:65px;opacity:.7}.rail-stamp small{display:block;font:10px system-ui;letter-spacing:.2em}dialog{max-width:min(560px,calc(100% - 32px));padding:28px;border:2px solid #bd9561;border-radius:12px;background:#f7e7c7;color:#163446;box-shadow:0 20px 80px #0009}dialog::backdrop{background:#00121ddd}dialog h2{margin:6px 0 12px}dialog p{line-height:1.55}dialog .close{float:right;border:0;background:transparent;color:#17374a;font-size:28px}.mode-choices{display:flex;gap:10px;flex-wrap:wrap}.mode-choices button{flex:1;min-width:160px}.mode-choices small{display:block;font:12px system-ui;margin-top:5px}
@media(max-width:1699px){.shell{grid-template-columns:160px minmax(820px,1000px) minmax(450px,1fr);gap:16px;padding:16px}.ad-rail{margin-left:134px}}@media(max-width:1519px){.shell{grid-template-columns:72px minmax(0,960px);justify-content:center}.ad-rail{display:none}.left-nav{padding:12px 6px}.left-nav a,.left-nav button{justify-content:center}.left-nav a>span:nth-child(2),.left-nav button>span:nth-child(2),.nav-heading,.nav-note{display:none}}@media(max-width:767px){.brand-banner{min-height:67px;padding:8px 12px;gap:10px}.brand-mark{font-size:32px}.brand b{font-size:19px}.brand small{font-size:8px}.banner-note{display:none}.menu-toggle{display:block;color:#fff;background:#173a50;border:1px solid #aa8c62;border-radius:6px;min-width:44px;min-height:44px}.shell{display:block;padding:10px}.left-nav{display:none;position:absolute;z-index:10;top:67px;left:10px;width:min(280px,calc(100vw - 20px));min-height:0;box-shadow:0 10px 30px #000a}.left-nav.open{display:block}.left-nav a,.left-nav button{justify-content:flex-start}.left-nav a>span:nth-child(2),.left-nav button>span:nth-child(2),.nav-heading{display:block}.game-toolbar{padding-left:4px;font-size:11px;letter-spacing:.08em}.utilities button{padding:8px}.preview-strip{padding:8px 4px}.status-bar{padding:7px;font-size:13px}.status-bar strong{font-size:14px}.status-bar .eyebrow{display:none}.dot{margin:0 2px}.question{padding:12px;min-height:95px}.question-icon{display:none}.question h1{font-size:19px}.map{height:clamp(260px,44svh,400px)}.map-caption{font-size:9px}.selection{padding:10px;align-items:stretch}.selected{flex-basis:100%}.search-wrap{flex:1 1 100%}.search-results{position:fixed;bottom:0;left:0;right:0;width:100%;max-height:45svh;padding-bottom:env(safe-area-inset-bottom);border-radius:12px 12px 0 0}.selection .primary{flex:1}.mode-bar{align-items:flex-start}.route{align-items:flex-start;flex-direction:column}.reveal ul{columns:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
[hidden]{display:none!important}
#records-dialog{width:min(600px,calc(100% - 32px));max-height:min(85vh,800px);overflow:auto}#records-list{display:grid;gap:8px}.record-card{padding:12px;border:1px solid #c8ab7c;border-radius:7px;background:#fff4df}.record-card h3{font-size:16px;margin:0 0 6px}.record-card p{margin:4px 0;font:14px/1.5 system-ui}.record-actions{display:flex;gap:8px;flex-wrap:wrap}.record-actions button{flex:1 1 140px}.danger{min-height:44px;padding:10px 16px;border:1px solid #a13e2e;border-radius:6px;background:#8c382d;color:white;font-weight:bold}.record-help{font:12px/1.5 system-ui;color:#3f5260}#records-message,#share-message{min-height:1.4em;font:13px/1.4 system-ui}#share-dialog label{display:block;font:700 13px system-ui;margin-bottom:6px}#share-text{width:100%;padding:10px;margin-bottom:6px;resize:vertical;border:1px solid #bd9b69;border-radius:6px;background:#fffbf1;color:#102c3c;font:14px/1.5 system-ui}
