/* Pulau / an atlas to use, with room for the island. */
:root {
  --paper:#f8f6ef; --paper-soft:#fffdf8; --paper-deep:#eeede4; --paper-warm:#f1efe6;
  --ink:#243e38; --ink-dim:#64726b; --ink-faint:#758077; --jungle:#193e38;
  --teak:#9d533b; --teak-deep:#83462f; --line:#e0e1d6; --line-2:#cbd0c4;
  --serif:'Fraunces',Georgia,serif; --sans:'DM Sans',Arial,sans-serif; --mono:'DM Sans',Arial,sans-serif;
  --sidebar:324px; --header:76px; --footer:35px; --sea:#e7eee9;
}
* { box-sizing:border-box; }
html,body { margin:0; height:100%; overflow:hidden; color:var(--ink); background:var(--paper); font-family:var(--sans); -webkit-font-smoothing:antialiased; }
body::before,body::after { display:none; }
button,input,select { font:inherit; color:inherit; }
button { cursor:pointer; }
a { color:inherit; }
button,a,input,select,summary { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline:2px solid #9d533b; outline-offset:3px; }
button:disabled { opacity:.4; cursor:default; }
button svg { width:17px; height:17px; stroke:currentColor; fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex:none; }
button { transition:background .16s,color .16s; }
button:hover { filter:none; }
[hidden] { display:none!important; }
.skip-link { position:fixed; left:20px; top:-60px; z-index:100; background:var(--jungle); color:white; padding:12px; }
.skip-link:focus { top:12px; }
.app-header { height:var(--header); position:fixed; inset:0 0 auto; z-index:45; display:flex; align-items:center; padding:0 27px; border-bottom:1px solid var(--line); background:var(--paper); gap:40px; }
.brand { text-decoration:none; display:flex; align-items:center; gap:12px; min-width:257px; font:29px var(--serif); letter-spacing:-.8px; }
.brand-icon { width:36px; height:40px; border-radius:18px 18px 3px 3px; display:grid; place-items:center; background:var(--jungle); color:#f9f6eb; font:italic 32px/.8 var(--serif); padding-bottom:7px; }
.brand-descriptor { display:block; font:8px var(--sans); letter-spacing:2.15px; margin-top:4px; color:var(--ink-dim); }
.header-nav { display:flex; align-items:stretch; align-self:stretch; gap:30px; font-size:12px; }
.header-nav>a,.current-page { display:flex; gap:8px; align-items:center; text-decoration:none; color:var(--ink-dim); position:relative; }
.current-page { color:var(--jungle); font-weight:600; }
.current-page::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--jungle); }
.header-nav>a:hover { color:var(--teak); }
.header-actions { margin-left:auto; display:flex; align-items:center; gap:20px; }
.quiet-button,.outline-button { display:flex; align-items:center; justify-content:center; gap:8px; font-size:11px; white-space:nowrap; }
.quiet-button { border:0; background:transparent; padding:10px 0; color:var(--ink-dim); }
.outline-button { border:1px solid var(--line-2); background:transparent; padding:10px 14px; border-radius:6px; }
.outline-button:hover { background:var(--paper-deep); }
.info-icon { border:1px solid currentColor; border-radius:50%; width:15px; height:15px; flex:none; display:inline-grid; place-items:center; font:11px Georgia,serif; }
.eyebrow { font:600 9px var(--sans); letter-spacing:1.8px; }
.explorer { position:fixed; inset:var(--header) auto var(--footer) 0; width:var(--sidebar); display:flex; flex-direction:column; z-index:25; background:var(--paper); border-right:1px solid var(--line-2); transition:transform .22s; }
.explorer-intro { padding:28px 26px 21px; background:var(--jungle); color:#f8f4e8; }
.explorer-intro .eyebrow { color:#b6c8b4; }
.explorer-intro h1 { font:400 31px/1.18 var(--serif); letter-spacing:-1px; margin:12px 0 12px; }
.explorer-intro h1 em { color:#d5d6b7; font-weight:400; }
.explorer-intro p { font-size:12px; color:#cfdbd1; line-height:1.65; }
.coverage { display:flex; align-items:center; gap:8px; margin-top:19px; font-size:10px; color:#dce5d6; }
.status-dot { display:inline-block; width:5px; height:5px; border-radius:50%; background:#7d9873; flex:none; }
.coverage .status-dot { background:#c2d1a7; }
.coverage-divider { color:#80968a; margin:0 1px; }
.tool-tabs { display:grid; grid-template-columns:1fr 1fr; padding:0 15px; flex:none; border-bottom:1px solid var(--line); }
.tool-tabs button { background:none; border:0; border-bottom:2px solid transparent; display:flex; align-items:center; justify-content:center; gap:7px; padding:18px 0 16px; color:var(--ink-dim); font-size:11px; white-space:nowrap; }
.tool-tabs button[aria-selected=true] { border-bottom-color:var(--jungle); color:var(--jungle); font-weight:600; }
.tool-tabs button:hover { background:#e9ece350; }
.tool-tabs button svg { width:15px; height:15px; }
.explorer-scroll { padding:22px 22px 10px; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#c5cbbb transparent; }
.field-label { display:block; font-size:9px; font-weight:600; letter-spacing:1.1px; margin-bottom:9px; color:var(--ink-dim); }
.jumpnav { position:static; display:block; padding:0; border:0; background:none; box-shadow:none; width:100%; transform:none; }
.jumpnav select { width:100%; max-width:none; appearance:auto; height:42px; border:1px solid var(--line-2); border-radius:5px; background:var(--paper-soft); font-size:12px; padding:0 12px; letter-spacing:0; text-transform:none; box-shadow:none; }
.section-heading { display:flex; align-items:center; justify-content:space-between; margin:24px 0 13px; }
.section-heading h2 { font:500 16px var(--serif); letter-spacing:-.25px; }
.text-button { border:0; background:none; padding:4px 0; font-size:10px; color:var(--teak); }
.text-button:hover { text-decoration:underline; }
.filter-pills { display:flex; gap:5px; }
.filter-pills button { flex:1; background:transparent; border:1px solid var(--line-2); border-radius:5px; padding:7px 4px; font-size:10px; color:var(--ink-dim); }
.filter-pills button[aria-pressed=true] { background:var(--jungle); border-color:var(--jungle); color:#fffdf5; }
.filter-pills button:hover:not([aria-pressed=true]) { background:var(--paper-deep); }
.legend { position:static; width:auto; background:none; border:0; border-radius:0; padding:0; box-shadow:none; backdrop-filter:none; }
.legend-meta { display:flex; justify-content:space-between; margin:17px 0 6px; color:var(--ink-dim); font-size:9px; }
.legend-meta>span:last-child { font-size:7px; letter-spacing:1px; }
#legendRows { max-height:none; overflow:visible; }
.lrow { display:grid; grid-template-columns:12px 30px 1fr 16px 15px; gap:9px; align-items:center; border-bottom:1px solid #e2e3d7; border-radius:0; padding:11px 0; cursor:pointer; transition:background .15s; }
.lrow:hover { background:#e7ecdf80; }
.lrow svg { grid-column:1; grid-row:1; width:12px; height:12px; border:1px solid #243e3828; border-radius:3px; }
.lrow .code { grid-column:2; grid-row:1; min-width:0; font:500 9px var(--sans); color:#627368; }
.lrow .nm { grid-column:3; grid-row:1; font:400 11px/1.4 var(--sans); color:var(--ink); }
.lrow .ct { grid-column:4; grid-row:1; font:10px var(--sans); color:var(--ink-dim); text-align:right; }
.lrow input { grid-column:5; grid-row:1; width:14px; height:14px; margin:0; accent-color:var(--jungle); }
.lrow:has(input:not(:checked)) .nm,.lrow:has(input:not(:checked)) svg { opacity:.48; }
.legend__note { border:0; font:10px/1.6 var(--sans); color:var(--ink-dim); margin:10px 0; padding:0; }
.explorer-footer { border-top:1px solid var(--line); display:flex; gap:11px; padding:13px 23px; background:#f2f1e8; margin-top:auto; flex:none; }
.footer-mark { font:24px var(--serif); color:#7c8c7b; }
.explorer-footer strong { font-size:10px; font-weight:500; }
.explorer-footer p { display:none; }
.explorer-footer .text-button { display:block; font-size:10px; margin-top:3px; }
.stage { position:fixed; inset:var(--header) 0 var(--footer) var(--sidebar); padding:100px 24px 95px; z-index:1; background:var(--sea); transition:left .22s; }
.sheet { position:absolute; inset:0; width:100%; height:100%; }
.map-title { position:absolute; top:28px; left:34px; pointer-events:none; z-index:3; }
.map-title .eyebrow { font-size:8px; letter-spacing:1.6px; color:#738777; }
.map-title h2 { font:400 53px/.95 var(--serif); letter-spacing:-2px; margin:12px 0 10px; color:var(--jungle); }
.map-title-dot { color:#a4764a; }
.map-title p { font-size:7px; letter-spacing:2.1px; color:var(--ink-dim); }
.map-top-right { position:absolute; right:29px; top:28px; display:flex; align-items:flex-end; flex-direction:column; gap:12px; z-index:5; }
.plan-badge { display:flex; align-items:center; gap:7px; color:#5d7166; font-size:10px; }
.map-settings-button { display:flex; align-items:center; gap:7px; background:#f8faf2b3; padding:8px 10px; border:1px solid #cad5c9; border-radius:5px; font-size:10px; }
.map-settings-button:hover,.map-settings-button[aria-expanded=true] { background:var(--paper-soft); }
.settings-panel { position:absolute; right:29px; top:106px; padding:19px; width:245px; background:var(--paper-soft); border:1px solid var(--line-2); box-shadow:0 8px 24px #25433616; border-radius:8px; z-index:10; }
.settings-panel h3 { font:400 20px var(--serif); margin-bottom:17px; }
.settings-panel label { font-size:11px; display:flex; justify-content:space-between; align-items:center; }
.settings-panel output { color:var(--ink-dim); }
.settings-panel input[type=range] { width:100%; margin:16px 0; accent-color:var(--jungle); }
.switch-row { padding:11px 0; border-top:1px solid var(--line); }
.switch-row input { accent-color:var(--jungle); width:16px; height:16px; }
.collapse-explorer { position:absolute; left:0; top:50%; width:20px; height:44px; display:grid; place-items:center; padding:0; border:1px solid var(--line-2); border-left:0; border-radius:0 5px 5px 0; background:var(--paper); color:var(--ink-dim); }
.map-context { position:absolute; bottom:26px; left:34px; display:flex; flex-direction:column; gap:6px; pointer-events:none; z-index:3; background:#e7eee9d9; padding:8px 12px; margin:-8px -12px; border-radius:4px; }
.map-context-title { font:400 18px var(--serif); }
.map-context-desc { font-size:10px; color:var(--ink-dim); }
.map-controls { position:absolute; right:29px; bottom:26px; display:flex; align-items:center; flex-direction:column; gap:8px; }
.zoomctl { position:static; display:flex; flex-direction:column; padding:3px; border:1px solid #c3cfc1; border-radius:7px; background:var(--paper-soft); box-shadow:0 4px 15px #2f45370c; gap:0; }
.zbtn { height:36px; width:36px; background:none; border:0; border-radius:3px; box-shadow:none; display:grid; place-items:center; padding:0; font:20px var(--sans); color:var(--ink); }
.zbtn+.zbtn { border-top:1px solid #e4e7dc; }
.zbtn:hover { background:#e8eee2; }
.zbtn.on { background:var(--jungle); color:white; }
#zoomReadout { font-size:9px; color:var(--ink-dim); }
.north-mark { position:absolute; right:37px; top:141px; color:#5f786a; display:flex; flex-direction:column; align-items:center; gap:6px; pointer-events:none; }
.north-mark>span { font-size:9px; }
.north-mark svg { width:21px; height:31px; }
.ocean-label,.sea-label { position:absolute; font:italic 13px var(--serif); color:#859b8c; letter-spacing:3px; pointer-events:none; }
.ocean-label { bottom:24%; left:18%; transform:rotate(-8deg); }
.sea-label { right:23%; top:12%; font-size:10px; letter-spacing:2px; }
.stage:has(.sheet:not([data-overview])) .ocean-label,.stage:has(.sheet:not([data-overview])) .sea-label { display:none; }
.parcel { stroke:#3a534955; stroke-width:.45; }
.parcel.pend { fill-opacity:1; stroke-dasharray:none; }
.sheet[data-zl=far] .parcel { stroke:#38503d45; stroke-width:.28; }
.parcel.sel { stroke:#6f442b; stroke-width:1.5!important; filter:brightness(1.05) saturate(1.15); }
#parcels { opacity:.85; }
#basemap path { fill:#faf9e9; stroke:#819783; stroke-width:.8; vector-effect:non-scaling-stroke; }
.bm-labels { pointer-events:none; }
.bm-labels text { font-family:var(--sans); font-weight:600; text-anchor:middle; letter-spacing:.08em; fill:#355040; paint-order:stroke; stroke:#fffef0b3; stroke-width:3px; vector-effect:non-scaling-stroke; }
.grid { display:none; }
.grid line { stroke:#4b745c; opacity:.11; }
.grid text { fill:#6e8a77; opacity:.8; }
.parcel-labels text { font-family:var(--sans); }
.map-hint { position:absolute; left:50%; top:20px; transform:translateX(-50%); padding:10px 13px; background:var(--jungle); color:#f9f7ed; border-radius:6px; font-size:11px; z-index:12; display:flex; align-items:center; gap:14px; white-space:nowrap; }
.map-hint button { border:0; border-bottom:1px solid #b6c8ad; background:none; color:inherit; padding:3px 0; font-size:10px; }
.all-hidden { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); padding:22px; border:1px solid var(--line-2); border-radius:8px; background:var(--paper-soft); box-shadow:0 10px 35px #27433216; text-align:center; width:275px; }
.all-hidden strong { font:400 20px var(--serif); }
.all-hidden span { display:block; font-size:12px; color:var(--ink-dim); margin:10px 0 16px; }
.all-hidden button { background:var(--jungle); border:0; color:white; padding:10px 15px; border-radius:5px; font-size:11px; }
.locator { position:static; width:auto; padding:0; border:0; background:none; box-shadow:none; backdrop-filter:none; }
.locator__title { display:block; }
.locator__title b { font:400 24px var(--serif); letter-spacing:-.7px; color:var(--ink); text-transform:none; }
.locator__title span { display:block; font:12px/1.7 var(--sans); margin-top:10px; color:var(--ink-dim); }
.locator__modebar { display:grid; grid-template-columns:1fr 1fr; gap:3px; padding:3px; margin:22px 0; border:1px solid var(--line); border-radius:5px; background:#eaece1; }
.locator__mode { font:11px var(--sans); letter-spacing:0; text-transform:none; padding:10px 5px; border:0; border-radius:3px; background:none; color:var(--ink-dim); }
.locator__mode.on { color:var(--jungle); background:var(--paper-soft); box-shadow:0 1px 3px #283e2c10; }
.locator__form { display:block; }
.locator__form .field-label { font-size:8px; }
.locator__form input { width:100%; height:45px; font:12px var(--sans); border:1px solid var(--line-2); padding:0 12px; border-radius:5px; background:var(--paper-soft); }
.locator__form>button { width:100%; border:0; border-radius:5px; padding:13px 14px; margin-top:10px; background:var(--teak); color:#fffdf5; font:500 12px var(--sans); letter-spacing:0; text-transform:none; display:flex; justify-content:space-between; }
.locator__form>button:hover { background:var(--teak-deep); }
.locator__actions { display:flex; justify-content:space-between; gap:10px; margin-top:13px; }
.locator__actions button { border:0; background:none; padding:7px 0; font:11px var(--sans); text-transform:none; letter-spacing:0; color:var(--ink-dim); }
.locator__actions button:hover { color:var(--teak); }
.locator__status { margin:17px 0 0; max-height:none; overflow:visible; font:12px/1.7 var(--sans); }
.locmsg { padding:12px; background:#eeede2; border-radius:5px; }
.locsummary { padding:15px; background:#eaf0e0; border:1px solid #ccd7bd; border-radius:7px; display:flex; align-items:flex-start; flex-wrap:wrap; gap:9px; }
.locsummary__sw { width:11px; height:11px; margin-top:3px; flex:none; border-radius:3px; }
.locsummary>div { flex:1; min-width:150px; }
.locsummary__k { font:8px var(--sans); letter-spacing:1px; text-transform:uppercase; color:var(--ink-dim); }
.locsummary__name { display:block; font:400 21px/1.25 var(--serif); margin:7px 0; color:var(--ink); }
.locsummary__meta { display:block; font:10px/1.8 var(--sans); color:var(--ink-dim); }
.locsummary__open,.locator__status .locresult { font:11px var(--sans); text-transform:none; letter-spacing:0; color:var(--jungle); border:1px solid var(--line-2); background:var(--paper-soft); border-radius:4px; padding:8px 12px; }
.locsummary__open { width:100%; margin-top:4px; }
.locator__status .locresult { width:100%; margin-top:5px; text-align:left; line-height:1.6; }
.location-help { display:flex; align-items:flex-start; gap:9px; color:var(--ink-dim); margin-top:25px; padding-top:20px; border-top:1px solid var(--line); }
.location-help p { font:11px/1.7 var(--sans); }
.location-help .info-icon { margin-top:2px; }
.locator__credit { font:9px/1.8 var(--sans); color:var(--ink-dim); margin-top:18px; border:0; }
.locator__credit a { color:var(--ink-dim); }
.loc-marker { fill:var(--teak); stroke:#fffaf0; }
.loc-halo { fill:#9d533b18; stroke:#9d533b30; }
.loc-dot { fill:#fffaf0; }
.dossier { top:calc(var(--header) + 20px); right:20px; width:342px; max-height:calc(100dvh - var(--header) - var(--footer) - 40px); border:1px solid var(--line-2); background:var(--paper-soft); padding:25px; box-shadow:0 16px 60px #1f3f3126; border-radius:9px; z-index:35; }
.dossier__close { padding:8px; top:8px; right:9px; font:9px var(--sans); color:var(--ink-dim); letter-spacing:1px; }
.dossier__id { margin-top:19px; font:9px/1.65 var(--sans); letter-spacing:1px; color:var(--ink-dim); }
.dossier__name { font:400 27px/1.2 var(--serif); letter-spacing:-.6px; }
.dossier__zone { margin:14px 0 8px; }
.dossier__local { font:11px/1.65 var(--sans); }
.dossier__note,.dossier__pit { font:12px/1.7 var(--sans); }
.dossier__verdict { margin:16px 0; font:11px/1.75 var(--sans); }
.dossier__flag { font:10px/1.75 var(--sans); border:1px solid var(--line-2); background:#f2f1e4; margin-top:16px; padding:12px; }
.dossier__coords { font:11px/1.8 var(--sans); }
.dossier__copy { font:10px var(--sans); padding:6px 0; border:0; border-bottom:1px solid var(--line); color:var(--teak); background:none; }
.dossier__matches { font:11px/1.7 var(--sans); margin-top:15px; }
.dossier__rules details { font:11px/1.75 var(--sans); padding:9px 0; }
.dossier__rules summary { font:10px/1.6 var(--sans); letter-spacing:0; }
.dossier__rules>b,.dossier__prov>b,.dossier__pit>b { font:600 8px var(--sans); letter-spacing:1px; margin:12px 0 7px; }
.dossier__prov { font:10px/1.9 var(--sans); }
.dstat { border:0; background:#eff1e7; }
.dstat b { font-size:11px; }
.dstat span { font-size:7px; letter-spacing:0; }
.hoverchip { z-index:50; font:11px var(--sans); background:var(--paper-soft); padding:10px 13px; border:1px solid var(--line-2); border-radius:6px; max-width:290px; }
.measurebox { left:calc(var(--sidebar) + (100% - var(--sidebar))/2); bottom:calc(var(--footer) + 25px); z-index:32; background:var(--paper-soft); border:1px solid var(--line-2); padding:14px 18px; border-radius:7px; font:12px/1.6 var(--sans); box-shadow:0 5px 25px #294a2e1a; }
.measurebox .hint { font:9px/1.6 var(--sans); }
.measure-actions { display:flex; justify-content:center; gap:7px; margin-top:10px; }
.measure-actions button { background:#f1f2e9; border:1px solid var(--line-2); padding:6px 10px; border-radius:4px; font-size:10px; }
.measure-actions button:last-child { background:var(--jungle); color:white; border-color:var(--jungle); }
.status { position:fixed; inset:auto 0 0; transform:none; height:var(--footer); border:0; border-top:1px solid var(--line); border-radius:0; background:var(--paper); display:flex; justify-content:space-between; gap:15px; padding:0 22px; z-index:40; box-shadow:none; font:8px var(--sans); color:var(--ink-dim); }
.status-source,.status-map { display:flex; gap:10px; align-items:center; }
.status-source { letter-spacing:.5px; }
.status-divider { color:var(--line-2); }
.status .net,#netStat { font-size:9px; letter-spacing:0; }
.status-map { gap:25px; margin-left:auto; }
.status-map #cursorPos { font-size:9px; }
.status-end { padding-left:17px; border-left:1px solid var(--line-2); font-size:8px; letter-spacing:.5px; }
.scalebar { display:flex; align-items:center; gap:8px; }
.scalebar .bar { background:#56715e; height:2px; }
.scalebar .bar:before,.scalebar .bar:after { border-color:#56715e; height:6px; }
.scalebar .lab { font-size:8px; }
.toast { position:fixed; left:50%; bottom:calc(var(--footer) + 20px); transform:translateX(-50%); opacity:0; pointer-events:none; background:var(--jungle); color:#fffdf3; padding:12px 18px; border-radius:6px; max-width:90vw; width:max-content; font-size:12px; z-index:75; box-shadow:0 5px 30px #203c3126; transition:opacity .15s; }
.toast.on { opacity:1; }
.source-dialog { padding:35px; margin:auto; background:var(--paper-soft); border:1px solid var(--line-2); border-radius:10px; width:475px; max-width:calc(100vw - 28px); max-height:calc(100dvh - 50px); overflow-y:auto; color:var(--ink); }
.source-dialog::backdrop { background:#1d382a60; backdrop-filter:blur(4px); }
.source-dialog .eyebrow { color:var(--teak); margin-bottom:17px; }
.source-dialog h2 { font:400 32px/1.2 var(--serif); letter-spacing:-1px; margin-bottom:17px; }
.source-dialog p { font:12px/1.9 var(--sans); color:var(--ink-dim); margin:13px 0; }
.dialog-close { position:absolute; top:10px; right:12px; font:24px var(--sans); border:0; background:none; padding:5px; color:var(--ink-dim); }
.source-dialog dl { margin:21px 0; }
.source-dialog dl>div { display:flex; justify-content:space-between; gap:10px; border-bottom:1px solid var(--line); padding:11px 0; font-size:10px; }
.source-dialog dt { color:var(--ink-dim); }
.source-dialog dd { margin:0; text-align:right; }
.source-links { display:flex; flex-direction:column; gap:12px; margin:23px 0; font-size:11px; }
.keyboard-guide { display:flex; flex-wrap:wrap; gap:12px; padding-top:18px; border-top:1px solid var(--line); font-size:10px; color:var(--ink-dim); }
.keyboard-guide>b { width:100%; font-size:10px; color:var(--ink); }
kbd { border:1px solid var(--line-2); border-radius:3px; padding:2px 5px; font:10px var(--sans); margin-right:3px; }
.mobile-tools { display:none; }
.map-only .explorer { transform:translateX(-100%); }
.map-only .stage { left:0; }
.map-only .collapse-explorer svg { transform:rotate(180deg); }
.map-only .measurebox { left:50%; }
.legend,.status,.zoomctl,.jumpnav,svg.sheet { animation:none; }
.hidden-result-note { margin-top:12px; font-size:11px; line-height:1.7; }
.hidden-result-note button { border:0; border-bottom:1px solid var(--line-2); background:none; color:var(--teak); font-size:11px; }
@media(min-width:1600px) { :root { --sidebar:350px; }.explorer-intro { padding:35px 29px 27px; }.explorer-intro h1 { font-size:36px; }.explorer-scroll { padding:26px; }.lrow { padding:13px 0; }.map-title { top:36px; left:42px; }.map-title h2 { font-size:65px; } }
@media(max-height:780px) and (min-width:761px) { .explorer-intro { padding-top:22px; padding-bottom:19px; }.explorer-intro h1 { font-size:28px; margin-bottom:0; }.explorer-intro p { display:none; }.coverage { margin-top:16px; }.explorer-scroll { padding-top:18px; }.explorer-footer { padding-top:12px; padding-bottom:12px; } }
@media(max-width:1050px) and (min-width:761px) { :root { --sidebar:290px; }.app-header { gap:22px; padding:0 22px; }.brand { min-width:246px; }.header-nav { gap:18px; }.header-actions { gap:12px; }.quiet-button>span:last-child { display:none; }.explorer-intro { padding-left:23px; }.tool-tabs { padding:0 10px; }.explorer-scroll { padding-left:19px; padding-right:19px; }.map-title h2 { font-size:46px; }.plan-badge { font-size:8px; }.map-context-desc { max-width:220px; line-height:1.6; }.status-map #cursorPos { display:none; } }
@media(max-width:760px) {
  :root { --header:64px; --sidebar:0px; --footer:29px; }
  .app-header { padding:0 16px; gap:14px; }.brand { min-width:0; font-size:26px; gap:9px; }.brand-icon { width:29px; height:34px; font-size:27px; }.brand-descriptor { font-size:6px; letter-spacing:1.5px; margin-top:3px; }
  .header-nav { margin-left:auto; gap:0; font-size:10px; }.current-page { display:none; }.header-actions { margin-left:0; gap:10px; }.outline-button { padding:8px; }.outline-button>span,.quiet-button>span:last-child { display:none; }.quiet-button { padding:8px 0; }
  .stage { padding:105px 10px 130px; left:0; }.map-title { top:27px; left:23px; }.map-title h2 { font-size:45px; margin:10px 0; }.map-title .eyebrow { font-size:6px; letter-spacing:1.2px; }.map-title p { font-size:6px; letter-spacing:1.5px; }
  .map-top-right { top:30px; right:18px; gap:11px; }.plan-badge { display:none; }.map-settings-button { font-size:9px; padding:8px; }.map-settings-button svg { width:14px; height:14px; }.settings-panel { right:18px; top:72px; }
  .north-mark { top:91px; right:27px; }.north-mark svg { width:17px; height:25px; }.north-mark>span { font-size:8px; }
  .map-controls { right:17px; bottom:108px; gap:5px; }.zbtn { height:35px; width:35px; }.map-context { bottom:104px; left:23px; }.map-context-title { font-size:17px; }.map-context-desc { max-width:225px; font-size:9px; line-height:1.6; }
  .ocean-label { bottom:36%; left:12%; font-size:9px; letter-spacing:2px; }.sea-label { top:30%; right:27%; font-size:8px; }
  .collapse-explorer { display:none; }.explorer { display:none; position:fixed; left:10px; right:10px; width:auto; top:auto; bottom:100px; height:60dvh; max-height:calc(100dvh - var(--header) - 110px); border:1px solid var(--line-2); border-radius:12px; z-index:30; overflow:hidden; box-shadow:0 10px 35px #203d3029; }.mobile-open .explorer { display:flex; }.explorer-intro,.explorer-footer { display:none; }.tool-tabs { padding:0 12px; }.tool-tabs button { font-size:12px; padding:18px 0; }.explorer-scroll { padding:20px; }.lrow { padding:12px 0; }.lrow .nm { font-size:12px; }.lrow input { width:16px; height:16px; }.map-only .explorer { transform:none; }
  .mobile-tools { display:flex; position:fixed; left:18px; right:18px; bottom:calc(var(--footer) + 17px); z-index:40; padding:4px; background:var(--jungle); border-radius:7px; box-shadow:0 8px 25px #153e3420; }.mobile-tools button { flex:1; padding:12px 5px; border:0; color:#f9f6e9; background:none; border-radius:4px; font-size:11px; }.mobile-tools button+button { border-left:1px solid #71938260; }.mobile-tools button[aria-expanded=true] { background:#f6f4e8; color:var(--jungle); }
  .status { padding:0 13px; font-size:7px; gap:8px; }.status-source { gap:7px; font-size:7px; letter-spacing:.15px; }.status-map { margin-left:auto; }.status-end,#cursorPos,.status-divider,#netStat { display:none; }.scalebar .bar { max-width:56px; }.scalebar .lab { font-size:7px; }
  .map-hint { top:auto; bottom:105px; left:15px; right:15px; transform:none; width:auto; white-space:normal; justify-content:space-between; font-size:10px; }
  .dossier { top:auto; left:10px; right:10px; bottom:100px; width:auto; max-height:calc(100dvh - var(--header) - 120px); z-index:42; padding:24px; }.dossier__name { font-size:26px; }.dossier__close { padding:11px; }
  .measurebox,.map-only .measurebox { left:15px; right:68px; bottom:112px; transform:none; max-width:none; font-size:11px; padding:12px; }.measure-actions button { padding:8px; }.measurebox .hint { font-size:8px; }
  .toast { bottom:110px; font-size:11px; }.source-dialog { padding:28px 23px; }.source-dialog h2 { font-size:28px; }.hoverchip { display:none!important; }.grid text { display:none; }.all-hidden { width:250px; top:52%; }
}
@media(max-height:500px) { .explorer-intro { display:none; }.explorer-footer { display:none; }.stage { padding-top:40px; padding-bottom:65px; }.map-title { display:none; }.north-mark { display:none; }.map-context-desc { display:none; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
