/* ScotNet Main v6.7.8 — one-year weather history and time-aware chart polish */
.snh-chart-stage{position:relative;min-width:0}
.snh-chart-svg{touch-action:manipulation}
.snh-gridline{stroke:var(--border);stroke-width:1;opacity:.78;vector-effect:non-scaling-stroke}
.snh-x-tick{stroke:var(--muted);stroke-width:1;opacity:.55;vector-effect:non-scaling-stroke}
.snh-axis-label{fill:var(--muted);font:11px/1 system-ui,-apple-system,"Segoe UI",sans-serif}
.snh-x-label{font-size:10.5px}
.snh-data-line{stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.snh-hit-point{fill:transparent;stroke:transparent;cursor:pointer;outline:none}
.snh-hit-point:focus{fill:var(--card);stroke:var(--link);stroke-width:2;vector-effect:non-scaling-stroke}
.snh-crosshair{stroke:var(--muted);stroke-width:1;stroke-dasharray:4 4;opacity:.8;vector-effect:non-scaling-stroke;pointer-events:none}
.snh-chart-tooltip{position:absolute;z-index:3;left:50%;bottom:.4rem;transform:translateX(-50%);max-width:calc(100% - 1rem);padding:.45rem .65rem;border:1px solid var(--border);border-radius:999px;background:var(--card);box-shadow:0 8px 24px rgba(0,0,0,.12);font-size:.78rem;font-weight:800;color:var(--text);white-space:nowrap;pointer-events:none}
.snh-chart-tooltip[hidden]{display:none}
.snh-range-nav{row-gap:.55rem}
.snh-range-nav a{flex:0 0 auto}
@media(max-width:520px){
  .snh-range-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .snh-chart{padding:.85rem}
  .snh-x-label{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.snh-chart-tooltip{transition:none}}

/* v6.7.9 — explicit Eyemouth context + compact live card on historical ranges */
.snh-location{font-size:.72em;color:var(--muted);font-weight:800;white-space:nowrap}
.snh-current-card{display:grid;gap:1rem}
.snh-current-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.snh-current-kicker{display:block;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.snh-current-head h2{margin:.12rem 0 0;font-size:1.08rem;letter-spacing:.04em}
.snh-current-primary{text-align:right;min-width:0}
.snh-current-primary strong{display:block;font-size:clamp(1.55rem,5vw,2.15rem);line-height:1}
.snh-current-primary span{display:block;margin-top:.3rem;color:var(--muted);font-size:.86rem;overflow-wrap:anywhere}
.snh-current-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}
.snh-current-facts>div{min-width:0;padding:.72rem .8rem;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--card) 94%,var(--bg));}
.snh-current-facts small{display:block;color:var(--muted);font-size:.72rem;font-weight:700;margin-bottom:.18rem}
.snh-current-facts strong{display:block;font-size:.94rem;overflow-wrap:anywhere}
.snh-coverage-card{padding-top:.85rem;padding-bottom:.85rem}
.snh-coverage-card .snh-note:first-child{margin-top:0}.snh-coverage-card .snh-note:last-child{margin-bottom:0}
@media(max-width:620px){
  .snh-current-head{align-items:flex-start}
  .snh-current-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:360px){
  .snh-current-head{flex-direction:column}
  .snh-current-primary{text-align:left}
}

/* v6.7.9 Revision 1 — live-ish current-condition gauges on historical ranges */
.snh-weather-gauges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;align-items:start}
.snh-weather-gauge{min-width:0;text-align:center}
.snh-weather-gauge>small{display:block;margin-top:.45rem;color:var(--muted);font-size:.74rem;font-weight:800;letter-spacing:.02em}
.snh-gauge-ring,.snh-wind-dial{position:relative;width:min(100%,112px);aspect-ratio:1;margin:0 auto;border-radius:50%;display:grid;place-items:center;border:1px solid var(--border);background:var(--card);isolation:isolate}
.snh-gauge-ring::before{content:"";position:absolute;inset:7px;border-radius:50%;background:conic-gradient(var(--link) calc(clamp(0,var(--snh-gauge-value),100)*1%),color-mix(in srgb,var(--border) 72%,transparent) 0);z-index:-2}
.snh-gauge-ring::after{content:"";position:absolute;inset:15px;border-radius:50%;background:var(--card);z-index:-1}
.snh-gauge-ring--rain::before{background:conic-gradient(var(--link) calc(clamp(0,var(--snh-gauge-value),100)*1%),color-mix(in srgb,var(--border) 72%,transparent) 0)}
.snh-gauge-icon{position:absolute;top:23%;font-size:1rem;line-height:1}
.snh-gauge-ring strong{padding-top:1.35rem;font-size:.88rem;line-height:1.1}
.snh-wind-dial{background:radial-gradient(circle at center,var(--card) 0 54%,transparent 55%),repeating-conic-gradient(from -1deg,color-mix(in srgb,var(--muted) 45%,transparent) 0 1deg,transparent 1deg 15deg),var(--card)}
.snh-wind-north{position:absolute;top:6px;font-size:.62rem;font-weight:900;color:var(--muted)}
.snh-wind-needle{position:absolute;inset:0;border-radius:50%;transform:rotate(var(--snh-wind-angle,0deg));transform-origin:50% 50%;transition:transform .35s ease;pointer-events:none}
.snh-wind-needle::before{content:"";position:absolute;left:calc(50% - 1px);top:12px;width:2px;height:calc(50% - 14px);background:var(--link);border-radius:999px}
.snh-wind-needle::after{content:"";position:absolute;left:50%;top:8px;transform:translateX(-50%);border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:8px solid var(--link)}
.snh-wind-dial strong{position:absolute;left:10px;right:10px;bottom:24px;font-size:.8rem;line-height:1.1}
.snh-current-card[data-live-weather-state="refreshing"]{opacity:.94}
@media(max-width:420px){
  .snh-weather-gauges{gap:.5rem}
  .snh-gauge-ring,.snh-wind-dial{width:min(100%,92px)}
  .snh-gauge-ring::after{inset:13px}
  .snh-gauge-icon{top:21%;font-size:.9rem}
  .snh-gauge-ring strong{font-size:.76rem}
  .snh-wind-needle::before{top:10px;height:calc(50% - 12px)}
  .snh-wind-needle::after{top:6px}
  .snh-wind-dial strong{bottom:20px;font-size:.72rem}
}
@media(prefers-reduced-motion:reduce){.snh-wind-needle{transition:none}}


/* v6.8.1 Revision 3 — smaller Today-only secondary live gauges */
.snh-weather-gauges--secondary{margin-top:.8rem;padding-top:.8rem;border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent);gap:.65rem}
.snh-weather-gauges--secondary .snh-gauge-ring{width:min(100%,88px)}
.snh-weather-gauges--secondary .snh-gauge-ring::before{inset:6px}
.snh-weather-gauges--secondary .snh-gauge-ring::after{inset:13px}
.snh-weather-gauges--secondary .snh-gauge-icon{top:20%;font-size:.82rem}
.snh-weather-gauges--secondary .snh-gauge-ring strong{padding-top:1.15rem;font-size:.72rem}
.snh-weather-gauges--secondary .snh-weather-gauge>small{font-size:.7rem}
@media(max-width:420px){
  .snh-weather-gauges--secondary{gap:.35rem;margin-top:.65rem;padding-top:.65rem}
  .snh-weather-gauges--secondary .snh-gauge-ring{width:min(100%,72px)}
  .snh-weather-gauges--secondary .snh-gauge-ring::after{inset:11px}
  .snh-weather-gauges--secondary .snh-gauge-icon{font-size:.72rem}
  .snh-weather-gauges--secondary .snh-gauge-ring strong{padding-top:1rem;font-size:.62rem}
  .snh-weather-gauges--secondary .snh-weather-gauge>small{font-size:.64rem}
}
