@import url('https://fonts.googleapis.com/css2?family=Golos+Text:wght@400;500;600;700&family=Literata:opsz,wght@7..72,400;7..72,500;7..72,600&display=swap');
:root{font-family:'Golos Text',Arial,sans-serif;color:#193e49;background:#f5f6f2;font-synthesis:none;--ink:#193e49;--muted:#637877;--accent:#b05e41;--border:#dae1da}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:transparent;border-radius:6px;padding:10px 13px}button:hover{background:#193e4910}button:focus-visible,a:focus-visible,svg [role=button]:focus-visible{outline:3px solid #c47544;outline-offset:4px}.primary{background:var(--ink);color:#fff;padding:13px 18px}.primary:hover{background:#2c5663}header{height:100px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);gap:20px}.brand{display:flex;gap:13px;align-items:center;color:inherit;text-decoration:none;font:500 25px 'Literata',Georgia,serif}.brand-icon{font-size:45px}.brand small{display:block;font:11px 'Golos Text',Arial,sans-serif;color:var(--muted);margin-top:5px}nav{display:flex;align-items:center;gap:17px;font-size:13px}main{display:grid;grid-template-columns:minmax(0,1fr) 360px;min-height:calc(100dvh - 100px)}.map-panel{position:relative;overflow:hidden;background:#a9c8cc;min-height:740px}#map{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.map-heading{position:absolute;z-index:1;top:35px;left:40px;pointer-events:none;max-width:80%;text-shadow:0 1px 10px #aecbcd}.edition{font-size:11px;background:#e4eeeaaf;padding:6px 10px;border:1px solid #d0e1dc;border-radius:4px}h1{font:500 clamp(30px,3.4vw,54px)/1.18 'Literata',Georgia,serif;margin:20px 0 10px;letter-spacing:-1.5px}.map-heading p{font-size:13px;margin:0}.map-tools{position:absolute;bottom:80px;left:30px;background:#f5f6f2;display:flex;align-items:center;box-shadow:0 3px 16px #284b4920;border-radius:7px;padding:3px}.map-tools button{font-size:22px;line-height:1}.map-tools span{font-size:11px;min-width:45px;text-align:center}.legend{position:absolute;bottom:0;left:0;right:0;display:flex;gap:24px;align-items:center;padding:21px 30px;background:#e4eeeaaf;font-size:10px}.legend span{display:flex;align-items:center;gap:8px}.legend span:last-child{margin-left:auto;color:#506a70}.dot{width:7px;height:7px;background:var(--ink);border-radius:50%}.line{width:22px;border-top:2px dashed #678c92}.compass{fill:none;stroke:#476e76;stroke-width:1;opacity:.65}.compass text{font:12px Georgia;fill:#365a61;stroke:none;text-anchor:middle}aside{background:#f5f6f2;border-left:1px solid #d2ddd7}.aside-top{display:flex;align-items:center;padding:18px 24px;border-bottom:1px solid var(--border);font-size:11px;gap:7px}.aside-top button{margin-left:auto;padding:5px 0;font-size:10px}.status-dot{width:6px;height:6px;border-radius:50%;background:#6b8970}.location{padding:29px 28px 20px}.location-meta{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted)}h2{font:500 32px/1.25 'Literata',Georgia,serif;margin:13px 0 15px;letter-spacing:-.7px}.location>p{font-size:12px;line-height:1.8;color:#536866;min-height:65px}dl{display:grid;grid-template-columns:1fr 1.3fr;gap:15px;margin:22px 0}dt{font-size:10px;color:var(--muted);margin-bottom:8px}dd{font-size:12px;margin:0}.encounter{padding:16px 17px;background:#e8ede4;border-left:2px solid #8b9d78;margin-bottom:20px}.encounter>span{font-size:10px;color:#667751}.encounter p{font:400 15px/1.65 'Literata',Georgia,serif;margin:8px 0 0}.wide{width:100%;font-size:12px}.location .hint,.hint{font-size:10px;line-height:1.65;color:var(--muted);min-height:0;margin:12px 0 0}.places{padding:0 28px 22px}h3{font-size:12px;font-weight:500;border-bottom:1px solid var(--border);padding-bottom:15px;margin:6px 0}h3 span{float:right;color:var(--muted)}.place{display:flex;align-items:center;width:100%;text-align:left;border-radius:0;padding:11px 4px;gap:12px;font-size:12px}.place small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.place .symbol{font-size:18px;width:24px;text-align:center;color:#6b8280}.place[aria-pressed=true]{color:var(--accent)}.place[aria-pressed=true] .symbol{color:var(--accent)}.place .arrow{margin-left:auto;font-size:15px}footer{border-top:1px solid var(--border);padding:20px 28px;color:var(--muted);font-size:10px;line-height:1.6}footer p{max-width:230px;margin:0 0 12px}footer button{display:block;margin:10px 0 0;padding:0;font-size:10px;text-decoration:underline;text-underline-offset:3px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#193e49;color:white;padding:12px 20px;border-radius:6px;font-size:12px;z-index:5;visibility:hidden;max-width:90vw}#toast.show{visibility:visible}dialog{max-width:480px;width:calc(100% - 32px);border:1px solid var(--border);border-radius:12px;padding:35px;color:var(--ink);background:#f5f6f2}dialog::backdrop{background:#14333d80}dialog p{font-size:13px;line-height:1.9}.close{float:right;font-size:24px}svg text{user-select:none}svg .pin{cursor:pointer}svg .pin circle{transition:r .15s}svg .pin:hover circle{r:9}svg .pin text{font:500 14px 'Literata',Georgia,serif;fill:#294d4d;paint-order:stroke;stroke:#e4e5cf;stroke-width:4px;stroke-linejoin:round}svg .sea-label{font:italic 19px 'Literata',Georgia,serif;fill:#547b83;letter-spacing:3px}svg .island-label{font:11px 'Golos Text',Arial,sans-serif;fill:#6e7f60;letter-spacing:2px}svg #selected-route{stroke:#a95839;stroke-width:3;stroke-dasharray:8 7;fill:none}svg .pin[aria-pressed=true] circle{fill:#b05e41;stroke:white;stroke-width:3}@media(min-width:1600px){main{grid-template-columns:minmax(0,1fr) 400px}.map-panel{min-height:850px}}@media(max-width:900px){header{padding:0 22px;height:85px}.brand{font-size:21px}nav{gap:5px}nav button{font-size:11px;padding:10px}main{grid-template-columns:minmax(0,1fr) 310px}.map-heading{left:25px;top:30px}h1{font-size:33px}.location,.places{padding-left:20px;padding-right:20px}.legend span:last-child{display:none}}@media(max-width:680px){header{height:auto;min-height:100px;flex-wrap:wrap;padding:17px 18px;gap:12px}.brand{font-size:21px}.brand-icon{font-size:34px}.brand small{font-size:9px}nav{width:100%;justify-content:space-between}main{display:flex;flex-direction:column}.map-panel{min-height:620px}#map{height:100%}.map-heading{top:25px;left:22px}h1{font-size:34px}.legend{padding:17px 20px}.map-tools{left:20px;bottom:65px}aside{border-left:0}.location{padding:25px}.places{padding:0 25px 25px}.location>p{min-height:0}.encounter{margin-top:22px}.place{padding:13px 5px}footer{padding:24px}footer p{max-width:none}h2{font-size:34px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
