/* An ocean panel in the existing reflective blue glass. */
.surf-section{margin:44px 0;scroll-margin-top:24px}.surf-section>.section-heading{align-items:center}.surf-intro{font-size:12px;color:#527988;margin:12px 0 0;line-height:1.6}.surf-section-mark{font-size:64px;line-height:1;color:#3387a6;text-shadow:0 1px 0 #efffff}.surf-panel{padding:28px;overflow:hidden}.surf-toolbar{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;padding-bottom:22px;border-bottom:1px solid rgba(237,255,255,.55)}.surf-toolbar label{display:grid;gap:9px;font-size:10px;color:#3e6b7c;font-weight:600;letter-spacing:.4px}.surf-toolbar select{font:inherit;font-size:12px;letter-spacing:0;color:#164f67;padding:12px 34px 12px 13px;border:1px solid rgba(245,255,255,.85);border-radius:12px;background:rgba(222,248,255,.25);box-shadow:inset 0 1px 3px rgba(255,255,255,.4),0 3px 7px rgba(40,105,133,.06);max-width:100%}.surf-toolbar select option{background:#ddf3fa;color:#164f67}.surf-beach-label{flex:1;min-width:190px}.surf-days{align-self:flex-end;margin-bottom:2px;flex-shrink:0}.surf-days button{font-size:10px;padding:9px 11px;white-space:nowrap}.surf-refresh{padding:12px 0;min-width:82px;font-size:11px}.surf-message{font-size:12px;line-height:1.5;color:#815626}.surf-message:not(:empty){padding:14px 0}.surf-empty{padding:32px 0;color:#527988;font-size:13px}.surf-spotline{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:25px 0 20px}.surf-small{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#456f80}.surf-spotline h3{font-size:27px;letter-spacing:-.8px;margin:8px 0 0;font-weight:550}.surf-live{font-size:10px;color:#456f80;text-align:right;line-height:1.7}.surf-summary{position:relative;isolation:isolate;display:grid;grid-template-columns:1.1fr 1fr 1fr 1.2fr;gap:0;padding:25px 0;background:linear-gradient(110deg,rgba(122,197,227,.18),rgba(226,250,255,.14));border:1px solid rgba(239,255,255,.6);border-radius:20px;overflow:hidden;box-shadow:inset 0 2px 2px rgba(255,255,255,.35)}.surf-wave-visual{position:absolute;z-index:-1;width:290px;bottom:-12px;left:-5px;opacity:.75}.surf-wave-visual svg{display:block;width:100%}.surf-metric{padding:0 24px;min-width:0;border-right:1px solid rgba(244,255,255,.6)}.surf-metric:last-child{border-right:0}.surf-metric>span{font-size:10px;color:#416d80;display:block;margin-bottom:13px}.surf-metric strong{display:block;font-size:37px;line-height:1.1;letter-spacing:-1.2px;font-weight:500;color:#124e66;white-space:nowrap}.surf-metric strong em{font-size:15px;font-style:normal;letter-spacing:0;margin-left:6px;color:#3f758a}.surf-metric>small{display:block;font-size:10px;line-height:1.8;color:#3e6e81;margin-top:12px}.surf-metric>small b{font-weight:600}.surf-metric-weather strong{font-size:20px;letter-spacing:-.4px;white-space:normal;min-height:41px;display:flex;align-items:center}.surf-extras{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;border-bottom:1px solid rgba(234,255,255,.6);padding:20px 4px;font-size:11px;color:#497487}.surf-extras strong{color:#1d536b;margin-left:8px;font-weight:650}.surf-sample-note{font-size:10px;line-height:1.7;color:#50788a;margin:12px 0 22px}.surf-status{display:flex;align-items:center;gap:14px;padding:16px 19px;border-radius:14px;border:1px solid rgba(244,255,255,.65);background:rgba(222,247,255,.23);color:#315f73}.surf-status>span{font-size:28px}.surf-status strong{font-size:12px}.surf-status p{font-size:11px;line-height:1.6;margin:5px 0 0}.surf-status-storm,.surf-status-strong{background:rgba(255,226,173,.27);color:#725222;border-color:rgba(255,243,214,.8)}.surf-hour-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:25px 0 14px}.surf-hour-heading h3{font-size:17px;font-weight:550;margin:0;letter-spacing:-.4px}.surf-hour-heading>span{font-size:10px;color:#547c8c}.surf-table-scroll{overflow:auto;max-height:360px;border:1px solid rgba(239,255,255,.6);border-radius:14px;scrollbar-width:thin;scrollbar-color:#76acc0 transparent}.surf-table{width:100%;min-width:870px;border-collapse:collapse;text-align:left;font-size:12px}.surf-table thead{position:sticky;top:0;z-index:1;background:#b8dfe9}.surf-table th{font-weight:550;white-space:nowrap}.surf-table thead th{font-size:9px;color:#416d80;padding:14px 16px}.surf-table tbody th,.surf-table td{padding:13px 16px;border-top:1px solid rgba(236,255,255,.45);color:#285d73;white-space:nowrap}.surf-table td small{display:block;font-size:9px;color:#527e8f;margin-top:5px}.surf-table tbody tr:nth-child(even){background:rgba(230,251,255,.13)}.surf-table tbody tr:hover{background:rgba(241,254,255,.25)}.surf-bottom-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:22px;margin-top:25px}.surf-tide,.surf-safety{padding:20px 23px;border:1px solid rgba(240,255,255,.65);border-radius:17px;background:rgba(222,248,255,.12)}.surf-tide .surf-hour-heading{margin:0 0 10px}.surf-tide p,.surf-safety p{font-size:11px;line-height:1.8;color:#456f81}.surf-tide>a,.surf-safety a{font-size:11px;color:#19678b;text-decoration:none;font-weight:600}.surf-tide>a:hover,.surf-safety a:hover,.surf-research a:hover{text-decoration:underline}.surf-tide>small{font-size:9px;line-height:1.8;color:#527888;display:block}.surf-level-caption{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#396e85;margin:23px 0 5px}.surf-level-caption strong{font-weight:550}.surf-level-chart{width:100%;display:block;overflow:visible;color:#527d90;margin:10px 0}.surf-level-chart text{fill:currentColor;font:10px var(--font)}.surf-safety h3{font-size:21px;line-height:1.3;letter-spacing:-.5px;margin:12px 0 20px;font-weight:550}.surf-safety a{display:block;margin:15px 0}.surf-safety p{margin:22px 0 0}.surf-attribution{margin-top:24px;color:#527988;font-size:9px;line-height:1.9}.surf-attribution p{margin:0}.surf-attribution a{color:#326f86}.surf-research{border-top:1px solid rgba(238,255,255,.55);padding-top:18px;margin-top:18px;font-size:11px;color:#426f82}.surf-research summary{cursor:pointer;font-weight:550}.surf-research p{font-size:11px;line-height:1.8}.surf-destination-list{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:20px 0}.surf-destination-list strong{display:block;font-size:11px;margin-bottom:7px}.surf-destination-list span{font-size:10px;line-height:2}.surf-destination-list a{color:#326d86;text-decoration:none}.surf-research>small{font-size:9px}.surf-section :focus-visible{outline:2px solid #17698c;outline-offset:4px}.surf-section button:disabled{opacity:.55;cursor:wait}
@media(max-width:1050px){.surf-days{order:3}.surf-refresh{margin-left:auto}.surf-metric{padding:0 17px}.surf-metric strong{font-size:31px}.surf-metric-weather strong{font-size:19px}.header nav{gap:20px}}
@media(max-width:750px){.surf-panel{padding:20px}.surf-summary{grid-template-columns:1fr 1fr;gap:22px 0}.surf-metric:nth-child(3){border-right:0}.surf-metric>small{min-height:35px}.surf-metric strong{font-size:33px}.surf-metric-weather strong{font-size:20px}.surf-bottom-grid{grid-template-columns:1fr}.surf-destination-list{grid-template-columns:repeat(2,1fr)}.surf-live{max-width:145px}.surf-toolbar{gap:14px}.surf-toolbar label:first-child{width:130px}.surf-days{width:100%;display:flex;justify-content:space-around}.surf-extras{display:grid;grid-template-columns:1fr 1fr;font-size:10px;gap:15px}.surf-hour-heading{align-items:flex-start}.surf-hour-heading>span{max-width:130px;text-align:right;line-height:1.6}.surf-section-mark{font-size:46px}.surf-intro{max-width:280px}.surf-tide,.surf-safety{padding:18px}}
@media(max-width:430px){.surf-toolbar label:first-child{width:100%}.surf-beach-label{min-width:0;width:100%}.surf-toolbar label{flex-basis:100%}.surf-refresh{order:4;padding:0;margin:0}.surf-spotline{align-items:flex-start;flex-direction:column;gap:9px}.surf-live{max-width:none;text-align:left}.surf-spotline h3{font-size:25px}.surf-metric{padding:0 13px}.surf-metric>span{font-size:9px}.surf-metric>small{font-size:9px}.surf-metric strong{font-size:29px}.surf-metric strong em{font-size:12px}.surf-metric-weather strong{font-size:17px}.surf-days button{font-size:9px;padding:9px 7px}.surf-extras{gap:12px 7px}.surf-extras strong{margin-left:4px}.surf-destination-list{grid-template-columns:1fr}.surf-section>.section-heading h2{max-width:255px;font-size:25px}}
@media(max-width:750px){.surf-section>.section-heading{display:block;position:relative;padding-right:35px}.surf-section-mark{position:absolute;right:0;top:5px;font-size:38px}}
/* Enter with a board, greet in the centre once, and walk off the other side. */
.surf-section>.section-heading{position:relative}.surf-ze-welcome{position:relative;display:block;width:100%;height:0;margin:0;padding:0;overflow:hidden;transition:height .25s ease;pointer-events:none}.surf-ze-welcome.surf-ze-active{height:215px;margin-bottom:18px}.surf-ze-actor{position:absolute;left:0;bottom:0;width:180px;height:180px;opacity:1}.surf-ze-sprite{width:100%;height:100%;background-image:url('assets/ze-surf-greeting.webp');background-size:300% 100%;background-position:0% 0%;background-repeat:no-repeat;filter:drop-shadow(0 7px 5px rgba(32,100,123,.13));will-change:background-position}.surf-ze-sprite.surf-ze-walking{background-image:url('assets/ze-surf-walk-10.webp');background-size:500% 200%}.surf-ze-bubble{position:absolute;top:26px;left:calc(50% + 80px);width:calc(50% - 100px);max-width:330px;box-sizing:border-box;border:1px solid rgba(246,255,255,.9);border-radius:19px 19px 19px 4px;padding:18px 23px;background:rgba(219,247,255,.3);box-shadow:inset 0 1px 3px rgba(255,255,255,.7),0 6px 15px rgba(33,103,131,.06);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:auto}.surf-ze-bubble[hidden]{display:none}.surf-ze-name{display:block;font-size:8px;letter-spacing:1.6px;color:#3d7c91;font-weight:650}.surf-ze-phrase{font-size:18px;line-height:1.45;color:#19566f;letter-spacing:-.4px;margin:9px 0 12px}.surf-ze-actions button{background:none;border:0;padding:3px 0;font:inherit;font-size:10px;color:#246e8c;cursor:pointer}.surf-ze-actions button:hover{text-decoration:underline}.surf-ze-actions button:disabled{opacity:.55;cursor:default}
@media(max-width:750px){.surf-section>.section-heading{padding-right:0}.surf-ze-welcome.surf-ze-active{height:275px;margin-bottom:14px}.surf-ze-actor{width:150px;height:150px}.surf-ze-bubble{top:7px;left:50%;transform:translateX(-50%);width:min(320px,95%);max-width:none;padding:12px 17px;border-radius:18px 18px 4px 18px}.surf-ze-phrase{font-size:15px;margin:6px 0 7px}.surf-ze-name{font-size:7px}.surf-ze-actions button{font-size:9px}}
@media(max-width:430px){.surf-ze-actor{width:140px;height:140px}.surf-ze-welcome.surf-ze-active{height:270px}.surf-ze-bubble{width:96%}}
@media(prefers-reduced-motion:reduce){.surf-ze-welcome{transition:none}.surf-ze-sprite{will-change:auto}}
#sun-character-traveler,.surf-ze-actor{pointer-events:auto;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.ze-hop{animation:ze-hop .42s cubic-bezier(.3,1.6,.5,1)}
@keyframes ze-hop{0%{scale:1}35%{scale:1.07 .94}60%{scale:.97 1.05}100%{scale:1}}
.ze-sound-hint{display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:3px 9px 3px 7px;border-radius:20px;background:rgba(21,126,145,.12);color:#157e91;font:650 11px/1.2 var(--font,system-ui);letter-spacing:.1px;vertical-align:middle}
.ze-sound-hint::after{content:'Toque para ouvir'}
html[lang^="es"] .ze-sound-hint::after{content:'Toca para escuchar'}
html[lang^="en"] .ze-sound-hint::after{content:'Tap to listen'}
.ze-sound-hint .w1,.ze-sound-hint .w2{animation:ze-wave 1.6s ease-in-out infinite}
.ze-sound-hint .w2{animation-delay:.25s}
@keyframes ze-wave{0%,100%{opacity:.25}50%{opacity:1}}
html.ze-voice-on .ze-sound-hint{display:none}
@media(prefers-reduced-motion:reduce){.ze-hop,.ze-sound-hint .w1,.ze-sound-hint .w2{animation:none}}
.ze-install{display:flex;align-items:center;gap:10px;margin:4px auto 18px 0;padding:8px 18px 8px 9px;border:1px solid rgba(255,255,255,.95);border-radius:40px;background:linear-gradient(125deg,rgba(255,255,255,.75),rgba(190,232,246,.6));box-shadow:inset 0 1px 2px #fff,0 6px 18px rgba(30,94,139,.12);color:#155f74;font:700 14px/1.2 var(--font,system-ui);cursor:pointer;backdrop-filter:blur(8px)}
.ze-install[hidden]{display:none}
.ze-install img{border-radius:50%}
.ze-install:hover{background:linear-gradient(125deg,rgba(255,255,255,.9),rgba(200,240,250,.75))}
.ze-install-toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:50;display:flex;align-items:center;gap:14px;width:min(520px,calc(100% - 28px));padding:16px 18px;border:1px solid #fff;border-radius:22px;background:linear-gradient(125deg,rgba(248,255,255,.97),rgba(200,238,248,.96));box-shadow:0 18px 50px rgba(20,80,110,.25);color:#174f63;font:500 15px/1.45 var(--font,system-ui)}
.ze-install-toast[hidden]{display:none}
.ze-install-toast img{flex:none;border-radius:50%}
.ze-install-toast p{flex:1}
.ze-install-toast button{flex:none;border:0;border-radius:20px;padding:8px 14px;background:#157e91;color:#fff;font:700 13px var(--font,system-ui);cursor:pointer}
.ze-ios-share{display:inline-block;padding:0 4px;border:1px solid currentColor;border-radius:5px;font-size:12px}
.ze-install-toast{background:linear-gradient(125deg,#f8ffff,#d4f0f7)}
@media(max-width:560px){.ze-install-toast{flex-wrap:wrap;font-size:14px;gap:12px;padding:16px}.ze-install-toast p{flex:1 1 calc(100% - 60px)}.ze-install-toast button{flex:1 1 100%;padding:11px}}

.no-voice .ze-sound-hint{display:none}
