/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.block{display:block}.grid{display:grid}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--label:#102b3a;--label-secondary:#102b3a9e;--label-tertiary:#102b3a66;--accent:#0878b9;--accent-strong:#056493;--surface:#fbfdfd;--surface-soft:#eef5f6;--separator:#102b3a1a;--motion-press:80ms;--motion-release:.28s;--spring-smooth:linear(0, .004, .014, .031, .053, .08, .111, .144, .178, .214, .248, .315, .375, .428, .476, .556, .622, .673, .711, .774, .82, .854, .879, .919, .946, .965, .978, .992, 1);--spring-snappy:linear(0, .012, .049, .107, .185, .278, .383, .493, .601, .702, .791, .865, .924, .967, .995, 1.013, 1.019, 1.016, 1.009, 1.003, 1)}@supports (color:color(display-p3 0 0 0)){:root{--accent:color(display-p3 .03 .47 .72);--accent-strong:color(display-p3 .02 .37 .55)}}*,:before,:after{box-sizing:border-box;font-optical-sizing:auto}html,body{min-height:100%}body{color:var(--label);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:#e9f0f2;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{color:inherit;-webkit-tap-highlight-color:transparent}.app-stage{background:radial-gradient(circle at 12% 8%,#fffffff5,#0000 30rem),radial-gradient(circle at 90% 95%,#86c7d338,#0000 34rem),linear-gradient(145deg,#f0f5f6 0%,#dbe7ea 100%);place-items:center;min-height:100svh;padding:24px;display:grid;overflow:hidden}.phone{isolation:isolate;background:#eef6f7;border:6px solid #ffffffd1;border-radius:54px;width:min(100%,420px);height:min(880px,100svh - 48px);min-height:700px;position:relative;overflow:clip;box-shadow:0 48px 100px #23455233,0 10px 30px #2345521a,inset 0 0 0 1px #0d354714}.screen-stack{--screen-settle-duration:.47s;width:100%;height:200%;transition:transform var(--screen-settle-duration) var(--spring-smooth);grid-template-rows:1fr 1fr;display:grid;transform:translate(0)}.screen-stack.is-underwater{transform:translateY(-50%)}.screen-stack.is-dragging{transform:translate3d(0, var(--drag-position), 0);-webkit-user-select:none;user-select:none;will-change:transform;transition:none}@media (pointer:coarse){.screen-stack{touch-action:pan-x pinch-zoom}}.surface-screen{--daylight:1;--night:0;--dawn:0;--dusk:0;--twilight:0;--moonlight:0;--sun-x:50;--sun-y:13;--moon-x:50;--moon-y:16;--water-shift:50%;--tide-progress:.5;--beach-exposure:.5;--sand-dryness:.5;--visitor-presence:0;--coast-shade:brightness(calc(1 - var(--night) * .44 - var(--dusk) * .08)) saturate(calc(1 - var(--night) * .5 + var(--twilight) * .08));background:linear-gradient(#a8cfe0 0%,#bcdcea 14%,#cfe7f0 28%,#dfeff4 42%,#ecf5f5 56%,#f6f7ef 70%,#fbf6e8 82%,#fdf3de 100%);min-height:0;position:relative;overflow:clip;container-type:size}.surface-screen:before{content:"";z-index:2;background:linear-gradient(180deg, rgba(255, 255, 255, calc(.46 * var(--daylight))) 0%, rgba(255, 255, 255, calc(.12 * var(--daylight))) 34%, transparent 62%), linear-gradient(180deg, rgba(8, 24, 46, calc(.46 * var(--night))) 0%, rgba(8, 24, 46, calc(.14 * var(--night))) 38%, transparent 66%), radial-gradient(ellipse 90% 65% at 50% 15%, rgba(255, 255, 255, calc(.34 * var(--daylight))), transparent 72%);pointer-events:none;position:absolute;inset:0 0 48%}.sky-scene{z-index:0;opacity:1;pointer-events:none;transition:opacity .26s ease-out;position:absolute;inset:0;overflow:hidden}.sky-night,.sky-dawn,.sky-dusk,.star-field,.horizon-haze{pointer-events:none;transition:opacity .42s linear;position:absolute;inset:0}.sky-night{opacity:var(--night);background:radial-gradient(62% 34% at 24% 8%,#3a548466,#0000 70%),radial-gradient(90% 40% at 62% 100%,#4a748e57,#0000 74%),linear-gradient(#0a1730 0%,#10233f 18%,#182f4d 36%,#21405c 56%,#2c5670 76%,#3a6b7e 100%)}.sky-dawn{opacity:var(--dawn);background:radial-gradient(70% 38% at 6% 52%,#ffc698d1,#0000 68%),radial-gradient(90% 30% at 40% 100%,#ffe2be80,#0000 72%),linear-gradient(#607cac9e 0%,#96a6c880 26%,#e2b4ac85 52%,#fac69e99 74%,#fce0ba6b 100%)}.sky-dusk{opacity:var(--dusk);background:radial-gradient(72% 40% at 94%,#ff9c74bd,#0000 66%),radial-gradient(96% 32% at 60% 100%,#ffbe9675,#0000 72%),linear-gradient(#3a487ab3 0%,#686a9c94 24%,#b07a948a 48%,#e28e7a8f 70%,#f6ba9266 100%)}.star-field{opacity:calc(var(--night) * .82);background-image:radial-gradient(circle at 9% 11%,#ffffffeb 0 1px,#0000 1.4px),radial-gradient(circle at 24% 24%,#d8eff7c7 0 .8px,#0000 1.3px),radial-gradient(circle at 47% 9%,#ffffffdb 0 1.2px,#0000 1.7px),radial-gradient(circle at 68% 28%,#d8eff7c7 0 .8px,#0000 1.4px),radial-gradient(circle at 89% 15%,#ffffffe6 0 1px,#0000 1.5px);background-size:148px 118px,176px 142px,212px 154px,164px 132px,194px 148px}.star-field:after{content:"";opacity:.45;background:radial-gradient(circle at 16% 34%,#fff 0 1.1px,#0000 1.7px),radial-gradient(circle at 54% 13%,#fff 0 .9px,#0000 1.5px),radial-gradient(circle at 82% 45%,#fff 0 1px,#0000 1.6px);animation:3.8s ease-in-out infinite alternate star-breathe;position:absolute;inset:4% 6% 42%}.celestial{transition:transform .36s var(--spring-smooth), opacity .36s linear;border-radius:50%;display:block;position:absolute;top:0;left:0}.sun{width:52px;height:52px;opacity:calc(var(--daylight) * .88 + var(--twilight) * .5);transform:translate3d(calc(var(--sun-x) * 1cqw), calc(var(--sun-y) * 1cqh), 0) translate(-50%, -50%);background:radial-gradient(circle at 38% 34%,#fffdf0 0 20%,#ffe9ad 48%,#f8c885 100%);box-shadow:0 0 0 10px #ffecb01a,0 0 40px 10px #ffdb9a3d}.moon{width:42px;height:42px;opacity:calc(var(--moonlight) * .92);transform:translate3d(calc(var(--moon-x) * 1cqw), calc(var(--moon-y) * 1cqh), 0) translate(-50%, -50%);background:0 0;box-shadow:-12px 5px #e9f0df,-19px 8px 36px 2px #dcefeb38}.sky-cloud{width:108px;height:40px;opacity:calc(.14 + var(--daylight) * .5);filter:blur(.4px);background:radial-gradient(26% 52% at 30% 44%,#fffffff5,#0000 68%),radial-gradient(22% 42% at 52% 36%,#fffffff0,#0000 68%),radial-gradient(18% 34% at 70% 48%,#fdfeffe0,#0000 70%),radial-gradient(40% 22% at 50% 66%,#eef6fad1,#0000 72%),radial-gradient(30% 14% at 46% 76%,#cee0ea6b,#0000 76%);transition:opacity .42s linear;display:block;position:absolute}.cloud-one{animation:15s ease-in-out infinite alternate cloud-drift-one;top:17%;left:2%;scale:.86}.cloud-two{animation:19s ease-in-out infinite alternate cloud-drift-two;top:26%;right:-2%;scale:.64}.cloud-three{opacity:calc(.08 + var(--daylight) * .3);animation:24s ease-in-out infinite alternate-reverse cloud-drift-one;top:9%;left:46%;scale:.44}.horizon-haze{height:42%;opacity:calc(.14 + var(--twilight) * .56);background:radial-gradient(110% 75% at 50% 100%,#ffe6c185,#0000 68%);top:auto}@keyframes star-breathe{to{opacity:.8}}@keyframes cloud-drift-one{to{transform:translate(22px,3px)}}@keyframes cloud-drift-two{to{transform:translate(-18px,-2px)}}.water{z-index:1;height:84%;transform:translateY(var(--water-shift));transform-origin:bottom;opacity:1;background:radial-gradient(48% 18% at 19% 8%,#e2f8f46b,#0000 72%),radial-gradient(50% 25% at 82% 26%,#60baba42,#0000 72%),radial-gradient(78% 42% at 44% 74%,#064a6c3d,#0000 76%),linear-gradient(#86c3bd 0%,#3d9ba8 9%,#16789c 22%,#0a5479 42%,#06405f 100%);transition:transform .46s cubic-bezier(.32,.72,0,1),opacity .22s ease-out;position:absolute;inset:auto -20% 0;overflow:visible;box-shadow:0 -12px 32px #4ea8ae2e,inset 0 18px 24px #e8faf614}.surface-screen.is-playing .water{transition-duration:.145s,.22s;transition-timing-function:linear,ease-out}.water.is-disturbed{transition-duration:.46s,.22s;transition-timing-function:cubic-bezier(.32,.72,0,1),ease-out}.water:before,.water:after{content:"";z-index:2;transform-origin:50%;pointer-events:none;border-radius:50%;width:116%;position:absolute;left:-8%}.water:before{background:radial-gradient(14% 86% at 19% 70%,#fffffffa,#0000 74%),radial-gradient(20% 74% at 73% 32%,#eefcfaeb,#0000 76%),#eefcfadb;height:22px;transition:background-color .42s linear;animation:2.35s ease-in-out infinite wave-forward;top:-11px;box-shadow:0 5px 12px #ffffff38,0 11px 22px #167a921a}.water:after{background:radial-gradient(20% 84% at 32% 35%,#c6eae894,#0000 76%),#58b2b880;height:17px;transition:background-color .42s linear;animation:3.1s ease-in-out infinite wave-back;top:-6px;left:-2%}.water-night,.water-sunset,.water-pattern{pointer-events:none;position:absolute;inset:0}.water-night{z-index:0;opacity:calc(var(--night) * .92);background:radial-gradient(54% 12% at 72% 4%,#5894b233,#0000 72%),linear-gradient(#113e5cbd 0%,#092c48db 16%,#041e36f0 40%,#02162af5 100%);transition:opacity .42s linear}.water-sunset{z-index:1;opacity:calc(var(--twilight) * .48);background:radial-gradient(70% 22% at 50% 0,#ffb788b8,#0000 70%);transition:opacity .42s linear}.water-caustics{z-index:1;opacity:calc(.05 + var(--daylight) * .15);background-image:radial-gradient(34px 9px at 18% 20%,#0000 48%,#defaffcc 52%,#0000 60%),radial-gradient(42px 11px at 73% 36%,#0000 47%,#dafaffa6 52%,#0000 61%),radial-gradient(28px 8px at 42% 73%,#0000 45%,#dafaff8c 52%,#0000 63%);background-size:160px 140px,190px 170px,130px 120px;transition:opacity .42s linear;animation:7.2s ease-in-out infinite alternate caustics-drift;position:absolute;inset:28px 0 0;-webkit-mask-image:linear-gradient(#000,#0000 75%);mask-image:linear-gradient(#000,#0000 75%)}.water-pattern{z-index:1;opacity:calc(.04 + var(--daylight) * .07);background-image:radial-gradient(30px 7px at 20% 18%,#0000 44%,#ebfcffb8 49%,#0000 57%),radial-gradient(38px 8px at 76% 54%,#0000 45%,#e5fafe9e 50%,#0000 58%);background-size:128px 102px,156px 126px;animation:8.8s ease-in-out infinite alternate water-pattern-drift;inset:44px 4% 0;-webkit-mask-image:linear-gradient(#000,#0000 82%);mask-image:linear-gradient(#000,#0000 82%)}.water-glint{z-index:3;height:1px;opacity:calc(.3 + var(--daylight) * .62);transform-origin:50%;background:linear-gradient(90deg,#0000,#ffffffd1,#0000);transition:opacity .42s linear;animation:2.7s ease-in-out infinite glint-breathe;position:absolute;inset:20px 9% auto}.water-current{z-index:1;width:124%;height:64px;opacity:calc(.24 + var(--daylight) * .22);pointer-events:none;border:1px solid #0000;border-top-color:#d8f9fc38;border-radius:50%;position:absolute;left:-12%}.water-current-one{animation:4.1s ease-in-out infinite current-drift-one;top:42px}.water-current-two{width:138%;opacity:calc(.12 + var(--daylight) * .16);animation:5.3s ease-in-out infinite current-drift-two;top:92px;left:-22%}.water-foam{z-index:3;opacity:.72;transform-origin:50%;width:126%;height:18px;transform:translate3d(var(--foam-x,0%), var(--foam-y,0px), 0) scaleX(var(--foam-scale,1));pointer-events:none;background:radial-gradient(22px 5px at 8% 55%,#ffffffdb,#0000 72%) 0 0/122px 18px,radial-gradient(34px 6px at 31% 32%,#f1fdfec2,#0000 74%) 0 0/174px 18px,radial-gradient(28px 5px at 67% 60%,#ffffffd6,#0000 74%) 0 0/146px 18px,radial-gradient(40px 7px at 91% 28%,#e4f9fcb8,#0000 76%) 0 0/202px 18px;position:absolute;top:-8px;left:-13%}.water-slosh{z-index:4;opacity:0;transform-origin:50%;pointer-events:none;background:radial-gradient(18% 42% at 16% 54%,#ffffffeb,#0000 73%),radial-gradient(25% 48% at 54% 34%,#e2fafde6,#0000 76%),radial-gradient(19% 42% at 86% 62%,#ffffffdb,#0000 74%);border-radius:50%;width:136%;height:54px;position:absolute;top:-27px;left:-18%}.water-spray{z-index:5;opacity:0;pointer-events:none;background:#ebfcfee0;border-radius:58% 42% 60% 40%;width:8px;height:8px;position:absolute;top:-10px;box-shadow:0 2px 5px #1273921f}.spray-one{left:18%}.spray-two{width:6px;height:6px;left:49%}.spray-three{width:10px;height:10px;left:81%}@keyframes wave-forward{0%,to{transform:translate(-2%)rotate(-.35deg)scaleY(.94)}24%{transform:translate(1%,-3px)rotate(.42deg)scaleY(1.13)}56%{transform:translate(3%,2px)rotate(.12deg)scaleY(.88)}78%{transform:translateY(-1px)rotate(-.55deg)scaleY(1.05)}}@keyframes wave-back{0%,to{transform:translate(3.5%,1px)rotate(.55deg)scaleY(1.04)}31%{transform:translate(-1.5%,-2px)rotate(-.72deg)scaleY(.9)}63%{transform:translate(-4.5%,2px)rotate(-.2deg)scaleY(1.12)}84%{transform:translate(.5%,-1px)rotate(.68deg)scaleY(.97)}}@keyframes caustics-drift{to{transform:translate(22px,10px)scaleX(1.04)}}@keyframes water-pattern-drift{to{transform:translate(-34px,15px)scaleX(1.03)}}@keyframes glint-breathe{0%,to{opacity:.36;transform:translate(-5px)scaleX(.66)}45%{opacity:.88;transform:translate(7px,-1px)scaleX(1.06)}68%{opacity:.58;transform:translate(2px,1px)scaleX(.9)}}@keyframes current-drift-one{0%,to{transform:translate(-2.5%)rotate(-.4deg)scaleX(.96)}50%{transform:translate(3.5%)rotate(.25deg)scaleX(1.04)}}@keyframes current-drift-two{0%,to{transform:translate(3%)rotate(.25deg)scaleX(1.03)}50%{transform:translate(-3.5%)rotate(-.25deg)scaleX(.96)}}.water.is-disturbed:before{animation:.92s linear both wave-disturb-front}.water.is-disturbed:after{animation:.98s linear both wave-disturb-back}.water.is-disturbed .water-current,.water.is-disturbed .water-pattern{animation:.94s linear both current-shake}.water.is-disturbed .water-glint{animation:.9s linear both glint-shake}.water.is-disturbed .water-slosh{animation:.94s linear both slosh-flash}.water.is-disturbed .water-spray{animation:spray-burst .76s var(--spring-smooth) both}.water.is-disturbed .spray-two{animation-delay:45ms}.water.is-disturbed .spray-three{animation-delay:85ms}@keyframes wave-disturb-front{0%{transform:translate(-2%)rotate(-.35deg)scaleY(.94)}12%{transform:translate(-5%,-8px)rotate(-2deg)scaleY(1.28)}29%{transform:translate(6%,4px)rotate(2.3deg)scaleY(.8)}48%{transform:translate(-3.2%,-4px)rotate(-1.25deg)scaleY(1.12)}69%{transform:translate(1.7%,2px)rotate(.58deg)scaleY(.95)}84%{transform:translate(-.7%,-1px)rotate(-.25deg)scaleY(1.03)}to{transform:translate(-2%)rotate(-.35deg)scaleY(.94)}}@keyframes wave-disturb-back{0%{transform:translate(3.5%,1px)rotate(.55deg)scaleY(1.04)}10%{transform:translate(7%,5px)rotate(2.15deg)scaleY(.76)}27%{transform:translate(-6%,-7px)rotate(-2.4deg)scaleY(1.3)}47%{transform:translate(3.6%,3px)rotate(1.15deg)scaleY(.89)}68%{transform:translate(-1.8%,-2px)rotate(-.55deg)scaleY(1.09)}85%{transform:translate(.8%,1px)rotate(.22deg)scaleY(.98)}to{transform:translate(3.5%,1px)rotate(.55deg)scaleY(1.04)}}@keyframes current-shake{0%,to{transform:none}13%{transform:translate(-9%,-5px)rotate(-1.2deg)scaleX(1.08)}30%{transform:translate(8%,4px)rotate(1.4deg)scaleX(.9)}50%{transform:translate(-4%,-2px)rotate(-.7deg)scaleX(1.05)}72%{transform:translate(2%,1px)rotate(.3deg)}}@keyframes glint-shake{0%,to{opacity:.42;transform:scaleX(.78)}14%{opacity:1;transform:translate(-12%,-7px)scaleX(1.28)}32%{opacity:.36;transform:translate(10%,4px)scaleX(.58)}52%{opacity:.8;transform:translate(-5%,-2px)scaleX(1.06)}75%{opacity:.5;transform:translate(2%,1px)scaleX(.9)}}@keyframes slosh-flash{0%{opacity:0;transform:translateY(12px)scaleX(.7)scaleY(.65)}11%{opacity:.92;transform:translate(-7%,-8px)rotate(-1.5deg)scaleX(1.08)scaleY(1.2)}28%{opacity:.78;transform:translate(7%,4px)rotate(1.7deg)scaleX(.88)scaleY(.78)}49%{opacity:.58;transform:translate(-3%,-3px)rotate(-.8deg)scaleX(1.03)}72%{opacity:.34;transform:translate(1.5%,1px)scaleX(.98)}to{opacity:0;transform:none}}@keyframes spray-burst{0%{opacity:0;transform:translateY(6px)scale(.55)rotate(0)}18%{opacity:.82}58%{opacity:.62;transform:translate3d(var(--spray-x,12px), var(--spray-y,-38px), 0) scale(1) rotate(80deg)}to{opacity:0;transform:translate3d(var(--spray-x,12px), -8px, 0) scale(.7) rotate(155deg)}}.spray-one{--spray-x:-18px;--spray-y:-42px}.spray-two{--spray-x:12px;--spray-y:-34px}.spray-three{--spray-x:20px;--spray-y:-48px}.beach-scene{pointer-events:none;position:absolute;inset:0;overflow:hidden}.beach-scene:after{content:"";z-index:3;opacity:calc(var(--night) * .44 + var(--dusk) * .12);pointer-events:none;background:linear-gradient(#2c446600 0%,#2a426480 12%,#263e60e6 26%,#1e3658d1 46%,#1a305099 62%,#182e4e85 100%);transition:opacity .42s linear;position:absolute;inset:20% 0 0}.far-sea{z-index:0;height:10.5%;filter:var(--coast-shade);clip-path:polygon(0 74%,6% 62%,13% 52%,21% 45%,29% 42%,37% 45%,44% 41%,52% 32%,60% 27%,68% 29%,76% 25%,84% 18%,92% 14%,100% 17%,100% 100%,0 100%);background:linear-gradient(#b6bfa4 0%,#aab596 30%,#b5b99d 68%,#c3c2a6 100%);transition:filter .42s linear;position:absolute;top:35.5%;left:-6%;right:-6%}.far-sea:before{content:"";clip-path:inherit;opacity:calc(.26 + var(--daylight) * .4);background:linear-gradient(#ced6aef2 0%,#c8d2aa66 26%,#0000 52%);transition:opacity .42s linear;position:absolute;inset:0}.far-sea:after{content:"";opacity:.55;background:linear-gradient(#0000,#e8e4cae6);height:42%;position:absolute;bottom:0;left:0;right:0}.coast-band{z-index:1;height:6%;filter:var(--coast-shade);background:linear-gradient(#c4c2a400 0%,#cec8a8a6 22%,#ded4b6eb 52%,#e8dec2 100%);border-radius:46% 54% 0 0/20px 26px 0 0;transition:filter .42s linear;position:absolute;top:41.5%;left:-10%;right:-10%}.coast-haze{filter:blur(8px);background:#ece8d0b3;border-radius:50%;height:20px;position:absolute;top:-9px;left:0;right:0}.coast-bluff{z-index:1;width:62%;height:17.5%;filter:var(--coast-shade);clip-path:polygon(0 100%,5% 88%,11% 74%,18% 60%,26% 47%,34% 36%,43% 27%,52% 21%,61% 17%,70% 15%,80% 13%,90% 12%,100% 12%,100% 100%);background:linear-gradient(172deg,#8ea287 0%,#82937a 34%,#8e977c 66%,#a2a184 100%);transition:filter .42s linear;position:absolute;top:29%;right:-6%}.coast-bluff:before{content:"";clip-path:inherit;opacity:calc(.28 + var(--daylight) * .44);background:linear-gradient(168deg,#c0d0a8eb 0%,#bacaa45c 22%,#0000 46%);transition:opacity .42s linear;position:absolute;inset:0}.coast-bluff:after{content:"";opacity:.52;background:linear-gradient(#0000,#e6e8d2e6);height:40%;position:absolute;bottom:0;left:0;right:0}.beach-sand,.beach-sand-texture{z-index:1;filter:var(--coast-shade);border-radius:54% 46% 0 0/12px 9px 0 0;transition:filter .42s linear;position:absolute;inset:44.5% -6% 0}.beach-sand-base{background:radial-gradient(48% 14% at 24% 6%,#7e766424,#0000 74%),linear-gradient(#cec3a8 0%,#bfb397 22%,#ada182 46%,#9d927a 100%);transition:filter .42s linear}.beach-sand-dry{opacity:var(--sand-dryness);background:radial-gradient(circle at 13% 23%,#8c7e6429 0 1px,#0000 1.6px) 0 0/43px 39px,radial-gradient(circle at 66% 36%,#fffcf080 0 1.2px,#0000 1.8px) 0 0/61px 53px,radial-gradient(circle at 84% 63%,#96866a24 0 .9px,#0000 1.5px) 0 0/37px 47px,linear-gradient(176deg,#f3ecd9 0%,#e9dfc6 14%,#ddd0b1 28%,#d0c19f 42%,#c2b28c 100%);transition:opacity .9s linear,filter .42s linear;box-shadow:inset 0 14px 26px #fffdf457}.beach-sand-texture{opacity:calc(.35 + var(--beach-exposure) * .65);background:radial-gradient(62% 10px at 34% 9%,#0000 40%,#84765e4d 49%,#0000 60%),radial-gradient(54% 9px at 71% 13%,#0000 41%,#fffcf08c 49%,#0000 59%),radial-gradient(76% 11px at 45% 20%,#0000 41%,#7e725c38 50%,#0000 60%),radial-gradient(48% 9px at 22% 26%,#0000 41%,#fffbee7a 49%,#0000 59%),radial-gradient(66% 12px at 66% 31%,#0000 42%,#80745e30 50%,#0000 60%),radial-gradient(58% 10px at 38% 38%,#0000 41%,#fffaec6b 49%,#0000 59%),radial-gradient(72% 11px at 60% 45%,#0000 42%,#7e725c29 50%,#0000 60%);transition:opacity .42s linear,filter .42s linear}.beach-sand-dry:after{content:"";border-radius:inherit;background:linear-gradient(#968a7042 0%,#0000 9%),linear-gradient(#0000 26%,#92948829 42%,#8c928c42 52%);position:absolute;inset:0}.shoreline-track{z-index:2;height:84%;transform:translate3d(0, var(--water-shift), 0);transition:transform .46s cubic-bezier(.32,.72,0,1);position:absolute;top:16%;left:-20%;right:-20%}.surface-screen.is-playing .shoreline-track{transition-duration:.145s;transition-timing-function:linear}.surface-screen:has(.water.is-disturbed) .shoreline-track{transition-duration:.46s;transition-timing-function:cubic-bezier(.32,.72,0,1)}.beach-sand-wet{height:38px;opacity:calc(.55 + var(--beach-exposure) * .45);background:linear-gradient(#0000 0%,#7e705c14 12%,#7068586b 68%,#5e6c688f 100%),radial-gradient(44% 46% at 25% 100%,#d6e8e23d,#0000 72%);transition:opacity .26s linear;position:absolute;top:-34px;left:0;right:0;box-shadow:inset 0 -2px #f0faf442}.tide-marks{z-index:3;pointer-events:none;position:absolute;inset:0}.tide-mark{top:var(--at);font-variant-numeric:tabular-nums;align-items:baseline;padding:0 22px 5px;font-size:9px;font-weight:600;transition:opacity .42s linear,color .52s linear;display:flex;position:absolute;left:0;right:0;transform:translateY(-100%)}.tide-mark:before{content:"";opacity:.3;border-top:1px dashed;position:absolute;bottom:0;left:22px;right:22px}.tide-mark-label{letter-spacing:.08em;text-transform:uppercase}.tide-mark-value{opacity:.75;letter-spacing:.01em;margin-left:auto;font-weight:500}.tide-mark-high{color:#7c6a4c}.tide-mark-low{color:#f2fbfd;text-shadow:0 1px 3px #0630468c,0 0 1px #06304666}.tide-mark-low:before{opacity:.34;border-top-style:solid}.surface-screen.is-dark .tide-mark-high{color:#e8e0cca8}.tide-mark-high{opacity:clamp(0, calc((1 - var(--tide-progress)) * 5), .92)}.tide-mark-low{opacity:clamp(0, calc(var(--tide-progress) * 5), .92)}.lighthouse{z-index:4;pointer-events:none;width:clamp(17px,4.6cqw,22px);height:clamp(40px,7.4cqh,56px);position:absolute;bottom:63.5%;right:17%}.lighthouse-tower,.lighthouse-gallery,.lighthouse-roof,.lighthouse:after{filter:var(--coast-shade) brightness(calc(1 - var(--night) * .38));transition:filter .42s linear}.lighthouse:after{content:"";background:linear-gradient(#faf8f0eb 0 46%,#d6d4c8e6 46% 100%);border-radius:2px 2px 0 0;width:235%;height:9px;position:absolute;bottom:-3px;left:50%;transform:translate(-50%);box-shadow:0 1px #606c5c4d}.lighthouse-tower{clip-path:polygon(22% 0,78% 0,100% 100%,0 100%);background:linear-gradient(90deg,#fdfcf7 0 30%,#ebe8dd 58%,#c9c7bc 100%);height:72%;position:absolute;bottom:0;left:0;right:0}.lighthouse-tower:after{content:"";background:#4a606852;height:9%;position:absolute;bottom:14%;left:0;right:0}.lighthouse-gallery{background:#47606a;border-radius:1.5px;width:128%;height:5%;position:absolute;top:22%;left:50%;transform:translate(-50%)}.lighthouse-lantern{background:linear-gradient(#f7e6b4 0%,#e8cf90 100%);border-radius:2px 2px 0 0;width:74%;height:15%;position:absolute;top:8%;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 1px #40565e8c}.lighthouse-lantern:after{content:"";opacity:calc(var(--night) * .95 + var(--twilight) * .4);background:#fff0bef2;border-radius:3px;transition:opacity .42s linear;position:absolute;inset:-2px;box-shadow:0 0 14px 5px #ffe2988c}.surface-screen.is-dark .lighthouse-lantern:after{animation:5s linear infinite lighthouse-flash}@keyframes lighthouse-flash{0%,16%{opacity:.5;box-shadow:0 0 12px 4px #ffe29866}25%{opacity:1;box-shadow:0 0 26px 11px #ffeaaceb}34%,to{opacity:.5;box-shadow:0 0 12px 4px #ffe29866}}.lighthouse-roof{clip-path:polygon(50% 0,100% 100%,0 100%);background:#3d545f;width:88%;height:9%;position:absolute;top:0;left:50%;transform:translate(-50%)}.lighthouse-beam{z-index:-1;opacity:0;pointer-events:none;width:clamp(150px,46cqw,215px);height:30%;position:absolute;top:12%}.beam-left{clip-path:polygon(100% 40%,0 0,0 100%,100% 60%);transform-origin:100%;background:linear-gradient(-90deg,#fff0c2b8 0%,#fff0c242 44%,#fff0c200 86%);right:46%;transform:scaleX(1)}.beam-right{clip-path:polygon(0 40%,100% 0,100% 100%,0 60%);transform-origin:0;background:linear-gradient(90deg,#fff0c2b8 0%,#fff0c242 44%,#fff0c200 86%);left:46%;transform:scaleX(0)}.lighthouse-glare{z-index:-1;opacity:0;pointer-events:none;background:radial-gradient(circle,#fff4cee6 0%,#ffecb06b 26%,#ffe8a600 68%);border-radius:50%;width:82px;height:82px;position:absolute;top:13%;left:50%;transform:translate(-50%,-50%)}.surface-screen.is-dark .beam-left{animation:5s linear infinite beam-left}.surface-screen.is-dark .beam-right{animation:5s linear infinite beam-right}.surface-screen.is-dark .lighthouse-glare{animation:5s linear infinite beam-glare}@keyframes beam-left{0%{opacity:.9;transform:scaleX(1)}12.5%{opacity:.78;transform:scaleX(.71)}25%{opacity:0;transform:scaleX(0)}75%{opacity:0;transform:scaleX(0)}87.5%{opacity:.78;transform:scaleX(.71)}to{opacity:.9;transform:scaleX(1)}}@keyframes beam-right{0%,25%{opacity:0;transform:scaleX(0)}37.5%{opacity:.72;transform:scaleX(.71)}50%{opacity:.82;transform:scaleX(1)}62.5%{opacity:.72;transform:scaleX(.71)}75%,to{opacity:0;transform:scaleX(0)}}@keyframes beam-glare{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)}12.5%{opacity:.55;transform:translate(-50%,-50%)scale(.82)}25%{opacity:1;transform:translate(-50%,-50%)scale(1.1)}37.5%{opacity:.55;transform:translate(-50%,-50%)scale(.82)}50%,to{opacity:0;transform:translate(-50%,-50%)scale(.5)}}.beachgoers{z-index:2;width:108px;height:18px;opacity:var(--visitor-presence);transition:opacity .52s linear, transform .64s var(--spring-smooth);position:absolute;top:46.6%;left:24%}.parasol{transform-origin:50% 100%;width:16px;height:15px;transition:transform .52s var(--spring-smooth), opacity .42s linear;display:block;position:absolute;bottom:0}.parasol:before{content:"";background-image:linear-gradient(90deg,currentColor 0 25%,#fdfaf2eb 25% 50%,currentColor 50% 75%,#fdfaf2eb 75% 100%);border-radius:16px 16px 2px 2px/7px 7px 1px 1px;width:100%;height:7px;position:absolute;top:0;left:0;box-shadow:0 1px 1px #60523c2e}.parasol:after{content:"";background:#685a448c;border-radius:1px;width:1.5px;height:10px;position:absolute;top:5px;left:50%;transform:translate(-50%)}.parasol i{width:17px;height:3px;opacity:calc(.1 + var(--daylight) * .16);background:#6d6349;border-radius:50%;position:absolute;bottom:-1px;left:50%;transform:translate(-50%)}.parasol-one{color:#cf6f57;left:0}.parasol-two{color:#55868c;left:42px;transform:scale(.86)}.parasol-three{color:#d2a145;left:84px;transform:scale(.74)}[data-beach-life=arriving] .beachgoers{animation:beachgoers-arrive .88s var(--spring-smooth) both}[data-beach-life=leaving] .beachgoers{opacity:calc(var(--visitor-presence) * .5)}[data-beach-life=leaving] .parasol{transform:scale(.9)rotate(-16deg)}[data-beach-life=leaving] .parasol-two{transform:scale(.78)rotate(14deg)}[data-beach-life=hidden] .beachgoers{opacity:0}@keyframes beachgoers-arrive{0%{opacity:0;transform:translate(-10px,4px)scale(.92)}}.beach-rivulets,.beach-shells{z-index:1;opacity:var(--beach-exposure);transition:opacity .36s linear;position:absolute;inset:0}.rivulet{filter:drop-shadow(0 1px #f8f4e24d);border-top:1.5px solid #768c8a42;border-radius:50%;height:14px;display:block;position:absolute}.rivulet-one{width:32%;top:56%;left:9%;transform:rotate(4deg)}.rivulet-two{width:40%;top:62%;right:6%;transform:rotate(-6deg)}.rivulet-three{opacity:.6;width:26%;top:68%;left:34%;transform:rotate(2deg)}.shell{background:linear-gradient(150deg,#f3ddc6,#d6b299);border-radius:70% 70% 42% 42%;width:7px;height:5px;display:block;position:absolute;box-shadow:0 1px 1px #70604c29}.shell-one{top:53%;left:21%;transform:rotate(-18deg)scale(.86)}.shell-two{top:58%;left:72%;transform:rotate(24deg)}.shell-three{top:63%;left:49%;transform:rotate(-6deg)scale(.74)}.shell-four{top:67%;left:84%;transform:rotate(31deg)scale(.64)}.coastal-birds{pointer-events:none;transition:opacity .52s linear, transform .64s var(--spring-smooth), visibility 0s linear .52s;position:absolute}.shore-birds{z-index:2;top:calc(52% + (1 - var(--tide-progress)) * 7%);width:40px;height:14px;opacity:var(--shore-birds-opacity);right:26%}.shore-bird{background:#f7f8f5;border-radius:60% 40% 50% 50%;width:9px;height:5px;display:block;position:absolute;bottom:0;box-shadow:0 1px #6c645424}.shore-bird:before{content:"";background:#97a5a8;border-radius:50% 40% 50% 50%;width:5px;height:2.5px;position:absolute;top:1px;right:1px}.shore-bird:after{content:"";background:#f7f8f5;border-radius:50% 50% 40% 40%;width:3px;height:4px;position:absolute;top:-3px;left:-1px}.shore-bird i{border-left:1px solid #ce7a44d9;border-right:1px solid #ce7a44d9;width:3px;height:2px;position:absolute;bottom:-2px;left:3px}.shore-bird.bird-one{left:0}.shore-bird.bird-two{left:22px;transform:scale(.84)scaleX(-1)}.flight-birds{z-index:3;width:clamp(96px,27cqw,120px);height:48px;opacity:var(--flight-birds-opacity);top:21%;right:8%}.flight-bird{width:15px;height:6px;display:block;position:absolute}.flight-bird:before,.flight-bird:after{content:"";border-top:1.5px solid #485c649e;border-radius:60% 60% 0 0;width:8px;height:6px;transition:transform .24s ease-in-out;position:absolute;top:0}.flight-bird:before{left:0;transform:rotate(12deg)}.flight-bird:after{right:0;transform:rotate(-12deg)}.flight-bird.bird-one{top:2px;right:2px}.flight-bird.bird-two{top:24px;right:44px;transform:scale(.8)}.flight-bird.bird-three{top:8px;left:0;transform:scale(.64)}[data-bird-state=flying-out] .flight-birds{transform:translate(12px,-12px)}[data-bird-state=flying-in] .flight-birds{transform:translate(-8px,8px)}[data-bird-state=hidden] .coastal-birds{opacity:0;visibility:hidden}[data-bird-state=flying-in] .flight-bird:before,[data-bird-state=flying-in] .flight-bird:after,[data-bird-state=flying-out] .flight-bird:before,[data-bird-state=flying-out] .flight-bird:after{animation:.23s ease-in-out 3 alternate bird-wing}@keyframes bird-wing{to{transform:rotate(1deg)translateY(2px)}}[data-shore-motion=arriving] .flight-birds,[data-shore-motion=leaving] .flight-birds{opacity:.92;visibility:visible}[data-shore-motion=arriving] .flight-birds{animation:1.5s cubic-bezier(.22,.68,.18,1) both gulls-arrive}[data-shore-motion=leaving] .flight-birds{animation:1.5s cubic-bezier(.3,.08,.3,1) both gulls-leave}[data-shore-motion=arriving] .flight-bird:before,[data-shore-motion=arriving] .flight-bird:after,[data-shore-motion=leaving] .flight-bird:before,[data-shore-motion=leaving] .flight-bird:after{animation:.21s ease-in-out 6 alternate bird-wing}@keyframes gulls-arrive{0%{opacity:0;transform:translate(58px,-14px)}18%,68%{opacity:.92}to{opacity:0;transform:translate(-48px,62px)scale(.82)}}@keyframes gulls-leave{0%{opacity:0;transform:translate(-32px,58px)scale(.78)}18%,76%{opacity:.92}to{opacity:0;transform:translate(64px,-28px)scale(1.04)}}.surface-screen.is-dark .beachgoers,.surface-screen.is-dark .coastal-birds{opacity:0;visibility:hidden}.interface{z-index:4;height:100%;padding:max(24px, env(safe-area-inset-top)) 22px max(18px, env(safe-area-inset-bottom));opacity:1;flex-direction:column;transition:opacity .22s ease-out;display:flex;position:relative}.topbar{justify-content:space-between;align-items:flex-start;display:flex}.brand{min-height:24px;color:var(--accent-strong);letter-spacing:.025em;align-items:center;gap:7px;font-size:12px;font-weight:600;transition:color .52s linear;display:inline-flex}.ui-icon{color:currentColor;flex:none;width:16px;height:16px;display:inline-block;position:relative}.ui-icon-arrow-up:before,.ui-icon-arrow-down:before{content:"";background:currentColor;border-radius:999px;width:2px;height:11px;position:absolute;top:3px;left:50%;transform:translate(-50%)}.ui-icon-arrow-up:after,.ui-icon-arrow-down:after{content:"";border-top:2px solid;border-left:2px solid;width:7px;height:7px;position:absolute;top:2px;left:50%;transform:translate(-50%)rotate(45deg)}.ui-icon-arrow-down{transform:rotate(180deg)}.ui-icon-chevron:before{content:"";border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;position:absolute;top:3px;left:4px;transform:rotate(45deg)}.ui-icon-play:before{content:"";border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:8px solid;width:0;height:0;position:absolute;top:3px;left:5px}.ui-icon-pause:before,.ui-icon-pause:after{content:"";background:currentColor;border-radius:999px;width:3px;height:10px;position:absolute;top:3px}.ui-icon-pause:before{left:4px}.ui-icon-pause:after{right:4px}.ui-icon-waves:before,.ui-icon-waves:after{content:"";border-top:2px solid;border-radius:50%;width:14px;height:5px;position:absolute;left:1px;transform:rotate(-4deg)}.ui-icon-waves:before{top:3px}.ui-icon-waves:after{top:9px}.ui-icon-search:before{content:"";border:2px solid;border-radius:50%;width:9px;height:9px;position:absolute;top:2px;left:2px}.ui-icon-search:after{content:"";transform-origin:0;background:currentColor;border-radius:999px;width:6px;height:2px;position:absolute;top:11px;left:10px;transform:rotate(45deg)}.ui-icon-check:before{content:"";border-bottom:2px solid;border-right:2px solid;width:9px;height:5px;position:absolute;top:4px;left:3px;transform:rotate(45deg)}.brand-mark{color:#fff;background:var(--accent);border-radius:9px;place-items:center;width:24px;height:24px;transition:background-color .52s linear,box-shadow .52s linear;display:grid;overflow:hidden;box-shadow:inset 0 1px #ffffff4d}.brand-mark .ui-icon{width:15px;height:15px}.location{letter-spacing:-.04em;cursor:pointer;max-width:100%;min-height:44px;transition:color .52s linear, opacity .12s linear, transform .28s var(--spring-snappy);background:0 0;border:0;align-items:center;gap:5px;margin-left:-8px;padding:0 8px;font-size:27px;font-weight:700;line-height:1;display:flex}.topbar>div:first-child{flex:1;min-width:0;padding-right:10px}.location-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.location .ui-icon{width:16px;height:16px;color:var(--label-secondary);transition:color .52s linear, transform .28s var(--spring-snappy)}.location:active{opacity:.72;transition-duration:var(--motion-press);transition-timing-function:cubic-bezier(.4,0,1,1);transform:scale(.97)}.coefficient{width:66px;height:66px;transition:color .52s linear, background-color .52s linear, border-color .52s linear, transform .28s var(--spring-snappy);background:#ffffffe0;border:1px solid #102b3a12;border-radius:23px;align-content:center;justify-items:center;display:grid;box-shadow:0 10px 28px #1d536617,inset 0 1px #fffffff2}.coefficient span{color:var(--label-secondary);letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:700;transition:color .52s linear}.coefficient strong{letter-spacing:-.035em;font-variant-numeric:tabular-nums;margin-top:1px;font-size:24px;line-height:1}.coefficient-value{text-align:center;font-variant-numeric:tabular-nums;min-width:2ch;display:block}.coefficient .coefficient-caption{max-width:56px;color:var(--label-tertiary);letter-spacing:.055em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;margin-top:2px;font-size:7px;font-weight:700;line-height:1;transition:color .52s linear;overflow:hidden}.coefficient:has(.coefficient-caption) .coefficient-value{margin-top:0;font-size:22px}.tide-reading{text-align:center;text-shadow:0 1px #ffffff85;margin-top:18px;transition:color .52s linear,text-shadow .52s linear;position:relative}.date{color:var(--label-secondary);letter-spacing:.01em;justify-content:center;align-items:center;gap:8px;margin:0 0 12px;font-size:13px;transition:color .52s linear;display:flex}.date>span:first-child{text-transform:capitalize}.day-phase{letter-spacing:.04em;text-transform:uppercase;background:#ffffff57;border:1px solid #ffffff8c;border-radius:999px;align-items:center;gap:5px;min-height:23px;padding:0 8px;font-size:9px;font-weight:700;transition:color .52s linear,background-color .52s linear,border-color .52s linear;display:inline-flex}.phase-orb{background:#f3bd67;border-radius:50%;width:8px;height:8px;transition:background-color .52s linear,box-shadow .52s linear;box-shadow:0 0 0 3px #f3bd6721}.phase-dawn .phase-orb{background:#ecaa87;box-shadow:0 0 0 3px #ecaa8724}.phase-dusk .phase-orb{background:#e58d78;box-shadow:0 0 0 3px #e58d7824}.phase-night .phase-orb{background:#dce9df;box-shadow:-2px 1px #6b8193,0 0 0 3px #dce9df1f}.direction{width:fit-content;min-height:28px;color:var(--accent-strong);letter-spacing:.055em;text-transform:uppercase;background:#fff9;border:1px solid #fffc;border-radius:999px;align-items:center;margin:0;padding:0 11px;font-size:10px;font-weight:700;transition:color .52s linear,background-color .52s linear,border-color .52s linear,box-shadow .52s linear;display:inline-flex;box-shadow:0 4px 14px #235b6c0d}.arrow{width:16px;height:16px;transition:transform .24s var(--spring-snappy);margin-right:4px;display:inline-block;scale:.78}.arrow.falling{transform:rotate(180deg)}.tide-reading h1{font-variant-numeric:tabular-nums;justify-content:center;align-items:baseline;gap:8px;margin:5px 0 0;line-height:.94;display:flex}.height-value{letter-spacing:-.055em;font-size:clamp(66px,19vw,82px);font-weight:700}.height-unit{color:var(--label-secondary);letter-spacing:-.02em;font-size:24px;font-weight:600;transition:color .52s linear}.next-tide{color:var(--label-secondary);margin:11px 0 0;font-size:14px;font-weight:500;transition:color .52s linear}.surface-screen.is-dark .brand,.surface-screen.is-dark .location,.surface-screen.is-dark .tide-reading h1{color:#f4fbfc}.surface-screen.is-dark .location .ui-icon,.surface-screen.is-dark .date,.surface-screen.is-dark .height-unit,.surface-screen.is-dark .next-tide{color:#edf9fbb8}.surface-screen.is-dark .tide-reading{text-shadow:0 2px 14px #0216284d}.surface-screen.is-dark .day-phase{background:#07223647;border-color:#ffffff21}.surface-screen.is-dark .direction{color:#c5edf2;background:#052a407a;border-color:#ffffff24;box-shadow:0 6px 18px #0114221f}.surface-screen.is-dark .coefficient{color:#f4fbfc;background:#08273bb8;border-color:#ffffff1f;box-shadow:0 12px 30px #01142224,inset 0 1px #ffffff24}.surface-screen.is-dark .coefficient span{color:#edf9fb94}.surface-screen.is-dark .coefficient .coefficient-caption{color:#edf9fb7a}.surface-screen.is-dark .tide-mark-low{color:#dcf2f6d1}.controls{-webkit-backdrop-filter:blur(18px)saturate(1.08);backdrop-filter:blur(18px)saturate(1.08);background:#f9fcfce6;border:1px solid #ffffffe6;border-radius:27px;grid-template-columns:minmax(0,1fr);row-gap:4px;margin-top:auto;padding:12px 14px;transition:color .52s linear,background-color .52s linear,border-color .52s linear,box-shadow .52s linear;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 55px #063d562b,0 4px 14px #063d5612,inset 0 1px #fff}.controls:before{content:"";opacity:0;pointer-events:none;background-image:radial-gradient(38px 9px at 18% 24%,#0000 44%,#96e2ee38 49%,#0000 58%),radial-gradient(44px 10px at 78% 74%,#0000 44%,#96e2ee2b 49%,#0000 58%);background-size:142px 98px,174px 124px;transition:opacity .52s linear;position:absolute;inset:0}.controls>*{z-index:1;position:relative}.time-row{justify-content:space-between;align-items:center;min-height:44px;margin:0;display:flex}.time-row p{color:var(--label-secondary);letter-spacing:.065em;text-transform:uppercase;margin:0 0 2px;font-size:10px;font-weight:700;transition:color .52s linear}.time-row strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:600;line-height:1;transition:color .52s linear}.time-actions{align-items:center;gap:8px;display:flex}.live-button{min-width:84px;min-height:44px;color:var(--accent-strong);letter-spacing:.045em;text-transform:uppercase;cursor:pointer;transition:transform var(--motion-release) var(--spring-snappy), color .22s ease-out, border-color .22s ease-out, background-color .22s ease-out, box-shadow .22s ease-out;background:#ffffff85;border:1px solid #0878b929;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:9px;font-weight:750;display:inline-flex;box-shadow:inset 0 1px #ffffffb8}.live-button:active{transition-duration:var(--motion-press);transform:scale(.96)}.live-dot{background:0 0;border:1.5px solid;border-radius:50%;flex:none;width:7px;height:7px}.live-button.is-live{color:#087d69;background:#def8f1ad;border-color:#16947729;box-shadow:inset 0 1px #fffc,0 0 0 4px #1694770d}.live-button.is-live .live-dot{background:#e95f58;border-color:#e95f58;animation:2.2s ease-in-out infinite live-pulse;box-shadow:0 0 0 4px #e95f581f}@keyframes live-pulse{50%{box-shadow:0 0 0 6px #e95f580a}}.play{isolation:isolate;width:44px;height:44px;color:var(--accent-strong);cursor:pointer;transition:transform var(--motion-release) var(--spring-snappy), color .22s ease-out, border-color .22s ease-out, background-color .22s ease-out, opacity .18s ease-out, box-shadow .24s linear;background:#ffffff85;border:1px solid #0878b929;border-radius:14px;place-items:center;display:grid;position:relative;box-shadow:inset 0 1px #ffffffb8}.play:before{display:none}.play:active{opacity:.84;transition-duration:var(--motion-press);transition-timing-function:cubic-bezier(.4,0,1,1);transform:scale(.95)}.play.is-playing{color:var(--accent-strong);background:#0878b91a;border-color:#0878b93d;box-shadow:inset 0 1px #ffffff9e}.play .ui-icon{width:16px;height:16px;animation:control-icon-in .19s var(--spring-snappy) both}.play .ui-icon-play{margin-left:2px}@keyframes control-icon-in{0%{opacity:0;transform:scale(.82)}}.time-slider{--progress:50%;appearance:none;cursor:pointer;background:0 0;width:100%;height:44px;margin:0}.time-slider::-webkit-slider-runnable-track{background:linear-gradient(90deg, #ffffff4d 0 var(--progress), #fff0 var(--progress)), linear-gradient(90deg, #1a3454 0%, #b87e83 19%, #82c9d8 34%, #bce6e8 50%, #7dc4d6 66%, #da8a75 81%, #1a3454 100%);border-radius:999px;height:7px;box-shadow:inset 0 1px 2px #102b3a0f}.time-slider::-webkit-slider-thumb{appearance:none;background:linear-gradient(145deg, #45b8d2, var(--accent-strong));width:25px;height:25px;transition:transform var(--motion-release) var(--spring-snappy);border:5px solid #fff;border-radius:50%;margin-top:-9px;box-shadow:0 3px 9px #102b3a3d,0 0 0 1px #0878b914}.time-slider:active::-webkit-slider-thumb{transition-duration:var(--motion-press);transform:scale(1.1)}.time-slider::-moz-range-track{background:linear-gradient(90deg,#1a3454 0%,#b87e83 19%,#82c9d8 34%,#bce6e8 50%,#7dc4d6 66%,#da8a75 81%,#1a3454 100%);border:0;border-radius:999px;height:7px}.time-slider::-moz-range-progress{background:#ffffff47;border-radius:999px;height:7px}.time-slider::-moz-range-thumb{background:linear-gradient(145deg, #45b8d2, var(--accent-strong));width:17px;height:17px;transition:transform var(--motion-release) var(--spring-snappy);border:5px solid #fff;border-radius:50%;box-shadow:0 3px 9px #102b3a3d}.time-slider:active::-moz-range-thumb{transition-duration:var(--motion-press);transform:scale(1.1)}.range-labels{color:var(--label-tertiary);font-variant-numeric:tabular-nums;pointer-events:none;justify-content:space-between;align-self:end;margin:0 1px 1px;font-size:8px;transition:color .52s linear;display:flex}.slider-stack{min-height:44px;display:grid;position:relative}.slider-stack .time-slider,.slider-stack .range-labels{grid-area:1/1}.fiction-notice{color:#8a6534;letter-spacing:.01em;align-items:baseline;gap:6px;margin:0 0 6px;font-size:11px;line-height:1.35;display:flex}.fiction-notice-mark{background:#d69a4a;border-radius:50%;flex:none;align-self:center;width:6px;height:6px}.surface-screen.is-dark .fiction-notice{color:#f0d098db}.tide-events{background:0 0;border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(48px,1fr));gap:4px;margin:0;padding:0;transition:background-color .52s linear;display:grid}.tide-events[data-fiction] .event-copy strong{text-underline-offset:3px;-webkit-text-decoration:underline dashed #be8a4299;text-decoration:underline dashed #be8a4299;text-decoration-thickness:1px}.surface-screen.is-dark .tide-events[data-fiction] .event-copy strong{text-decoration-color:#f0d0988c}.fiction-notice-forecast{color:#f4d69ee6;margin:0 0 10px;font-size:12px}.forecast-card-content[data-fiction] .forecast-tide strong{text-underline-offset:3px;-webkit-text-decoration:underline dashed #f4d69e80;text-decoration:underline dashed #f4d69e80;text-decoration-thickness:1px}.event{text-align:center;cursor:pointer;min-width:0;min-height:44px;transition:transform var(--motion-release) var(--spring-snappy), opacity .16s ease-out, color .18s ease-out, background-color .18s ease-out, box-shadow .18s ease-out;background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:0;padding:2px 1px;display:flex}.event:active{opacity:.82;transition-duration:var(--motion-press);transition-timing-function:cubic-bezier(.4,0,1,1);transform:scale(.96)}.event.is-active{color:var(--accent-strong);background:#ffffffc7;box-shadow:inset 0 0 0 1px #0878b924}.event-icon{width:14px;height:14px;color:var(--accent);background:#0878b917;border-radius:5px;place-items:center;font-size:11px;font-weight:800;transition:color .36s linear,background-color .36s linear;display:grid}.event-icon .ui-icon{width:12px;height:12px;scale:.58}.event-icon.low{color:#3f7889;background:#3f788917}.event.is-active .event-icon{animation:event-select-in .26s var(--spring-snappy) both}@keyframes event-select-in{0%{opacity:.45;transform:scale(.72)}}.event-copy{justify-items:center;min-width:0;display:grid}.event-copy>span{max-width:100%;color:var(--label-secondary);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;font-size:7.5px;font-weight:600;line-height:1;transition:color .52s linear;overflow:hidden}.event-copy strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:14.5px;font-weight:650;line-height:1.05}.event-height{display:none}.controls-footer{grid-template-columns:minmax(84px,1fr) auto;align-items:center;gap:6px;min-height:44px;display:grid}.forecast-button{width:100%;min-height:44px;color:var(--label-secondary);box-shadow:none;cursor:pointer;transition:transform var(--motion-release) var(--spring-snappy), color .18s ease-out, background-color .18s ease-out, opacity .16s ease-out;background:#0878b90b;border:0;border-radius:12px;place-items:center;margin:0;padding:11px 8px 2px;font-size:11px;font-weight:650;line-height:1;display:grid;position:relative}.forecast-button:before{content:"";opacity:.38;width:34px;height:4px;transition:opacity .18s ease-out, transform var(--motion-release) var(--spring-snappy);pointer-events:none;background:currentColor;border-radius:999px;position:absolute;top:7px;left:50%;transform:translate(-50%)}.forecast-button>span{white-space:nowrap}.forecast-button small{color:var(--label-tertiary);font-size:inherit;font-weight:550;transition:color .52s linear}.forecast-button:active{opacity:.86;transition-duration:var(--motion-press);transition-timing-function:cubic-bezier(.4,0,1,1);transform:scale(.97)}.demo-note{color:var(--label-tertiary);text-align:center;margin:7px 0 -3px;font-size:9px;transition:color .52s linear}.data-provenance{min-width:0;min-height:44px;color:var(--label-tertiary);text-align:center;justify-content:flex-end;align-items:center;gap:4px;margin:0;font-size:9px;line-height:1;display:flex;overflow:visible}.source-badge{min-width:0;min-height:18px;color:var(--label-secondary);letter-spacing:.025em;text-overflow:ellipsis;white-space:nowrap;background:#ffffff8a;border:1px solid #102b3a14;border-radius:999px;justify-content:center;align-items:center;gap:5px;padding:0 7px;font-size:8px;font-weight:700;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.source-badge:before{background:currentColor;border-radius:50%;flex:none;width:5px;height:5px;box-shadow:0 0 0 3px}@supports (color:color-mix(in lab, red, red)){.source-badge:before{box-shadow:0 0 0 3px color-mix(in srgb, currentColor 12%, transparent)}}.source-badge:before{content:""}.source-badge--live{color:#08719d;background:#0878b913;border-color:#0878b921}.source-badge--demo{color:#8a622a;background:#b5843c17;border-color:#9c6f2e26}.source-badge--official{color:var(--accent-strong);cursor:pointer;transition:transform var(--motion-release) var(--spring-snappy), background-color .16s ease-out;background:#0878b912;border-color:#0878b921}.source-badge--official:active{transition-duration:var(--motion-press);transform:scale(.96)}button.source-badge--official{min-width:56px;min-height:44px;padding-inline:8px}.surface-screen.is-dark .controls{color:#f1fafb;background:#071f2ff5;border-color:#bcebf21c;box-shadow:0 26px 58px #01131f57,0 4px 16px #01131f29,inset 0 1px #ffffff17}.surface-screen.is-dark .controls:before{opacity:.7}.surface-screen.is-dark .time-row p,.surface-screen.is-dark .range-labels,.surface-screen.is-dark .tide-events-heading>span,.surface-screen.is-dark .event-copy>span,.surface-screen.is-dark .event-height,.surface-screen.is-dark .demo-note,.surface-screen.is-dark .data-provenance{color:#e1f6f994}.surface-screen.is-dark .live-button,.surface-screen.is-dark .play{color:#ddf7fadb;background:#e1f8fb13;border-color:#bcebf221;box-shadow:inset 0 1px #ffffff14}.surface-screen.is-dark .play.is-playing{color:#a8eee2;background:#5dd3bb1a;border-color:#a8eee229}.surface-screen.is-dark .live-button.is-live{color:#a8eee2;background:#5dd3bb1a}.surface-screen.is-dark .tide-events-heading h2{color:#f1fafb}.surface-screen.is-dark .forecast-button{color:#e1f6f9ad;background:#e5fafc0e}.surface-screen.is-dark .forecast-button small{color:#e1f6f97a}.surface-screen.is-dark .source-badge{color:#e1f6f9b8;background:#e5fafc12;border-color:#d2f3f81a}.surface-screen.is-dark .source-badge--live{color:#9de2ec;background:#7ed6e41a}.surface-screen.is-dark .source-badge--demo{color:#edcb8f;background:#ddae5c1a}.surface-screen.is-dark .source-badge--official{color:#b9eaf0;background:#7ed6e41a}.surface-screen.is-dark .tide-events{background:0 0}.surface-screen.is-dark .event.is-active{color:#c7f1f5;background:#7ed6e424;box-shadow:inset 0 0 0 1px #aee8f01a}.surface-screen.is-dark .event-icon{color:#9edfe9;background:#8fdeea1c}.surface-screen.is-dark .event-icon.low{color:#83bdca;background:#83bdca1a}.forecast-screen{min-height:0;padding:max(26px, env(safe-area-inset-top)) 20px max(20px, env(safe-area-inset-bottom));color:#f2fbfd;background:radial-gradient(66% 38% at 88% 10%,#4eb2c72e,#0000 74%),radial-gradient(82% 52% at -12% 56%,#0d6d8f2e,#0000 74%),linear-gradient(#075e8e 0%,#075171 25%,#063f59 57%,#042b40 100%);position:relative;overflow:clip}.forecast-screen:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(110% 120% at 50% -45%,#91e0ec26,#0000 72%);width:100%;height:170px;position:absolute;top:0;left:0}.forecast-screen:after{content:"";z-index:0;opacity:.1;pointer-events:none;background-image:radial-gradient(circle at 12% 18%,#fff 0 1px,#0000 1.5px),radial-gradient(circle at 79% 31%,#fff 0 1px,#0000 1.6px),radial-gradient(circle at 43% 78%,#fff 0 .8px,#0000 1.4px);background-size:94px 108px,126px 144px,82px 96px;position:absolute;inset:0}.underwater-light{z-index:0;opacity:.34;filter:blur(20px);pointer-events:none;background:radial-gradient(54% 90% at 28% 0,#c7f0f62b,#0000 70%),radial-gradient(42% 76% at 74% -8%,#8ad6e21a,#0000 73%);width:116%;height:390px;animation:9s ease-in-out infinite alternate underwater-light-sway;position:absolute;top:-28px;left:-8%;-webkit-mask-image:linear-gradient(#000 0%,#000000b8 50%,#0000 92%);mask-image:linear-gradient(#000 0%,#000000b8 50%,#0000 92%)}.seabed{z-index:1;opacity:.98;pointer-events:none;height:206px;position:absolute;bottom:-12px;left:-8%;right:-8%}.seabed:before{content:"";z-index:0;background:radial-gradient(9px 5px at 12% 37%,#b8d3c533,#0000 72%),radial-gradient(12px 6px at 37% 52%,#d7e4cd29,#0000 74%),radial-gradient(8px 4px at 69% 42%,#b1cec12e,#0000 73%),radial-gradient(13px 7px at 88% 56%,#d1e0cb24,#0000 74%),linear-gradient(#587e78 0%,#416d69 30%,#28535a 68%,#1f4651 100%);border-radius:50% 50% 0 0/22px 18px 0 0;position:absolute;inset:72px -5% -24px;box-shadow:0 -16px 38px #2568691f}.seabed:after{content:"";z-index:2;opacity:.42;background:radial-gradient(82px 12px at 18% 22%,#0000 43%,#97b7aa2e 48%,#0000 56%),radial-gradient(108px 14px at 69% 48%,#0000 43%,#91b0a624 48%,#0000 56%),radial-gradient(7px 4px at 8% 62%,#779392 0 72%,#0000 76%),radial-gradient(5px 3px at 24% 33%,#90a69f 0 72%,#0000 77%),radial-gradient(8px 5px at 47% 71%,#6a898a 0 73%,#0000 77%),radial-gradient(6px 4px at 67% 38%,#8ba09a 0 72%,#0000 77%),radial-gradient(9px 5px at 91% 64%,#628287 0 73%,#0000 78%);height:88px;position:absolute;bottom:20px;left:2%;right:2%}.seabed-dune{z-index:1;transform-origin:50%;border-radius:50% 50% 0 0/100% 100% 0 0;display:block;position:absolute}.dune-back{opacity:.38;background:linear-gradient(#6c978cb3,#30636414);width:68%;height:34px;bottom:69px;right:-4%;transform:rotate(-2deg)}.dune-front{opacity:.48;background:linear-gradient(#5b867ec2,#224e551f);width:76%;height:42px;bottom:47px;left:-5%;transform:rotate(1.5deg)}.seabed-rock{z-index:3;background:linear-gradient(145deg,#62868a 0%,#355f68 58%,#234b56 100%);border-radius:54% 46% 45% 55%/66% 62% 38% 34%;display:block;position:absolute;box-shadow:inset 5px 7px 8px #b4d6d11f,0 10px 18px #021c2b33}.rock-one{width:38px;height:24px;bottom:43px;right:13%;transform:rotate(-8deg)}.rock-two{width:25px;height:17px;bottom:35px;right:28%;transform:rotate(11deg)}.rock-three{width:31px;height:20px;bottom:47px;left:13%;transform:rotate(6deg)}.seagrass{z-index:2;transform-origin:50% 100%;background:linear-gradient(90deg,#2c7770,#54a08a 48%,#205f63);border-radius:80% 20% 46% 54%;width:5px;height:52px;animation:3.25s ease-in-out infinite alternate seagrass-sway;display:block;position:absolute;bottom:47px;box-shadow:12px 14px 0 -1px #327a72}.seagrass:before,.seagrass:after{content:"";background:inherit;transform-origin:50% 100%;border-radius:80% 20% 48% 52%;width:5px;position:absolute;bottom:0}.seagrass:before{height:37px;left:-10px;transform:rotate(-17deg)}.seagrass:after{height:43px;left:9px;transform:rotate(14deg)}.grass-one{height:54px;animation-delay:-1.1s;left:17%}.grass-two{height:62px;animation-duration:3.85s;animation-direction:alternate-reverse;bottom:49px;right:18%;scale:.88}.grass-three{height:38px;animation-duration:2.9s;animation-delay:-2.2s;bottom:42px;left:57%;scale:.72}.seabed-shell{z-index:4;background:repeating-radial-gradient(at 50% 100%,#b8c4ad 0 2px,#819c94 3px 4px);border-radius:50% 50% 42% 42%;width:19px;height:13px;display:block;position:absolute;bottom:42px;right:44%;transform:rotate(8deg);box-shadow:0 4px 7px #031f2b2e}.seabed-crab{z-index:5;opacity:.82;filter:drop-shadow(0 3px 3px #021f2b29);width:34px;height:21px;animation:20s ease-in-out infinite crab-scuttle;display:block;position:absolute;bottom:39px;left:31%}.crab-body{z-index:2;background:linear-gradient(145deg,#c58268,#8f5c55 72%);border-radius:52% 48% 44% 46%;width:18px;height:11px;position:absolute;bottom:3px;left:8px;box-shadow:inset 0 2px 2px #ffddbf2e}.crab-body:before,.crab-body:after{content:"";border-top:1px solid #8b5952;border-bottom:1px solid #8b5952;width:12px;height:8px;position:absolute;bottom:-5px}.crab-body:before{right:11px;transform:skew(-28deg)rotate(9deg)}.crab-body:after{left:11px;transform:skew(28deg)rotate(-9deg)}.crab-claw{z-index:1;border:3px solid #a76a5b;border-bottom-color:#0000;border-radius:50%;width:10px;height:8px;position:absolute;top:1px}.crab-claw-left{left:0;transform:rotate(-30deg)}.crab-claw-right{right:0;transform:rotate(30deg)}@keyframes crab-scuttle{0%,8%{transform:translate(0)}14%,25%{transform:translate(13px,-1px)}31%,57%{transform:translate(20px)}63%,82%{transform:translate(7px,-1px)}89%,to{transform:translate(0)}}@keyframes seabed-arrive{0%{opacity:.18;transform:translateY(46px)scale(1.035)}72%{opacity:1;transform:translateY(-3px)scale(.998)}to{opacity:.98;transform:none}}@keyframes seagrass-sway{0%{transform:rotate(-5deg)skew(-2deg)}to{transform:rotate(7deg)skew(3deg)}}.screen-stack.is-underwater .seabed{animation:seabed-arrive .64s var(--spring-smooth) both}.bubble{z-index:0;border:1px solid #d3f5fa59;border-radius:50%;width:8px;height:8px;animation:8s ease-in infinite bubble-rise;position:absolute}.bubble-one{bottom:12%;left:9%}.bubble-two{width:13px;height:13px;animation-duration:10s;animation-delay:-3s;bottom:30%;right:8%}.bubble-three{width:5px;height:5px;animation-duration:7s;animation-delay:-1.5s;bottom:6%;left:76%}.screen-stack:not(.is-underwater) .bubble,.screen-stack:not(.is-underwater) .underwater-light,.screen-stack:not(.is-underwater) .seagrass,.screen-stack:not(.is-underwater) .seabed-crab{animation-play-state:paused}@keyframes bubble-rise{0%{opacity:0;transform:translateY(30px)scale(.7)}15%{opacity:.55}85%{opacity:.35}to{opacity:0;transform:translateY(-230px)scale(1.15)}}@keyframes underwater-light-sway{to{opacity:.4;transform:translate(10px)}}@keyframes underwater-content-in{0%{opacity:0;transform:translateY(12px)scale(.99)}}.screen-stack.is-underwater .forecast-header,.screen-stack.is-underwater .underwater-intro,.screen-stack.is-underwater .day-button,.screen-stack.is-underwater .forecast-card,.screen-stack.is-underwater .official-shom-panel,.screen-stack.is-underwater .forecast-screen .data-provenance,.screen-stack.is-underwater .underwater-note{animation:underwater-content-in .42s var(--spring-smooth) both}.screen-stack.is-underwater .forecast-header{animation-delay:70ms}.screen-stack.is-underwater .underwater-intro{animation-delay:.105s}.screen-stack.is-underwater .day-button:first-child{animation-delay:.12s}.screen-stack.is-underwater .day-button:nth-child(2){animation-delay:.14s}.screen-stack.is-underwater .day-button:nth-child(3){animation-delay:.16s}.screen-stack.is-underwater .day-button:nth-child(4){animation-delay:.18s}.screen-stack.is-underwater .day-button:nth-child(5){animation-delay:.2s}.screen-stack.is-underwater .day-button:nth-child(6){animation-delay:.22s}.screen-stack.is-underwater .day-button:nth-child(7){animation-delay:.24s}.screen-stack.is-underwater .forecast-card{animation-delay:.21s}.screen-stack.is-underwater .official-shom-panel{animation-delay:.23s}.screen-stack.is-underwater .forecast-screen .data-provenance{animation-delay:.245s}.screen-stack.is-underwater .underwater-note{animation-delay:.24s}.forecast-header,.underwater-intro,.calendar,.forecast-card,.official-shom-panel,.forecast-screen .data-provenance,.underwater-note{z-index:2;position:relative}.forecast-header{grid-template-columns:48px 1fr auto;align-items:center;gap:12px;display:grid}.back-button{color:#fff;cursor:pointer;width:48px;height:48px;transition:transform var(--motion-release) var(--spring-snappy), opacity .16s ease-out, background-color .16s ease-out;background:#ffffff17;border:1px solid #ffffff2b;border-radius:18px;place-items:center;display:grid;box-shadow:inset 0 1px #ffffff1f}.back-button:active{opacity:.78;transition-duration:var(--motion-press);transition-timing-function:cubic-bezier(.4,0,1,1);transform:scale(.96)}.back-button .ui-icon{width:18px;height:18px}.forecast-header p,.forecast-header h2{margin:0}.forecast-header p{color:#e8f8fb9e;letter-spacing:.07em;text-transform:uppercase;margin-bottom:2px;font-size:10px;font-weight:700}.forecast-header h2{letter-spacing:-.03em;white-space:nowrap;text-overflow:ellipsis;font-size:23px;font-weight:600;overflow:hidden}.forecast-header>div{min-width:0}.forecast-depth{color:#f0fbfdc7;background:#ffffff12;border:1px solid #ffffff1f;border-radius:999px;place-items:center;min-height:36px;padding:0 13px;font-size:11px;font-weight:600;display:grid}.underwater-intro{margin-top:36px}.underwater-intro p{color:#91d9e7;letter-spacing:.075em;text-transform:uppercase;margin:0 0 6px;font-size:10px;font-weight:700}.underwater-intro h3{letter-spacing:-.048em;max-width:300px;margin:0;font-size:clamp(32px,8.7vw,36px);font-weight:600;line-height:.98}.calendar{scrollbar-width:none;background:#0323366b;border:1px solid #ffffff1a;border-radius:23px;grid-template-columns:repeat(7,minmax(44px,1fr));gap:4px;margin-top:27px;padding:6px;display:grid;overflow-x:auto;box-shadow:inset 0 1px #ffffff0d}.calendar::-webkit-scrollbar{display:none}.day-button{color:#ebfafc99;cursor:pointer;min-width:0;min-height:70px;transition:transform var(--motion-release) var(--spring-snappy), opacity .16s ease-out, color .18s ease-out, background-color .18s ease-out, box-shadow .18s ease-out;background:0 0;border:0;border-radius:17px;align-content:center;justify-items:center;gap:1px;padding:5px 2px;display:grid}.day-button:active{opacity:.78;transition-duration:var(--motion-press);transition-timing-function:cubic-bezier(.4,0,1,1);transform:scale(.96)}.day-button.is-selected{color:#073c56;background:#eefbfc;box-shadow:0 8px 18px #011c2b33}.day-button span{text-transform:capitalize;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10px;font-weight:600;overflow:hidden}.day-button strong{font-variant-numeric:tabular-nums;font-size:18px;line-height:1.1}.day-button small{min-width:23px;height:15px;color:inherit;background:#ffffff14;border-radius:999px;place-items:center;margin-top:2px;font-size:9px;font-weight:700;display:grid}.day-button.is-selected small{color:var(--accent);background:#0878b91a}.forecast-card{background:#032538d1;border:1px solid #ffffff1a;border-radius:28px;margin-top:16px;padding:18px;box-shadow:0 24px 48px #01162333,inset 0 1px #ffffff0d}.forecast-card-content{animation:forecast-card-refresh .26s var(--spring-smooth) both}@keyframes forecast-card-refresh{0%{opacity:0;transform:translateY(7px)}}.forecast-card-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.forecast-card-heading p,.forecast-card-heading h4{text-transform:capitalize;margin:0}.forecast-card-heading p{color:#e2f6fa94;letter-spacing:.065em;text-transform:uppercase;margin-bottom:2px;font-size:9px;font-weight:700}.forecast-card-heading h4{letter-spacing:-.035em;font-size:23px;font-weight:600}.forecast-coef{justify-items:end;min-width:76px;display:grid}.forecast-coef span{color:#e2f6fa8f;letter-spacing:.055em;text-transform:uppercase;font-size:10px}.forecast-coef strong{color:#a5e2eb;letter-spacing:-.045em;font-size:31px;line-height:1}.forecast-tides{grid-template-columns:1fr 1fr;gap:7px;margin-top:16px;display:grid}.forecast-tide{background:#fff1;border-radius:16px;grid-template-columns:27px 1fr auto;align-items:center;gap:7px;min-width:0;padding:10px;display:grid}.forecast-icon{color:#b7e9f1;background:#9ee1ec1f;border-radius:10px;place-items:center;width:27px;height:27px;font-size:12px;font-weight:800;display:grid}.forecast-icon.low{color:#7ab6c7}.forecast-icon .ui-icon{width:16px;height:16px;scale:.8}.forecast-tide p,.forecast-tide strong{margin:0}.forecast-tide p{color:#e2f6fa91;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:600;overflow:hidden}.forecast-tide strong{font-variant-numeric:tabular-nums;font-size:14px}.forecast-tide>span:last-child{color:#e2f6fa99;font-size:10px;font-weight:600}.underwater-note{color:#d9f1f670;text-align:center;margin:13px 0 0;font-size:9px}.forecast-screen .data-provenance{color:#d9f1f68f;margin-top:8px}.forecast-screen .source-badge{color:#e4f8fbbd;background:#fff1;border-color:#e0f8fb1c}.forecast-screen .source-badge--live{color:#a8e8ef;background:#7cd7e41c}.forecast-screen .source-badge--demo{color:#efd096;background:#dcab561c}.official-shom-panel{color:#eefbfd;-webkit-tap-highlight-color:transparent;text-align:left;cursor:pointer;min-width:0;min-height:54px;transition:transform var(--motion-release) var(--spring-snappy), opacity .16s ease-out, border-color .18s ease-out, background-color .18s ease-out;background:linear-gradient(135deg,#9be1eb1c,#ffffff0b),#021f308a;border:1px solid #e2f8fb21;border-radius:19px;grid-template-columns:38px minmax(0,1fr) 28px;align-items:center;gap:10px;margin-top:10px;padding:7px 9px;text-decoration:none;display:grid;overflow:hidden;box-shadow:0 13px 28px #01162326,inset 0 1px #ffffff0f}.official-shom-panel:active{opacity:.82;transition-duration:var(--motion-press);transition-timing-function:cubic-bezier(.4,0,1,1);transform:scale(.98)}.official-shom-mark{color:#c3edf2;letter-spacing:.045em;background:#89dae71a;border:1px solid #d3f5fa24;border-radius:13px;place-items:center;width:38px;height:38px;font-size:8px;font-weight:800;line-height:1;display:grid}.official-shom-copy{gap:2px;min-width:0;display:grid}.official-shom-copy strong,.official-shom-copy small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.official-shom-copy strong{letter-spacing:-.01em;font-size:12px;font-weight:650}.official-shom-copy small{color:#ddf4f894;font-size:9px;line-height:1.25}.official-shom-chevron{color:#e4f8fbc2;width:28px;height:28px;transition:transform var(--motion-release) var(--spring-snappy), background-color .18s ease-out;background:#ffffff12;border-radius:10px;place-items:center;font-size:20px;font-weight:500;line-height:1;display:grid}.official-shom-chevron .ui-icon{width:14px;height:14px;transform:rotate(-90deg)}.shom-dialog{width:min(620px,100vw - 36px);max-width:none;height:min(820px,100svh - 36px);max-height:none;color:var(--label);background:#f7fbfc;border:1px solid #102b3a1a;border-radius:34px;margin:0;padding:0;position:fixed;inset:50% auto auto 50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 42px 100px #0525345c,0 10px 28px #05253429,inset 0 1px #fffffff5}.shom-dialog[open]{animation:shom-dialog-in .42s var(--spring-smooth) both}.shom-dialog::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#051c287a;animation:.22s ease-out both shom-backdrop-in}.shom-dialog:focus{outline:none}.shom-sheet{height:100%;min-height:0;padding:max(14px, env(safe-area-inset-top)) 14px max(14px, env(safe-area-inset-bottom));flex-direction:column;display:flex}.shom-dialog-header{flex:none;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:0 4px 10px 8px;display:flex}.shom-dialog-header>div{min-width:0}.shom-dialog-header p,.shom-dialog-header h2{margin:0}.shom-dialog-header p{color:var(--accent-strong);letter-spacing:.075em;text-transform:uppercase;margin-bottom:3px;font-size:10px;font-weight:750}.shom-dialog-header h2{letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap;font-size:26px;font-weight:700;line-height:1.05;overflow:hidden}.shom-dialog-body{overscroll-behavior:contain;scrollbar-color:#0878b942 transparent;touch-action:pan-y pinch-zoom;-webkit-overflow-scrolling:touch;background:radial-gradient(circle at 85% 5%,#71c0d224,#0000 18rem),linear-gradient(#eef7f9 0%,#e3f0f3 100%);border:1px solid #102b3a12;border-radius:26px;flex:auto;min-height:0;padding:12px;overflow-y:auto;box-shadow:inset 0 1px #ffffffdb}.api-attribution{color:#102b3aa8;text-align:center;background:#ffffff94;border:1px solid #102b3a14;border-radius:16px;max-width:675px;margin:14px auto 2px;padding:12px 14px;font-size:11px;line-height:1.45}.shom-dialog-body::-webkit-scrollbar{width:6px}.shom-dialog-body::-webkit-scrollbar-thumb{background:#0878b93d;border-radius:999px}.shom-close{min-width:68px;min-height:44px;color:var(--accent-strong);cursor:pointer;transition:transform var(--motion-release) var(--spring-snappy), opacity .16s ease-out, background-color .16s ease-out;background:#0878b914;border:0;border-radius:15px;flex:none;place-items:center;padding:0 13px;font-size:12px;font-weight:700;display:inline-grid}.shom-close:active{opacity:.76;transition-duration:var(--motion-press);transform:scale(.96)}@keyframes shom-dialog-in{0%{opacity:0;transform:translate(-50%,calc(24px - 50%))scale(.985)}}@keyframes shom-dialog-in-mobile{0%{opacity:0;transform:translateY(26px)scale(.99)}}@keyframes shom-backdrop-in{0%{background:#051c2800}}.port-dialog{--phone-bottom-inset:max(6px, calc((100svh - min(880px, calc(100svh - 48px))) / 2 + 6px));inset:auto auto var(--phone-bottom-inset) 50%;width:min(398px,100vw - 36px);max-width:none;height:min(650px,78svh);max-height:calc(100svh - 48px);color:var(--label);background:#f9fcfc;border:1px solid #102b3a1a;border-radius:34px;margin:0;padding:0;position:fixed;overflow:hidden;transform:translate(-50%);box-shadow:0 34px 80px #092f3f4d,0 8px 24px #092f3f24,inset 0 1px #fffffff5}.port-dialog[open]{animation:port-sheet-in .42s var(--spring-smooth) both}.port-dialog::backdrop{background:#07212d57;animation:.22s ease-out both port-backdrop-in}.port-dialog:focus{outline:none}@keyframes port-sheet-in{0%{opacity:0;transform:translate(-50%,28px)scale(.985)}}@keyframes port-sheet-in-mobile{0%{opacity:0;transform:translateY(28px)scale(.99)}}@keyframes port-backdrop-in{0%{background:#07212d00}}.port-sheet{height:100%;min-height:0;padding:10px 16px max(14px, env(safe-area-inset-bottom));flex-direction:column;display:flex}.sheet-grabber{background:#102b3a29;border-radius:999px;flex:none;align-self:center;width:38px;height:5px;margin-bottom:11px}.port-sheet-header{justify-content:space-between;align-items:center;gap:16px;min-height:56px;display:flex}.port-sheet-header p,.port-sheet-header h2{margin:0}.port-sheet-header p{color:var(--accent-strong);letter-spacing:.075em;text-transform:uppercase;margin-bottom:3px;font-size:10px;font-weight:700}.port-sheet-header h2{letter-spacing:-.045em;font-size:27px;font-weight:700;line-height:1}.sheet-close{min-width:68px;min-height:44px;color:var(--accent-strong);cursor:pointer;transition:transform var(--motion-release) var(--spring-snappy), opacity .16s ease-out, background-color .16s ease-out;background:#0878b914;border:0;border-radius:15px;padding:0 13px;font-size:12px;font-weight:700}.port-search{background:var(--surface-soft);border:1px solid #102b3a14;border-radius:18px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:52px;margin-top:17px;padding:0 8px 0 15px;transition:border-color .16s ease-out,box-shadow .16s ease-out,background-color .16s ease-out;display:grid}.port-search:focus-within{background:#fff;border-color:#0878b959;box-shadow:0 0 0 4px #0878b914}.port-search>.ui-icon{width:17px;height:17px;color:var(--label-tertiary)}.port-search input{width:100%;min-width:0;height:50px;color:var(--label);background:0 0;border:0;outline:0;padding:0;font-size:15px}.port-search input::placeholder{color:var(--label-tertiary)}.port-search input::-webkit-search-cancel-button{appearance:none}.port-search input:focus-visible{outline:none}.port-search-clear{min-height:44px;color:var(--accent-strong);cursor:pointer;transition:transform var(--motion-release) var(--spring-snappy), opacity .16s ease-out, background-color .16s ease-out;background:0 0;border:0;border-radius:13px;padding:0 9px;font-size:11px;font-weight:700}.port-list-heading{color:var(--label-tertiary);letter-spacing:.055em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;margin-top:17px;padding:0 4px 8px;font-size:10px;font-weight:700;display:flex}.port-list-heading span:last-child{letter-spacing:0;text-transform:none;font-weight:600}.port-list{scrollbar-color:#102b3a24 transparent;scrollbar-width:thin;overscroll-behavior:contain;flex:1;min-height:0;margin:0;padding:0 2px 0 0;list-style:none;overflow-y:auto}.port-list li+li{margin-top:5px}.port-dialog[open] .port-list li{animation:port-row-in .32s var(--spring-smooth) both}.port-dialog[open] .port-list li:first-child{animation-delay:70ms}.port-dialog[open] .port-list li:nth-child(2){animation-delay:92ms}.port-dialog[open] .port-list li:nth-child(3){animation-delay:.114s}.port-dialog[open] .port-list li:nth-child(4){animation-delay:.136s}.port-dialog[open] .port-list li:nth-child(5){animation-delay:.158s}.port-dialog[open] .port-list li:nth-child(6){animation-delay:.18s}.port-dialog[open] .port-list li:nth-child(7){animation-delay:.202s}.port-dialog[open] .port-list li:nth-child(8){animation-delay:.224s}@keyframes port-row-in{0%{opacity:0;transform:translateY(8px)}}.port-row{text-align:left;cursor:pointer;width:100%;min-height:66px;transition:transform var(--motion-release) var(--spring-snappy), opacity .16s ease-out, background-color .16s ease-out, border-color .16s ease-out;background:0 0;border:1px solid #0000;border-radius:19px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:8px 10px;display:grid}.port-row:active{opacity:.82;transition-duration:var(--motion-press);transition-timing-function:cubic-bezier(.4,0,1,1);transform:scale(.975)}.port-row.is-selected{background:#0878b913;border-color:#0878b921}.port-row-mark{width:42px;height:42px;color:var(--accent-strong);background:#fff;border-radius:15px;place-items:center;display:grid;box-shadow:0 5px 14px #16485b14}.port-row-mark .ui-icon{width:18px;height:18px}.port-row-copy{gap:3px;min-width:0;display:grid}.port-row-copy strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.port-row-copy small{color:var(--label-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.port-row-meta{justify-content:flex-end;align-items:center;gap:7px;min-width:56px;display:flex}.port-row-meta>small{color:var(--label-tertiary);white-space:nowrap;font-size:9px;font-weight:700}.port-check{color:#fff;background:var(--accent);border-radius:9px;place-items:center;width:24px;height:24px;display:grid}.port-check .ui-icon{width:15px;height:15px}.port-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;padding:24px 18px;display:flex}.port-empty-icon{width:52px;height:52px;color:var(--accent-strong);background:#0878b917;border-radius:19px;place-items:center;margin-bottom:13px;display:grid}.port-empty strong{letter-spacing:-.025em;font-size:18px}.port-empty p{max-width:280px;color:var(--label-secondary);margin:7px 0 16px;font-size:12px;line-height:1.45}.port-empty button{color:#fff;background:var(--accent-strong);cursor:pointer;min-height:44px;transition:transform var(--motion-release) var(--spring-snappy), opacity .16s ease-out, background-color .16s ease-out;border:0;border-radius:15px;padding:0 16px;font-size:12px;font-weight:700}.sheet-close:active,.port-search-clear:active,.port-empty button:active{opacity:.76;transition-duration:var(--motion-press);transition-timing-function:cubic-bezier(.4,0,1,1);transform:scale(.96)}.port-demo-note{color:var(--label-tertiary);text-align:center;flex:none;margin:10px 0 0;font-size:9px}@media (hover:hover) and (pointer:fine){.location:hover:not(:active){opacity:.76}.location:hover:not(:active) .ui-icon{transform:translateY(1px)}.play:hover:not(:active){background-color:#ffffffb8;transform:translateY(-1px)scale(1.015)}.live-button:hover:not(:active){background-color:#ffffffb8;transform:translateY(-1px)}.event:hover:not(:active):not(.is-active){background:#0878b90e}.surface-screen.is-dark .event:hover:not(:active):not(.is-active){background:#91deea14}.forecast-button:hover:not(:active){color:var(--accent-strong);background-color:#0878b913;transform:translateY(-1px)}.forecast-button:hover:not(:active):before{opacity:.56;transform:translate(-50%)translateY(-1px)scaleX(1.08)}.back-button:hover:not(:active){background:#ffffff26;transform:translateY(-1px)}.official-shom-panel:hover:not(:active){background:linear-gradient(135deg,#9be1eb26,#ffffff0f),#021f3094;border-color:#d7f6fa38;transform:translateY(-1px)}.official-shom-panel:hover:not(:active) .official-shom-chevron{background:#ffffff1f;transform:translate(2px)}.day-button:hover:not(:active):not(.is-selected){color:#f0fcfdd6;background:#ffffff0e}.sheet-close:hover,.shom-close:hover,.port-search-clear:hover{background:#0878b91f}.port-empty button:hover:not(:active){background:#075779;transform:translateY(-1px)}.port-row:hover:not(:active){background:#0878b90e}}.screen-stack.is-underwater .surface-screen .sky-cloud,.screen-stack.is-underwater .surface-screen .star-field:after,.screen-stack.is-underwater .surface-screen .water:before,.screen-stack.is-underwater .surface-screen .water:after,.screen-stack.is-underwater .surface-screen .water-caustics,.screen-stack.is-underwater .surface-screen .water-pattern,.screen-stack.is-underwater .surface-screen .water-current,.screen-stack.is-underwater .surface-screen .water-foam,.screen-stack.is-underwater .surface-screen .water-slosh,.screen-stack.is-underwater .surface-screen .water-spray,.screen-stack.is-underwater .surface-screen .water-glint,.screen-stack.is-underwater .surface-screen .lighthouse-beam,.screen-stack.is-underwater .surface-screen .coastal-birds{animation-play-state:paused}.phone:has(:is(.port-dialog,.shom-dialog)[open]) .surface-screen .sky-cloud{animation-play-state:paused}.phone:has(:is(.port-dialog,.shom-dialog)[open]) .surface-screen .star-field:after{animation-play-state:paused}.phone:has(:is(.port-dialog,.shom-dialog)[open]) .surface-screen .water:before{animation-play-state:paused}.phone:has(:is(.port-dialog,.shom-dialog)[open]) .surface-screen .water:after{animation-play-state:paused}.phone:has(:is(.port-dialog,.shom-dialog)[open]) .surface-screen .water-caustics{animation-play-state:paused}.phone:has(:is(.port-dialog,.shom-dialog)[open]) .surface-screen .water-pattern{animation-play-state:paused}.phone:has(:is(.port-dialog,.shom-dialog)[open]) .surface-screen .water-current{animation-play-state:paused}.phone:has(:is(.port-dialog,.shom-dialog)[open]) .surface-screen .water-foam{animation-play-state:paused}.phone:has(:is(.port-dialog,.shom-dialog)[open]) .surface-screen .water-slosh{animation-play-state:paused}.phone:has(:is(.port-dialog,.shom-dialog)[open]) .surface-screen .water-spray{animation-play-state:paused}.phone:has(:is(.port-dialog,.shom-dialog)[open]) .surface-screen .water-glint{animation-play-state:paused}.phone:has(:is(.port-dialog,.shom-dialog)[open]) .surface-screen .lighthouse-beam{animation-play-state:paused}.phone:has(:is(.port-dialog,.shom-dialog)[open]) .surface-screen .coastal-birds{animation-play-state:paused}.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}button:focus-visible,input:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #0878b961}.surface-screen.is-dark button:focus-visible,.forecast-screen button:focus-visible,.forecast-screen a:focus-visible{outline-color:#b8eff6d1}@media (width<=520px){.app-stage{padding:0;display:block}.phone{width:100%;height:100svh;min-height:640px;box-shadow:none;border:0;border-radius:0}.interface,.forecast-screen{padding-inline:18px}.tide-events{grid-template-columns:repeat(auto-fit,minmax(44px,1fr))}.live-button{padding-inline:9px}.official-shom-panel{grid-template-columns:36px minmax(0,1fr) 27px;gap:9px}.official-shom-mark{width:36px;height:36px}.shom-dialog{border-bottom:0;border-left:0;border-right:0;border-radius:34px 34px 0 0;width:100%;height:min(780px,94svh);max-height:100svh;inset:auto 0 0;transform:none}.shom-dialog[open]{animation-name:shom-dialog-in-mobile}.shom-sheet{padding:10px 10px max(10px, env(safe-area-inset-bottom))}.shom-dialog-header{padding-inline:8px 4px}.shom-dialog-body{border-radius:24px 24px 20px 20px;padding:9px}.port-dialog{border-bottom:0;border-left:0;border-right:0;border-radius:34px 34px 0 0;width:100%;height:min(650px,82svh);max-height:calc(100svh - 18px);inset:auto 0 0;transform:none}.port-dialog[open]{animation-name:port-sheet-in-mobile}}@media (width<=350px){.forecast-gesture{display:none}}@media (height<=740px){.phone{min-height:640px}.interface{padding-top:max(18px, env(safe-area-inset-top))}.tide-reading{margin-top:5px}.date{margin-bottom:6px}.height-value{font-size:58px}.next-tide{margin-top:6px}.controls{padding:10px 12px}.time-row strong{font-size:28px}.time-slider,.tide-events{margin:0}.event{min-height:44px}.forecast-button{min-height:44px;margin:0}.time-row{margin:0}.demo-note{margin-top:3px}.data-provenance{min-height:44px;margin:0}.source-badge{min-height:16px;padding-inline:6px;font-size:7.5px}button.source-badge--official{min-height:44px}.underwater-intro{margin-top:20px}.underwater-intro h3{font-size:34px}.calendar{margin-top:17px}.day-button{min-height:59px}.forecast-card{margin-top:11px;padding:14px}.forecast-tides{margin-top:10px}.forecast-tide{padding:8px}.official-shom-panel{border-radius:17px;grid-template-columns:32px minmax(0,1fr) 25px;gap:8px;min-height:46px;margin-top:7px;padding:5px 7px}.official-shom-mark{border-radius:11px;width:32px;height:32px;font-size:7px}.official-shom-copy strong{font-size:11px}.official-shom-copy small{font-size:8px}.official-shom-chevron{width:25px;height:25px}.underwater-note{margin-top:7px}.port-dialog{height:min(560px,100svh - 24px)}.shom-dialog{height:calc(100svh - 12px)}.shom-dialog-header{min-height:50px;padding-bottom:6px}.shom-dialog-header h2{font-size:23px}.shom-dialog-body{padding:8px}.port-sheet{padding-top:8px}.sheet-grabber{margin-bottom:7px}.port-search,.port-list-heading{margin-top:11px}.port-row{min-height:60px}}@media (prefers-contrast:more){:root{--label-secondary:#102b3ad1;--label-tertiary:#102b3aad;--separator:#102b3a47}.controls,.coefficient,.forecast-card,.calendar,.official-shom-panel,.source-badge,.shom-dialog,.port-dialog,.port-search,.port-row.is-selected{border-width:2px}}@media (prefers-reduced-transparency:reduce){.back-button{-webkit-backdrop-filter:none;background:#0a3f5a}.controls,.coefficient{background:#fbfdfd}.official-shom-panel{background:#073d59}.shom-dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.shom-dialog-body{background:#e8f3f6}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.port-dialog[open],.port-dialog::backdrop,.shom-dialog[open],.shom-dialog::backdrop,.port-dialog[open] .port-list li,.sky-cloud,.star-field:after,.water:before,.water:after,.water-caustics,.water-pattern,.water-current,.water-foam,.water-slosh,.water-spray,.water-glint,.beach-scene,.shoreline-track,.lighthouse-beam,.lighthouse-glare,.lighthouse-lantern:after,.beachgoers,.coastal-birds,.bubble,.underwater-light,.screen-stack.is-underwater .seabed,.seagrass,.seabed-crab,.screen-stack.is-underwater .forecast-header,.screen-stack.is-underwater .underwater-intro,.screen-stack.is-underwater .day-button,.screen-stack.is-underwater .forecast-card,.screen-stack.is-underwater .official-shom-panel,.screen-stack.is-underwater .forecast-screen .data-provenance,.screen-stack.is-underwater .underwater-note,.forecast-card-content,.play .ui-icon,.event.is-active .event-icon{animation:none!important}.screen-stack{transition:none!important}button:active,.official-shom-panel:active{transform:none!important}.time-slider:active::-webkit-slider-thumb{transform:none!important}.time-slider:active::-moz-range-thumb{transform:none!important}button:active{opacity:.74}}.source-credit{color:#d6e8f06b;text-align:center;text-wrap:balance;margin:-4px 0 0;padding:0 4px;font-size:10px;line-height:1.45}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
