:root{--forecast-bg:#f1f5f4;--navy:#0c293b;--blue:#177c9b;--cyan:#63cbd1;--green:#4fbf8b;--lime:#a7d86f;--yellow:#f4d35e;--orange:#f29e4c;--red:#dc5a5a;--purple:#9a5fc0}.forecast-hero{padding:105px clamp(24px,9vw,145px);color:#fff;background:radial-gradient(circle at 78% 18%,rgba(99,203,209,.45),transparent 29%),linear-gradient(135deg,#0b2739 0%,#0c6685 62%,#47b8ad 100%);min-height:430px;display:flex;flex-direction:column;justify-content:end}.forecast-hero.compact{min-height:355px;padding-top:75px}.forecast-hero>div{max-width:1050px}.forecast-hero h1{font:500 clamp(50px,7vw,88px)/.98 Georgia,serif;margin:15px 0 22px;max-width:1000px}.forecast-hero h1 em{font-weight:400;color:#a9eee5}.forecast-hero p{max-width:760px;font-size:18px;line-height:1.65;color:#d9eced}.forecast-body{padding:58px clamp(18px,5.5vw,95px);min-height:520px}.forecast-back{display:inline-block;margin-bottom:22px;text-decoration:none;font-size:12px;font-weight:850;color:var(--sea)}.forecast-back.light{color:#b9f0e9}.forecast-back+.kicker{display:block}.spot-facts{display:flex;gap:20px;flex-wrap:wrap;margin-top:25px;color:#cde6e9;font-size:12px;font-weight:700}.hub-body{padding-top:75px}.forecast-spot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.forecast-spot-grid a{min-height:190px;padding:24px;border-radius:18px;text-decoration:none;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:end;transition:.2s}.forecast-spot-grid a:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(16,47,67,.1)}.forecast-spot-grid small,.forecast-spot-grid span{color:var(--sea);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.forecast-spot-grid h3{font:500 27px Georgia,serif;margin:9px 0 25px}.forecast-workspace{background:var(--forecast-bg)}.forecast-toolbar{display:grid;grid-template-columns:minmax(220px,.55fr) 1.45fr;gap:30px;align-items:end;margin-bottom:18px}.forecast-toolbar>label,.forecast-toolbar>div{min-width:0}.forecast-toolbar>label>span,.forecast-toolbar>div>span{display:block;font-size:9px;letter-spacing:.15em;font-weight:900;color:var(--sea);margin-bottom:8px}.forecast-toolbar select{width:100%;height:64px;padding:0 18px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font-weight:800}.source-tabs{display:flex;gap:8px;overflow:auto}.source-tabs button{min-width:165px;text-align:left;padding:11px 15px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);cursor:pointer;transition:.18s}.source-tabs button.active{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:0 8px 20px rgba(12,41,59,.16)}.source-tabs strong,.source-tabs small,.source-status{display:block}.source-tabs strong{margin:3px 0;font-size:13px}.source-tabs small{font-size:9px;opacity:.68}.source-status{font-size:7px;letter-spacing:.1em;font-weight:900;color:var(--sea)}.source-tabs button.active .source-status{color:#86ded5}.forecast-result{margin-top:15px}.forecast-origin{padding:17px 20px;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:25px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:15px 15px 0 0}.forecast-origin div span,.external-forecast>span{display:block;font-size:8px;letter-spacing:.15em;color:var(--sea);font-weight:900}.forecast-origin div strong,.forecast-origin div small{display:block}.forecast-origin div strong{font-size:13px;margin-top:2px}.forecast-origin div small{margin-top:3px;color:var(--muted);font-size:9px}.forecast-origin>a{font-size:10px;font-weight:850;color:var(--sea);text-decoration:none}.forecast-overview{display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center;padding:38px;background:linear-gradient(135deg,#102f43,#124f68);color:#fff;border-radius:0 0 18px 18px;overflow:hidden}.overview-copy h2{font:500 clamp(34px,4vw,55px) Georgia,serif;margin:7px 0 10px}.overview-copy p{color:#c7dce3;margin:0;line-height:1.55}.overview-copy .kicker{color:#7ee0d4}.overview-metrics{display:flex;gap:10px}.overview-metrics article{width:120px;height:120px;padding:16px;border-radius:16px;background:rgba(255,255,255,.1);display:grid;align-content:center;text-align:center}.overview-metrics article small{font-size:8px;letter-spacing:.12em;font-weight:900;opacity:.7}.overview-metrics article strong{font-size:36px;line-height:1;margin-top:8px}.overview-metrics article span{font-size:10px;margin-top:3px}.overview-metrics .hero-metric{color:#09293b}.legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px;font-size:9px;color:#c7dce3}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:11px;height:11px;border-radius:3px}.legend-calm{background:var(--cyan)}.legend-light{background:var(--green)}.legend-good{background:var(--yellow)}.legend-strong{background:var(--red)}.day-rail{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:16px 0}.day-card{padding:15px;text-align:left;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);cursor:pointer;transition:.18s}.day-card:hover,.day-card.active{border-color:var(--sea);transform:translateY(-2px)}.day-card.active{box-shadow:inset 0 0 0 1px var(--sea),0 8px 20px rgba(16,47,67,.08)}.day-card>span{text-transform:uppercase;font-size:8px;letter-spacing:.12em;font-weight:900;color:var(--sea)}.day-card>strong{display:block;font:500 22px Georgia,serif;margin:3px 0 12px;text-transform:capitalize}.day-card>div{display:flex;justify-content:space-between;align-items:center}.day-card b{font-size:25px}.day-card b small{font-size:9px}.day-card>small{display:block;margin-top:7px;color:var(--muted);font-size:9px}.day-verdict{font-style:normal;font-size:8px;padding:5px 7px;border-radius:20px;background:#e5eeed}.day-verdict.good{background:#fff0a4}.day-verdict.strong{background:#ffd0c7}.day-verdict.fair{background:#d9f0dc}.forecast-panel{background:#fff;border:1px solid var(--line);border-radius:17px;padding:23px;margin-top:14px}.panel-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.panel-head h2{font:500 29px Georgia,serif;margin:4px 0 0}.chart-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:9px;color:var(--muted)}.chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend i{display:block;width:18px;height:3px}.wind-line{background:var(--sea)}.gust-line{background:var(--orange)}.limit-line{border-top:2px dashed #c79c22}.forecast-chart{width:100%;min-height:250px}.forecast-chart svg{display:block;width:100%;height:auto;overflow:visible}.forecast-chart text{font-size:10px;fill:#6f8189}.forecast-chart .axis-title{font-size:8px;font-weight:900;letter-spacing:.12em}.grid-line{stroke:#e3ebea;stroke-width:1}.threshold-line{stroke:#d3aa3a;stroke-width:1.5;stroke-dasharray:6 5}.gust-area{fill:rgba(242,158,76,.11)}.wind-path,.gust-path{fill:none;stroke-linecap:round;stroke-linejoin:round}.wind-path{stroke:var(--sea);stroke-width:4}.gust-path{stroke:var(--orange);stroke-width:2}.wind-dot{fill:#fff;stroke:var(--sea);stroke-width:3}.density-toggle{display:flex;padding:3px;background:#edf3f2;border-radius:10px}.density-toggle button{border:0;background:transparent;padding:8px 11px;border-radius:8px;color:var(--muted);font-size:9px;font-weight:800;cursor:pointer}.density-toggle button.active{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(16,47,67,.1)}.matrix-help{font-size:10px;color:var(--muted);margin:-7px 0 12px}.forecast-matrix-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;scrollbar-color:#9fb8bc #edf3f2}.forecast-matrix{border-collapse:separate;border-spacing:0;min-width:100%;background:#fff}.forecast-matrix th,.forecast-matrix td{min-width:70px;height:58px;padding:7px 6px;text-align:center;border-right:1px solid #e5eceb;border-bottom:1px solid #e5eceb}.forecast-matrix thead th{height:51px;background:#f5f8f7;position:sticky;top:0;z-index:2}.forecast-matrix th:first-child{min-width:118px;width:118px;text-align:left;padding-left:13px;position:sticky;left:0;z-index:3;background:#f5f8f7;box-shadow:5px 0 8px rgba(12,41,59,.04)}.forecast-matrix tbody th strong,.forecast-matrix tbody th small,.forecast-matrix thead th strong,.forecast-matrix thead th small{display:block}.forecast-matrix tbody th strong{font-size:10px}.forecast-matrix th small{font-size:8px;color:var(--muted);margin-top:3px}.forecast-matrix thead th:first-child span{font-size:7px;letter-spacing:.1em}.forecast-matrix td strong{font-size:18px}.direction-cell{background:#f8faf9}.direction-cell small{display:block;font-size:8px;margin-top:1px}.wind-arrow{display:block;font-size:24px;line-height:1;transform:rotate(var(--direction));color:var(--navy)}.wind-cell,.gust-cell{color:#102f43}.gust-cell{background-image:linear-gradient(rgba(255,255,255,.25),rgba(255,255,255,.25))}.wind-na{background:#edf1f1}.wind-0{background:#c9edf1}.wind-1{background:#82d8d4}.wind-2{background:#6fd09a}.wind-3{background:#b7dd75}.wind-4{background:#f6dc6f}.wind-5{background:#f4a45b}.wind-6{background:#e16a67;color:#fff}.temp-cell{background:#fff3d8}.rain-cell{color:#9aa8ae}.rain-cell.wet{background:#b8dfea;color:#0b5972;font-weight:800}.external-forecast{padding:70px 24px;text-align:center;border:1px solid var(--line);border-radius:0 0 17px 17px;background:#fff}.external-forecast h2{font:500 36px Georgia,serif;max-width:650px;margin:12px auto}.external-forecast p{color:var(--muted);max-width:620px;margin:0 auto 25px;line-height:1.6}.external-forecast .public-primary{background:var(--ink);color:#fff}.loading,.empty-public{background:#fff}.day-card:focus-visible,.source-tabs button:focus-visible,.density-toggle button:focus-visible{outline:3px solid rgba(73,197,182,.45);outline-offset:2px}@media(max-width:980px){.forecast-toolbar{grid-template-columns:1fr}.forecast-overview{grid-template-columns:1fr}.overview-metrics{justify-content:start}.day-rail{overflow:auto;display:flex}.day-card{min-width:180px}.forecast-spot-grid{grid-template-columns:1fr 1fr}.forecast-origin{grid-template-columns:1fr 1fr}}@media(max-width:620px){.site-head nav a:first-child{display:none}.forecast-hero{min-height:370px;padding:65px 20px 45px}.forecast-hero.compact{min-height:350px}.forecast-hero h1{font-size:48px}.forecast-hero p{font-size:15px}.forecast-body{padding:32px 12px}.forecast-origin{grid-template-columns:1fr;padding:16px}.forecast-overview{padding:25px 18px}.overview-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.overview-metrics article{width:auto;height:98px;padding:9px}.overview-metrics article strong{font-size:27px}.legend{gap:8px}.forecast-panel{padding:17px 10px}.panel-head{align-items:start;flex-direction:column}.chart-legend{gap:9px}.forecast-chart{overflow:auto}.forecast-chart svg{min-width:620px}.forecast-spot-grid{grid-template-columns:1fr}.source-tabs button{min-width:145px}.forecast-matrix th:first-child{min-width:98px;width:98px}.forecast-matrix th,.forecast-matrix td{min-width:62px}.external-forecast h2{font-size:29px}}
