:root{font-family:Arial,Helvetica,sans-serif;color:#123f49;background:#f7faf8;--ink:#123f49;--muted:#47616a;--teal:#08646a;--label:136px;--hour:68;font-size:16px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:3px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #b65d0c;outline-offset:3px}[hidden]{display:none!important}.wrap{width:min(1456px,92%);margin-inline:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:99;background:white;padding:12px}.eyebrow{font-size:.68rem;font-weight:800;letter-spacing:.16em;color:#337c7c}.intro{padding:30px 0 15px}.intro h1{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.3rem);line-height:1.08;margin:8px 0 13px;font-weight:500;letter-spacing:-.04em}.intro-copy{color:var(--muted);font-size:1rem}.place-selector{max-width:780px;padding-block:14px 22px}.place-selector label{display:block;font-size:.85rem;font-weight:700;margin-bottom:8px}.place-search-line{display:flex;gap:8px}.place-selector input{flex:1;min-width:0}.place-selector input,.reference-selector select{border:1px solid #93b3b1;border-radius:7px;background:white;padding:11px;min-height:46px}.place-selector button,.reference-selector button{background:#075e63;color:white;border:1px solid #075e63;border-radius:7px;padding:10px 18px;min-height:46px}.place-credit{font-size:.72rem;line-height:1.6;color:var(--muted);margin:9px 0 0}.place-credit a{overflow-wrap:anywhere}#location-message:empty{display:none}#search-results{padding:0;list-style:none;display:grid;gap:8px}#search-results button{width:100%;text-align:left;background:white;color:var(--ink)}#search-results span{display:block;font-size:.8rem;margin-top:5px}.outlook{padding-top:20px;border-top:1px solid #c9dbd6}.outlook-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.outlook-heading h2{font-size:1.5rem;margin:7px 0}.outlook-heading p{margin:0}#place-context{font-size:.78rem;color:var(--muted);line-height:1.6}.periods{display:flex;gap:4px;background:#e3ede7;border-radius:8px;padding:4px;flex-shrink:0}.periods button{padding:10px 18px;border:0;border-radius:6px;color:var(--ink);background:transparent;min-height:44px}.periods [aria-pressed=true]{background:#0a6466;color:white}#data-status{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;font-size:.78rem;line-height:1.6;color:#436469}#data-status[data-state=error]{color:#824b19}#refresh,.hour-actions button{background:transparent;border:1px solid #8bafac;border-radius:6px;padding:9px 12px;min-height:42px;color:var(--ink)}.days{display:flex;gap:9px;overflow-x:auto;padding:12px 2px 16px}.days button{flex:1;min-width:125px;min-height:94px;display:grid;gap:6px;background:#edf4ef;border:1px solid #d3e2dc;border-radius:9px;color:var(--ink);padding:12px;text-align:left}.days button[aria-pressed=true]{background:#d7eee4;border:2px solid #08776f;padding:11px}.days strong{font-size:.83rem;white-space:nowrap}.days span{font-size:1.1rem}.days small{font-size:.72rem;white-space:nowrap}.summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:15px 0 25px}.summary article{padding:8px 0 12px;border-bottom:1px solid #c9dbd6;min-width:0}.summary article>span{font-size:.6rem;font-weight:800;letter-spacing:.12em;color:#50716e}.summary strong{display:block;margin:9px 0 7px;font-size:1.15rem;font-weight:650}.summary p{font-size:.76rem;line-height:1.5;min-height:1.5em;color:var(--muted);margin:0}.timeline-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.timeline-heading h3{font-size:1rem;margin:0;text-transform:capitalize}.timeline-heading p{font-size:.8rem;color:var(--muted);margin:7px 0}.hour-actions{display:flex;gap:7px}.capabilities,.timeline-help{font-size:.74rem;color:#49686b;line-height:1.6}.capabilities{margin:12px 0 3px}.timeline-help{margin:0 0 14px}.marine-board{width:100%;background:#0b3f49;color:#e8f7f4}.hour-header{display:flex;position:sticky;top:0;z-index:20;min-height:66px;background:#08343e;border-block:1px solid #47757b}.hour-label{width:var(--label);flex-shrink:0;display:flex;flex-direction:column;justify-content:center;padding:8px 12px;font-size:.75rem;font-weight:700;border-right:1px solid #47757b}.hour-label small{font-size:.65rem;margin-top:5px;font-weight:400;color:#bdd8d8}.head-scroll{overflow:hidden;flex:1;min-width:0}.hour-buttons{display:flex;min-height:66px}.hour-buttons button{flex-shrink:0;width:calc(var(--hour) * 1px);min-height:66px;background:none;color:#ebf6f5;border:0;border-right:1px solid #315e66;font-size:.82rem;font-weight:700}.hour-buttons button small{display:block;color:#bdd8d8;font-size:.57rem;font-weight:400;margin-top:6px}.hour-buttons [aria-pressed=true]{background:#087779;box-shadow:inset 0 -3px #83f4d6}.hour-buttons button:focus-visible{outline-color:#ffd68a;outline-offset:-4px}.data-scroll{overflow-x:auto;overflow-y:visible;scrollbar-color:#8bccc0 #103d46;scroll-padding-left:var(--label)}table{border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:.78rem;font-variant-numeric:tabular-nums}.metric{width:var(--label)}.hour{width:calc(var(--hour) * 1px)}th,td{height:45px;padding:5px 3px;border-bottom:1px solid #315f66;border-right:1px solid #315f66;text-align:center;font-weight:400;vertical-align:middle}tbody th{position:sticky;left:0;z-index:5;background:#0b3541;padding-left:12px;text-align:left;font-size:.7rem;line-height:1.5;border-right:1px solid #527b80;font-weight:600}.group th,.group td{height:28px;background:#062f39;color:#91e8d8;font-size:.6rem;font-weight:800;letter-spacing:.1em}.group td{border-right:0}.selected{background:#155b60}.interval{display:block;font-size:.59rem;color:#bed9d9;line-height:1.1;margin-top:3px}.sky-icon{width:23px;height:23px;vertical-align:middle}.missing{color:#bdd4d5}.curve-row th,.curve-row td{height:120px;padding-block:0}.curve-row th small{font-weight:400;font-size:.6rem;color:#bdd8d8}.curve-row td{padding-inline:0;background:#093741}.curve{height:120px;width:100%;display:block}.curve .axis{stroke:#a6cbc8;stroke-width:1.1;stroke-dasharray:4 5}.curve .tide-line{fill:none;stroke:#7be8d5;stroke-width:2.5}.curve .guide{stroke:#bad4d4;stroke-dasharray:4 5}.curve circle{fill:#9ed6c7}.curve .chosen{fill:#ffe5a6;stroke:#093741;stroke-width:2}.curve text{fill:#d4e9e5;font-size:10px}#empty-state{padding:26px 0;color:#76532b;line-height:1.6}.tide-context{margin:22px 0 20px;padding-left:17px;border-left:3px solid #82bcaa;max-width:900px}.tide-context h3{font-size:.95rem;margin:0 0 10px}.tide-context p{font-size:.8rem;line-height:1.7;color:#47646a}.reference-selector summary{font-size:.84rem;color:#0c6467;font-weight:700;cursor:pointer;min-height:44px;padding-block:10px}.reference-selector form{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:10px 0}.reference-selector label{flex:1 0 100%;font-size:.8rem}.reference-selector select{max-width:100%;min-width:0;flex:1 1 230px}.reference-selector button{font-size:.78rem}.reference-selector #automatic-tide{background:transparent;color:#075e63}.source-credit{font-size:.75rem;line-height:1.9;color:#2c6d6c}.tide-caution{font-size:.74rem;color:#5a6867;line-height:1.6}.fixture-info{border-top:1px solid #c9dbd6;margin:22px 0 35px;padding-top:17px;color:var(--muted);font-size:.8rem;line-height:1.75}.fixture-info summary{cursor:pointer;color:var(--ink);font-weight:700;min-height:40px}.fixture-info p{max-width:110ch;overflow-wrap:anywhere}#source-dates{margin-top:15px}.local-note{padding:11px 14px;background:#fff0cd;color:#75430c;font-size:.78rem;border:1px solid #c7a96c;line-height:1.5}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}footer{border-top:1px solid #c9dbd6;padding-block:25px;display:flex;flex-wrap:wrap;gap:22px;font-size:.78rem;color:var(--muted)}
@media(max-width:650px){:root{--label:110px;--hour:65}.wrap{width:92%}.intro{padding-top:24px}.intro-copy{font-size:.9rem;max-width:34ch}.place-selector{padding-top:7px}.place-selector label{font-size:.78rem}.place-selector button{padding-inline:12px}.outlook{padding-top:18px}.outlook-heading{align-items:flex-start;gap:10px;flex-wrap:wrap}.outlook-heading h2{font-size:1.3rem}.periods button{padding:8px 16px}#data-status{align-items:flex-start;font-size:.72rem}#refresh{font-size:.75rem;flex-shrink:0}.summary{grid-template-columns:1fr 1fr;gap:10px 18px;margin-top:8px}.summary article:last-child{grid-column:1/-1}.summary article:last-child strong{display:inline-block;margin-right:14px}.summary article:last-child p{display:inline;font-size:.73rem}.summary strong{font-size:1rem}.summary article>span{font-size:.57rem}.summary p{font-size:.71rem}.hour-actions button{font-size:.73rem;padding:7px 10px;min-height:42px}.timeline-heading h3{font-size:.9rem}.capabilities,.timeline-help{font-size:.69rem}.hour-label{padding-left:8px;font-size:.68rem}tbody th{font-size:.65rem;padding-left:8px}.days button{min-width:124px}.tide-context{padding-left:12px}.tide-context p{font-size:.75rem}.reference-selector button{flex:1 1 100%}.fixture-info{font-size:.75rem}.source-credit{font-size:.72rem}}
.data-scroll,table{position:relative}
.summary article>span{display:block}
.summary strong,.summary p{overflow-wrap:anywhere}
@media(max-width:360px){.summary{grid-template-columns:1fr}.summary article:last-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/*1040: count classes keep sizing in CSS, without inline styles.*/
#marine-board{--slots:24;--slot-min:calc(var(--hour) * 1px)}#marine-board[data-fit="true"]{--slot-min:0px}#matrix{width:max(100%,calc(var(--label) + var(--slots) * var(--slot-min)))}#hour-buttons{width:max(100%,calc(var(--slots) * var(--slot-min)))}.hour-buttons button{width:auto;min-width:0;flex:1 0 var(--slot-min)}col.hour{width:auto}
#marine-board[data-columns="0"]{--slots:0}
#marine-board[data-columns="1"]{--slots:1}
#marine-board[data-columns="2"]{--slots:2}
#marine-board[data-columns="3"]{--slots:3}
#marine-board[data-columns="4"]{--slots:4}
#marine-board[data-columns="5"]{--slots:5}
#marine-board[data-columns="6"]{--slots:6}
#marine-board[data-columns="7"]{--slots:7}
#marine-board[data-columns="8"]{--slots:8}
#marine-board[data-columns="9"]{--slots:9}
#marine-board[data-columns="10"]{--slots:10}
#marine-board[data-columns="11"]{--slots:11}
#marine-board[data-columns="12"]{--slots:12}
#marine-board[data-columns="13"]{--slots:13}
#marine-board[data-columns="14"]{--slots:14}
#marine-board[data-columns="15"]{--slots:15}
#marine-board[data-columns="16"]{--slots:16}
#marine-board[data-columns="17"]{--slots:17}
#marine-board[data-columns="18"]{--slots:18}
#marine-board[data-columns="19"]{--slots:19}
#marine-board[data-columns="20"]{--slots:20}
#marine-board[data-columns="21"]{--slots:21}
#marine-board[data-columns="22"]{--slots:22}
#marine-board[data-columns="23"]{--slots:23}
#marine-board[data-columns="24"]{--slots:24}
#marine-board[data-columns="25"]{--slots:25}
@media(max-width:360px){:root{--label:100px}}

.curve{overflow:hidden}

/*1043 provenance includes a full provider digest without global overflow.*/
#source-dates code{overflow-wrap:anywhere}#current-values p,#daily-values li{overflow-wrap:anywhere}

/*1044: native SVG map. Presentation stays in this stylesheet under strict CSP.*/
.view-tabs{display:flex;gap:5px;margin:12px 0 16px;border-bottom:1px solid #bdd3ce}.view-tabs button{border:0;border-radius:9px 9px 0 0;background:transparent;color:#385b5f;padding:12px 26px;min-height:44px}.view-tabs [aria-selected="true"]{background:#073d48;color:#fff}.map-view{border:1px solid #b5cfca;border-radius:14px;overflow:hidden;background:#fff}.map-toolbar{display:flex;justify-content:space-between;gap:8px;padding:10px;flex-wrap:wrap;background:#f0f7f4}.map-layers,.map-navigation{display:flex;gap:5px}.map-toolbar button{font-size:.78rem;padding:8px 12px;min-height:44px;background:#fff;border:1px solid #a6c6c0;color:#194a52}.map-layers [aria-pressed="true"]{background:#0b6370;color:#fff}.map-stage{height:410px;background:#dce9e6;position:relative}.map-stage svg{display:block;width:100%;height:100%;touch-action:none;cursor:grab;outline-offset:-4px}.map-stage svg:active{cursor:grabbing}.map-point circle{fill:#fff;stroke:#547f85;stroke-width:2}.map-cluster circle{fill:#0b5265;stroke:#fff;stroke-width:3}.map-cluster text{fill:#fff;font-size:13px;font-weight:700;pointer-events:none}.map-point,.map-cluster,.map-selected{cursor:pointer}.map-point:focus circle,.map-cluster:focus circle,.map-selected:focus circle{stroke:#f3bc45;stroke-width:5}.map-selected>circle{stroke:#fff;stroke-width:4}.band-calm>circle{fill:#0c7b87}.band-medium>circle{fill:#b17a16}.band-strong>circle{fill:#a74735}.band-neutral>circle{fill:#647a7d}.map-direction,.map-dot{fill:#fff;stroke:none}.map-value-bg{fill:#fff;stroke:#9bbfba;stroke-width:1}.map-value{fill:#123e48;font-size:12px;font-weight:700}.map-credit{font-size:.68rem;line-height:1.5;margin:0;padding:6px 12px;background:#edf4f0;color:#245360}.map-tile-status{font-size:.73rem;color:#834a21;margin:0;padding:0 12px}.map-tile-status:not(:empty){padding:8px 12px;background:#fff3d5}.map-legend{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:.69rem;padding:10px 14px 0;color:#254e57}.map-legend strong{margin-right:8px}.legend-swatch{width:9px;height:9px;border-radius:50%;display:inline-block;margin-left:6px}.legend-swatch.calm{background:#0c7b87}.legend-swatch.medium{background:#b17a16}.legend-swatch.strong{background:#a74735}.legend-swatch.neutral{background:#647a7d}.map-vector-label{font-size:.68rem;color:#526e73;margin:5px 14px 10px}.map-detail{padding:16px 18px 10px;border-top:1px solid #ccddd7;overflow:visible}.map-detail-heading{display:flex;gap:8px;justify-content:space-between;align-items:center}.map-detail h3{font-size:1.1rem;margin:0}.map-detail-heading p{font-size:.75rem;margin:5px 0 0;color:#48666c}.map-hour-label{font-size:.72rem;color:#385e65;display:flex;align-items:center;gap:7px;flex-shrink:0}.map-hour-label select{font-size:.76rem;max-width:155px;min-height:44px;padding:5px;border:1px solid #91b4ad;border-radius:7px;background:#fff;color:#123e48}.map-values{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:17px 0}.map-values span{display:block;font-size:.65rem;color:#507078}.map-values strong{display:block;font-size:1.2rem;margin-top:3px}.map-values small{font-weight:400;font-size:.72rem}.map-tide-heading{display:flex;justify-content:space-between;gap:12px;font-size:.75rem;color:#446a70}.map-tide-heading strong{white-space:nowrap;color:#074e5a}.map-curve{display:block;width:100%;height:120px;background:#f3faf7;border-radius:8px;margin-top:7px;overflow:hidden}.map-curve text{font-size:11px;fill:#486d73}.map-curve .axis{stroke:#84aaa7;stroke-dasharray:3 4}.map-curve .tide-line{stroke:#0a7981;stroke-width:2;fill:none}.map-curve .guide{stroke:#9b782b;stroke-dasharray:3 3}.map-curve .chosen{fill:#b5862d;stroke:#fff;stroke-width:1.5}.map-curve-empty{font-size:.75rem;color:#657a7c;padding:20px 0}.map-detail #map-data-note,.map-caution{font-size:.7rem;line-height:1.5;margin:8px 0;color:#526b70}.map-list{padding:10px 18px;border-top:1px solid #d3e0dc;font-size:.75rem}.map-list summary{min-height:40px;cursor:pointer;padding:9px 0}.map-list p{line-height:1.6}.map-list ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:5px}.map-list button{width:100%;text-align:left;background:#edf5f1;color:#194a52;border:1px solid #a9c9bf;font-size:.72rem;padding:9px;min-height:44px}.map-view [aria-busy="true"] #map-tide-value{color:#617875}
body[data-view="map"] .summary,body[data-view="map"] .data-scroll{display:none}body[data-view="map"] .intro{padding-top:18px}body[data-view="map"] .intro h1{font-size:1.65rem;margin:0}body[data-view="map"] .intro .eyebrow,body[data-view="map"] .intro-copy{display:none}body[data-view="map"] .outlook{padding-top:9px}body[data-view="map"] .hour-header{border-radius:8px}body[data-view="map"] .marine-board{border-radius:8px;margin-top:8px}body[data-view="map"] .tide-context{margin:14px 0}body[data-view="map"] .timeline-help{margin-bottom:7px}
@media(max-width:650px){.map-stage{height:285px}.map-toolbar{padding:7px;gap:7px}.map-toolbar button{font-size:.68rem;padding:7px 9px}.map-toolbar .map-layers{flex:1}.map-layers button{flex:1}.map-navigation{justify-content:flex-end;flex:1}.map-detail{padding:12px 11px 7px}.map-detail h3{font-size:.94rem}.map-detail-heading{align-items:flex-start}.map-detail-heading p{font-size:.66rem}.map-hour-label{display:block;font-size:.65rem}.map-hour-label select{display:block;max-width:116px;font-size:.68rem}.map-values{gap:7px;margin:13px 0}.map-values strong{font-size:1rem}.map-values span{font-size:.61rem}.map-values small{font-size:.62rem}.map-tide-heading{font-size:.65rem}.map-legend{padding:8px 10px 0;font-size:.62rem;gap:4px}.map-legend strong{flex-basis:100%;margin-bottom:2px}.map-vector-label{font-size:.61rem;margin:5px 10px 8px}.map-credit{font-size:.61rem;padding:6px 9px}.map-detail #map-data-note,.map-caution{font-size:.63rem}.view-tabs button{padding:10px 22px}body[data-view="map"] .intro h1{font-size:1.3rem}}

.map-proof{margin:0;padding:9px 12px;background:#fff0cd;color:#75430c;font-size:.72rem;line-height:1.5;border-bottom:1px solid #dbc896}body[data-view="map"] #local-note{display:none}

/* The map owns the shared hour through its dropdown; table controls stay in Tabla. */
body[data-view="map"] .timeline-heading,body[data-view="map"] .timeline-help,body[data-view="map"] .marine-board,body[data-view="map"] .capabilities{display:none}

/* Complete weather view1238. Applies only to Tiempo. */
:root{--label:116px;--hour:64;--ink:#123f49;--muted:#526b70;background:#f3f7f5}
.weather-page .official-header{min-height:62px;padding-block:8px}
.weather-page .brand-frame{width:160px;height:42px;max-width:160px}
.weather-page .official-header .brand-frame img{object-fit:contain;max-height:42px}
.weather-page .wrap{width:min(1376px,94%)}
.query-top{display:grid;grid-template-columns:1fr minmax(300px,440px);align-items:center;gap:24px;margin:25px 0 10px}
.query-place .eyebrow{margin:0 0 5px;font-size:.66rem;letter-spacing:.16em}
.query-place h1{font-family:Georgia,serif;font-size:2.35rem;font-weight:500;line-height:1.1;margin:0;letter-spacing:-.025em}
#place-context{font-size:.78rem;color:var(--muted);margin:6px 0 0}
.place-selector{padding:0;border:0;position:relative}
.place-search-line{display:flex;gap:8px}.place-search-line input{width:100%;min-width:0;padding:12px;border:1px solid #b4cbc7;border-radius:10px;background:white}
.place-search-line button{border:0;border-radius:10px;padding:12px 20px;background:#08646a;color:white}
#location-message:empty{display:none}#location-message{font-size:.76rem;margin:8px 0;color:var(--muted)}
#search-results{padding:0;margin:8px 0;list-style:none;background:white;border-radius:12px;box-shadow:0 8px 22px #103e4a12;max-height:260px;overflow:auto}
#search-results:empty{display:none}#search-results button{width:100%;text-align:left;border:0;border-bottom:1px solid #e2ede8;background:white;padding:11px 13px}
#search-results button strong,#search-results button span{display:block}#search-results span{font-size:.72rem;color:var(--muted);margin-top:4px}
.outlook{padding-top:0;border-top:0}#data-status{margin:0 0 12px;min-height:26px;display:flex;align-items:center;gap:10px;justify-content:space-between;font-size:.73rem;color:var(--muted)}
#data-status[data-state=error]{color:#9a491e}#refresh{border:0;background:transparent;text-decoration:underline;padding:5px;color:#08646a;font-size:.73rem}
.weather-summary{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;margin-bottom:16px}
.weather-summary article{background:white;border:1px solid #dce8e3;border-radius:17px;min-height:122px;padding:18px 22px;display:flex;flex-direction:column;gap:7px;justify-content:center}
.weather-summary article>span{font-size:.78rem;color:var(--muted)}.weather-summary strong{font-size:2rem;line-height:1.1;font-weight:600}.weather-summary strong small{font-size:.85rem;font-weight:500}.weather-summary small{font-size:.74rem;color:var(--muted)}
.weather-summary .hero-sky{flex-direction:row;align-items:center;justify-content:flex-start;background:#e7f3ed;gap:18px}.hero-sky>div{display:flex;flex-direction:column;gap:5px}.hero-sky .hero-icon .sky-icon{width:58px;height:58px}.hero-sky div>span{font-size:.86rem}.hero-sky strong{font-size:2.8rem}
.weather-summary .hero-sea.partial strong{font-size:1rem}.skeleton-block{height:122px;background:#e2ece7;border-radius:17px}
.forecast-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 14px}.periods{display:flex;padding:4px;border-radius:12px;background:#e0ebe5;gap:3px}.periods button{border:0;border-radius:9px;background:transparent;padding:11px 25px;font-size:.88rem;color:var(--ink)}
.periods button[aria-pressed=true],.periods #view-map[aria-selected=true]{color:white;background:#08646a}.data-credit{font-size:.69rem;color:var(--muted)}.back-table{font-size:.73rem;border:0;background:transparent;text-decoration:underline;padding:5px}
.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:0 0 15px;overflow-x:auto;padding:2px 2px 8px}
.days .day-card{background:white;color:var(--ink);border:1px solid #d4e5dd;border-radius:12px;text-align:left;min-width:0;padding:12px 10px;display:flex;flex-direction:column;gap:5px;font-size:.7rem}
.days .day-card[aria-pressed=true]{background:#e1f0e7;border-color:#0c7777;box-shadow:0 0 0 1px #0c7777}.day-card>strong{font-size:.76rem;text-transform:capitalize}.day-card .day-sky{display:flex;align-items:center;gap:6px;min-height:31px}.day-sky .sky-icon{width:26px;height:26px}.day-sky b{font-size:1.25rem}.day-sky small{font-size:.78rem;color:var(--muted)}.day-card>small{font-size:.65rem}
.timeline-heading{margin:12px 0 6px;gap:12px}.timeline-heading h2{font-size:1rem;text-transform:capitalize;margin:0}.timeline-heading p{font-size:.74rem;margin:4px 0 0}.hour-actions button{padding:8px 11px;border-radius:8px;font-size:.76rem}.timeline-help{font-size:.69rem;margin:5px 0 10px;color:var(--muted)}.capabilities:empty{display:none}
.marine-board{background:#0b3f49;border-radius:13px;overflow:hidden;border:1px solid #d4e5dd}.hour-label{padding:10px 8px;font-size:.75rem}.hour-label small{font-size:.64rem}.hour-buttons button{font-size:.78rem;min-height:46px;padding:8px 2px}.hour-buttons button small{font-size:.6rem}
#matrix{font-size:.78rem}#matrix th{font-size:.73rem;padding:8px}#matrix td{height:38px;padding:8px 2px}#matrix .group th{font-size:.63rem;letter-spacing:.07em;padding:8px}#matrix .group td{height:25px}.sky-icon{width:24px;height:24px;vertical-align:middle}.metric-band{display:inline-block;min-width:32px;border-radius:5px;padding:2px 4px}
.days .day-card>span{font-size:.72rem}.days .day-card .day-sky{font-size:.8rem}.days .day-card>small{font-size:.65rem}
.day-summary-note{font-size:.68rem;line-height:1.5;color:var(--muted);margin:8px 0}.map-detail .tide-events{margin:12px 0}.map-detail .tide-events>div{padding:9px}.map-detail .tide-events strong{font-size:.8rem}
.metric-band.low,.band-text.low{color:#286249;background:#e4f2e7}.metric-band.medium,.band-text.medium{color:#796118;background:#f7edcb}.metric-band.high,.band-text.high{color:#9c511d;background:#fbe3cf}.metric-band.very-high,.band-text.very-high{color:#943a3a;background:#f8dede}.band-text{border-radius:4px;padding:1px 3px}.band-text.unknown{color:var(--muted)}
.intensity-key{font-size:.68rem;color:var(--muted);margin:12px 0 24px}.intensity-key p{margin:8px 0}.intensity-key div{display:flex;gap:7px;flex-wrap:wrap}.intensity-key summary{cursor:pointer}
.tide-card{background:white;border:1px solid #d4e5dd;border-radius:16px;padding:20px;margin:24px 0}.tide-card-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.tide-card .eyebrow{margin:0 0 5px;font-size:.63rem}.tide-card h2{font-size:1.2rem;font-weight:600;margin:0}.tide-card #tide-coverage{font-size:.74rem;color:var(--muted);margin:7px 0}.tide-current{display:flex;flex-direction:column;text-align:right;gap:4px}.tide-current strong{font-size:1.7rem;font-weight:500}.tide-current small{font-size:.74rem}.day-tide-curve{display:block;width:100%;height:135px;background:#f2f8f5;border-radius:11px;margin:12px 0}.day-tide-curve .tide-line{fill:none;stroke:#0c7777;stroke-width:2}.day-tide-curve .axis{stroke:#aac5bd;stroke-dasharray:4 5}.day-tide-curve text{font-size:11px;fill:#526b70}.day-tide-curve .guide{stroke:#b38a4d;stroke-dasharray:3 4}.day-tide-curve .chosen{fill:#b38a4d}
.query-top .place-selector{padding:0;margin:0}#data-status{padding:4px 0}
body.weather-page .header.official-header{min-height:74px;padding-block:10px}body.weather-page .official-header .brand{width:190px}body.weather-page .official-header .brand-frame{width:100%;height:auto;max-width:none}body.weather-page .official-header .brand-frame img{max-height:none}
.tide-events{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tide-events>div{padding:12px 15px;border:1px solid #dfeae4;border-radius:10px;display:flex;flex-direction:column;gap:5px}.tide-events span{font-size:.74rem;color:var(--muted)}.tide-events strong{font-size:.94rem}.tide-events small{font-size:.71rem}.tide-card .reference-selector{font-size:.7rem;margin:15px 0 0}.tide-caution,.source-credit{font-size:.69rem;line-height:1.6;color:var(--muted)}.source-credit{margin:20px 0 5px}.final-caution{margin:5px 0 15px}.fixture-info{font-size:.75rem;line-height:1.6;margin:15px 0 30px}.fixture-info summary{cursor:pointer}
.map-view{margin-bottom:14px;border-radius:15px}.map-proof{font-size:.71rem;padding:9px 12px;background:#e5f1eb;color:#285b53}.map-toolbar{padding:10px}.map-layers button,.map-navigation button{border-radius:7px;font-size:.76rem;padding:9px 13px}.map-legend{font-size:.69rem}.map-detail h3{font-size:1.05rem}.map-detail-heading p{font-size:.73rem}.map-values{grid-template-columns:repeat(3,1fr);margin:12px 0;gap:10px}.map-values strong{font-size:1.12rem}.map-values span{font-size:.7rem}.map-detail #map-data-note{font-size:.7rem}.map-point-list{max-height:230px;overflow:auto}.map-caution{font-size:.67rem}
body[data-view=map] .table-view,body[data-view=map] .weather-summary{display:none!important}body[data-view=table] .back-table{display:none}.weather-page footer{padding:20px 0;font-size:.75rem}
@media(max-width:700px){
 .weather-page .official-header{min-height:56px;padding-block:6px}.weather-page .brand-frame{width:133px;height:36px;max-width:133px}.weather-page .official-header .brand-frame img{max-height:36px}
 .query-top{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin:18px 0 8px}.query-place h1{font-size:1.85rem}.query-place .eyebrow{font-size:.6rem;margin-bottom:4px}#place-context{font-size:.71rem;margin-top:5px}.place-search-line input{padding:10px;font-size:.85rem}.place-search-line button{padding:10px 15px;font-size:.82rem}
 #data-status{font-size:.67rem;margin:5px 0 9px;min-height:24px}#refresh{font-size:.67rem}.weather-summary{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.weather-summary article{min-height:90px;padding:12px 13px;border-radius:13px;gap:6px}.weather-summary .hero-sky{grid-column:1/-1;min-height:82px;gap:14px;justify-content:flex-start;padding:11px 16px}.hero-sky .hero-icon .sky-icon{width:44px;height:44px}.hero-sky strong{font-size:2.3rem}.weather-summary strong{font-size:1.6rem}.weather-summary article>span{font-size:.7rem}.weather-summary small{font-size:.66rem}.hero-sky div>span{font-size:.8rem}.skeleton-block{height:85px}.skeleton-block:first-child{grid-column:1/-1}
 .forecast-controls{gap:6px;flex-wrap:wrap;margin:9px 0 12px}.periods{flex:1;justify-content:space-between}.periods button{padding:9px 15px;font-size:.83rem;flex:1}.data-credit{font-size:.61rem;flex-basis:100%;text-align:right}.back-table{font-size:.67rem}
 .days{grid-template-columns:repeat(7,132px);gap:7px;scroll-snap-type:x mandatory;margin:0 0 10px;padding-bottom:8px}.days .day-card{scroll-snap-align:start;padding:11px;font-size:.67rem}.day-card>strong{font-size:.72rem}.day-sky b{font-size:1.15rem}
 .timeline-heading{margin:8px 0}.timeline-heading h2{font-size:.9rem}.hour-actions{gap:4px}.hour-actions button{font-size:.7rem;padding:7px 9px}.timeline-help{font-size:.63rem;margin-bottom:8px}#matrix{font-size:.72rem}#matrix th{font-size:.66rem}.hour-buttons button{font-size:.72rem}.hour-label{font-size:.67rem}.hour-label small{font-size:.58rem}
 .tide-card{padding:14px;margin:18px 0;border-radius:13px}.tide-card h2{font-size:1.05rem}.tide-card #tide-coverage{font-size:.66rem}.tide-current strong{font-size:1.35rem}.day-tide-curve{height:120px}.tide-events{gap:7px}.tide-events>div{padding:10px;gap:4px}.tide-events strong{font-size:.79rem;line-height:1.5}.tide-events span,.tide-events small{font-size:.66rem}
 .map-toolbar{gap:7px;flex-wrap:wrap;padding:8px}.map-layers{display:flex;flex:1;width:100%;gap:4px}.map-layers button{flex:1;font-size:.7rem;padding:8px}.map-navigation{display:flex;justify-content:flex-end;width:100%;gap:4px}.map-navigation button{font-size:.67rem;padding:7px 10px}.map-proof{font-size:.65rem;padding:8px 10px}.map-values{grid-template-columns:repeat(3,1fr);gap:9px}.map-values strong{font-size:1.1rem}.map-values span{font-size:.63rem}.map-detail h3{font-size:1rem}.map-selected-date{font-size:.67rem}.map-detail-heading{gap:8px}.map-legend{font-size:.61rem}.map-tide-heading{font-size:.65rem}
 .source-credit,.tide-caution{font-size:.64rem}.fixture-info{font-size:.69rem}#reference-form{display:flex;flex-wrap:wrap;gap:6px}#reference-form select{max-width:100%}.weather-page footer{font-size:.68rem}
}
