/* The experience layer keeps the existing forecast, cart and payment handlers. */
.k-myforecast{border:1px solid #31565d;border-radius:20px;background:#0c242e;padding:24px;margin:24px 0;color:#e7f3f3}.k-myforecast h3{font-size:24px;line-height:1.25;margin:8px 0 12px}.k-myforecast p{color:#b9ced0;font-size:14px;line-height:1.7}.k-myforecast-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.k-myforecast label{display:block;font-size:13px;color:#d6e7e9}.k-myforecast select{width:100%;min-height:46px;margin-top:6px;background:#102f3b;color:#edf9f8;border:1px solid #41616b;border-radius:10px;padding:10px}.k-myforecast-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.k-myforecast-result{border-top:1px solid #31565d;padding-top:18px;margin-top:18px}.k-myforecast-score{font-size:40px;font-weight:750;line-height:1.2;color:#64e0c7}.k-myforecast-result ul{margin:14px 0;padding-left:20px;font-size:14px;line-height:1.7}.k-myforecast [role=alert]{color:#ffb7a6}.k-myforecast .k-private{font-size:12px;color:#9ebcc0}.k-map-help{border:1px solid #31565d;background:#102b35;border-radius:14px;padding:14px 16px;margin:14px 0}.k-map-help p{margin:0 0 10px;font-size:13px;line-height:1.6;color:#c2d8d9}.k-map-help .btn{min-height:44px;font-size:13px}.k-map-search{display:block;font-size:12px;color:#bad2d5;margin:16px 0}.k-map-search input{display:block;width:100%;min-height:44px;margin-top:7px;padding:10px 12px;border:1px solid #426069;background:#0b242e;color:#fff;border-radius:10px}.k-map-advanced{border:1px solid #31565d;border-radius:10px;padding:12px;margin:14px 0}.k-map-advanced summary{cursor:pointer;min-height:32px;font-size:14px}.k-map-advanced[open] summary{margin-bottom:12px}
.k-home-week{margin:24px 0!important;max-width:none!important;width:100%!important}.k-home-week:empty{display:none!important}.k-more-nav{position:relative}.k-more-nav summary{cursor:pointer;padding:12px;color:#d3e5e6;font-size:13px;min-height:44px;list-style:none}.k-more-nav summary::after{content:'⌄';margin-left:7px}.k-more-menu{position:absolute;right:0;top:100%;min-width:210px;padding:10px;background:#0b2632;border:1px solid #31565d;border-radius:14px;box-shadow:0 16px 40px #0008;z-index:100}.k-more-menu button{display:block!important;width:100%;text-align:left;min-height:44px;padding:12px!important;border-radius:8px}.k-more-menu button:hover{background:#16414a}.k-more-menu button::after{display:none!important}
body :focus-visible{outline:3px solid #70e6d0!important;outline-offset:4px}#view-map button,#view-forecast button{touch-action:manipulation}.k-myforecast button:disabled{opacity:.6;cursor:wait}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:850px){.k-myforecast{padding:18px}.k-myforecast-grid{grid-template-columns:1fr}}
.k-map-help button:disabled{opacity:.72;cursor:not-allowed}
.nk-news .nk-dot.on::after{animation:none!important}
.k-motion-toggle{position:absolute;inset-inline-end:12px;bottom:8px;z-index:5;min-height:44px;padding:6px 10px;border:0;background:#071e27c7;color:#d9f5ec;border-radius:8px;font:inherit;font-size:12px;cursor:pointer}
.k-motion-toggle[hidden]{display:none}
.k-motion-toggle::before{content:"Ⅱ";margin-inline-end:7px;font-weight:bold}
.k-motion-toggle[aria-pressed="true"]::before{content:"▷"}
.k-map-selected{font-weight:650}
.k-map-empty{padding:12px 0;color:var(--fg-dim,#aac5c4)}
.k-club-brief{border:1px solid var(--line,#31565d);border-radius:14px;padding:clamp(16px,3vw,24px);margin:16px 0 24px;background:var(--surface,#122f32)}
.k-club-brief h3{margin:0 0 10px;font-size:1.15rem}
.k-club-brief p{margin:0;color:var(--fg-dim,#c1d7d4);max-width:67ch;line-height:1.6}
.k-club-brief p+p{margin-top:8px}
.k-club-brief a{color:var(--brass-hi,#a2f4db);text-underline-offset:.22em}
/* The same control sizing and wrapping rules apply in each public section. */
#book .view :is(.btn,.chip){min-height:40px;max-width:100%;white-space:normal;line-height:1.25;text-wrap:pretty}
#book .view .btn.block{min-height:46px}
#book .view .btn.ghost:not(:disabled){color:var(--fg,#e7f3f0)}
#book .view :is(.btn,.chip):disabled{opacity:.72}
#book .view .section-head{max-width:100%}
#book .view .section-head :is(h1,h2,p){overflow-wrap:anywhere}
#book .view :is(input,select,textarea){max-width:100%;min-width:0}
#book .view :is(.btn,.chip,summary):focus-visible{scroll-margin-block:90px}
@media(pointer:coarse){#book .view :is(.btn,.chip){min-height:44px}}

@keyframes k-enter{from{opacity:.68;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){
  .k-motion-enter{animation:k-enter .48s cubic-bezier(.19,1,.22,1) both;animation-delay:var(--k-delay,0ms)}
}
html[data-k-motion="off"] *,html[data-k-motion="off"] *::before,html[data-k-motion="off"] *::after{
  animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;
}
html[data-k-motion="off"]{scroll-behavior:auto!important}

/* The journal cover leads into the live forecast and map. */
#view-home .shore:has(.k-home-layout) {
  --field-paper:var(--w-bg); --field-ink:var(--w-ink); --field-line:#40594a; --field-muted:var(--w-ink2);
  display:block!important; min-height:0!important; margin:0!important; padding:0 0 14px!important;
  background:var(--field-paper)!important; color:var(--field-ink); overflow:hidden!important;
}
#view-home .shore:has(.k-home-layout) :is(.stage,.shore-cue,.shore-cards),
#view-home .shore:has(.k-home-layout)::after { display:none!important; }
#view-home .shore:has(.k-home-layout) .shore-grid { display:block!important; width:100%!important; max-width:none!important; margin:auto!important; padding:0!important; }
.k-home-layout {
  display:block!important; width:100%!important; max-width:none!important;
  padding:0!important; opacity:1!important; transform:none!important;
}
.k-journal-cover {
  min-height:clamp(520px,68svh,680px); display:grid; align-items:center;
  position:relative; isolation:isolate; background:#071914; overflow:hidden;
}
.k-journal-cover::after {
  position:absolute; inset:0; width:100%; height:100%;
}
.k-journal-cover::after {
  content:""; z-index:-1; pointer-events:none;
  background:linear-gradient(90deg,#0b0f19ee,#0b0f196e 47%,transparent 77%),
    linear-gradient(0deg,#0b0f19 0%,transparent 38%);
}
.k-cover-body {
  position:relative; width:var(--k-content-width); margin:auto; padding:62px 0;
  display:grid; grid-template-columns:minmax(0,1fr) minmax(230px,320px);
  grid-template-areas:"copy meter" "actions meter"; gap:12px 22px; align-items:end;
}
.k-home-intro {
  grid-area:copy; min-width:0; position:relative;
}
.k-hero-kicker { margin:0 0 12px; color:var(--k-live); font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.k-home-title {
  margin:0 0 20px!important; color:var(--field-ink)!important; max-width:15ch;
  font:500 clamp(42px,6.7vw,96px)/1.02 Literata,Georgia,serif!important;
  letter-spacing:-.048em!important;
}
.k-home-title em { display:block; color:#b2f4dc; font-style:normal; }
.k-home-description {
  margin:0 0 20px; color:#e2e9db; max-width:33ch;
  font-size:clamp(16px,1.5vw,20px); line-height:1.55;
}
.k-hero-score {
  grid-area:meter;
  display:grid; gap:8px; min-width:0; padding:16px; border:1px solid #7894808a; border-radius:16px;
  background:linear-gradient(135deg,#263b43e8,#121c29ed); color:var(--w-ink); font-size:13px;
  box-shadow:0 14px 46px #070e1660;
}
.k-cover-actions { grid-area:actions; }
.k-hero-weather { color:#e4c998; font-variant-numeric:tabular-nums; }
.k-hero-score-value { display:flex; align-items:center; gap:12px; }
.k-hero-score-value small { display:block; margin-top:3px; color:var(--w-ink2); overflow-wrap:anywhere; }
.k-hero-score .k-home-route { color:var(--k-live); }
.k-hero-score strong {
  display:grid; place-items:center; flex:none; width:68px; aspect-ratio:1; border:4px solid transparent; border-radius:50%;
  background:linear-gradient(#13232d,#13232d) padding-box,conic-gradient(var(--k-live) var(--k-score,0%),#38505d 0) border-box;
  font-size:24px; font-variant-numeric:tabular-nums;
}
.k-hero-links { display:flex; flex-wrap:wrap; align-items:center; gap:10px 22px; }
.k-hero-links a { display:inline-flex; align-items:center; min-height:48px; font-weight:720; }
.k-hero-primary { background:var(--w-acc); color:var(--w-onacc); padding:0 20px; border-radius:8px; text-decoration:none; }
.k-hero-primary:hover { background:var(--w-acc-hi); color:var(--w-onacc); }
.k-hero-map { color:#fff7e1; text-decoration:underline; text-underline-offset:.27em; }
.k-hero-map:hover { color:var(--w-acc-hi); }
.k-trip-desk,.k-home-atlas,.k-water-tools,.k-home-updates {
  width:var(--k-content-width);
  margin-inline:auto; scroll-margin-top:130px;
}
.k-trip-desk {
  padding-top:clamp(36px,6vw,76px);
  display:grid; gap:18px;
}
.k-water-workspace {
  display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:0;
  border:1px solid var(--w-line); border-radius:18px; background:var(--w-surf);
}
.k-trip-controls { min-width:0; }
.k-trip-controls .k-place-form { display:grid; grid-template-columns:max-content minmax(0,380px); gap:0 14px; align-items:center; }
.k-trip-controls .k-place-form label { margin:0; }
.k-trip-controls .k-place-results { grid-column:2; }
#view-home :is(.k-desk-title,.k-water-heading) {
  margin:0 0 12px; color:var(--field-ink);
  font:750 clamp(26px,2.65vw,36px)/1.15 Onest,system-ui,sans-serif;
}
.k-water-tools { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid var(--w-line); }
.k-water-tool {
  display:flex; align-items:center; gap:10px; justify-content:space-between; min-height:56px; min-width:0;
  padding:10px clamp(8px,2vw,22px); color:var(--w-ink); font-size:13px; font-weight:650; text-decoration:none;
}
.k-water-tool + .k-water-tool { border-inline-start:1px solid var(--w-line); }
.k-water-tool::after { content:"↗" / ""; color:var(--k-live); }
.k-water-tool:hover { background:var(--w-surf2); border-color:#80a176; }
.k-trip-controls .k-place-choices { max-height:180px; overflow:auto; }
.k-place-form label { display:block; margin-bottom:7px; color:var(--field-ink); font-size:14px; font-weight:680; }
.k-place-entry { display:flex; min-height:48px; border:1px solid #526e5e; background:var(--w-surf); }
#view-home .k-place-entry input { flex:1; width:0; background:transparent!important; border:0!important; border-radius:0!important; color:var(--field-ink)!important; padding:10px 12px!important; font-size:16px!important; }
#view-home .k-place-entry input::placeholder { color:var(--w-ink2)!important; opacity:1; }
.k-place-entry button,.k-place-choices button { border:0; cursor:pointer; font:inherit; }
.k-place-entry button { padding:0 16px; background:var(--w-acc); color:var(--w-onacc); font-weight:750; white-space:nowrap; }
.k-place-entry button:hover { background:var(--w-acc-hi); }
.k-place-entry button:disabled { opacity:.72; cursor:progress; }
.k-place-results { background:var(--w-surf2); color:var(--field-ink); }
.k-place-results [role=status]:not(:empty) { padding:9px 12px; font-size:14px; }
.k-place-choices button { display:block; width:100%; text-align:start; min-height:44px; padding:9px 12px; background:transparent; color:inherit; border-top:1px solid var(--field-line); }
.k-place-choices button:hover,.k-place-choices button:focus-visible { background:var(--w-surf3); }
.k-home-result {
  min-width:0; padding:clamp(15px,2vw,25px); border-inline-start:1px solid var(--w-line);
  border-radius:0 18px 18px 0; background:var(--w-surf); scroll-margin-top:130px;
}
.k-forecast-period { display:flex; align-items:stretch; gap:4px; padding:4px; margin:0 0 18px; border-radius:8px; background:var(--w-bg); }
.k-forecast-period > * {
  flex:1 1 0; display:grid; place-items:center; min-width:0; min-height:42px; padding:3px 6px;
  border:0; border-radius:6px; background:transparent; color:var(--w-ink2);
  cursor:pointer; font:650 13px/1.2 var(--font-ui); text-align:center; text-decoration:none;
}
.k-forecast-period > :hover { background:var(--w-surf2); color:var(--w-ink); }
.k-forecast-period > [aria-pressed="true"] { background:var(--w-acc); color:var(--w-onacc); }
.k-hour-panel { margin-top:16px; border-top:1px solid var(--w-line); padding-top:12px; }
.k-hour-panel p { margin:0 0 6px; color:var(--w-ink); font-size:14px; font-weight:650; }
.k-hour-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:2px 8px; }
.k-pressure-legend { color:#92dcf5; font-size:12px; }
.k-hour-chart { position:relative; display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:4px; }
.k-pressure-line { position:absolute; inset:0 0 auto; width:100%; height:82px; pointer-events:none; }
.k-pressure-line path { fill:none; stroke:#82e3ff; stroke-width:2px; vector-effect:non-scaling-stroke; }
.k-hour-chart:empty { display:none; }
.k-hour-bar {
  display:grid; grid-template-rows:82px auto; align-items:end; gap:6px; min-width:0;
  padding:0 1px 4px; border:0; background:transparent; color:var(--w-ink2); cursor:pointer;
}
.k-hour-bar span { display:block; height:var(--bar-height); background:linear-gradient(#269976,#163d3c); border-radius:4px 4px 1px 1px; }
.k-hour-bar:is(:hover,[aria-pressed="true"]) span { background:linear-gradient(#70edc0,#276054); }
.k-hour-bar:disabled { cursor:default; opacity:.55; }
.k-hour-bar:disabled span { height:2px; background:var(--w-line); }
.k-hour-bar small { font:10px/1.2 var(--font-ui); }
.k-hour-caption { min-height:22px; margin-top:6px; color:var(--w-ink2); font-size:13px; font-variant-numeric:tabular-nums; }
.k-chart-body { position:relative; min-height:84px; padding-top:0; }
.k-chart-readout { min-width:0; position:relative; z-index:1; }
.k-chart-readout #tripFishName { display:block; font:740 24px/1.2 Onest,system-ui,sans-serif; color:var(--k-live)!important; }
.k-chart-readout .hstats { display:flex!important; gap:10px 24px!important; align-items:end; flex-wrap:wrap; margin:5px 0 10px!important; padding:0!important; list-style:none; }
.k-chart-readout .hstats li { display:block!important; flex:none!important; min-width:0; background:none!important; border:0!important; padding:0!important; }
.k-chart-readout .hstats li:nth-child(3) { display:none!important; }
.k-chart-readout .hstats li b { display:block; font:760 28px/1.05 Onest,system-ui,sans-serif!important; color:var(--w-ink)!important; font-variant-numeric:tabular-nums!important; }
.k-chart-readout .hstats span { color:var(--field-muted)!important; font-size:12px!important; }
.k-chart-readout .trip-spark { display:none; }
.k-chart-readout .shore-why { margin:0!important; min-height:0!important; font-size:14px!important; color:var(--field-muted); }
.k-chart-readout .w-row { display:flex!important; flex-wrap:wrap; align-items:center; gap:2px 8px; }
.k-chart-readout :is(.w-lbl,.w-fact) { color:var(--field-muted)!important; }
.k-chart-readout .w-place { color:var(--w-ink)!important; overflow-wrap:anywhere; }
.k-chart-readout .w-fix { color:var(--w-ink)!important; border-color:#6c8274!important; min-height:34px!important; }
.k-home-result:not(.k-result-ready) :is(#tripFishName,.hstats) { display:none!important; }
.k-result-art { position:absolute; top:-3px; right:0; width:min(30%,128px); pointer-events:none; }
.k-result-art .stage-hero { position:relative!important; inset:auto!important; width:100%!important; max-width:none!important; height:auto!important; margin:0!important; transform:none!important; }
.k-result-art:not(.has-fish) .stage-hero,.k-result-art .stage-hero[hidden],.k-result-art .hero-bloom { display:none!important; }
.k-result-art #heroFishBig { position:relative!important; inset:auto!important; width:100%!important; height:33px!important; object-fit:contain!important; transform:none!important; }
.k-chart-foot { margin-top:13px; border-top:1px solid var(--field-line); padding-top:8px; }
.k-chart-foot small { color:var(--field-muted); }
.k-home-routes { display:flex; flex-wrap:wrap; gap:0 16px; }
.k-home-route { display:inline-flex; align-items:center; min-height:42px; color:#ebf5e8; text-decoration:underline; text-underline-offset:.24em; }
.k-home-route:hover { color:#e3c684; }
.k-home-result .k-home-route,.k-map-full { color:var(--w-acc-hi); font-weight:680; text-decoration:underline; text-underline-offset:.24em; }
.k-home-result .k-home-route:hover,.k-map-full:hover { color:#fff1c9; }
.k-field-map { display:flex; flex-direction:column; min-width:0; border-radius:18px 0 0 18px; overflow:hidden; scroll-margin-top:130px; }
.k-map-legend { background:var(--w-surf2); display:flex; flex-wrap:wrap; align-items:center; gap:2px 14px; padding:0 14px; min-height:46px; border-bottom:1px solid #40594a; font-size:14px; font-weight:680; }
.k-chart-coords { color:var(--w-ink2); font:13px/1.3 ui-monospace,monospace; }
.k-map-full { margin-inline-start:auto; display:inline-flex; align-items:center; min-height:44px; }
.k-map-stage { flex:1; min-height:380px; position:relative; isolation:isolate; background:var(--w-bg); }
.k-map-stage .leaflet-overlay-pane path { transform-box:fill-box; transform-origin:center; }
.k-map-canvas { position:absolute; inset:0; cursor:crosshair; background:#12251e; }
.k-map-message { position:absolute; bottom:30px; left:12px; right:12px; z-index:700; width:fit-content; padding:6px 10px; background:var(--w-surf2); color:var(--w-ink); pointer-events:none; }
.k-map-message[hidden] { display:none; }
.k-field-map .leaflet-bar a { width:42px; height:42px; line-height:42px; background:var(--w-surf2); color:var(--w-ink); }
.k-field-map .leaflet-control-attribution { color:var(--w-ink2); background:var(--w-surf2); }
.k-field-map .leaflet-control-attribution a { color:var(--w-acc-hi); }
.k-map-instructions { background:var(--w-surf2); margin:0; padding:10px 14px; border-top:1px solid #40594a; color:var(--w-ink2); font-size:14px; }
.k-map-instructions { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:0 20px; }
.k-map-instructions .k-home-route { color:var(--w-acc-hi); }
.k-home-updates { margin-inline:auto; }
.k-home-updates .nk-news { margin:18px 0 28px; max-width:none; }
.k-home-atlas { padding-block:clamp(38px,6vw,76px) 22px; }
.k-section-intro { display:flex; justify-content:space-between; align-items:end; flex-wrap:wrap; gap:10px 20px; }
.k-section-intro > p { max-width:42ch; margin:0; color:var(--w-ink2); }
.k-section-index { margin:0 0 8px!important; color:var(--k-live); font:700 11px/1.4 Onest,system-ui,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
#view-home :is(.k-section-intro h2,.k-club-preview h2) {
  margin:0; font:800 clamp(34px,5vw,67px)/1.04 Onest,system-ui,sans-serif; letter-spacing:-.064em; text-wrap:balance;
}
.k-fish-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:20px; }
.k-gallery-fish { text-align:start; min-width:0; padding:clamp(12px,2vw,20px); border:1px solid var(--w-line); border-radius:16px; background:var(--w-surf); color:var(--w-ink); cursor:pointer; }
.k-gallery-fish img { display:block; width:100%; height:clamp(78px,11vw,150px); object-fit:contain; }
.k-gallery-fish strong { display:block; font-size:clamp(17px,2vw,24px); }
.k-gallery-fish strong::after { content:" ↗"; color:var(--k-live); }
.k-gallery-latin { color:var(--w-ink2); font:11px/1.4 var(--font-mono); text-transform:uppercase; }
.k-gallery-fish:hover { border-color:var(--k-live); background:var(--w-surf2); }
.k-club-preview { display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:center; padding:clamp(20px,4vw,46px); margin:26px 0; border:1px solid var(--w-line); border-radius:20px; color:var(--w-ink); background:radial-gradient(ellipse at 88% 110%,#2c524c,transparent 63%),var(--w-surf); }
.k-club-preview p { margin:0; }
.k-club-actions { margin-top:14px; }
.k-map-survey { scroll-margin-top:130px; }
.k-map-survey p { margin:0; font-size:13px; }
#view-account .login-shell {
  padding:clamp(16px,4vw,32px); border:1px solid var(--w-line); border-radius:20px;
  background:radial-gradient(ellipse at 100% 0%,#224745,transparent 64%),var(--w-surf);
}
#view-home .shore .k-motion-toggle:not([hidden]) { display:block; position:static; margin:8px clamp(16px,4vw,64px) 0 auto; background:transparent; color:var(--w-ink2); text-decoration:underline; }
@media(prefers-reduced-motion:no-preference) {
  html:not([data-k-motion="off"]) .k-journal-cover .k-home-intro {
    animation:k-journal-in .56s cubic-bezier(.2,.65,.25,1) both;
  }
  .k-hour-bar span { transform-origin:bottom; animation:k-hour-rise .24s ease-out both; }
  .k-forecast-period > *,.k-water-tool,.k-gallery-fish { transition:background-color .16s ease,color .16s ease,border-color .16s ease; }
}
@keyframes k-journal-in { from { opacity:.72; transform:translateY(9px); } to { opacity:1; transform:none; } }
@keyframes k-hour-rise { from { transform:scaleY(.72); opacity:.6; } to { transform:none; opacity:1; } }
@media(max-width:820px) {
  .k-water-workspace { grid-template-columns:minmax(0,1fr); }
  .k-field-map { border-radius:18px 18px 0 0; }
  .k-home-result { border-inline-start:0; border-top:1px solid var(--w-line); border-radius:0 0 18px 18px; }
}
@media(max-width:650px) {
  .k-journal-cover { min-height:0; }
  .k-journal-cover::after {
    background:linear-gradient(0deg,var(--w-bg) 1%,#0b0f19b8 42%,transparent 75%);
  }
  .k-journal-cover { background:var(--w-bg); }
  .k-cover-body { padding:152px 0 20px; grid-template-columns:minmax(0,1fr); grid-template-areas:"copy" "meter" "actions"; gap:12px; }
  .k-hero-score { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 10px; padding:12px; }
  .k-hero-score strong { width:52px; font-size:20px; }
  .k-trip-controls .k-place-form { grid-template-columns:minmax(0,1fr); gap:7px; }
  .k-trip-controls .k-place-results { grid-column:1; }
  .k-trip-controls .k-place-results:not(:has(button)):not(:has([role=status]:not(:empty))) { display:none; }
  .k-home-title { margin-bottom:14px!important; }
  .k-home-description { margin-bottom:15px; }
  .k-water-tool { padding-inline:7px; font-size:12px; gap:3px; }
  .k-map-stage { min-height:275px; }
  .k-map-full { margin-inline-start:0; }
  .k-fish-gallery { grid-template-columns:1fr; }
  .k-gallery-fish { display:grid; grid-template-columns:minmax(0,1fr) 44%; align-items:center; }
  .k-gallery-fish img { grid-row:1/3; grid-column:2; }
  .k-chart-readout .hstats { gap:10px 12px!important; }
  .k-club-preview { grid-template-columns:1fr; }
}
/* Site palette and responsive measure from the field journal. */
:root {
  color-scheme:dark;
  --w-bg:#0b0f19; --w-surf:#141d2b; --w-surf2:#1b2939; --w-surf3:#28404b; --w-card:#141d2b;
  --w-ink:#f1f5f5; --w-ink2:#b6c6cf; --w-ink3:#98abb7;
  --w-acc:#48d9a9; --w-acc-hi:#a1f2d5; --w-onacc:#08251e;
  --w-line:#35485a;
  --w-deep:linear-gradient(155deg,#1b2939,#141d2b);
  --w-dawn:linear-gradient(120deg,#141d2b,#28404b);
  --k-live:#66e6b8;
  --k-content-width:min(calc(100% - 2 * clamp(15px,5vw,82px)),1340px);
  --font-editorial:Onest,system-ui,sans-serif;
  --k-motion-curve:cubic-bezier(.2,.75,.25,1);
}
html::after { background:var(--w-bg)!important; }
body > header,body > header.solid,.nk-bar,#overlay .panel-head {
  background:#0b0f19f5!important; border-color:var(--w-line);
}
nav.primary button::before { background:none; }
nav.primary button::after { box-shadow:none; }
footer.nkf { background:var(--w-bg); }
.nkf-cta::after { background:radial-gradient(ellipse at 93% 105%,#dfc79623,transparent 68%); }
.nkf-cta h2 { font-family:var(--font-editorial); }
.nkf-dot { animation:none; }
body :focus-visible { outline-color:var(--w-acc-hi)!important; }
::selection { background:var(--w-acc-hi); color:var(--w-onacc); }
#book .view:not(#view-home) > .wrap > :is(h1,h2),
#book .view .section-head > :is(h1,h2),#book .trip-h1,#overlay .panel-head h2 {
  font:800 clamp(32px,4.5vw,67px)/1.04 var(--font-editorial);
  letter-spacing:-.065em; text-wrap:balance;
}
#book .view:not(#view-home) .section-head {
  margin-bottom:clamp(22px,3.5vw,40px);
  padding-bottom:clamp(16px,2vw,24px);
  border-bottom:1px solid var(--w-line);
}
#book .view:not(#view-home) .section-head::before {
  content:""; display:block; width:32px; height:3px; margin-bottom:14px; border-radius:3px; background:var(--w-acc);
}
#book .view .section-head p { max-width:65ch; line-height:1.6; }
.k-myforecast,.k-map-help,.k-map-advanced,.k-more-menu {
  background:var(--w-surf); border-color:var(--w-line); color:var(--w-ink);
}
.k-myforecast p,.k-myforecast label,.k-map-help p,.k-map-search,.k-more-nav summary { color:var(--w-ink2); }
.k-myforecast-score { color:var(--w-acc-hi); }
.k-more-menu button:hover { background:var(--w-surf3); }
#book .view .btn:not(.ghost,.secondary),#book .view .btn:not(.ghost,.secondary):hover {
  box-shadow:inset 0 1px 0 #fff3;
}
#book .view .card:hover { border-color:#5f998d!important; }
#book .view :is(.chip.active,.chip[aria-pressed="true"]) {
  color:var(--w-acc-hi); border-color:#5f998d;
}
#book .view :is(.btn,.chip),#overlay .btn { border-radius:9px; }
#book .view.active,#book .view.active > .wrap { animation:none; }
@media(prefers-reduced-motion:no-preference) {
  html:not([data-k-motion="off"]) #book .view:not(#view-home).active > .wrap { animation:k-view-arrive .22s var(--k-motion-curve); }
  .k-hero-links a,.k-place-entry button,.k-place-choices button {
    transition:background-color .16s ease,color .16s ease,transform .16s var(--k-motion-curve);
  }
  .k-hero-links a:active,.k-place-entry button:active { transform:translateY(2px); }
  .k-more-nav[open] .k-more-menu,.k-map-advanced[open] > :not(summary) {
    animation:k-enter .22s var(--k-motion-curve) both;
  }
  #book .view :is(.btn,.chip):active:not(:disabled),#overlay .btn:active:not(:disabled),.k-gallery-fish:active {
    transform:translateY(2px);
  }
}
@keyframes k-view-arrive { from{opacity:.8} to{opacity:1} }
#view-home .shore :focus-visible { outline-color:var(--w-acc-hi)!important; }
#view-home .shore ::selection { background:var(--w-acc-hi); color:var(--w-onacc); }

/* Living Sonar instruments. Keep movement on the visual layer, away from text and forms. */
:root {
  --w-bg:#05080f;
  --k-live:#00ff9d;
  --sonar-cyan:#00d2ff;
  --sonar-peak:#ffb800;
  --sonar-edge:rgba(0,255,157,.18);
}
body > header,body > header.solid,.nk-bar,#overlay .panel-head { background:#05080ff2!important; }
@media(min-width:1220px){
  body > header .navbar {
    max-width:var(--k-content-width); margin-inline:auto; padding-inline:0;
  }
}
.klevych-hud-card {
  background:linear-gradient(145deg,rgba(14,28,44,.65),rgba(6,12,20,.85));
  border:1px solid var(--sonar-edge); border-radius:16px;
  color:#e2f1ff; box-shadow:0 10px 30px -10px #000c,inset 0 1px 1px #00ff9d40;
}
.k-hero-score.klevych-hud-card,.k-sonar-dialog.klevych-hud-card { backdrop-filter:blur(16px); }
.k-home-result.klevych-hud-card { border-radius:0 16px 16px 0; }
.klevych-neon-btn {
  position:relative; justify-content:center; width:274px; max-width:100%; min-height:58px;
  aspect-ratio:274/70; padding:10px 24px; border:0; border-radius:24px;
  background:transparent url(/assets/web/sonar-dive-button.svg) center/100% 100% no-repeat;
  color:#fff; font:650 14px/1.3 Onest,system-ui,sans-serif;
  letter-spacing:.075em; text-align:center; text-transform:uppercase;
}
.klevych-neon-btn:hover { background:transparent url(/assets/web/sonar-dive-button.svg) center/100% 100% no-repeat; color:#fff; filter:drop-shadow(0 0 12px #00ff9d80); }
body > header .k-nav-dive { display:none; }
@media(min-width:1180px){
  body > header .k-nav-dive {
    display:inline-flex; align-items:center; flex:none; width:clamp(156px,12vw,186px); min-height:44px;
    aspect-ratio:200/52; padding:7px 14px; font-size:10px;
    background-image:url(/assets/web/sonar-dive-button-compact.svg);
  }
  body > header .k-nav-dive:hover { background-image:url(/assets/web/sonar-dive-button-compact.svg); }
}
.k-journal-cover {
  min-height:0;
  background:radial-gradient(ellipse at 68% 4%,#133547,transparent 57%),
    radial-gradient(ellipse at 24% 43%,#083328,transparent 54%),var(--w-bg);
}
.k-journal-cover::after { background:linear-gradient(0deg,var(--w-bg),transparent 36%); }
.k-cover-body {
  grid-template-columns:minmax(0,1.28fr) minmax(0,1fr);
  grid-template-areas:"copy cutaway" "fish cutaway" "actions meter";
  gap:6px 28px; padding:clamp(25px,4vw,62px) 0 34px; align-items:center;
}
.k-sonar-specimen {
  --fish-art:url(/assets/web/sonar-zander-1600.webp);
  grid-area:fish; min-width:0; margin:0 -3% 0 -5%; position:relative;
}
.k-sonar-specimen::before,.k-sonar-cutaway::before {
  content:""; position:absolute; inset:20% 6%; border:1px solid #5af4dd27;
  border-radius:50%; transform:rotate(-9deg); pointer-events:none;
}
.k-sonar-specimen::after {
  content:""; position:absolute; inset:26% 3% 17%; border-bottom:1px solid #5af4dd20;
  border-radius:50%; transform:rotate(-9deg); pointer-events:none;
}
.k-sonar-fish { position:relative; transform:translate(var(--fish-x,0px),var(--fish-y,0px)); }
.k-sonar-fish img { display:block; width:100%; height:auto; }
.k-sonar-scan {
  position:absolute; inset:0; pointer-events:none;
  mask:var(--fish-art) center/100% 100% no-repeat;
  background:linear-gradient(104deg,transparent 44%,#7effdbab 49%,#d6fff0 50%,#7effdb60 51%,transparent 56%) 100% 0/240% 100%;
  opacity:0; mix-blend-mode:screen;
}
.k-home-title {
  max-width:17ch; margin:0!important;
  font:750 clamp(28px,3.5vw,56px)/1.13 Unbounded,Onest,system-ui,sans-serif!important;
  letter-spacing:-.035em!important; text-transform:uppercase;
}
.k-home-description { margin:12px 0 0; max-width:42ch; }
.k-home-title em { color:#b2f4dc; }
.k-sonar-cutaway { grid-area:cutaway; align-self:center; margin:0; text-align:center; min-width:0; position:relative; }
.k-sonar-cutaway img { display:block; position:relative; width:100%; height:auto; filter:drop-shadow(0 12px 22px #00d2ff18); }
.k-sonar-cutaway figcaption { position:relative; color:var(--w-ink2); font:12px/1.5 var(--font-mono); }
.k-hero-score { justify-self:stretch; margin-left:8%; grid-template-columns:1fr auto; }
.k-hero-score .k-home-route { grid-column:2; grid-row:1; align-self:center; }
.k-hero-weather { grid-column:1/-1; }
.k-hero-score strong,.k-chart-readout .hstats b,.k-chart-coords,.k-hour-caption { font-family:var(--font-mono)!important; }
.k-sonar-dialog {
  width:min(460px,calc(100vw - 30px)); padding:clamp(18px,5vw,28px); max-height:calc(100dvh - 30px);
}
.k-sonar-dialog::backdrop { background:#02070bb8; backdrop-filter:blur(6px); }
.k-sonar-dialog-head { display:flex; align-items:start; justify-content:space-between; gap:12px; }
.k-sonar-dialog-head h2 { margin:6px 0 0; font:750 clamp(20px,5vw,28px)/1.25 Onest,system-ui,sans-serif; }
.k-sonar-dialog p { color:var(--w-ink2); }
.k-water-tools { gap:0; border-block:1px solid #214754; padding-top:0; }
.k-water-tool.klevych-hud-card {
  display:grid; grid-template-columns:minmax(0,1fr) auto; min-height:145px; padding:12px 14px;
  gap:6px 8px; align-content:space-between; border:0; border-radius:0; box-shadow:none; background:#091822;
}
.k-water-tool.klevych-hud-card + .k-water-tool { border-inline-start:1px solid #214754; }
.k-tool-scene {
  display:block; grid-column:1/-1; min-height:86px; border-radius:8px;
  background:radial-gradient(ellipse at 50% 70%,#0b4351,#0a1724 76%);
}
.k-tool-network .k-tool-scene { background-image:url(/assets/web/sonar-network.svg),radial-gradient(ellipse at 50% 70%,#0b4351,#0a1724 76%); background-size:cover; background-position:center; }
.k-tool-cutaway .k-tool-scene { background-image:url(/assets/web/sonar-terrain.webp),radial-gradient(ellipse at 50% 70%,#0b4351,#0a1724 76%); background-size:contain,cover; background-repeat:no-repeat; background-position:center; }
.k-tool-forecast .k-tool-scene {
  background:repeating-radial-gradient(ellipse at 55% 62%,#00d2ff00 0 10px,#25b7cc8c 11px,#00d2ff00 13px),
    radial-gradient(ellipse at 55% 62%,#157d79,#0a1724 62%);
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .k-water-tool.klevych-hud-card { transition:transform .3s var(--k-motion-curve),border-color .3s,box-shadow .3s; }
  .k-water-tool.klevych-hud-card:hover { border-color:#00ff9d80; box-shadow:0 0 25px #00ff9d26; transform:translateY(-2px); }
}
.k-sonar-dialog button,.k-radar-toggle {
  background:#122c31; border:1px solid #427467; border-radius:9px; min-height:44px; padding:8px 13px;
  color:var(--w-ink); font:inherit; cursor:pointer;
}
.k-sonar-dialog-head button { min-width:44px; font-size:21px; }
.k-sonar-signin { display:grid; gap:8px; }
.k-sonar-signin button:first-child,.k-radar-toggle[aria-pressed="true"] { border-color:var(--k-live); color:var(--k-live); }
.k-radar-toggle { min-width:66px; font-size:12px; }
.k-radar-face { display:none; }
.k-hour-chart.k-radar-mode:not(:empty) {
  display:block; width:min(100%,270px); aspect-ratio:1; margin-inline:auto;
  background:radial-gradient(circle,#00ff9d12,transparent 64%);
}
.k-radar-mode .k-radar-face { display:block; position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.k-radar-face circle { fill:none; stroke:#00ff9d3b; stroke-width:.45; }
.k-radar-face line { stroke:#00ff9dbb; stroke-width:1; stroke-linecap:round; }
.k-radar-face line.peak { stroke:var(--sonar-peak); }
.k-radar-mode .k-pressure-line { display:none; }
.k-radar-mode .k-hour-bar {
  position:absolute; z-index:1; left:var(--radar-x); top:var(--radar-y); transform:translate(-50%,-50%);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-height:44px; min-width:44px;
}
.k-radar-mode .k-hour-bar span { width:7px; height:7px; border-radius:100%; background:var(--k-live); }
.k-radar-mode .k-hour-bar:disabled span { background:var(--w-line); }
.k-radar-mode .k-hour-bar[aria-pressed="true"] span { box-shadow:0 0 12px var(--k-live); outline:3px solid #00ff9d45; }
@media(prefers-reduced-motion:no-preference){
  .klevych-neon-btn { transition:transform .25s var(--k-motion-curve),filter .25s ease; }
  .klevych-neon-btn:hover { transform:translateY(-1px) scale(1.04); }
  .k-sonar-dialog[open] { animation:k-enter .22s var(--k-motion-curve) both; }
  .k-sonar-fish { transition:transform .26s var(--k-motion-curve); }
  html:not([data-k-motion="off"]) .k-sonar-in-view .k-sonar-scan { animation:k-fish-scan 6s ease-out 1s infinite; }
}
@keyframes k-fish-scan {
  0%,40%,100% { opacity:0; }
  8%,31% { opacity:.75; }
  0%,8% { background-position:100% 0; }
  31%,100% { background-position:0 0; }
}
@media(max-width:820px){
  .k-home-result.klevych-hud-card { border-radius:0 0 16px 16px; }
  .k-cover-body { gap:10px 16px; }
  .k-hero-score { margin-left:0; }
}
@media(max-width:680px){
  .k-journal-cover { min-height:0; }
  .k-cover-body { padding:22px 0 20px; grid-template-columns:minmax(0,1fr); grid-template-areas:"copy" "fish" "actions" "meter" "cutaway"; gap:9px; }
  .k-sonar-specimen { --fish-art:url(/assets/web/sonar-zander-800.webp); margin:0 -4%; }
  .k-home-description { margin:9px 0 0; font-size:14px; }
  .k-sonar-cutaway { width:min(100%,350px); margin:8px auto 0; }
  .k-hero-score .k-home-route { min-height:44px; }
  .k-home-title { font-size:clamp(24px,5.5vw,37px)!important; }
  .k-cover-actions { gap:4px 14px; }
  .k-cover-actions .klevych-neon-btn { width:clamp(192px,56vw,228px); min-height:49px; font-size:11px; }
  .k-cover-actions .k-hero-map { font-size:13px; }
  .k-water-tool.klevych-hud-card { min-height:94px; padding:7px; font-size:11px; }
  .k-tool-scene { min-height:49px; }
}

/* One instrument language across the app, including the pages loaded on demand. */
#book .view:not(#view-home) {
  background:radial-gradient(ellipse 760px 340px at 80% 0,#0d2834 0,transparent 100%);
}
#book .view:not(#view-home)::before,
#book .view:not(#view-home) > .wrap::before { display:none!important; }
#book .view:not(#view-home) > .wrap { width:var(--k-content-width); max-width:1340px; }
#book .view:not(#view-home) .section-head {
  position:relative; isolation:isolate; min-width:0;
  padding:clamp(18px,3vw,38px); margin-bottom:clamp(18px,3vw,36px);
  border:1px solid #21515d; border-left:2px solid #51ccbb; border-radius:0 18px 18px 0;
  background:linear-gradient(110deg,#0c1825,#0d2633);
}
#book .view:not(#view-home) .section-head::before { display:none; }
#book .view:not(#view-home) .k-sonar-view-head::after {
  content:""; position:absolute; inset:0 0 0 auto; z-index:-1; width:44%; border-radius:inherit;
  background:linear-gradient(90deg,#0d2633,transparent 62%),var(--view-graphic) center/contain no-repeat;
  opacity:.65; pointer-events:none;
}
.k-sonar-view-head[data-sonar-view] { --view-graphic:url(/assets/web/sonar-network.svg); }
.k-sonar-view-head[data-sonar-view="atlas"] { --view-graphic:url(/assets/web/sonar-zander-800.webp); }
.k-sonar-view-head[data-sonar-view="map"] { --view-graphic:url(/assets/web/sonar-terrain.webp); }
.k-sonar-view-head[data-sonar-view="forecast"] { --view-graphic:repeating-radial-gradient(ellipse at 56% 50%,#0d263300 0 12px,#0eaab659 13px,#0d263300 15px); }
.k-view-instrument { margin-bottom:9px; color:var(--k-live); font:700 11px/1.4 var(--font-mono); letter-spacing:.14em; text-transform:uppercase; }
#book .view:not(#view-home) .k-sonar-view-head > :is(h1,h2) {
  max-width:min(24ch,72%); font:750 clamp(24px,3.35vw,51px)/1.16 Unbounded,Onest,system-ui,sans-serif;
  letter-spacing:-.043em;
}
#book .view:not(#view-home) .k-sonar-view-head > p { max-width:min(62ch,68%); }
#book .view :is(.card,.plan,.forecast-form,.forecast-result,.nk-plan,.k-myforecast,.account-section,.tool-panel),
#book #view-home :is(.trip-step,.led-col,.edge-list li) {
  background:linear-gradient(148deg,#102031,#09131d)!important;
  border-color:#234b58!important; box-shadow:inset 0 1px 0 #9ffff216;
}
#book #view-atlas .card {
  text-align:left; border-radius:5px 18px 5px 5px; border-top:2px solid #356b76!important;
}
#book #view-atlas .card-art { background:radial-gradient(ellipse,#153f47,#091925 68%); }
#book #view-atlas .card:hover { border-color:#51ddcb!important; box-shadow:0 6px 25px #00d2ff1e; }
#book #view-map :is(.map-side,.k-map-help,.k-map-advanced),.leaflet-control-layers-expanded,.leaflet-popup-content-wrapper,.leaflet-popup-tip {
  background:#0d1e2b!important; color:var(--w-ink);
}
.nk-company-pin { display:grid; place-items:center; border:2px solid currentColor; color:#a3f6da; background:#102c32; border-radius:50%; box-shadow:0 2px 8px #03101a; }
.nk-company-pin.nk-company-base { color:#ffe0a0; background:#382d25; border-radius:10px; }
.nk-company-pin:focus-visible { outline:2px solid #fff; outline-offset:3px; }
#book #view-map #mapBody:not(.map-full) { border-color:#2e5868!important; border-radius:14px!important; }
#view-forecast :is(.week-day,.score-hub-wrap,.fc-section) { border-color:#285769!important; }
#view-forecast .week-day.active { box-shadow:inset 0 0 0 1px #57bfb5; }
#view-forecast :is(.week-day-score,.score-title),#view-pricing .plan .price { font-family:var(--font-mono); }
#view-home :is(.deep-fish,.dive > .bub,.ember-bg,.ember .shore-clip) { display:none!important; }
#view-home .shore { background:var(--w-bg)!important; }
#view-home .shore::before,#view-home .shore::after,
#view-home .shore > :is(.stage,.shore-cue),#view-home .shore-in > .stage-hero { display:none!important; }
#view-home :is(.descent,.dive,.trip,.ember,.block) { background:var(--w-bg)!important; }
#view-home :is(.descent,.dive,.trip,.ember,.block)::before,
#view-home :is(.descent,.dive,.trip,.ember,.block)::after { background:none!important; }
#view-home .trip .wrap { width:var(--k-content-width); padding-block:clamp(26px,5vw,66px); }
#view-home .trip-step { padding:12px; border:1px solid #214754; border-radius:12px; }
@media(max-width:680px){
  #book .view:not(#view-home) .k-sonar-view-head > :is(h1,h2) { max-width:100%; overflow-wrap:anywhere; }
  #book .view:not(#view-home) .k-sonar-view-head > p { max-width:100%; }
  #book .view:not(#view-home) .k-sonar-view-head::after { opacity:.18; width:70%; }
}

/* Sonar navigation, with the same controls in the dock and on the main screens. */
body > header,body > header.solid {
  background:linear-gradient(100deg,#07141d,#0c222c 50%,#08141d)!important;
  border-bottom:1px solid #317481!important;
  box-shadow:inset 0 -1px 0 #73f2df22,0 8px 28px #03080f55;
}
body > header .navbar .nav-burger {
  color:#91fae4; border:1px solid #37717d; border-radius:8px 14px 8px 8px;
  background:linear-gradient(140deg,#183744,#0b1e29);
}
.navbar .nav-burger svg { display:block; width:20px; height:20px; margin:0 auto 2px; }
body > header .nav-icons {
  border:1px solid #2d6070; border-radius:12px 6px 12px 6px;
  gap:0; padding:0 2px; background:linear-gradient(155deg,#142d3b,#0b1924);
}
body > header .nav-icons :is(.lang-select,.icon-btn) {
  color:#d5e9ef; background:none; border:0!important; border-radius:0; box-shadow:none;
  min-height:44px;
}
body > header .nav-icons .icon-btn {
  width:44px; border-inline-start:1px solid #2d6070!important;
}
body > header .nav-icons .icon-btn:hover { color:#73f5d8; background:#174452; }
body > header .nav-icons .icon-btn[aria-current="page"] {
  color:#9bf5de; background:#16423f; box-shadow:inset 0 -2px #66e3c0;
}
body > header :is(.nav-burger,.nav-icons button):focus-visible {
  outline:2px solid #a4ffe6!important; outline-offset:-4px;
}
body > header .nav-icons .lang-select { padding-inline:7px; }
body > header nav.primary button.active { color:#a3ffe7; background:#173542; border-radius:8px 3px; }
body > header nav.primary button::after { background:#52e6d0!important; }
#nkDrawer {
  background:radial-gradient(ellipse at 0 0,#164351,transparent 55%),#091822;
  border-right:1px solid #438692;
}
#nkDrawer :is(.nkd-acc,.nkd-club,.nkd-close) { background:#112936; border:1px solid #32707b; border-radius:10px 4px 10px 4px; }
#nkDrawer .nkd-club::after { background:none; }
#nkDrawer .nkd-mark { border-radius:6px 12px 6px 6px; }
@media(max-width:820px){
  body #nkBar {
    left:max(8px,env(safe-area-inset-left,0px)); right:max(8px,env(safe-area-inset-right,0px));
    bottom:max(6px,env(safe-area-inset-bottom,0px)); padding:4px; gap:3px;
    background:linear-gradient(155deg,#122f3cf7,#081922fa)!important;
    border:1px solid #3a7e89; border-radius:17px 9px 17px 9px;
    box-shadow:0 8px 30px #0008,inset 0 1px 0 #6effde35;
  }
  body #nkBar :is(button,.nk-bar-market) {
    position:relative; border:1px solid transparent; border-radius:11px 5px; color:#a5c9d6;
    min-height:51px; gap:3px; padding:4px 2px; font:650 11px/1.25 Onest,system-ui,sans-serif;
  }
  body #nkBar :is(button,.nk-bar-market) svg { width:21px; height:21px; color:#85d7df; }
  body #nkBar button[aria-current="page"] { background:#15414b; border-color:#54ddc0; color:#e6fff9; }
  body #nkBar button[aria-current="page"] svg { color:#88ffdb; filter:drop-shadow(0 0 4px #58ffe690); }
  body #nkBar button[aria-current="page"]::after {
    content:""; position:absolute; inset:2px 5px auto auto; width:4px; height:4px; border-radius:50%;
    background:#88ffdb; box-shadow:0 0 6px #58ffe6;
  }
  body:not(.nk-kbd) { padding-bottom:calc(68px + env(safe-area-inset-bottom,0px)); }
  body .notice { bottom:calc(73px + env(safe-area-inset-bottom,0px)); }
}
@media(max-width:440px){
  body > header .navbar { gap:6px; }
  body > header .nav-icons .lang-select { max-width:72px; padding-inline:4px; }
}

/* The forecast opens at its controls; the atlas opens at its search and catalogue. */
#book #view-forecast .k-sonar-view-head { padding-block:clamp(13px,2vw,25px); margin-bottom:18px; }
#book #view-forecast .k-sonar-view-head p { margin-top:8px; font-size:14px; }
#book #view-forecast .k-forecast-console {
  gap:0; margin-bottom:24px; align-items:stretch;
  grid-template-columns:minmax(220px,.74fr) minmax(0,1.26fr);
  border:1px solid #397483; border-radius:16px 6px; overflow:hidden;
  background:#091823;
}
#book #view-forecast .k-forecast-console :is(.forecast-form,.forecast-result) {
  border:0!important; border-radius:0; box-shadow:none;
}
#book #view-forecast .k-forecast-console .forecast-form {
  background:#102836!important; border-inline-end:1px solid #397483!important;
}
#book #view-forecast .k-forecast-console .forecast-result:has(.forecast-placeholder) {
  background:radial-gradient(ellipse at 50% 35%,#153d47,#091823 66%)!important;
}
.k-forecast-console .forecast-placeholder { max-width:54ch; margin:auto; padding:25px 14px; }
.k-forecast-console .forecast-placeholder::before {
  content:""; display:block; margin:0 auto 16px; width:min(100%,210px); height:88px;
  background:repeating-radial-gradient(ellipse at center,#00d2ff00 0 10px,#55e9da6b 11px,#00d2ff00 13px);
  mask-image:radial-gradient(ellipse,black 34%,transparent 76%);
}
#book #view-atlas .atlas-search { display:block; margin:0 0 12px; }
#book #view-atlas .atlas-search input { max-width:none; min-height:48px; border-radius:8px 14px 8px 8px; }
#book #view-atlas .grid { gap:12px; grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr)); }
#book #view-atlas .grid .card {
  min-height:0; border-radius:6px 20px; padding:14px;
  background:radial-gradient(ellipse at 50% 12%,#123843,#0c202e 48%,#091722)!important;
}
#book #view-atlas .card-art { height:clamp(112px,11vw,165px); background:none; box-shadow:none; }
#book #view-atlas .grid .card h3 { font:760 clamp(18px,2vw,24px)/1.2 Onest,system-ui,sans-serif; }
#book #view-atlas .grid .card :is(.latin,.kind) { font-family:var(--font-mono); }
#book #view-atlas .results-meta { border-bottom:1px solid #28515f; padding-block:5px 11px; }
#book .view :is(.btn,.chip),#overlay .btn,footer.nkf .btn {
  border-radius:8px 14px 8px 8px;
}
#book .view :is(.btn.ghost,.btn.secondary),#overlay .btn.ghost {
  background:#102631; border-color:#386778; color:#d7eff2;
}
#book .view :is(.btn.ghost,.btn.secondary):hover,#overlay .btn.ghost:hover {
  border-color:#68ddca; background:#174452;
}
#book .view :is(input:not([type=checkbox],[type=radio],[type=range]),select,textarea) {
  border-color:#315766!important;
}
#book .view :is(input,select,textarea):focus { border-color:#62d9c5!important; }
#book .legal .section-head .legal-h { margin-bottom:0; }
#book .legal .doc-kicker:has(+ .k-sonar-view-head) { display:none; }
#book .legal :is(th,td) { border-color:#2c5160; }
footer.nkf {
  border-top-color:#37717d;
  background:radial-gradient(ellipse 800px 270px at 82% 0,#102c3a,transparent 100%),var(--w-bg);
}
footer.nkf .nkf-cta { border:1px solid #397483; border-radius:8px 22px; background:linear-gradient(110deg,#102837,#112432); }
footer.nkf .nkf-cta::after { background:repeating-radial-gradient(ellipse at 95% 65%,#00d2ff00 0 16px,#43c5cb22 17px,#00d2ff00 19px); }
footer.nkf .nkf-col h3 { color:#77d5cf; }
@media(max-width:680px){
  #book #view-forecast .k-forecast-console { grid-template-columns:minmax(0,1fr); }
  #book #view-forecast .k-forecast-console .forecast-form {
    border-inline-end:0!important; border-bottom:1px solid #397483!important;
  }
  #book #view-atlas .grid .card {
    display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
    gap:4px 10px; align-items:start; padding:12px;
  }
  #book #view-atlas .card-art { grid-column:2; grid-row:1/4; height:84px; align-self:center; }
  #book #view-atlas .grid .card :is(.kind,h3,.latin) { grid-column:1; margin:0; }
  #book #view-atlas .grid .card :is(.facts,.teaser) { grid-column:1/-1; }
}

/* The underwater palette is shared by controls, data and navigation. */
:root {
  --sonar-action:#62f6c4;
  --sonar-action-line:#4aa796;
  --sonar-action-glow:0 0 12px #00ff9d29,inset 0 0 9px #00ff9d14;
  --sonar-action-hover:0 0 19px #00ff9d57,inset 0 0 10px #00ff9d25;
  --sonar-console:linear-gradient(145deg,#0c292b,#0b1c2a 52%,#091620);
}
#book :is(.btn,.chip,.k-radar-toggle,.k-water-tool,.k-place-entry button),
footer.nkf :is(.btn,.nkf-up,.foot-max a,summary),.k-sonar-dialog button,
body > header :is(.nav-burger,.nav-icons),body #nkBar button[aria-current="page"] {
  border-color:var(--sonar-action-line)!important; box-shadow:var(--sonar-action-glow);
}
#book :is(.btn,.chip,.k-radar-toggle,.k-water-tool,.k-place-entry button):hover:not(:disabled),
footer.nkf :is(.btn,.nkf-up,.foot-max a,summary):hover,.k-sonar-dialog button:hover,
body > header :is(.nav-burger,.nav-icons):hover,body #nkBar button:hover {
  border-color:var(--sonar-action)!important; box-shadow:var(--sonar-action-hover);
}
#book :is(.btn,.chip,.k-radar-toggle,.k-water-tool):disabled { box-shadow:none; }
#book .klevych-neon-btn,footer .klevych-neon-btn { filter:drop-shadow(0 0 6px #00ff9d29); }
#book .klevych-neon-btn:hover,footer .klevych-neon-btn:hover { filter:drop-shadow(0 0 12px #00ff9d57); }
#book .view :is(.btn.ghost,.btn.secondary),#overlay .btn.ghost { background:#0c302f; }
#book .view :is(.btn.ghost,.btn.secondary):hover,#overlay .btn.ghost:hover { background:#12483e; }

.k-trip-desk {
  gap:0; margin-block:clamp(26px,5vw,72px) 0; padding:0;
  border:1px solid #307a7b; border-radius:10px 26px; background:var(--sonar-console);
  box-shadow:0 20px 52px #0006,inset 0 1px 0 #72ffdc25;
}
.k-trip-desk .k-desk-intro { padding:clamp(16px,3vw,32px); align-items:center; }
#view-home .k-desk-intro h2 { font-size:clamp(28px,4.4vw,54px); }
.k-trip-desk .k-desk-intro > p { font-size:14px; }
.k-trip-desk .k-water-tools {
  width:auto; margin:0; padding:10px clamp(10px,2vw,22px);
  gap:8px; border-block:1px solid #295866; background:#0b222c;
}
.k-trip-desk .k-water-tool {
  justify-content:center; gap:6px; min-height:46px; padding:5px;
  border:1px solid #36716c; border-radius:8px; background:#0d302e; text-align:center;
}
.k-trip-desk .k-water-tool::after { display:none; }
.k-trip-desk .k-water-tool svg { width:19px; height:19px; flex:none; color:var(--sonar-action); }
.k-trip-controls { padding:12px clamp(10px,2vw,22px); }
.k-trip-controls .k-place-entry { border-radius:8px; overflow:hidden; border-color:#498879; }
.k-trip-controls .k-place-entry button { background:var(--sonar-action); }
.k-trip-desk .k-water-workspace {
  grid-template-areas:"map radar"; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);
  border:0; border-top:1px solid #295866; border-radius:0; background:none;
}
.k-water-workspace .k-field-map { grid-area:map; border-radius:0 0 0 10px; }
.k-water-workspace .k-home-result {
  grid-area:radar; border:0; border-inline-start:1px solid #295866; border-radius:0 0 26px 0;
  background:linear-gradient(160deg,#102d34,#0a1825);
}
.k-water-workspace :is(.k-map-legend,.k-map-instructions) { background:#0d2831; }
.k-instrument-header { display:flex; justify-content:space-between; align-items:center; gap:12px; }
#view-home .k-instrument-header .k-desk-title { margin:0; }
.k-radar-mark { width:40px; height:40px; flex:none; border:1px solid #5decc774; border-radius:50%; background:repeating-radial-gradient(circle,#57e7c5 0 1px,transparent 2px 6px); }
.k-instrument-location { margin:8px 0 12px; color:#bce0e3; font:13px/1.35 var(--font-mono); }
.k-chart-modes { display:flex; gap:7px; }
.k-hour-panel { border-top:0; margin-top:10px; padding-top:0; }
.k-radar-mode .k-radar-face :is(circle,path) { fill:none; stroke:#5fd0d657; stroke-width:.42; }
.k-radar-mode .k-radar-face line { stroke-width:1.6; filter:drop-shadow(0 0 2px #55ffda); }
.k-radar-mode .k-radar-face line.peak { filter:drop-shadow(0 0 2px #ffb80090); }
.k-radar-center { display:none; }
.k-radar-mode .k-radar-center {
  display:flex; flex-direction:column; align-items:center; justify-content:center; pointer-events:none;
  position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%); width:62px; aspect-ratio:1;
  border-radius:50%; border:1px solid #53e6c087; background:#09242a; color:#a3ffe7; box-shadow:0 0 22px #00ff9d31;
  font:700 21px/1.1 var(--font-mono);
}
.k-radar-center small { font-size:10px; color:#a0c8ce; }
.k-hour-caption { padding:8px 10px; border:1px solid #2b6067; border-radius:6px; background:#0a222b; }
.k-hour-panel .k-chart-guide { margin:8px 0; font-weight:500; color:#b2cfd4; }
.k-hour-tooltip {
  position:absolute; z-index:4; bottom:calc(100% + 4px); transform:translateX(-50%);
  display:flex; flex-wrap:wrap; gap:3px 10px; width:max-content; max-width:100%;
  padding:7px 10px; pointer-events:none; border:1px solid #4c9b91; border-radius:8px;
  background:#0a2830; box-shadow:0 5px 14px #0008; color:#e2f4f6;
  font:650 12px/1.4 Onest,system-ui,sans-serif; font-variant-numeric:tabular-nums;
}
.k-hour-tooltip[hidden],.k-metric-help[hidden] { display:none; }
.k-metric-help { position:relative; min-width:0; }
.k-metric-help summary { cursor:pointer; color:#a9e5ec; font-size:12px; }
.k-metric-help > p {
  margin:6px 0 0; padding:8px 10px; max-width:33ch; border:1px solid #326469;
  border-radius:8px; background:#0b2630; color:#d0e8ea; font:500 12px/1.5 Onest,system-ui,sans-serif;
}
.k-hero-weather-help { grid-column:1/-1; }
@media(hover:hover) {
  .k-metric-help:not([open]):hover > p {
    display:block; position:absolute; z-index:5; inset:100% 0 auto auto; width:max-content;
    max-width:min(250px,75vw); margin:0;
  }
  .k-metric-help:not([open]):hover::details-content { content-visibility:visible; }
}
.k-instrument-details { margin-top:10px; }
.k-instrument-details summary { min-height:44px; display:list-item; padding:11px 6px; color:var(--sonar-action); cursor:pointer; }
.k-instrument-details .k-chart-body { padding:8px; border:1px solid #295866; border-radius:8px; }
.k-sonar-log :is(.dive,.trip) { min-height:0!important; height:auto!important; position:static!important; padding:0; }
#view-home .k-sonar-log .trip .wrap { width:100%; padding-block:clamp(16px,2vw,32px); }
.k-sonar-log .trip-step { position:relative; background:var(--sonar-console)!important; }
.k-sonar-log .trip-time { color:#72d8c5; }
.k-sonar-log .trip-rail { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:0; }
.k-sonar-log .trip-rail::before,.k-sonar-log .trip-step::before { display:none; }
.k-sonar-log .trip-step { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:12px; margin:0; }
.k-sonar-log .trip-step:first-child { grid-column:1/-1; }
.k-sonar-log .trip-time { border:1px solid #3e7a77; border-radius:8px; padding:5px 7px; }
.k-sonar-log .trip-body { min-width:0; }
#view-home .k-sonar-log .trip-h1 { margin:0 0 16px; }
.k-home-updates .nk-news :is(.nk-news-slide,.nk-news-card) { border-color:#2c5e65; background:var(--sonar-console); }
#view-home :is(.ember,.edge,.block:has(.axis),.block:has(.ledger),.closer) { display:none!important; }

/* Replace the system-rendered language popup and the old footer lists. */
.nav-icons .k-native-language { display:none!important; }
.nav-icons .k-language-trigger {
  display:inline-flex; align-items:center; justify-content:center; gap:5px;
  min-height:44px; min-width:44px; padding:3px 8px; background:transparent;
  border:0; color:#d9f4ef; font:650 12px/1.2 Onest,system-ui,sans-serif; cursor:pointer;
}
.nav-icons .k-language-trigger:hover { color:var(--sonar-action); background:#143f3c; }
.k-language-code { display:none; }
.k-language-dialog { width:min(540px,calc(100vw - 24px)); }
.k-language-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:14px; }
.k-language-options button { text-align:start; overflow-wrap:anywhere; }
.k-language-options button[aria-pressed="true"] { color:var(--sonar-action); background:#134237; }
footer.nkf .nkf-grid {
  display:grid; align-items:start; gap:clamp(12px,1.8vw,24px);
  grid-template-columns:minmax(190px,1.28fr) repeat(4,minmax(0,1fr));
  padding:clamp(14px,2.3vw,28px);
  border:1px solid #2b555d; border-radius:10px 22px; background:var(--sonar-console);
}
footer.nkf .nkf-brand { min-width:0; grid-column:auto; }
footer.nkf .nkf-col {
  padding:0;
}
footer.nkf .nkf-col details { width:100%; }
footer.nkf .nkf-col summary {
  min-height:42px; padding:9px 0; border:0; border-bottom:1px solid #326469;
  border-radius:0; cursor:pointer; box-shadow:none;
}
footer.nkf .nkf-col summary h3 { display:inline; }
footer.nkf .nkf-col a { display:block; padding:6px 0; overflow-wrap:anywhere; }
footer.nkf .nkf-docs {
  grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px;
  border-top:1px solid #326469; padding-top:6px;
}
footer.nkf .nkf-docs summary {
  border:0; border-radius:8px; padding-inline:10px;
  background:#0b302e; box-shadow:var(--sonar-action-glow);
}
footer.nkf .nkf-docs summary:hover { background:#12483e; box-shadow:var(--sonar-action-hover); }
.nkf-utility-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 12px; padding-top:8px; }
footer.nkf .nkf-bottom { padding:14px; border:1px solid #2b555d; border-radius:8px 15px; background:#0c222b; }
footer.nkf .nkf-up { border:1px solid #439a8a; background:#0b302e; border-radius:8px; min-height:44px; }
body.k-footer-end #nkToTop { visibility:hidden; pointer-events:none; }
#storeNotice:not([hidden]) {
  border:1px solid #438579!important; border-radius:9px 18px!important;
  background:linear-gradient(145deg,#102c2d,#0b1b2a)!important;
  box-shadow:0 10px 28px #000a,inset 0 1px 0 #91ffd02e!important;
}
#storeNotice :is(.btn,.lnk) { border-radius:8px; }
#storeNotice .btn { box-shadow:var(--sonar-action-glow); }
#storeNotice .btn:hover { box-shadow:var(--sonar-action-hover); }
#storeNotice .lnk { color:var(--sonar-action); }
@media(max-width:820px) {
  .k-trip-desk .k-water-workspace { grid-template-areas:"radar" "map"; grid-template-columns:minmax(0,1fr); }
  .k-water-workspace .k-home-result { border-inline-start:0; border-radius:0; }
  .k-water-workspace .k-field-map { border-top:1px solid #295866; border-radius:0 0 26px 10px; }
}
@media(max-width:950px) {
  footer.nkf .nkf-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  footer.nkf .nkf-brand { grid-column:1/-1; }
}
@media(max-width:680px) {
  .k-trip-desk .k-water-tool { flex-direction:column; font-size:11px; min-height:54px; }
  .k-sonar-log .trip-rail { grid-template-columns:minmax(0,1fr); }
  footer.nkf .nkf-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  footer.nkf :is(.nkf-brand,.nkf-docs) { grid-column:1/-1; }
  .nkf-utility-links { grid-template-columns:minmax(0,1fr); }
  footer.nkf .nkf-bottom { align-items:flex-start; }
}
@media(max-width:360px) {
  .k-language-name { display:none; }
  .k-language-code { display:inline; }
}

#book .view :is(.summary,.cart-line,.login-shell,.acc-menu,.acc-screen > .account-section,
  .status-card,.rm-card,.rm-write-wrap,.tool-result,.tool-form,.week-day,.forecast-result .fc-personal) {
  background:var(--sonar-console)!important;
  border-color:#326469!important; box-shadow:inset 0 1px 0 #77f9dc21;
}
#book #view-cart #cartContent > :first-child { min-width:0; }
#book #view-cart #cartContent > p { padding:20px; border:1px solid #326469; border-radius:8px 18px; background:var(--sonar-console); }
#book #view-forecast .k-forecast-console :is(.forecast-result,.forecast-form) { background:var(--sonar-console)!important; }
#book #view-forecast .forecast-result .score-hub-wrap {
  border:1px solid #3c847d; border-radius:50%;
  background:repeating-radial-gradient(circle,#0d303200 0 19px,#71f0d522 20px,#0d303200 22px),
    radial-gradient(ellipse,#11555440,transparent 66%);
}
#book #view-forecast .week-strip { padding:8px 6px 14px; }
#book #view-forecast .week-day.active { border-color:var(--sonar-action)!important; box-shadow:var(--sonar-action-glow); }
#view-forecast .fc-blurred { filter:blur(5px); user-select:none; }
#view-forecast .fc-blurred-text { filter:blur(3px); user-select:none; }
#book #view-forecast .week-day { border-radius:8px 16px; }
#book #view-forecast .week-day:not(button) { cursor:default; transform:none; }
#book #view-forecast .k-week-locked { border-style:dashed; }
.k-week-preview { text-align:center; }
.k-week-lock-label { color:#a9c9ce; font-size:10px; line-height:1.2; text-align:center; }
#book #view-forecast .fc-lock {
  margin-top:14px; padding:clamp(14px,3vw,24px); text-align:start;
  border:1px solid #326469; border-radius:8px 18px; background:var(--sonar-console);
}
#book #view-forecast .fc-lock-icon { vertical-align:middle; margin:0 8px 10px 0; color:var(--sonar-action); }
#book #view-forecast .fc-lock-badge { color:#b1f5df; border-color:#397773; }
#book #view-forecast .fc-lock-text { max-width:68ch; margin:0 0 14px; color:#bdd7dc; }
#book #view-map :is(.map-side,.k-map-help,.k-map-advanced) { background:var(--sonar-console)!important; }
#book #view-account :is(.acc-menu,.login-shell),#book #view-pricing .plan { border-radius:8px 18px; }

/* Shared secondary action, including controls rendered outside #book. */
:is(#book,footer.nkf) .k-instrument-action,
#overlay :is(.close-btn,.detail-zoom,.card-jump,.crosslink button,.nk-fish-fc),
.zoom .zoom-close {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; padding:7px 12px; border:1px solid var(--sonar-action-line);
  border-radius:8px; background:#0b302e; color:#cbf8e9; text-decoration:none;
  box-shadow:var(--sonar-action-glow); font-weight:650;
}
:is(#book,footer.nkf) .k-instrument-action:hover,
#overlay :is(.close-btn,.detail-zoom,.card-jump,.crosslink button,.nk-fish-fc):hover,
.zoom .zoom-close:hover {
  background:#12483e; color:#f0fff8; border-color:var(--sonar-action); box-shadow:var(--sonar-action-hover);
}
#book .k-hero-weather { color:#a9d3d9; }
.k-water-workspace .k-map-instructions {
  padding:12px 14px; gap:8px 14px; border:0; border-top:1px solid #295866;
  border-radius:0; background:#0b252a;
}
.k-menu-label { display:block; color:#d6fff4; font:650 11px/1.15 Onest,system-ui,sans-serif; }
footer.nkf .k-footer-lead { color:#d2eae9; max-width:32ch; }
footer.nkf .k-footer-shortcuts { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 4px; }
footer.nkf .k-footer-about summary { min-height:44px; padding:10px 0; color:#b7e0dd; cursor:pointer; box-shadow:none; overflow-wrap:anywhere; }

#book :is(#view-blog,#view-encyclopedia) .enc-list { display:grid; gap:10px; }
#book :is(#view-blog,#view-encyclopedia) .enc-card {
  min-width:0; gap:12px; padding:14px; border:1px solid #326469;
  border-radius:8px 18px; background:var(--sonar-console);
}
#book :is(#view-blog,#view-encyclopedia) .enc-card:hover { border-color:var(--sonar-action); box-shadow:var(--sonar-action-glow); }
#book :is(#view-blog,#view-encyclopedia) .enc-card-icon {
  flex:0 0 38px; width:38px; height:38px; display:grid; place-items:center;
  border:1px solid #326469; border-radius:8px; background:#0b302e; color:var(--sonar-action);
}
#book :is(#view-blog,#view-encyclopedia) .enc-card-icon svg { width:21px; height:21px; }
#book :is(#view-blog,#view-encyclopedia) .enc-card-title { color:#e4f5f4; }
#book :is(#view-blog,#view-encyclopedia) .winter-block { border-color:#2d5e65; }

/* The atlas and tackle reader use one scrollport and one column grid. */
html:has(#overlay.open) { overflow:hidden; }
body:has(#overlay.open) :is(.nk-bar,#nkToTop) { visibility:hidden; }
#overlay {
  z-index:1500; overscroll-behavior:contain; scrollbar-gutter:stable;
  background:radial-gradient(ellipse at 50% 0%,#123239,#070e17 75%)!important;
}
#overlay .panel {
  --detail-edge:clamp(12px,4vw,32px);
  width:min(820px,100%); padding:0 var(--detail-edge) max(32px,env(safe-area-inset-bottom));
}
#overlay .panel-head {
  margin-inline:calc(-1 * var(--detail-edge));
  padding:calc(12px + env(safe-area-inset-top)) var(--detail-edge) 12px;
  gap:12px; background:#0b222b!important; border-color:#397075;
}
#overlay .panel-head > :first-child { min-width:0; overflow-wrap:anywhere; }
#overlay .panel-head .kind { color:var(--sonar-action); }
#overlay .panel-head .latin { color:#accdd2; }
#overlay :is(.close-btn,.detail-zoom),.zoom .zoom-close { width:44px; padding:0; }
#overlay .detail-zoom { position:absolute; inset-block-start:8px; inset-inline-end:8px; cursor:zoom-in; }
#overlay .detail-zoom svg { width:22px; height:22px; }
#overlay .detail-media {
  position:relative; margin-block:14px 0; border:1px solid #326469;
  border-radius:9px 18px; overflow:hidden; background:#0d242d;
}
#overlay .detail-media :is(.detail-photo,.fish-wiki-photo,.fish-scene) {
  margin:0; padding:0; border:0; border-radius:0; background:none; cursor:inherit;
}
#overlay .detail-photo::before,#overlay .detail-photo::after { content:none; }
#overlay .detail-media img { object-fit:contain; }
#overlay .detail-media figcaption { margin:0; padding:8px 12px; color:#b5d6db; }
#overlay .panel-facts { padding:14px 0 0; }
#overlay .panel-facts .fact { border-color:#397075; background:#102931; color:#bedee2; }
#overlay .nk-fish-fc {
  margin-top:12px; max-width:100%; white-space:normal; text-align:start;
  background:#0b302e!important; color:#cbf8e9!important;
}
#overlay .nk-fish-fc:hover { background:#12483e!important; color:#f0fff8!important; }
#overlay .card-toc {
  flex-wrap:wrap; overflow:visible; scroll-snap-type:none; gap:8px; margin:16px 0 0; padding:0;
}
#overlay .card-jump { white-space:normal; text-align:start; }
#overlay .panel-body { padding:18px 0 0; gap:12px; }
#overlay .sec {
  min-width:0; padding:clamp(13px,3vw,22px); border:1px solid #2c5963;
  border-radius:8px 18px; background:var(--sonar-console); overflow-wrap:anywhere;
}
#overlay .sec .sec-label { color:#b1f5df; }
#overlay .sec .sec-label::after { background:#326469; }
#overlay .sec :is(p,li) { color:#d3e6e8; }
#overlay .fish-scene-habitat { margin:14px 0 0; }
#overlay .k-strip { grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:12px; }
#overlay .k-shot {
  min-width:0; padding:8px; transform:none; box-shadow:none;
  border:1px solid #326469; border-radius:8px 14px; background:#0b242c;
}
#overlay .k-frame { overflow:hidden; border-radius:5px 10px; }
#overlay .k-num { border-color:#4aa796; background:#0a252b; color:#b1f5df; }
#overlay .k-shot figcaption {
  padding:9px 4px 3px; font:500 .9rem/1.5 Onest,system-ui,sans-serif; color:#d3e6e8;
}
.zoom { z-index:1501; background:#040c13f5; }

/* Search fields use the same surface, including their composite variants. */
:is(.navbar,#book,.nk-map-panel) input[type="search"]:not(.k-place-entry input,.nkq-find input),
#book .nkq-find,#book .k-place-entry {
  min-height:44px; border:1px solid #3e777b!important; border-radius:8px;
  background:#0b242c!important; color:#e2f1ff!important;
  box-shadow:inset 0 1px 0 #80ead421!important;
}
:is(.navbar,#book,.nk-map-panel) input[type="search"]::placeholder {
  color:#a9c9ce!important; opacity:1;
}
:is(.navbar,#book,.nk-map-panel) input[type="search"]:not(.k-place-entry input,.nkq-find input):focus,
#book :is(.nkq-find,.k-place-entry):focus-within {
  border-color:var(--sonar-action)!important;
  box-shadow:0 0 0 2px #73f3ce55!important;
}
:is(.search-shell,.atlas-search) { position:relative; }
:is(.search-shell,.atlas-search)::before {
  content:""; position:absolute; inset-inline-start:11px; top:50%;
  width:18px; height:18px; transform:translateY(-50%); pointer-events:none;
  opacity:1; background:#9bf3de;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='5.5'/%3E%3Cpath d='m15 15 4 4'/%3E%3C/svg%3E") center/contain no-repeat;
}
.navbar #search,#book #view-atlas #atlasSearch { padding-inline-start:36px; }
#book #view-atlas #atlasSearch { min-height:48px; }

:is(#book .view,#overlay,#mapBody.map-full)
  :is(select,textarea,input:not([type]),input:is([type="text"],[type="email"],[type="password"],[type="date"],[type="datetime-local"],[type="number"],[type="tel"],[type="url"],[type="time"])) {
  min-width:0; min-height:44px; color-scheme:dark; accent-color:var(--sonar-action);
  border:1px solid #3e777b!important; border-radius:8px!important;
  background:#0b242c!important; color:#e2f1ff!important; box-shadow:inset 0 1px 0 #80ead421!important;
}
:is(#book .view,#overlay,#mapBody.map-full) :is(input,textarea)::placeholder { color:#a9c9ce!important; opacity:1; }
:is(#book .view,#overlay,#mapBody.map-full) .form-field label {
  color:#b9d8da; font:600 .84rem/1.35 Onest,system-ui,sans-serif;
}
#book .hemi-toggle button {
  min-height:44px; border:1px solid #3e777b; border-radius:8px;
  background:#0b242c; color:#c5e3e3;
}
#book .hemi-toggle button[aria-pressed="true"] {
  border-color:var(--sonar-action-line); background:#16423f; color:#c7fff0; box-shadow:var(--sonar-action-glow);
}
#book .k-forecast-locate {
  display:flex; justify-content:center; align-items:center; gap:8px; width:100%; margin-top:8px; min-height:44px;
}
#book .k-forecast-locate svg { flex:none; color:var(--sonar-action); }

#view-pricing .k-trial-note {
  display:grid; grid-template-columns:24px minmax(0,1fr); gap:12px; align-items:start;
  padding:clamp(14px,2vw,20px); margin-top:20px; border:1px solid #326469;
  border-radius:8px 18px; background:var(--sonar-console); color:#d3e6e8;
}
#view-pricing .k-trial-note svg { width:24px; height:24px; color:var(--sonar-action); }
#view-pricing .k-trial-note h3 { margin:0 0 5px; color:#b1f5df; font:700 1rem/1.35 Onest,system-ui,sans-serif; }
#view-pricing .k-trial-note p { margin:0; max-width:70ch; line-height:1.55; }

.region-grid,.region-detail {
  display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
}
.region-card,.region-panel {
  min-width:0; padding:clamp(14px,2vw,22px); border:1px solid #326469;
  border-radius:8px 18px; background:var(--sonar-console); overflow-wrap:anywhere;
}
.region-card {
  display:flex; flex-direction:column; gap:10px; text-decoration:none; color:#e3f5f4;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.region-card:is(:hover,:focus-visible) {
  color:#f0fff8; border-color:var(--sonar-action); box-shadow:var(--sonar-action-glow);
}
.region-card-head {
  display:grid; grid-template-columns:minmax(0,1fr) 28px; gap:10px; align-items:start;
  font-size:clamp(17px,1.45vw,20px); font-weight:720; line-height:1.3;
}
.region-card-head svg { width:24px; height:24px; color:var(--sonar-action); }
.region-card-note,.region-directory-note,.region-panel p { color:#bdd7dc; line-height:1.55; }
.region-card-note { flex:1; }
.region-card-stats {
  display:flex; flex-wrap:wrap; gap:6px 14px; padding-top:10px; border-top:1px solid #2f5960;
  color:#aeced1; font-size:.82rem;
}
.region-card-stats b { margin-inline-start:3px; color:#a7f5df; font-variant-numeric:tabular-nums; }
.region-directory-note { margin:16px 0 0; }
.region-back { margin-bottom:12px; cursor:pointer; }
.region-search-tools,.nk-my-rooms,.nk-social-feed,.nk-profile-settings {
  min-width:0; padding:clamp(12px,2.2vw,20px); border:1px solid #326469;
  border-radius:8px 18px; background:var(--sonar-console);
}
.region-search-tools { margin-bottom:14px; }
.region-search-tools label,.nk-my-rooms label { display:block; margin-bottom:6px; color:#c5e4e5; font-weight:650; }
.region-search-row { display:flex; flex-wrap:wrap; gap:8px; }
.region-search-row input { flex:1 1 180px; min-width:0; }
.region-search-tools p { margin:7px 0 0; color:#a9c9ce; font-size:13px; }
.region-search-tools p:empty,.nk-social-feed p[role="status"]:empty { display:none; }
.region-personal { width:max-content; max-width:100%; color:#b1f5df; font-size:12px; font-weight:650; }
.region-save { margin-inline-start:4px; }
.nk-room-filters { display:flex; gap:7px; flex-wrap:wrap; align-items:center; margin:10px 0; }
#book .nk-room-filters [aria-pressed="true"] { background:#16483e; border-color:var(--sonar-action); }
.nk-community-nav,.nk-room-share { margin-bottom:14px; }
.nk-my-rooms,.nk-social-feed { margin-top:14px; }
#nkMyRoomSearch { width:100%; }
.nk-room-share { padding:10px; border:1px solid #326469; border-radius:8px; background:#0b242c; }
.nk-profile-settings { margin-top:16px; }
.nk-profile-settings fieldset { min-width:0; display:grid; gap:8px; margin:12px 0; padding:10px; border:1px solid #326469; border-radius:8px; }
.nk-profile-settings legend { padding:0 6px; color:#b1f5df; font-weight:700; }
.nk-profile-check { display:flex; gap:8px; align-items:center; min-height:44px; }
.nk-profile-settings p { margin:0; color:#b3ced4; }
.nk-profile-settings :is(input,select,textarea),.nk-feed-comments textarea { font:inherit; }
.nk-profile-settings textarea,.nk-feed-comments textarea { padding:9px 10px; }
.nk-profile-cover { min-height:100px; border:1px solid #326469; border-radius:8px 18px; background:radial-gradient(ellipse,#175f58,#0b1c2a); }
.rm-icon svg { color:#9beed7; }
.nk-feed-items { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:10px; align-items:start; }
.nk-feed-post { min-width:0; padding:14px; border:1px solid #326469; border-radius:8px 18px; background:#0b2029; overflow-wrap:anywhere; }
.nk-feed-author { display:flex; align-items:center; gap:8px; color:#b1f5df; }
.nk-feed-post h4,.nk-feed-post p { margin:8px 0; }
.nk-feed-post > img { width:100%; max-height:360px; object-fit:contain; border-radius:8px; }
.nk-feed-note,.nk-comment-list span { white-space:pre-wrap; }
.nk-comment-list p { display:grid; gap:3px; padding:7px 0; border-top:1px solid #2e5a63; }
.nk-feed-comments textarea { display:block; width:100%; }
.nk-emoji-picker { margin-block:5px; }
.nk-emoji-picker summary { cursor:pointer; color:#b1f5df; min-height:28px; }
.nk-emoji-picker > div { display:flex; flex-wrap:wrap; gap:4px; }
.nk-emoji-picker button { min-width:36px; min-height:38px; border:1px solid #326469; border-radius:7px; background:#0b2b31; cursor:pointer; }
:is(.rm-write,.nk-chat-foot) .nk-emoji-picker { flex-basis:100%; order:2; }
.nk-chat-foot { flex-wrap:wrap; }
.region-detail { grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); }
.region-panel-wide { grid-column:1/-1; }
.region-panel h3 { margin:0 0 10px; font:700 1.12rem/1.35 Onest,system-ui,sans-serif; color:#b1f5df; }
.region-panel p { margin:0 0 8px; max-width:70ch; }
.region-panel p:last-child { margin-bottom:0; }
.region-waters {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));
  list-style:none; padding:0; margin:0; gap:0 18px;
}
.region-waters li { min-width:0; padding:12px 0; border-top:1px solid #2f5960; }
.region-waters h4 { margin:0 0 4px; color:#e3f5f4; font-size:.97rem; }
#view-regions .region-fish { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }
#view-regions .region-fish .chip { min-height:44px; white-space:normal; }
.region-panel-wide > .k-instrument-action { margin-bottom:12px; }
.region-waters .k-instrument-action { margin-top:4px; }
#overlay .sec .k-instrument-action {
  display:inline-flex; align-items:center; min-height:44px; padding:7px 12px; margin-top:12px;
  border:1px solid var(--sonar-action-line); border-radius:8px; background:#0b302e;
  color:#cbf8e9; box-shadow:var(--sonar-action-glow); cursor:pointer;
}
#overlay .sec .k-instrument-action:hover { background:#12483e; box-shadow:var(--sonar-action-hover); }
#view-map .habitat-map-panel { order:-1; margin:0 0 10px; }
.habitat-map-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.habitat-map-heading button { min-width:44px; flex:none; }
.habitat-water-list {
  display:grid; gap:7px; max-height:min(280px,40vh); overflow:auto; padding:2px 3px 3px;
}
#book .habitat-water-list .k-instrument-action { justify-content:flex-start; text-align:start; white-space:normal; }
.habitat-map-panel [role="status"]:not(:empty) { margin-top:8px; }
.habitat-map-pin {
  border:2px solid #d6fff0; border-radius:50%; background:#137a68;
  box-shadow:0 0 0 4px #1de6af66,0 0 18px #20e8b8;
}
span.habitat-map-pin { display:block; width:22px; height:22px; transform:translate(-50%,-50%); }
#view-map #mapCanvas,#mapBody.map-full #mapCanvas {
  background:#081620!important; scroll-margin-block-start:calc(var(--nav-h,80px) + 8px);
}
body > #mapBody.map-full .map-exit {
  inset:auto auto calc(26px + env(safe-area-inset-bottom)) 12px; z-index:1070;
  min-height:44px; border-color:#397773; border-radius:8px; background:#0b2630;
}
.k-map-location-control {
  position:absolute; z-index:1050; inset-block-start:68px; inset-inline-end:10px;
  display:grid; justify-items:end; gap:6px; pointer-events:none;
}
.k-map-stage .k-map-location-control { inset-block-start:10px; }
.k-map-location-control button { pointer-events:auto; }
.k-map-location-control button:disabled { opacity:.7; cursor:wait; }
.k-map-location-status {
  max-width:min(245px,70vw); margin:0; padding:8px 10px;
  border:1px solid #397773; border-radius:8px; background:#0b2630; color:#d8efef;
  font:600 12px/1.45 Onest,system-ui,sans-serif; box-shadow:0 6px 16px #0006;
}
.k-map-location-status:empty { display:none; }

#book #view-atlas .grid { align-items:start; }
#book #view-atlas .grid .card { gap:6px; }
#book #view-atlas .grid .card .teaser { flex:none; line-height:1.45; color:#c1dade; }
#book #view-atlas .grid .card .latin { color:#a9c9ce; }
#book #view-atlas .grid .card .facts { margin-top:4px; gap:5px; }
#book #view-atlas .grid .card .fact { color:#bbd8dc; border-color:#30565e; background:#0b212b; }
@media(min-width:681px) {
  #book #view-atlas .card-art { height:clamp(108px,8vw,126px); margin:0 0 2px; padding:0; }
}

@media(max-width:680px) {
  .k-water-workspace .k-map-instructions { display:grid; justify-items:start; }
  #overlay .card-toc { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  #overlay .card-jump { justify-content:flex-start; }
}

/* Saved forecast preferences */
#book #view-forecast :is(#fcRememberFish,#fcRememberPlace,#fcSavedPlaces)[hidden] {
  display:none;
}
#fcRememberFish,#fcRememberPlace { align-self:flex-start; margin-top:4px; min-height:44px; }
.fc-memory { margin-top:8px; padding-top:12px; border-top:1px solid var(--w-line, #30565e); }
.fc-memory h4 { margin:0 0 4px; font-size:1rem; }
.fc-memory p { margin:0 0 8px; }
.fc-memory ul { list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.fc-memory li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px; }
.fc-memory li button { min-width:0; min-height:44px; white-space:normal; overflow-wrap:anywhere; }
.fc-memory li button:first-child { text-align:start; justify-content:start; }
.fc-memory li button[aria-pressed="true"] { border-color:var(--w-mint, #57e5bd); }
#fcMemoryStatus { margin:4px 0 0; }
#fcMemoryStatus:empty { margin:0; }

.k-atlas-market-link { margin:4px 24px 12px; width:fit-content; max-width:calc(100% - 48px); white-space:normal; }

.nk-market-top {
  flex:none; display:inline-flex; align-items:center; min-height:44px; white-space:nowrap;
  color:var(--w-ink2); text-decoration:none; font:500 .84rem/1.2 var(--font-ui);
}
.nk-market-top:hover { color:var(--w-ink); }
.nk-market-top.nk-market-compact { display:none; }
@media (min-width:821px) and (max-width:1179px) {
  .nk-market-top.nk-market-compact { display:inline-flex; padding-inline:8px; }
}
@media (min-width:1180px) and (max-width:1380px) {
  body > header nav.primary { gap:clamp(8px,.9vw,14px); }
  .nk-market-top { font-size:.78rem; }
}
.nk-bar-market { text-decoration:none; }
@media (max-width:420px) {
  body #nkBar :is(button,.nk-bar-market) { font-size:clamp(8.5px,2.6vw,11px); }
}
.nk-market-drawer { text-decoration:none; }

#book #view-account .acc { max-width:none; }
#book #view-account .acc-menu { padding:12px; }
#book #view-account .acc-head {
  padding:8px 4px 14px; margin:0 0 4px; gap:10px; flex-wrap:nowrap;
  border:0; border-bottom:1px solid #326469; border-radius:0; background:none;
}
#book #view-account .acc-head .acc-who { flex-basis:auto; }
#book #view-account .acc-ava { width:44px; height:44px; }
.acc-navigation .acc-overview-link { display:none; }
.acc-navigation .acc-group { margin-top:12px; }
.acc-navigation .acc-group h3 {
  margin:0 0 4px; padding:0 8px; color:var(--w-ink2);
  font:650 .75rem/1.3 var(--font-ui); letter-spacing:.02em;
}
#book #view-account :is(.acc-list,.acc-overview-links) { border:0; border-radius:0; }
#book #view-account .acc-row {
  min-height:44px; gap:8px; padding:7px 8px; border:0; border-radius:7px;
  font-size:.91rem; line-height:1.28; text-decoration:none;
}
#book #view-account .acc-row[aria-current=page] { background:#15414b; color:#e6fff9; }
#book #view-account .acc-row .acc-ico { display:grid; place-items:center; width:22px; }
#book #view-account .acc-row .acc-arr { margin-inline-start:auto; line-height:1; }
#book #view-account .acc-exit {
  margin:12px 0 0; padding:4px 8px 0; gap:4px 14px; flex-direction:row;
  flex-wrap:wrap; border-top:1px solid #326469;
}
#book #view-account .acc-exit :is(.acc-delete,.acc-logout) { font-size:.81rem; }
#book #view-account .acc-body { min-width:0; }
#book #view-account .acc-overview-panel {
  padding:clamp(16px,2.25vw,26px); margin:0 0 12px;
  border:1px solid #326469; border-radius:8px 18px; background:var(--sonar-console);
}
#book #view-account .acc-overview-panel :is(h2,h3) { margin:0 0 6px; }
#book #view-account .acc-overview-panel p { margin:0 0 10px; color:var(--w-ink2); }
#book #view-account .acc-overview-links { display:grid; gap:2px; }
#book #view-account .acc-overview-links .acc-row { border:1px solid #326469; }
#book #view-account [data-shown=sub] .acc-head .acc-badge { display:none; }
@media(min-width:900px) {
  #book #view-account .acc { grid-template-columns:minmax(235px,280px) minmax(0,1fr); gap:clamp(16px,2vw,28px); }
  #book #view-account .acc-title { display:block; }
  #book #view-account [data-shown=overview] .acc-title { display:none; }
  #book #view-account [data-shown=overview] .acc-body { position:sticky; top:calc(var(--nav-h) + 12px); }
  #book #view-account .acc-overview-link { display:flex; }
}

body > header [data-header-view="account"],#book #view-account .acc-ava { position:relative; }
body > header [data-header-view="account"] .nk-user-avatar,#book #view-account .acc-ava .nk-user-avatar {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); border-radius:50%;
  object-fit:cover; visibility:hidden;
}
body > header [data-header-view="account"] .nk-user-avatar { width:24px; height:24px; }
#book #view-account .acc-ava .nk-user-avatar { width:100%; height:100%; }
.nk-avatar-ready > .nk-user-avatar { visibility:visible!important; }
.nk-avatar-ready > :not(.nk-user-avatar) { visibility:hidden; }

[data-market-public][aria-disabled="true"] { cursor:default; color:var(--w-ink2); }
.nk-market-soon { margin-inline-start:.25em; color:#95e5d1; font-size:.72em; }
.k-skip-content {
  position:fixed; z-index:10000; inset-block-start:8px; inset-inline-start:8px;
  padding:12px 16px; border-radius:8px; background:#a3f6da; color:#071019;
  transform:translateY(calc(-100% - 12px));
}
.k-skip-content:focus { transform:none; }
#book { scroll-margin-top:var(--nav-h, 90px); }
[data-market-public]:not([aria-disabled]) .nk-market-soon { display:none; }
#nkBar .nk-market-soon { display:block; margin:0; }
#nkBar [data-market-public]:not([aria-disabled]) .nk-market-soon { display:none; }
@media (scripting: enabled) {
  html:not(.k-home-fallback) #view-home:not(:has(#kHomeTitle)) > * { visibility:hidden; }
  html:not(.k-home-fallback) #view-home:not(:has(#kHomeTitle))::before {
    content:"Клёвыч"; position:absolute; inset-inline:0; top:clamp(115px,20vh,195px);
    text-align:center; color:#9de8d7; font-size:1rem; letter-spacing:.12em;
  }
}
