
/* HTML hidden must win over component display rules. */
.obxbwap-body [hidden]{display:none!important}
:root{
  --obx-cyan:#32d5ff;
  --obx-cyan-soft:#9cecff;
  --obx-ink:#fff;
  --obx-muted:rgba(255,255,255,.76);
  --obx-glass:rgba(11,55,88,.56);
  --obx-glass-strong:rgba(8,42,70,.72);
  --obx-line:rgba(255,255,255,.17);
  --obx-shadow:0 18px 55px rgba(0,21,40,.27);
  --obx-radius:30px;
  --obx-max:1180px;
  --obx-bottom:78px;
}
*{box-sizing:border-box}
html{background:#0c5d8b;scroll-behavior:smooth}
body.obxbwap-body{margin:0;min-height:100vh;color:var(--obx-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:transparent;overflow-x:hidden;position:relative;isolation:isolate}
button,a{font:inherit}
button{color:inherit}
a{color:inherit}
.obxbwap-bg,.obxbwap-bg-tint{position:fixed;inset:0;z-index:0;pointer-events:none}
.obxbwap-bg{background-image:var(--obxbwap-bg-image);background-size:cover;background-position:center 42%;transform:scale(1.02)}
.obxbwap-bg-tint{z-index:1;background:linear-gradient(180deg,rgba(0,102,169,.22) 0%,rgba(0,84,138,.08) 32%,rgba(0,43,73,.2) 70%,rgba(3,27,47,.58) 100%)}
.obxbwap-preview-banner{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px max(18px,calc((100vw - var(--obx-max))/2 + 20px));background:rgba(4,22,36,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.12);font-size:13px;letter-spacing:.02em}
.obxbwap-preview-banner div{display:flex;align-items:center;gap:10px;min-width:0}.obxbwap-preview-banner strong{color:var(--obx-cyan-soft);font-size:12px;letter-spacing:.12em}.obxbwap-preview-banner span{color:rgba(255,255,255,.68);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.obxbwap-preview-banner a{display:inline-flex;align-items:center;text-decoration:none;padding:7px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.07);white-space:nowrap}
.obxbwap-app{position:relative;z-index:2;width:min(var(--obx-max),calc(100% - 32px));margin:20px auto calc(var(--obx-bottom) + 32px);min-height:calc(100vh - 140px)}
.obxbwap-topbar{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:12px;align-items:stretch;margin-bottom:12px}
.obxbwap-beach-button,.obxbwap-bell{border:1px solid var(--obx-line);background:rgba(5,47,79,.62);backdrop-filter:blur(22px) saturate(135%);box-shadow:var(--obx-shadow);border-radius:28px;min-height:84px;cursor:pointer}
.obxbwap-beach-button{display:flex;align-items:center;text-align:left;padding:13px 22px;gap:14px}.obxbwap-location-mark{font-size:31px;transform:rotate(-40deg);color:#6ee5ff;line-height:1}.obxbwap-beach-copy{display:flex;flex-direction:column;min-width:0;flex:1}.obxbwap-beach-copy small{font-weight:750;font-size:12px;letter-spacing:.16em;color:rgba(255,255,255,.68);margin-bottom:2px}.obxbwap-beach-copy strong{font-size:28px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.obxbwap-chevron{font-size:31px;color:rgba(255,255,255,.76);margin-left:auto}.obxbwap-bell{display:grid;place-items:center;position:relative;font-size:31px;padding:0}.obxbwap-bell span{transform:rotate(45deg);display:block}.obxbwap-bell i{position:absolute;right:17px;top:17px;width:11px;height:11px;border-radius:50%;background:#ff5a5f;box-shadow:0 0 0 3px rgba(10,46,75,.9)}
.obxbwap-global-stack{display:grid;gap:9px;margin-bottom:12px}.obxbwap-banner{border-radius:22px;padding:13px 18px;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(18px);box-shadow:0 10px 28px rgba(0,25,48,.18);display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.obxbwap-banner .obxbwap-banner-icon{font-size:24px}.obxbwap-banner strong{display:block;font-size:15px}.obxbwap-banner span{display:block;color:rgba(255,255,255,.79);font-size:13px;line-height:1.35}.obxbwap-banner small{font-size:11px;color:rgba(255,255,255,.68);white-space:nowrap}.obxbwap-alert-banner{background:rgba(168,66,27,.7)}.obxbwap-alert-banner.level-extreme,.obxbwap-alert-banner.level-severe{background:rgba(149,30,37,.78)}.obxbwap-alert-banner.level-watch{background:rgba(158,94,8,.76)}.obxbwap-alert-banner.level-advisory{background:rgba(157,116,16,.72)}.obxbwap-minutecast{background:rgba(0,88,146,.78)}.obxbwap-minutecast.event-thunderstorm{background:rgba(78,45,133,.78)}
.obxbwap-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:24px;border-radius:24px;background:rgba(5,41,68,.58);backdrop-filter:blur(18px);margin:16px 0}.obxbwap-loading span{width:19px;height:19px;border:3px solid rgba(255,255,255,.24);border-top-color:#fff;border-radius:50%;animation:obxbwap-spin .8s linear infinite}@keyframes obxbwap-spin{to{transform:rotate(360deg)}}.obxbwap-loading strong{font-size:14px}.obxbwap-error{padding:24px;border-radius:24px;background:rgba(102,22,28,.78);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.17);display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0}.obxbwap-error strong{width:100%;font-size:18px}.obxbwap-error span{flex:1;color:rgba(255,255,255,.78)}.obxbwap-error button{border:0;border-radius:999px;padding:10px 16px;background:#fff;color:#173148;font-weight:750;cursor:pointer}
.obxbwap-screen{min-height:520px}.obxbwap-screen[hidden]{display:none!important}.obxbwap-glass-card{background:linear-gradient(150deg,rgba(9,69,109,.63),rgba(7,45,75,.52));border:1px solid var(--obx-line);backdrop-filter:blur(20px) saturate(138%);box-shadow:var(--obx-shadow);border-radius:var(--obx-radius);overflow:hidden}
.obxbwap-home-hero{display:grid;grid-template-columns:1fr;gap:18px;margin-top:5px}.obxbwap-current-main{min-height:330px;display:flex;align-items:center;justify-content:space-between;padding:34px 28px 14px 10px;text-shadow:0 2px 22px rgba(0,35,70,.2)}.obxbwap-big-temp{display:block;font-size:clamp(84px,13vw,158px);line-height:.86;font-weight:280;letter-spacing:-.06em}.obxbwap-current-main h1{font-size:clamp(32px,4.5vw,52px);margin:28px 0 4px;line-height:1.03;letter-spacing:-.03em}.obxbwap-current-main p{margin:0;font-size:clamp(23px,3vw,36px);font-weight:350;color:rgba(255,255,255,.88)}.obxbwap-weather-glyph{font-size:clamp(78px,11vw,138px);filter:drop-shadow(0 10px 16px rgba(0,38,65,.2));padding-right:4%}.obxbwap-weather-glyph.obxbwap-glyph-sun,#obxbwap-today-icon.obxbwap-glyph-sun{color:#ffcf58;text-shadow:0 0 16px rgba(255,207,88,.24),0 0 32px rgba(255,166,64,.12)}
.obxbwap-current-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:14px}.obxbwap-current-stats article{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:150px;padding:16px 10px;border-right:1px solid rgba(255,255,255,.10);border-radius:22px}.obxbwap-current-stats article:last-child{border-right:0}.obxbwap-current-stats article:nth-child(odd){background:rgba(116,196,231,.10)}.obxbwap-stat-icon{font-size:30px;color:#62dcf7;min-height:37px}.obxbwap-current-stats strong{font-size:24px;margin-top:5px}.obxbwap-current-stats small{font-size:17px;color:rgba(255,255,255,.72);margin-top:7px}
.obxbwap-home-grid,.obxbwap-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.obxbwap-section-card{padding:24px}.obxbwap-card-title{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.12)}.obxbwap-card-title h2{margin:0;font-size:23px;letter-spacing:.03em}.obxbwap-card-title small{color:rgba(255,255,255,.72);font-size:13px}.obxbwap-today-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding-top:18px}.obxbwap-today-grid article,.obxbwap-astro-grid article,.obxbwap-forecast-metrics article{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}.obxbwap-today-grid span,.obxbwap-astro-grid span,.obxbwap-forecast-metrics span{font-size:27px;color:#ffcf58;line-height:1.2}.obxbwap-today-grid strong{font-size:22px;margin-top:6px;white-space:normal}.obxbwap-today-grid small,.obxbwap-astro-grid small,.obxbwap-forecast-metrics small{font-size:15px;color:rgba(255,255,255,.70);margin-top:5px}.obxbwap-astro-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding-top:18px}.obxbwap-astro-grid strong{font-size:20px;margin-top:7px}.obxbwap-home-ocean-card{grid-column:1/-1}.obxbwap-ocean-summary{display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center;padding-top:18px}.obxbwap-score-orb{width:146px;height:146px;border-radius:50%;display:grid;place-content:center;text-align:center;border:10px solid rgba(65,220,170,.78);box-shadow:inset 0 0 0 4px rgba(255,255,255,.07),0 10px 35px rgba(0,28,51,.2)}.obxbwap-score-orb strong{font-size:43px;line-height:1}.obxbwap-score-orb small{font-size:13px;color:rgba(255,255,255,.72);margin-top:6px}.obxbwap-ocean-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.obxbwap-ocean-quick article{padding:16px 14px;border-radius:20px;background:rgba(255,255,255,.075)}.obxbwap-ocean-quick small{display:block;color:rgba(255,255,255,.67);font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.obxbwap-ocean-quick strong{font-size:20px}.obxbwap-card-link{border:0;background:transparent;color:#b8f1ff;padding:17px 0 0;font-weight:800;font-size:16px;cursor:pointer}
.obxbwap-forecast-today{grid-column:1/-1}.obxbwap-forecast-lead{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding-top:18px}.obxbwap-forecast-lead h1{font-size:clamp(34px,4vw,52px);margin:6px 0 22px;max-width:690px;line-height:1.05}.obxbwap-forecast-metrics{display:grid;grid-template-columns:repeat(3,150px);gap:10px}.obxbwap-forecast-metrics article{padding:18px 10px;background:rgba(255,255,255,.08);border-radius:21px}.obxbwap-forecast-metrics strong{font-size:26px;margin-top:5px}.obxbwap-hourly-card,.obxbwap-extended-card{grid-column:1/-1}.obxbwap-hourly-strip{display:grid;grid-template-columns:repeat(6,minmax(105px,1fr));gap:10px;padding-top:16px;overflow-x:auto;scrollbar-width:thin}.obxbwap-hour{min-width:105px;text-align:center;padding:13px 8px;border-radius:21px;background:rgba(255,255,255,.075)}.obxbwap-hour time{font-weight:800;font-size:14px}.obxbwap-hour .wx{display:block;font-size:34px;margin:10px 0 4px}.obxbwap-hour strong{font-size:24px}.obxbwap-hour small{display:block;color:#8ce9ff;font-size:13px;margin-top:6px}.obxbwap-extended-list{display:grid;gap:2px;padding-top:7px}.obxbwap-day{display:grid;grid-template-columns:150px 56px 1fr 105px;gap:12px;align-items:center;padding:16px 4px;border-bottom:1px solid rgba(255,255,255,.12)}.obxbwap-day:last-child{border-bottom:0}.obxbwap-day .date strong,.obxbwap-day .date small{display:block}.obxbwap-day .date strong{font-size:19px}.obxbwap-day .date small{color:rgba(255,255,255,.65);margin-top:4px}.obxbwap-day .wx{font-size:34px}.obxbwap-day .condition strong{font-size:20px}.obxbwap-day .condition small{display:block;color:#8ce9ff;margin-top:4px}.obxbwap-day .temps{text-align:right;font-size:24px;font-weight:800}.obxbwap-day .temps span{color:rgba(255,255,255,.63);font-weight:500;margin-left:6px}
.obxbwap-beach-grid{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr)}.obxbwap-report-card{grid-row:span 2}.obxbwap-report-head{display:grid;grid-template-columns:1fr auto;gap:20px}.obxbwap-report-head>div>small{font-weight:800;letter-spacing:.12em}.obxbwap-report-head h1{font-size:31px;line-height:1;margin:3px 0 12px;letter-spacing:.06em}.obxbwap-stars{color:#ffd13a;font-size:31px;letter-spacing:3px}.obxbwap-report-head h2{font-size:42px;margin:8px 0}.obxbwap-report-score{text-align:right}.obxbwap-report-score small{font-size:10px;letter-spacing:.12em;color:rgba(255,255,255,.7);line-height:1.7}.obxbwap-report-score strong{display:block;font-size:66px;line-height:1;margin-top:7px;font-weight:350}.obxbwap-report-score span{font-size:12px;font-weight:800;letter-spacing:.08em;color:rgba(255,255,255,.65)}.obxbwap-report-recommendation{font-size:22px;line-height:1.45;margin:24px 0}.obxbwap-report-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.obxbwap-report-columns article{padding:17px;border-radius:22px;background:rgba(255,255,255,.075)}.obxbwap-report-columns h3{font-size:16px;line-height:1.15;margin:0 0 10px;color:rgba(255,255,255,.76)}.obxbwap-list-item{display:flex;gap:8px;align-items:flex-start;margin:7px 0;font-size:17px;line-height:1.28}.obxbwap-list-item b{color:#54e58f}.obxbwap-list-item.watch b{color:#ffd25f}.obxbwap-details{margin-top:18px;border-top:1px solid rgba(255,255,255,.12);padding-top:16px}.obxbwap-details summary{cursor:pointer;font-size:18px;font-weight:800}.obxbwap-details p{color:rgba(255,255,255,.72);line-height:1.5}.obxbwap-safety-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.obxbwap-safety-head h2{font-size:28px;margin:0}.obxbwap-safety-head span{padding:8px 13px;border-radius:999px;background:#3bc85e;font-weight:850}.obxbwap-safety-head span.moderate{background:#ffcb40;color:#3a2c00}.obxbwap-safety-head span.high{background:#f04d4d}.obxbwap-safety-body{display:grid;grid-template-columns:88px 1fr;gap:18px;align-items:center;margin-top:20px}.obxbwap-flag-large{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:rgba(22,181,91,.34);font-size:44px;color:#54e58f}.obxbwap-flag-large.yellow{background:rgba(255,203,64,.25);color:#ffd043}.obxbwap-flag-large.red{background:rgba(240,77,77,.26);color:#ff6666}.obxbwap-safety-body h2{text-transform:uppercase;font-size:26px;line-height:1.15;margin:0 0 7px}.obxbwap-safety-body p{font-size:17px;color:rgba(255,255,255,.78);line-height:1.45;margin:0}.obxbwap-marine-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}.obxbwap-marine-grid article{padding:15px;border-radius:18px;background:rgba(255,255,255,.075)}.obxbwap-marine-grid small{display:block;font-size:12px;color:rgba(255,255,255,.64);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.obxbwap-marine-grid strong{font-size:18px}
.obxbwap-placeholder-card{max-width:720px;margin:70px auto;text-align:center;padding:50px 32px}.obxbwap-placeholder-card>span{font-size:58px;color:#86eaff}.obxbwap-placeholder-card h1{font-size:42px;margin:16px 0 8px}.obxbwap-placeholder-card p{font-size:18px;line-height:1.55;color:rgba(255,255,255,.76)}.obxbwap-placeholder-card a{display:inline-flex;margin-top:14px;padding:12px 18px;border-radius:999px;background:rgba(255,255,255,.12);text-decoration:none;font-weight:800}.obxbwap-more-card{max-width:760px;margin:50px auto}.obxbwap-more-card>a{display:flex;align-items:center;justify-content:space-between;text-decoration:none;padding:18px 2px;border-bottom:1px solid rgba(255,255,255,.12);font-size:19px;font-weight:700}.obxbwap-more-card>a:last-child{border-bottom:0}.obxbwap-more-card>a span{color:#8ce9ff}
.obxbwap-bottom-nav{position:fixed;z-index:60;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(760px,calc(100% - 28px));height:68px;display:grid;grid-template-columns:repeat(5,1fr);padding:6px 8px;border-radius:24px;background:rgba(53,58,62,.82);backdrop-filter:blur(22px) saturate(130%);border:1px solid rgba(255,255,255,.14);box-shadow:0 15px 42px rgba(0,16,30,.32)}.obxbwap-bottom-nav button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;color:rgba(255,255,255,.76);border-radius:17px}.obxbwap-bottom-nav button span{font-size:23px;line-height:1}.obxbwap-bottom-nav button small{font-size:11px}.obxbwap-bottom-nav button.is-active{color:#35d7ff;background:rgba(55,217,255,.08)}
.obxbwap-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:22px}.obxbwap-modal[hidden]{display:none}.obxbwap-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(2,15,25,.62);backdrop-filter:blur(6px);cursor:pointer}.obxbwap-beach-sheet{position:relative;z-index:1;width:min(620px,100%);max-height:min(780px,90vh);overflow:auto;border-radius:32px;background:rgba(10,45,72,.96);border:1px solid rgba(255,255,255,.18);box-shadow:0 30px 90px rgba(0,12,25,.52);padding:23px}.obxbwap-sheet-grabber{display:none;width:48px;height:5px;background:rgba(255,255,255,.28);border-radius:99px;margin:0 auto 15px}.obxbwap-sheet-head{display:flex;align-items:flex-start;justify-content:space-between}.obxbwap-sheet-head small{letter-spacing:.14em;color:#78e4ff;font-weight:800}.obxbwap-sheet-head h2{font-size:31px;margin:2px 0 0}.obxbwap-sheet-head button{border:0;background:rgba(255,255,255,.09);border-radius:50%;width:42px;height:42px;font-size:26px;cursor:pointer}.obxbwap-beach-sheet>p{color:rgba(255,255,255,.67);margin:10px 0 17px}.obxbwap-beach-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.obxbwap-beach-choice{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);border-radius:19px;padding:15px 16px;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px}.obxbwap-beach-choice strong{font-size:17px}.obxbwap-beach-choice span{opacity:0;color:#72e5ff}.obxbwap-beach-choice.is-selected{background:rgba(38,199,239,.16);border-color:rgba(102,227,255,.48)}.obxbwap-beach-choice.is-selected span{opacity:1}
@media (max-width:900px){
  :root{--obx-radius:24px}
  .obxbwap-app{width:min(100% - 22px,760px);margin-top:12px}
  .obxbwap-current-main{min-height:300px;padding-left:6px}
  .obxbwap-home-grid,.obxbwap-page-grid,.obxbwap-beach-grid{grid-template-columns:1fr}
  .obxbwap-report-card{grid-row:auto}.obxbwap-home-ocean-card,.obxbwap-forecast-today,.obxbwap-hourly-card,.obxbwap-extended-card{grid-column:auto}
  .obxbwap-today-grid{grid-template-columns:repeat(3,1fr)}.obxbwap-today-grid article:nth-child(n+4){margin-top:10px}
  .obxbwap-ocean-summary{grid-template-columns:150px 1fr}.obxbwap-ocean-quick{grid-template-columns:repeat(2,1fr)}
  .obxbwap-forecast-metrics{grid-template-columns:repeat(3,minmax(90px,1fr))}
  .obxbwap-forecast-lead .obxbwap-weather-glyph{font-size:80px}
}
@media (max-width:620px){
  :root{--obx-bottom:82px}
  .obxbwap-preview-banner{padding:8px 12px}.obxbwap-preview-banner span{display:none}.obxbwap-preview-banner strong{font-size:10px}.obxbwap-preview-banner a{font-size:11px;padding:6px 9px}
  .obxbwap-app{width:calc(100% - 18px);margin-top:9px}
  .obxbwap-topbar{grid-template-columns:minmax(0,1fr) 60px;gap:8px}.obxbwap-beach-button,.obxbwap-bell{min-height:72px;border-radius:22px}.obxbwap-beach-button{padding:10px 15px;gap:10px}.obxbwap-location-mark{font-size:25px}.obxbwap-beach-copy small{font-size:9px}.obxbwap-beach-copy strong{font-size:22px}.obxbwap-chevron{font-size:25px}.obxbwap-bell{font-size:24px}
  .obxbwap-banner{grid-template-columns:auto 1fr;padding:11px 13px;border-radius:18px}.obxbwap-banner small{grid-column:2;font-size:10px}.obxbwap-banner .obxbwap-banner-icon{grid-row:1/3}
  .obxbwap-current-main{min-height:264px;padding:20px 12px 8px 2px}.obxbwap-big-temp{font-size:92px}.obxbwap-current-main h1{font-size:34px;margin-top:20px}.obxbwap-current-main p{font-size:25px}.obxbwap-weather-glyph{font-size:72px;padding-right:0}
  .obxbwap-current-stats{grid-template-columns:repeat(4,minmax(0,1fr));padding:8px}.obxbwap-current-stats article{min-height:126px;padding:10px 4px;border-radius:17px}.obxbwap-stat-icon{font-size:22px;min-height:27px}.obxbwap-current-stats strong{font-size:17px}.obxbwap-current-stats small{font-size:13px}
  .obxbwap-section-card{padding:18px}.obxbwap-card-title h2{font-size:19px}.obxbwap-card-title small{font-size:11px}.obxbwap-home-grid,.obxbwap-page-grid{gap:12px;margin-top:12px}
  .obxbwap-today-grid{grid-template-columns:repeat(3,1fr);gap:5px}.obxbwap-today-grid span{font-size:23px}.obxbwap-today-grid strong{font-size:18px}.obxbwap-today-grid small{font-size:12px}.obxbwap-astro-grid{grid-template-columns:repeat(2,1fr);row-gap:16px}.obxbwap-astro-grid strong{font-size:19px}
  .obxbwap-ocean-summary{grid-template-columns:112px 1fr;gap:13px}.obxbwap-score-orb{width:104px;height:104px;border-width:7px}.obxbwap-score-orb strong{font-size:32px}.obxbwap-ocean-quick{gap:7px}.obxbwap-ocean-quick article{padding:11px 9px;border-radius:15px}.obxbwap-ocean-quick strong{font-size:16px}
  .obxbwap-forecast-lead{grid-template-columns:1fr auto}.obxbwap-forecast-lead h1{font-size:31px;margin-bottom:16px}.obxbwap-forecast-metrics{grid-template-columns:repeat(3,1fr);gap:6px}.obxbwap-forecast-metrics article{padding:13px 4px;border-radius:16px}.obxbwap-forecast-metrics strong{font-size:20px}.obxbwap-forecast-lead .obxbwap-weather-glyph{font-size:58px}.obxbwap-hourly-strip{grid-template-columns:repeat(6,92px);gap:7px}.obxbwap-hour{min-width:92px;padding:11px 5px}.obxbwap-hour .wx{font-size:29px}.obxbwap-hour strong{font-size:20px}.obxbwap-day{grid-template-columns:83px 38px 1fr 70px;gap:6px;padding:13px 0}.obxbwap-day .date strong{font-size:15px}.obxbwap-day .date small{font-size:12px}.obxbwap-day .wx{font-size:26px}.obxbwap-day .condition strong{font-size:16px}.obxbwap-day .condition small{font-size:12px}.obxbwap-day .temps{font-size:17px}
  .obxbwap-report-head{grid-template-columns:1fr 92px}.obxbwap-report-head h1{font-size:24px}.obxbwap-stars{font-size:24px}.obxbwap-report-head h2{font-size:32px}.obxbwap-report-score strong{font-size:49px}.obxbwap-report-score small{font-size:8px}.obxbwap-report-recommendation{font-size:19px}.obxbwap-report-columns{grid-template-columns:1fr}.obxbwap-safety-head h2{font-size:22px}.obxbwap-safety-body{grid-template-columns:64px 1fr;gap:12px}.obxbwap-flag-large{width:60px;height:60px;font-size:34px}.obxbwap-safety-body h2{font-size:20px}.obxbwap-safety-body p{font-size:15px}.obxbwap-marine-grid article{padding:12px}.obxbwap-marine-grid strong{font-size:15px}
  .obxbwap-bottom-nav{bottom:max(6px,env(safe-area-inset-bottom));width:calc(100% - 16px);height:64px;border-radius:20px}.obxbwap-bottom-nav button span{font-size:21px}.obxbwap-bottom-nav button small{font-size:10px}
  .obxbwap-modal{align-items:end;padding:0}.obxbwap-beach-sheet{width:100%;max-height:88vh;border-radius:29px 29px 0 0;padding:16px 16px calc(20px + env(safe-area-inset-bottom))}.obxbwap-sheet-grabber{display:block}.obxbwap-beach-list{grid-template-columns:1fr}.obxbwap-beach-choice{padding:14px 15px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.obxbwap-loading span{animation:none}}

/* 0.1.3 — iPad landscape weather art + app glass + horizontal pager. */
:root{
  --obx-glass:rgba(0,0,0,.38);
  --obx-glass-strong:rgba(0,0,0,.48);
  --obx-line:rgba(255,255,255,.22);
  --obx-shadow:0 12px 34px rgba(0,0,0,.16);
  --obx-max:1480px;
}
html{background:#081d2a} body.obxbwap-body{background:transparent}
.obxbwap-bg{background-position:center center;transform:scale(1.005)}
.obxbwap-bg-tint{background:linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.015) 48%,rgba(0,0,0,.12) 100%)}
.obxbwap-beach-button,.obxbwap-bell{background:rgba(0,0,0,.38);border-color:rgba(255,255,255,.22);backdrop-filter:none;-webkit-backdrop-filter:none}
.obxbwap-glass-card{background:rgba(0,0,0,.38);border-color:rgba(255,255,255,.22);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:var(--obx-shadow)}
.obxbwap-current-stats{gap:8px;padding:16px}
.obxbwap-current-stats article,.obxbwap-current-stats article:nth-child(odd){background:rgba(255,255,255,.10);border-right:0;border-radius:16px}
.obxbwap-ocean-quick article,.obxbwap-forecast-metrics article,.obxbwap-hour,.obxbwap-marine-grid article{background:rgba(255,255,255,.10)}
.obxbwap-today-grid article,.obxbwap-astro-grid article{padding:12px 6px;border-radius:16px;background:rgba(255,255,255,.08)}
.obxbwap-card-title{border-bottom-color:rgba(255,255,255,.18)}
.obxbwap-loading{background:rgba(0,0,0,.42);backdrop-filter:none;-webkit-backdrop-filter:none}
.obxbwap-preview-banner{background:rgba(4,18,28,.84)}
.obxbwap-banner{backdrop-filter:none;-webkit-backdrop-filter:none}
.obxbwap-minutecast{background:rgba(0,90,140,.66)}
.obxbwap-alert-banner{background:rgba(160,70,25,.66)}

/* Keep every app page mounted so the adjacent page can be partially revealed. */
.obxbwap-swipe-viewport{position:relative;width:100%;overflow:hidden;touch-action:pan-y;transition:height .24s ease;cursor:grab}
.obxbwap-swipe-track{display:flex;align-items:flex-start;width:100%;will-change:transform;transform:translateX(0);transition:transform .32s cubic-bezier(.22,.85,.25,1)}
.obxbwap-screen{flex:0 0 100%;width:100%;min-width:0;min-height:0;padding:0 2px 16px;opacity:.98;transition:opacity .22s ease}
.obxbwap-screen.is-active{opacity:1}
.obxbwap-screen[aria-hidden="true"]{pointer-events:none}
.obxbwap-is-dragging .obxbwap-swipe-viewport{cursor:grabbing}
.obxbwap-is-dragging,.obxbwap-is-dragging *{user-select:none!important;-webkit-user-select:none!important}

/* Keep the complete four-tile Home row visible on desktop, as in the iPad app. */
@media (min-width:901px){
  .obxbwap-current-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
  .obxbwap-current-stats article{min-width:0;min-height:154px}
  .obxbwap-current-stats strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
}
@media (max-width:620px){
  .obxbwap-current-stats{gap:6px;padding:8px}
  .obxbwap-current-stats article,.obxbwap-current-stats article:nth-child(odd){background:rgba(255,255,255,.10)}
}
@media (prefers-reduced-motion:reduce){
  .obxbwap-swipe-track,.obxbwap-swipe-viewport,.obxbwap-screen{transition:none!important}
}


/* 0.1.4 — background stacking fix. The iPad artwork must remain visible behind glass UI. */
body.obxbwap-body{background:transparent!important;position:relative;isolation:isolate}
.obxbwap-bg{z-index:0!important;opacity:1!important;visibility:visible!important}
.obxbwap-bg-tint{z-index:1!important}
.obxbwap-preview-banner{z-index:50}
.obxbwap-app{position:relative;z-index:2}
.obxbwap-bottom-nav{z-index:60}
.obxbwap-modal{z-index:100}


/* 0.1.5 — full Surf Details + app-style More subpages on the same weather artwork. */
.obxbwap-surf-details-card{grid-column:2}.obxbwap-beach-astro-card{grid-column:1/-1}.obxbwap-detail-list{display:grid;margin-top:14px}.obxbwap-detail-list>div:not(.obxbwap-detail-caption){display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.14)}.obxbwap-detail-list>div:last-of-type{border-bottom:0}.obxbwap-detail-list span{font-size:15px;color:rgba(255,255,255,.72)}.obxbwap-detail-list strong{font-size:16px;text-align:right;max-width:62%}.obxbwap-detail-caption{font-size:12px;color:rgba(255,255,255,.66);margin:-7px 0 7px;padding-left:0}.obxbwap-source-footer{font-size:12px;line-height:1.45;color:rgba(255,255,255,.66);margin:13px 0 0}
.obxbwap-more-pane{width:min(980px,100%);margin:28px auto 0}.obxbwap-more-card{max-width:820px;margin:0 auto}.obxbwap-more-row{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;display:grid;grid-template-columns:34px 1fr auto 24px;align-items:center;gap:12px;text-align:left;padding:17px 4px;cursor:pointer}.obxbwap-more-row:last-child{border-bottom:0}.obxbwap-more-row .ico{font-size:22px;text-align:center;color:#fff}.obxbwap-more-row .ico.alert{color:#ffb34f}.obxbwap-more-row .ico.live{color:#59d9ef}.obxbwap-more-row .ico.history{color:#f4c34e}.obxbwap-more-row .ico.access{color:#ffa947}.obxbwap-more-row .ico.settings{color:#b8cbff}.obxbwap-more-row strong{font-size:18px}.obxbwap-more-row b{font-size:28px;font-weight:400;opacity:.62}.obxbwap-more-row em{font-style:normal;font-size:11px;font-weight:800;min-width:23px;height:23px;padding:0 7px;border-radius:999px;background:rgba(244,147,48,.9);display:grid;place-items:center}
.obxbwap-subpage-head{display:flex;align-items:center;gap:12px;margin:2px 0 15px;padding:0 4px}.obxbwap-subpage-head button{width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.10);color:#fff;font-size:32px;line-height:1;cursor:pointer}.obxbwap-subpage-head h1{margin:0;font-size:30px}.obxbwap-subpage-head p{margin:2px 0 0;color:rgba(255,255,255,.72);font-size:13px}.obxbwap-more-stack{display:grid;gap:13px}.obxbwap-empty-more{text-align:center}.obxbwap-empty-more>span{font-size:42px;color:#68e7ac}.obxbwap-empty-more h2{margin:10px 0 4px}.obxbwap-empty-more p{color:rgba(255,255,255,.76);line-height:1.5}.obxbwap-more-alert-card p,.obxbwap-closure-card p,.obxbwap-about-card p,.obxbwap-settings-preview p{color:rgba(255,255,255,.80);line-height:1.55}.obxbwap-alert-instruction{margin-top:12px;padding:12px;border-radius:14px;background:rgba(255,255,255,.09);line-height:1.45}.obxbwap-alert-expires{display:block;margin-top:12px;opacity:.68}.obxbwap-more-alert-card.level-extreme,.obxbwap-more-alert-card.level-severe{border-color:rgba(255,103,103,.58)}.obxbwap-more-alert-card.level-watch{border-color:rgba(255,176,66,.52)}.obxbwap-more-alert-card.level-advisory{border-color:rgba(255,217,82,.44)}
.obxbwap-station-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:16px}.obxbwap-station-grid article,.obxbwap-history-metrics article{padding:15px;border-radius:16px;background:rgba(255,255,255,.10);text-align:center;min-width:0}.obxbwap-station-grid small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:rgba(255,255,255,.65);margin-bottom:6px}.obxbwap-station-grid strong{font-size:17px;word-break:break-word}.obxbwap-history-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:15px}.obxbwap-history-metrics article{display:flex;flex-direction:column;gap:5px}.obxbwap-history-metrics span{font-size:22px;color:#6de5ff}.obxbwap-history-metrics small{color:rgba(255,255,255,.66)}.obxbwap-history-metrics strong{font-size:18px}.obxbwap-sub-status{padding:22px;text-align:center}.obxbwap-access-status{font-size:23px;margin:18px 0 10px}.obxbwap-setting-row{display:flex;justify-content:space-between;gap:14px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.14)}.obxbwap-setting-row span{color:rgba(255,255,255,.7)}.obxbwap-inline-action{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.10);color:#fff;border-radius:15px;padding:11px 15px;font-weight:800;margin-top:14px;cursor:pointer}.obxbwap-about-card h2{font-size:28px;margin-top:0}.obxbwap-about-card h3{margin:22px 0 6px}.obxbwap-about-links{display:grid;margin:20px 0;border-top:1px solid rgba(255,255,255,.15)}.obxbwap-about-links a{text-decoration:none;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.15);font-weight:700}
@media(max-width:900px){.obxbwap-surf-details-card,.obxbwap-beach-astro-card{grid-column:auto}.obxbwap-station-grid,.obxbwap-history-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.obxbwap-more-pane{margin-top:12px}.obxbwap-subpage-head h1{font-size:24px}.obxbwap-more-row{padding:15px 2px;grid-template-columns:30px 1fr auto 18px}.obxbwap-more-row strong{font-size:16px}.obxbwap-station-grid,.obxbwap-history-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.obxbwap-detail-list strong{max-width:58%;font-size:15px}}

/* 0.1.6: real Beach Cam inside the app-style shell. */
.obxbwap-cam-card{max-width:1180px;margin:38px auto 90px;padding:22px}
.obxbwap-cam-frame{position:relative;width:100%;aspect-ratio:16/9;border-radius:24px;overflow:hidden;background:rgba(2,19,31,.72);box-shadow:0 20px 50px rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.12)}
.obxbwap-cam-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.obxbwap-cam-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:16px 4px 2px}
.obxbwap-cam-footer>div{display:flex;flex-direction:column;gap:3px}.obxbwap-cam-footer strong{font-size:14px;letter-spacing:.06em}.obxbwap-cam-footer small{color:rgba(255,255,255,.68)}
.obxbwap-cam-footer a{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);text-decoration:none;font-weight:800}
.obxbwap-live-dot{display:inline-block;width:9px;height:9px;border-radius:999px;background:#45e389;margin-right:7px;box-shadow:0 0 0 4px rgba(69,227,137,.12)}
.obxbwap-cam-offline{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px;border-radius:24px;background:rgba(2,19,31,.58);border:1px solid rgba(255,255,255,.12)}
.obxbwap-cam-offline>span{font-size:56px;color:#86eaff}.obxbwap-cam-offline h2{margin:12px 0 8px}.obxbwap-cam-offline p{max-width:680px;color:rgba(255,255,255,.72);line-height:1.55}
@media(max-width:720px){.obxbwap-cam-card{margin:20px 0 76px;padding:14px}.obxbwap-cam-frame{border-radius:18px}.obxbwap-cam-footer{align-items:flex-start}}


/* 0.1.7 — complete Sunnyside Up station/calendar, mapped Hatteras access, working web settings. */
.obxbwap-live-status,.obxbwap-access-mapped{margin-top:12px;padding:10px 12px;border-radius:12px;background:rgba(65,217,239,.12);border:1px solid rgba(101,224,244,.18);font-size:12px;color:rgba(255,255,255,.82)}
.obxbwap-setting-select{appearance:auto;background:rgba(6,29,43,.72);color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:7px 9px;font-weight:700}.obxbwap-setting-row input[type=checkbox]{width:22px;height:22px;accent-color:#5ad9ef}
.obxbwap-calendar-grid{margin-top:12px}.obxbwap-calendar-weekdays,.obxbwap-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.obxbwap-calendar-weekdays{margin-bottom:6px}.obxbwap-calendar-weekdays span{text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.58)}.obxbwap-calendar-days article{min-height:92px;padding:8px;border-radius:13px;background:rgba(255,255,255,.09);display:flex;flex-direction:column;justify-content:space-between;gap:4px}.obxbwap-calendar-days article>b{font-size:12px;color:#8beeff}.obxbwap-calendar-days article span{display:flex;flex-direction:column}.obxbwap-calendar-days article strong{font-size:15px}.obxbwap-calendar-days article small{font-size:12px;color:rgba(255,255,255,.68)}.obxbwap-calendar-days article em{font-style:normal;font-size:10px;color:rgba(255,255,255,.58)}
:root[data-obxbwap-appearance="day"] .obxbwap-bg-tint{background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.07))!important}:root[data-obxbwap-appearance="night"] .obxbwap-bg-tint{background:rgba(0,8,18,.36)!important}:root[data-obxbwap-reduced="1"] *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
@media(max-width:620px){.obxbwap-calendar-weekdays,.obxbwap-calendar-days{gap:3px}.obxbwap-calendar-days article{min-height:72px;padding:6px 4px;border-radius:10px}.obxbwap-calendar-days article strong{font-size:13px}.obxbwap-calendar-days article small{font-size:11px}.obxbwap-calendar-days article em{font-size:9px}}

/* 0.1.8 — Beach-page Hatteras access/driving + Sunnyside station value normalization. */
.obxbwap-beach-access-inline{grid-column:1/-1}.obxbwap-beach-access-inline p{color:rgba(255,255,255,.82);line-height:1.5}.obxbwap-access-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.obxbwap-access-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 13px;border:1px solid rgba(116,226,246,.28);border-radius:12px;background:rgba(61,196,222,.12);color:#fff;text-decoration:none;font-weight:800;font-size:12px}.obxbwap-access-actions a:active{transform:translateY(1px)}.obxbwap-access-checked{display:block;margin-top:11px;color:rgba(255,255,255,.65);line-height:1.4}
@media(max-width:620px){.obxbwap-access-actions{display:grid;grid-template-columns:1fr}.obxbwap-access-actions a{width:100%}}


/* 0.1.9 Beach-page tide presentation */
.obxbwap-tides-card{overflow:hidden}
.obxbwap-tide-hero{margin-top:14px;padding:18px 20px;border-radius:20px;background:rgba(18,174,209,.12);border:1px solid rgba(119,222,245,.25);display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:end}
.obxbwap-tide-hero small{grid-column:1/-1;letter-spacing:.16em;opacity:.72;font-size:12px}
.obxbwap-tide-hero strong{font-size:25px;line-height:1.15}
.obxbwap-tide-hero span{font-size:16px;opacity:.85;padding-bottom:2px}
.obxbwap-tide-list{margin-top:12px;display:grid;gap:8px}
.obxbwap-tide-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px 14px;border-radius:15px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.09)}
.obxbwap-tide-row strong{font-size:15px}.obxbwap-tide-row span{font-weight:700}.obxbwap-tide-row em{font-style:normal;opacity:.75;min-width:46px;text-align:right}
@media(max-width:520px){.obxbwap-tide-hero strong{font-size:22px}.obxbwap-tide-row{grid-template-columns:1fr auto}.obxbwap-tide-row em{grid-column:2}}


/* 0.1.10 — Beach Sun & Moon + brighter app-like visual hierarchy. */
:root{
  --obx-cyan:#31ddff;
  --obx-cyan-soft:#b7f4ff;
  --obx-green:#42e77b;
  --obx-yellow:#ffd447;
  --obx-orange:#ff9d32;
  --obx-red:#ff4d55;
  --obx-purple:#a879ff;
}
/* Stronger white typography and brighter section headings/icons. */
.obxbwap-card-title h2,.obxbwap-safety-head h2,.obxbwap-report-head h1{color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.24)}
.obxbwap-card-title small{color:rgba(220,248,255,.86)}
.obxbwap-current-stats small,.obxbwap-marine-grid small,.obxbwap-detail-list span,.obxbwap-source-footer,.obxbwap-report-columns h3{color:rgba(245,252,255,.80)}
.obxbwap-stat-icon,.obxbwap-location-mark{color:var(--obx-cyan);text-shadow:0 0 18px rgba(49,221,255,.28)}
.obxbwap-stars{color:var(--obx-yellow);text-shadow:0 0 16px rgba(255,212,71,.22)}
.obxbwap-list-item b{color:var(--obx-green)}
.obxbwap-list-item.watch b{color:var(--obx-yellow)}

/* Warnings: explicit, saturated app-style severity colors with high-contrast text. */
.obxbwap-alert-banner{background:linear-gradient(135deg,rgba(239,105,27,.94),rgba(194,66,22,.92));border-color:rgba(255,190,128,.58);box-shadow:0 12px 34px rgba(97,31,6,.28)}
.obxbwap-alert-banner.level-extreme,.obxbwap-alert-banner.level-severe{background:linear-gradient(135deg,rgba(223,39,49,.96),rgba(146,16,28,.95));border-color:rgba(255,123,130,.72);box-shadow:0 12px 34px rgba(104,6,14,.34)}
.obxbwap-alert-banner.level-watch{background:linear-gradient(135deg,rgba(255,151,29,.96),rgba(200,98,5,.94));border-color:rgba(255,209,121,.66)}
.obxbwap-alert-banner.level-advisory{background:linear-gradient(135deg,rgba(240,181,17,.96),rgba(190,123,3,.94));border-color:rgba(255,226,115,.66)}
.obxbwap-banner strong{color:#fff;font-weight:850}.obxbwap-banner span{color:rgba(255,255,255,.94)}.obxbwap-banner small{color:rgba(255,255,255,.86)}
.obxbwap-banner .obxbwap-banner-icon{filter:drop-shadow(0 2px 8px rgba(0,0,0,.24))}
.obxbwap-minutecast{background:linear-gradient(135deg,rgba(0,153,220,.96),rgba(0,91,173,.94));border-color:rgba(119,225,255,.62);box-shadow:0 12px 34px rgba(0,70,127,.28)}
.obxbwap-minutecast.event-thunderstorm,.obxbwap-minutecast[class*="event-thunder"]{background:linear-gradient(135deg,rgba(133,76,224,.96),rgba(73,39,145,.95));border-color:rgba(205,173,255,.64)}
.obxbwap-minutecast[class*="event-snow"],.obxbwap-minutecast[class*="event-winter"]{background:linear-gradient(135deg,rgba(67,169,222,.96),rgba(41,106,171,.95));border-color:rgba(185,235,255,.70)}

/* Ocean-safety colors carry through the full card instead of only a small pill. */
.obxbwap-safety-card{border-color:rgba(111,223,255,.26)}
.obxbwap-safety-head span{background:var(--obx-green);color:#062b16;box-shadow:0 0 18px rgba(66,231,123,.20)}
.obxbwap-safety-head span.moderate{background:var(--obx-yellow);color:#3c2b00;box-shadow:0 0 18px rgba(255,212,71,.22)}
.obxbwap-safety-head span.high{background:var(--obx-red);color:#fff;box-shadow:0 0 18px rgba(255,77,85,.26)}
.obxbwap-flag-large{background:rgba(39,214,103,.30);color:#56f18f;border:1px solid rgba(100,255,156,.35);box-shadow:inset 0 0 24px rgba(71,236,132,.08)}
.obxbwap-flag-large.yellow{background:rgba(255,202,49,.26);color:#ffe061;border-color:rgba(255,225,105,.42)}
.obxbwap-flag-large.red{background:rgba(255,70,78,.28);color:#ff7278;border-color:rgba(255,123,129,.45)}

/* Dedicated Beach sun/moon section requested for the Beach page. */
.obxbwap-beach-astro-card{grid-column:1/-1;border-color:rgba(118,221,255,.22);background:linear-gradient(135deg,rgba(12,67,103,.68),rgba(15,46,80,.68))}
.obxbwap-beach-astro-grid article{background:rgba(255,255,255,.095);border:1px solid rgba(255,255,255,.08)}
.obxbwap-beach-astro-grid article:nth-child(1),.obxbwap-beach-astro-grid article:nth-child(2){background:linear-gradient(180deg,rgba(255,193,58,.15),rgba(255,255,255,.06))}
.obxbwap-beach-astro-grid article:nth-child(3),.obxbwap-beach-astro-grid article:nth-child(4){background:linear-gradient(180deg,rgba(139,117,255,.15),rgba(255,255,255,.06))}
.obxbwap-sun-icon,.obxbwap-sunset-icon{color:#ffd65b!important;text-shadow:0 0 16px rgba(255,214,91,.28)}
.obxbwap-moon-icon{color:#cdbdff!important;text-shadow:0 0 16px rgba(169,135,255,.25)}

/* Tides and access get stronger app-like feature accents. */
.obxbwap-tides-card{border-color:rgba(75,220,255,.28)}
.obxbwap-tide-hero{background:linear-gradient(135deg,rgba(24,184,219,.20),rgba(26,113,181,.17));border-color:rgba(117,229,255,.38)}
.obxbwap-tide-hero small{color:#a9f2ff}.obxbwap-tide-hero strong{color:#fff}.obxbwap-tide-row strong{color:#aeefff}
.obxbwap-beach-access-inline{border-color:rgba(255,169,71,.26)}
.obxbwap-access-actions a{background:linear-gradient(135deg,rgba(30,183,217,.24),rgba(19,128,188,.18));border-color:rgba(118,231,255,.38);color:#fff}

/* More-page feature icons and active warning cards. */
.obxbwap-more-row .ico.alert{color:#ff9f43}.obxbwap-more-row .ico.live{color:#3de6ff}.obxbwap-more-row .ico.history{color:#ffd04a}.obxbwap-more-row .ico.access{color:#ffad4e}.obxbwap-more-row .ico.settings{color:#b8c8ff}
.obxbwap-more-alert-card.level-extreme,.obxbwap-more-alert-card.level-severe{background:linear-gradient(135deg,rgba(150,23,34,.72),rgba(87,21,37,.65));border-color:rgba(255,99,108,.72)}
.obxbwap-more-alert-card.level-watch{background:linear-gradient(135deg,rgba(171,91,9,.66),rgba(89,49,18,.62));border-color:rgba(255,178,69,.62)}
.obxbwap-more-alert-card.level-advisory{background:linear-gradient(135deg,rgba(151,115,15,.60),rgba(82,65,17,.60));border-color:rgba(255,220,89,.54)}

/* 0.1.11 refinements: remove beach astro card, neutralize tides, and energize access/ORV styling */
.obxbwap-tides-card{
  border-color:rgba(255,255,255,.14)!important;
  background:linear-gradient(180deg,rgba(37,43,54,.74),rgba(24,30,40,.78))!important;
}
.obxbwap-tide-hero{
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.05))!important;
  border:1px solid rgba(255,255,255,.15)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 10px 24px rgba(0,0,0,.10);
}
.obxbwap-tide-hero small{color:rgba(215,239,248,.86)!important}
.obxbwap-tide-hero strong{color:#fff!important}
.obxbwap-tide-hero span{color:rgba(255,255,255,.86)!important}
.obxbwap-tide-list{margin-top:14px;display:grid;gap:10px}
.obxbwap-tide-row{
  background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.045))!important;
  border:1px solid rgba(255,255,255,.12)!important;
}
.obxbwap-tide-row strong{color:#fff!important}
.obxbwap-tide-row span{color:#d9eff6}
.obxbwap-tide-row em{color:rgba(255,255,255,.82)}

.obxbwap-beach-access-inline,
.obxbwap-more-access-summary,
.obxbwap-orv-card{
  border-color:rgba(255,181,80,.28)!important;
  background:linear-gradient(180deg,rgba(53,54,66,.76),rgba(29,35,46,.80))!important;
}
.obxbwap-access-mapped{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:16px;
  padding:8px 14px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(74,205,233,.18),rgba(255,179,71,.18));
  border:1px solid rgba(150,226,255,.22);
  color:#edfaff;
  font-size:14px;
}
.obxbwap-access-status{
  margin:16px 0 10px;
  font-size:clamp(26px,4vw,42px);
  line-height:1.06;
  letter-spacing:-.02em;
}
.obxbwap-access-copy,
.obxbwap-beach-access-inline p{
  color:rgba(245,250,255,.88)!important;
  line-height:1.5;
}
.obxbwap-access-chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.obxbwap-access-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(255,173,64,.20),rgba(255,255,255,.07));
  border:1px solid rgba(255,191,100,.28);
  color:#fff;
  font-weight:700;
}
.obxbwap-access-stamp,
.obxbwap-access-checked{
  display:block;
  margin-top:12px;
  color:rgba(232,244,250,.76)!important;
  line-height:1.45;
}
.obxbwap-access-detail-list{display:grid;gap:12px;margin-top:14px}
.obxbwap-access-detail-list>div{
  display:flex!important;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:14px 16px!important;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.05));
}
.obxbwap-access-detail-list>div:nth-child(1){border-color:rgba(90,222,250,.26);background:linear-gradient(135deg,rgba(60,198,223,.14),rgba(255,255,255,.05))}
.obxbwap-access-detail-list>div:nth-child(2){border-color:rgba(255,186,92,.26);background:linear-gradient(135deg,rgba(255,169,71,.16),rgba(255,255,255,.05))}
.obxbwap-access-detail-list>div span{font-size:14px;color:rgba(255,255,255,.80)!important}
.obxbwap-access-detail-list>div strong{font-size:17px;max-width:58%}
.obxbwap-access-detail-list>div:nth-child(1) span::before{content:'🛻 ';}
.obxbwap-access-detail-list>div:nth-child(2) span::before{content:'⚠ ';}

.obxbwap-access-actions{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
.obxbwap-access-actions a{
  width:100%;
  min-height:54px!important;
  padding:12px 16px!important;
  border-radius:16px!important;
  justify-content:flex-start!important;
  font-size:14px!important;
  line-height:1.25;
  box-shadow:0 10px 24px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.06);
}
.obxbwap-access-actions a:nth-child(1){background:linear-gradient(135deg,rgba(44,205,234,.26),rgba(33,124,192,.22))!important;border-color:rgba(125,232,255,.42)!important}
.obxbwap-access-actions a:nth-child(2){background:linear-gradient(135deg,rgba(92,167,255,.24),rgba(69,108,215,.22))!important;border-color:rgba(160,205,255,.36)!important}
.obxbwap-access-actions a:nth-child(3){background:linear-gradient(135deg,rgba(255,179,73,.26),rgba(207,104,42,.22))!important;border-color:rgba(255,200,112,.42)!important}
@media(max-width:900px){.obxbwap-access-actions{grid-template-columns:1fr}}

.obxbwap-orv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.obxbwap-orv-item{
  min-width:0;
  display:grid;
  gap:6px;
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.05));
}
.obxbwap-orv-item span{font-size:24px;line-height:1}
.obxbwap-orv-item small{color:rgba(255,255,255,.75);font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.obxbwap-orv-item strong{font-size:18px;line-height:1.28;color:#fff}
.obxbwap-orv-item.permit{border-color:rgba(255,208,97,.28);background:linear-gradient(135deg,rgba(255,197,74,.15),rgba(255,255,255,.05))}
.obxbwap-orv-item.routes{border-color:rgba(84,229,255,.26);background:linear-gradient(135deg,rgba(60,203,227,.14),rgba(255,255,255,.05))}
.obxbwap-orv-item.vehicle{border-color:rgba(144,194,255,.26);background:linear-gradient(135deg,rgba(98,149,255,.14),rgba(255,255,255,.05))}
.obxbwap-orv-item.tire{border-color:rgba(255,177,117,.28);background:linear-gradient(135deg,rgba(255,160,71,.15),rgba(255,255,255,.05))}
.obxbwap-orv-equipment{
  margin:16px 0 0;
  padding:14px 16px;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.05));
  border:1px solid rgba(255,255,255,.10);
  color:rgba(250,252,255,.92);
  line-height:1.5;
}
@media(max-width:620px){
  .obxbwap-orv-grid{grid-template-columns:1fr}
  .obxbwap-access-status{font-size:28px}
  .obxbwap-access-detail-list>div strong{max-width:54%}
}


/* 0.1.12 closure card header color pass */
.obxbwap-closure-card{border-color:rgba(255,187,95,.34)!important;background:linear-gradient(180deg,rgba(59,60,71,.78),rgba(33,39,50,.82))!important;}
.obxbwap-closure-card h3{margin:0 0 14px;color:#ffbf66;font-size:clamp(24px,3.6vw,38px);line-height:1.08;letter-spacing:-.02em;text-shadow:0 0 18px rgba(255,173,64,.12);}
.obxbwap-closure-card p{color:rgba(250,251,255,.88)!important;}


/* 0.1.13 closure severity + stronger alert tint */
.obxbwap-closure-card{position:relative;overflow:hidden;}
.obxbwap-closure-card::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.9;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01));}
.obxbwap-closure-card h3{position:relative;z-index:1;display:flex;align-items:flex-start;gap:10px;}
.obxbwap-closure-card p{position:relative;z-index:1;}
.obxbwap-closure-card.tone-danger{border-color:rgba(255,122,122,.42)!important;background:linear-gradient(180deg,rgba(93,33,42,.84),rgba(58,27,35,.80))!important;box-shadow:0 16px 34px rgba(56,16,25,.16);}
.obxbwap-closure-card.tone-danger h3{color:#ff8f8f!important;text-shadow:0 0 16px rgba(255,108,108,.16);}
.obxbwap-closure-card.tone-danger p{color:rgba(255,237,237,.92)!important;}
.obxbwap-closure-card.tone-warning{border-color:rgba(255,185,96,.42)!important;background:linear-gradient(180deg,rgba(96,60,25,.84),rgba(63,40,18,.80))!important;box-shadow:0 16px 34px rgba(64,35,9,.16);}
.obxbwap-closure-card.tone-warning h3{color:#ffc16c!important;text-shadow:0 0 16px rgba(255,183,80,.15);}
.obxbwap-closure-card.tone-warning p{color:rgba(255,245,231,.92)!important;}

/* 0.1.14 — Beach Access card aligned with the native app visual treatment */
.obxbwap-app-access-card{
  padding:24px 26px 22px!important;
  border:1px solid rgba(255,255,255,.13)!important;
  background:linear-gradient(180deg,rgba(38,42,52,.82),rgba(28,32,41,.82))!important;
  box-shadow:0 18px 44px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.05);
}
.obxbwap-app-access-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.obxbwap-access-title-wrap{display:flex;align-items:center;gap:14px;min-width:0}
.obxbwap-access-warning-icon{
  width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;
  color:#fff;font-size:24px;font-weight:900;line-height:1;
  background:linear-gradient(180deg,#ff9c33,#ff7f1f);
  clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%);
  box-shadow:0 0 20px rgba(255,139,36,.22);
}
.obxbwap-access-title-wrap h2{margin:0;font-size:clamp(23px,3.7vw,34px);line-height:1.08;letter-spacing:.02em;color:#fff}
.obxbwap-notice-pill{
  flex:0 0 auto;padding:9px 14px;border-radius:999px;
  background:linear-gradient(180deg,#ff9a35,#ef7c1f);
  border:1px solid rgba(255,193,117,.65);color:#fff;font-weight:900;font-size:14px;letter-spacing:.02em;
  box-shadow:0 8px 20px rgba(212,102,16,.17);
}
.obxbwap-app-access-status{margin:0 0 18px!important;font-size:clamp(29px,4.5vw,44px)!important;line-height:1.08!important;letter-spacing:-.025em;color:#fff!important}
.obxbwap-app-ramp-row{display:flex;align-items:center;gap:12px;margin:0 0 16px;color:#fff}
.obxbwap-ramp-icon{font-size:28px;line-height:1;color:#fff;transform:translateY(-1px)}
.obxbwap-app-ramp-row strong{font-size:clamp(20px,3.4vw,30px);line-height:1.2}
.obxbwap-app-access-note{margin:0!important;color:rgba(255,255,255,.86)!important;font-size:clamp(18px,2.7vw,25px);line-height:1.48!important}
.obxbwap-app-access-actions{margin-top:20px!important;padding-top:16px;border-top:1px solid rgba(255,255,255,.10)}
.obxbwap-app-access-actions a{min-height:48px!important;font-size:13px!important;justify-content:center!important}
.obxbwap-app-access-card .obxbwap-access-checked{margin-top:12px!important;color:rgba(255,255,255,.62)!important}
@media(max-width:620px){
  .obxbwap-app-access-card{padding:20px 20px 18px!important}
  .obxbwap-app-access-head{align-items:flex-start;gap:10px}
  .obxbwap-access-warning-icon{width:36px;height:36px;flex-basis:36px;font-size:21px}
  .obxbwap-notice-pill{padding:8px 11px;font-size:12px}
  .obxbwap-app-access-status{font-size:28px!important}
  .obxbwap-app-ramp-row strong{font-size:20px}
  .obxbwap-app-access-note{font-size:18px}
}


/* 1.0.2 — purpose-built desktop layout. Mobile/tablet remains unchanged. */
.obxbwap-desktop-nav{display:none}

@media (min-width:1100px){
  :root{
    --obx-max:1420px;
    --obx-radius:26px;
    --obx-bottom:0px;
  }

  /* Give large displays an intentional dashboard canvas rather than a stretched phone view. */
  .obxbwap-bg-tint{
    background:linear-gradient(180deg,rgba(4,12,20,.17) 0%,rgba(4,13,22,.07) 38%,rgba(4,14,24,.17) 100%)!important;
  }
  .obxbwap-app{
    width:min(1420px,calc(100% - 64px));
    margin:22px auto 44px;
    min-height:calc(100vh - 70px);
  }
  .obxbwap-screen{padding:0 0 34px}
  .obxbwap-swipe-viewport{cursor:default}
  .obxbwap-is-dragging .obxbwap-swipe-viewport{cursor:default}

  /* Desktop header: selected beach + primary navigation + alerts. */
  .obxbwap-topbar{
    grid-template-columns:minmax(330px,420px) minmax(500px,1fr) 72px;
    gap:14px;
    margin-bottom:14px;
  }
  .obxbwap-beach-button,.obxbwap-bell{
    min-height:76px;
    border-radius:24px;
    background:linear-gradient(180deg,rgba(29,34,43,.72),rgba(24,29,38,.66));
  }
  .obxbwap-beach-button{padding:11px 20px;gap:13px}
  .obxbwap-location-mark{font-size:28px}
  .obxbwap-beach-copy small{font-size:10px;letter-spacing:.14em}
  .obxbwap-beach-copy strong{font-size:24px}
  .obxbwap-chevron{font-size:27px}
  .obxbwap-bell{font-size:27px}

  .obxbwap-desktop-nav{
    min-width:0;
    min-height:76px;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:5px;
    padding:6px;
    border-radius:24px;
    background:linear-gradient(180deg,rgba(42,47,56,.76),rgba(31,37,46,.72));
    border:1px solid rgba(255,255,255,.14);
    box-shadow:0 12px 32px rgba(0,0,0,.14);
  }
  .obxbwap-desktop-nav button{
    min-width:0;
    border:0;
    background:transparent;
    color:rgba(255,255,255,.76);
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:8px 10px;
    cursor:pointer;
    font:inherit;
  }
  .obxbwap-desktop-nav button span{font-size:20px;line-height:1}
  .obxbwap-desktop-nav .obxbwap-nav-icon{width:19px;height:19px;display:grid;place-items:center;flex:0 0 19px}
  .obxbwap-desktop-nav .obxbwap-nav-icon svg{display:block;width:19px;height:19px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .obxbwap-desktop-nav .obxbwap-nav-icon-more svg{fill:currentColor;stroke:none}
  .obxbwap-desktop-nav button small{font-size:12px;font-weight:750;white-space:nowrap}
  .obxbwap-desktop-nav button.is-active{
    color:#39ddff;
    background:rgba(55,217,255,.12);
    box-shadow:inset 0 0 0 1px rgba(87,224,255,.17);
  }
  .obxbwap-desktop-nav button:hover{background:rgba(255,255,255,.07)}
  .obxbwap-desktop-nav button.is-active:hover{background:rgba(55,217,255,.14)}
  .obxbwap-bottom-nav{display:none!important}

  .obxbwap-global-stack{margin-bottom:18px}
  .obxbwap-banner{border-radius:20px;padding:14px 18px}

  /* Slightly denser desktop glass so the photography remains atmospheric but not dominant. */
  .obxbwap-glass-card{
    background:linear-gradient(160deg,rgba(30,35,44,.58),rgba(18,24,33,.54));
    border-color:rgba(255,255,255,.16);
    box-shadow:0 14px 38px rgba(0,0,0,.15);
  }
  .obxbwap-section-card{padding:22px}
  .obxbwap-card-title h2{font-size:21px}

  /* HOME — two-column desktop dashboard. */
  #obxbwap-screen-home{
    display:grid;
    grid-template-columns:minmax(410px,.88fr) minmax(0,1.12fr);
    gap:20px;
    align-items:start;
  }
  #obxbwap-screen-home .obxbwap-home-hero,
  #obxbwap-screen-home .obxbwap-home-grid{display:contents}

  #obxbwap-screen-home .obxbwap-current-main{
    grid-column:1;
    grid-row:1;
    align-self:start;
    min-height:278px;
    padding:28px 28px 25px;
    border-radius:26px;
    background:linear-gradient(160deg,rgba(23,29,39,.50),rgba(17,23,32,.39));
    border:1px solid rgba(255,255,255,.13);
    box-shadow:0 14px 38px rgba(0,0,0,.12);
  }
  #obxbwap-screen-home .obxbwap-big-temp{font-size:clamp(88px,7.5vw,118px)}
  #obxbwap-screen-home .obxbwap-current-main h1{font-size:38px;margin-top:21px}
  #obxbwap-screen-home .obxbwap-current-main p{font-size:25px}
  #obxbwap-screen-home .obxbwap-weather-glyph{font-size:88px;padding-right:1%}

  #obxbwap-screen-home .obxbwap-current-stats{
    grid-column:1;
    grid-row:2;
    align-self:start;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    padding:11px;
  }
  #obxbwap-screen-home .obxbwap-current-stats article{
    min-height:104px;
    padding:12px 9px;
    border:0;
  }
  #obxbwap-screen-home .obxbwap-current-stats strong{font-size:21px}
  #obxbwap-screen-home .obxbwap-current-stats small{font-size:14px;margin-top:4px}
  #obxbwap-screen-home .obxbwap-stat-icon{font-size:24px;min-height:28px}

  #obxbwap-screen-home .obxbwap-home-grid>section:first-child{
    grid-column:2;
    grid-row:1;
    align-self:start;
    min-height:278px;
  }
  #obxbwap-screen-home .obxbwap-home-ocean-card{
    grid-column:2!important;
    grid-row:2;
    align-self:start;
    min-height:226px;
  }
  #obxbwap-screen-home .obxbwap-home-grid>section:last-child{
    grid-column:1/-1;
    grid-row:3;
    align-self:start;
  }
  #obxbwap-screen-home .obxbwap-today-grid{gap:8px;padding-top:16px}
  #obxbwap-screen-home .obxbwap-today-grid article{min-height:142px;padding:14px 7px}
  #obxbwap-screen-home .obxbwap-today-grid strong{font-size:20px}
  #obxbwap-screen-home .obxbwap-today-grid small{font-size:13px}
  #obxbwap-screen-home .obxbwap-ocean-summary{
    grid-template-columns:126px 1fr;
    gap:17px;
    padding-top:15px;
  }
  #obxbwap-screen-home .obxbwap-score-orb{width:112px;height:112px;border-width:8px}
  #obxbwap-screen-home .obxbwap-score-orb strong{font-size:36px}
  #obxbwap-screen-home .obxbwap-ocean-quick{gap:8px}
  #obxbwap-screen-home .obxbwap-ocean-quick article{padding:13px 12px;border-radius:16px}
  #obxbwap-screen-home .obxbwap-ocean-quick strong{font-size:17px}
  #obxbwap-screen-home .obxbwap-card-link{padding-top:12px}
  #obxbwap-screen-home .obxbwap-astro-grid{padding-top:14px}
  #obxbwap-screen-home .obxbwap-astro-grid article{min-height:105px;justify-content:center}

  /* FORECAST — summary and six-hour strip share the first row. */
  #obxbwap-screen-forecast .obxbwap-page-grid{
    grid-template-columns:minmax(350px,.72fr) minmax(0,1.28fr);
    gap:20px;
    align-items:start;
  }
  #obxbwap-screen-forecast .obxbwap-forecast-today{grid-column:1!important;grid-row:1;align-self:stretch}
  #obxbwap-screen-forecast .obxbwap-hourly-card{grid-column:2!important;grid-row:1;align-self:stretch}
  #obxbwap-screen-forecast .obxbwap-extended-card{grid-column:1/-1!important;grid-row:2}
  #obxbwap-screen-forecast .obxbwap-forecast-lead{grid-template-columns:1fr;gap:10px}
  #obxbwap-screen-forecast .obxbwap-forecast-lead h1{font-size:38px;margin:3px 0 17px}
  #obxbwap-screen-forecast .obxbwap-weather-glyph{font-size:68px;position:absolute;right:25px;top:64px}
  #obxbwap-screen-forecast .obxbwap-forecast-today{position:relative}
  #obxbwap-screen-forecast .obxbwap-forecast-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  #obxbwap-screen-forecast .obxbwap-forecast-metrics article{padding:14px 7px}
  #obxbwap-screen-forecast .obxbwap-hourly-strip{grid-template-columns:repeat(6,minmax(92px,1fr));gap:8px}
  #obxbwap-screen-forecast .obxbwap-hour{min-width:0;padding:12px 7px}

  /* BEACH — content-height cards with Surf/Tides paired under the first row. */
  #obxbwap-screen-beach .obxbwap-beach-grid{
    grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);
    grid-auto-rows:max-content;
    gap:20px;
    align-items:start;
  }
  #obxbwap-screen-beach .obxbwap-report-card{
    grid-column:1;
    grid-row:1;
    align-self:start;
  }
  #obxbwap-screen-beach .obxbwap-safety-card{
    grid-column:2;
    grid-row:1;
    align-self:start;
  }
  #obxbwap-screen-beach .obxbwap-surf-details-card{
    grid-column:1!important;
    grid-row:2;
    align-self:start;
  }
  #obxbwap-screen-beach .obxbwap-tides-card{
    grid-column:2;
    grid-row:2;
    align-self:start;
  }
  #obxbwap-screen-beach .obxbwap-beach-access-inline{
    grid-column:1/-1!important;
    grid-row:3;
    align-self:start;
  }
  #obxbwap-screen-beach .obxbwap-report-head h1{font-size:29px}
  #obxbwap-screen-beach .obxbwap-report-head h2{font-size:39px}
  #obxbwap-screen-beach .obxbwap-report-score strong{font-size:60px}
  #obxbwap-screen-beach .obxbwap-report-recommendation{font-size:20px;margin:19px 0}
  #obxbwap-screen-beach .obxbwap-report-columns article{padding:15px}
  #obxbwap-screen-beach .obxbwap-list-item{font-size:16px}
  #obxbwap-screen-beach .obxbwap-safety-head h2{font-size:25px}
  #obxbwap-screen-beach .obxbwap-safety-body{margin-top:16px}
  #obxbwap-screen-beach .obxbwap-safety-body h2{font-size:23px}
  #obxbwap-screen-beach .obxbwap-safety-body p{font-size:15px}
  #obxbwap-screen-beach .obxbwap-marine-grid{margin-top:16px}
  #obxbwap-screen-beach .obxbwap-marine-grid article{padding:13px}

  /* Camera becomes a centered desktop media panel. */
  #obxbwap-screen-cam .obxbwap-cam-card{
    width:min(1180px,100%);
    margin:22px auto 0;
  }

  /* MORE and utility pages already had good bones; give them consistent desktop widths. */
  .obxbwap-more-pane{width:min(1120px,100%);margin:25px auto 0}
  .obxbwap-more-card{max-width:900px;margin:0 auto}
  .obxbwap-more-pane[data-more-page="calendar"]{width:min(1220px,100%)}
  .obxbwap-more-pane[data-more-page="access"]{width:min(1160px,100%)}
  .obxbwap-more-pane[data-more-page="live"]{width:min(1120px,100%)}
  .obxbwap-more-pane[data-more-page="history"]{width:min(1120px,100%)}
  .obxbwap-more-stack{gap:16px}
  .obxbwap-subpage-head{margin:4px 0 16px}
  .obxbwap-subpage-head h1{font-size:29px}
  .obxbwap-station-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
  .obxbwap-station-grid article{min-height:92px}
  .obxbwap-history-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
  .obxbwap-calendar-days article{min-height:84px}

  /* Desktop modal behaves like a chooser, not a bottom sheet. */
  .obxbwap-beach-sheet{width:min(720px,100%);max-height:min(780px,86vh)}
  .obxbwap-beach-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
}

@media (min-width:1500px){
  .obxbwap-app{width:min(1440px,calc(100% - 84px))}
  #obxbwap-screen-home{grid-template-columns:minmax(430px,.86fr) minmax(0,1.14fr)}
}

/* 1.0.3 — Sunnyside Up live-station instruments */
.obxbwap-live-pane{--sunny-blue:#32c7ff;--sunny-teal:#42dcc7;--sunny-orange:#ffad4e;--sunny-yellow:#ffd454;--sunny-violet:#a99cff;}
.obxbwap-live-hero-card{
  overflow:hidden;
  border-color:rgba(91,211,255,.30)!important;
  background:
    radial-gradient(circle at 88% 2%,rgba(69,207,255,.16),transparent 32%),
    linear-gradient(135deg,rgba(25,73,103,.70),rgba(24,42,58,.70) 48%,rgba(48,55,70,.68))!important;
}
.obxbwap-live-hero-head{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:28px;align-items:center}
.obxbwap-live-eyebrow{display:block;color:#8de8ff;font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.obxbwap-live-hero-head h2{margin:7px 0 7px;font-size:clamp(32px,4vw,52px);line-height:1;letter-spacing:-.04em}
.obxbwap-live-hero-head p{margin:0;color:rgba(242,250,255,.80);font-size:15px;max-width:690px;line-height:1.5}
.obxbwap-live-hero-reading{min-height:150px;border-left:1px solid rgba(151,228,255,.22);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.obxbwap-live-hero-reading>span{font-size:31px}.obxbwap-live-hero-reading>strong{font-size:54px;line-height:1;letter-spacing:-.05em;margin-top:5px}.obxbwap-live-hero-reading small{margin-top:7px;color:rgba(232,247,255,.72);font-size:12px}.obxbwap-live-hero-reading b{color:#fff;font-size:15px}
.obxbwap-live-status-pill{display:inline-flex!important;width:auto;align-items:center;gap:8px;margin-top:17px!important;border-radius:999px!important;padding:8px 12px!important;background:rgba(46,184,119,.17)!important;border-color:rgba(78,229,151,.30)!important;color:#c8ffe0!important;font-weight:800}
.obxbwap-live-status-pill:before{content:"";width:8px;height:8px;border-radius:50%;background:#45e389;box-shadow:0 0 0 5px rgba(69,227,137,.12)}
.obxbwap-live-status-pill.is-delayed{background:rgba(255,173,78,.15)!important;border-color:rgba(255,189,104,.30)!important;color:#ffe1b7!important}.obxbwap-live-status-pill.is-delayed:before{background:#ffad4e;box-shadow:0 0 0 5px rgba(255,173,78,.12)}
.obxbwap-live-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.obxbwap-live-quick-grid article{min-width:0;padding:13px 14px;border-radius:16px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.10);display:grid;grid-template-columns:auto 1fr;gap:2px 9px;align-items:center}
.obxbwap-live-quick-grid article>span{grid-row:1/3;font-size:24px}.obxbwap-live-quick-grid small{text-transform:uppercase;letter-spacing:.07em;font-size:9px;color:rgba(229,245,255,.66)}.obxbwap-live-quick-grid strong{font-size:16px;white-space:normal;line-height:1.2}
.obxbwap-live-source-line{display:flex;justify-content:space-between;gap:14px;margin-top:15px;padding-top:13px;border-top:1px solid rgba(255,255,255,.11);font-size:11px}.obxbwap-live-source-line strong{color:#fff}.obxbwap-live-source-line span{color:rgba(232,247,255,.68);text-align:right}

.obxbwap-live-instruments{margin-top:30px}
.obxbwap-live-section-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:16px;padding:0 4px}
.obxbwap-live-section-heading h2{font-size:30px;letter-spacing:-.035em;margin:5px 0 0}.obxbwap-live-section-heading p{max-width:490px;margin:0;text-align:right;color:rgba(235,247,253,.70);font-size:13px;line-height:1.45}
.obxbwap-station-gauge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.obxbwap-station-gauge-card{
  --accent:#3bc9ff;--accent-rgb:59,201,255;
  min-width:0;min-height:252px;padding:18px 12px 16px;border-radius:22px;text-align:center;display:flex;flex-direction:column;align-items:center;
  background:linear-gradient(155deg,rgba(var(--accent-rgb),.14),rgba(28,35,46,.78) 43%,rgba(20,27,37,.80));
  border:1px solid rgba(var(--accent-rgb),.28);box-shadow:0 12px 28px rgba(0,0,0,.13),inset 0 1px 0 rgba(255,255,255,.05)
}
.obxbwap-station-gauge-card.tone-orange{--accent:#ffad4e;--accent-rgb:255,173,78}.obxbwap-station-gauge-card.tone-teal{--accent:#42dcc7;--accent-rgb:66,220,199}.obxbwap-station-gauge-card.tone-slate{--accent:#9cb6c8;--accent-rgb:156,182,200}.obxbwap-station-gauge-card.tone-violet{--accent:#aa9cff;--accent-rgb:170,156,255}.obxbwap-station-gauge-card.tone-rain{--accent:#55aaff;--accent-rgb:85,170,255}.obxbwap-station-gauge-card.tone-yellow{--accent:#ffd454;--accent-rgb:255,212,84}
.obxbwap-station-gauge{--gauge-pct:0%;width:148px;height:148px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--accent) var(--gauge-pct),rgba(255,255,255,.09) 0);filter:drop-shadow(0 11px 18px rgba(0,0,0,.16))}
.obxbwap-station-gauge:before{content:"";position:absolute;inset:11px;border-radius:50%;background:linear-gradient(145deg,rgba(44,56,69,.97),rgba(23,31,41,.98));box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.obxbwap-station-gauge>div{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;line-height:1.08;max-width:112px}.obxbwap-station-gauge span{font-size:23px;margin-bottom:7px}.obxbwap-station-gauge strong{font-size:20px;letter-spacing:-.035em;color:#fff;overflow-wrap:anywhere}.obxbwap-station-gauge-card h3{font-size:16px;margin:13px 0 3px;color:var(--accent)}.obxbwap-station-gauge-card p{font-size:10.5px;line-height:1.35;color:rgba(233,245,251,.64);margin:0;max-width:190px}

.obxbwap-live-lightning-card{margin-top:18px;padding:22px 24px;border-radius:22px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:22px;align-items:center;background:linear-gradient(125deg,rgba(43,30,82,.88),rgba(20,57,85,.86));border:1px solid rgba(177,157,255,.28);box-shadow:0 15px 34px rgba(0,0,0,.16)}
.obxbwap-live-lightning-title{display:flex;gap:14px;align-items:center}.obxbwap-live-lightning-title>span{font-size:38px}.obxbwap-live-lightning-title h2{margin:5px 0 0;font-size:21px}.obxbwap-live-lightning-title .obxbwap-live-eyebrow{color:#c2b8ff}
.obxbwap-live-lightning-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.obxbwap-live-lightning-grid article{padding:11px;border-radius:13px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.10);display:flex;flex-direction:column;gap:4px;min-width:0}.obxbwap-live-lightning-grid small{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:rgba(223,233,255,.66)}.obxbwap-live-lightning-grid strong{font-size:14px;line-height:1.25;overflow-wrap:anywhere}

@media(min-width:1100px){.obxbwap-more-pane[data-more-page="live"]{width:min(1280px,100%)}}
@media(max-width:1050px){.obxbwap-station-gauge-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.obxbwap-live-lightning-card{grid-template-columns:1fr}.obxbwap-live-lightning-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){
  .obxbwap-live-hero-head{grid-template-columns:1fr}.obxbwap-live-hero-reading{border-left:0;border-top:1px solid rgba(151,228,255,.20);min-height:126px;padding-top:16px}.obxbwap-live-hero-reading>strong{font-size:48px}
  .obxbwap-live-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.obxbwap-live-source-line{flex-direction:column}.obxbwap-live-source-line span{text-align:left}
  .obxbwap-live-section-heading{display:block}.obxbwap-live-section-heading p{text-align:left;margin-top:7px}.obxbwap-station-gauge-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .obxbwap-station-gauge-card{min-height:220px;padding:14px 8px}.obxbwap-station-gauge{width:122px;height:122px}.obxbwap-station-gauge:before{inset:9px}.obxbwap-station-gauge strong{font-size:17px}.obxbwap-station-gauge span{font-size:20px}.obxbwap-station-gauge-card h3{font-size:13px}.obxbwap-station-gauge-card p{font-size:9px}
  .obxbwap-live-lightning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.obxbwap-live-lightning-card{padding:18px}.obxbwap-live-section-heading h2{font-size:25px}
}
@media(max-width:400px){.obxbwap-station-gauge{width:112px;height:112px}.obxbwap-station-gauge-card{min-height:205px}.obxbwap-live-quick-grid{grid-template-columns:1fr 1fr}.obxbwap-live-quick-grid strong{font-size:14px}}

/* 1.0.4 — Sunnyside Up monthly calendar redesign */
.obxbwap-calendar-card{
  overflow:hidden;
  border-color:rgba(94,215,255,.28)!important;
  background:
    linear-gradient(180deg,rgba(22,48,66,.88),rgba(31,42,55,.90))!important;
  box-shadow:0 22px 54px rgba(3,24,39,.20),inset 0 1px 0 rgba(255,255,255,.05);
}
.obxbwap-calendar-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  padding-bottom:17px;
  border-bottom:1px solid rgba(255,255,255,.13);
}
.obxbwap-calendar-head h2{margin:5px 0 0;font-size:25px;letter-spacing:.02em}
.obxbwap-calendar-controls{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.obxbwap-calendar-controls button{
  width:42px;height:42px;border-radius:14px;border:1px solid rgba(126,226,255,.22);
  background:rgba(31,106,139,.36);color:#dff9ff;font-size:27px;line-height:1;cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.obxbwap-calendar-controls button:hover:not(:disabled){background:rgba(44,151,192,.46)}
.obxbwap-calendar-controls button:disabled{opacity:.28;cursor:default}
.obxbwap-calendar-controls .obxbwap-setting-select{min-width:175px;height:42px;font-weight:800;border-radius:14px;padding:0 34px 0 13px}

.obxbwap-calendar-summary{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin:16px 0 18px;
}
.obxbwap-calendar-summary article{
  min-width:0;
  min-height:86px;
  padding:12px 14px;
  border-radius:17px;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  column-gap:9px;
  align-content:center;
  background:linear-gradient(180deg,rgba(255,255,255,.105),rgba(255,255,255,.055));
  border:1px solid rgba(255,255,255,.105);
}
.obxbwap-calendar-summary article>span{grid-row:1/3;font-size:24px;align-self:center}
.obxbwap-calendar-summary small{color:rgba(230,244,251,.66);text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:800}
.obxbwap-calendar-summary strong{font-size:20px;line-height:1.15;margin-top:3px}
.obxbwap-calendar-summary article:nth-child(3){border-color:rgba(255,186,82,.23);background:linear-gradient(135deg,rgba(255,169,58,.14),rgba(255,255,255,.05))}
.obxbwap-calendar-summary article:nth-child(4),.obxbwap-calendar-summary article:nth-child(5){border-color:rgba(80,200,255,.23);background:linear-gradient(135deg,rgba(44,167,222,.14),rgba(255,255,255,.05))}

.obxbwap-calendar-grid{margin-top:0}
.obxbwap-calendar-weekdays,.obxbwap-calendar-days{gap:9px}
.obxbwap-calendar-weekdays{margin-bottom:8px;padding:0 3px}
.obxbwap-calendar-weekdays span{
  font-size:11px;font-weight:900;letter-spacing:.12em;color:rgba(232,246,252,.80)
}
.obxbwap-calendar-days{align-items:stretch}
.obxbwap-calendar-blank{min-height:1px}
.obxbwap-calendar-day{
  position:relative;
  overflow:hidden;
  min-height:114px!important;
  padding:11px 12px 10px!important;
  border-radius:17px!important;
  display:flex!important;
  flex-direction:column;
  justify-content:space-between!important;
  gap:6px!important;
  background:linear-gradient(180deg,rgba(101,126,144,.56),rgba(72,91,108,.50))!important;
  border:1px solid rgba(216,240,250,.11);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 10px 24px rgba(3,20,32,.10);
}
.obxbwap-calendar-day:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(111,226,255,.22)
}
.obxbwap-calendar-day.has-rain{
  border-color:rgba(94,203,255,.24);
  background:linear-gradient(180deg,rgba(54,117,151,.50),rgba(49,79,104,.44))!important;
}
.obxbwap-calendar-day.has-rain:after{background:#58ccff}
.obxbwap-calendar-day.is-hot{
  border-color:rgba(255,192,82,.22);
  background:linear-gradient(180deg,rgba(139,104,53,.44),rgba(83,73,64,.39))!important;
}
.obxbwap-calendar-day.is-hot:after{background:#ffc55e}
.obxbwap-calendar-day.is-very-hot{
  border-color:rgba(255,139,73,.28);
  background:linear-gradient(180deg,rgba(156,87,52,.49),rgba(95,62,58,.42))!important;
}
.obxbwap-calendar-day.is-very-hot:after{background:#ff8c55}
.obxbwap-cal-day-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.obxbwap-cal-day-head>div{display:flex;align-items:baseline;gap:7px}
.obxbwap-cal-day-head b{font-size:13px!important;color:#8deeff!important;line-height:1}
.obxbwap-cal-day-head small{display:inline-block;color:rgba(224,242,249,.78);font-size:10px;text-transform:uppercase;letter-spacing:.07em}
.obxbwap-cal-day-head>span{font-size:16px;line-height:1;opacity:.92}
.obxbwap-cal-temps{display:flex!important;flex-direction:column!important;gap:0!important}
.obxbwap-cal-temps strong{font-size:23px!important;line-height:1.05;letter-spacing:-.025em}
.obxbwap-cal-temps small{font-size:13px!important;color:rgba(233,244,249,.72)!important;margin-top:3px}
.obxbwap-cal-temps small i{font-style:normal;color:#83dff7}
.obxbwap-calendar-day em{
  display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:4px 7px;border-radius:999px;
  font-size:10px!important;font-style:normal;font-weight:800;letter-spacing:.01em
}
.obxbwap-calendar-day em.dry{padding-left:0;background:transparent;color:rgba(223,239,246,.62)!important}
.obxbwap-calendar-day em.rain{background:rgba(48,180,231,.18);color:#b8efff!important;border:1px solid rgba(97,207,250,.16)}

.obxbwap-calendar-legend{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:13px 18px;
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid rgba(255,255,255,.09);
  color:rgba(224,240,247,.68);
  font-size:11px;
}
.obxbwap-calendar-legend>span{display:inline-flex;align-items:center;gap:6px;font-weight:700}
.obxbwap-calendar-legend i{width:16px;height:4px;border-radius:999px;display:inline-block}
.obxbwap-calendar-legend i.hot{background:#ffc55e}
.obxbwap-calendar-legend i.rain{background:#58ccff}
.obxbwap-calendar-legend small{margin-left:auto;color:rgba(224,240,247,.66)}

@media (min-width:1100px){
  .obxbwap-more-pane[data-more-page="calendar"]{width:min(1360px,100%)!important}
  .obxbwap-calendar-card{padding:24px 26px!important}
}
@media (max-width:900px){
  .obxbwap-calendar-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:620px){
  .obxbwap-calendar-head{align-items:flex-start;flex-direction:column;gap:12px}
  .obxbwap-calendar-controls{width:100%}
  .obxbwap-calendar-controls .obxbwap-setting-select{min-width:0;flex:1}
  .obxbwap-calendar-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0 14px}
  .obxbwap-calendar-summary article{min-height:72px;padding:10px 11px}
  .obxbwap-calendar-summary article:last-child{grid-column:1/-1}
  .obxbwap-calendar-summary strong{font-size:18px}
  .obxbwap-calendar-weekdays{display:none!important}
  .obxbwap-calendar-days{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .obxbwap-calendar-blank{display:none}
  .obxbwap-calendar-day{min-height:104px!important;padding:10px 11px!important}
  .obxbwap-cal-day-head small{display:inline-block}
  .obxbwap-cal-temps strong{font-size:22px!important}
  .obxbwap-calendar-legend small{width:100%;margin-left:0}
}


/* 1.0.5 — Weather History becomes a full visual archive dashboard */
.obxbwap-history-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}
.obxbwap-history-overview-grid article,.obxbwap-history-latest-grid article{padding:16px;border-radius:18px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.10);text-align:center;display:flex;flex-direction:column;gap:5px}
.obxbwap-history-overview-grid article span,.obxbwap-history-latest-grid article span{font-size:25px;color:#68e8ff}.obxbwap-history-overview-grid article small,.obxbwap-history-latest-grid article small{text-transform:uppercase;letter-spacing:.06em;font-size:11px;color:rgba(255,255,255,.68)}.obxbwap-history-overview-grid article strong,.obxbwap-history-latest-grid article strong{font-size:19px}
.obxbwap-history-overview-grid .purple span{color:#c3b5ff}.obxbwap-history-overview-grid .blue span{color:#78bfff}.obxbwap-history-overview-grid .green span{color:#73e6a7}
.obxbwap-history-record-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.obxbwap-history-record{position:relative;min-width:0;padding:18px;border-radius:19px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(255,255,255,.105),rgba(255,255,255,.055));display:grid;gap:5px}.obxbwap-history-record-icon{font-size:27px;line-height:1}.obxbwap-history-record small{text-transform:uppercase;letter-spacing:.06em;font-size:11px;color:rgba(255,255,255,.68)}.obxbwap-history-record strong{font-size:25px}.obxbwap-history-record em{font-style:normal;font-size:12px;color:rgba(255,255,255,.70)}
.obxbwap-history-record.heat,.obxbwap-history-metrics .heat{border-color:rgba(255,180,83,.26)!important;background:linear-gradient(135deg,rgba(255,159,60,.15),rgba(255,255,255,.05))!important}.obxbwap-history-record.heat .obxbwap-history-record-icon,.obxbwap-history-metrics .heat span{color:#ffc15f}.obxbwap-history-record.cool,.obxbwap-history-metrics .cool{border-color:rgba(121,198,255,.27)!important;background:linear-gradient(135deg,rgba(65,151,230,.15),rgba(255,255,255,.05))!important}.obxbwap-history-record.cool .obxbwap-history-record-icon,.obxbwap-history-metrics .cool span{color:#79d7ff}.obxbwap-history-record.rain,.obxbwap-history-metrics .rain{border-color:rgba(79,219,255,.28)!important;background:linear-gradient(135deg,rgba(31,176,221,.16),rgba(255,255,255,.05))!important}.obxbwap-history-record.wind,.obxbwap-history-metrics .wind{border-color:rgba(164,190,255,.24)!important;background:linear-gradient(135deg,rgba(105,134,224,.14),rgba(255,255,255,.05))!important}
.obxbwap-history-chart-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:16px}.obxbwap-history-chart-card{min-width:0}.obxbwap-history-line-wrap{margin-top:14px}.obxbwap-history-line-wrap svg{display:block;width:100%;height:auto;max-height:230px;overflow:visible}.obxbwap-history-line-wrap .axis{stroke:rgba(255,255,255,.18);stroke-width:1}.obxbwap-history-line-wrap polyline{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.obxbwap-history-line-wrap polyline.high{stroke:#ffad58;filter:drop-shadow(0 0 6px rgba(255,173,88,.18))}.obxbwap-history-line-wrap polyline.low{stroke:#55c8ff;filter:drop-shadow(0 0 6px rgba(85,200,255,.18))}.obxbwap-history-month-labels{position:relative;height:20px;margin:0 32px}.obxbwap-history-month-labels span{position:absolute;transform:translateX(-50%);font-size:10px;color:rgba(255,255,255,.62)}.obxbwap-history-line-wrap footer,.obxbwap-history-chart-footer{display:flex;gap:14px;align-items:center;margin-top:10px;font-size:11px;color:rgba(255,255,255,.67)}.obxbwap-history-line-wrap footer span{display:flex;align-items:center;gap:5px}.obxbwap-history-line-wrap footer i{width:16px;height:4px;border-radius:999px}.obxbwap-history-line-wrap footer i.high{background:#ffad58}.obxbwap-history-line-wrap footer i.low{background:#55c8ff}.obxbwap-history-line-wrap footer b,.obxbwap-history-chart-footer b{margin-left:auto;color:#fff}
.obxbwap-history-rain-bars{height:220px;display:grid;grid-template-columns:repeat(12,1fr);align-items:end;gap:6px;margin-top:18px;padding:10px 8px 0;border-bottom:1px solid rgba(255,255,255,.16);background:repeating-linear-gradient(to top,transparent 0,transparent 52px,rgba(255,255,255,.055) 53px)}.obxbwap-history-rain-col{height:100%;display:grid;grid-template-rows:1fr auto auto;align-items:end;gap:3px;text-align:center;min-width:0}.obxbwap-history-rain-col i{display:block;width:70%;justify-self:center;align-self:end;min-height:4px;border-radius:8px 8px 2px 2px;background:linear-gradient(180deg,#57dcff,#1d83d1);box-shadow:0 0 12px rgba(57,189,240,.12)}.obxbwap-history-rain-col strong{font-size:10px;color:#c8f5ff}.obxbwap-history-rain-col small{font-size:9px;color:rgba(255,255,255,.62);white-space:nowrap}
.obxbwap-history-year-bars{display:grid;gap:12px;margin-top:17px}.obxbwap-history-year-bars>div{display:grid;grid-template-columns:80px 1fr 86px;gap:12px;align-items:center}.obxbwap-history-year-bars>div>span{font-size:12px;color:rgba(255,255,255,.74)}.obxbwap-history-year-bars>div>i{height:13px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;border:1px solid rgba(255,255,255,.07)}.obxbwap-history-year-bars>div>i>b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#56d8ff,#3189df)}.obxbwap-history-year-bars>div>strong{text-align:right;font-size:13px}.obxbwap-history-subhead{margin:22px 0 0;font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.80)}.obxbwap-history-record-grid-small{margin-top:10px}.obxbwap-history-record-grid-small .obxbwap-history-record{padding:14px}.obxbwap-history-record-grid-small .obxbwap-history-record strong{font-size:20px}.obxbwap-history-footnote{margin:3px auto 0;max-width:1000px;text-align:center;color:rgba(255,255,255,.62);font-size:11px;line-height:1.5}.obxbwap-history-empty{color:rgba(255,255,255,.65)}
@media(max-width:1000px){.obxbwap-history-chart-grid{grid-template-columns:1fr}.obxbwap-history-overview-grid,.obxbwap-history-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.obxbwap-history-overview-grid,.obxbwap-history-record-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.obxbwap-history-overview-grid article,.obxbwap-history-record{padding:13px}.obxbwap-history-record strong{font-size:21px}.obxbwap-history-rain-bars{height:180px;gap:3px;padding-left:2px;padding-right:2px}.obxbwap-history-rain-col i{width:78%}.obxbwap-history-rain-col small{display:none}.obxbwap-history-year-bars>div{grid-template-columns:60px 1fr 72px;gap:8px}.obxbwap-history-month-labels{margin:0 22px}.obxbwap-history-line-wrap footer{flex-wrap:wrap}.obxbwap-history-line-wrap footer b{width:100%;margin-left:0}.obxbwap-history-record em{font-size:10px}}

/* 1.0.6 — desktop Home polish. Mobile/tablet structure remains unchanged. */
.obxbwap-current-eyebrow{display:none}

@media (min-width:1100px){
  :root{--obx-max:1360px}

  /* Slightly tighter, more premium desktop canvas. */
  .obxbwap-app{width:min(1360px,calc(100% - 80px));margin:22px auto 48px}
  .obxbwap-bg-tint{
    background:linear-gradient(180deg,rgba(4,12,20,.23) 0%,rgba(4,13,22,.12) 38%,rgba(4,14,24,.21) 100%)!important;
  }

  /* Header is still prominent without competing with the weather dashboard. */
  .obxbwap-topbar{grid-template-columns:minmax(300px,360px) minmax(520px,1fr) 64px;gap:12px;margin-bottom:18px}
  .obxbwap-beach-button,.obxbwap-desktop-nav,.obxbwap-bell{min-height:70px;border-radius:22px}
  .obxbwap-beach-button{padding:9px 18px;gap:11px}
  .obxbwap-location-mark{font-size:25px}.obxbwap-beach-copy strong{font-size:22px}.obxbwap-chevron{font-size:24px}
  .obxbwap-bell{font-size:22px;filter:saturate(.92)}
  .obxbwap-desktop-nav{padding:5px}.obxbwap-desktop-nav button{border-radius:16px;padding:7px 9px}

  /* More substantial glass on large bright backgrounds. */
  .obxbwap-glass-card{
    background:linear-gradient(160deg,rgba(28,34,43,.69),rgba(17,23,32,.64));
    border-color:rgba(255,255,255,.17);
    box-shadow:0 15px 40px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.025);
  }
  .obxbwap-card-title small{color:rgba(238,249,253,.64)}

  /* Current conditions: clearer hierarchy and a better-integrated icon. */
  #obxbwap-screen-home .obxbwap-current-main{
    min-height:268px;
    padding:24px 25px 22px;
    background:linear-gradient(155deg,rgba(24,31,41,.66),rgba(17,23,32,.54));
  }
  #obxbwap-screen-home .obxbwap-current-eyebrow{
    display:block;margin:0 0 10px;color:#83e7fb;font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase
  }
  #obxbwap-screen-home .obxbwap-big-temp{font-size:clamp(86px,7vw,110px)}
  #obxbwap-screen-home .obxbwap-current-main h1{font-size:36px;margin-top:18px}
  #obxbwap-screen-home .obxbwap-current-main p{font-size:23px;color:rgba(248,252,255,.82)}
  #obxbwap-screen-home .obxbwap-weather-glyph{font-size:78px;padding-right:4%;transform:translate(-4px,3px)}

  /* Category identity for the quick readings without turning them into loud color blocks. */
  #obxbwap-screen-home .obxbwap-current-stats{gap:9px;padding:10px;background:linear-gradient(160deg,rgba(27,34,43,.68),rgba(18,25,34,.62))}
  #obxbwap-screen-home .obxbwap-current-stats article{
    position:relative;overflow:hidden;background:rgba(255,255,255,.085);border:1px solid rgba(255,255,255,.075)
  }
  #obxbwap-screen-home .obxbwap-current-stats article:before{content:"";position:absolute;left:12px;right:12px;top:0;height:2px;border-radius:99px;background:var(--metric-accent);opacity:.72}
  #obxbwap-screen-home .obxbwap-current-stats article:nth-child(1){--metric-accent:#ffbf63;background:linear-gradient(155deg,rgba(255,175,72,.10),rgba(255,255,255,.06))}
  #obxbwap-screen-home .obxbwap-current-stats article:nth-child(2){--metric-accent:#4ddfff;background:linear-gradient(155deg,rgba(58,207,235,.10),rgba(255,255,255,.06))}
  #obxbwap-screen-home .obxbwap-current-stats article:nth-child(3){--metric-accent:#50e0ca;background:linear-gradient(155deg,rgba(67,218,198,.10),rgba(255,255,255,.06))}
  #obxbwap-screen-home .obxbwap-current-stats article:nth-child(4){--metric-accent:#56aaff;background:linear-gradient(155deg,rgba(71,154,245,.11),rgba(255,255,255,.06))}
  #obxbwap-screen-home .obxbwap-current-stats article:nth-child(1) .obxbwap-stat-icon{color:#ffc36c}
  #obxbwap-screen-home .obxbwap-current-stats article:nth-child(2) .obxbwap-stat-icon{color:#54e2ff}
  #obxbwap-screen-home .obxbwap-current-stats article:nth-child(3) .obxbwap-stat-icon{color:#58e0ce}
  #obxbwap-screen-home .obxbwap-current-stats article:nth-child(4) .obxbwap-stat-icon{color:#65b2ff}
  #obxbwap-screen-home .obxbwap-current-stats small{color:rgba(240,249,252,.78)}

  /* Today tiles: denser, clearer, and with more room for the Outlook/Wind content. */
  #obxbwap-screen-home .obxbwap-today-grid{grid-template-columns:.9fr .9fr 1.18fr .9fr 1.12fr;gap:7px}
  #obxbwap-screen-home .obxbwap-today-grid article{min-height:136px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.07)}
  #obxbwap-screen-home .obxbwap-today-grid strong{font-size:21px;font-weight:800}
  #obxbwap-screen-home .obxbwap-today-grid small{font-size:12px;color:rgba(243,250,252,.78)}

  /* Beach & Ocean: semantic score/flag color plus a clearer destination action. */
  #obxbwap-screen-home .obxbwap-home-ocean-card{background:linear-gradient(160deg,rgba(26,34,43,.72),rgba(16,24,33,.66))}
  #obxbwap-screen-home .obxbwap-score-orb{transition:border-color .2s ease,box-shadow .2s ease}
  #obxbwap-screen-home .obxbwap-score-orb.score-very-good{border-color:#55d9a4;box-shadow:inset 0 0 0 4px rgba(255,255,255,.06),0 0 24px rgba(85,217,164,.13)}
  #obxbwap-screen-home .obxbwap-score-orb.score-good{border-color:#a9d95a;box-shadow:inset 0 0 0 4px rgba(255,255,255,.06),0 0 24px rgba(169,217,90,.11)}
  #obxbwap-screen-home .obxbwap-score-orb.score-fair{border-color:#ffb354;box-shadow:inset 0 0 0 4px rgba(255,255,255,.06),0 0 24px rgba(255,179,84,.11)}
  #obxbwap-screen-home .obxbwap-score-orb.score-poor{border-color:#ff7777;box-shadow:inset 0 0 0 4px rgba(255,255,255,.06),0 0 24px rgba(255,119,119,.11)}
  .obxbwap-home-flag-value.flag-green{color:#66e8a8}.obxbwap-home-flag-value.flag-yellow{color:#ffd558}.obxbwap-home-flag-value.flag-red{color:#ff8080}
  #obxbwap-screen-home .obxbwap-ocean-quick article{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.065)}
  #obxbwap-screen-home .obxbwap-ocean-quick small{color:rgba(238,247,250,.69)}
  #obxbwap-screen-home .obxbwap-card-link{
    display:inline-flex;align-items:center;justify-content:center;width:max-content;margin-top:11px;padding:9px 14px;border-radius:999px;
    background:rgba(55,211,239,.13);border:1px solid rgba(95,224,249,.22);color:#bff5ff;font-size:13px;letter-spacing:.01em
  }
  #obxbwap-screen-home .obxbwap-card-link:hover{background:rgba(55,211,239,.19);border-color:rgba(95,224,249,.32)}

  /* Give the full-width astronomy strip a little breathing room and opacity. */
  #obxbwap-screen-home .obxbwap-home-grid>section:last-child{margin-top:4px;background:linear-gradient(160deg,rgba(25,33,42,.73),rgba(16,24,33,.67))}
  #obxbwap-screen-home .obxbwap-astro-grid article{background:rgba(255,255,255,.095);border:1px solid rgba(255,255,255,.065)}
  #obxbwap-screen-home .obxbwap-astro-grid small{color:rgba(242,249,251,.74)}
}

@media (min-width:1500px){
  .obxbwap-app{width:min(1360px,calc(100% - 96px))}
  #obxbwap-screen-home{grid-template-columns:minmax(390px,.86fr) minmax(0,1.14fr)}
}


/* 1.0.7 — alerts control interaction */
.obxbwap-alert-banner:not([hidden]){cursor:pointer;}
.obxbwap-alert-banner:focus-visible{outline:2px solid #73e7ff;outline-offset:3px;}

/* 1.0.9 — graphical Surf Conditions + Tides refinement */
.obxbwap-surf-details-card,
.obxbwap-tides-card{
  position:relative;
  overflow:hidden;
}
.obxbwap-surf-details-card{
  background:linear-gradient(160deg,rgba(23,35,45,.76),rgba(14,25,36,.72))!important;
  border-color:rgba(76,215,241,.20)!important;
}
.obxbwap-surf-dashboard{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(150px,.65fr);
  gap:16px;
  align-items:stretch;
  margin-top:16px;
}
.obxbwap-surf-main{
  min-height:148px;
  padding:20px 22px;
  border-radius:22px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:linear-gradient(145deg,rgba(39,203,230,.17),rgba(255,255,255,.055));
  border:1px solid rgba(102,225,246,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
}
.obxbwap-surf-main small{font-size:11px;letter-spacing:.13em;font-weight:900;color:#83e8f8}
.obxbwap-surf-main strong{font-size:48px;line-height:1;margin:8px 0 7px;color:#fff}
.obxbwap-surf-main span{font-size:18px;font-weight:800;color:rgba(244,251,253,.88)}
.obxbwap-surf-compass{
  min-height:148px;
  padding:16px;
  border-radius:22px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:linear-gradient(145deg,rgba(79,137,244,.14),rgba(255,255,255,.05));
  border:1px solid rgba(125,181,255,.20);
}
.obxbwap-compass-ring{
  position:relative;
  width:70px;height:70px;
  border-radius:50%;
  display:grid;place-items:center;
  border:1px solid rgba(129,220,255,.42);
  box-shadow:inset 0 0 0 7px rgba(255,255,255,.035),0 0 22px rgba(52,196,237,.09);
  margin-bottom:8px;
}
.obxbwap-compass-ring:before,.obxbwap-compass-ring:after{content:"";position:absolute;background:rgba(255,255,255,.13)}
.obxbwap-compass-ring:before{width:1px;height:100%;left:50%;top:0}.obxbwap-compass-ring:after{height:1px;width:100%;top:50%;left:0}
.obxbwap-compass-ring i{position:relative;z-index:2;font-style:normal;font-size:31px;line-height:1;color:#55e2ff;transform-origin:center;transition:transform .25s ease}
.obxbwap-compass-ring b{position:absolute;z-index:2;top:4px;right:7px;font-size:8px;letter-spacing:.06em;color:rgba(255,255,255,.72)}
.obxbwap-surf-compass strong{font-size:20px;color:#fff}.obxbwap-surf-compass small{font-size:10px;letter-spacing:.10em;color:rgba(237,247,250,.68);margin-top:2px}
.obxbwap-surf-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.obxbwap-surf-metrics article{
  min-width:0;
  padding:14px 13px;
  border-radius:17px;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  align-items:center;
  column-gap:9px;
  background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.085);
}
.obxbwap-surf-metrics article>span{grid-row:1/3;font-size:22px;line-height:1;color:#7be8fa}
.obxbwap-surf-metrics article small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:rgba(238,248,251,.65)}
.obxbwap-surf-metrics article strong{font-size:16px;color:#fff;line-height:1.25;white-space:normal}
.obxbwap-surf-metrics .period{background:linear-gradient(145deg,rgba(113,104,234,.13),rgba(255,255,255,.05));border-color:rgba(151,145,255,.17)}
.obxbwap-surf-metrics .period>span{color:#b4a9ff}
.obxbwap-surf-metrics .water{background:linear-gradient(145deg,rgba(38,180,228,.14),rgba(255,255,255,.05));border-color:rgba(97,208,244,.18)}
.obxbwap-surf-metrics .water>span{color:#5dd9ff}
.obxbwap-surf-metrics .swell{background:linear-gradient(145deg,rgba(48,208,191,.12),rgba(255,255,255,.05));border-color:rgba(93,224,208,.16)}
.obxbwap-surf-metrics .swell>span{color:#66e5d4}
.obxbwap-surf-details-card .obxbwap-detail-caption{margin:8px 0 0;color:rgba(231,244,248,.60)}
.obxbwap-surf-details-card .obxbwap-source-footer{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}

.obxbwap-tides-card{
  background:linear-gradient(160deg,rgba(27,34,43,.78),rgba(17,24,33,.74))!important;
  border-color:rgba(111,183,231,.20)!important;
}
.obxbwap-tide-visual{
  position:relative;
  min-height:210px;
  margin-top:16px;
  padding:22px;
  border-radius:24px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:18px;
  align-items:center;
  overflow:hidden;
  background:linear-gradient(145deg,rgba(77,137,207,.12),rgba(255,255,255,.06));
  border:1px solid rgba(157,200,236,.20);
}
.obxbwap-tide-visual:after{content:"";position:absolute;left:-4%;right:-4%;bottom:-30px;height:86px;border-radius:50%;border-top:2px solid rgba(103,214,244,.16);box-shadow:0 -12px 38px rgba(51,184,220,.08)}
.obxbwap-tide-direction{
  width:78px;height:78px;border-radius:50%;display:grid;place-items:center;
  font-size:48px;line-height:1;color:#76dfff;
  background:rgba(74,192,230,.10);border:1px solid rgba(111,220,247,.26);
  box-shadow:inset 0 0 0 7px rgba(255,255,255,.025),0 0 22px rgba(66,190,228,.07);
}
.obxbwap-tide-primary{display:flex;flex-direction:column;min-width:0}
.obxbwap-tide-primary small{font-size:12px;letter-spacing:.16em;font-weight:900;color:#a9eaff}
.obxbwap-tide-primary strong{font-size:42px;line-height:1.02;color:#fff;margin-top:6px}
.obxbwap-tide-primary span{font-size:20px;color:rgba(244,250,252,.82);font-weight:800;margin-top:7px}
.obxbwap-tide-wave{display:flex;gap:1px;align-self:end;padding-bottom:7px;opacity:.28;color:#61d9f2;font-size:25px;transform:rotate(-4deg)}
.obxbwap-tides-card.is-high .obxbwap-tide-direction{color:#66e3d0;background:rgba(54,205,182,.11);border-color:rgba(104,229,210,.27)}
.obxbwap-tides-card.is-high .obxbwap-tide-primary small{color:#8ff0dc}
.obxbwap-tides-card.is-low .obxbwap-tide-direction{color:#6db9ff;background:rgba(64,137,226,.11);border-color:rgba(116,174,245,.25)}
.obxbwap-tide-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}
.obxbwap-tide-list[hidden]{display:none!important}
.obxbwap-tide-row{
  display:grid!important;
  grid-template-columns:auto 1fr auto!important;
  gap:9px!important;
  align-items:center!important;
  padding:11px 12px!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.065)!important;
  border:1px solid rgba(255,255,255,.08)!important;
}
.obxbwap-tide-row-arrow{font-size:20px;color:#69c9ff}.obxbwap-tide-row.high .obxbwap-tide-row-arrow{color:#6ee4cd}
.obxbwap-tide-row div{display:flex;flex-direction:column;min-width:0}.obxbwap-tide-row strong{font-size:12px!important;color:#fff!important}.obxbwap-tide-row small{font-size:11px;color:rgba(238,248,251,.78);line-height:1.25}
.obxbwap-tide-row em{font-size:13px;font-style:normal;font-weight:800;color:rgba(255,255,255,.82);white-space:nowrap}
.obxbwap-tides-card .obxbwap-source-footer{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}
.obxbwap-tide-following-value strong{line-height:1.1}
.obxbwap-tide-following-value span{display:block;margin-top:4px}

/* Ocean Safety flag value now carries the same semantic color as the flag icon. */
#obxbwap-beach-flag.obxbwap-flag-value.green{color:#67e7a7}
#obxbwap-beach-flag.obxbwap-flag-value.yellow{color:#ffd454}
#obxbwap-beach-flag.obxbwap-flag-value.red{color:#ff7d7d}

@media (min-width:1100px){
  #obxbwap-screen-beach .obxbwap-surf-details-card,
  #obxbwap-screen-beach .obxbwap-tides-card{
    align-self:stretch!important;
    min-height:390px;
    height:100%;
    display:flex;
    flex-direction:column;
  }
  #obxbwap-screen-beach .obxbwap-surf-details-card .obxbwap-source-footer,
  #obxbwap-screen-beach .obxbwap-tides-card .obxbwap-source-footer{margin-top:auto}
}

@media (max-width:720px){
  .obxbwap-surf-dashboard{grid-template-columns:1fr .65fr;gap:10px}
  .obxbwap-surf-main{min-height:128px;padding:16px}.obxbwap-surf-main strong{font-size:38px}.obxbwap-surf-main span{font-size:15px}
  .obxbwap-surf-compass{min-height:128px;padding:12px}.obxbwap-compass-ring{width:58px;height:58px}.obxbwap-compass-ring i{font-size:26px}
  .obxbwap-surf-metrics{grid-template-columns:1fr;gap:8px}.obxbwap-surf-metrics article{min-height:64px}
  .obxbwap-tide-visual{min-height:166px;padding:17px;grid-template-columns:auto 1fr;gap:13px}.obxbwap-tide-direction{width:62px;height:62px;font-size:38px}
  .obxbwap-tide-primary strong{font-size:31px}.obxbwap-tide-primary span{font-size:17px}.obxbwap-tide-wave{display:none}
  .obxbwap-tide-list{grid-template-columns:1fr}
}


/* 1.0.10 Tides: show next event plus the following tide; never show an empty height placeholder. */
.obxbwap-tide-primary span[hidden]{display:none!important}
.obxbwap-tide-following{
  margin-top:12px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:12px;
  align-items:center;
  padding:14px 16px;
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.045));
  border:1px solid rgba(255,255,255,.10);
}
.obxbwap-tide-following[hidden]{display:none!important}
.obxbwap-tide-following-arrow{
  width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  font-size:27px;color:#74caff;background:rgba(78,154,232,.11);border:1px solid rgba(115,184,245,.22)
}
.obxbwap-tide-following.high .obxbwap-tide-following-arrow{color:#72e3cf;background:rgba(62,197,177,.10);border-color:rgba(105,228,208,.22)}
.obxbwap-tide-following-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.obxbwap-tide-following-copy small{font-size:10px;letter-spacing:.13em;font-weight:900;color:rgba(223,242,248,.62)}
.obxbwap-tide-following-copy strong{font-size:16px;color:#fff}
.obxbwap-tide-following-value{text-align:right;display:flex;flex-direction:column;gap:2px}
.obxbwap-tide-following-value strong{font-size:19px;color:#fff}
.obxbwap-tide-following-value span{font-size:13px;font-weight:800;color:rgba(236,247,250,.72)}
@media(max-width:720px){
  .obxbwap-tide-following{grid-template-columns:auto 1fr;align-items:center}
  .obxbwap-tide-following-value{grid-column:2;text-align:left;margin-top:-3px}
}

/* 1.0.11 — Sunnyside Up live-station hierarchy, interpretation and density polish */
.obxbwap-live-pane{--good:#58e39a;--watch:#ffd15c;--alert:#ff8b85;--neutral:#b9ceda}
.obxbwap-live-hero-card{background:radial-gradient(circle at 88% 2%,rgba(69,207,255,.14),transparent 32%),linear-gradient(135deg,rgba(22,65,91,.84),rgba(24,42,58,.86) 48%,rgba(44,51,65,.84))!important}
.obxbwap-live-brand-badge{display:inline-flex;margin-top:15px;padding:7px 11px;border-radius:999px;background:rgba(50,199,255,.10);border:1px solid rgba(105,223,255,.20);color:#c9f5ff;font-size:11px;font-weight:800;letter-spacing:.035em}
.obxbwap-live-source-line strong{font-size:12px;color:#dff7ff}
.obxbwap-live-source-line span{font-weight:700}

.obxbwap-live-instruments{margin-top:27px}
.obxbwap-live-section-heading{display:block;margin-bottom:12px}
.obxbwap-live-section-heading>div{max-width:720px}
.obxbwap-live-section-heading h2{margin-bottom:5px}
.obxbwap-live-section-heading p{margin:0;text-align:left;max-width:none;color:rgba(235,247,253,.68);font-size:12px}
.obxbwap-live-instrument-group{margin-top:17px;padding:15px;border-radius:24px;background:linear-gradient(180deg,rgba(20,42,58,.42),rgba(18,30,42,.34));border:1px solid rgba(255,255,255,.065)}
.obxbwap-live-instrument-group:first-of-type{margin-top:0}
.obxbwap-live-group-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 2px 11px;padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.08)}
.obxbwap-live-group-head>span{font-size:10px;font-weight:900;letter-spacing:.13em;color:#95eaff}
.obxbwap-live-group-head small{font-size:10px;color:rgba(232,246,252,.55)}

.obxbwap-station-gauge-grid{gap:12px}
.obxbwap-station-gauge-card{min-height:212px;padding:14px 10px 13px;background:linear-gradient(155deg,rgba(var(--accent-rgb),.12),rgba(27,35,46,.90) 43%,rgba(18,26,35,.92));}
.obxbwap-station-gauge-card.is-primary{min-height:230px;padding-top:16px}
.obxbwap-station-gauge{width:126px;height:126px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.14))}
.obxbwap-station-gauge:before{inset:9px}
.obxbwap-station-gauge-card.is-primary .obxbwap-station-gauge{width:142px;height:142px}
.obxbwap-station-gauge-card.is-primary .obxbwap-station-gauge:before{inset:10px}
.obxbwap-station-gauge>div{max-width:108px}
.obxbwap-station-gauge span{font-size:21px;margin-bottom:5px}
.obxbwap-station-gauge strong{font-size:18px}
.obxbwap-station-gauge-card.is-primary .obxbwap-station-gauge strong{font-size:19px}
.obxbwap-station-gauge-card h3{font-size:15px;margin:10px 0 3px}
.obxbwap-station-gauge-card p{font-size:9.5px;color:rgba(233,245,251,.58)}
.obxbwap-gauge-status{display:inline-flex;align-items:center;justify-content:center;margin:1px 0 4px;padding:4px 8px;border-radius:999px;font-style:normal;font-size:9.5px;font-weight:900;letter-spacing:.02em;background:rgba(255,255,255,.07);color:var(--neutral);border:1px solid rgba(255,255,255,.08)}
.obxbwap-gauge-status.status-good{color:#bfffd9;background:rgba(56,182,112,.12);border-color:rgba(88,227,154,.18)}
.obxbwap-gauge-status.status-watch{color:#ffe7a0;background:rgba(197,143,31,.13);border-color:rgba(255,209,92,.20)}
.obxbwap-gauge-status.status-alert{color:#ffd0cd;background:rgba(190,76,73,.14);border-color:rgba(255,139,133,.21)}
.obxbwap-gauge-status.status-neutral{color:#d3e3eb;background:rgba(126,158,178,.10);border-color:rgba(185,206,218,.14)}

/* Give semantically sensitive cards a subtle status edge without overwhelming category colors. */
.obxbwap-station-gauge-card.semantic-good{box-shadow:0 12px 28px rgba(0,0,0,.12),inset 0 -2px 0 rgba(88,227,154,.13)}
.obxbwap-station-gauge-card.semantic-watch{box-shadow:0 12px 28px rgba(0,0,0,.12),inset 0 -2px 0 rgba(255,209,92,.16)}
.obxbwap-station-gauge-card.semantic-alert{box-shadow:0 12px 28px rgba(0,0,0,.12),inset 0 -2px 0 rgba(255,139,133,.18)}

.obxbwap-wind-direction{display:inline-block!important;font-size:27px!important;color:#76dfff;transform-origin:50% 50%;transition:transform .25s ease;text-shadow:0 0 14px rgba(76,203,255,.20)}
.obxbwap-station-gauge-card.is-wind .obxbwap-station-gauge>div{gap:1px}
.obxbwap-station-gauge-card.is-pressure .obxbwap-station-gauge{background:conic-gradient(from 225deg,var(--accent) var(--gauge-pct),rgba(255,255,255,.09) 0 75%,rgba(255,255,255,.035) 75%)}

.obxbwap-live-lightning-card{grid-template-columns:minmax(0,.85fr) minmax(0,1.55fr);background:linear-gradient(125deg,rgba(43,30,82,.92),rgba(20,57,85,.91))}
.obxbwap-live-lightning-body{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);gap:10px;align-items:stretch}
.obxbwap-live-lightning-status{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10)}
.obxbwap-live-lightning-status strong{font-size:14px;line-height:1.25}
.obxbwap-lightning-status-dot{width:10px;height:10px;border-radius:50%;background:#ffd15c;box-shadow:0 0 0 5px rgba(255,209,92,.10)}
.obxbwap-live-lightning-card.is-clear .obxbwap-lightning-status-dot{background:#58e39a;box-shadow:0 0 0 5px rgba(88,227,154,.11)}
.obxbwap-live-lightning-card.is-clear .obxbwap-live-lightning-status strong{color:#c9ffe0}
.obxbwap-live-lightning-card.is-active .obxbwap-lightning-status-dot{background:#ff8b85;box-shadow:0 0 0 5px rgba(255,139,133,.12)}
.obxbwap-live-lightning-card.is-active .obxbwap-live-lightning-status strong{color:#ffd0cd}
.obxbwap-live-lightning-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.obxbwap-live-lightning-grid article{justify-content:center}

@media(min-width:1100px){
  .obxbwap-station-gauge-grid-primary{grid-template-columns:repeat(4,minmax(0,1fr))}
  .obxbwap-station-gauge-grid-secondary{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:1050px){
  .obxbwap-live-lightning-body{grid-template-columns:1fr}
  .obxbwap-live-lightning-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .obxbwap-live-instrument-group{padding:10px;border-radius:19px}
  .obxbwap-live-group-head{display:block}.obxbwap-live-group-head small{display:block;margin-top:3px}
  .obxbwap-station-gauge-card,.obxbwap-station-gauge-card.is-primary{min-height:205px;padding:12px 7px}
  .obxbwap-station-gauge,.obxbwap-station-gauge-card.is-primary .obxbwap-station-gauge{width:112px;height:112px}
  .obxbwap-station-gauge:before,.obxbwap-station-gauge-card.is-primary .obxbwap-station-gauge:before{inset:8px}
  .obxbwap-station-gauge strong,.obxbwap-station-gauge-card.is-primary .obxbwap-station-gauge strong{font-size:16px}
  .obxbwap-gauge-status{font-size:8.5px;padding:3px 6px}
  .obxbwap-station-gauge-card h3{font-size:12.5px;margin-top:8px}
  .obxbwap-station-gauge-card p{font-size:8.5px}
  .obxbwap-live-lightning-body{grid-template-columns:1fr}
  .obxbwap-live-lightning-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:480px){.obxbwap-live-lightning-grid{grid-template-columns:1fr 1fr 1fr}.obxbwap-live-lightning-grid strong{font-size:12px}.obxbwap-live-lightning-status strong{font-size:13px}}


/* 1.0.16 — Weather History clarity + polish */
.obxbwap-history-climate-snapshot .obxbwap-history-metrics article{
  padding:12px 14px!important;
  min-height:102px;
}
.obxbwap-history-climate-snapshot .obxbwap-history-metrics small{
  font-size:10px;
  line-height:1.25;
}
.obxbwap-history-chart-card{
  background:linear-gradient(180deg,rgba(25,50,68,.90),rgba(30,43,57,.92))!important;
  border-color:rgba(121,207,241,.18)!important;
}
.obxbwap-history-line-wrap .guide{
  stroke:rgba(255,255,255,.075);
  stroke-width:1;
}
.obxbwap-history-line-wrap .y-label{
  fill:rgba(235,247,252,.60);
  font-size:10px;
  font-weight:700;
}
.obxbwap-history-year-bars>div>span{
  display:flex;
  flex-direction:column;
  gap:2px;
  line-height:1.1;
}
.obxbwap-history-year-bars>div>span>b{
  font:inherit;
  font-weight:700;
  color:inherit;
}
.obxbwap-history-year-bars>div>span>small{
  font-size:9px;
  color:rgba(224,240,247,.56);
  white-space:nowrap;
}
.obxbwap-history-year-bars>div.is-partial>i{
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.10) 0,rgba(255,255,255,.10) 6px,rgba(255,255,255,.045) 6px,rgba(255,255,255,.045) 12px);
  border-style:dashed;
  border-color:rgba(115,216,255,.24);
}
.obxbwap-history-year-bars>div.is-partial>i>b{
  background:repeating-linear-gradient(135deg,#53cfff 0,#53cfff 8px,#358edb 8px,#358edb 16px);
  opacity:.78;
}
.obxbwap-history-year-bars>div.is-partial>strong{color:#bceeff}
.obxbwap-history-today-card .obxbwap-card-title h2{letter-spacing:.01em}
.obxbwap-history-footnote{
  max-width:920px;
  color:rgba(243,250,252,.70);
}
@media(max-width:620px){
  .obxbwap-history-climate-snapshot .obxbwap-history-metrics article{min-height:88px;padding:10px!important}
  .obxbwap-history-year-bars>div>span>small{white-space:normal}
}


/* 1.0.17 — Hatteras access polish + app-style Privacy/Support pages */
.obxbwap-access-local-note{margin-top:14px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.09)}
.obxbwap-access-local-note small{display:block;margin-bottom:5px;color:#9cecff;font-size:10px;font-weight:900;letter-spacing:.12em}
.obxbwap-access-local-note p{margin:0!important;color:rgba(248,252,255,.88)!important}
.obxbwap-access-stamp{display:block;margin-top:13px;color:rgba(238,248,252,.72)!important}
.obxbwap-access-actions a.primary{background:linear-gradient(135deg,rgba(255,177,61,.30),rgba(205,93,37,.25))!important;border-color:rgba(255,199,104,.55)!important;box-shadow:0 10px 26px rgba(95,46,12,.18),inset 0 1px 0 rgba(255,255,255,.08)}
.obxbwap-access-actions a.secondary{background:linear-gradient(135deg,rgba(80,153,255,.24),rgba(68,106,205,.22))!important;border-color:rgba(158,203,255,.38)!important}
.obxbwap-access-actions a.tertiary{background:linear-gradient(135deg,rgba(46,198,226,.20),rgba(31,124,180,.16))!important;border-color:rgba(123,225,248,.30)!important}
.obxbwap-closure-severity{position:relative;z-index:1;display:inline-flex;margin:0 0 11px;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.12em;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12)}
.obxbwap-closure-card.tone-danger{background:linear-gradient(180deg,rgba(91,35,43,.72),rgba(53,28,35,.68))!important}
.obxbwap-closure-card.tone-warning{background:linear-gradient(180deg,rgba(91,61,28,.72),rgba(60,41,20,.67))!important}
.obxbwap-closure-card.tone-danger .obxbwap-closure-severity{color:#ffaaaa;border-color:rgba(255,137,137,.24);background:rgba(177,58,66,.16)}
.obxbwap-closure-card.tone-warning .obxbwap-closure-severity{color:#ffd08a;border-color:rgba(255,198,109,.24);background:rgba(190,123,41,.14)}
.obxbwap-orv-item.tire em{display:block;margin-top:5px;color:rgba(240,247,251,.68);font-size:12px;font-style:normal;font-weight:600;line-height:1.35}
.obxbwap-orv-item.vehicle strong{font-size:20px;color:#d8e7ff}
.obxbwap-orv-equipment{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start!important}
.obxbwap-orv-equipment>strong{white-space:nowrap}
.obxbwap-orv-equipment>div{display:flex;flex-wrap:wrap;gap:7px}
.obxbwap-orv-equipment>div>span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);font-size:12px;font-weight:700}
.obxbwap-orv-equipment>div>span i{font-style:normal;color:#8feaff}
.obxbwap-more-pane[data-more-page="access"] .obxbwap-glass-card{box-shadow:0 18px 42px rgba(0,0,0,.22)}

/* Static Privacy Policy / App Support pages share the live site's visual system. */
.obxbwap-legal-body .obxbwap-bg-tint{background:linear-gradient(180deg,rgba(0,42,70,.20),rgba(0,25,43,.22) 48%,rgba(2,23,39,.55) 100%)}
.obxbwap-legal-shell{position:relative;z-index:2;width:min(1380px,calc(100% - 40px));margin:18px auto 44px}
.obxbwap-legal-nav{display:grid;grid-template-columns:minmax(280px,410px) 1fr;gap:14px;align-items:stretch;margin-bottom:38px}
.obxbwap-legal-brand,.obxbwap-legal-nav nav{min-height:78px;border-radius:24px;background:rgba(10,27,41,.78);border:1px solid rgba(255,255,255,.16);box-shadow:0 14px 38px rgba(0,18,31,.18)}
.obxbwap-legal-brand{display:flex;align-items:center;gap:13px;padding:11px 17px;text-decoration:none}
.obxbwap-legal-brand img{width:46px;height:46px;border-radius:12px}
.obxbwap-legal-brand span{display:flex;flex-direction:column;min-width:0}.obxbwap-legal-brand small{font-size:10px;letter-spacing:.14em;font-weight:900;color:#9cecff}.obxbwap-legal-brand strong{font-size:19px;margin-top:2px}
.obxbwap-legal-nav nav{display:grid;grid-template-columns:repeat(5,1fr);padding:7px}
.obxbwap-legal-nav nav a{display:flex;align-items:center;justify-content:center;text-decoration:none;border-radius:18px;font-size:14px;font-weight:800;color:rgba(255,255,255,.86)}
.obxbwap-legal-nav nav a:hover{background:rgba(54,200,239,.10);color:#a9efff}
.obxbwap-legal-hero{padding:34px 38px;margin-bottom:18px;background:linear-gradient(140deg,rgba(17,55,76,.88),rgba(22,34,48,.82))!important}
.obxbwap-legal-hero h1{font-size:clamp(36px,5vw,64px);line-height:1;margin:8px 0 12px;letter-spacing:-.035em}.obxbwap-legal-hero p{max-width:840px;margin:0;color:rgba(245,251,254,.82);font-size:18px;line-height:1.5}.obxbwap-legal-hero>small{display:block;margin-top:16px;color:rgba(232,245,251,.62)}
.obxbwap-legal-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
.obxbwap-legal-summary article{padding:20px;border-radius:22px;background:linear-gradient(160deg,rgba(20,66,87,.78),rgba(24,38,51,.82));border:1px solid rgba(126,221,250,.16);box-shadow:0 14px 35px rgba(0,18,31,.14)}
.obxbwap-legal-summary article>span{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:rgba(58,214,174,.12);color:#75e8bb;font-size:21px}.obxbwap-legal-summary strong{display:block;font-size:18px;margin:12px 0 6px}.obxbwap-legal-summary p{margin:0;color:rgba(238,248,252,.72);line-height:1.5}
.obxbwap-legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.obxbwap-legal-card{padding:24px;background:linear-gradient(150deg,rgba(17,46,64,.84),rgba(22,31,43,.84))!important}.obxbwap-legal-card h2{margin:0 0 10px;font-size:23px}.obxbwap-legal-card p{margin:0;color:rgba(240,248,252,.78);line-height:1.62}
.obxbwap-legal-contact,.obxbwap-support-contact,.obxbwap-support-report{margin-top:18px;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,rgba(20,67,88,.86),rgba(27,40,53,.86))!important}.obxbwap-legal-contact h2,.obxbwap-support-contact h2,.obxbwap-support-report h2{margin:5px 0 6px}.obxbwap-legal-contact p,.obxbwap-support-contact p{margin:0;color:rgba(240,249,252,.75)}
.obxbwap-legal-contact>a,.obxbwap-support-contact>a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 16px;border-radius:15px;text-decoration:none;background:linear-gradient(135deg,rgba(45,188,220,.28),rgba(30,123,181,.22));border:1px solid rgba(119,226,250,.35);font-weight:850;white-space:nowrap}
.obxbwap-support-grid .obxbwap-legal-card{position:relative;padding-top:62px}.obxbwap-support-icon{position:absolute;top:20px;left:24px;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(67,203,238,.11);color:#8cecff;font-size:20px}
.obxbwap-support-report{display:block}.obxbwap-support-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.obxbwap-support-chips span{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);font-size:12px;font-weight:750}
.obxbwap-legal-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;padding:14px 4px;color:rgba(239,248,252,.65);font-size:12px}.obxbwap-legal-footer a{color:#a8efff;text-decoration:none;font-weight:800}
@media(max-width:900px){.obxbwap-legal-shell{width:min(100% - 20px,760px);margin-top:10px}.obxbwap-legal-nav{grid-template-columns:1fr;margin-bottom:18px}.obxbwap-legal-nav nav{display:none}.obxbwap-legal-brand{min-height:70px}.obxbwap-legal-hero{padding:26px 22px}.obxbwap-legal-summary,.obxbwap-legal-grid{grid-template-columns:1fr}.obxbwap-legal-contact,.obxbwap-support-contact{align-items:flex-start;flex-direction:column}.obxbwap-orv-equipment{grid-template-columns:1fr}.obxbwap-legal-footer{flex-direction:column;align-items:flex-start}}


/* 1.0.18 — Privacy / Support integration polish.
   Reuse the same desktop canvas, dark-glass palette, spacing, and hierarchy as the live dashboard. */
@media (min-width:1100px){
  .obxbwap-legal-body .obxbwap-bg-tint{
    background:linear-gradient(180deg,rgba(4,12,20,.23) 0%,rgba(4,13,22,.12) 38%,rgba(4,14,24,.21) 100%)!important;
  }
  .obxbwap-legal-shell{
    width:min(1360px,calc(100% - 80px))!important;
    margin:22px auto 48px!important;
  }
  .obxbwap-legal-nav{
    grid-template-columns:minmax(300px,360px) minmax(520px,1fr)!important;
    gap:12px!important;
    margin-bottom:18px!important;
  }
  .obxbwap-legal-brand,.obxbwap-legal-nav nav{
    min-height:70px!important;
    border-radius:22px!important;
    background:linear-gradient(180deg,rgba(29,34,43,.72),rgba(24,29,38,.66))!important;
    border:1px solid rgba(255,255,255,.17)!important;
    box-shadow:0 15px 40px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.025)!important;
    backdrop-filter:blur(18px) saturate(125%);
  }
  .obxbwap-legal-brand{padding:9px 16px!important;gap:11px!important}
  .obxbwap-legal-brand img{width:42px!important;height:42px!important;border-radius:11px!important}
  .obxbwap-legal-brand small{font-size:9px!important;letter-spacing:.14em!important;color:#8de8ff!important}
  .obxbwap-legal-brand strong{font-size:18px!important;margin-top:1px!important}
  .obxbwap-legal-nav nav{padding:5px!important}
  .obxbwap-legal-nav nav a{border-radius:16px!important;padding:7px 9px!important;font-size:13px!important;color:rgba(255,255,255,.80)!important}
  .obxbwap-legal-nav nav a:hover{background:rgba(55,217,255,.08)!important;color:#b8f3ff!important}
}

.obxbwap-legal-hero,
.obxbwap-legal-card,
.obxbwap-legal-contact,
.obxbwap-support-contact,
.obxbwap-support-report{
  background:linear-gradient(160deg,rgba(28,34,43,.74),rgba(17,23,32,.70))!important;
  border-color:rgba(255,255,255,.17)!important;
  box-shadow:0 15px 40px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.obxbwap-legal-summary article{
  background:linear-gradient(160deg,rgba(31,38,48,.76),rgba(20,27,36,.72))!important;
  border-color:rgba(255,255,255,.14)!important;
  box-shadow:0 13px 34px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.02)!important;
}
.obxbwap-legal-summary article>span{
  background:rgba(55,217,255,.09)!important;
  border:1px solid rgba(112,229,255,.12);
  color:#79e7ff!important;
}
.obxbwap-legal-summary article:first-child>span{color:#72e6ae!important;background:rgba(65,220,170,.09)!important}
.obxbwap-legal-summary article:nth-child(2)>span{color:#72e3d0!important;background:rgba(66,220,199,.08)!important}
.obxbwap-legal-summary article:nth-child(3)>span{color:#a7c6ff!important;background:rgba(118,160,255,.08)!important}

.obxbwap-legal-hero{padding:28px 32px!important;margin-bottom:16px!important}
.obxbwap-legal-hero h1{font-size:clamp(34px,4.4vw,56px)!important;margin:7px 0 10px!important}
.obxbwap-legal-hero p{max-width:760px!important;font-size:16px!important;color:rgba(244,250,253,.80)!important;line-height:1.5!important}
.obxbwap-legal-hero>small{margin-top:13px!important;color:rgba(234,246,251,.60)!important}

.obxbwap-legal-summary{gap:12px!important;margin:16px 0!important}
.obxbwap-legal-summary article{padding:18px!important;border-radius:20px!important}
.obxbwap-legal-summary strong{font-size:17px!important;margin:10px 0 5px!important}
.obxbwap-legal-summary p{color:rgba(239,248,252,.72)!important;line-height:1.48!important}

.obxbwap-legal-grid{gap:12px!important;margin-top:16px!important}
.obxbwap-legal-card{padding:22px!important}
.obxbwap-legal-card h2{font-size:21px!important;margin-bottom:9px!important}
.obxbwap-legal-card p{max-width:64ch;color:rgba(240,248,252,.76)!important;line-height:1.58!important}

.obxbwap-legal-contact,.obxbwap-support-contact,.obxbwap-support-report{margin-top:16px!important;padding:21px 24px!important;gap:20px!important}
.obxbwap-legal-contact p,.obxbwap-support-contact p{color:rgba(240,249,252,.73)!important}
.obxbwap-legal-contact>a,.obxbwap-support-contact>a{
  min-height:46px!important;
  background:linear-gradient(135deg,rgba(44,194,225,.24),rgba(30,120,175,.17))!important;
  border-color:rgba(112,227,251,.34)!important;
  color:#eafcff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 8px 20px rgba(0,0,0,.08);
}
.obxbwap-support-contact>a:hover,.obxbwap-legal-contact>a:hover{background:linear-gradient(135deg,rgba(51,207,239,.34),rgba(34,133,192,.24))!important}

.obxbwap-support-grid .obxbwap-legal-card{padding:56px 22px 21px!important;min-height:0!important}
.obxbwap-support-icon{top:18px!important;left:22px!important;background:rgba(55,217,255,.09)!important;border:1px solid rgba(105,226,255,.12);color:#82eaff!important}
.obxbwap-support-grid article:nth-child(2) .obxbwap-support-icon{color:#a9d3ff!important;background:rgba(109,163,255,.08)!important}
.obxbwap-support-grid article:nth-child(3) .obxbwap-support-icon{color:#6ee3d0!important;background:rgba(72,214,190,.08)!important}
.obxbwap-support-grid article:nth-child(4) .obxbwap-support-icon{color:#c5b5ff!important;background:rgba(153,127,255,.08)!important}
.obxbwap-support-chips span{background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.10)!important}

.obxbwap-legal-footer{margin-top:20px!important;color:rgba(239,248,252,.60)!important}

@media (min-width:1500px){
  .obxbwap-legal-shell{width:min(1360px,calc(100% - 96px))!important}
}

@media (max-width:1099px){
  .obxbwap-legal-body .obxbwap-bg-tint{background:linear-gradient(180deg,rgba(4,12,20,.22),rgba(4,14,24,.26) 100%)!important}
  .obxbwap-legal-hero,.obxbwap-legal-card,.obxbwap-legal-contact,.obxbwap-support-contact,.obxbwap-support-report{
    background:linear-gradient(160deg,rgba(28,34,43,.77),rgba(17,23,32,.72))!important;
  }
  .obxbwap-legal-summary article{background:linear-gradient(160deg,rgba(31,38,48,.78),rgba(20,27,36,.74))!important}
}


/* 1.0.19 — mobile Sunnyside Up live-station compaction */
@media(max-width:620px){
  .obxbwap-more-pane[data-more-page="live"]{margin-top:8px}
  .obxbwap-live-pane .obxbwap-subpage-head{margin-bottom:10px;padding-inline:2px}
  .obxbwap-live-pane .obxbwap-subpage-head button{width:38px;height:38px;font-size:28px}
  .obxbwap-live-pane .obxbwap-subpage-head h1{font-size:25px;line-height:1.08}
  .obxbwap-live-pane .obxbwap-subpage-head p{font-size:12px}

  .obxbwap-live-hero-card{padding:18px 16px!important;border-radius:22px!important}
  .obxbwap-live-hero-head{gap:12px!important}
  .obxbwap-live-hero-head h2{font-size:31px!important;line-height:1.02;margin:5px 0 6px!important}
  .obxbwap-live-hero-head p{font-size:13px!important;line-height:1.42!important}
  .obxbwap-live-brand-badge{margin-top:10px!important;padding:7px 10px!important;font-size:10.5px!important}
  .obxbwap-live-hero-reading{min-height:104px!important;padding-top:11px!important;margin-top:3px}
  .obxbwap-live-hero-reading>span{font-size:25px!important}
  .obxbwap-live-hero-reading>strong{font-size:42px!important;margin-top:2px!important}
  .obxbwap-live-hero-reading small{margin-top:4px!important}
  .obxbwap-live-status-pill{margin:10px 0!important;padding:8px 11px!important;font-size:11px!important}
  .obxbwap-live-quick-grid{gap:7px!important}
  .obxbwap-live-quick-grid article{min-height:67px!important;padding:9px 10px!important;border-radius:15px!important}
  .obxbwap-live-quick-grid article>span{font-size:19px!important}
  .obxbwap-live-quick-grid small{font-size:8.5px!important}
  .obxbwap-live-quick-grid strong{font-size:14px!important}
  .obxbwap-live-source-line{margin-top:10px!important;padding-top:9px!important;font-size:10.5px!important}
  .obxbwap-live-source-line span{display:none!important}

  .obxbwap-live-instruments{margin-top:18px!important}
  .obxbwap-live-section-heading{margin-bottom:10px!important}
  .obxbwap-live-section-heading h2{font-size:23px!important;line-height:1.08!important;margin-top:4px!important}
  .obxbwap-live-section-heading p{font-size:11px!important;margin-top:4px!important}
  .obxbwap-live-eyebrow{font-size:9.5px!important;letter-spacing:.15em!important}

  .obxbwap-live-instrument-group{padding:9px 8px 10px!important;border-radius:17px!important;background:rgba(20,42,58,.22)!important;border-color:rgba(255,255,255,.045)!important;margin-top:11px!important}
  .obxbwap-live-group-head{padding:1px 3px 8px!important;margin-bottom:8px!important;border-bottom:1px solid rgba(255,255,255,.08)}
  .obxbwap-live-group-head span{font-size:10px!important;letter-spacing:.14em!important}
  .obxbwap-live-group-head small{font-size:9px!important;margin-top:2px!important}

  .obxbwap-station-gauge-grid{gap:8px!important}
  .obxbwap-station-gauge-card,.obxbwap-station-gauge-card.is-primary{min-height:174px!important;padding:10px 6px 9px!important;border-radius:17px!important}
  .obxbwap-station-gauge,.obxbwap-station-gauge-card.is-primary .obxbwap-station-gauge{width:96px!important;height:96px!important}
  .obxbwap-station-gauge:before,.obxbwap-station-gauge-card.is-primary .obxbwap-station-gauge:before{inset:7px!important}
  .obxbwap-station-gauge>div{max-width:82px!important}
  .obxbwap-station-gauge span{font-size:18px!important;margin-bottom:3px!important}
  .obxbwap-station-gauge strong,.obxbwap-station-gauge-card.is-primary .obxbwap-station-gauge strong{font-size:14.5px!important;line-height:1.05!important}
  .obxbwap-wind-direction{font-size:22px!important}
  .obxbwap-station-gauge-card h3{font-size:12px!important;margin:6px 0 2px!important;line-height:1.15}
  .obxbwap-gauge-status{font-size:8px!important;padding:2px 6px!important;margin:1px 0 2px!important}
  .obxbwap-station-gauge-card p{font-size:8px!important;line-height:1.2!important;max-width:140px!important}

  .obxbwap-live-lightning-card{margin-top:12px!important;padding:14px!important;border-radius:18px!important;display:block!important}
  .obxbwap-live-lightning-title{gap:8px!important;margin-bottom:9px!important}
  .obxbwap-live-lightning-title>span{font-size:27px!important}
  .obxbwap-live-lightning-title h2{display:none!important}
  .obxbwap-live-lightning-title .obxbwap-live-eyebrow{font-size:10px!important}
  .obxbwap-live-lightning-body{display:block!important}
  .obxbwap-live-lightning-status{padding:10px 11px!important;margin-bottom:8px!important;border-radius:12px!important}
  .obxbwap-live-lightning-status strong{font-size:13px!important}
  .obxbwap-live-lightning-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  .obxbwap-live-lightning-grid article{padding:8px 6px!important;min-height:58px!important;border-radius:11px!important}
  .obxbwap-live-lightning-grid small{font-size:7.5px!important}
  .obxbwap-live-lightning-grid strong{font-size:11px!important}

  /* Extra room so the fixed tab bar never covers the final content. */
  #obxbwap-screen-more{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}
}
@media(max-width:390px){
  .obxbwap-live-hero-head h2{font-size:28px!important}
  .obxbwap-station-gauge,.obxbwap-station-gauge-card.is-primary .obxbwap-station-gauge{width:90px!important;height:90px!important}
  .obxbwap-station-gauge-card,.obxbwap-station-gauge-card.is-primary{min-height:166px!important}
}


/* 1.0.20 — mobile Monthly Weather Calendar compaction */
@media(max-width:620px){
  .obxbwap-more-pane[data-more-page="calendar"]{margin-top:7px!important}
  .obxbwap-more-pane[data-more-page="calendar"] .obxbwap-subpage-head{margin-bottom:9px!important;padding-inline:2px}
  .obxbwap-more-pane[data-more-page="calendar"] .obxbwap-subpage-head button{width:38px;height:38px;font-size:28px}
  .obxbwap-more-pane[data-more-page="calendar"] .obxbwap-subpage-head h1{font-size:25px;line-height:1.08}
  .obxbwap-more-pane[data-more-page="calendar"] .obxbwap-subpage-head p{font-size:12px}

  .obxbwap-calendar-card{padding:17px 14px 18px!important;border-radius:22px!important}
  .obxbwap-calendar-head{gap:9px!important;padding-bottom:12px!important}
  .obxbwap-calendar-head h2{font-size:21px!important;margin-top:3px!important;line-height:1.05}
  .obxbwap-calendar-controls{gap:7px!important}
  .obxbwap-calendar-controls button{width:38px!important;height:38px!important;border-radius:12px!important;font-size:24px!important}
  .obxbwap-calendar-controls .obxbwap-setting-select{height:38px!important;border-radius:12px!important;font-size:13px!important;padding-left:11px!important}

  .obxbwap-calendar-summary{gap:7px!important;margin:10px 0 12px!important}
  .obxbwap-calendar-summary article{min-height:59px!important;padding:8px 9px!important;border-radius:14px!important;column-gap:7px!important}
  .obxbwap-calendar-summary article>span{font-size:19px!important}
  .obxbwap-calendar-summary small{font-size:8.5px!important}
  .obxbwap-calendar-summary strong{font-size:16.5px!important;margin-top:1px!important}

  .obxbwap-calendar-days{gap:7px!important}
  .obxbwap-calendar-day{min-height:82px!important;padding:8px 9px 7px!important;border-radius:14px!important;gap:3px!important}
  .obxbwap-cal-day-head>div{gap:5px!important}
  .obxbwap-cal-day-head b{font-size:12px!important}
  .obxbwap-cal-day-head small{font-size:8.5px!important;letter-spacing:.06em!important}
  .obxbwap-cal-day-head>span{font-size:14px!important}
  .obxbwap-cal-temps{display:grid!important;grid-template-columns:auto 1fr!important;align-items:baseline!important;column-gap:7px!important}
  .obxbwap-cal-temps strong{font-size:19px!important;line-height:1!important}
  .obxbwap-cal-temps small{font-size:11px!important;margin-top:0!important}
  .obxbwap-calendar-day em{font-size:8.5px!important;padding:3px 6px!important;margin-top:1px!important}
  .obxbwap-calendar-day em.dry{font-size:8.5px!important;opacity:.74}
  .obxbwap-calendar-day em.rain{padding:3px 6px!important}

  .obxbwap-calendar-legend{gap:9px 14px!important;margin-top:10px!important;padding-top:10px!important;font-size:9.5px!important}
  .obxbwap-calendar-legend i{width:14px!important;height:3px!important}
  .obxbwap-calendar-legend small{font-size:9px!important;line-height:1.35!important}

  /* Bring the final date row and legend together and clear the fixed nav. */
  .obxbwap-calendar-grid{margin-bottom:0!important}
  .obxbwap-calendar-card{margin-bottom:0!important}
  .obxbwap-more-pane[data-more-page="calendar"]{padding-bottom:calc(98px + env(safe-area-inset-bottom))!important}
}
@media(max-width:390px){
  .obxbwap-calendar-card{padding-inline:12px!important}
  .obxbwap-calendar-day{min-height:78px!important;padding:7px 8px!important}
  .obxbwap-cal-temps strong{font-size:18px!important}
  .obxbwap-calendar-summary article{min-height:56px!important}
}


/* 1.0.21 — mobile Weather History density + beach selector safe-area sheet */
@media(max-width:620px){
  /* Weather History: reduce vertical bulk while preserving the same information. */
  .obxbwap-more-pane[data-more-page="history"]{margin-top:7px!important;padding-bottom:calc(106px + env(safe-area-inset-bottom))!important}
  .obxbwap-more-pane[data-more-page="history"] .obxbwap-subpage-head{margin-bottom:9px!important;padding-inline:2px}
  .obxbwap-more-pane[data-more-page="history"] .obxbwap-subpage-head button{width:38px!important;height:38px!important;font-size:28px!important}
  .obxbwap-more-pane[data-more-page="history"] .obxbwap-subpage-head h1{font-size:25px!important;line-height:1.08!important}
  .obxbwap-more-pane[data-more-page="history"] .obxbwap-subpage-head p{font-size:12px!important}

  #obxbwap-history-content{display:grid!important;gap:10px!important}
  #obxbwap-history-content>.obxbwap-section-card{padding:15px 13px!important;border-radius:20px!important}
  #obxbwap-history-content .obxbwap-card-title{gap:8px!important;padding-bottom:10px!important;margin-bottom:10px!important}
  #obxbwap-history-content .obxbwap-card-title h2{font-size:19px!important;line-height:1.1!important}
  #obxbwap-history-content .obxbwap-card-title small{font-size:10px!important;line-height:1.25!important}

  .obxbwap-history-overview-grid,.obxbwap-history-record-grid,.obxbwap-history-metrics{gap:7px!important;margin-top:8px!important}
  .obxbwap-history-overview-grid article,.obxbwap-history-latest-grid article,.obxbwap-history-metrics article{min-height:78px!important;padding:9px 7px!important;border-radius:14px!important;gap:2px!important}
  .obxbwap-history-overview-grid article span,.obxbwap-history-latest-grid article span,.obxbwap-history-metrics article span{font-size:20px!important}
  .obxbwap-history-overview-grid article small,.obxbwap-history-latest-grid article small,.obxbwap-history-metrics article small{font-size:8.5px!important;line-height:1.18!important}
  .obxbwap-history-overview-grid article strong,.obxbwap-history-latest-grid article strong,.obxbwap-history-metrics article strong{font-size:16px!important;line-height:1.08!important}

  .obxbwap-history-record{min-height:104px!important;padding:10px!important;border-radius:15px!important;gap:3px!important}
  .obxbwap-history-record-icon{font-size:21px!important}
  .obxbwap-history-record small{font-size:8.5px!important}
  .obxbwap-history-record strong{font-size:18px!important;line-height:1.05!important}
  .obxbwap-history-record em{font-size:9px!important;line-height:1.2!important}

  .obxbwap-history-climate-snapshot .obxbwap-history-metrics article{min-height:75px!important;padding:8px 6px!important}
  .obxbwap-history-climate-snapshot .obxbwap-history-metrics small{font-size:8.5px!important}

  /* Charts already work well on phones: trim framing, not data. */
  .obxbwap-history-chart-grid{gap:10px!important}
  .obxbwap-history-chart-card{padding:15px 13px!important;border-radius:20px!important}
  .obxbwap-history-line-wrap{margin-top:7px!important}
  .obxbwap-history-line-wrap svg{max-height:190px!important}
  .obxbwap-history-rain-bars{height:160px!important;margin-top:8px!important}
  .obxbwap-history-chart-footer,.obxbwap-history-line-wrap footer{margin-top:6px!important;font-size:9.5px!important}

  .obxbwap-history-year-card{padding-bottom:14px!important}
  .obxbwap-history-year-bars{gap:8px!important;margin-top:9px!important}
  .obxbwap-history-year-bars>div{grid-template-columns:56px 1fr 64px!important;gap:7px!important}
  .obxbwap-history-year-bars>div>span{font-size:10px!important;line-height:1.08!important}
  .obxbwap-history-year-bars>div>i{height:10px!important}
  .obxbwap-history-year-bars>div>strong{font-size:10.5px!important}

  /* On This Date: compact averages and record tiles. */
  .obxbwap-history-today-card .obxbwap-history-metrics article{min-height:70px!important;padding:8px 6px!important}
  .obxbwap-history-subhead{margin:13px 0 5px!important;font-size:12px!important;letter-spacing:.06em!important}
  .obxbwap-history-record-grid-small{margin-top:6px!important}
  .obxbwap-history-record-grid-small .obxbwap-history-record{min-height:96px!important;padding:9px!important}
  .obxbwap-history-record-grid-small .obxbwap-history-record strong{font-size:17px!important}
  .obxbwap-history-footnote{display:none!important}

  /* Beach chooser: fixed header/subtitle; only the location list scrolls. */
  .obxbwap-modal{align-items:end!important;padding:0!important}
  .obxbwap-beach-sheet{
    width:100%!important;
    height:min(82dvh,720px)!important;
    max-height:calc(100dvh - max(12px,env(safe-area-inset-top)))!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    border-radius:25px 25px 0 0!important;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom))!important;
  }
  .obxbwap-sheet-grabber{flex:0 0 auto;margin-bottom:8px!important}
  .obxbwap-sheet-head{flex:0 0 auto;align-items:center!important;padding:0 2px!important}
  .obxbwap-sheet-head small{font-size:9px!important;letter-spacing:.14em!important}
  .obxbwap-sheet-head h2{font-size:25px!important;line-height:1.02!important;margin-top:1px!important}
  .obxbwap-sheet-head button{width:38px!important;height:38px!important;font-size:25px!important;flex:0 0 auto}
  .obxbwap-beach-sheet>p{flex:0 0 auto;margin:7px 2px 10px!important;font-size:11px!important;line-height:1.35!important}
  .obxbwap-beach-list{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    padding:0 1px calc(76px + env(safe-area-inset-bottom))!important;
    gap:7px!important;
  }
  .obxbwap-beach-choice{min-height:55px!important;padding:10px 13px!important;border-radius:15px!important}
  .obxbwap-beach-choice strong{font-size:15px!important}
}
@media(max-width:390px){
  .obxbwap-beach-sheet{height:min(80dvh,680px)!important}
  .obxbwap-history-record{min-height:98px!important}
  .obxbwap-history-overview-grid article,.obxbwap-history-latest-grid article,.obxbwap-history-metrics article{min-height:73px!important}
}


/* 2.0 — FINAL mobile polish pass: Home, Forecast, Beach, Tides/Surf, Cam and global safe areas. */
@media(max-width:620px){
  /* Consistent clearance above the fixed tab bar on every primary screen. */
  #obxbwap-screen-home,
  #obxbwap-screen-forecast,
  #obxbwap-screen-beach,
  #obxbwap-screen-cam,
  #obxbwap-screen-more{
    padding-bottom:calc(118px + env(safe-area-inset-bottom))!important;
  }

  /* Home: preserve the visual hierarchy while removing unnecessary vertical air. */
  .obxbwap-topbar{grid-template-columns:minmax(0,1fr) 56px!important;gap:8px!important;margin-bottom:8px!important}
  .obxbwap-beach-button{min-height:68px!important}
  .obxbwap-bell{min-height:68px!important;font-size:22px!important;border-radius:20px!important}
  #obxbwap-screen-home .obxbwap-current-main{min-height:238px!important;padding-top:14px!important}
  #obxbwap-screen-home .obxbwap-big-temp{font-size:84px!important}
  #obxbwap-screen-home .obxbwap-current-main h1{font-size:31px!important;margin-top:13px!important}
  #obxbwap-screen-home .obxbwap-current-main p{font-size:22px!important}
  #obxbwap-screen-home .obxbwap-weather-glyph{font-size:64px!important}
  #obxbwap-screen-home .obxbwap-current-stats article{min-height:112px!important}
  #obxbwap-screen-home .obxbwap-home-grid{gap:10px!important;margin-top:10px!important}
  #obxbwap-screen-home .obxbwap-section-card{padding-top:15px!important;padding-bottom:15px!important}

  /* Forecast: shorter daily hero and a denser hourly rail that visibly invites horizontal scrolling. */
  #obxbwap-screen-forecast .obxbwap-page-grid{gap:10px!important;margin-top:10px!important}
  #obxbwap-screen-forecast .obxbwap-forecast-today{padding-top:15px!important;padding-bottom:15px!important}
  #obxbwap-screen-forecast .obxbwap-forecast-lead{padding-top:10px!important;gap:7px!important}
  #obxbwap-screen-forecast .obxbwap-forecast-lead h1{font-size:28px!important;margin:2px 0 10px!important}
  #obxbwap-screen-forecast .obxbwap-weather-glyph{font-size:50px!important}
  #obxbwap-screen-forecast .obxbwap-forecast-metrics article{padding:10px 3px!important;min-height:88px!important}
  #obxbwap-screen-forecast .obxbwap-forecast-metrics strong{font-size:19px!important}
  #obxbwap-screen-forecast .obxbwap-forecast-metrics small{font-size:11px!important}
  #obxbwap-screen-forecast .obxbwap-hourly-card{padding:15px 14px!important}
  #obxbwap-screen-forecast .obxbwap-hourly-strip{grid-template-columns:repeat(6,66px)!important;gap:6px!important;padding-top:12px!important;scroll-snap-type:x proximity}
  #obxbwap-screen-forecast .obxbwap-hour{min-width:66px!important;padding:10px 3px!important;border-radius:15px!important;scroll-snap-align:start}
  #obxbwap-screen-forecast .obxbwap-hour time{font-size:11px!important}
  #obxbwap-screen-forecast .obxbwap-hour .wx{font-size:25px!important;margin:7px 0 2px!important}
  #obxbwap-screen-forecast .obxbwap-hour strong{font-size:18px!important}
  #obxbwap-screen-forecast .obxbwap-hour small{font-size:10px!important;margin-top:3px!important}

  /* Beach Report: same information, less vertical bulk. */
  #obxbwap-screen-beach .obxbwap-report-card{padding:15px!important}
  #obxbwap-screen-beach .obxbwap-report-head{gap:10px!important}
  #obxbwap-screen-beach .obxbwap-report-head h1{font-size:23px!important;margin-bottom:8px!important}
  #obxbwap-screen-beach .obxbwap-stars{font-size:22px!important;letter-spacing:2px!important}
  #obxbwap-screen-beach .obxbwap-report-head h2{font-size:30px!important;margin:5px 0!important}
  #obxbwap-screen-beach .obxbwap-report-score strong{font-size:45px!important;margin-top:4px!important}
  #obxbwap-screen-beach .obxbwap-report-recommendation{font-size:17px!important;line-height:1.38!important;margin:15px 0!important}
  #obxbwap-screen-beach .obxbwap-report-columns{gap:8px!important}
  #obxbwap-screen-beach .obxbwap-report-columns article{padding:12px!important;border-radius:17px!important}
  #obxbwap-screen-beach .obxbwap-report-columns h3{font-size:13px!important;margin-bottom:6px!important}
  #obxbwap-screen-beach .obxbwap-list-item{font-size:15px!important;margin:5px 0!important}
  #obxbwap-screen-beach .obxbwap-details{margin-top:13px!important;padding-top:12px!important}
  #obxbwap-screen-beach .obxbwap-details summary{font-size:16px!important}

  /* Secondary tide events stay useful but yield visual priority to the next two tides. */
  #obxbwap-screen-beach .obxbwap-tide-list{gap:7px!important}
  #obxbwap-screen-beach .obxbwap-tide-row{min-height:58px!important;padding:9px 11px!important;border-radius:14px!important;gap:8px!important}
  #obxbwap-screen-beach .obxbwap-tide-row-arrow{font-size:18px!important}
  #obxbwap-screen-beach .obxbwap-tide-row strong{font-size:11px!important}
  #obxbwap-screen-beach .obxbwap-tide-row small{font-size:10px!important}
  #obxbwap-screen-beach .obxbwap-tide-row em{font-size:12px!important}

  /* Surf: keep the complete brand attribution, but fit it cleanly in the phone header. */
  #obxbwap-screen-beach .obxbwap-surf-details-card .obxbwap-card-title{align-items:flex-start!important;gap:8px!important}
  #obxbwap-screen-beach .obxbwap-surf-details-card .obxbwap-card-title h2{font-size:18px!important;line-height:1.05!important}
  #obxbwap-screen-beach .obxbwap-surf-details-card .obxbwap-card-title small{font-size:8.5px!important;line-height:1.15!important;white-space:nowrap!important;padding-top:2px!important}
  #obxbwap-screen-beach .obxbwap-surf-details-card .obxbwap-source-footer{font-size:10px!important;line-height:1.35!important}

  /* Cam: use the available phone viewport instead of leaving a large dead zone below the media card. */
  #obxbwap-screen-cam{min-height:0!important}
  #obxbwap-screen-cam .obxbwap-cam-card{margin:10px 0 0!important;padding:14px!important;min-height:min(620px,calc(100dvh - 205px))!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important}
  #obxbwap-screen-cam .obxbwap-cam-frame{margin-top:12px!important;border-radius:18px!important}
  #obxbwap-screen-cam .obxbwap-cam-footer{padding:12px 3px 0!important;gap:10px!important}
  #obxbwap-screen-cam .obxbwap-cam-footer>div{gap:2px!important}
  #obxbwap-screen-cam .obxbwap-cam-footer strong{font-size:12px!important}
  #obxbwap-screen-cam .obxbwap-cam-footer small{font-size:11px!important;line-height:1.3!important}
  #obxbwap-screen-cam .obxbwap-cam-footer a{padding:9px 13px!important;font-size:13px!important}

  /* Beach chooser: slightly more locations visible without sacrificing tap size. */
  .obxbwap-beach-choice{min-height:50px!important;padding:8px 12px!important;border-radius:14px!important}
  .obxbwap-beach-choice strong{font-size:14px!important}
}

@media(max-width:390px){
  #obxbwap-screen-forecast .obxbwap-hourly-strip{grid-template-columns:repeat(6,63px)!important}
  #obxbwap-screen-forecast .obxbwap-hour{min-width:63px!important}
  #obxbwap-screen-beach .obxbwap-surf-details-card .obxbwap-card-title small{font-size:8px!important}
}

/* 2.2 — desktop-only Home refinement pass.
 * Deliberately isolated to >=1280px so the approved phone/tablet presentation is unchanged.
 * Presentation only: no data, API, navigation, or provider behavior changes.
 */
@media (min-width:1280px){
  :root{--obx-max:1420px}

  /* Use more of a large desktop canvas while retaining the atmospheric photography. */
  .obxbwap-app{
    width:min(1420px,calc(100% - 64px));
    margin-left:auto;
    margin-right:auto;
  }

  /* Slightly deepen the artwork overlay so small type remains legible over bright clouds. */
  .obxbwap-bg-tint{
    background:linear-gradient(180deg,rgba(4,12,20,.25) 0%,rgba(4,13,22,.14) 38%,rgba(4,14,24,.23) 100%)!important;
  }

  /* Alert stack: same information/colors, about 10% less vertical bulk. */
  .obxbwap-global-stack{gap:7px;margin-bottom:16px}
  .obxbwap-banner{padding:10px 16px;border-radius:18px;gap:11px}
  .obxbwap-banner .obxbwap-banner-icon{font-size:22px}
  .obxbwap-banner strong{font-size:15px}
  .obxbwap-banner span{font-size:13px;line-height:1.30;color:rgba(255,255,255,.86)}
  .obxbwap-banner small{font-size:12px;color:rgba(255,255,255,.76)}

  /* Header micro-type is easier to read without making the header visually heavier. */
  .obxbwap-beach-copy small{font-size:11px;color:rgba(255,255,255,.76)}

  /* Home dashboard rows now terminate on the same horizontal lines. */
  #obxbwap-screen-home .obxbwap-current-main,
  #obxbwap-screen-home .obxbwap-home-grid>section:first-child{
    min-height:278px;
    align-self:stretch;
  }
  #obxbwap-screen-home .obxbwap-current-stats,
  #obxbwap-screen-home .obxbwap-home-ocean-card{
    min-height:232px;
    align-self:stretch;
  }

  /* Increase only the smallest Home-screen typography by roughly 1px. */
  #obxbwap-screen-home .obxbwap-card-title small{
    font-size:14px;
    color:rgba(243,250,252,.78);
  }
  #obxbwap-screen-home .obxbwap-current-stats small{
    font-size:15px;
    color:rgba(242,250,252,.82);
  }
  #obxbwap-screen-home .obxbwap-today-grid small{
    font-size:13px;
    color:rgba(243,250,252,.82);
  }
  #obxbwap-screen-home .obxbwap-ocean-quick small{
    font-size:13px;
    color:rgba(241,249,251,.76);
  }
  #obxbwap-screen-home .obxbwap-astro-grid small{
    color:rgba(244,250,252,.82);
  }

  /* A real visual flag cue makes the safety state scannable before reading the word. */
  #obxbwap-screen-home .obxbwap-home-flag-value{
    display:inline-flex;
    align-items:center;
    gap:6px;
  }
  #obxbwap-screen-home .obxbwap-home-flag-value.flag-green::before,
  #obxbwap-screen-home .obxbwap-home-flag-value.flag-yellow::before,
  #obxbwap-screen-home .obxbwap-home-flag-value.flag-red::before{
    content:"⚑";
    display:inline-block;
    font-size:15px;
    line-height:1;
    transform:translateY(-1px);
  }

  /* Make the Beach Report destination a little easier to discover without enlarging it. */
  #obxbwap-screen-home .obxbwap-card-link{
    background:rgba(55,211,239,.18);
    border-color:rgba(95,224,249,.31);
    color:#d2f8ff;
  }
  #obxbwap-screen-home .obxbwap-card-link:hover{
    background:rgba(55,211,239,.24);
    border-color:rgba(95,224,249,.40);
  }
}

@media (min-width:1600px){
  :root{--obx-max:1440px}
  .obxbwap-app{width:min(1440px,calc(100% - 80px))}
  #obxbwap-screen-home{grid-template-columns:minmax(430px,.86fr) minmax(0,1.14fr)}
}


.obxbwap-ripmap-card{grid-column:1/-1}
.obxbwap-ripmap-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.12)}
.obxbwap-ripmap-head h2{margin:0;font-size:23px;letter-spacing:.03em}
.obxbwap-ripmap-head p{margin:8px 0 0;color:rgba(236,247,250,.74);font-size:15px;line-height:1.45}
.obxbwap-ripmap-head small{display:inline-flex;align-items:center;white-space:nowrap;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.11);font-size:12px;font-weight:800;letter-spacing:.05em;color:#bdefff}
.obxbwap-ripmap-figure{margin:14px 0 0}
.obxbwap-ripmap-frame{display:block;width:min(100%,1200px);margin:0 auto;padding:10px;border-radius:24px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.10);text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.obxbwap-ripmap-frame img{display:block;width:100%;height:auto;border-radius:18px;background:#fff;box-shadow:0 14px 30px rgba(0,20,34,.18)}
.obxbwap-ripmap-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:14px}
.obxbwap-ripmap-note{flex:1 1 480px;color:rgba(235,247,250,.70);font-size:14px;line-height:1.5}
.obxbwap-ripmap-link{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#c2f1ff;text-decoration:none;font-size:13px;font-weight:800;white-space:nowrap}
.obxbwap-ripmap-empty{margin-top:18px;padding:18px;border-radius:22px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10)}
.obxbwap-ripmap-empty p{margin:0;color:rgba(235,247,250,.78);font-size:15px;line-height:1.5}
@media (max-width: 900px){
  .obxbwap-ripmap-head{flex-direction:column}
  .obxbwap-ripmap-head small{white-space:normal}
  .obxbwap-ripmap-frame{width:100%;padding:8px}
  .obxbwap-ripmap-actions{align-items:flex-start}
  .obxbwap-ripmap-note{flex-basis:100%;font-size:13px}
  .obxbwap-ripmap-link{width:100%;justify-content:center}
}


/* 2.9 OBX Beach & Weather App Beach Score factor explanation. */
.obxbwap-score-explain{padding:4px 0 1px}
.obxbwap-score-explain-intro{margin:12px 0 15px;color:rgba(245,250,252,.80);font-size:15px;line-height:1.55}
.obxbwap-score-explain-intro strong{color:#b9f2ff}
.obxbwap-score-factor-list{display:grid;gap:9px;margin:10px 0 14px}
.obxbwap-score-factor{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 15px 13px 18px;border-radius:17px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.10);overflow:hidden}
.obxbwap-score-factor:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:rgba(184,241,255,.45)}
.obxbwap-score-factor.tone-good:before{background:#58e0a4}.obxbwap-score-factor.tone-fair:before{background:#ffcf58}.obxbwap-score-factor.tone-warning:before{background:#ff9e54}.obxbwap-score-factor.tone-danger:before{background:#ff656d}
.obxbwap-score-factor-main{min-width:0}
.obxbwap-score-factor-main strong{display:block;color:#fff;font-size:14px;line-height:1.25}
.obxbwap-score-factor-main p{margin:4px 0 0;color:rgba(239,248,251,.72);font-size:12.5px;line-height:1.4}
.obxbwap-score-factor-points{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:8px 10px;border-radius:13px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.10);color:#d9f8ff;font-size:14px;font-weight:900;white-space:nowrap}
.obxbwap-score-factor-empty{margin:0;padding:13px 15px;border-radius:16px;background:rgba(255,255,255,.05);color:rgba(239,248,251,.72);font-size:13px;line-height:1.45}
.obxbwap-score-adjustment{margin:14px 0;padding:13px 15px;border-radius:17px;background:rgba(255,166,69,.09);border:1px solid rgba(255,178,88,.22)}
.obxbwap-score-adjustment strong{display:block;color:#ffd28b;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.obxbwap-score-adjustment p{margin:6px 0 0;color:rgba(250,246,238,.82);font-size:13px;line-height:1.45}
.obxbwap-score-explain-note{margin:13px 0 2px;padding-top:11px;border-top:1px solid rgba(255,255,255,.09);color:rgba(239,248,251,.68);font-size:12.5px;line-height:1.5}
@media (max-width: 900px){
  .obxbwap-score-explain-intro{font-size:13px;line-height:1.48;margin:10px 0 12px}
  .obxbwap-score-factor-list{gap:8px;margin:8px 0 11px}
  .obxbwap-score-factor{grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:11px 10px 11px 14px;border-radius:15px}
  .obxbwap-score-factor-main strong{font-size:12.5px}
  .obxbwap-score-factor-main p{font-size:11px;line-height:1.35}
  .obxbwap-score-factor-points{min-width:62px;padding:7px 8px;font-size:12px;border-radius:11px}
  .obxbwap-score-adjustment{padding:11px 12px;border-radius:15px;margin:11px 0}
  .obxbwap-score-adjustment p{font-size:11.5px}
  .obxbwap-score-explain-note{font-size:11px}
}
