/* Z-129 v2 — /ops/: оперативка для спутника. Light-страница: без фото и vendor, тёмная по умолчанию.
   Тема — токены tokens.css (html[data-theme=dark] / :root светлая) + шкала ветра здесь, в двух наборах.
   Замысел: ночной штурманский стол — тихий базальт, тёплые чернила, охра только для «сейчас» и фокуса;
   одна выразительная вещь — лента ветра вдоль маршрута; всё остальное — списки и волосяные линии.
   Текст ≥ 7:1 в обеих темах (share-page contrast.js), цифры — Onest tabular-nums. */

:root{
  --w-calm:#00566b; --w-fresh:#6b4600; --w-strong:#a1122a; --w-gale-bg:#a1122a; --w-gale-fg:#ffffff;
  --card:#ffffff; --panel:#eef6f8; --hot:#005c73; --hair:#c9cfd0;
}
html[data-theme=dark]{
  --w-calm:#8ed2e3; --w-fresh:#e0ae58; --w-strong:#ff8c7a; --w-gale-bg:#ff8c7a; --w-gale-fg:#131110;
  --card:#1b1816; --panel:#1f1b18; --hot:#e0ae58; --hair:#3a3430;
}
.page-ops{font-variant-numeric:lining-nums tabular-nums}
.page-ops [hidden]{display:none!important}   /* сетки и окно с display:grid не должны перебивать hidden (без JS, 404) */

/* ── шапка: кнопка темы (только light-страницы) ── */
.theme-btn{flex:none;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:999px;
  border:1.5px solid var(--ink);background:none;color:var(--ink);cursor:pointer;padding:0}
.theme-btn[hidden]{display:none}
.theme-btn:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}
[data-theme=light] .theme-btn svg{transform:rotate(180deg)}
@media (max-width:420px){.page-ops .bar .ticket--mini{display:none}}   /* 390 px: бренд + тема + меню, талон — в меню и внизу */

/* ── голова и «сегодня» ── */
.page-ops .ops-head{padding:clamp(28px,5vw,64px) var(--gutter) 12px}
.page-ops .ops-head h1{font-size:clamp(2.4rem,5vw,4.2rem)}
.page-ops .ops-head .lede{margin-top:12px;font:400 1.02rem/1.5 var(--font-text);color:var(--muted);max-width:68ch}

.ops-today{display:grid;gap:18px;padding-bottom:8px}
.today-panel{border-left:4px solid var(--hot);background:var(--panel);padding:16px 18px 18px;border-radius:0 6px 6px 0}
.today-kicker{font:600 .95rem/1.3 var(--font-text);letter-spacing:0;color:var(--muted);margin:0}
.today-head{font:800 clamp(1.5rem,2.4vw + .8rem,2.4rem)/1.1 var(--font-display);margin:6px 0 8px;color:var(--ink)}
.today-sub{margin:2px 0;color:var(--ink)}
.today-nojs{margin:6px 0 0;color:var(--ink)}
.today-pts{margin:12px 0 6px;color:var(--muted);font-size:var(--fs-small)}
.today-chips,.jump ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.today-chips a,.jump a{display:inline-flex;align-items:center;min-height:44px;padding:6px 14px;border:1.5px solid var(--ink);
  border-radius:999px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem}
.today-chips a{border-color:var(--hot)}
.jump a{border-color:var(--hair);font-weight:500}
.today-chips a:hover,.jump a:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}
@media (min-width:1100px){.ops-today{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start}}

/* ── секции ── */
.ops-sec{padding-top:clamp(40px,6vw,72px);scroll-margin-top:calc(var(--header-h) + 8px)}
.ops-today,#today{scroll-margin-top:calc(var(--header-h) + 8px)}
.sec-head{max-width:78ch;margin-bottom:18px}
.sec-head h2{font-size:clamp(1.8rem,3vw,2.8rem)}
.sec-lead{margin-top:10px;color:var(--ink)}
.note{margin-top:14px;font-size:var(--fs-small);color:var(--muted);max-width:90ch}
.stamp{font-size:var(--fs-small);color:var(--muted);margin:0 0 14px;min-height:1.4em}
.stamp.is-empty{min-height:0;margin:0}
.stamp.is-stale,.stamp.is-error{color:var(--ink);border-left:4px solid var(--w-strong);padding:8px 12px;background:var(--panel)}
.btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 18px;border:1.5px solid var(--ink);border-radius:999px;
  background:none;color:var(--ink);font:600 .95rem/1.2 var(--font-text);text-decoration:none;cursor:pointer}
.btn:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}
.btn--quiet{border-color:var(--hair);font-weight:500}

/* легенда и шкала ветра (текст — цвет, шторм — плашкой) */
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin-top:14px;font-size:var(--fs-small)}
.legend-t{color:var(--muted)}
.lg{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.lg small{font-weight:400;color:var(--muted);font-size:inherit}
.lg i{width:14px;height:14px;border-radius:3px;background:currentColor}
.w-calm{color:var(--w-calm)} .w-fresh{color:var(--w-fresh)} .w-strong{color:var(--w-strong)}
.w-gale{color:var(--w-gale-fg);background:var(--w-gale-bg);border-radius:4px;padding:0 .25em}
.lg.w-gale{background:none;color:var(--w-strong);padding:0}
.lg.w-gale i{background:var(--w-gale-bg);box-shadow:0 0 0 2px var(--ink)}
.w-none{color:var(--muted)}

/* ── карточки прогноза ── */
.fc-grid{display:grid;gap:14px;grid-template-columns:1fr;align-items:start}
@media (min-width:720px){.fc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1200px){.fc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1900px){.fc-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.fc{background:var(--card);border:1px solid var(--hair);border-radius:6px;padding:14px 16px 12px;scroll-margin-top:calc(var(--header-h) + var(--tbar-h) + 8px);min-width:0}
.fc.is-hot{border:2px solid var(--hot)}
.fc h4{font:700 1.12rem/1.2 var(--font-text);letter-spacing:0;margin:0}
.fc--stop h4{font-family:var(--font-display);font-weight:800;font-size:1.3rem}
.fc-group{grid-column:1/-1;font:700 1.25rem/1.2 var(--font-display);letter-spacing:0;margin:14px 0 0;padding-top:10px;border-top:2px solid var(--ink);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px}
.fc-gbtn{min-height:44px;padding:6px 14px;border:1.5px solid var(--hair);border-radius:999px;background:none;color:var(--ink);
  font:500 .9rem/1.2 var(--font-text);cursor:pointer}
.fc-gbtn:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}
.fc-group:first-child{margin-top:0}
/* заголовок карточки — кнопка фокуса (Z-133); компактная карточка — строкой: имя · ветер · порывы · волна */
.fc-tap{all:unset;box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;width:100%;min-height:44px;cursor:pointer;
  font:inherit;color:var(--ink);border-radius:4px}
.fc-tap:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.fc-name{flex:1 1 auto}
.fc-pm::after{content:"+";font:700 1.3rem/1 var(--font-text);color:var(--muted);padding-left:6px}
.is-focus .fc-pm::after{content:"−"}
.fc-tap:hover .fc-pm::after{color:var(--ink)}
.fc--compact{padding:4px 14px}
.fc--compact .fc-full{display:none}
.fc:not(.fc--compact) .fc-line{display:none}
.fc--compact .fc-name{flex:1 1 100%;padding-top:8px}
.fc--compact .fc-line{flex:1 1 auto;padding-bottom:6px}
.fc--compact .fc-pm{padding-bottom:6px}
.fc-line{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 6px;color:var(--ink);font:400 1rem/1.3 var(--font-text)}
.fc-line b{font-size:1.3rem;font-weight:800}
.fc-meta{display:flex;flex-wrap:wrap;gap:4px 10px;margin:4px 0 8px;font-size:var(--fs-small);color:var(--muted)}
.fc-hot{color:var(--hot);font-weight:700}
.fc-stale{color:var(--ink);border-left:3px solid var(--w-strong);padding-left:6px}
.fc-now{display:grid;grid-template-columns:auto auto 1fr;gap:4px 16px;align-items:center}
.fc-wind{margin:0;font-size:1rem;color:var(--muted);white-space:nowrap}
.fc-wind b{font:800 2.6rem/1 var(--font-text);letter-spacing:-.02em}
.fc-wind b.w-gale{padding:0 .15em}
.fc-dir{margin:0;display:flex;align-items:center;gap:6px;color:var(--ink);white-space:nowrap}
.arr{fill:currentColor;flex:none;vertical-align:-3px}
.fc-kv{margin:0;display:flex;flex-wrap:wrap;gap:2px 14px;justify-content:flex-end;font-size:.95rem}
.fc-kv div{display:flex;gap:5px}
.fc-kv dt{color:var(--muted)} .fc-kv dd{margin:0;font-weight:600}
@media (max-width:380px){.fc-now{grid-template-columns:auto 1fr}.fc-kv{grid-column:1/-1;justify-content:flex-start}}
.spark{display:block;width:100%;height:auto;margin:10px 0 4px}
.spark text{font:500 10px var(--font-text);fill:var(--muted)}
.sp-grid{stroke:var(--hair);stroke-width:1}
.sp-w{fill:none;stroke:var(--ink);stroke-width:2}
.sp-g{fill:none;stroke:var(--w-strong);stroke-width:1.5;stroke-dasharray:4 3}
.sp-v{fill:color-mix(in srgb,var(--w-calm) 30%,transparent)}
.sp-cur{stroke:var(--hot);stroke-width:2}
.fc-7 summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:600;color:var(--ink)}
.tw{overflow-x:auto}
.fc-7 table{width:100%;border-collapse:collapse;font-size:.88rem;white-space:nowrap}
.fc-7 th,.fc-7 td{padding:5px 6px;text-align:right;border-top:1px solid var(--hair)}
.fc-7 thead th{color:var(--ink);font-weight:500;border-top:0}
.fc-7 tbody th{text-align:left;font-weight:600}

/* ── лента ветра вдоль маршрута ── */
.ribbon-win{max-height:none;border-color:var(--hair);background:var(--card);border-radius:6px}
.ribbon{display:block;width:100%;min-width:900px;height:auto}
.rb-grid{stroke:var(--hair);stroke-width:1}
.rb-base{stroke:var(--ink);stroke-width:1.5}
.rb-ax{font:500 12px var(--font-text);fill:var(--muted)}
.rb-bar{fill:var(--w-calm)}
.rb-bar.b-fresh{fill:var(--w-fresh)} .rb-bar.b-strong{fill:var(--w-strong)} .rb-bar.b-gale{fill:var(--w-gale-bg);stroke:var(--ink);stroke-width:2}
.rb-gust{stroke:var(--ink);stroke-width:2;stroke-dasharray:3 2}
.rb-val{font:700 14px var(--font-text);fill:var(--ink)}
.rb-arr{fill:var(--ink)}
.rb-tick{stroke:var(--muted);stroke-width:1.5} .rb-tick.is-stop{stroke:var(--ink);stroke-width:2.5}
.rb-name{font:500 12.5px var(--font-text);fill:var(--muted)}
.rb-name.is-stop{font-weight:700;fill:var(--ink)}
.rb-hit{fill:transparent}
.rb-link{cursor:pointer;outline:none}
.rb-link:hover .rb-hit,.rb-link:focus-visible .rb-hit{fill:color-mix(in srgb,var(--ink) 8%,transparent)}
.rb-link:focus-visible .rb-hit{stroke:var(--accent);stroke-width:3}
.rb-pt.is-out{opacity:.38}
.rb-name.is-out{opacity:.6}
.rb-pt.is-focus .rb-hit{fill:color-mix(in srgb,var(--hot) 14%,transparent)}

/* ── приливы ── */
.tide-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.chip{appearance:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 14px;border:1.5px solid var(--hair);
  border-radius:999px;background:none;color:var(--ink);font:600 .95rem/1 var(--font-text);cursor:pointer}
.chip small{font-weight:400;color:var(--muted);font-size:.85rem}
.chip[aria-pressed="true"]{border-color:var(--hot);background:color-mix(in srgb,var(--hot) 16%,transparent)}
.ladder{margin:0 0 18px;background:var(--card);border:1px solid var(--hair);border-radius:6px;padding:14px 16px}
.ladder figcaption{margin-bottom:6px;color:var(--muted)} .ladder figcaption b{color:var(--ink)}
.ladder-svg,.tide-svg{display:block;width:100%;height:auto}
.ladder-svg{max-width:760px}
.ladder-svg text,.tide-svg text{font:500 12px var(--font-text);fill:var(--muted)}
.ld-bar{fill:var(--w-calm)}
.ld-val{font-weight:700!important;font-size:14px!important;fill:var(--ink)!important}
.ld-name{fill:var(--ink)!important}
.ld-med{stroke:var(--hot);stroke-width:1.5;stroke-dasharray:5 4}
.ld-medt{fill:var(--ink)!important;font-weight:600;paint-order:stroke;stroke:var(--card);stroke-width:5px;stroke-linejoin:round}
.ladder-svg.is-narrow text{font-size:14px}
.ladder-svg.is-narrow .ld-val{font-size:15px!important}
.td-grid{stroke:var(--hair);stroke-width:1}
.tide-grid{display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:900px){.tide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1500px){.tide-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tide{background:var(--card);border:1px solid var(--hair);border-radius:6px;padding:12px 14px;min-width:0}
.tide h3{font:700 1.08rem/1.2 var(--font-text);letter-spacing:0;margin-bottom:4px}
.tide-next{display:flex;flex-wrap:wrap;gap:2px 14px;margin:0 0 4px;font-size:.95rem;color:var(--ink);font-weight:600}
.td-area{fill:color-mix(in srgb,var(--w-calm) 22%,transparent)}
.td-curve{fill:none;stroke:var(--w-calm);stroke-width:2.5}
.td-hw{fill:var(--w-calm)} .td-lw{fill:var(--card);stroke:var(--w-calm);stroke-width:2}
.tide-svg .td-ev{fill:var(--ink);font-weight:600}
.td-now{stroke:var(--hot);stroke-width:2}
.td-nowdot{fill:var(--hot);stroke:var(--card);stroke-width:2}
.tide-svg .td-nowt{fill:var(--ink);font-weight:700}
.tide-ev{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.95rem}
.tide-ev b{font-weight:700}

/* ── Windy ── */
.windy-grid{display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:900px){.windy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.windy-map{margin:0;background:var(--card);border:1px solid var(--hair);border-radius:6px;padding:14px 16px;display:grid;gap:10px;align-content:start}
.windy-map figcaption{font-weight:600}
.windy-map iframe{width:100%;aspect-ratio:4/3;border:0;border-radius:4px;background:var(--panel)}
.windy-btn{justify-self:start}

/* ── пролив, риски ── */
.facts{display:grid;gap:14px 28px;grid-template-columns:1fr}
@media (min-width:900px){.facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
.fact{border-top:2px solid var(--ink);padding-top:12px}
.fact h3{font:700 1.15rem/1.25 var(--font-text);letter-spacing:0;margin-bottom:6px}
.fact p{margin:0}
.risk{border-top-color:var(--hair)}

/* ── косатки ── */
.orcas-cols{display:grid;gap:22px 40px;grid-template-columns:1fr}
@media (min-width:1000px){.orcas-cols{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}}
.orcas-cols h3{font:700 1.15rem/1.25 var(--font-text);letter-spacing:0;margin-bottom:8px}
.rule{margin:0 0 10px;padding:10px 14px;border-left:4px solid var(--hot);background:var(--panel)}
.steps{margin:0;padding:0;list-style:none;counter-reset:s;display:grid;gap:12px}
.steps li{counter-increment:s;display:grid;grid-template-columns:2.2rem 1fr;gap:0 8px}
.steps li::before{content:counter(s);grid-row:1/span 2;font:800 1.6rem/1 var(--font-display);color:var(--hot)}
.steps b{display:block}
.orca-map{margin-top:18px}
.orca-map summary{list-style:none}
.orca-map summary::-webkit-details-marker{display:none}
.orca-map figure{margin:14px 0 0}
.orca-map img{width:100%;max-width:1200px;height:auto;border-radius:4px;display:block}
.orca-map figcaption{margin-top:8px;font-size:var(--fs-small);color:var(--muted);max-width:90ch}
.orca-map figcaption a{color:var(--ink)}

/* ── контакты ── */
.contacts{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:1fr}
@media (min-width:720px){.contacts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1200px){.contacts{grid-template-columns:repeat(3,minmax(0,1fr))}}
.contact{display:grid;gap:2px;padding:12px 16px;background:var(--card);border:1px solid var(--hair);border-radius:6px}
.c-val{font:800 1.6rem/1.15 var(--font-text);color:var(--ink);text-decoration:none;min-height:44px;display:flex;align-items:center}
a.c-val{text-decoration:underline;text-decoration-color:var(--hot);text-decoration-thickness:3px;text-underline-offset:.2em}
.c-what{color:var(--muted)}

/* ── чек-листы ── */
.checks{display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:1000px){.checks{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}}
.check{margin:0;padding:12px 16px 8px;border:1px solid var(--hair);border-radius:6px;background:var(--card);min-width:0}
.check legend{padding:0 6px;font-weight:700;display:flex;gap:10px;align-items:baseline}
.check-n{color:var(--muted);font-weight:500;font-size:var(--fs-small)}
.check.is-done{border-color:var(--hot)}
.check ul{list-style:none;margin:0;padding:0}
.check li{border-top:1px solid var(--hair)} .check li:first-child{border-top:0}
.check label{display:flex;gap:12px;align-items:flex-start;padding:10px 0;min-height:44px;cursor:pointer}
.check input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--hot)}
.check input:checked+span{color:var(--muted);text-decoration:line-through}
.check-tools{margin-top:12px}

/* ── источники ── */
.links{list-style:none;margin:0;padding:0;display:grid;gap:0 32px;grid-template-columns:1fr}
@media (min-width:900px){.links{grid-template-columns:repeat(2,minmax(0,1fr))}}
.links li{padding:10px 0;border-top:1px solid var(--hair)}
.links a{font-weight:600;color:var(--ink)}
.links span{display:block;color:var(--muted);font-size:var(--fs-small)}
.page-ops main{padding-bottom:clamp(48px,6vw,96px)}

/* ── Z-133: шкала времени (липкая внутри .ops-live), инструменты, фокус на точке ── */
.page-ops{--tbar-h:0px}
.page-ops:has(.tbar:not([hidden])){--tbar-h:104px}
@media (min-width:900px){.page-ops:has(.tbar:not([hidden])){--tbar-h:92px}}
.ops-sec{scroll-margin-top:calc(var(--header-h) + var(--tbar-h) + 8px)}
.tbar{position:sticky;top:var(--header-h);z-index:40;background:var(--paper);border-bottom:1px solid var(--hair);margin-top:clamp(24px,4vw,40px)}
.tbar-in{padding-top:6px;padding-bottom:6px}
.tb-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.tb-label{margin:0;font:700 1rem/1.25 var(--font-text);color:var(--ink);min-width:0}
.tb-now{flex:none}
.tb-ctl{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:center;margin-top:4px}
.tb-step{min-height:44px;min-width:44px;border:1.5px solid var(--hair);border-radius:999px;background:none;color:var(--ink);
  font:600 .9rem/1 var(--font-text);cursor:pointer;padding:0}
.tb-step:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}
.tb-track{--thumb:26px;position:relative;height:44px}
.tb-bg{position:absolute;left:calc(var(--thumb)/2);right:calc(var(--thumb)/2);top:4px;bottom:0;overflow:hidden;pointer-events:none}
.tb-bg::before{content:"";position:absolute;left:0;right:0;top:14px;height:10px;border-radius:5px;background:color-mix(in srgb,var(--w-calm) 22%,var(--panel))}
.tb-night{position:absolute;top:14px;height:10px;background:color-mix(in srgb,var(--ink) 38%,transparent)}
.tb-day{position:absolute;top:8px;height:22px;width:1px;background:var(--muted)}
.tb-dl{position:absolute;top:0;transform:translateX(3px);font:500 11px/1 var(--font-text);color:var(--muted);white-space:nowrap}
.tb-nowm{position:absolute;top:6px;height:26px;width:3px;margin-left:-1px;background:var(--hot);border-radius:2px}
.tb-range{position:absolute;inset:0;width:100%;height:44px;margin:0;background:none;-webkit-appearance:none;appearance:none;cursor:pointer}
.tb-range::-webkit-slider-runnable-track{height:44px;background:none}
.tb-range::-moz-range-track{height:44px;background:none}
.tb-range::-webkit-slider-thumb{-webkit-appearance:none;width:var(--thumb);height:var(--thumb);margin-top:9px;border-radius:50%;
  background:var(--hot);border:3px solid var(--paper);box-shadow:0 0 0 1.5px var(--ink)}
.tb-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--hot);border:3px solid var(--paper);box-shadow:0 0 0 1.5px var(--ink)}
.tb-range:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}
.fc-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin:0 0 14px}
.seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.seg-t{color:var(--muted);font-size:var(--fs-small);margin-right:2px}
.seg .chip b{font-weight:800;color:var(--hot)}
.tgl{display:inline-flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;color:var(--ink)}
.tgl input{width:22px;height:22px;margin:0;accent-color:var(--hot)}
.tgl:has(input:disabled){color:var(--muted);cursor:default}
.stamp-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px 14px;margin-bottom:14px}
.stamp-row .stamp{margin:0;flex:1 1 320px}
.fc-refresh[disabled]{opacity:.6;cursor:progress}
.fc.is-focus{grid-column:1/-1;border:2px solid var(--hot)}
.fx{margin-top:12px;border-top:1px solid var(--hair);padding-top:10px}
.fx-sun{margin:0 0 6px;color:var(--ink);font-weight:600}
.fx-win{overflow-x:auto;overscroll-behavior-x:contain;border-radius:4px}
.fx-win:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.fx-svg{display:block;width:100%;max-width:1180px;height:auto}
.is-focus [data-s=spark]{display:none}   /* в фокусе спарклайн заменяет полоска 48 ч */
.fx-note{margin:6px 0 0;font-size:var(--fs-small);color:var(--muted)}
.fx-night{fill:color-mix(in srgb,var(--ink) 11%,transparent)}
.fx-grid{stroke:var(--hair);stroke-width:1}
.fx-ax,.fx-day,.fx-sunt{font:500 12px var(--font-text);fill:var(--muted)}
.fx-day{font-weight:700;fill:var(--ink)}
.fx-sunt{fill:var(--ink);font-weight:600}
.fx-sunl{stroke:var(--w-fresh);stroke-width:1.2;stroke-dasharray:3 3}
.fx-w{fill:none;stroke:var(--ink);stroke-width:2.2}
.fx-g{fill:none;stroke:var(--w-strong);stroke-width:1.6;stroke-dasharray:4 3}
.fx-v{fill:color-mix(in srgb,var(--w-calm) 38%,transparent);stroke:var(--w-calm);stroke-width:1}
.fx-arr{fill:currentColor}
.fx-arr.w-gale{background:none;color:var(--w-strong)}
.fx-arr.w-none{color:var(--muted)}
.fx-cur{stroke:var(--hot);stroke-width:2}
.fx-curdot{fill:var(--hot);stroke:var(--card);stroke-width:2}
@media (max-width:600px){.tb-label{font-size:.92rem}.fc-tools{gap:8px 14px}.tb-wd{display:none}}

@media print{.theme-btn,.jump,#windy,#ribbon,.check-tools,.tbar,.fc-tools,.fc-refresh,.fc-gbtn{display:none}}
