.tagline { text-transform:none; letter-spacing:.015em; font-size:clamp(15px,2vw,20px); }
.centre-on { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:6px; margin-top:12px; font:14px/1.3 system-ui,sans-serif; }
.centre-on button { padding:7px 10px; border:1px solid #d6dce1; border-radius:18px; background:transparent; color:#36526a; font:inherit; cursor:pointer; min-height:36px; }
.feature-status:empty { display:none; }
.feature-status { font:13px/1.5 system-ui,sans-serif; text-align:center; overflow-wrap:anywhere; }
.export-section { max-width:700px; margin:32px auto; padding:24px 12px; border-top:1px solid #d6dce1; text-align:center; }
.export-section h2, dialog h2 { font:normal 28px/1.2 Georgia,serif; margin:0 0 12px; }
.export-section p { font:14px/1.5 system-ui,sans-serif; }
.export-options { display:grid; grid-template-columns:1fr 1fr 1.5fr; gap:12px; margin:24px 0 12px; text-align:left; }
.export-section label, dialog label { display:block; font:14px/1.5 system-ui,sans-serif; }
.export-section select, dialog input { box-sizing:border-box; display:block; width:100%; min-width:0; padding:10px; margin:4px 0 12px; border:1px solid #cbd5df; border-radius:9px; background:#fff; color:#193346; font:16px system-ui,sans-serif; }
.export-section button,dialog button { border:1px solid #cbd5df; border-radius:24px; padding:11px 18px; background:#fff; color:#254860; font:15px system-ui,sans-serif; cursor:pointer; }
button:disabled { opacity:.55; cursor:wait; }
.export-permission { color:#667580; }
dialog { box-sizing:border-box; width:min(420px,calc(100% - 24px)); max-height:85dvh; overflow:auto; padding:24px; border:1px solid #cbd5df; border-radius:16px; background:#fbfaf7; color:#193346; }
dialog::backdrop { background:#18304566; }
dialog .dialog-close { float:right; padding:0; width:36px; height:36px; font-size:24px; }
#centreModeNote,#placeStatus { font:14px/1.5 system-ui,sans-serif; }
#placeResults button { display:block; width:100%; border-radius:8px; text-align:left; margin:5px 0; }
.expanded-view .export-section { display:none; }
.expanded-view .centre-on { margin-top:5px; font-size:11px; gap:3px; }
.expanded-view .centre-on button { padding:3px 6px; min-height:28px; }
.expanded-view #centreStatus { font-size:11px; margin:3px; }
@media(max-width:380px) { .readout.dual { font-size:clamp(17px,5.2vw,21px); white-space:normal; } .export-options { grid-template-columns:1fr 1fr; } .export-size { grid-column:1/-1; } }
:focus-visible { outline:2px solid #1976d2; outline-offset:3px; }
[hidden] { display:none !important; }

/* Text-only error treatment: 6.5:1+ contrast on the light map UI. */
.is-error { color:#a62e2e; }

.intro-flavour { margin:9px 0 0; color:#617087; font:15px/1.4 Georgia,serif; }
/* Desktop pairs north/south with Reset around the central readout. */
.dock-toggle { display:none; }
@media (min-width:900px) {
  body:not(.expanded-view) .readout-wrap { padding-left:175px; padding-right:175px; }
  body:not(.expanded-view) .dock-toggle { display:block; position:absolute; left:0; top:50%; transform:translateY(-50%); max-width:170px; padding:12px 14px; border:1px solid #d6dce1; border-radius:28px; background:transparent; color:#35506a; font:14px/1.3 system-ui,sans-serif; cursor:pointer; }
  .dock-toggle strong { font-weight:inherit; }
  body:not(.expanded-view) .more-adjustments { display:none; }
}
