/* PescaRadar Tech Brand System — tokens and restrained brand application. */
:root{--brand-ink:#07111B;--brand-ocean:#0B1D2B;--brand-panel:#10283A;--brand-line:#29485D;--brand-cyan:#35DDF3;--brand-turquoise:#47E0C0;--brand-gold:#F4B94F;--brand-text:#F2F8FC;--brand-muted:#AFC2D0;--bg:var(--brand-ink);--panel:var(--brand-ocean);--panel2:var(--brand-panel);--line:var(--brand-line);--text:var(--brand-text);--muted:var(--brand-muted);--accent:var(--brand-cyan);--accentText:#04131C;--focus:var(--brand-gold);color-scheme:dark}
html{background:var(--brand-ink)}
body{background:radial-gradient(ellipse at 12% -18%,rgba(53,221,243,.13),transparent 38rem),radial-gradient(ellipse at 88% 8%,rgba(71,224,192,.07),transparent 32rem),var(--brand-ink);color:var(--brand-text)}
.site-header{border-bottom-color:rgba(53,221,243,.24);background:rgba(7,17,27,.96)}
.site-header .brand{gap:10px;font-weight:850;letter-spacing:-.045em}
.site-header .brand img{width:38px;height:38px;filter:none}
.site-header .brand-accent,.brand-accent{color:var(--brand-cyan)}
.eyebrow,.condition-label,.astronomy-label{color:var(--brand-turquoise)}
.button-primary{border-color:var(--brand-cyan);background:var(--brand-cyan);color:#04131C}
.button-primary:hover{background:#8CEEFF;color:#04131C}
:focus-visible{outline-color:var(--brand-gold)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}

/* Dashboard foundation — shared visual language for the environmental station. */
:root{
  --brand-radius-sm:10px;
  --brand-radius-md:14px;
  --brand-radius-lg:20px;
  --brand-space-1:4px;
  --brand-space-2:8px;
  --brand-space-3:12px;
  --brand-space-4:16px;
  --brand-space-5:24px;
  --brand-shadow-card:0 12px 30px rgba(0,0,0,.20);
  --brand-shadow-focus:0 0 0 3px rgba(53,221,243,.18);
  --brand-surface-raised:#10283A;
  --brand-surface-inset:#091925;
  --brand-positive:#47E0C0;
  --brand-warning:#F4B94F;
  --brand-danger:#FF7887;
}
body{
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-feature-settings:"tnum" 1,"ss01" 1;
  text-rendering:optimizeLegibility;
}
.site-header{
  border-bottom-color:rgba(53,221,243,.20);
  box-shadow:0 8px 28px rgba(0,0,0,.16);
}
.page-shell{isolation:isolate}
.page-intro{align-items:center}
.page-intro h1{letter-spacing:-.045em}
.eyebrow{
  color:var(--brand-turquoise);
  font-size:10px;
  letter-spacing:.13em;
}
.panel{
  border:1px solid rgba(71,224,192,.17);
  border-radius:var(--brand-radius-lg);
  background:linear-gradient(155deg,rgba(16,40,58,.98),rgba(9,25,37,.98));
  box-shadow:var(--brand-shadow-card);
}
.panel-heading{gap:18px}
.panel-heading h2{letter-spacing:-.035em}
.panel-index,.metric-icon,.nav-icon{
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  color:var(--brand-cyan);
  font-family:Inter,system-ui,sans-serif;
  font-weight:750;
  line-height:1;
  font-variant-numeric:tabular-nums;
}
.panel-index{
  width:42px;
  height:42px;
  border:1px solid rgba(53,221,243,.25);
  border-radius:13px;
  background:rgba(53,221,243,.08);
  font-size:19px;
}
.metric-grid{gap:12px}
.metric-card{
  position:relative;
  min-width:0;
  overflow:hidden;
  padding:16px;
  border:1px solid rgba(53,221,243,.18);
  border-radius:var(--brand-radius-md);
  background:linear-gradient(150deg,#10283A 0%,#0A1B29 78%);
  box-shadow:0 7px 20px rgba(0,0,0,.13);
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.metric-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:var(--brand-cyan);
  opacity:.9;
}
.metric-card:nth-child(1)::before{background:var(--brand-gold)}
.metric-card:nth-child(2)::before{background:var(--brand-cyan)}
.metric-card:nth-child(3)::before{background:var(--brand-turquoise)}
.metric-card:nth-child(4)::before{background:#80BCEB}
.metric-icon{
  width:38px;
  height:38px;
  margin:0 0 12px;
  border:1px solid rgba(53,221,243,.20);
  border-radius:12px;
  background:rgba(53,221,243,.08);
  color:var(--brand-cyan);
  font-size:19px;
}
.metric-card:nth-child(1) .metric-icon{border-color:rgba(244,185,79,.25);background:rgba(244,185,79,.09);color:var(--brand-gold)}
.metric-card:nth-child(3) .metric-icon{border-color:rgba(71,224,192,.25);background:rgba(71,224,192,.08);color:var(--brand-turquoise)}
.metric-card p{color:var(--brand-muted);font-size:13px;font-weight:650}
.metric-value{gap:6px;margin:7px 0}
.metric-value strong{
  color:var(--brand-text);
  font-size:clamp(27px,3vw,38px);
  font-weight:800;
  letter-spacing:-.045em;
  font-variant-numeric:tabular-nums;
}
.metric-value span{color:var(--brand-muted);font-weight:650}
.metric-card small{color:#C1D1DD;line-height:1.45}
.metric-primary{
  border-color:rgba(244,185,79,.34);
  background:linear-gradient(145deg,rgba(244,185,79,.10),#10283A 58%,#0A1B29);
}
.environment-bottom{gap:12px}
.condition-block,.pressure-block{
  border-color:rgba(71,224,192,.18);
  border-radius:var(--brand-radius-md);
  background:linear-gradient(145deg,#10283A,#0A1B29);
}
.condition-label{color:var(--brand-turquoise)}
.pressure-track{background:#1B394A}
.pressure-track>span{background:var(--brand-cyan)}
.intro-meta,.status-pill{
  border-color:rgba(53,221,243,.22);
  border-radius:999px;
  background:rgba(11,29,43,.82);
}
.button{border-radius:11px;font-weight:750}
.button-primary{
  border-color:var(--brand-cyan);
  background:var(--brand-cyan);
  color:#04131C;
  box-shadow:0 5px 18px rgba(53,221,243,.12);
}
.button-secondary{border-color:#36566B;background:#10283A}
.location-details{
  border:1px solid rgba(53,221,243,.16);
  border-radius:var(--brand-radius-md);
  background:var(--brand-surface-inset);
}
.astronomy-current{gap:12px}
.moon-current-card,.season-current-card{
  border-color:rgba(53,221,243,.18);
  border-radius:var(--brand-radius-md);
  background:linear-gradient(145deg,#10283A,#0A1B29);
}
.map-canvas,.map-fallback,#map{
  border:1px solid rgba(53,221,243,.24);
  border-radius:var(--brand-radius-md);
  overflow:hidden;
}
.tides-panel .tide-chart,.tides-panel .tide-predictions{
  border-radius:var(--brand-radius-md);
}
.site-nav{
  border-color:#315267;
  border-radius:16px;
  background:#091925;
  box-shadow:0 20px 55px rgba(0,0,0,.42);
}
.site-nav a{border-radius:10px}
.nav-icon{
  width:26px;
  height:26px;
  margin-right:5px;
  border:1px solid rgba(53,221,243,.16);
  border-radius:8px;
  background:rgba(53,221,243,.07);
  font-size:14px;
}
:where(.panel,.metric-card,.condition-block,.pressure-block,.moon-current-card,.season-current-card):focus-within{
  outline:2px solid rgba(53,221,243,.72);
  outline-offset:2px;
}
@media(hover:hover){
  .metric-card:hover{
    transform:translateY(-2px);
    border-color:rgba(53,221,243,.42);
    box-shadow:0 13px 28px rgba(0,0,0,.23);
  }
}
@media(max-width:760px){
  .panel{border-radius:16px}
  .panel-index{width:36px;height:36px;border-radius:11px}
  .metric-grid{gap:9px}
  .metric-card{padding:13px;border-radius:12px}
  .metric-icon{width:34px;height:34px;margin-bottom:9px;border-radius:10px}
}
@media(max-width:380px){
  .metric-card{padding:10px}
  .metric-value strong{font-size:25px}
}
@media(prefers-reduced-motion:reduce){
  .metric-card{transition:none}
  .metric-card:hover{transform:none}
}

/* Climate dashboard — same tokens, surfaces and typography as the main station. */
.dashboard-intro{gap:18px;margin:22px 0 18px}
.dashboard-intro h1{color:var(--brand-text);font-size:clamp(1.8rem,4vw,2.65rem);font-weight:820;letter-spacing:-.05em}
.dashboard-intro>div>p:not(.eyebrow){color:var(--brand-muted);line-height:1.6}
#dashboardLocation{color:#D7E5ED!important;font-size:.82rem;font-variant-numeric:tabular-nums}
.dashboard-kpis{gap:12px}
.dashboard-kpi,.analysis-stat,.daily-card,.chart-panel{
  min-width:0;
  border:1px solid rgba(53,221,243,.18);
  border-radius:var(--brand-radius-md);
  background:linear-gradient(150deg,#10283A 0%,#0A1B29 78%);
  box-shadow:0 8px 22px rgba(0,0,0,.16);
}
.dashboard-kpi{
  position:relative;
  overflow:hidden;
  padding:16px;
}
.dashboard-kpi::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:var(--brand-cyan);
}
.dashboard-kpi:nth-child(1)::before{background:var(--brand-gold)}
.dashboard-kpi:nth-child(2)::before{background:var(--brand-cyan)}
.dashboard-kpi:nth-child(3)::before{background:var(--brand-turquoise)}
.dashboard-kpi:nth-child(4)::before{background:#80BCEB}
.dashboard-kpi span,.analysis-stat span{color:var(--brand-muted);font-weight:650}
.dashboard-kpi strong,.analysis-stat strong{
  color:var(--brand-text);
  font-weight:820;
  letter-spacing:-.04em;
  font-variant-numeric:tabular-nums;
}
.dashboard-kpi strong{font-size:clamp(1.35rem,2.4vw,1.8rem)}
.dashboard-kpi small{color:var(--brand-cyan);font-weight:750}
.dashboard-kpi em{color:#C4D5E0}
.analysis-stat{padding:14px;border-top:2px solid var(--brand-cyan)}
.analysis-stat:nth-child(1){border-top-color:var(--brand-gold)}
.analysis-stat:nth-child(3){border-top-color:var(--brand-turquoise)}
.analysis-stat:nth-child(4){border-top-color:#80BCEB}
.analysis-stat small{color:#C4D5E0}
.chart-panel{
  padding:18px;
  overflow:hidden;
  border-color:rgba(53,221,243,.20);
  background:radial-gradient(ellipse at 100% 0,rgba(53,221,243,.055),transparent 52%),linear-gradient(155deg,#10283A 0%,#091925 78%);
}
.chart-panel h2{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--brand-text);
  font-size:1.08rem;
  font-weight:780;
  letter-spacing:-.02em;
}
.chart-panel h2::before{display:none!important}
.pr-chart-icon{
  display:inline-block;
  flex:0 0 auto;
  width:22px;
  height:22px;
  color:var(--brand-cyan);
}
.chart-panel p,.chart-panel .chart-summary,.dashboard-intro p,.detail-note,.source-note{color:#C7D7E1}
.chart-svg{max-width:100%;overflow:hidden}
.chart-summary{
  border:1px solid rgba(53,221,243,.15);
  border-radius:10px;
  background:rgba(7,17,27,.64);
  color:var(--brand-text);
}
.daily-card{
  gap:10px;
  padding:14px;
  border-top:2px solid var(--brand-turquoise);
}
.daily-card .daily-date{color:var(--brand-text);border-bottom-color:rgba(53,221,243,.18)}
.daily-card .daily-metric{color:#DCE8EF}
.range-button{
  border-color:#36566B;
  border-radius:10px;
  background:#10283A;
  color:var(--brand-text);
}
.range-button[aria-pressed="true"]{
  border-color:var(--brand-cyan);
  background:var(--brand-cyan);
  color:#04131C;
}
.detail-note{
  border-left-color:var(--brand-cyan);
  border-radius:0 10px 10px 0;
  background:#10283A;
}
.dashboard-actions .button{min-height:44px}
#dashboardStatus{border-color:rgba(53,221,243,.24);background:#0B1D2B}
@media(max-width:640px){
  .dashboard-intro h1{font-size:1.7rem}
  .dashboard-kpi{padding:12px}
  .chart-panel{padding:13px}
  .analysis-stat{padding:11px}
}
@media(prefers-reduced-motion:reduce){
  .dashboard-kpi,.chart-panel,.daily-card{transition:none!important}
}


/* Station dashboard composition — stronger hierarchy without changing data or interactions. */
.page-intro{
  position:relative;
  isolation:isolate;
  grid-template-columns:minmax(0,1.5fr) minmax(250px,.72fr);
  align-items:center;
  gap:clamp(18px,3vw,34px);
  min-height:196px;
  margin:0 0 18px;
  padding:clamp(22px,3.4vw,38px);
  overflow:hidden;
  border:1px solid rgba(53,221,243,.25);
  border-radius:24px;
  background:
    radial-gradient(ellipse at 82% 8%,rgba(53,221,243,.16),transparent 35%),
    radial-gradient(ellipse at 4% 100%,rgba(71,224,192,.10),transparent 42%),
    linear-gradient(125deg,#10283A 0%,#0B1D2B 62%,#091925 100%);
  box-shadow:0 18px 42px rgba(0,0,0,.24);
}
.page-intro::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:-105px;
  right:-68px;
  width:310px;
  aspect-ratio:1;
  border:1px solid rgba(53,221,243,.13);
  border-radius:50%;
  box-shadow:0 0 0 28px rgba(53,221,243,.025),0 0 0 58px rgba(53,221,243,.018);
  pointer-events:none;
}
.page-intro>div:first-child{min-width:0;max-width:760px}
.page-intro .eyebrow{margin-bottom:12px;font-size:.68rem;letter-spacing:.17em}
.page-intro h1{max-width:760px;font-size:clamp(2rem,4.8vw,3.35rem);line-height:1.04;letter-spacing:-.055em}
.page-intro h1 span{display:block;margin-top:4px;color:var(--brand-cyan)}
.page-intro .intro-copy{max-width:620px;margin-top:14px;color:#C6D8E3;font-size:clamp(.92rem,1.3vw,1.02rem);line-height:1.65}
.intro-meta{
  position:relative;
  z-index:1;
  align-items:flex-start;
  max-width:360px;
  justify-self:end;
  padding:15px 16px;
  border-color:rgba(53,221,243,.28);
  border-left:3px solid var(--brand-cyan);
  border-radius:4px 14px 14px 4px;
  background:rgba(5,18,28,.72);
  color:#DCEAF1;
  box-shadow:0 10px 26px rgba(0,0,0,.16);
  line-height:1.5;
  backdrop-filter:blur(10px);
}
.telemetry-panel{
  position:relative;
  overflow:hidden;
  border-color:rgba(53,221,243,.32);
  background:
    radial-gradient(ellipse at 100% 0,rgba(53,221,243,.075),transparent 34%),
    linear-gradient(155deg,rgba(16,40,58,.99),rgba(7,22,33,.99));
}
.telemetry-panel>.panel-heading{
  align-items:flex-end;
  padding-bottom:15px;
  border-bottom:1px solid rgba(53,221,243,.16);
}
.telemetry-panel .panel-heading h2{font-size:clamp(1.25rem,2.4vw,1.65rem)}
.telemetry-panel .update-meta{
  display:grid;
  gap:3px;
  justify-items:end;
  color:#C4D5E0;
  font-size:.76rem;
  font-variant-numeric:tabular-nums;
  text-align:right;
}
.telemetry-panel .metric-grid{
  grid-template-columns:minmax(0,1.18fr) repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:18px;
}
.telemetry-panel .metric-card{min-height:154px;padding:17px}
.telemetry-panel .metric-primary{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:170px;
  border-color:rgba(244,185,79,.42);
  background:
    radial-gradient(ellipse at 100% 0,rgba(244,185,79,.14),transparent 54%),
    linear-gradient(145deg,#183247,#0B1D2B);
}
.telemetry-panel .metric-primary .metric-value strong{font-size:clamp(2.2rem,4.3vw,3.25rem)}
.telemetry-panel .metric-card:not(.metric-primary) .metric-value strong{font-size:clamp(1.7rem,2.8vw,2.35rem)}
.telemetry-panel .metric-card p{min-height:2.6em;line-height:1.35}
.telemetry-panel .rain-trust-panel{
  margin-top:14px;
  padding:17px;
  border-color:rgba(53,221,243,.22);
  border-radius:16px;
  background:linear-gradient(115deg,rgba(7,25,37,.94),rgba(13,37,51,.86));
}
.location-panel{
  background:linear-gradient(145deg,rgba(16,40,58,.96),rgba(9,25,37,.96));
}
.location-panel .city-form{max-width:820px}
.location-panel .location-footer{padding-top:10px;border-top:1px solid rgba(53,221,243,.12)}
.analytics-panel .inline-chart-grid{gap:12px}
.analytics-panel .inline-chart{
  padding:17px;
  border-color:rgba(53,221,243,.17);
  border-radius:14px;
  background:linear-gradient(150deg,#0D2231,#091925);
}
.analytics-panel .inline-chart h3{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#EAF5FA;font-size:.94rem}
.analytics-panel .chart-placeholder{border-color:rgba(175,194,208,.28);background:rgba(7,17,27,.48)}
.marine-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:16px}
.marine-grid>.panel{height:100%}
.map-panel .map-canvas{height:clamp(280px,34vw,410px);min-height:250px}
.tides-panel .tides-status{line-height:1.55}
.assistant-panel{border-color:rgba(71,224,192,.23)}
.assistant-panel>.panel-heading{padding-bottom:14px;border-bottom:1px solid rgba(71,224,192,.14)}
.alerts-panel{border-color:rgba(244,185,79,.2)}
@media(max-width:900px){
  .telemetry-panel .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .telemetry-panel .metric-card,.telemetry-panel .metric-primary{min-height:148px}
}
@media(max-width:760px){
  .page-intro{grid-template-columns:minmax(0,1fr);min-height:0;padding:22px;border-radius:18px}
  .page-intro::after{top:-150px;right:-145px;width:260px}
  .page-intro .intro-meta{justify-self:stretch;max-width:none}
  .telemetry-panel>.panel-heading{align-items:flex-start}
  .telemetry-panel .update-meta{justify-items:start;text-align:left}
  .telemetry-panel .metric-grid{gap:9px;margin-top:13px}
  .telemetry-panel .metric-card,.telemetry-panel .metric-primary{min-height:142px;padding:13px}
  .telemetry-panel .metric-primary .metric-value strong{font-size:2.25rem}
  .marine-grid{grid-template-columns:minmax(0,1fr)}
  .map-panel .map-canvas{height:300px}
}
@media(max-width:430px){
  .page-intro{gap:15px;padding:18px}
  .page-intro h1{font-size:clamp(1.85rem,8vw,2.25rem)}
  .page-intro .intro-copy{font-size:.9rem}
  .telemetry-panel .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .telemetry-panel .metric-card,.telemetry-panel .metric-primary{min-height:135px;padding:11px}
  .telemetry-panel .metric-card p{font-size:.76rem}
  .telemetry-panel .metric-card:not(.metric-primary) .metric-value strong{font-size:1.7rem}
  .telemetry-panel .rain-trust-panel{padding:13px}
  .analytics-panel .inline-chart{padding:13px}
}
@media(prefers-reduced-motion:reduce){
  .page-intro::after{box-shadow:none}
}


/* Cross-page identity layer — Web, PWA, account and connectivity screens. */
:root{
  --bg:#07111B;--panel:#0B1D2B;--panel2:#10283A;--line:#29485D;
  --text:#F2F8FC;--muted:#AFC2D0;--accent:#35DDF3;--accentText:#04131C;
  --good:#47E0C0;--warning:#F4B94F;--danger:#FF7887;
  --brand-content-width:1180px;--brand-control-height:46px;
  --brand-focus-ring:0 0 0 3px rgba(53,221,243,.22);
}
html{color-scheme:dark;scroll-padding-top:88px;scrollbar-color:#31566B #07111B}
body{
  color:var(--brand-text);
  background:radial-gradient(ellipse at 12% -18%,rgba(53,221,243,.10),transparent 38rem),
             radial-gradient(ellipse at 88% 8%,rgba(71,224,192,.06),transparent 32rem),var(--brand-ink);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  text-rendering:optimizeLegibility;
}
:where(h1,h2,h3,h4){color:var(--brand-text);text-wrap:balance}
:where(p,li,dd){text-wrap:pretty}
:where(a){color:#73E8F7;text-underline-offset:3px;text-decoration-thickness:1px}
:where(a:hover){color:#D8FBFF}
:where(a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role="button"]:focus-visible){
  outline:3px solid var(--brand-gold);outline-offset:3px;box-shadow:var(--brand-shadow-focus);
}
:where(button,.button,[role="button"],input[type="submit"],input[type="button"]){
  min-height:var(--brand-control-height);border-radius:12px;font:inherit;font-weight:750;
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea){
  min-height:var(--brand-control-height);border:1px solid #36566B;border-radius:12px;
  background:#091925;color:var(--brand-text);font:inherit;
}
:where(textarea){min-height:112px;resize:vertical}
:where(input,select,textarea)::placeholder{color:#91A9B9;opacity:1}
:where(input:disabled,select:disabled,textarea:disabled,button:disabled){cursor:not-allowed;opacity:.58}
:where(.brand){display:inline-flex;align-items:center;gap:10px;color:var(--brand-text);font-weight:850;letter-spacing:-.04em;text-decoration:none}
:where(.brand img){width:40px;height:40px;flex:0 0 auto;object-fit:contain;filter:none}
:where(.brand span span,.brand-accent){color:var(--brand-cyan)}
:where(.skip-link){z-index:1000;border-radius:10px;background:var(--brand-cyan);color:var(--brand-ink);font-weight:800}
:where(table){border-color:var(--brand-line);font-variant-numeric:tabular-nums}
:where(th){color:var(--brand-cyan)}
:where(hr){border:0;border-top:1px solid rgba(175,194,208,.18)}
@media(max-width:640px){
  html{scroll-padding-top:72px}
  :where(.brand img){width:36px;height:36px}
  :where(button,.button,[role="button"],input[type="submit"],input[type="button"]){min-height:44px}
  :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea){font-size:16px}
}
@media(hover:hover){:where(button:not(:disabled),.button,[role="button"]):hover{filter:brightness(1.07)}}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* Canonical PescaRadar palette v2 — restrained marine surfaces and semantic accents. */
:root{
  color-scheme:dark;
  --pr-bg:#071722;--pr-surface:#102A3A;--pr-surface-raised:#183747;--pr-surface-inset:#091E2A;
  --pr-border:#365466;--pr-primary:#32C5D2;--pr-primary-hover:#54D5DF;--pr-secondary:#47D6B5;
  --pr-gold:#E5B45A;--pr-text:#F2F7FA;--pr-muted:#B5C6D0;
  --pr-positive:#35A879;--pr-warning:#D99A2B;--pr-danger:#D94D5C;--pr-info:#398CCB;
  --bg:var(--pr-bg);--panel:var(--pr-surface);--panel2:var(--pr-surface-raised);
  --text:var(--pr-text);--muted:var(--pr-muted);--line:var(--pr-border);
  --accent:var(--pr-primary);--accentText:#061923;
}
html,body{background-color:var(--pr-bg);color:var(--pr-text)}
body{background:radial-gradient(ellipse at 50% -20%,rgba(50,197,210,.09),transparent 42rem),var(--pr-bg)}
:where(.panel,.card,.metric-card,.feature-card,.condition-block,.pressure-block,.chart-panel,.dashboard-kpi,.analysis-stat,.daily-card,.location-details){
  color:var(--pr-text);background:var(--pr-surface);border-color:var(--pr-border);box-shadow:0 8px 24px rgba(0,0,0,.14)
}
:where(.panel,.card,.metric-card,.feature-card,.condition-block,.pressure-block,.chart-panel,.dashboard-kpi,.analysis-stat,.daily-card) :where(p,small,.muted,.helper-text,.disclaimer){color:var(--pr-muted)}
:where(h1,h2,h3,h4,.metric-value strong,.dashboard-kpi strong,.analysis-stat strong){color:var(--pr-text)}
:where(input,select,textarea){color:var(--pr-text)!important;background:var(--pr-surface-inset)!important;border:1px solid var(--pr-border)!important}
:where(input,select,textarea)::placeholder{color:var(--pr-muted)!important;opacity:1}
:where(.button-primary,.primary){color:#061923!important;background:var(--pr-primary)!important;border-color:var(--pr-primary)!important}
:where(.button-primary,.primary):hover{background:var(--pr-primary-hover)!important}
:where(.button-secondary,.secondary,.map-actions button,.chips button){color:var(--pr-text)!important;background:var(--pr-surface-raised)!important;border-color:var(--pr-border)!important}
:where(.eyebrow,.condition-label,.astronomy-label,.brand-accent){color:var(--pr-secondary)}
:focus-visible{outline:3px solid var(--pr-gold)!important;outline-offset:3px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* Last-cascade guard: retire legacy high-contrast overrides that used !important. */
html body{background-color:var(--pr-bg)!important;color:var(--pr-text)!important}
html body :is(article,.card,.panel,.feature-card,.metric-card,.modal-content,.privacy-banner,.privacy-panel,.condition-block,.pressure-block,.chart-panel,.dashboard-kpi,.analysis-stat,.daily-card){
  color:var(--pr-text)!important;background-color:var(--pr-surface)!important;border-color:var(--pr-border)!important
}
html body :is(.card,.panel,.metric-card,.feature-card,.condition-block,.pressure-block,.chart-panel,.dashboard-kpi,.analysis-stat,.daily-card) :is(p,small,.muted,.text-muted,.secondary-text,.helper-text,.disclaimer){
  color:var(--pr-muted)!important
}
html body :is(input,select,textarea,#target-species){
  color:var(--pr-text)!important;background-color:var(--pr-surface-inset)!important;border-color:var(--pr-border)!important
}
html body :is(input,textarea)::placeholder{color:var(--pr-muted)!important;opacity:1}
html body :is(.primary,.button-primary,.nav-tab.active,.tab.active,[role="tab"][aria-selected="true"],button[aria-pressed="true"]){
  color:#061923!important;background:var(--pr-primary)!important;border-color:var(--pr-primary)!important
}
html body :is(.secondary,.button-secondary,.map-actions button,.chips button,.nav-tab:not(.active),.tab:not(.active),[role="tab"][aria-selected="false"],button[aria-pressed="false"]){
  color:var(--pr-text)!important;background:var(--pr-surface-raised)!important;border-color:var(--pr-border)!important
}
html body :is(.topbar,.site-header,.site-nav,.site-drawer,.drawer-links a,.drawer-links button){
  color:var(--pr-text)!important;background-color:var(--pr-surface-inset)!important;border-color:var(--pr-border)!important
}
