/**
 * Platinum Surface 2.17.3 — Public Weather Composition
 * Canonical contract: ps-weather-*
 * Reader-facing presentation only. CMS diagnostics and source-health UI are intentionally excluded.
 */
:root{
  --ps-weather-radius-xl:26px;
  --ps-weather-radius-lg:20px;
  --ps-weather-radius-md:15px;
  --ps-weather-blue:#157cb7;
  --ps-weather-cyan:#29aebf;
  --ps-weather-navy:#082948;
  --ps-weather-good:#17755b;
  --ps-weather-watch:#a96d14;
  --ps-weather-alert:#b43f4b;
  --ps-weather-card:color-mix(in srgb,var(--ps-public-surface) 96%,#fff 4%);
  --ps-weather-card-soft:color-mix(in srgb,var(--ps-public-surface-2) 92%,#fff 8%);
  --ps-weather-line:color-mix(in srgb,var(--ps-public-border) 88%,transparent);
  --ps-weather-shadow:0 16px 42px rgba(3,30,55,.08);
}
[data-ps-theme="dark"],html[data-theme="dark"]{
  --ps-weather-card:color-mix(in srgb,var(--ps-public-surface) 97%,#fff 3%);
  --ps-weather-card-soft:color-mix(in srgb,var(--ps-public-surface-2) 97%,#fff 3%);
  --ps-weather-shadow:0 18px 50px rgba(0,0,0,.28);
}

.ps-weather-body{background:var(--ps-public-bg);color:var(--ps-public-text)}
.ps-weather-page{min-height:60vh}
.ps-weather-eyebrow,.ps-weather-label{display:block;color:var(--ps-public-accent);font-size:.68rem;font-weight:900;letter-spacing:.095em;text-transform:uppercase}

.ps-weather-hero{position:relative;overflow:hidden;padding:48px 0 42px;background:
  radial-gradient(circle at 85% 18%,rgba(81,206,221,.27),transparent 22rem),
  linear-gradient(118deg,#072844 0%,#0b6894 54%,#0d8d95 100%);color:#fff}
.ps-weather-hero::after{content:"";position:absolute;inset:auto -8% -58% auto;width:460px;height:460px;border-radius:50%;background:rgba(255,255,255,.07);pointer-events:none}
.ps-weather-hero__grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(350px,.88fr);gap:clamp(30px,5vw,70px);align-items:center}
.ps-weather-hero .ps-weather-eyebrow{color:#b6eef4}
.ps-weather-hero h1{margin:6px 0 0;color:#fff;font-size:clamp(2.7rem,5vw,4.7rem);line-height:.98;letter-spacing:-.055em;font-weight:900}
.ps-weather-hero__lead{max-width:690px;margin:17px 0 0;color:rgba(255,255,255,.82);font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.62;font-weight:600}
.ps-weather-hero__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.ps-weather-hero__meta span{display:inline-flex;align-items:center;min-height:29px;padding:0 10px;border:1px solid rgba(255,255,255,.17);border-radius:999px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.78);font-size:.73rem;font-weight:760}

.ps-weather-current{position:relative;z-index:1;padding:22px;border:1px solid rgba(255,255,255,.19);border-radius:var(--ps-weather-radius-xl);background:linear-gradient(160deg,rgba(255,255,255,.17),rgba(255,255,255,.075));box-shadow:0 24px 58px rgba(0,0,0,.16);backdrop-filter:blur(16px)}
.ps-weather-current__head{display:grid;grid-template-columns:62px 1fr;gap:14px;align-items:center}
.ps-weather-current__icon{width:62px;height:62px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:19px;background:rgba(255,255,255,.11);font-size:1.8rem}
.ps-weather-current .ps-weather-label{color:rgba(255,255,255,.62)}
.ps-weather-current h2{margin:4px 0 0;color:#fff;font-size:clamp(1.35rem,2.2vw,1.7rem);line-height:1.08;letter-spacing:-.035em}
.ps-weather-current__temperature{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-top:18px;padding:15px 16px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(0,31,57,.18)}
.ps-weather-current__temperature span{color:rgba(255,255,255,.58);font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.ps-weather-current__temperature strong{color:#fff;font-size:1.2rem;line-height:1.2;text-align:right}
.ps-weather-current__synopsis{margin:15px 0 0;color:rgba(255,255,255,.81);font-size:.9rem;line-height:1.55;font-weight:620}
.ps-weather-unit-toggle{display:flex;align-items:center;gap:7px;margin-top:17px;flex-wrap:wrap}
.ps-weather-unit-toggle>span{margin-right:3px;color:rgba(255,255,255,.54);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.ps-weather-unit-toggle button{min-height:31px;padding:0 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.8);font:inherit;font-size:.73rem;font-weight:850;cursor:pointer}
.ps-weather-unit-toggle button:hover,.ps-weather-unit-toggle button.is-active{background:#fff;color:#07385b;border-color:#fff}

.ps-weather-content{padding-top:22px;padding-bottom:20px}
.ps-weather-tropical-strip{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:15px;align-items:center;padding:15px 17px;border:1px solid var(--ps-weather-line);border-radius:18px;background:var(--ps-weather-card);box-shadow:var(--ps-weather-shadow)}
.ps-weather-tropical-strip__icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:color-mix(in srgb,var(--ps-public-accent) 10%,var(--ps-weather-card-soft));font-size:1.25rem}
.ps-weather-tropical-strip__copy h2{margin:4px 0 0;color:var(--ps-public-text);font-size:1rem;line-height:1.22}
.ps-weather-tropical-strip__copy p{margin:4px 0 0;color:var(--ps-public-muted);font-size:.79rem;line-height:1.45;font-weight:620}
.ps-weather-tropical-strip>a{display:inline-flex;align-items:center;gap:6px;color:var(--ps-public-accent);font-size:.76rem;font-weight:900;text-decoration:none;white-space:nowrap}

.ps-weather-snapshot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:14px 0 22px}
.ps-weather-snapshot__item{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center;padding:13px 14px;border:1px solid var(--ps-weather-line);border-radius:16px;background:var(--ps-weather-card-soft)}
.ps-weather-snapshot__icon{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:color-mix(in srgb,var(--ps-public-accent) 9%,transparent);font-size:1.12rem}
.ps-weather-snapshot__item div>span{display:block;color:var(--ps-public-muted);font-size:.63rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.ps-weather-snapshot__item strong{display:block;margin-top:3px;color:var(--ps-public-text);font-size:.86rem;line-height:1.28}

.ps-weather-layout{display:grid;grid-template-columns:minmax(0,1fr) 304px;gap:22px;align-items:start}
.ps-weather-main-column{display:grid;gap:20px;min-width:0}
.ps-weather-panel,.ps-weather-side-card{border:1px solid var(--ps-weather-line);border-radius:var(--ps-weather-radius-lg);background:var(--ps-weather-card);box-shadow:var(--ps-weather-shadow)}
.ps-weather-panel{padding:clamp(20px,2.7vw,28px)}
.ps-weather-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px}
.ps-weather-section-head>div{min-width:0}
.ps-weather-section-head .ps-weather-eyebrow{margin-bottom:5px}
.ps-weather-section-head h2{margin:0;color:var(--ps-public-text);font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.06;letter-spacing:-.038em}
.ps-weather-section-head>p{max-width:370px;margin:0;color:var(--ps-public-muted);font-size:.8rem;line-height:1.5;font-weight:620;text-align:right}

.ps-weather-today-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:13px}
.ps-weather-today-primary{padding:21px;border:1px solid color-mix(in srgb,var(--ps-public-accent) 20%,var(--ps-weather-line));border-radius:18px;background:linear-gradient(155deg,color-mix(in srgb,var(--ps-public-accent) 8%,var(--ps-weather-card-soft)),var(--ps-weather-card-soft))}
.ps-weather-today-primary h3{margin:7px 0 10px;color:var(--ps-public-text);font-size:1.42rem;line-height:1.12;letter-spacing:-.025em}
.ps-weather-today-primary p{margin:0;color:var(--ps-public-text-soft);font-size:.93rem;line-height:1.62;font-weight:620}
.ps-weather-today-details{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.ps-weather-today-details article{padding:14px;border:1px solid var(--ps-weather-line);border-radius:15px;background:var(--ps-weather-card-soft)}
.ps-weather-today-details span{display:block;color:var(--ps-public-accent);font-size:.63rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.ps-weather-today-details p{margin:7px 0 0;color:var(--ps-public-text-soft);font-size:.79rem;line-height:1.48;font-weight:620}

.ps-weather-four-day{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ps-weather-day-card{padding:16px;border:1px solid var(--ps-weather-line);border-radius:17px;background:var(--ps-weather-card-soft)}
.ps-weather-day-card__top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ps-weather-day-card__top span{color:var(--ps-public-accent);font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.ps-weather-day-card__top b{font-size:1.18rem}
.ps-weather-day-card h3{margin:10px 0 6px;color:var(--ps-public-text);font-size:1rem;line-height:1.2}
.ps-weather-day-card>p{min-height:3.7em;margin:0;color:var(--ps-public-muted);font-size:.75rem;line-height:1.45;font-weight:620}
.ps-weather-day-card dl{display:grid;gap:6px;margin:13px 0 0;padding-top:11px;border-top:1px solid var(--ps-weather-line)}
.ps-weather-day-card dl div{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.ps-weather-day-card dt{color:var(--ps-public-muted);font-size:.61rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.ps-weather-day-card dd{margin:0;color:var(--ps-public-text);font-size:.68rem;line-height:1.35;font-weight:760;text-align:right}

.ps-weather-planning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ps-weather-planning-card{padding:17px;border:1px solid var(--ps-weather-line);border-radius:17px;background:var(--ps-weather-card-soft)}
.ps-weather-planning-card>span{display:block;color:var(--ps-public-accent);font-size:.64rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.ps-weather-planning-card h3{margin:7px 0 7px;color:var(--ps-public-text);font-size:.98rem;line-height:1.24}
.ps-weather-planning-card p{margin:0;color:var(--ps-public-muted);font-size:.78rem;line-height:1.5;font-weight:620}

.ps-weather-tropical-lead{display:grid;grid-template-columns:145px minmax(0,1fr);gap:16px;padding:17px;border:1px solid var(--ps-weather-line);border-radius:18px;background:var(--ps-weather-card-soft)}
.ps-weather-tropical-lead__badge{display:grid;place-items:center;min-height:94px;padding:12px;border-radius:15px;background:var(--ps-weather-navy);color:#fff;font-size:.82rem;font-weight:900;text-align:center}
.ps-weather-tropical-lead h3{margin:2px 0 7px;color:var(--ps-public-text);font-size:1.08rem;line-height:1.2}
.ps-weather-tropical-lead p{margin:0;color:var(--ps-public-muted);font-size:.8rem;line-height:1.5;font-weight:620}
.ps-weather-tropical-lead small{display:block;margin-top:9px;color:var(--ps-public-muted);font-size:.67rem;font-weight:760}
.ps-weather-active-storms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.ps-weather-storm-card{padding:16px;border:1px solid var(--ps-weather-line);border-radius:17px;background:var(--ps-weather-card-soft)}
.ps-weather-storm-card>span{display:block;color:var(--ps-public-accent);font-size:.64rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.ps-weather-storm-card h3{margin:7px 0;color:var(--ps-public-text);font-size:1rem;line-height:1.22}
.ps-weather-storm-card p{margin:0;color:var(--ps-public-muted);font-size:.78rem;line-height:1.5;font-weight:620}
.ps-weather-storm-card details{margin-top:11px;padding-top:10px;border-top:1px solid var(--ps-weather-line)}
.ps-weather-storm-card summary{cursor:pointer;color:var(--ps-public-accent);font-size:.74rem;font-weight:900}
.ps-weather-official-text{max-height:380px;overflow:auto;margin-top:9px;padding:12px;border:1px solid var(--ps-weather-line);border-radius:13px;background:var(--ps-public-bg);color:var(--ps-public-text-soft);font:600 .72rem/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.ps-weather-tropical-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.ps-weather-tropical-actions a{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border:1px solid var(--ps-weather-line);border-radius:999px;background:var(--ps-weather-card-soft);color:var(--ps-public-accent);font-size:.74rem;font-weight:900;text-decoration:none}

.ps-weather-sidebar{display:grid;gap:13px;position:sticky;top:calc(var(--ps-public-header-height) + 18px)}
.ps-weather-side-card{padding:17px}
.ps-weather-side-card .ps-weather-eyebrow{margin-bottom:6px}
.ps-weather-side-card h2{margin:0 0 9px;color:var(--ps-public-text);font-size:1.03rem;line-height:1.22;letter-spacing:-.02em}
.ps-weather-side-card p{margin:0;color:var(--ps-public-muted);font-size:.8rem;line-height:1.55;font-weight:620}
.ps-weather-side-card--today{background:linear-gradient(150deg,var(--ps-weather-card),color-mix(in srgb,var(--ps-public-accent) 5%,var(--ps-weather-card-soft)))}
.ps-weather-mini-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}
.ps-weather-mini-facts>div{padding:10px;border:1px solid var(--ps-weather-line);border-radius:13px;background:var(--ps-weather-card-soft)}
.ps-weather-mini-facts span{display:block;color:var(--ps-public-muted);font-size:.61rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.ps-weather-mini-facts strong{display:block;margin-top:4px;color:var(--ps-public-text);font-size:.82rem}
.ps-weather-side-card--ad{overflow:hidden}
.ps-weather-links{display:grid;gap:7px}
.ps-weather-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid var(--ps-weather-line);border-radius:12px;background:var(--ps-weather-card-soft);color:var(--ps-public-text);font-size:.77rem;font-weight:850;text-decoration:none}
.ps-weather-links a:hover{border-color:color-mix(in srgb,var(--ps-public-accent) 45%,var(--ps-weather-line));color:var(--ps-public-accent)}
.ps-weather-side-card--notice{background:linear-gradient(155deg,var(--ps-weather-card),color-mix(in srgb,var(--ps-weather-watch) 5%,var(--ps-weather-card-soft)))}
.ps-weather-inline-link{display:inline-flex;gap:6px;margin-top:11px;color:var(--ps-public-accent);font-size:.76rem;font-weight:900;text-decoration:none}
.ps-weather-sponsored{max-width:900px;margin:24px auto 12px}

.ps-weather-tone--quiet,.ps-weather-tone--fresh,.ps-weather-tone--good,.ps-weather-tone--success{border-color:color-mix(in srgb,var(--ps-weather-good) 30%,var(--ps-weather-line))}
.ps-weather-tone--watch,.ps-weather-tone--caution,.ps-weather-tone--warning{border-color:color-mix(in srgb,var(--ps-weather-watch) 34%,var(--ps-weather-line))}
.ps-weather-tone--alert,.ps-weather-tone--danger{border-color:color-mix(in srgb,var(--ps-weather-alert) 36%,var(--ps-weather-line));background:linear-gradient(155deg,color-mix(in srgb,var(--ps-weather-alert) 6%,var(--ps-weather-card)),var(--ps-weather-card))}
.ps-weather-tone--monitor,.ps-weather-tone--neutral,.ps-weather-tone--info,.ps-weather-tone--secondary{border-color:var(--ps-weather-line)}

@media(max-width:1120px){
  .ps-weather-hero__grid{grid-template-columns:minmax(0,1fr) minmax(330px,.86fr);gap:32px}
  .ps-weather-layout{grid-template-columns:minmax(0,1fr) 280px}
  .ps-weather-four-day{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ps-weather-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .ps-weather-hero{padding:40px 0 36px}
  .ps-weather-hero__grid,.ps-weather-layout{grid-template-columns:1fr}
  .ps-weather-current{max-width:660px}
  .ps-weather-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .ps-weather-tropical-strip{grid-template-columns:48px 1fr}
  .ps-weather-tropical-strip>a{grid-column:2}
}
@media(max-width:700px){
  .ps-weather-hero h1{font-size:clamp(2.45rem,11vw,3.6rem)}
  .ps-weather-today-grid,.ps-weather-today-details,.ps-weather-planning-grid,.ps-weather-active-storms,.ps-weather-sidebar{grid-template-columns:1fr}
  .ps-weather-section-head{display:block}
  .ps-weather-section-head>p{margin-top:8px;max-width:none;text-align:left}
  .ps-weather-tropical-lead{grid-template-columns:1fr}
  .ps-weather-tropical-lead__badge{min-height:48px;width:fit-content;min-width:130px}
}
@media(max-width:520px){
  .ps-weather-content{padding-top:15px}
  .ps-weather-snapshot,.ps-weather-four-day{grid-template-columns:1fr}
  .ps-weather-panel{padding:17px}
  .ps-weather-current{padding:17px}
  .ps-weather-current__head{grid-template-columns:54px 1fr}
  .ps-weather-current__icon{width:54px;height:54px;border-radius:17px}
  .ps-weather-current__temperature{align-items:flex-start;flex-direction:column}
  .ps-weather-current__temperature strong{text-align:left}
  .ps-weather-tropical-strip{grid-template-columns:42px 1fr;padding:14px}
  .ps-weather-tropical-strip__icon{width:42px;height:42px;border-radius:13px}
}
@media(prefers-reduced-motion:reduce){.ps-weather-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Platinum Surface 2.16.0 — Tropical Weather Map foundation */
.ps-weather-map-panel{position:relative;margin:0 0 1.25rem;border:1px solid var(--ps-border-color,rgba(15,23,42,.12));border-radius:26px;background:var(--ps-surface,#fff);box-shadow:var(--ps-shadow-sm,0 12px 32px rgba(15,23,42,.07));overflow:hidden}
.ps-weather-map-panel__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem;padding:1.35rem 1.4rem 1.1rem;border-bottom:1px solid var(--ps-border-color,rgba(15,23,42,.1));background:linear-gradient(135deg,color-mix(in srgb,var(--ps-primary,#336699) 7%,var(--ps-surface,#fff)),var(--ps-surface,#fff))}
.ps-weather-map-panel__title{min-width:0}.ps-weather-map-panel__title .ps-weather-eyebrow{display:block;margin-bottom:.35rem}.ps-weather-map-panel__title h2{margin:0;color:var(--ps-body-color,#102a43);font-size:clamp(1.35rem,2vw,1.8rem);font-weight:900;letter-spacing:-.025em}.ps-weather-map-panel__title p{max-width:760px;margin:.42rem 0 0;color:var(--ps-secondary-color,#52677c);font-size:.91rem;line-height:1.55}
.ps-weather-map-status{display:inline-flex;align-items:center;gap:.45rem;flex:0 0 auto;padding:.52rem .72rem;border:1px solid color-mix(in srgb,var(--ps-primary,#336699) 18%,transparent);border-radius:999px;background:color-mix(in srgb,var(--ps-primary,#336699) 6%,var(--ps-surface,#fff));color:var(--ps-body-color,#102a43);font-size:.75rem;font-weight:800;white-space:nowrap}.ps-weather-map-status::before{content:"";width:.48rem;height:.48rem;border-radius:50%;background:#9aa8b5}.ps-weather-map-status[data-tone="ready"]::before{background:#16803c}.ps-weather-map-status[data-tone="loading"]::before{background:#d99b00}.ps-weather-map-status[data-tone="error"]::before{background:#b42318}
.ps-weather-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.72rem 1rem;border-bottom:1px solid var(--ps-border-color,rgba(15,23,42,.1));background:var(--ps-surface-subtle,#f8fafc);overflow:auto}.ps-weather-map-toolbar__group{display:flex;gap:.45rem;align-items:center;white-space:nowrap}.ps-weather-map-toolbar button{appearance:none;border:1px solid var(--ps-border-color,rgba(15,23,42,.14));border-radius:999px;background:var(--ps-surface,#fff);color:var(--ps-body-color,#102a43);padding:.48rem .72rem;font:inherit;font-size:.76rem;font-weight:800;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.ps-weather-map-toolbar button:hover{border-color:color-mix(in srgb,var(--ps-primary,#336699) 46%,transparent);transform:translateY(-1px)}.ps-weather-map-toolbar button[aria-pressed="true"]{border-color:color-mix(in srgb,var(--ps-primary,#336699) 48%,transparent);background:color-mix(in srgb,var(--ps-primary,#336699) 10%,var(--ps-surface,#fff));color:var(--ps-primary-text,#234f79)}
.ps-weather-map-canvas{height:clamp(430px,57vw,660px);min-height:430px;background:#dfe9f2}.ps-weather-map-canvas .maplibregl-canvas{outline:none}.ps-weather-map-canvas .maplibregl-ctrl-group{border-radius:14px;overflow:hidden;box-shadow:0 8px 24px rgba(15,23,42,.12)}.ps-weather-map-canvas .maplibregl-popup-content{border-radius:16px;padding:0;overflow:hidden;box-shadow:0 18px 46px rgba(15,23,42,.2)}
.ps-weather-map-popup{display:grid;gap:.28rem;min-width:220px;padding:.9rem 1rem}.ps-weather-map-popup>span{font-size:.66rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#587088}.ps-weather-map-popup>strong{font-size:1rem;color:#102a43}.ps-weather-map-popup p{margin:0;color:#40566c;font-size:.78rem;line-height:1.45}.ps-weather-map-popup b{text-transform:capitalize}
.ps-weather-map-footer{padding:1rem 1.1rem 1.15rem;background:var(--ps-surface,#fff);border-top:1px solid var(--ps-border-color,rgba(15,23,42,.1))}.ps-weather-map-footer__note{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.85rem;color:var(--ps-secondary-color,#52677c);font-size:.78rem;line-height:1.5}.ps-weather-map-footer__note strong{color:var(--ps-body-color,#102a43)}
.ps-weather-map-storms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.ps-weather-map-storm{display:grid;gap:.75rem;min-width:0;padding:.9rem;border:1px solid var(--ps-border-color,rgba(15,23,42,.11));border-radius:18px;background:var(--ps-surface-subtle,#f8fafc)}.ps-weather-map-storm__top{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem}.ps-weather-map-storm__top span{display:block;margin-bottom:.16rem;color:var(--ps-secondary-color,#52677c);font-size:.64rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.ps-weather-map-storm__top h3{margin:0;color:var(--ps-body-color,#102a43);font-size:1rem;font-weight:900}.ps-weather-map-storm__top button{border:1px solid color-mix(in srgb,var(--ps-primary,#336699) 24%,transparent);border-radius:999px;background:var(--ps-surface,#fff);color:var(--ps-primary-text,#234f79);padding:.36rem .56rem;font:inherit;font-size:.68rem;font-weight:900;cursor:pointer}.ps-weather-map-storm__facts{display:flex;flex-wrap:wrap;gap:.38rem}.ps-weather-map-storm__facts span{padding:.32rem .48rem;border-radius:9px;background:var(--ps-surface,#fff);color:var(--ps-secondary-color,#52677c);font-size:.69rem}.ps-weather-map-storm__facts b{color:var(--ps-body-color,#102a43)}.ps-weather-map-storm__foot{display:flex;align-items:center;justify-content:space-between;gap:.65rem;color:var(--ps-muted-color,#74869a);font-size:.68rem}.ps-weather-map-storm__foot a{color:var(--ps-primary-text,#234f79);font-weight:800;text-decoration:none}.ps-weather-map-empty{grid-column:1/-1;display:grid;gap:.22rem;padding:.95rem 1rem;border:1px dashed var(--ps-border-color,rgba(15,23,42,.16));border-radius:16px;background:var(--ps-surface-subtle,#f8fafc);color:var(--ps-secondary-color,#52677c);font-size:.8rem}.ps-weather-map-empty strong{color:var(--ps-body-color,#102a43);font-size:.9rem}
html[data-theme="dark"] .ps-weather-map-canvas{filter:saturate(.88) brightness(.88)}
@media(max-width:1100px){.ps-weather-map-storms{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.ps-weather-map-panel{border-radius:20px}.ps-weather-map-panel__head{align-items:flex-start;flex-direction:column;padding:1.05rem}.ps-weather-map-status{white-space:normal}.ps-weather-map-toolbar{padding:.62rem .7rem}.ps-weather-map-toolbar__group:last-child{display:none}.ps-weather-map-canvas{height:500px;min-height:500px}.ps-weather-map-footer{padding:.85rem}.ps-weather-map-footer__note{flex-direction:column}.ps-weather-map-storms{grid-template-columns:1fr}}

/* Platinum Surface 2.16.0 — native Platinum Tropical Weather Map */
.ps-weather-map-canvas{position:relative;overflow:hidden;background:linear-gradient(145deg,#dceef7,#abd6e6);touch-action:none;user-select:none}
.ps-weather-map-svg{display:block;width:100%;height:100%;cursor:grab;transform-origin:center;transition:transform .08s linear;background:#c7e4f0}
.ps-weather-map-svg.is-dragging{cursor:grabbing;transition:none}
.ps-weather-map-ocean{pointer-events:none}
.ps-weather-map-grid__line{stroke:rgba(40,88,116,.15);stroke-width:1;vector-effect:non-scaling-stroke}
.ps-weather-map-grid__label{fill:rgba(34,73,99,.62);font-size:13px;font-weight:700;pointer-events:none}
.ps-weather-map-land__shape{fill:#eef3e9;stroke:#829889;stroke-width:1.1;vector-effect:non-scaling-stroke}
.ps-weather-map-place-label{fill:#50677a;font-size:15px;font-weight:800;text-anchor:middle;paint-order:stroke;stroke:rgba(255,255,255,.92);stroke-width:3px;stroke-linejoin:round;pointer-events:none}
.ps-weather-map-place-label--bvi{fill:#173f67;font-size:16px;font-weight:900}
.ps-weather-map-ocean-label{fill:rgba(23,63,103,.28);font-size:25px;font-weight:900;letter-spacing:.16em;text-anchor:middle;pointer-events:none}
.ps-weather-map-bvi__halo{fill:rgba(245,196,0,.26);stroke:rgba(245,196,0,.6);stroke-width:2;vector-effect:non-scaling-stroke}
.ps-weather-map-bvi__point{fill:#173f67;stroke:#fff;stroke-width:3;vector-effect:non-scaling-stroke}
.ps-weather-map-bvi__label{fill:#173f67;font-size:15px;font-weight:900;paint-order:stroke;stroke:#fff;stroke-width:4px;pointer-events:none}
.ps-weather-map-cone{fill:rgba(63,118,173,.20);stroke:rgba(49,95,145,.78);stroke-width:1.8;vector-effect:non-scaling-stroke;fill-rule:evenodd}
.ps-weather-map-history{fill:none;stroke:#6b7280;stroke-width:2.5;stroke-dasharray:6 6;opacity:.92;vector-effect:non-scaling-stroke}
.ps-weather-map-track{fill:none;stroke:#173f67;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ps-weather-map-track-point{fill:#fff;stroke:#173f67;stroke-width:3;vector-effect:non-scaling-stroke;cursor:pointer}
.ps-weather-map-track-point:focus{outline:none;stroke:#f5c400;stroke-width:5}
.ps-weather-map-warning{fill:none;stroke:#e87400;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ps-weather-map-warning-area{fill:rgba(232,116,0,.13);stroke:#e87400;stroke-width:3;vector-effect:non-scaling-stroke;fill-rule:evenodd}
.ps-weather-map-center{cursor:pointer;outline:none}
.ps-weather-map-center__halo{fill:rgba(255,255,255,.92);stroke:rgba(23,63,103,.18);stroke-width:2;vector-effect:non-scaling-stroke}
.ps-weather-map-center__point{fill:#b42318;stroke:#fff;stroke-width:2.5;vector-effect:non-scaling-stroke}
.ps-weather-map-center__point--td{fill:#4f89ba}.ps-weather-map-center__point--ts{fill:#0f8d8b}.ps-weather-map-center__point--hu{fill:#b42318}.ps-weather-map-center__point--ptc{fill:#7457b5}.ps-weather-map-center__point--ss,.ps-weather-map-center__point--sd{fill:#5e6f7f}
.ps-weather-map-center__mark{fill:#fff;font-size:8px;font-weight:900;pointer-events:none}
.ps-weather-map-center__label{fill:#102a43;font-size:16px;font-weight:900;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;pointer-events:none}
.ps-weather-map-center:focus .ps-weather-map-center__halo{stroke:#f5c400;stroke-width:5}
.ps-weather-map-zoom{position:absolute;right:14px;top:14px;display:grid;border:1px solid rgba(15,23,42,.14);border-radius:14px;overflow:hidden;box-shadow:0 9px 24px rgba(15,23,42,.16);background:rgba(255,255,255,.95)}
.ps-weather-map-zoom button{width:40px;height:38px;border:0;background:#fff;color:#173f67;font:800 22px/1 system-ui,sans-serif;cursor:pointer}.ps-weather-map-zoom button+button{border-top:1px solid rgba(15,23,42,.12)}.ps-weather-map-zoom button:hover,.ps-weather-map-zoom button:focus-visible{background:#eef5fa;outline:none}
.ps-weather-map-popover{position:absolute;z-index:5;display:grid;gap:.28rem;width:min(290px,calc(100% - 24px));padding:1rem 1.05rem;border:1px solid rgba(15,23,42,.13);border-radius:16px;background:rgba(255,255,255,.97);box-shadow:0 18px 46px rgba(15,23,42,.23);color:#102a43}.ps-weather-map-popover__kicker{padding-right:1.4rem;color:#587088;font-size:.65rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.ps-weather-map-popover>strong{font-size:1.02rem}.ps-weather-map-popover p{margin:0;color:#40566c;font-size:.78rem;line-height:1.42}.ps-weather-map-popover__close{position:absolute;right:.55rem;top:.48rem;width:28px;height:28px;border:0;border-radius:50%;background:#eef3f7;color:#173f67;font:800 18px/1 system-ui;cursor:pointer}
html[data-theme="dark"] .ps-weather-map-canvas{filter:none;background:#16364a}html[data-theme="dark"] .ps-weather-map-svg{filter:saturate(.78) brightness(.76)}html[data-theme="dark"] .ps-weather-map-popover{background:#132b3a;color:#f5f7fa;border-color:rgba(255,255,255,.15)}html[data-theme="dark"] .ps-weather-map-popover p,html[data-theme="dark"] .ps-weather-map-popover__kicker{color:#c3d1da}
@media(max-width:760px){.ps-weather-map-canvas{height:440px;min-height:440px}.ps-weather-map-place-label{font-size:13px}.ps-weather-map-center__label{font-size:14px}.ps-weather-map-zoom{right:10px;top:10px}}

/* Platinum Surface 2.17.2 — Weather Intelligence professional public composition */
.ps-weather-content{padding-top:28px}
.ps-weather-intelligence-brief{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
  grid-template-areas:"copy conditions" "meta meta";
  gap:20px 34px;
  margin:0 0 24px;
  padding:24px 26px 18px;
  border:1px solid var(--ps-weather-line);
  border-radius:24px;
  background:linear-gradient(145deg,var(--ps-weather-card),color-mix(in srgb,var(--ps-public-accent) 5%,var(--ps-weather-card-soft)));
  box-shadow:var(--ps-weather-shadow);
}
.ps-weather-intelligence-brief__copy{grid-area:copy;min-width:0}
.ps-weather-intelligence-brief__copy h2{margin:6px 0 9px;color:var(--ps-public-text);font-size:clamp(1.35rem,2.3vw,2rem);line-height:1.08;letter-spacing:-.035em}
.ps-weather-intelligence-brief__copy p{max-width:760px;margin:0;color:var(--ps-public-text-soft);font-size:.92rem;line-height:1.62;font-weight:630}
.ps-weather-intelligence-brief__conditions{grid-area:conditions;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;border-left:1px solid var(--ps-weather-line)}
.ps-weather-intelligence-brief__conditions>div{padding:8px 0 8px 22px;min-width:0}
.ps-weather-intelligence-brief__conditions>div:nth-child(even){border-left:1px solid var(--ps-weather-line);padding-left:18px}
.ps-weather-intelligence-brief__conditions>div:nth-child(n+3){border-top:1px solid var(--ps-weather-line);padding-top:13px}
.ps-weather-intelligence-brief__conditions span{display:block;color:var(--ps-public-muted);font-size:.62rem;font-weight:900;letter-spacing:.075em;text-transform:uppercase}
.ps-weather-intelligence-brief__conditions strong{display:block;margin-top:4px;color:var(--ps-public-text);font-size:.82rem;line-height:1.35}
.ps-weather-intelligence-brief__meta{grid-area:meta;display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--ps-weather-line);color:var(--ps-public-muted);font-size:.72rem;font-weight:760}
.ps-weather-intelligence-brief__meta span:first-child{color:var(--ps-public-accent);font-weight:900}
.ps-weather-intelligence-brief__meta a{margin-left:auto;color:var(--ps-public-accent);font-weight:900;text-decoration:none}

/* Match the Homepage's public rail exactly. */
.ps-weather-layout{grid-template-columns:minmax(0,1fr) 350px!important;gap:32px!important}
.ps-weather-sidebar{display:grid;gap:16px;position:sticky;top:94px}
.ps-weather-sidebar.ps-public-sidebar-rail{top:94px!important}
.ps-weather-sidebar .ps-public-side-card{padding:19px!important}
.ps-weather-side-card{box-shadow:var(--ps-public-panel-shadow)!important}
.ps-weather-side-card--today{background:linear-gradient(150deg,var(--ps-public-surface),color-mix(in srgb,var(--ps-public-accent) 5%,var(--ps-public-surface-2)))!important}
.ps-weather-side-card--notice{background:linear-gradient(155deg,var(--ps-public-surface),color-mix(in srgb,var(--ps-weather-watch) 4%,var(--ps-public-surface-2)))!important}
.ps-weather-sidebar .ps-public-sidebar-ad{width:100%;min-width:0}
.ps-weather-sidebar .ps-public-side-card--ad{width:100%}

/* One editorial local forecast briefing instead of a matrix of small cards. */
.ps-weather-local-brief{padding:clamp(24px,3vw,32px)}
.ps-weather-section-head--brief{align-items:flex-start}
.ps-weather-local-brief__lead{max-width:900px;padding:4px 0 24px}
.ps-weather-local-brief__lead>span{display:inline-flex;margin-bottom:8px;color:var(--ps-public-accent);font-size:.67rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.ps-weather-local-brief__lead h3{margin:0 0 10px;color:var(--ps-public-text);font-size:clamp(1.45rem,2.6vw,2.2rem);line-height:1.08;letter-spacing:-.038em}
.ps-weather-local-brief__lead p{margin:0;color:var(--ps-public-text-soft);font-size:1rem;line-height:1.7;font-weight:620}
.ps-weather-local-brief__timeline{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ps-weather-line);border-bottom:1px solid var(--ps-weather-line)}
.ps-weather-local-brief__timeline>div{padding:20px 24px 20px 0}
.ps-weather-local-brief__timeline>div+div{padding-left:24px;border-left:1px solid var(--ps-weather-line)}
.ps-weather-local-brief__timeline span,.ps-weather-local-brief__marine>span{display:block;margin-bottom:7px;color:var(--ps-public-accent);font-size:.65rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.ps-weather-local-brief__timeline p,.ps-weather-local-brief__marine p{margin:0;color:var(--ps-public-text-soft);font-size:.86rem;line-height:1.62;font-weight:620}
.ps-weather-local-brief__marine{padding-top:20px}
.ps-weather-local-brief__marine p strong{color:var(--ps-public-text);font-weight:850}
.ps-weather-local-brief__marine p span{margin:0 8px;color:var(--ps-public-muted)}
.ps-weather-local-brief__source{margin-top:16px;color:var(--ps-public-muted);font-size:.7rem;font-weight:720}

/* Tropical intelligence is a continuous briefing, not nested boxes. */
.ps-weather-tropical-intelligence{overflow:hidden}
.ps-weather-tropical-intelligence__brief{padding:25px 0 23px;border-top:1px solid var(--ps-weather-line);border-bottom:1px solid var(--ps-weather-line)}
.ps-weather-tropical-intelligence__copy{min-width:0;max-width:960px}
.ps-weather-tropical-intelligence__kicker{display:block;margin-bottom:8px;color:var(--ps-public-accent);font-size:.64rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.ps-weather-tropical-intelligence__copy h3{margin:0 0 13px;color:var(--ps-public-text);font-size:clamp(1.35rem,2.1vw,1.8rem);line-height:1.14;letter-spacing:-.03em}
.ps-weather-tropical-intelligence__copy p{max-width:920px;margin:0;color:var(--ps-public-text-soft);font-size:.92rem;line-height:1.72;font-weight:620}
.ps-weather-tropical-intelligence__narrative{max-width:920px}
.ps-weather-tropical-intelligence__narrative p+p{margin-top:11px}
.ps-weather-tropical-intelligence__meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px;padding-top:15px;border-top:1px solid var(--ps-weather-line);color:var(--ps-public-muted);font-size:.69rem;line-height:1.45;font-weight:720}
.ps-weather-tropical-intelligence__meta strong{color:var(--ps-public-text);font-weight:850}
.ps-weather-tropical-intelligence__official{padding:17px 0;border-bottom:1px solid var(--ps-weather-line)}
.ps-weather-tropical-intelligence__official summary{cursor:pointer;list-style:none;color:var(--ps-public-accent);font-size:.75rem;font-weight:900}
.ps-weather-tropical-intelligence__official summary::-webkit-details-marker{display:none}
.ps-weather-tropical-intelligence__official summary::after{content:'+';display:inline-block;margin-left:8px;font-size:.95rem;font-weight:700}
.ps-weather-tropical-intelligence__official[open] summary::after{content:'−'}
.ps-weather-tropical-intelligence__official .ps-weather-official-text{margin-top:14px;max-height:430px;overflow:auto;padding:16px 18px;border-radius:14px;background:var(--ps-weather-card-soft);color:var(--ps-public-text-soft);font-size:.75rem;line-height:1.58;white-space:normal}

/* Atlantic operations map */
.ps-weather-map-panel{margin-bottom:26px;border-radius:26px;box-shadow:0 20px 54px rgba(3,30,55,.11)}
.ps-weather-map-panel__head{padding:22px 24px 18px;background:linear-gradient(145deg,var(--ps-public-surface),color-mix(in srgb,var(--ps-public-accent) 5%,var(--ps-public-surface-2)))}
.ps-weather-map-panel__title h2{font-size:clamp(1.45rem,2.5vw,2rem);letter-spacing:-.035em}
.ps-weather-map-panel__title p{max-width:790px;font-size:.84rem;line-height:1.55}
.ps-weather-map-toolbar{padding:.72rem 1rem;background:color-mix(in srgb,var(--ps-public-surface-2) 88%,var(--ps-public-surface));border-top:1px solid var(--ps-weather-line);border-bottom:1px solid var(--ps-weather-line)}
.ps-weather-map-toolbar__label{margin-right:.15rem;color:var(--ps-public-muted);font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.ps-weather-map-toolbar button{background:var(--ps-public-surface);color:var(--ps-public-text);border-color:var(--ps-weather-line);box-shadow:0 1px 0 rgba(255,255,255,.35) inset}
.ps-weather-map-toolbar button[aria-pressed="true"]{background:color-mix(in srgb,var(--ps-public-accent) 11%,var(--ps-public-surface));color:var(--ps-public-accent)}
.ps-weather-map-canvas{height:clamp(520px,59vw,720px);min-height:520px;background:linear-gradient(150deg,#d8edf7,#a8d3e4)}
.ps-weather-map-loading{position:absolute;inset:0;display:grid;place-items:center;color:#47677d;font-size:.82rem;font-weight:850;letter-spacing:.02em}
.ps-weather-map-svg{background:linear-gradient(145deg,#dceff7,#a8d4e5)}
.ps-weather-map-land__shape{fill:#edf1e5;stroke:#6f8d7c;stroke-width:1.15;filter:drop-shadow(0 1px 0 rgba(255,255,255,.6))}
.ps-weather-map-grid__line{stroke:rgba(23,63,103,.12)}
.ps-weather-map-grid__label{fill:rgba(34,73,99,.7);font-size:12px}
.ps-weather-map-bvi-link{stroke:rgba(23,63,103,.42);stroke-width:1.8;stroke-dasharray:8 7;vector-effect:non-scaling-stroke}
.ps-weather-map-bvi-link__label{fill:#173f67;font-size:12px;font-weight:850;text-anchor:middle;paint-order:stroke;stroke:rgba(255,255,255,.9);stroke-width:4px;pointer-events:none}
.ps-weather-map-center__meta{fill:#35536b;font-size:12px;font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:3px;pointer-events:none}
.ps-weather-map-zoom{grid-template-columns:1fr}
.ps-weather-map-zoom button{font-size:19px}
.ps-weather-map-legend{display:flex;align-items:center;gap:14px 22px;flex-wrap:wrap;padding:10px 18px;border-top:1px solid var(--ps-weather-line);background:var(--ps-public-surface);color:var(--ps-public-muted);font-size:.68rem;font-weight:780}
.ps-weather-map-legend span{display:inline-flex;align-items:center;gap:7px}
.ps-weather-map-legend__line{display:inline-block;width:25px;height:0;border-top:3px solid #173f67;border-radius:999px}
.ps-weather-map-legend__line--history{border-top-style:dashed;border-top-color:#6b7280}
.ps-weather-map-legend__swatch{width:22px;height:11px;border:1px solid rgba(49,95,145,.78);border-radius:4px;background:rgba(63,118,173,.20)}
.ps-weather-map-legend__point{width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:#173f67;box-shadow:0 0 0 3px rgba(245,196,0,.35)}
.ps-weather-map-footer{padding:1rem 1.2rem 1.2rem}
.ps-weather-map-footer__note{font-size:.72rem}
.ps-weather-map-panel:fullscreen{width:100vw;height:100vh;margin:0;border:0;border-radius:0;background:var(--ps-public-bg);display:flex;flex-direction:column}
.ps-weather-map-panel:fullscreen .ps-weather-map-canvas{flex:1;height:auto;min-height:0}
.ps-weather-map-panel:fullscreen .ps-weather-map-footer{max-height:29vh;overflow:auto}

@media(max-width:1180px) and (min-width:901px){
  .ps-weather-layout{grid-template-columns:minmax(0,1fr) 330px!important;gap:26px!important}
  .ps-weather-intelligence-brief{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)}
}
@media(max-width:900px){
  .ps-weather-layout{grid-template-columns:1fr!important}
  .ps-weather-sidebar{position:static!important;grid-template-columns:repeat(2,minmax(0,1fr))}
  .ps-weather-intelligence-brief{grid-template-columns:1fr;grid-template-areas:"copy" "conditions" "meta"}
  .ps-weather-intelligence-brief__conditions{border-left:0;border-top:1px solid var(--ps-weather-line);padding-top:10px}
  .ps-weather-intelligence-brief__conditions>div{padding-left:0}
  .ps-weather-intelligence-brief__conditions>div:nth-child(even){padding-left:18px}
}
@media(max-width:700px){
  .ps-weather-intelligence-brief{padding:20px;gap:16px}
  .ps-weather-intelligence-brief__meta a{margin-left:0;width:100%}
  .ps-weather-local-brief__timeline{grid-template-columns:1fr}
  .ps-weather-local-brief__timeline>div{padding:16px 0}
  .ps-weather-local-brief__timeline>div+div{padding-left:0;border-left:0;border-top:1px solid var(--ps-weather-line)}
  .ps-weather-local-brief__marine p span{display:none}
  .ps-weather-local-brief__marine p strong:nth-of-type(2){display:block;margin-top:9px}
  .ps-weather-map-toolbar{display:block;overflow:visible}
  .ps-weather-map-toolbar__group{overflow-x:auto;padding-bottom:5px}
  .ps-weather-map-toolbar__group+.ps-weather-map-toolbar__group{margin-top:7px}
  .ps-weather-map-toolbar__label{position:sticky;left:0;background:inherit;padding-right:5px}
  .ps-weather-map-toolbar__group--views{display:flex!important}
  .ps-weather-map-canvas{height:500px;min-height:500px}
}
@media(max-width:520px){
  .ps-weather-intelligence-brief__conditions{grid-template-columns:1fr}
  .ps-weather-intelligence-brief__conditions>div,.ps-weather-intelligence-brief__conditions>div:nth-child(even){padding:10px 0;border-left:0;border-top:1px solid var(--ps-weather-line)}
  .ps-weather-intelligence-brief__conditions>div:first-child{border-top:0}
  .ps-weather-sidebar{grid-template-columns:1fr}
}
@media(max-width:760px){
  .ps-weather-map-toolbar__group--views{display:flex!important}
}

/* Platinum Surface 2.17.3 — dark professional Atlantic tropical map */
.ps-weather-map-panel{
  --ps-map-ocean-0:#061421;
  --ps-map-ocean-1:#082235;
  --ps-map-ocean-2:#0b3045;
  --ps-map-panel:#071725;
  --ps-map-panel-2:#0b2030;
  --ps-map-line:rgba(151,190,211,.18);
  --ps-map-text:#eef6fa;
  --ps-map-soft:#aec2cf;
  --ps-map-cyan:#75d3ff;
  --ps-map-gold:#f2c94c;
  margin-bottom:28px;
  border:1px solid rgba(103,155,185,.22);
  background:var(--ps-map-panel);
  box-shadow:0 28px 72px rgba(2,20,34,.24),0 1px 0 rgba(255,255,255,.05) inset;
}
.ps-weather-map-panel__head{
  position:relative;
  padding:24px 26px 21px;
  border-bottom:1px solid var(--ps-map-line);
  background:
    radial-gradient(circle at 90% -20%,rgba(36,133,177,.28),transparent 45%),
    linear-gradient(135deg,#081b2b 0%,#0b2b40 58%,#103b51 100%);
}
.ps-weather-map-panel__head::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,rgba(117,211,255,.48),transparent);pointer-events:none}
.ps-weather-map-panel__title .ps-weather-eyebrow{color:#78c9ee}
.ps-weather-map-panel__title h2{color:#f6fbfd;text-shadow:0 1px 0 rgba(0,0,0,.15)}
.ps-weather-map-panel__title p{color:#b7cad5;max-width:820px}
.ps-weather-map-status{border-color:rgba(134,185,211,.22);background:rgba(3,18,30,.42);color:#d8e8f0;box-shadow:0 1px 0 rgba(255,255,255,.05) inset;backdrop-filter:blur(10px)}
.ps-weather-map-status[data-tone="ready"]::before{background:#42d392;box-shadow:0 0 0 4px rgba(66,211,146,.12)}
.ps-weather-map-status[data-tone="loading"]::before{background:#f2c94c;box-shadow:0 0 0 4px rgba(242,201,76,.12)}
.ps-weather-map-status[data-tone="error"]::before{background:#ff746d;box-shadow:0 0 0 4px rgba(255,116,109,.12)}
.ps-weather-map-toolbar{padding:.78rem 1.05rem;border-color:var(--ps-map-line);background:#081925;color:var(--ps-map-text)}
.ps-weather-map-toolbar__label{color:#7998aa}
.ps-weather-map-toolbar button{border-color:rgba(132,175,198,.2);background:#102738;color:#cfe0e8;box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 5px 14px rgba(0,0,0,.08)}
.ps-weather-map-toolbar button:hover,.ps-weather-map-toolbar button:focus-visible{border-color:rgba(117,211,255,.48);background:#15364b;color:#f2fbff;outline:none;transform:translateY(-1px)}
.ps-weather-map-toolbar button[aria-pressed="true"]{border-color:rgba(117,211,255,.58);background:#174967;color:#ecfaff;box-shadow:0 0 0 1px rgba(117,211,255,.08) inset,0 7px 18px rgba(0,0,0,.14)}
.ps-weather-map-canvas{isolation:isolate;height:clamp(540px,59vw,730px);min-height:540px;background:linear-gradient(150deg,var(--ps-map-ocean-0),var(--ps-map-ocean-1) 48%,var(--ps-map-ocean-2))}
.ps-weather-map-canvas::before{content:"";position:absolute;z-index:0;inset:0;background:radial-gradient(circle at 22% 15%,rgba(48,137,180,.15),transparent 30%),radial-gradient(circle at 78% 78%,rgba(0,194,203,.07),transparent 28%),linear-gradient(115deg,rgba(255,255,255,.018),transparent 36%,rgba(255,255,255,.012));pointer-events:none}
.ps-weather-map-canvas::after{content:"";position:absolute;z-index:2;inset:0;box-shadow:inset 0 0 90px rgba(0,0,0,.26);pointer-events:none}
.ps-weather-map-loading{z-index:4;color:#9ab7c7;text-shadow:0 1px 0 #04101a}
.ps-weather-map-svg{position:relative;z-index:1;background:transparent;filter:none!important}
.ps-weather-map-grid__line{stroke:rgba(125,177,203,.15);stroke-width:1}
.ps-weather-map-grid__label{fill:rgba(151,190,211,.58);font-size:12px;font-weight:740}
.ps-weather-map-land__shape{fill:#183844;stroke:#477181;stroke-width:1.15;filter:drop-shadow(0 1px 0 rgba(0,0,0,.32))}
.ps-weather-map-place-label{fill:#a8bfca;stroke:rgba(5,21,32,.92);stroke-width:4px;font-weight:800}
.ps-weather-map-place-label--bvi{fill:#ffe28a;font-size:16px}
.ps-weather-map-ocean-label{fill:rgba(151,190,211,.20);font-size:26px;letter-spacing:.18em}
.ps-weather-map-bvi__halo{fill:rgba(242,201,76,.16);stroke:rgba(242,201,76,.68);stroke-width:2.5}
.ps-weather-map-bvi__point{fill:var(--ps-map-gold);stroke:#fff5ca;stroke-width:2.6}
.ps-weather-map-bvi__label{fill:#ffe79a;stroke:#061421;stroke-width:5px}
.ps-weather-map-cone{fill:rgba(74,157,210,.20);stroke:rgba(117,211,255,.72);stroke-width:1.8}
.ps-weather-map-history{stroke:#7e94a3;stroke-width:2.4;stroke-dasharray:7 7;opacity:.9}
.ps-weather-map-track{stroke:var(--ps-map-cyan);stroke-width:4.2;filter:drop-shadow(0 0 3px rgba(117,211,255,.28))}
.ps-weather-map-track-point{fill:#081b2a;stroke:#bcecff;stroke-width:3}
.ps-weather-map-track-point:focus{stroke:#ffe27a;stroke-width:5}
.ps-weather-map-warning{stroke:#ffad4d;stroke-width:6}
.ps-weather-map-warning-area{fill:rgba(255,173,77,.12);stroke:#ffad4d;stroke-width:3}
.ps-weather-map-center__halo{fill:rgba(5,20,32,.92);stroke:rgba(218,238,248,.28);stroke-width:2.3}
.ps-weather-map-center__point{stroke:#fff;stroke-width:2.4;filter:drop-shadow(0 0 5px rgba(0,0,0,.38))}
.ps-weather-map-center__point--td{fill:#4da7d7}.ps-weather-map-center__point--ts{fill:#20b7aa}.ps-weather-map-center__point--hu{fill:#ff6861}.ps-weather-map-center__point--ptc{fill:#9d7ee8}.ps-weather-map-center__point--ss,.ps-weather-map-center__point--sd{fill:#8397a4}
.ps-weather-map-center__mark{fill:#fff}
.ps-weather-map-center__label{fill:#f4f9fb;stroke:#071521;stroke-width:5px}
.ps-weather-map-center__meta{fill:#9fb9c7;stroke:#071521;stroke-width:4px}
.ps-weather-map-bvi-link{stroke:rgba(242,201,76,.45);stroke-width:1.7;stroke-dasharray:8 8}
.ps-weather-map-bvi-link__label{fill:#f6dc7b;stroke:#071521;stroke-width:5px}
.ps-weather-map-zoom{z-index:4;border-color:rgba(132,175,198,.24);background:rgba(8,25,37,.92);box-shadow:0 12px 30px rgba(0,0,0,.3);backdrop-filter:blur(10px)}
.ps-weather-map-zoom button{background:#0d2535;color:#d8e8f0}.ps-weather-map-zoom button+button{border-color:rgba(132,175,198,.18)}.ps-weather-map-zoom button:hover,.ps-weather-map-zoom button:focus-visible{background:#173e55;color:#fff}
.ps-weather-map-popover{border-color:rgba(134,185,211,.2);background:rgba(8,27,41,.97);box-shadow:0 22px 56px rgba(0,0,0,.42);color:#eef7fb;backdrop-filter:blur(12px)}
.ps-weather-map-popover__kicker{color:#78a9c1}.ps-weather-map-popover p{color:#b8cbd5}.ps-weather-map-popover__close{background:#15364a;color:#eaf6fb}
.ps-weather-map-legend{padding:11px 20px;border-color:var(--ps-map-line);background:#081925;color:#91a9b7}
.ps-weather-map-legend__line{border-top-color:var(--ps-map-cyan)}
.ps-weather-map-legend__line--history{border-top-color:#7e94a3}
.ps-weather-map-legend__swatch{border-color:rgba(117,211,255,.7);background:rgba(74,157,210,.22)}
.ps-weather-map-legend__warning{display:inline-block;width:23px;height:10px;border:2px solid #ffad4d;border-radius:4px;background:rgba(255,173,77,.10)}
.ps-weather-map-legend__center{display:inline-block;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:#ff6861;box-shadow:0 0 0 3px rgba(255,104,97,.14)}
.ps-weather-map-legend__point{border-color:#fff4c4;background:var(--ps-map-gold);box-shadow:0 0 0 3px rgba(242,201,76,.16)}
.ps-weather-map-footer{border-color:var(--ps-map-line);background:#071725;color:#b2c5cf}
.ps-weather-map-footer__note{color:#829eae}.ps-weather-map-footer__note strong{color:#cfdee6}
.ps-weather-map-storm{border-color:rgba(132,175,198,.16);background:#0b2030;box-shadow:0 1px 0 rgba(255,255,255,.025) inset}
.ps-weather-map-storm__top span{color:#7897a9}.ps-weather-map-storm__top h3{color:#eef7fb}.ps-weather-map-storm__top button{border-color:rgba(117,211,255,.24);background:#102c40;color:#a9ddf5}
.ps-weather-map-storm__top button:hover,.ps-weather-map-storm__top button:focus-visible{border-color:rgba(117,211,255,.5);background:#17455f;color:#fff;outline:none}
.ps-weather-map-storm__facts span{background:#071a29;color:#89a5b4}.ps-weather-map-storm__facts b{color:#dceaf1}
.ps-weather-map-storm__foot{color:#728d9c}.ps-weather-map-storm__foot a{color:#83d8ff}
.ps-weather-map-empty{border-color:rgba(132,175,198,.18);background:#0b2030;color:#8fa8b5}.ps-weather-map-empty strong{color:#dceaf1}
.ps-weather-map-panel:fullscreen{background:#04111c}
html[data-theme="dark"] .ps-weather-map-svg{filter:none!important}
@media(max-width:760px){.ps-weather-map-canvas{height:500px;min-height:500px}.ps-weather-map-panel__head{padding:19px 18px 17px}.ps-weather-map-legend{gap:10px 15px;padding:10px 14px}}
