:root{color:#203e49;font-synthesis:none;--paper:#f4f1e8;--ink:#203e49;--muted:#63716c;--brass:#88632f;--ocean:#356777;--rule:#d7d8cb;--serif:Georgia, "Times New Roman", serif;background:#f4f1e8;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400}*{box-sizing:border-box}body{min-width:375px;margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{opacity:.3;cursor:default}button,a,input{touch-action:manipulation}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--brass);outline-offset:4px}button{transition:background-color .18s,color .18s}button:hover{color:var(--brass)}button:disabled:hover{color:inherit}::selection{color:#203e49;background:#dac895}input{caret-color:var(--brass);accent-color:var(--ocean)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{border:2px solid var(--paper);background:#b9c2b5;border-radius:8px}svg{vertical-align:middle;flex-shrink:0}p{line-height:1.6}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{letter-spacing:-.035em;font-size:52px;line-height:1.1}h2{letter-spacing:-.025em;font-size:25px}h3{font-size:23px}button{min-height:44px}.app-shell{max-width:1256px;margin:0 auto;padding:0 46px}.masthead{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;height:114px;display:flex}.brand{align-items:center;gap:12px;text-decoration:none;display:flex}.brand>div{flex-direction:column;gap:5px;display:flex}.brand-name{font-family:var(--serif);letter-spacing:-.035em;font-size:29px;line-height:1}.brand-note{color:var(--muted);letter-spacing:.055em;font-size:10px}nav{align-items:center;gap:27px;display:flex}.nav-button{align-items:center;gap:8px;padding:0 2px;font-size:12px;display:flex}.help-button{border-left:1px solid var(--rule);justify-content:center;align-items:center;width:44px;padding-left:20px;display:flex}.count{background:#e6e7da;border-radius:50%;place-items:center;min-width:20px;height:20px;font-size:10px;display:grid}.station-heading{justify-content:space-between;align-items:center;padding:37px 0 29px;display:flex}.coast-label{color:#596c6c;align-items:center;gap:7px;margin-bottom:12px;font-size:11px;display:flex}.separator{color:#68695f;margin:0 4px}.station-title-row{align-items:center;gap:15px;display:flex}.favorite-button{color:#636c63;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.favorite-button:hover{background:#e9e7da}.favorite-button.is-favorite{color:var(--brass)}.favorite-button.is-favorite svg{fill:#d9c396}.coordinates{letter-spacing:.12em;color:#5d6d64;font-variant-numeric:tabular-nums;margin-top:10px;font-size:9px}.harbor-controls{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.change-harbor{align-items:center;gap:18px;padding:0 0 0 15px;font-size:11px;display:flex}.station-pagination{font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:11px;display:flex}.icon-button{border-radius:50%;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.icon-button:hover{background:#e9e7da}.muted{color:#616d64}.water-overview{border:1px solid #ced6c9;border-radius:4px;grid-template-columns:minmax(0,1.95fr) minmax(285px,1fr);display:grid;overflow:hidden}.scene{isolation:isolate;background:#dfe8df;flex-direction:column;justify-content:center;min-width:0;display:flex;position:relative}.scene-top{z-index:1;justify-content:space-between;align-items:center;display:flex;position:absolute;top:15px;left:20px;right:18px}.scene-time{color:#3f625e;font-variant-numeric:tabular-nums;background:#edf0e6;border-radius:2px;align-items:center;gap:7px;padding:5px 7px;font-size:10px;display:flex}.live-dot{background:#416e5f;border-radius:50%;width:5px;height:5px;display:inline-block}.preview-dot{background:var(--brass)}.moon-trigger{align-items:center;gap:7px;min-height:38px;font-size:10px;display:flex}.moon-trigger>svg:first-child{filter:drop-shadow(0 2px 3px #87978e20)}.pier-art{object-fit:cover;flex:1;width:100%;height:auto;min-height:320px;display:block}.scene-bottom{color:#e0e8dc;letter-spacing:.025em;justify-content:space-between;align-items:center;font-size:10px;display:flex;position:absolute;bottom:17px;left:21px;right:22px}.swipe-hint{color:#d1ded3;align-items:center;gap:7px;font-size:9px;display:flex}.tide-reading{background:#efeee4;padding:27px 28px 20px}.reading-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.tide-state{letter-spacing:.025em;color:#42665f;align-items:center;gap:7px;font-size:11px;display:flex}.units{border:1px solid #cfd3c4;border-radius:4px;padding:2px;display:flex}.units button{color:#5c6d63;border-radius:2px;min-width:31px;min-height:26px;padding:0 6px;font-size:10px}.units button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.height-reading{font-family:var(--serif);font-variant-numeric:lining-nums tabular-nums;align-items:baseline;gap:11px;margin-top:17px;line-height:1;display:flex}.height-reading>span:first-child{letter-spacing:-.045em;font-size:74px}.height-unit{color:#5a6c67;font-size:26px}.datum-label{color:#5d6d64;margin-top:9px;font-size:10px}.next-tides{margin-top:21px}.next-tide{border-top:1px solid #d1d5c7;align-items:center;gap:10px;padding:15px 0 10px;display:flex}.next-tide+.next-tide{padding-top:13px}.event-symbol{color:#4f716a;place-items:center;width:29px;height:35px;display:grid}.next-tide>div:nth-child(2){flex-direction:column;gap:5px;display:flex}.event-name{font-size:11px}.event-detail{color:#5e6e63;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:10px}.event-detail>span{color:#686e60;margin:0 4px}.event-countdown{white-space:nowrap;font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-end;gap:5px;margin-left:auto;font-size:12px;display:flex}.event-countdown strong{font-weight:500}.in-label{color:#617065;font-size:9px}.chart-section{padding-top:33px;scroll-margin-top:15px}.chart-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.chart-title{align-items:baseline;gap:18px;display:flex}.chart-title h2{font-size:25px}.chart-title>span{color:#5d6e63;font-size:10px}.date-controls{align-items:center;gap:1px;display:flex}.day-tabs{border:1px solid #d5d7ca;border-radius:4px;gap:3px;margin-right:9px;padding:3px;display:flex}.day-tabs button{border-radius:2px;min-height:28px;padding:4px 12px;font-size:10px}.day-tabs button[aria-pressed=true]{color:var(--ink);background:#e3e6da}.date-controls>.icon-button{min-width:31px;min-height:36px}.chart-toolbar{color:#5d6f65;justify-content:space-between;align-items:center;min-height:24px;margin:21px 0 0;padding:0 3px;font-size:10px;display:flex}.chart-toolbar>span{align-items:center;gap:7px;display:flex}.legend-line{background:var(--ocean);width:17px;height:2px;display:inline-block}.selected-time{color:#86602c;font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:flex}.brass-dot{background:var(--brass);border-radius:50%;width:5px;height:5px}.selected-time button{text-underline-offset:3px;min-height:24px;padding:0 0 0 8px;font-size:10px;text-decoration:underline}.chart-interaction{border-radius:4px;width:100%;position:relative}.tide-chart{width:100%;display:block;overflow:visible}.chart-grid{fill:none;stroke:#d9ddd0;stroke-width:.7px}.chart-grid-vertical{stroke-dasharray:2 5;stroke:#d2d8ca}.chart-tick{fill:#67796e;font-variant-numeric:tabular-nums;font-family:inherit;font-size:10px}.chart-event{fill:#56756d;font-family:inherit;font-size:9px}.chart-scrubber{opacity:0;cursor:crosshair;touch-action:pan-y;width:auto;height:calc(100% - 48px);margin:0;position:absolute;top:12px;bottom:36px}.chart-interaction:focus-within{outline:2px solid var(--brass);outline-offset:5px}.chart-caption{color:#637063;border-bottom:1px solid var(--rule);justify-content:space-between;gap:20px;margin-top:2px;padding:0 3px 23px;font-size:9px;display:flex}.chart-caption>span:first-child{align-items:center;gap:6px;display:flex}.insights{grid-template-columns:1.1fr 1fr;margin-top:29px;margin-bottom:28px;display:grid}.tidepool-section{border-right:1px solid var(--rule);padding-right:33px}.moon-section{padding-left:35px}.insight-heading{justify-content:space-between;align-items:center;min-height:32px;display:flex}.insight-heading h2{align-items:center;gap:10px;font-size:24px;display:flex}.insight-heading h2 svg{color:var(--brass)}.small-label{color:#5d6c61;white-space:nowrap;font-size:9px}.insight-description{color:#606e62;margin-top:8px;font-size:11px}.window-list{margin-top:21px}.window-row{align-items:center;gap:17px;padding:3px 0 13px;display:flex}.window-row+.window-row{border-top:1px solid var(--rule);padding-top:14px}.window-date{flex-direction:column;gap:7px;display:flex}.window-date strong{font-size:12px;font-weight:500}.window-date>span{color:#5c6e62;font-variant-numeric:tabular-nums;font-size:11px}.low-badge{border-left:1px solid #d1d6c7;flex-direction:column;gap:5px;padding-left:17px;display:flex}.low-badge>span:first-child{font-family:var(--serif);white-space:nowrap;font-size:22px}.low-badge>span:last-child{color:#5b6d61;white-space:nowrap;font-size:9px}.window-open{letter-spacing:.025em;color:#496a54;background:#e1e8d8;border-radius:3px;margin-left:auto;padding:6px 8px;font-size:8px}.text-button{color:#526d5f;text-underline-offset:4px;align-items:center;gap:9px;min-height:35px;padding:0;font-size:10px;-webkit-text-decoration:underline #9fae97;text-decoration:underline #9fae97;display:flex}.threshold-note{color:#606c5c;margin-top:5px;font-size:9px;line-height:1.6}.no-windows{background:#e9ebdf;max-width:55ch;margin-top:16px;padding:15px;font-size:12px;line-height:1.7}.moon-summary{text-align:left;align-items:center;gap:17px;max-width:100%;margin-top:12px;padding:0;display:flex}.moon-summary>span{flex-direction:column;gap:7px;display:flex}.moon-summary strong{font-size:12px;font-weight:500}.moon-summary>span>span{color:#5f7064;font-size:10px;line-height:1.6}.moon-copy{color:#5c6d60;max-width:55ch;margin-top:12px;font-size:11px;line-height:1.8}.moon-section>.text-button{margin-top:8px}.model-note{color:#636d60;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);justify-content:center;align-items:center;gap:9px;padding:15px 20px;font-size:9px;line-height:1.7;display:flex}.model-note svg{color:#626c58}footer{color:#676e60;justify-content:space-between;align-items:center;min-height:79px;font-size:9px;display:flex}footer>span{align-items:center;gap:7px;display:flex}footer>button{color:#576e5f;align-items:center;gap:8px;font-size:9px;display:flex}.water-drift{animation:7s ease-in-out infinite alternate drift}@keyframes drift{to{transform:translate(18px)}}.skip-link{background:var(--ink);color:#fff;z-index:10;padding:12px;position:absolute;top:-100px;left:16px}.skip-link:focus{top:16px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sheet{background:var(--paper);color:var(--ink);border:1px solid #c5cbb9;border-radius:8px;width:min(600px,100% - 32px);max-height:85dvh;padding:0;box-shadow:0 20px 80px #1a333436}.sheet::backdrop{background:#1b383d68}.sheet-head{border-bottom:1px solid var(--rule);background:var(--paper);z-index:2;justify-content:space-between;align-items:center;padding:18px 24px;display:flex;position:sticky;top:0}.sheet-head h2{font-size:28px}.sheet-content{padding:22px 26px 30px}.sheet-intro{color:#5d6f61;margin-bottom:20px;font-size:12px}.search-input{background:#f8f6ef;border:1px solid #aebbaa;border-radius:4px;align-items:center;gap:10px;padding:0 12px;display:flex}.search-input:focus-within{outline:2px solid var(--brass);outline-offset:3px}.search-input input{width:100%;min-height:48px;color:var(--ink);background:0 0;border:0;outline:0;font-size:13px}.search-input input::placeholder{color:#5c6d5f}.directory-toolbar{color:#5b7162;justify-content:space-between;align-items:center;min-height:55px;font-size:11px;display:flex}.directory-toolbar label{cursor:pointer;align-items:center;gap:5px;min-height:44px;display:flex}.directory-toolbar input{width:17px;height:17px}.station-option{border-bottom:1px solid #dce0d2;align-items:center;display:flex}.station-option.selected{background:#e6ebdd}.station-select{text-align:left;flex:1;justify-content:space-between;align-items:center;gap:10px;min-height:66px;padding:12px 10px;display:flex}.station-select>span{flex-direction:column;gap:6px;display:flex}.station-select strong{font-size:13px;font-weight:500}.station-select>span>span{color:#5f7165;font-size:10px}.station-option>.favorite-button{margin:0 5px}.empty-state{text-align:center;padding:32px 12px 16px}.empty-state h3{margin:13px 0 10px}.empty-state p{color:#5f6f61;font-size:13px}.primary-button{background:var(--ink);color:var(--paper);border-radius:4px;margin-top:22px;padding:12px 18px;font-size:12px}.primary-button:hover{color:#fff;background:#356777}.about-copy{flex-direction:column;gap:20px;font-size:14px;display:flex}.moon-detail{align-items:center;gap:22px;padding:2px 0 24px;display:flex}.moon-detail h3{font-size:26px}.moon-detail p{color:#5c6d5d;margin-top:10px;font-size:11px}.moon-explainer>p{font-size:13px;line-height:1.9}.moon-comparison{grid-template-columns:1fr 1fr;gap:26px;margin:28px 0 20px;display:grid}.moon-comparison h3{margin-bottom:10px;font-size:23px}.moon-comparison p{color:#5c7262;font-size:12px;line-height:1.85}.alignment-diagram,.neap-diagram{justify-content:center;align-items:center;gap:0;height:80px;display:flex;position:relative}.sun-disc,.earth-disc,.moon-disc{border-radius:50%;flex-shrink:0;display:inline-block}.sun-disc{background:#ccab60;width:22px;height:22px}.earth-disc{background:#527e87;width:17px;height:17px}.moon-disc{background:#9eab97;width:11px;height:11px}.alignment-line{border-top:1px dashed #a9b3a0;width:35px;height:1px}.neap-diagram{padding-right:11px}.neap-diagram>.moon-disc{position:absolute;top:0;left:calc(50% + 22px)}.neap-diagram:before{content:"";border-left:1px dashed #a9b3a0;height:19px;position:absolute;top:15px;left:calc(50% + 27px)}.explainer-note{color:#62705f;border-top:1px solid var(--rule);padding-top:18px;font-size:11px!important}@media (width>=1400px){.app-shell{padding:0 46px}.masthead{height:124px}.station-heading{padding-top:41px;padding-bottom:33px}.pier-art{min-height:338px}.tide-reading{padding:30px 31px 23px}.next-tide{padding:19px 0 12px}.chart-section{padding-top:37px}.insights{margin-top:32px;margin-bottom:33px}}@media (width<=1000px){.app-shell{padding:0 28px}.water-overview{grid-template-columns:minmax(0,1.6fr) minmax(265px,1fr)}.tide-reading{padding:22px 21px 15px}.pier-art{object-fit:cover;min-height:317px}.scene-top{left:14px;right:12px}.scene-bottom{font-size:9px;left:16px;right:16px}.swipe-hint{display:none}.chart-title{gap:10px}.chart-title h2{font-size:23px}.chart-title>span{font-size:9px}.window-open{display:none}.tidepool-section{padding-right:25px}.moon-section{padding-left:25px}.moon-summary{gap:12px}.model-note{font-size:9px}}@media (width<=760px){.app-shell{padding:0 22px}.masthead{height:94px}.brand-name{font-size:26px}.brand-note{font-size:8px}.brand{gap:8px}.brand>svg{width:39px;height:39px}nav{gap:12px}.nav-button{gap:6px;font-size:11px}.nav-button:first-child{display:none}.help-button{width:34px;padding-left:10px}.station-heading{padding:27px 0 23px}h1{font-size:42px}.coast-label{flex-wrap:wrap;gap:5px;font-size:9px}.coordinates{font-size:8px}.harbor-controls{gap:7px}.change-harbor{gap:6px;font-size:10px}.station-pagination{gap:0;font-size:10px}.station-pagination .icon-button{min-width:35px;min-height:35px}.station-title-row{gap:7px}.station-title-row .favorite-button{width:36px}.water-overview{grid-template-columns:1fr}.pier-art{width:100%;min-height:0;max-height:330px}.scene{min-height:255px}.scene-top{top:12px;left:17px;right:15px}.scene-bottom{font-size:10px}.tide-reading{grid-template-columns:1fr 1.65fr;column-gap:22px;padding:22px 22px 19px;display:grid}.reading-header{grid-area:1/1;align-self:start}.tide-state{white-space:nowrap;font-size:10px}.reading-header .units{margin-top:-3px;position:absolute;right:43px}.height-reading{grid-area:2/1;gap:7px;margin-top:12px}.height-reading>span:first-child{font-size:61px}.height-unit{font-size:23px}.datum-label{grid-area:3/1;max-width:130px;margin-top:7px;font-size:9px;line-height:1.6}.next-tides{grid-area:1/2/4;margin-top:30px}.next-tide{gap:7px;padding:10px 0 9px}.next-tide:first-child{border-top:0;padding-top:0}.next-tide+.next-tide{padding-top:11px}.event-symbol{width:23px}.event-name{font-size:10px}.event-detail{font-size:9px}.event-countdown{font-size:11px}.event-countdown .in-label{font-size:8px}.chart-section{padding-top:28px}.chart-heading{flex-wrap:wrap;gap:13px}.chart-title{justify-content:space-between;width:100%}.chart-title h2{font-size:25px}.chart-title>span{font-size:10px}.date-controls{justify-content:flex-end;width:100%}.day-tabs{margin-right:auto}.day-tabs button{min-height:32px;padding:5px 16px;font-size:11px}.date-controls .icon-button{min-width:40px;min-height:40px}.chart-toolbar{margin-top:15px}.chart-interaction{margin-top:4px}.chart-caption{align-items:flex-start;gap:10px;padding-bottom:23px;font-size:9px;line-height:1.6}.chart-caption>span:first-child{align-items:flex-start;max-width:235px}.chart-caption>span:first-child svg{margin-top:1px}.chart-caption>span:last-child{white-space:nowrap}.insights{grid-template-columns:1fr;gap:25px;margin-top:25px;margin-bottom:23px}.tidepool-section{border-right:0;border-bottom:1px solid var(--rule);padding:0 0 24px}.moon-section{padding:0}.insight-heading h2{font-size:25px}.small-label{font-size:10px}.insight-description{margin-top:8px;font-size:12px}.window-row{gap:25px}.window-open{font-size:9px;display:block}.window-date strong{font-size:13px}.window-date>span{font-size:12px}.low-badge{padding-left:25px}.threshold-note{font-size:10px}.text-button{min-height:40px;font-size:11px}.moon-summary{gap:18px;margin-top:10px}.moon-summary strong{font-size:14px}.moon-summary>span>span{font-size:11px}.moon-copy{max-width:50ch;margin-top:14px;font-size:12px}.moon-section>.text-button{margin-top:8px}.model-note{align-items:flex-start;gap:8px;padding:15px 0;font-size:9px}.model-note svg{margin-top:2px}footer{min-height:75px;font-size:8px}footer>button{font-size:9px}.sheet-head{padding:15px 18px}.sheet-head h2{font-size:26px}.sheet-content{padding:20px}.moon-comparison{gap:20px}.moon-comparison p{font-size:11px}.moon-detail{gap:16px}.moon-detail h3{font-size:23px}.moon-detail p{font-size:10px}.moon-detail>svg{width:80px;height:80px}}@media (width<=430px){.app-shell{padding:0 19px}.brand-note{letter-spacing:.015em}nav{gap:8px}.nav-button{font-size:10px}.nav-button svg{width:17px}.help-button svg{width:18px}.coast-label>.separator,.coast-label>.separator+span{display:none}.station-heading{align-items:center}h1{font-size:40px}.station-title-row{gap:1px}.station-title-row .favorite-button{width:36px}.harbor-controls{padding-top:11px}.change-harbor{gap:5px;font-size:9px}.coordinates{letter-spacing:.08em}.scene{min-height:234px}.scene-top{top:10px;left:12px;right:10px}.scene-time{font-size:9px}.moon-trigger{gap:4px;font-size:9px}.moon-trigger>svg:first-child{width:30px}.scene-bottom{font-size:9px;bottom:14px}.tide-reading{grid-template-columns:1fr 1.7fr;column-gap:13px;padding:20px 16px 17px}.reading-header .units{right:35px}.height-reading>span:first-child{font-size:58px}.height-unit{font-size:21px}.height-reading{gap:5px}.datum-label{font-size:8px}.next-tides{margin-top:30px}.next-tide{gap:4px}.event-symbol{width:21px}.event-symbol svg{width:17px}.event-detail{font-size:8px}.event-detail>span{margin:0 2px}.event-name{font-size:9px}.event-countdown{font-size:10px}.next-tide>div:nth-child(2){gap:6px}.chart-title h2{font-size:23px}.chart-title>span{font-size:9px}.chart-caption{font-size:8px}.chart-caption>span:first-child{max-width:220px}.insight-heading h2{font-size:24px}.window-row{gap:16px}.low-badge{padding-left:16px}.window-open{padding:5px 6px;font-size:8px}.window-date>span,.moon-summary>span>span{font-size:10px}.threshold-note{font-size:9px}.model-note{font-size:8px}footer>span{gap:5px;font-size:8px}footer>span>svg{width:14px}.sheet{max-height:90dvh}.about-copy{font-size:13px}.moon-detail{gap:12px}.moon-detail h3{font-size:22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.moon-trigger,.day-tabs button,.date-controls>.icon-button,.station-pagination .icon-button,.text-button,.selected-time button{min-height:44px}.units button{min-width:44px;min-height:44px}.date-controls>.icon-button,.station-pagination .icon-button{min-width:44px}.chart-event{fill:#4e695e;font-size:10px}.chart-tick{fill:#576b5d;font-size:11px}.chart-title>span,.chart-toolbar,.scene-time{font-size:11px}.nav-button,.event-name{font-size:12px}.event-detail,.datum-label{font-size:11px}.insight-description,.moon-copy{font-size:12px}.threshold-note,.model-note,footer,footer>button{font-size:10px}.chart-toolbar{min-height:44px;margin-top:10px}@media (width<=760px){.reading-header .units{margin-top:-10px}.tide-reading{padding-top:27px}.event-name{font-size:11px}.event-detail,.datum-label,.chart-title>span{font-size:10px}.chart-toolbar{margin-top:7px}.chart-heading{gap:10px}.scene-time{font-size:10px}.chart-caption,footer{font-size:9px}footer>button{font-size:10px}}@media (width<=430px){.nav-button,.event-name{font-size:10px}.event-detail,.datum-label{font-size:9px}.station-title-wrap,.station-title-row h1{min-width:0}.harbor-controls{flex-shrink:0}.chart-title>span,.scene-time{font-size:9px}.threshold-note{font-size:10px}.model-note,footer>span{font-size:9px}}
