/* Second pass: useful controls first, readable type throughout. */
:root { --sidebar:350px; --header:80px; --footer:38px; --ink-dim:#52665b; --ink-faint:#607369; }
.brand { min-width:283px; }
.brand-descriptor { font-size:10px; letter-spacing:1.6px; }
.header-nav { font-size:14px; gap:28px; }
.quiet-button,.outline-button { font-size:13px; min-height:42px; }
.eyebrow { font-size:12px; letter-spacing:1px; }
.explorer-intro { padding:22px 24px; }
.explorer-intro h1 { font-size:28px; line-height:1.2; margin:0; letter-spacing:-.8px; }
.coverage { margin-top:12px; gap:8px; font-size:12px; }
.tool-tabs { padding:0 14px; }
.tool-tabs button { font-size:14px; gap:6px; padding:17px 0; }
.tool-tabs button svg { width:16px; height:16px; }
.explorer-scroll { padding:18px 22px 12px; flex:1; }
.field-label { font-size:12px; letter-spacing:.65px; line-height:1.5; }
.jumpnav select { height:46px; font-size:14px; }
.section-heading { margin:19px 0 12px; }
.section-heading h2 { font-size:19px; }
.text-button { font-size:13px; min-height:32px; }
.filter-pills { gap:5px; }
.filter-pills button { font-size:13px; padding:9px 5px; min-height:39px; }
.legend-meta { font-size:12px; margin:15px 0 6px; }
.legend-meta>span:last-child { font-size:10px; letter-spacing:.7px; }
.lrow { grid-template-columns:14px 37px 1fr 18px 18px; gap:8px; padding:12px 0; min-height:49px; }
.lrow svg { width:14px; height:14px; }.lrow .code { font-size:11px; }
.lrow .nm { font-size:14px; line-height:1.45; }.lrow .ct { font-size:12px; }
.lrow input { width:17px; height:17px; }
.legend__note { font-size:12px; line-height:1.6; }
.explorer-footer { padding:9px 22px; gap:10px; align-items:center; }
.explorer-footer strong { display:none; }.explorer-footer .text-button { font-size:13px; margin:0; }
.footer-mark { font-size:22px; }
.map-top-right { top:25px; right:25px; }
.plan-badge,.map-settings-button { font-size:12px; }.map-settings-button { padding:10px 12px; }
.settings-panel { width:270px; }.settings-panel h3 { font-size:22px; }.settings-panel label { font-size:14px; }
.map-title .eyebrow { font-size:10px; letter-spacing:1px; }.map-title p { font-size:11px; letter-spacing:1px; }
.map-context-title { font-size:21px; }.map-context-desc { font-size:12px; line-height:1.5; max-width:440px; }
.zbtn { width:40px; height:40px; }.zbtn svg { width:20px; height:20px; }#zoomReadout { font-size:12px; }
.status,.status-end,.status-source,#netStat,.status-map #cursorPos,.scalebar .lab { font-size:11px; letter-spacing:0; }
.status-map { gap:20px; }.status-source { gap:8px; }
.locator__title b { font-size:27px; }.locator__title span { font-size:14px; }
.locator__mode { font-size:14px; padding:12px 5px; }.locator__form .field-label { font-size:11px; }
.locator__form input { height:49px; font-size:14px; }.locator__form>button { font-size:14px; min-height:46px; }
.locator__actions button { font-size:13px; padding:10px 0; }
.locator__status,.location-help p { font-size:14px; }.locator__credit { font-size:12px; line-height:1.6; }
.locsummary { padding:17px; }.locsummary__k { font-size:11px; letter-spacing:.7px; }.locsummary__name { font-size:25px; }
.locsummary__meta { font-size:13px; }.locsummary__open,.locator__status .locresult { font-size:14px; padding:11px 12px; }
.hidden-result-note,.hidden-result-note button { font-size:13px; }
.dossier { width:390px; padding:26px; }.dossier__name { font-size:30px; }.dossier__id { font-size:12px; }
.dossier__close { font-size:12px; min-height:40px; }.dossier__local { font-size:14px; }
.dossier__verdict,.dossier__note,.dossier__pit,.dossier__coords,.dossier__matches { font-size:14px; line-height:1.75; }
.dossier__copy { font-size:13px; padding:10px 0; }.dossier__flag,.dossier__prov { font-size:12px; line-height:1.8; }
.dossier__rules details { font-size:14px; }.dossier__rules summary { font-size:13px; line-height:1.6; }
.dossier__rules>b,.dossier__prov>b,.dossier__pit>b { font-size:11px; letter-spacing:.5px; margin-top:16px; }
.dstat b { font-size:14px; }.dstat span { font-size:10px; }
.source-dialog { width:530px; padding:32px; }.source-dialog h2 { font-size:34px; }.source-dialog p { font-size:16px; line-height:1.7; }
.source-dialog dl>div,.source-links,.keyboard-guide,.keyboard-guide>b { font-size:13px; }kbd { font-size:12px; }
.measurebox { font-size:14px; }.measurebox .hint { font-size:12px; }.measure-actions button { font-size:13px; min-height:38px; }
.all-hidden span,.all-hidden button { font-size:14px; }.hoverchip { font-size:13px; }.map-hint,.map-hint button { font-size:13px; }
@media(max-height:780px) and (min-width:761px) {
 .explorer-intro { padding:18px 23px; }.explorer-intro h1 { font-size:27px; }.coverage { margin-top:10px; }.explorer-footer { padding:6px 22px; }
}
@media(max-width:1100px) and (min-width:761px) {
 :root { --sidebar:325px; }.brand { min-width:255px; }.header-nav { gap:20px; }.header-actions { gap:12px; }
 .quiet-button>span:last-child { display:none; }.tool-tabs button { font-size:13px; }.explorer-scroll { padding-left:18px; padding-right:18px; }
 .status-map #cursorPos,.status-end { display:none; }.dossier { width:350px; }
}
@media(max-width:760px) {
 :root { --header:72px; --sidebar:0px; --footer:33px; }
 .app-header { padding:0 15px; gap:12px; }.brand { min-width:0; font-size:27px; }.brand-descriptor { display:none; }.brand-icon { width:30px; height:35px; }
 .header-nav { font-size:13px; gap:0; }.header-actions { gap:10px; }.quiet-button,.outline-button { min-width:37px; min-height:41px; }
 .outline-button { padding:8px; }.header-nav .current-page { display:none; }
 .map-title .eyebrow { font-size:10px; max-width:185px; line-height:1.6; }.map-title p { font-size:10px; }
 .map-title h2 { font-size:45px; }.map-top-right { top:29px; right:17px; }.map-settings-button { font-size:12px; padding:9px; }
 .settings-panel { top:79px; right:17px; }.tool-tabs button { font-size:14px; }
 .explorer { bottom:108px; height:64dvh; max-height:calc(100dvh - var(--header) - 123px); }
 .explorer-scroll { padding:18px; }.explorer-footer { display:none; }.lrow .nm { font-size:14px; }
 .mobile-tools { bottom:calc(var(--footer) + 15px); }.mobile-tools button { font-size:14px; min-height:47px; padding:12px 5px; }
 .map-context { bottom:108px; }.map-context-title { font-size:20px; }.map-context-desc { font-size:12px; max-width:230px; }
 .map-controls { bottom:126px; }.zbtn { width:39px; height:39px; }
 .status-source,.status,.scalebar .lab { font-size:10px; }.status-source { gap:5px; }
 .dossier { left:10px; right:10px; width:auto; bottom:108px; max-height:calc(100dvh - var(--header) - 132px); padding:23px; }
 .dossier__name { font-size:29px; }.source-dialog { padding:28px 23px; }.source-dialog h2 { font-size:31px; }
 .measurebox { right:68px; bottom:120px; font-size:12px; }.measurebox .hint { font-size:11px; }.measure-actions button { font-size:12px; }
 .map-hint { bottom:115px; }.toast { bottom:114px; font-size:13px; }
}
