:root{--font-ui: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--light-ink: oklch(22% .03 220);--light-ink-2: oklch(40% .03 220);--light-muted: oklch(55% .02 220);--light-line: oklch(88% .01 220);--light-bg: oklch(98% .004 100);--light-panel: oklch(100% 0 0 / .92);--light-panel-solid: oklch(100% 0 0);--light-accent: oklch(42% .09 215);--light-accent-ink: oklch(99% 0 0);--light-accent-soft: oklch(94% .03 215);--light-danger: oklch(55% .17 25);--light-shade-s: oklch(0% 0 0 / .06);--light-shade-m: oklch(0% 0 0 / .08);--light-shade-l: oklch(0% 0 0 / .12);--light-data-edge: oklch(22% .03 220 / .3);--light-brand-dot: #f0a020;--dark-ink: oklch(95% .012 255);--dark-ink-2: oklch(82% .02 255);--dark-muted: oklch(70% .025 255);--dark-line: oklch(100% 0 0 / .13);--dark-bg: #070c18;--dark-panel: oklch(19% .03 255 / .9);--dark-panel-solid: oklch(19% .03 255);--dark-accent: oklch(80% .09 210);--dark-accent-ink: oklch(19% .03 255);--dark-accent-soft: oklch(31% .045 225);--dark-danger: oklch(72% .15 25);--dark-shade-s: oklch(0% 0 0 / .35);--dark-shade-m: oklch(0% 0 0 / .4);--dark-shade-l: oklch(0% 0 0 / .5);--dark-data-edge: oklch(100% 0 0 / 0);--dark-brand-dot: #ffd166;--ink: var(--light-ink);--ink-2: var(--light-ink-2);--muted: var(--light-muted);--line: var(--light-line);--bg: var(--light-bg);--panel: var(--light-panel);--panel-solid: var(--light-panel-solid);--accent: var(--light-accent);--accent-ink: var(--light-accent-ink);--accent-soft: var(--light-accent-soft);--danger: var(--light-danger);--shade-s: var(--light-shade-s);--shade-m: var(--light-shade-m);--shade-l: var(--light-shade-l);--data-edge: var(--light-data-edge);--brand-dot: var(--light-brand-dot);--no-data: #2c3956;--radius-s: 6px;--radius-m: 10px;--radius-l: 14px;--shadow-1: 0 1px 2px var(--shade-s), 0 8px 24px var(--shade-m);--shadow-2: 0 2px 6px var(--shade-m), 0 16px 40px var(--shade-l);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--text-xs: 11px;--text-s: 13px;--text-m: 15px;--text-l: 18px;--text-xl: 24px;--dock-height: 64px;--panel-width: min(380px, 42vw);--ease: cubic-bezier(.2, .7, .2, 1);--dur: .22s}:root{--map-page: #070c18;--map-ocean: #13203b;--map-no-data: #2c3956}@supports (color: light-dark(#000,#fff)){.karta-app{color-scheme:light dark;--ink: light-dark(var(--light-ink), var(--dark-ink));--ink-2: light-dark(var(--light-ink-2), var(--dark-ink-2));--muted: light-dark(var(--light-muted), var(--dark-muted));--line: light-dark(var(--light-line), var(--dark-line));--bg: light-dark(var(--light-bg), var(--dark-bg));--panel: light-dark(var(--light-panel), var(--dark-panel));--panel-solid: light-dark(var(--light-panel-solid), var(--dark-panel-solid));--accent: light-dark(var(--light-accent), var(--dark-accent));--accent-ink: light-dark(var(--light-accent-ink), var(--dark-accent-ink));--accent-soft: light-dark(var(--light-accent-soft), var(--dark-accent-soft));--danger: light-dark(var(--light-danger), var(--dark-danger));--shade-s: light-dark(var(--light-shade-s), var(--dark-shade-s));--shade-m: light-dark(var(--light-shade-m), var(--dark-shade-m));--shade-l: light-dark(var(--light-shade-l), var(--dark-shade-l));--data-edge: light-dark(var(--light-data-edge), var(--dark-data-edge));--brand-dot: light-dark(var(--light-brand-dot), var(--dark-brand-dot))}.karta-app[data-theme=light]{color-scheme:light}.karta-app[data-theme=dark]{color-scheme:dark}}@media(prefers-reduced-motion:reduce){:root{--dur: 0ms}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-ui);font-size:var(--text-m);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;overflow:clip}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent)}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}[hidden]{display:none!important}.app{position:fixed;inset:0;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}.map-root{position:absolute;inset:0;z-index:0}.map-root .maplibregl-ctrl-bottom-right{top:10px;bottom:auto}.corner{position:absolute;top:10px;left:10px;z-index:3;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);max-width:calc(100% - 56px);pointer-events:none}.brand{position:relative;pointer-events:none;display:flex;flex-direction:column;gap:1px;padding:6px 10px;background:var(--panel);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:var(--radius-m)}.brand>*{pointer-events:auto}.brand-name{margin:0;font-size:var(--text-m);font-weight:600;letter-spacing:-.01em;color:var(--ink)}.brand-tagline{margin:0;font-size:var(--text-xs);color:var(--muted);max-width:24ch}.legend-slot{position:relative;pointer-events:auto;max-width:100%}.panel{position:absolute;top:0;right:0;bottom:0;z-index:7;width:min(88vw,400px);display:flex;flex-direction:column;overflow:hidden;padding-bottom:env(safe-area-inset-bottom);background:var(--panel-solid);border-left:1px solid var(--line);border-radius:var(--radius-l) 0 0 var(--radius-l);box-shadow:var(--shadow-2);animation:drawer-in .26s var(--ease);touch-action:pan-y}@keyframes drawer-in{0%{transform:translate(100%)}}.drawer-scrim{position:absolute;inset:0;z-index:6;background:#00000073;animation:scrim-in .26s var(--ease)}@keyframes scrim-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.panel,.drawer-scrim{animation:none}}.selcard{order:1;position:relative;z-index:4;margin:0 10px 8px}.dock{order:2;position:relative;z-index:5;width:100%;padding:var(--space-2) var(--space-3) calc(var(--space-2) + env(safe-area-inset-bottom));background:var(--panel);backdrop-filter:blur(10px);border-top:1px solid var(--line)}@media(min-width:768px){.app{display:block}.corner{top:16px;left:16px;align-items:stretch;width:288px;max-width:none}.map-root .maplibregl-ctrl-bottom-right{top:auto;bottom:0}.app[data-panel=open] .map-root .maplibregl-ctrl-bottom-right{right:var(--panel-width)}.dock{position:absolute;left:50%;bottom:20px;transform:translate(-50%);width:min(720px,calc(100% - 96px));padding:0;background:none;backdrop-filter:none;border-top:none}.app[data-panel=open] .dock{left:calc((100% - var(--panel-width)) / 2);width:min(720px,calc(100% - var(--panel-width) - 96px))}.panel{z-index:4;width:var(--panel-width);padding-bottom:0;border-radius:0;box-shadow:var(--shadow-1)}}.brand a{color:var(--ink);text-decoration:none}.brand a:hover,.brand a:focus-visible{text-decoration:underline}.brand-row{display:inline-flex;align-items:baseline;gap:var(--space-3)}.brand a.brand-home{display:inline-flex;align-items:baseline;gap:6px}.brand-mark{width:1.04em;height:1.5em;flex:none;align-self:center;margin-block:-.25em}.brand a.brand-privacy{font-size:var(--text-xs);color:var(--muted)}.hover-readout{margin-top:var(--space-2, 8px);display:inline-flex;gap:var(--space-3, 12px);align-items:baseline;padding:6px 10px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm, 6px);box-shadow:var(--shadow-sm, 0 1px 2px rgb(0 0 0 / .08));font-size:var(--text-sm, 13px);color:var(--ink);pointer-events:none}.hover-readout .num{color:var(--ink-2, var(--ink))}.panel-reopen{position:absolute;top:50%;right:0;z-index:4;min-width:44px;padding:14px 10px;font:inherit;font-size:var(--text-s);font-weight:600;color:var(--ink);background:var(--panel);backdrop-filter:blur(8px);border:1px solid var(--line);border-right:none;border-radius:var(--radius-m) 0 0 var(--radius-m);box-shadow:var(--shadow-1);writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);cursor:pointer}.panel-reopen:hover{background:var(--panel-solid, var(--panel))}.panel-reopen:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.load-error{position:absolute;inset:0;display:grid;place-items:center;padding:24px;color:var(--ink);background:var(--bg);z-index:5;text-align:center}.selcard-button{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px var(--space-3);width:100%;min-height:48px;padding:10px 14px;text-align:left;color:var(--ink);background:var(--panel-solid);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--shadow-1)}.selcard-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.selcard-name{font-weight:600}.selcard-value{color:var(--ink-2);font-size:var(--text-s)}.selcard-go{margin-left:auto;font-size:var(--text-s);font-weight:600;color:var(--accent)}
