:root{--environment-blue:#087cff;--environment-deep:#061a38;--environment-ink:#0a1830;--environment-muted:#64748b;--environment-yellow:#ffd84d;--environment-sky:#dff2ff;--environment-panel:#ffffff}
/* Readable chart annotations in explicit and automatic themes. */
:root{--environment-annotation-ink:#233d59;--environment-annotation-halo:#fff;--environment-now-ink:#705000}
html[data-theme="dark"]{--environment-annotation-ink:#f5f9ff;--environment-annotation-halo:#102943;--environment-now-ink:#ffd36a}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]){--environment-annotation-ink:#f5f9ff;--environment-annotation-halo:#102943;--environment-now-ink:#ffd36a}}
#environment-panel-tide .rotezi-tide-point text{fill:var(--environment-annotation-ink);stroke:var(--environment-annotation-halo);stroke-width:3;font-size:12px;letter-spacing:0}
#environment-panel-tide .rotezi-tide-now>text{fill:var(--environment-now-ink)}
#environment-panel-sun text.environment-sun-chart-marker{fill:var(--environment-now-ink);stroke:none}
.environment-hub{margin-top:52px;scroll-margin-top:18px}
.environment-footer-note{margin:12px 0 0;color:var(--environment-muted);font-size:14px;line-height:1.5;text-align:center;text-wrap:pretty}
html[data-theme="dark"] .environment-footer-note{color:#adc0d6}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .environment-footer-note{color:#adc0d6}}
.environment-panel-copy p:empty{display:none}
.environment-extra-details{grid-column:1/-1;color:var(--environment-annotation-ink);font-size:14px;line-height:1.5}
.environment-extra-details summary{cursor:pointer;text-align:center;padding:10px;min-height:44px;box-sizing:border-box}
.environment-extra-details:not([open]) .details-open-label,.environment-extra-details[open] .details-closed-label{display:none}
.environment-extra-details dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:4px 0 0;padding:0 8px;text-align:center}
.environment-extra-details dt{font-weight:700}.environment-extra-details dd{margin:3px 0 0;text-wrap:pretty}
.environment-weather-reading{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:6px 10px;letter-spacing:normal}
.environment-weather-temperature{font-size:26px;font-weight:800;white-space:nowrap}
.environment-weather-condition,.environment-weather-feels{font-size:14px;line-height:1.4;font-weight:750;white-space:nowrap}
@media(max-width:360px){
 .environment-weather-reading{gap:6px 8px}
 .environment-weather-temperature{font-size:24px}
 .environment-weather-condition,.environment-weather-feels{font-size:12px}
 .rotezi-main #condicoes #environment-weather-summary{font-size:12px;line-height:1.5}
 .rotezi-main #condicoes .environment-panel .environment-chart-scroll-note{font-size:11px;line-height:1.5;text-align:center;white-space:nowrap}
}
.environment-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}
.environment-heading>div{max-width:760px}.environment-heading h2{margin:7px 0 8px;color:var(--environment-ink);font-size:clamp(30px,4vw,46px);line-height:1.02;letter-spacing:-.045em}.environment-heading p{margin:0;color:var(--environment-muted);font-size:15px;line-height:1.55}.environment-updated{flex:0 0 auto;padding:8px 11px;border-radius:999px;background:#eaf3ff;color:#075ec8;font-size:11px;font-weight:800}
.environment-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.environment-tab{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px;min-height:76px;padding:13px;border:1px solid #d9e4f2;border-radius:19px;background:rgba(255,255,255,.82);color:#15243b;text-align:left;box-shadow:0 8px 26px rgba(15,45,86,.05);cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease}
.environment-tab:hover{transform:translateY(-2px);border-color:#9fc8fb}.environment-tab:focus-visible{outline:3px solid rgba(8,124,255,.28);outline-offset:2px}.environment-tab.is-active{border-color:#2388ff;background:#fff;box-shadow:0 14px 34px rgba(8,124,255,.14),inset 0 0 0 1px rgba(8,124,255,.08)}.environment-tab>span:last-child{min-width:0;display:grid;gap:3px}.environment-tab small{color:#61728a;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.environment-tab strong{overflow:hidden;color:#0a1830;font-size:13px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.environment-tab-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;font-size:21px;font-weight:800}.environment-tab-icon.is-tide{background:#dff2ff;color:#075fae}.environment-tab-icon.is-weather{background:#fff4c7;color:#a65b00}.environment-tab-icon.is-sun{background:#fff0d0;color:#a94f00}.environment-tab-icon.is-moon{background:#e9e8ff;color:#5046c9}
html[data-theme="dark"] .rotezi-main #condicoes .environment-tab{background:#102943;border-color:#294760;color:#f5f9ff}
html[data-theme="dark"] .rotezi-main #condicoes .environment-tab.is-active{background:#15395c;border-color:#3294ff}
html[data-theme="dark"] .rotezi-main #condicoes .environment-tab small{color:#adc0d6}
html[data-theme="dark"] .rotezi-main #condicoes .environment-tab strong{color:#f5f9ff}
.environment-panels{position:relative}.environment-panel[hidden]{display:none!important}.environment-panel{animation:environment-panel-in .35s ease both}.environment-data-panel{position:relative;isolation:isolate;min-height:560px;overflow:hidden;padding:0 24px 24px;border-color:rgba(126,154,188,.22);background:linear-gradient(160deg,#fff 0%,#f6faff 100%)}
@keyframes environment-panel-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

#environment-panel-tide.tide-card{position:relative;isolation:isolate;grid-template-columns:auto 1fr;overflow:hidden;margin-top:0;padding-top:150px;border-color:rgba(28,112,202,.18);background:linear-gradient(180deg,#fafdff 0%,#fff 100%)}
#environment-panel-tide .tide-icon,#environment-panel-tide .tide-main{position:relative;z-index:2}.environment-ocean-scene{position:absolute;z-index:0;top:0;left:0;width:100%;height:126px;overflow:hidden;background:linear-gradient(180deg,#59b9ff 0%,#0877dc 52%,#0754ac 100%)}.environment-ocean-scene::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 72% 18%,rgba(255,216,77,.95) 0 7px,rgba(255,216,77,.25) 8px 36px,transparent 37px)}.environment-ocean-glow{position:absolute;left:66%;bottom:-30px;width:210px;height:90px;border-radius:50%;background:rgba(255,216,77,.2);filter:blur(16px)}
.environment-wave-layer{position:absolute;left:-12%;width:124%;height:78px;border-radius:46% 54% 0 0;background:rgba(255,255,255,.25);transform-origin:center bottom;animation:environment-wave 6s ease-in-out infinite}.wave-one{bottom:-43px}.wave-two{bottom:-51px;opacity:.7;animation-duration:8s;animation-delay:-2s}.wave-three{bottom:-60px;opacity:.38;animation-duration:10s;animation-delay:-5s}
@keyframes environment-wave{0%,100%{transform:translate3d(-1.5%,0,0) rotate(-1deg) scaleY(.94)}50%{transform:translate3d(1.5%,-8px,0) rotate(1deg) scaleY(1.08)}}
.rotezi-tide-current-value rect{fill:var(--environment-yellow);stroke:#c79300;stroke-width:1}.rotezi-tide-current-value text{fill:#3d2b00!important;font-size:4.5px!important;font-weight:950}.rotezi-tide-now circle{fill:var(--environment-yellow)!important;stroke:#8b6500;stroke-width:1.2}.rotezi-tide-now line{stroke:var(--environment-yellow)!important}

.environment-weather-scene,.environment-sun-scene,.environment-moon-scene{position:relative;height:230px;margin:0 -24px 24px;overflow:hidden;border-radius:inherit;border-bottom-left-radius:32px;border-bottom-right-radius:32px}
.environment-weather-scene{background:linear-gradient(155deg,#0a5bc2 0%,#38a8ff 58%,#bfeaff 100%)}.weather-orb{position:absolute;top:35px;right:13%;width:78px;height:78px;border-radius:50%;background:var(--environment-yellow);box-shadow:0 0 0 18px rgba(255,216,77,.12),0 0 55px rgba(255,216,77,.6);animation:environment-weather 6s ease-in-out infinite}.weather-cloud{position:absolute;width:190px;height:48px;border-radius:999px;background:rgba(255,255,255,.9);filter:drop-shadow(0 10px 20px rgba(3,48,99,.16));animation:environment-weather 9s ease-in-out infinite}.weather-cloud::before,.weather-cloud::after{content:'';position:absolute;border-radius:50%;background:inherit}.weather-cloud::before{left:30px;bottom:12px;width:70px;height:70px}.weather-cloud::after{right:26px;bottom:8px;width:88px;height:88px}.cloud-one{left:8%;bottom:58px}.cloud-two{right:4%;bottom:26px;opacity:.55;transform:scale(.72);animation-delay:-4s}.weather-rain{display:none;position:absolute;inset:120px 12% 0;background:repeating-linear-gradient(105deg,transparent 0 20px,rgba(216,242,255,.72) 21px 24px,transparent 25px 40px);animation:environment-rain 1.2s linear infinite}.environment-weather-scene[data-scene="rain"] .weather-rain,.environment-weather-scene[data-scene="storm"] .weather-rain{display:block}.environment-weather-scene[data-scene="rain"] .weather-orb,.environment-weather-scene[data-scene="storm"] .weather-orb,.environment-weather-scene[data-scene="cloudy"] .weather-orb{opacity:.35}.environment-weather-scene[data-scene="storm"]{background:linear-gradient(155deg,#182c51,#455f83 58%,#9bb2ca)}
@keyframes environment-weather{0%,100%{transform:translate3d(-7px,0,0)}50%{transform:translate3d(8px,-7px,0)}}@keyframes environment-rain{from{background-position:0 0}to{background-position:45px 70px}}

.environment-panel-copy{position:relative;z-index:2;max-width:780px}.environment-panel-copy h3{margin:6px 0 7px;color:#091a33;font-size:clamp(27px,4vw,42px);line-height:1.04;letter-spacing:-.04em}.environment-panel-copy p{margin:0;color:#61728a;font-size:14px;line-height:1.5}.environment-metrics{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.environment-metric{display:grid;gap:4px;min-width:0;padding:14px;border:1px solid #dfe8f3;border-radius:16px;background:rgba(255,255,255,.78)}.environment-metric span{color:#52657d;font-size:11px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.environment-metric strong{color:#0b1d36;font-size:21px;line-height:1.15}.environment-metric small{overflow:hidden;color:#52657d;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.environment-selected{position:relative;z-index:2;display:flex;align-items:center;gap:12px;margin-top:12px;padding:15px;border-radius:17px;background:#071d3e;color:#fff}.environment-selected>span{font-size:28px}.environment-selected div{display:grid;gap:2px}.environment-selected small{color:#a9c8ec;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.environment-selected strong{font-size:16px}.environment-selected p{margin:0;color:#d6e7fb;font-size:11px}
.environment-timeline{position:relative;z-index:2;display:flex;gap:8px;margin-top:12px;padding:2px 0 9px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#b8cae0 transparent}.environment-timeline button{flex:1 0 108px;display:grid;place-items:center;gap:5px;min-height:116px;padding:10px;border:1px solid #dce6f1;border-radius:15px;background:#fff;color:#152944;cursor:pointer}.environment-timeline button:hover{border-color:#88bafb}.environment-timeline button.is-active{border-color:var(--environment-yellow);box-shadow:inset 0 0 0 2px var(--environment-yellow),0 8px 18px rgba(195,139,0,.12)}.environment-timeline button small{color:#52657d;font-size:11px;font-weight:800}.environment-timeline button strong{font-size:17px}.environment-timeline button b{font-size:22px}.environment-timeline button span{color:#52657d;font-size:11px;text-align:center}.environment-source{position:relative;z-index:2;margin:12px 0 0;color:#52657d;font-size:11px;line-height:1.5}

.environment-sun-scene{background:linear-gradient(180deg,#6bc4ff 0%,#c9ecff 64%,#ffe1a5 100%)}.environment-sun-orbit{position:absolute;left:8%;right:8%;bottom:23px;height:155px;border:2px dashed rgba(255,255,255,.62);border-bottom:0;border-radius:50% 50% 0 0}.environment-sun-orbit span{--sun-progress:.5;--sun-y:1;position:absolute;left:calc(var(--sun-progress)*100%);bottom:calc(var(--sun-y)*125px);width:62px;height:62px;margin:-31px;border-radius:50%;background:var(--environment-yellow);box-shadow:0 0 0 17px rgba(255,216,77,.14),0 0 46px rgba(255,183,38,.58);animation:environment-sun 5s ease-in-out infinite}.environment-horizon{position:absolute;left:-5%;right:-5%;bottom:-42px;height:90px;border-radius:50% 50% 0 0;background:linear-gradient(180deg,#0a70c7,#064b99)}
@keyframes environment-sun{0%,100%{filter:brightness(1);transform:scale(1)}50%{filter:brightness(1.14);transform:scale(1.06)}}

.environment-moon-scene{background:radial-gradient(circle at 50% 100%,#204779 0%,#0c2347 45%,#050d20 100%)}.environment-moon-orbit{position:absolute;inset:22px;display:grid;place-items:center;border:1px solid rgba(126,169,230,.2);border-radius:50%;animation:environment-moon 12s ease-in-out infinite}.environment-moon-disc{--moon-light:.5;position:relative;display:block;width:112px;height:112px;overflow:hidden;border-radius:50%;background:#f5f1d8;box-shadow:0 0 0 16px rgba(214,225,255,.04),0 0 60px rgba(198,218,255,.32)}.environment-moon-disc::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 33% 32%,rgba(92,94,100,.17) 0 7%,transparent 8%),radial-gradient(circle at 68% 61%,rgba(92,94,100,.12) 0 10%,transparent 11%)}.environment-moon-disc::after{content:'';position:absolute;top:-2%;bottom:-2%;right:-2%;width:calc((1 - var(--moon-light))*100%);border-radius:50%;background:#071226;box-shadow:-8px 0 16px rgba(7,18,38,.45)}.environment-moon-disc[data-waxing="false"]::after{right:auto;left:-2%;box-shadow:8px 0 16px rgba(7,18,38,.45)}.environment-star{position:absolute;width:4px;height:4px;border-radius:50%;background:#fff;box-shadow:0 0 8px #fff;animation:environment-star 2.4s ease-in-out infinite}.star-one{top:25%;left:16%}.star-two{top:18%;right:20%;animation-delay:-.8s}.star-three{right:12%;bottom:24%;animation-delay:-1.5s}
@keyframes environment-moon{0%,100%{transform:translateY(3px) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}@keyframes environment-star{0%,100%{opacity:.35;transform:scale(.7)}50%{opacity:1;transform:scale(1.2)}}

@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .environment-heading h2{color:#f3f8ff}html:not([data-theme="light"]) .environment-heading p{color:#adc0d6}html:not([data-theme="light"]) .environment-updated{background:#102e55;color:#8bc4ff}html:not([data-theme="light"]) .environment-tab{border-color:#203a59;background:#0b213f;color:#eaf3ff}html:not([data-theme="light"]) .environment-tab.is-active{border-color:#3294ff;background:#0e2a4d}html:not([data-theme="light"]) .environment-tab small{color:#9db3cc}html:not([data-theme="light"]) .environment-tab strong{color:#eff6ff}html:not([data-theme="light"]) .environment-data-panel{border-color:#203a5b;background:linear-gradient(160deg,#07182f,#0b2341)}html:not([data-theme="light"]) .environment-panel-copy h3{color:#f3f7ff}html:not([data-theme="light"]) .environment-panel-copy p{color:#afc1d5}html:not([data-theme="light"]) .environment-metric{border-color:#27415f;background:rgba(10,32,59,.76)}html:not([data-theme="light"]) .environment-metric span,html:not([data-theme="light"]) .environment-metric small{color:#9eb2ca}html:not([data-theme="light"]) .environment-metric strong{color:#fff}html:not([data-theme="light"]) .environment-timeline button{border-color:#284361;background:#0b2544;color:#f3f8ff}html:not([data-theme="light"]) .environment-timeline button small,html:not([data-theme="light"]) .environment-timeline button span{color:#a7bad0}html:not([data-theme="light"]) .environment-source{color:#9eb2ca}html:not([data-theme="light"]) #environment-panel-tide.tide-card{background:linear-gradient(180deg,#07192f,#0b2340);border-color:#244665}}

@media(max-width:860px){.environment-heading{align-items:flex-start;flex-direction:column}.environment-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.environment-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.environment-hub{margin-top:38px}.environment-heading{gap:12px;margin-bottom:14px}.environment-heading h2{font-size:32px}.environment-heading p{font-size:13px}.environment-tabs{gap:7px}.environment-tab{min-height:68px;padding:10px;border-radius:16px}.environment-tab-icon{width:36px;height:36px;border-radius:12px;font-size:18px}.environment-tab strong{display:-webkit-box;overflow:hidden;font-size:11px;line-height:1.2;text-overflow:clip;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.environment-data-panel{min-height:540px;padding:0 15px 18px}.environment-weather-scene,.environment-sun-scene,.environment-moon-scene{height:190px;margin:0 -15px 19px;border-bottom-left-radius:24px;border-bottom-right-radius:24px}.environment-panel-copy h3{font-size:29px}.environment-metrics{gap:7px;margin-top:14px}.environment-metric{padding:11px}.environment-metric strong{font-size:18px}.environment-selected{padding:12px}.environment-timeline button{flex-basis:96px;min-height:106px}#environment-panel-tide.tide-card{grid-template-columns:1fr;padding:136px 14px 17px}.environment-ocean-scene{height:118px}#environment-panel-tide .tide-icon{display:none}}
@media(prefers-reduced-motion:reduce){.environment-panel,.environment-wave-layer,.weather-orb,.weather-cloud,.weather-rain,.environment-sun-orbit span,.environment-moon-orbit,.environment-star{animation:none!important;transition:none!important}.environment-tab:hover{transform:none}}

/* V0.21: resumo contextual permanente + detalhes sob demanda */
.environment-enhanced .environment-hub:not(.is-details-open){display:none}
.environment-hub.is-details-open{display:block;margin-top:24px;padding:18px;border:1px solid #d8e4f0;border-radius:24px;background:linear-gradient(180deg,#f8fbff,#eef6ff);box-shadow:0 22px 60px rgba(15,45,86,.12)}
.environment-heading-actions{display:flex;align-items:center;gap:8px}.environment-close{display:grid;place-items:center;width:36px;height:36px;border:1px solid #c8d7e7;border-radius:50%;background:#fff;color:#11233d;font-size:24px;line-height:1;cursor:pointer}
.environment-glance-dock{display:grid;grid-template-columns:repeat(4,minmax(92px,1fr));gap:7px;min-width:min(100%,480px)}
.environment-glance-dock button{--glance-accent:#8b6500;--glance-soft:#fff7d6;--glance-border:#e1c85f;display:grid;grid-template-columns:26px minmax(0,1fr);grid-template-rows:auto auto;column-gap:7px;min-width:0;padding:9px 10px;border:1px solid var(--glance-border);border-radius:14px;background:var(--glance-soft);color:#162236;text-align:left;box-shadow:0 6px 16px rgba(24,49,79,.08);cursor:pointer}
.environment-glance-weather{--glance-accent:#8b6500;--glance-soft:#fff7d6;--glance-border:#e1c85f}.environment-glance-tide{--glance-accent:#075fae;--glance-soft:#e7f4ff;--glance-border:#8fc5f2}.environment-glance-sun{--glance-accent:#a94f00;--glance-soft:#fff0d5;--glance-border:#efb866}.environment-glance-moon{--glance-accent:#5544a8;--glance-soft:#f0ecff;--glance-border:#b9acef}
.environment-glance-dock button>span{grid-row:1/3;align-self:center;display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:var(--glance-accent);color:#fff;font-size:15px}.environment-glance-dock small{overflow:hidden;color:var(--glance-accent);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;text-overflow:ellipsis}.environment-glance-dock strong{overflow:visible;color:#172033;font-size:10px;line-height:1.25;white-space:nowrap}.environment-glance-dock button:focus-visible{outline:3px solid rgba(8,124,255,.42);outline-offset:2px}
.journey-control-head-v08{align-items:start}.mode-state-note-v08{margin:6px 0 10px;text-align:right}
.tide-events-header{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:16px 0 8px}.tide-events-header strong{color:#11223a;font-size:13px}.tide-events-header span{color:#52657d;font-size:10px}.tide-event-state{position:relative;overflow:hidden}.tide-event-state::before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:#1783d5}.tide-event-state.is-low::before{background:#16a085}.tide-event-state span{font-weight:850}.tide-event-state.is-high span{color:#075aa5}.tide-event-state.is-low span{color:#0b6d5e}
.environment-ocean-depth{position:absolute;inset:45% 0 0;background:linear-gradient(180deg,transparent,rgba(0,32,88,.34));clip-path:polygon(0 18%,12% 8%,28% 16%,43% 4%,59% 14%,75% 2%,100% 15%,100% 100%,0 100%)}
html[data-theme="dark"] .environment-hub.is-details-open{border-color:#294764;background:linear-gradient(180deg,#091d35,#0b2848)}html[data-theme="dark"] .environment-glance-dock button{--glance-soft:#10233c;--glance-border:#365371;background:var(--glance-soft);color:#fff}html[data-theme="dark"] .environment-glance-weather{--glance-accent:#ffd84d}html[data-theme="dark"] .environment-glance-tide{--glance-accent:#75c7ff}html[data-theme="dark"] .environment-glance-sun{--glance-accent:#ffb65b}html[data-theme="dark"] .environment-glance-moon{--glance-accent:#c1b2ff}html[data-theme="dark"] .environment-glance-dock button>span{color:#07182c}html[data-theme="dark"] .environment-glance-dock small{color:var(--glance-accent)}html[data-theme="dark"] .environment-glance-dock strong{color:#fff}html[data-theme="dark"] .environment-close{border-color:#3b5876;background:#102b49;color:#fff}html[data-theme="dark"] .tide-events-header strong{color:#fff}html[data-theme="dark"] .tide-events-header span{color:#b4c5d8}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .environment-hub.is-details-open{border-color:#294764;background:linear-gradient(180deg,#091d35,#0b2848)}html:not([data-theme="light"]) .environment-glance-dock button{--glance-soft:#10233c;--glance-border:#365371;background:var(--glance-soft)}html:not([data-theme="light"]) .environment-glance-weather{--glance-accent:#ffd84d}html:not([data-theme="light"]) .environment-glance-tide{--glance-accent:#75c7ff}html:not([data-theme="light"]) .environment-glance-sun{--glance-accent:#ffb65b}html:not([data-theme="light"]) .environment-glance-moon{--glance-accent:#c1b2ff}html:not([data-theme="light"]) .environment-glance-dock button>span{color:#07182c}html:not([data-theme="light"]) .environment-glance-dock small{color:var(--glance-accent)}html:not([data-theme="light"]) .environment-glance-dock strong{color:#fff}}
@media(min-width:761px){.journey-control-head-v08{display:grid;grid-template-columns:minmax(max-content,1fr) minmax(0,560px);align-items:start}.journey-control-head-v08 h2{white-space:nowrap}}
@media(min-width:761px) and (max-width:860px){.journey-control-head-v08{grid-template-columns:minmax(0,1fr)}.environment-glance-dock{width:100%;min-width:0}}
@media(max-width:760px){.journey-control-head-v08{display:grid;gap:12px}.environment-glance-dock{width:100%;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr))}.environment-glance-dock button{min-height:52px}.mode-state-note-v08{text-align:left}.environment-hub.is-details-open{margin-top:16px;padding:11px;border-radius:19px}.environment-heading-actions{width:100%;justify-content:space-between}.tide-events-header{align-items:start;flex-direction:column;gap:2px}html[data-theme="dark"] .section-label,html[data-theme="dark"] .eyebrow{color:#8fc8ff}}
@media(max-width:760px) and (prefers-color-scheme:dark){html:not([data-theme="light"]) .section-label,html:not([data-theme="light"]) .eyebrow{color:#8fc8ff}}

/* V0.25: painéis ambientais originais inspirados em dashboards nativos */
.environment-data-panel{padding:16px 18px 20px;background:#eef3f8}
.environment-weather-scene,.environment-sun-scene,.environment-moon-scene{display:none}
.environment-dashboard-hero{position:relative;max-width:none;min-height:138px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;margin:0;padding:22px 24px;border-radius:26px;background:#086dcc;color:#fff;box-shadow:0 18px 38px rgba(8,74,143,.18)}
.environment-dashboard-hero::before,.environment-dashboard-hero::after{content:'';position:absolute;border-radius:50%;pointer-events:none}.environment-dashboard-hero::before{width:190px;height:190px;right:-54px;top:-90px;background:rgba(255,255,255,.11)}.environment-dashboard-hero::after{width:110px;height:110px;right:42px;bottom:-78px;background:rgba(255,255,255,.07)}
.environment-dashboard-hero>*{position:relative;z-index:1}.environment-dashboard-hero .section-label{color:#fff}.environment-dashboard-hero h3,.environment-panel-copy.environment-dashboard-hero h3{max-width:760px;margin:7px 0 5px;color:#fff;font-size:clamp(28px,4vw,42px);letter-spacing:-.04em}.environment-dashboard-hero p,.environment-panel-copy.environment-dashboard-hero p{max-width:720px;color:#fff;font-size:13px}
.environment-dashboard-hero-weather{background:linear-gradient(145deg,#ffe36e,#ffc928);color:#3c2b00}.environment-dashboard-hero-weather .section-label,.environment-dashboard-hero-weather h3,.environment-dashboard-hero-weather p{color:#3c2b00}.environment-dashboard-hero-sun{background:linear-gradient(145deg,#ffb12e,#e96900)}.environment-dashboard-hero-moon{background:linear-gradient(145deg,#5e4da9,#30226f)}.environment-dashboard-hero-tide{background:linear-gradient(145deg,#0670c2,#064689)}
.environment-chart-card{position:relative;z-index:2;overflow:hidden;margin-top:12px;padding:16px 18px 12px;border:1px solid rgba(151,171,193,.22);border-radius:22px;background:#fff;color:#10233c;box-shadow:0 9px 26px rgba(15,45,86,.07)}
.environment-card-heading{display:grid;gap:3px;margin-bottom:8px}.environment-card-heading span{color:#52657d;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.environment-card-heading strong{color:#122840;font-size:16px;letter-spacing:-.015em}.environment-chart-loading{padding:34px 0;color:#52657d;font-size:12px;text-align:center}
.environment-data-chart{display:block;width:100%;height:auto;min-height:150px;overflow:visible}.environment-chart-area{fill:rgba(23,132,222,.10)}.environment-chart-line{fill:none;stroke:#1784de;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.environment-chart-rain{fill:#1784de}.environment-chart-point{fill:#fff;stroke:#1784de;stroke-width:3}.environment-chart-point.is-active{fill:#ffd84d;stroke:#8e6700;stroke-width:3}.environment-chart-value{fill:#233d59;font-size:12px;font-weight:850}.environment-chart-axis{fill:#52657d;font-size:11px;font-weight:700}.environment-chart-now-line{stroke:#aa6500;stroke-width:2;stroke-dasharray:4 4}.environment-chart-now-label{fill:#705000;font-size:10px;font-weight:900;text-transform:uppercase}.environment-chart-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:2px;color:#61758c;font-size:10px;font-weight:750}.environment-chart-legend span{display:flex;align-items:center;gap:6px}.environment-chart-legend i{width:9px;height:9px;border-radius:50%}.environment-chart-legend .is-temperature{background:#1784de}.environment-chart-legend .is-rain{background:#1784de}
.environment-sun-chart-area{fill:url(#environment-sun-fill)}.environment-sun-chart-line{fill:none;stroke:#aa6500;stroke-width:5;stroke-linecap:round}.environment-sun-chart-marker{fill:#ffd84d;stroke:#9d6d00;stroke-width:3}.environment-sun-endpoint{fill:#aa6500}.environment-moon-chart-area{fill:rgba(98,83,179,.13)}.environment-moon-chart-line{fill:none;stroke:#6758b9;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.environment-moon-chart-point{stroke:#6758b9}.environment-moon-chart-point.is-active{fill:#e8dcff;stroke:#483c8e}
.environment-insight-card{border-radius:16px;background:#e8f6ed;color:#17603d}.environment-date-nav{border-radius:18px;background:rgba(255,255,255,.72)}
.environment-data-panel .environment-metrics{margin-top:12px}.environment-data-panel .environment-metric{border:0;background:#fff;box-shadow:0 5px 18px rgba(15,45,86,.05)}.environment-data-panel .environment-selected{background:#102d50}.environment-data-panel .environment-timeline{margin-top:12px}.environment-data-panel .environment-timeline button{border:0;box-shadow:0 4px 16px rgba(15,45,86,.06)}
#environment-panel-tide.tide-card{grid-template-columns:1fr;padding:18px;background:#eef3f8}#environment-panel-tide .environment-ocean-scene,#environment-panel-tide .tide-icon{display:none}#environment-panel-tide .tide-main{min-width:0}.rotezi-tide-wave{border:0;background:transparent;box-shadow:none}.rotezi-tide-toolbar.environment-date-nav{margin-bottom:12px;padding:9px}.rotezi-tide-wave-head.environment-dashboard-hero{margin:0;padding:20px 22px}.rotezi-tide-chart-wrap.environment-chart-card{margin:12px 0 0;padding:16px 14px 8px}.rotezi-tide-chart-wrap .environment-card-heading{padding:0 4px}.rotezi-tide-chart{height:auto;min-height:190px}.rotezi-tide-legend.environment-insight-card{margin:10px 0 0;padding:13px 15px}.tide-events-header{margin-top:15px}.tide-events{overflow:hidden;border-radius:19px;background:#fff;box-shadow:0 7px 22px rgba(15,45,86,.06)}.tide-events .tide-event{margin:0;border:0;border-bottom:1px solid #e6edf4;border-radius:0;background:transparent;box-shadow:none}.tide-events .tide-event:last-child{border-bottom:0}
.rotezi-tide-wave-head.environment-dashboard-hero span,.rotezi-tide-wave-head.environment-dashboard-hero strong{color:#fff}
.environment-hub button:focus-visible{outline:3px solid #0052aa;outline-offset:2px}
.rotezi-tide-chart-wrap .rotezi-tide-line{stroke:#0874d8}.rotezi-tide-chart-wrap .rotezi-tide-axis-label{fill:#52657d}.rotezi-tide-chart-wrap .rotezi-tide-point text{fill:#233d59}
html[data-theme="light"] .environment-data-panel,html[data-theme="light"] #environment-panel-tide.tide-card{background:#eef3f8}html[data-theme="light"] .environment-chart-card,html[data-theme="light"] .environment-data-panel .environment-metric,html[data-theme="light"] .environment-data-panel .environment-timeline button,html[data-theme="light"] .tide-events{border-color:rgba(151,171,193,.22);background:#fff;color:#10233c}html[data-theme="light"] .environment-card-heading strong,html[data-theme="light"] .environment-chart-value,html[data-theme="light"] .environment-data-panel .environment-metric strong{fill:#122840;color:#122840}html[data-theme="light"] .environment-card-heading span,html[data-theme="light"] .environment-chart-axis,html[data-theme="light"] .environment-data-panel .environment-metric span,html[data-theme="light"] .environment-data-panel .environment-metric small{fill:#52657d;color:#52657d}html[data-theme="light"] .rotezi-tide-chart-wrap .rotezi-tide-line{stroke:#0874d8}html[data-theme="light"] .rotezi-tide-chart-wrap .rotezi-tide-axis-label{fill:#52657d}html[data-theme="light"] .rotezi-tide-chart-wrap .rotezi-tide-point text{fill:#233d59}html[data-theme="light"] .rotezi-tide-wave-head.environment-dashboard-hero span,html[data-theme="light"] .rotezi-tide-wave-head.environment-dashboard-hero strong{color:#fff}
html[data-theme="dark"] .environment-data-panel,html[data-theme="dark"] #environment-panel-tide.tide-card{background:#07182c}html[data-theme="dark"] .environment-chart-card,html[data-theme="dark"] .environment-data-panel .environment-metric,html[data-theme="dark"] .environment-data-panel .environment-timeline button,html[data-theme="dark"] .tide-events{border-color:#294760;background:#102943;color:#f5f9ff}html[data-theme="dark"] .environment-card-heading strong,html[data-theme="dark"] .environment-chart-value,html[data-theme="dark"] .environment-data-panel .environment-metric strong{fill:#f5f9ff;color:#f5f9ff}html[data-theme="dark"] .environment-card-heading span,html[data-theme="dark"] .environment-chart-axis,html[data-theme="dark"] .environment-data-panel .environment-metric span,html[data-theme="dark"] .environment-data-panel .environment-metric small{fill:#a9bdd1;color:#a9bdd1}html[data-theme="dark"] .environment-date-nav{background:#0d2945}html[data-theme="dark"] .environment-insight-card{background:#123a33;color:#bcebd7}html[data-theme="dark"] .tide-events .tide-event{border-color:#294760}
html[data-theme="dark"] .environment-hub button:focus-visible{outline-color:#75c7ff}html[data-theme="dark"] .rotezi-tide-chart-wrap .rotezi-tide-line{stroke:#52b8ff}html[data-theme="dark"] .rotezi-tide-chart-wrap .rotezi-tide-axis-label{fill:#a9bdd1}html[data-theme="dark"] .rotezi-tide-chart-wrap .rotezi-tide-point text{fill:#f5f9ff}
html[data-theme="dark"] .rotezi-tide-wave-head.environment-dashboard-hero span,html[data-theme="dark"] .rotezi-tide-wave-head.environment-dashboard-hero strong{color:#fff}
html[data-theme="dark"] .environment-moon-chart-line{stroke:#b8aaff}html[data-theme="dark"] .environment-moon-chart-point{stroke:#b8aaff}
html[data-theme="dark"] .environment-chart-loading{color:#a9bdd1}
html[data-theme="dark"] .tide-event-state.is-high span{color:#8fc8ff}html[data-theme="dark"] .tide-event-state.is-low span{color:#80dec8}html[data-theme="dark"] .environment-chart-now-label{fill:#ffd36a}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .environment-data-panel,html:not([data-theme="light"]) #environment-panel-tide.tide-card{background:#07182c}html:not([data-theme="light"]) .environment-chart-card,html:not([data-theme="light"]) .environment-data-panel .environment-metric,html:not([data-theme="light"]) .environment-data-panel .environment-timeline button,html:not([data-theme="light"]) .tide-events{border-color:#294760;background:#102943;color:#f5f9ff}html:not([data-theme="light"]) .environment-card-heading strong,html:not([data-theme="light"]) .environment-chart-value{fill:#f5f9ff;color:#f5f9ff}html:not([data-theme="light"]) .environment-card-heading span,html:not([data-theme="light"]) .environment-chart-axis{fill:#a9bdd1;color:#a9bdd1}html:not([data-theme="light"]) .environment-date-nav{background:#0d2945}html:not([data-theme="light"]) .environment-insight-card{background:#123a33;color:#bcebd7}html:not([data-theme="light"]) .tide-events-header strong{color:#fff}html:not([data-theme="light"]) .tide-events-header span{color:#b4c5d8}}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .environment-hub button:focus-visible{outline-color:#75c7ff}html:not([data-theme="light"]) .rotezi-tide-chart-wrap .rotezi-tide-line{stroke:#52b8ff}html:not([data-theme="light"]) .rotezi-tide-chart-wrap .rotezi-tide-axis-label{fill:#a9bdd1}html:not([data-theme="light"]) .rotezi-tide-chart-wrap .rotezi-tide-point text{fill:#f5f9ff}html:not([data-theme="light"]) .environment-data-panel .environment-metric span,html:not([data-theme="light"]) .environment-data-panel .environment-metric small{color:#a9bdd1}}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .rotezi-tide-wave-head.environment-dashboard-hero span,html:not([data-theme="light"]) .rotezi-tide-wave-head.environment-dashboard-hero strong{color:#fff}}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .environment-moon-chart-line{stroke:#b8aaff}html:not([data-theme="light"]) .environment-moon-chart-point{stroke:#b8aaff}}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .environment-chart-loading{color:#a9bdd1}}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .tide-event-state.is-high span{color:#8fc8ff}html:not([data-theme="light"]) .tide-event-state.is-low span{color:#80dec8}html:not([data-theme="light"]) .environment-chart-now-label{fill:#ffd36a}}
/* V0.40.1: identidade oficial do resumo ambiental */
.environment-glance-dock .environment-glance-weather{--glance-accent:#8b6500;--glance-soft:#fff7d6;--glance-border:#e1c85f}
.environment-glance-dock .environment-glance-tide{--glance-accent:#075fae;--glance-soft:#e7f4ff;--glance-border:#8fc5f2}
.environment-glance-dock .environment-glance-sun{--glance-accent:#a94f00;--glance-soft:#fff0d5;--glance-border:#efb866}
.environment-glance-dock .environment-glance-sun.is-night{--glance-accent:#3f56a6;--glance-soft:#edf1ff;--glance-border:#aab9ef}
.environment-glance-dock .environment-glance-moon{--glance-accent:#5544a8;--glance-soft:#f0ecff;--glance-border:#b9acef}
html[data-theme="dark"] .environment-glance-dock .environment-glance-weather{--glance-accent:#ffd84d;--glance-soft:#3a2d0d;--glance-border:#806919}
html[data-theme="dark"] .environment-glance-dock .environment-glance-tide{--glance-accent:#75c7ff;--glance-soft:#0c2f50;--glance-border:#27648f}
html[data-theme="dark"] .environment-glance-dock .environment-glance-sun{--glance-accent:#ffb65b;--glance-soft:#3f2410;--glance-border:#8e5522}
html[data-theme="dark"] .environment-glance-dock .environment-glance-sun.is-night{--glance-accent:#b7c6ff;--glance-soft:#182448;--glance-border:#526aa8}
html[data-theme="dark"] .environment-glance-dock .environment-glance-moon{--glance-accent:#c0b3ff;--glance-soft:#261f4e;--glance-border:#62569b}
@media(prefers-color-scheme:dark){
  html:not([data-theme="light"]) .environment-glance-dock .environment-glance-weather{--glance-accent:#ffd84d;--glance-soft:#3a2d0d;--glance-border:#806919}
  html:not([data-theme="light"]) .environment-glance-dock .environment-glance-tide{--glance-accent:#75c7ff;--glance-soft:#0c2f50;--glance-border:#27648f}
  html:not([data-theme="light"]) .environment-glance-dock .environment-glance-sun{--glance-accent:#ffb65b;--glance-soft:#3f2410;--glance-border:#8e5522}
  html:not([data-theme="light"]) .environment-glance-dock .environment-glance-sun.is-night{--glance-accent:#b7c6ff;--glance-soft:#182448;--glance-border:#526aa8}
  html:not([data-theme="light"]) .environment-glance-dock .environment-glance-moon{--glance-accent:#c0b3ff;--glance-soft:#261f4e;--glance-border:#62569b}
}
@media(max-width:620px){.environment-data-panel{padding:11px 9px 15px}.environment-dashboard-hero{min-height:126px;padding:18px;border-radius:22px}.environment-dashboard-hero h3,.environment-panel-copy.environment-dashboard-hero h3{font-size:27px}.environment-chart-card{padding:14px 8px 8px;border-radius:19px}.environment-card-heading{padding:0 7px}.environment-data-chart{min-height:154px}.environment-chart-legend{padding:0 7px}.environment-chart-axis.is-center{display:none}.environment-data-panel .environment-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.environment-data-panel .environment-timeline button{flex-basis:92px}#environment-panel-tide.tide-card{padding:11px 9px 15px}.rotezi-tide-toolbar.environment-date-nav{padding:7px}.rotezi-tide-wave-head.environment-dashboard-hero{padding:18px}.rotezi-tide-chart-wrap.environment-chart-card{padding:14px 6px 7px}.rotezi-tide-chart{width:100%;min-width:0;min-height:170px}.rotezi-tide-legend.environment-insight-card{padding:12px}.tide-actions{display:flex;flex-wrap:wrap}.tide-actions button{min-height:42px}#environment-panel-tide #tide-title{font-size:28px;line-height:1.05}}

/* Work visual r1: forecast semantics do not depend on the app's theme. */
.rotezi-main #environment-panel-weather{--weather-ink:#182a40;--weather-surface:linear-gradient(145deg,#edf3f8,#dce6ef)}
.rotezi-main #environment-panel-weather[data-period="day"][data-scene="clear"]{--weather-surface:linear-gradient(145deg,#eaf4ff,#cfe7ff)}
.rotezi-main #environment-panel-weather[data-period="day"][data-scene="cloudy"]{--weather-surface:linear-gradient(145deg,#edf1f5,#c9d5e1)}
.rotezi-main #environment-panel-weather[data-period="day"][data-scene="rain"]{--weather-surface:linear-gradient(145deg,#daeaf4,#b5cfdf)}
.rotezi-main #environment-panel-weather[data-scene="storm"]{--weather-ink:#f5f9ff;--weather-surface:linear-gradient(145deg,#33485f,#22364d)}
.rotezi-main #environment-panel-weather[data-period="night"]{--weather-ink:#f5f9ff;--weather-surface:linear-gradient(145deg,#132744,#203852)}
.rotezi-main #environment-panel-weather .environment-dashboard-hero-weather{background:var(--weather-surface)!important;color:var(--weather-ink)!important;box-shadow:none}
.rotezi-main #environment-panel-weather .environment-dashboard-hero-weather :is(.section-label,h3,p){color:var(--weather-ink)!important}
.rotezi-main #environment-tab-weather .environment-tab-icon{background:#e4edf7;color:#264b72}
.rotezi-main #environment-tab-weather[data-period="night"] .environment-tab-icon{background:#1d3354;color:#dae5ff}
.rotezi-main .environment-glance-weather{--glance-accent:#315884}
.rotezi-main .environment-glance-weather[data-period="night"]{--glance-accent:#344d78}
html[data-theme="dark"] .rotezi-main .environment-glance-weather{--glance-accent:#c5daff}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .rotezi-main .environment-glance-weather{--glance-accent:#c5daff}}
.rotezi-main #condicoes .environment-dashboard-hero{min-height:112px;padding:20px;border-radius:20px}
.rotezi-main #condicoes .environment-dashboard-hero h3{font-size:clamp(24px,3vw,32px);line-height:1.18}
.rotezi-main #condicoes .environment-dashboard-hero p{font-size:14px;line-height:1.5}
.rotezi-main #condicoes .environment-heading h2{font-size:clamp(26px,3vw,34px);line-height:1.15}
.rotezi-main #condicoes .environment-chart-plot{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;padding-block:8px;scrollbar-width:thin}
.rotezi-main #condicoes .environment-chart-plot:focus-visible{outline:2px solid currentColor;outline-offset:-2px;border-radius:6px}
.rotezi-main #condicoes .environment-data-chart{width:100%;min-width:360px;max-width:500px;height:auto;min-height:0;max-height:300px;margin-inline:auto}
.rotezi-main #condicoes .environment-chart-axis{font-size:12px;fill:var(--environment-annotation-ink)}
.rotezi-main #condicoes .environment-chart-value{font-size:12px;fill:var(--environment-annotation-ink)}
.rotezi-main #condicoes .environment-chart-day{font-size:11px;font-weight:700}
.rotezi-main #condicoes .environment-chart-legend span{font-size:12px;line-height:1.5}
.rotezi-main #condicoes .environment-chart-scroll-note{display:none;color:var(--environment-annotation-ink);font-size:12px;margin-top:4px}
.rotezi-main #condicoes .rotezi-tide-chart{width:100%;min-width:640px;max-width:860px;height:auto;min-height:0;max-height:320px;margin-inline:auto}
.rotezi-main #condicoes .environment-selected small{font-size:11px;line-height:1.5;letter-spacing:.03em}
.rotezi-main #condicoes .environment-selected p{font-size:13px;line-height:1.5}
.rotezi-main #condicoes .environment-metric small{white-space:normal;line-height:1.45}
.rotezi-main #condicoes .environment-tab strong{white-space:normal;overflow:visible;line-height:1.35}
.rotezi-main #condicoes .environment-source{font-size:12px;line-height:1.5}
@media(max-width:760px){
 .rotezi-main #condicoes .environment-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
 .rotezi-main #condicoes .environment-tab{padding:10px;gap:8px}
 .rotezi-main #condicoes .environment-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .rotezi-main #condicoes .environment-dashboard-hero{padding:18px}
}
@media(max-width:480px){.rotezi-main #condicoes .environment-chart-scroll-note{display:block}}

.rotezi-main #condicoes .rotezi-tide-chart-wrap.environment-chart-card{overflow-x:auto;scrollbar-width:thin}
.rotezi-main #condicoes .rotezi-tide-chart-wrap.environment-chart-card::after{content:"Deslize o gráfico para consultar todos os horários.";display:block;margin:8px 4px;color:var(--environment-annotation-ink);font-size:12px;line-height:1.5}
.rotezi-main #environment-panel-tide .rotezi-tide-axis-label,
.rotezi-main #environment-panel-tide .rotezi-tide-point text{font-size:14px}
@media(min-width:1100px){.rotezi-main #condicoes .rotezi-tide-chart-wrap.environment-chart-card::after{display:none}}

/* Visual r2: useful content fills two columns; timelines remain a shared row. */
.rotezi-main #condicoes .environment-data-panel{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;align-content:start;gap:14px;min-height:0}
.rotezi-main #condicoes .environment-panel[hidden]{display:none}
.rotezi-main #condicoes .environment-data-panel>*{min-width:0}
.rotezi-main #condicoes .environment-overview{display:grid;align-content:start;gap:12px;min-width:0}
.rotezi-main #condicoes .environment-overview .environment-metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;gap:8px}
.rotezi-main #condicoes .environment-overview .environment-metric{min-width:0;padding:12px;border-radius:14px;text-align:center;justify-items:center;align-content:center}
.rotezi-main #condicoes .environment-overview .environment-metric strong{font-size:21px;line-height:1.25;white-space:normal;overflow:visible;text-overflow:clip}
.rotezi-main #condicoes .environment-overview .environment-selected{margin:0;padding:12px;border-radius:14px}
.rotezi-main #condicoes .environment-dashboard-hero{min-height:110px;padding:18px;border-radius:18px;box-shadow:none}
.rotezi-main #condicoes .environment-dashboard-hero h3{font-size:clamp(23px,2.3vw,29px);line-height:1.2;margin:6px 0}
.rotezi-main #condicoes .environment-dashboard-hero p{margin:0;font-size:13px;line-height:1.5}
.rotezi-main #condicoes .environment-chart-card{min-width:0;margin:0;border-radius:18px;box-shadow:none;padding:16px 12px 12px}
.rotezi-main #condicoes .environment-data-chart{max-width:100%;max-height:none}
.rotezi-main #condicoes .environment-data-panel>.environment-timeline,
.rotezi-main #condicoes .environment-data-panel>.environment-source{grid-column:1/-1;margin:0}
.rotezi-main #condicoes .environment-timeline button{min-height:98px;box-shadow:none}
.rotezi-main #condicoes .environment-tide-layout{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:14px}
.rotezi-main #condicoes .rotezi-tide-wave-head{align-items:stretch;gap:14px;text-align:left}
.rotezi-main #condicoes .rotezi-tide-wave-head>div{width:100%;text-align:left}
.rotezi-main #condicoes .rotezi-tide-wave-head>div>strong{font-size:19px;line-height:1.35}
.rotezi-main #condicoes .rotezi-tide-wave-head .rotezi-tide-range{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.rotezi-main #condicoes .rotezi-tide-wave-head .rotezi-tide-range strong{font-size:15px}
.rotezi-main #condicoes .environment-tide-events-host .tide-events-header{margin:0 0 8px;align-items:start;flex-direction:column;gap:4px}
.rotezi-main #condicoes .environment-tide-events-host .tide-events{display:grid;grid-template-columns:minmax(0,1fr);margin:0;gap:0;border-radius:14px;box-shadow:none}
.rotezi-main #condicoes .environment-tide-events-host .tide-event{display:grid;grid-template-columns:max-content minmax(max-content,1fr) auto;align-items:center;gap:8px;padding:10px}
.rotezi-main #condicoes .environment-tide-events-host .tide-events{grid-template-columns:max-content minmax(max-content,1fr) max-content;column-gap:8px}
.rotezi-main #condicoes .environment-tide-events-host .tide-event{grid-column:1/-1;grid-template-columns:subgrid}
.rotezi-main #condicoes .environment-tide-events-host .tide-event :is(strong,small){font-variant-numeric:tabular-nums}
.rotezi-main #condicoes .environment-tide-events-host .tide-event strong{display:inline-flex;align-items:center;gap:4px;grid-column:3;grid-row:1;justify-self:end;margin:0;font-size:21px;white-space:nowrap}
.tide-event-clock{flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.rotezi-main #condicoes .rotezi-tide-chart{width:100%;min-width:0;max-width:100%;max-height:none;min-height:0}
.rotezi-main #condicoes .rotezi-tide-chart-wrap.environment-chart-card::after{display:none}
@media(min-width:900px){
 .rotezi-main #condicoes .environment-data-panel,
 .rotezi-main #condicoes .environment-tide-layout{grid-template-columns:repeat(2,minmax(0,1fr))}
 .rotezi-main #condicoes .environment-data-panel>.environment-chart-card{grid-column:2;grid-row:1}
 .rotezi-main #condicoes .environment-data-panel>.environment-overview{grid-column:1;grid-row:1}
}

/* r3: new tide chart, readable labels and short summaries. No fixed empty rows. */
.tide-cycle{--cycle-ink:#17354d;--cycle-muted:#506777;--cycle-line:#057b91;--cycle-grid:rgba(67,108,131,.18);--cycle-now:#996500}
html[data-theme="dark"] .tide-cycle{--cycle-ink:#eefaff;--cycle-muted:#b0c9d8;--cycle-line:#47d7e7;--cycle-grid:rgba(150,193,218,.16);--cycle-now:#ffd064}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .tide-cycle{--cycle-ink:#eefaff;--cycle-muted:#b0c9d8;--cycle-line:#47d7e7;--cycle-grid:rgba(150,193,218,.16);--cycle-now:#ffd064}}
.rotezi-main #condicoes .tide-cycle-summary{display:grid;gap:10px;background:linear-gradient(125deg,#074974,#087b88);color:#fff;min-height:0;overflow:hidden}
.rotezi-main #condicoes .tide-cycle-summary h3{font-size:clamp(24px,2.5vw,32px);line-height:1.15;margin:0;word-break:normal;overflow-wrap:normal;color:#fff}
.rotezi-main #condicoes .tide-cycle-summary p{color:#e6f8fc;line-height:1.5;max-width:44ch}
.rotezi-main #condicoes .tide-cycle-eyebrow{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#dcf7ff}
.tide-cycle-next{display:grid;gap:5px;padding:12px 0;border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff30}
.tide-cycle-next>span{font-size:13px;color:#dff7fc}
.tide-cycle-next>strong{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;font-size:28px;line-height:1.2;color:#fff}
.tide-cycle-next small{font-size:17px;color:#fff;white-space:nowrap}
.tide-cycle-range{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;font-size:12px}
.tide-cycle-range strong{white-space:nowrap;font-size:15px;color:#fff}
.tide-cycle-chart-head{display:flex;align-items:start;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:0 6px 10px;color:var(--cycle-ink)}
.tide-cycle-chart-head span{font-size:12px;color:var(--cycle-muted)}
.tide-cycle-chart-head h4{font-size:19px;line-height:1.3;margin:5px 0 0}
.tide-cycle-level{display:grid;gap:4px;text-align:right}
.tide-cycle-level strong{font-size:24px;line-height:1.2;white-space:nowrap;color:var(--cycle-line)}
.rotezi-main #condicoes .tide-cycle-svg{display:block;width:100%;height:auto;min-width:0;overflow:visible}
.tide-cycle-grid line{stroke:var(--cycle-grid);stroke-width:1;stroke-dasharray:3 5}
.tide-cycle-grid text{font:12px system-ui,sans-serif;fill:var(--cycle-muted)}
.tide-cycle-area{fill:url(#tide-cycle-fill)}
.tide-cycle-line{fill:none;stroke:var(--cycle-line);stroke-width:3;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.tide-cycle-point circle{fill:var(--cycle-line);stroke:var(--cycle-ink);stroke-width:2}
.tide-cycle-point.is-low circle{fill:var(--cycle-ink);stroke:var(--cycle-line)}
.tide-cycle-point text{font:700 12px system-ui,sans-serif;fill:var(--cycle-ink)}
.tide-cycle-now line{stroke:var(--cycle-now);stroke-width:1.5;stroke-dasharray:4 5}
.tide-cycle-now circle{fill:var(--cycle-now);stroke:var(--cycle-ink);stroke-width:2}
.tide-cycle-ripple{fill:#47d7e7;opacity:0;pointer-events:none}
.tide-cycle-legend{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;color:var(--cycle-line);font-size:12px;padding:8px 6px 0;border-top:1px solid var(--cycle-grid)}
.tide-cycle-legend small{margin-left:auto;color:var(--cycle-muted);font-size:11px}
.tide-cycle-now-key{color:var(--cycle-now)}
.tide-cycle-index{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;margin-right:5px;border:1px solid currentColor;border-radius:50%;font-size:11px}
.rotezi-main #condicoes .tide-cycle .tide-events .tide-event span{display:flex;align-items:center;font-size:14px;white-space:nowrap}
.rotezi-main #condicoes .tide-cycle .tide-events .tide-event small{display:inline-flex;align-items:center;gap:3px;grid-column:2;grid-row:1;justify-self:center;padding:0;font-size:16px;font-weight:650;white-space:nowrap;color:var(--cycle-muted)}
.tide-event small i{font-style:normal}
.rotezi-main #condicoes .rotezi-tide-controls{display:flex;align-items:end;flex-wrap:wrap;gap:8px}
.rotezi-main #condicoes .rotezi-tide-controls input{max-width:100%;min-width:0}
.rotezi-main #condicoes .rotezi-tide-controls button{min-width:38px;min-height:42px}
.rotezi-main #condicoes .rotezi-tide-controls button:disabled{opacity:.4;cursor:default}
.rotezi-main #condicoes .rotezi-tide-days{display:flex;overflow-x:auto;gap:8px;scrollbar-width:thin}
.rotezi-main #condicoes .rotezi-tide-day{flex:0 0 auto;white-space:nowrap;min-height:40px}
.rotezi-main #condicoes #environment-moon-metrics .environment-metric strong{font-size:18px}
.rotezi-main #condicoes #environment-moon-metrics .environment-metric small{white-space:normal;overflow:visible;text-overflow:clip}
@media(min-width:900px){.rotezi-main #condicoes .tide-cycle .environment-tide-layout{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)}}
/* The compact tide summary uses the same ocean palette as its detail panel. */
.environment-glance-dock .environment-glance-tide{--glance-accent:#076c80;--glance-soft:#e5f7f8;--glance-border:#90c8cf}
html[data-theme="dark"] .environment-glance-dock .environment-glance-tide{--glance-accent:#57d8e5;--glance-soft:#0e3446;--glance-border:#276273}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .environment-glance-dock .environment-glance-tide{--glance-accent:#57d8e5;--glance-soft:#0e3446;--glance-border:#276273}}
@media(prefers-reduced-motion:reduce){.tide-cycle-ripple{display:none}}

/* Shared tide presentation for the full web app and the Android test entry. */
.rotezi-main #condicoes .environment-dashboard-hero-tide{padding:20px;text-align:center;justify-content:stretch}.rotezi-main #condicoes .environment-dashboard-hero-tide>*{position:relative}.rotezi-main #condicoes .tide-cycle .tide-cycle-summary{grid-template-columns:minmax(0,1fr);justify-content:stretch;justify-items:center}.rotezi-main #condicoes .tide-cycle-summary>*{width:100%;min-width:0}.rotezi-main #condicoes .tide-cycle-summary p{margin-inline:auto}.rotezi-main #condicoes .tide-cycle-next>strong,.rotezi-main #condicoes .tide-cycle-range{justify-content:center}
/* Keep the queried time separate from its label and the slider. */
.rotezi-main #condicoes .tide-cycle-inspector{display:grid;gap:8px;padding:12px 6px 0;min-width:0}.rotezi-main #condicoes .tide-cycle-inspector label{font-size:12px;color:var(--cycle-muted)}.rotezi-main #condicoes .tide-cycle-inspector output{display:block;font-size:22px;font-weight:750;line-height:1.3;white-space:nowrap;color:var(--cycle-ink)}.rotezi-main #condicoes .tide-cycle-inspector input[type="range"]{display:block;width:100%;max-width:100%;margin:4px 0;accent-color:var(--cycle-line)}.rotezi-main #condicoes .tide-cycle-inspector p{margin:0;font-size:12px;line-height:1.5;color:var(--cycle-muted)}

/* Keep refresh beside Today, including narrow mobile screens. */
.rotezi-main #condicoes .tide-actions:empty{display:none}
.rotezi-main #condicoes .tide-refresh-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:42px;min-height:42px;padding:0;font-size:25px;line-height:1}
.rotezi-main #condicoes .rotezi-tide-controls{flex-wrap:nowrap;justify-content:center;gap:6px}
.rotezi-main #condicoes .rotezi-tide-controls label{flex:0 1 148px;min-width:0}
.rotezi-main #condicoes .rotezi-tide-controls input{box-sizing:border-box;width:100%;min-width:0;height:42px;font-size:16px;padding:8px}
.rotezi-main #condicoes .rotezi-tide-controls button{flex-shrink:0;padding-inline:9px}
.rotezi-main #condicoes .tide-cycle-point .tide-cycle-point-kind{font-size:11px;font-weight:600;paint-order:stroke;stroke:var(--adaptive-surface,var(--card,#fff));stroke-width:3px;stroke-linejoin:round}

.rotezi-main #condicoes .rotezi-tide-controls [data-tide-today]{width:auto;min-width:48px;font-size:13px;font-weight:750;white-space:nowrap}
.rotezi-main #condicoes .tide-refresh-button span{font-size:25px;line-height:1}



.rotezi-main #condicoes .tide-heading-actions{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 8px;min-width:0}
.rotezi-main #condicoes #tide-title{margin:0 0 6px;padding:0;font-size:11px;line-height:1.4;font-weight:850;letter-spacing:.08em;text-transform:uppercase;text-wrap:balance;text-align:center}
.rotezi-main #condicoes .tide-heading-actions [data-action="tide-details"]{flex:0 0 auto;width:auto;min-height:36px!important;margin:0;padding:8px 10px!important;border-radius:10px;font-size:12px!important;line-height:1.2;white-space:nowrap}

.tide-range-bound{display:inline-flex;align-items:baseline;gap:3px;white-space:nowrap}
.rotezi-main #condicoes.environment-hub,.rotezi-main #condicoes .environment-panel{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.rotezi-main #condicoes .environment-panel::before{display:none!important}
.rotezi-main #condicoes .tide-route-context{padding:8px 4px;text-align:center;text-wrap:pretty}
@media(max-width:760px){
 .rotezi-main #condicoes .environment-heading>div:first-child{width:100%;text-align:center}
 .rotezi-main #condicoes .environment-heading .section-label{font-size:11px;letter-spacing:.04em;white-space:nowrap}
 .environment-solar-separator{display:none}
 .rotezi-main #condicoes :is(.environment-dashboard-hero,.environment-card-heading,.environment-source){text-align:center;text-wrap:pretty}
 .rotezi-main #condicoes .environment-card-heading{align-items:center;justify-items:center;justify-content:center}
 .rotezi-main #condicoes .environment-selected{text-align:center;display:block}
 .rotezi-main #condicoes .environment-selected>span{display:none}
 .rotezi-main #condicoes .environment-selected>div{width:100%}
 .rotezi-main #condicoes .environment-panel.environment-data-panel{gap:8px}
 .rotezi-main #condicoes .environment-panel .environment-dashboard-hero{padding:10px!important}
 .rotezi-main #condicoes .environment-panel .environment-chart-card{padding:10px 8px}
 .rotezi-main #condicoes .environment-panel .tide-cycle-chart{padding-inline:2px}
 .rotezi-main #condicoes .tide-cycle-chart :is(.tide-cycle-chart-head,.tide-cycle-inspector){margin-inline:6px}
 .rotezi-main #condicoes :is(.environment-tide-layout,.environment-overview){gap:8px}
 .rotezi-main #condicoes .rotezi-tide-wave{margin:8px 0}
 .rotezi-main #condicoes .tide-cycle-next{padding:8px 0}
 .rotezi-main #condicoes .tide-cycle-inspector{padding:8px 0 0}
 .rotezi-main #condicoes .tide-cycle-chart-head{margin-block:0 8px}
}
