@font-face{font-family:"Familjen Grotesk";font-weight:400;font-display:swap;src:url(/assets/fonts/familjen-grotesk-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Familjen Grotesk";font-weight:600;font-display:swap;src:url(/assets/fonts/familjen-grotesk-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Familjen Grotesk";font-weight:700;font-display:swap;src:url(/assets/fonts/familjen-grotesk-latin-700-normal.woff2) format("woff2")}
:root{
  --sea:#BFDDE3; --land:#F7FAF8; --border:#9CC3CB;
  --ink:#0C2F3A; --muted:#4F6E77; --panel:#FFFFFF; --line:#DCE8EB; --hover:#EEF6F7;
  --danger:#B42318; --ok:#1D7A4E;
  --accent:var(--accent-l,#00ACDE); --accent-ink:var(--accent-ink-l,#FFFFFF);
  color-scheme:light;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --sea:#0A2630; --land:#1B3A44; --border:#2C5663;
    --ink:#E6F1F3; --muted:#93B0B8; --panel:#0F2C36; --line:#20444F; --hover:#163A46;
    --danger:#FF8A80; --ok:#6FD3A0;
    --accent:var(--accent-d,#33C2EE); --accent-ink:var(--accent-ink-d,#001A22);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --sea:#0A2630; --land:#1B3A44; --border:#2C5663;
  --ink:#E6F1F3; --muted:#93B0B8; --panel:#0F2C36; --line:#20444F; --hover:#163A46;
  --danger:#FF8A80; --ok:#6FD3A0;
  --accent:var(--accent-d,#33C2EE); --accent-ink:var(--accent-ink-d,#001A22);
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%;margin:0}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{background:var(--panel);color:var(--ink);font:400 15px/1.45 "Familjen Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.leaflet-container{background:var(--sea);font-family:inherit}
.leaflet-control-zoom a{background:var(--panel)!important;color:var(--ink)!important;border-color:var(--line)!important}
.leaflet-control-attribution{background:color-mix(in srgb,var(--panel) 70%,transparent)!important;color:var(--muted)!important;font-size:11px}
.leaflet-control-attribution a{color:inherit}
.pin{width:14px;height:14px;border-radius:50%;background:var(--accent);border:2.5px solid var(--panel);box-shadow:0 0 0 1px var(--accent)}
.pin.on{width:20px;height:20px;margin:-3px 0 0 -3px;box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 30%,transparent)}
.pin.draft{background:var(--panel);border-color:var(--accent)}
