:root{--ink:#142f40;--muted:#657784;--line:#dfe5e5;--paper:#f6f8f7;--teal:#176c67;--aqua:#99d0c6;--amber:#c77a30;--red:#bf624f;--ocean:#deebed}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button,a,input,summary,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #63b5ab;outline-offset:4px}button{transition:background .15s,transform .15s}button:hover:not(:disabled){filter:brightness(.96)}a{color:inherit}h1,h2,h3,p{margin:0}button{border:0}button,select{border-radius:8px}small,.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700}main{max-width:1480px;padding:0 48px;margin:auto}.topbar{padding:20px 48px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#fff}.brand{font-size:12px;letter-spacing:2px;text-decoration:none;display:flex;align-items:center;gap:12px}.brand b{font-weight:400;color:var(--muted)}.brandmark{font-size:25px;color:var(--teal)}.private{font-size:12px;color:var(--muted);display:flex;gap:7px;align-items:center}.lock{color:var(--teal)}.overview{display:flex;align-items:center;justify-content:space-between;padding:36px 0 28px;gap:20px}.eyebrow{color:var(--teal)}h1{font-size:clamp(34px,3.4vw,48px);font-weight:550;letter-spacing:-1.9px;line-height:1.3;margin-top:7px}h1 span{font-weight:300;color:#849a9d;margin:0 12px}.intro p{color:var(--muted);margin-top:5px}.voyage-spec{display:flex;gap:30px}.voyage-spec div{border-left:1px solid var(--line);padding-left:28px}.voyage-spec small{display:block;color:var(--muted);font-size:9px;letter-spacing:1.2px}.voyage-spec strong{display:block;font-size:25px;font-weight:500;margin-top:5px}.voyage-spec em{font-size:15px;font-style:normal;color:var(--muted)}.uploadbar{display:flex;align-items:center;gap:15px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px 20px;margin-bottom:22px}.uploadbar.drag{outline:2px dashed var(--teal)}.fileicon{width:39px;height:42px;background:#edf5f2;color:var(--teal);font-size:28px;text-align:center;border-radius:6px}.filecopy{flex:1;min-width:0}.filecopy strong{display:block;font-weight:600;overflow-wrap:anywhere}.filecopy span{display:block;font-size:12px;color:var(--muted);margin-top:2px}.primary{background:var(--teal);color:#fff;padding:12px 19px;font-weight:600;white-space:nowrap;min-height:44px}.primary span{margin-left:16px}.quiet{background:transparent;color:var(--muted);padding:10px}.outline{padding:10px 14px;background:#fff;border:1px solid var(--line);font-weight:550;min-height:42px}.explorer{display:grid;grid-template-columns:minmax(0,1fr) 324px;background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 6px 30px #1a384007}.map-shell{height:493px;position:relative;border-right:1px solid var(--line)}#map{height:100%;background:var(--ocean);z-index:0}.map-top{position:absolute;z-index:500;top:20px;left:20px;right:20px;display:flex;justify-content:space-between;pointer-events:none}.map-top>*{pointer-events:auto}.pill{background:#fffdf5df;box-shadow:0 2px 8px #17384a0a;font-size:9px;letter-spacing:1.5px;font-weight:700;padding:9px 12px;border-radius:6px;align-self:center}.map-btn{background:#fff;padding:9px 12px;color:var(--ink);box-shadow:0 2px 8px #17384a0a;font-size:12px}.map-empty{position:absolute;z-index:450;top:45%;left:50%;transform:translate(-50%,-50%);text-align:center;max-width:370px;width:76%;background:#ffffffea;padding:25px;border:1px solid #fffffff0;border-radius:12px;box-shadow:0 12px 35px #1232420b}.map-empty>span{font-size:9px;letter-spacing:1.5px;color:var(--teal);font-weight:700}.map-empty strong{font-size:24px;line-height:1.3;display:block;margin:9px 0}.map-empty p{font-size:12px;color:var(--muted);margin-bottom:17px}.map-legend{display:flex;gap:15px;align-items:center;position:absolute;bottom:0;left:0;right:0;z-index:500;background:#ffffffed;padding:11px 17px;font-size:10px}.map-legend>span{white-space:nowrap}.chart-note{margin-left:auto;color:var(--muted);font-size:9px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;vertical-align:middle}.target{background:var(--teal)}.above{background:var(--red)}.unknown{background:#91a3ac}.daylight{background:#dbad50}.twilight{background:#c6a18a;margin-left:10px}.night{background:#667c96;margin-left:10px}.hour-panel{padding:24px 23px 19px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.panel-heading .eyebrow{font-size:9px;letter-spacing:1.3px}.badge{border-radius:20px;background:#f0f3f2;color:var(--muted);padding:4px 8px;font-size:10px}.badge.Daylight{background:#faf2d9;color:#886a2c}.badge.Night{background:#e8ecf4;color:#516682}.badge.Twilight{background:#f3e6df;color:#8f6a58}.hour-panel h2{font-size:36px;font-weight:500;line-height:1.15;margin-top:14px;letter-spacing:-1px}.muted{color:var(--muted)}#selected-date{font-size:11px;margin-top:2px}.position{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:9px}.conditions{display:grid;grid-template-columns:1fr 1fr;gap:16px;border-top:1px solid var(--line);padding-top:15px;margin-top:16px}.conditions>div{display:flex;flex-direction:column}.metric-label{font-size:10px;color:var(--muted)}.conditions strong{font-size:28px;font-weight:500;letter-spacing:-.5px;line-height:1.4}.conditions small{font-size:12px;color:var(--muted);letter-spacing:0;font-weight:400}.conditions span:last-child{font-size:9px;color:var(--muted)}.hour-status{font-size:10px;color:var(--muted);margin:10px 0;padding:6px 9px;background:var(--paper);border-radius:5px}.hour-status.over{background:#fcf0e9;color:#a25536}.hour-status.within{background:#edf5f1;color:var(--teal)}.facts{margin:9px 0 14px;font-size:11px}.facts>div{display:flex;justify-content:space-between;margin:7px 0;gap:10px}.facts dt{color:var(--muted)}.facts dd{margin:0;text-align:right;font-weight:550}.sun-card{display:flex;gap:11px;padding-top:11px;border-top:1px solid var(--line);margin-bottom:13px}.sun-card>span{font-size:24px;color:#ba8f38}.sun-card small{font-size:8px;letter-spacing:.7px;color:var(--muted)}.sun-card strong{display:block;font-size:12px;margin:2px 0}.sun-card p{font-size:9px;color:var(--muted)}#jump-rough{width:100%;font-size:11px;min-height:34px;padding:7px}.timeline{grid-column:1/-1;padding:19px 23px 15px;border-top:1px solid var(--line)}.timeline-head{display:flex;justify-content:space-between;align-items:center}.timeline-head strong{font-size:12px}.timeline-head span{font-size:10px;color:var(--muted);margin-left:14px}.step-buttons{display:flex;gap:6px}.step-buttons button{width:31px;height:28px;background:var(--paper);color:var(--ink)}.wave-chart{height:94px;margin-top:5px;position:relative}.wave-chart svg{width:100%;height:100%;overflow:visible}.chart-placeholder{position:absolute;left:0;right:0;top:40px;border-top:1px dashed #c6d4d4;padding-top:12px;font-size:11px;color:#8fa1aa;display:flex;justify-content:space-between}.chart-placeholder span{margin-top:-31px}#scrubber{width:100%;margin:0;accent-color:var(--teal);cursor:pointer;height:17px}.timeline-labels{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:var(--muted);margin-top:4px}.planning{padding:35px 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-heading h2{font-size:25px;font-weight:500;margin-top:6px;letter-spacing:-.5px}.section-heading p{font-size:12px;color:var(--muted);margin-top:4px}.recommendation{margin:22px 0 18px;display:flex;gap:15px;padding:19px 22px;border-radius:10px;background:#eaf1ef;border:1px solid #dbe6e1}.recommend-icon{font-size:27px;color:var(--teal);line-height:1.3}.recommendation strong{font-weight:600;font-size:15px}.recommendation p{font-size:12px;color:var(--muted);margin-top:3px}.recommendation.warn{background:#fbf0e6;border-color:#e9d8c6}.recommendation.warn .recommend-icon{color:var(--amber)}.window-days{display:grid;grid-template-columns:1fr 1fr;gap:24px}.window-day>strong{font-size:12px;font-weight:600}.window-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin-top:10px}.window{display:flex;flex-direction:column;align-items:center;background:white;color:var(--ink);padding:9px 4px;border:1px solid var(--line);border-radius:6px;min-height:58px}.window span{font-size:10px;color:var(--muted)}.window b{font-size:12px;font-weight:550;margin-top:3px}.window.over{background:#fcf1ed;border-color:#ead8d1}.window.within{background:#e5f0e9;border-color:#cedfd4}.window.selected{outline:2px solid var(--ink);outline-offset:1px}.window:disabled{opacity:.65}.forecast-meta{font-size:10px;color:var(--muted);margin:15px 0 23px;line-height:1.8}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.detail-card{background:white;border:1px solid var(--line);padding:22px;border-radius:10px}.detail-card h3{font-size:18px;font-weight:500;margin:6px 0 17px}.detail-card .muted{font-size:12px}.rough-row,.sun-row{display:flex;align-items:center;gap:12px;width:100%;color:var(--ink);background:none;border-top:1px solid var(--line);padding:11px 0;text-align:left}.rough-row:first-child,.sun-row:first-child{border-top:0;padding-top:0}.row-number{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:var(--red);background:#faf0ec;font-size:11px}.row-main{flex:1}.row-main strong{display:block;font-size:12px;font-weight:550}.row-main span{font-size:10px;color:var(--muted)}.row-wave{font-size:16px;font-weight:500}.sun-row .row-number{color:#a38446;background:#faf5e8}.hour-table,.method{border-top:1px solid var(--line);margin-top:24px;padding-top:17px}summary{cursor:pointer;font-size:12px;font-weight:600;min-height:30px}summary span{float:right}.table-wrap{overflow-x:auto}table{width:100%;font-size:11px;border-collapse:collapse;white-space:nowrap;margin:15px 0}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:550}tbody tr{cursor:pointer}tbody tr:hover{background:#edf3f0}td.exceeded{color:#a7533f;font-weight:600}.method p{font-size:12px;color:var(--muted);margin:12px 0;max-width:1050px}.method a{text-decoration:underline}.message{padding:12px 16px;background:#f9ecdf;border:1px solid #e7cead;border-radius:8px;font-size:12px;margin-bottom:18px}.message.good{background:#edf4ef;border-color:#d1e3d5}.message[hidden],*[hidden]{display:none!important}footer{display:flex;justify-content:space-between;gap:20px;padding:20px 0 28px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.footer-brand{letter-spacing:1.3px;color:var(--teal);font-weight:600}.leaflet-control-attribution{font-size:8px!important;bottom:34px!important}.leaflet-control-zoom{margin-top:70px!important;border:1px solid #d4dfdf!important}.leaflet-control-zoom a{color:var(--ink)!important}.place-label{background:transparent;border:0;box-shadow:none;font-size:11px;color:#58747e;font-weight:600}.place-label:before{display:none}.vessel-icon{display:grid;place-items:center;background:var(--ink);border:3px solid white;border-radius:50%;box-shadow:0 0 0 7px #176c6725;color:white;font-size:16px}.leaflet-tooltip{font-family:inherit}.route-marker{font-size:10px}.coast-label{font-size:13px;letter-spacing:3px;color:#7c918c;background:none;border:0;box-shadow:none}.coast-label:before{display:none}@media(min-width:1600px){main{padding:0 30px}}@media(max-width:1100px){main{padding:0 25px}.topbar{padding:18px 25px}.voyage-spec{gap:18px}.voyage-spec div{padding-left:18px}.voyage-spec strong{font-size:21px}.explorer{grid-template-columns:minmax(0,1fr) 298px}.hour-panel{padding:23px 18px}.chart-note{display:none}.window-grid{grid-template-columns:repeat(6,1fr)}.timeline-head span{display:none}}@media(max-width:760px){main{padding:0 16px}.topbar{padding:15px 18px}.brand{font-size:10px;letter-spacing:1.4px}.private{font-size:10px}.overview{display:block;padding:25px 0 20px}h1{font-size:39px}.intro p{font-size:12px}.voyage-spec{margin-top:22px;justify-content:space-between;gap:8px}.voyage-spec div{padding-left:13px}.voyage-spec div:first-child{padding-left:0;border:0}.voyage-spec small{font-size:8px;letter-spacing:.6px}.voyage-spec strong{font-size:21px}.uploadbar{flex-wrap:wrap;padding:14px;gap:11px}.filecopy{flex-basis:calc(100% - 60px)}.uploadbar .primary{flex:1}.filecopy span{font-size:11px}#route-select{max-width:100%;width:100%;padding:8px;border:1px solid var(--line)}.explorer{grid-template-columns:1fr}.map-shell{height:400px;border-right:0}.map-empty{padding:22px;max-width:300px}.map-empty strong{font-size:22px}.map-top{top:14px;left:14px;right:14px}.map-legend{font-size:9px;gap:12px;padding:10px 14px}.hour-panel{padding:22px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.panel-heading{grid-column:1/-1}.hour-panel h2{grid-column:1}.hour-panel #selected-date{grid-column:1}.position{grid-column:1;font-size:11px}.conditions{grid-column:2;grid-row:2/5;border:0;margin-top:15px;padding:0;gap:10px}.conditions strong{font-size:25px}.metric-label{font-size:9px}.conditions span:last-child{font-size:8px}.hour-status{grid-column:1/-1}.facts{grid-column:1/-1}.sun-card{grid-column:1/-1}#jump-rough{grid-column:1/-1}.timeline{padding:16px}.timeline-labels{font-size:8px}.timeline-labels>span:nth-child(2){display:none}.section-heading{align-items:flex-start;flex-wrap:wrap;gap:14px}.section-heading h2{font-size:23px}.section-heading p{font-size:11px}.section-heading .primary{width:100%}.planning{padding-top:27px}.recommendation{padding:16px}.recommendation strong{font-size:14px}.recommendation p{font-size:11px}.window-days,.detail-grid{grid-template-columns:1fr;gap:20px}.window-grid{grid-template-columns:repeat(8,1fr);gap:5px}.window{padding:8px 3px;min-height:55px}.window b{font-size:11px}.window span{font-size:9px}.detail-card{padding:18px}footer{flex-wrap:wrap;gap:7px;font-size:9px}footer>span:last-child{width:100%}.wave-chart{height:85px}}

.recommendation .outline{margin-left:auto;align-self:center;flex-shrink:0;font-size:11px}@media(max-width:760px){.recommendation{flex-wrap:wrap}.recommendation>div{flex:1}.recommendation .outline{margin-left:40px}}
.preferences{display:flex;align-items:end;gap:14px;flex-wrap:wrap;padding:21px 22px 14px;background:#eef3f1;border:1px solid #dbe6e1;border-radius:12px;margin-bottom:20px}.preferences-intro{flex:1;min-width:180px;align-self:center}.preferences-intro strong{display:block;font-weight:600}.preferences-intro span{display:block;font-size:11px;color:var(--muted);max-width:235px;margin-top:3px}.preferences label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:550;color:var(--muted)}.preferences input{background:white;border:1px solid #cbd9d4;border-radius:7px;color:var(--ink);padding:10px 12px;height:44px;max-width:190px;min-width:115px}.preferences input:focus{outline:2px solid #73b5a9}#max-wave{width:135px}.preferences>p{width:100%;font-size:11px;color:var(--muted)}.preferred-result{display:flex;align-items:center;gap:8px 20px;padding:16px 19px;background:#fff;border:1px solid var(--line);border-radius:9px;flex-wrap:wrap;margin:16px 0}.preferred-result strong{font-size:12px}.preferred-result span{font-size:12px;color:var(--muted);flex:1}.preferred-result .quiet{font-size:11px}.alternatives{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px}.alternative{display:flex;flex-direction:column;text-align:left;gap:5px;padding:17px 20px;border:1px solid var(--line);background:white;color:var(--ink)}.alternative:disabled{opacity:.7}.alternative small{font-size:9px;color:var(--teal);letter-spacing:1px}.alternative strong{font-size:18px;font-weight:500}.alternative span{font-size:11px;color:var(--muted)}.day-tabs{display:flex;gap:7px;overflow:auto;padding:3px 2px 12px;margin:8px 0 10px}.day-tab{white-space:nowrap;padding:9px 13px;border:1px solid var(--line);color:var(--muted);background:white;font-size:11px}.day-tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}.window-days{display:block}.window-grid{grid-template-columns:repeat(12,1fr)}.window.preferred{border-color:#456773}.window.past{background:#eef0f1;color:#8b979d}.search-coverage{font-size:11px;color:var(--muted);margin:16px 0;line-height:1.7}@media(max-width:1100px){.preferences-intro{flex-basis:100%}.preferences-intro span{max-width:none}.preferences label{flex:1}.preferences input{width:100%;max-width:none}.window-grid{grid-template-columns:repeat(8,1fr)}}@media(max-width:760px){.preferences{padding:17px;gap:12px}.preferences label{flex:1;min-width:110px}.preferences input{min-width:0;width:100%!important}.preferences .primary{width:100%}.preferences-intro{width:100%}.alternatives{gap:10px}.alternative{padding:13px}.alternative strong{font-size:14px}.alternative small{font-size:8px;letter-spacing:.5px}.window-grid{grid-template-columns:repeat(6,1fr)}.preferred-result{padding:14px}.preferred-result span{flex-basis:100%}.voyage-spec{flex-wrap:wrap}}

.map-selection{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 22px;border-bottom:1px solid var(--line);background:#edf4f1}.map-selection span{display:block;font-size:10px;color:var(--teal);letter-spacing:1px;text-transform:uppercase;font-weight:600}.map-selection strong{display:block;font-size:17px;font-weight:550;margin-top:3px}.map-selection .outline{font-size:11px}@media(max-width:760px){.map-selection{padding:14px 16px;flex-wrap:wrap}.map-selection strong{font-size:15px}.map-selection .outline{padding:8px 10px;min-height:34px}}

.vessel-settings{display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:20px}.vessel-settings h2,.forecast-reference h2{font-size:18px;font-weight:600}.vessel-settings p,.vessel-settings label,.fuel-result>span{font-size:14px;color:var(--muted)}.vessel-settings>div:first-child{flex:1;min-width:200px}.vessel-settings label{display:flex;flex-direction:column;gap:6px}.vessel-settings input{width:170px;max-width:100%;padding:10px 12px;min-height:44px;border:1px solid #cbd9d4;border-radius:7px;font-size:16px;color:var(--ink)}.vessel-settings .vessel-note{flex-basis:100%;font-size:13px}.fuel-result{display:flex;flex-direction:column;min-width:200px}.fuel-result strong{font-size:28px;font-weight:550;color:var(--teal)}.fuel-result #fuel-formula{font-size:13px}.forecast-reference{padding:20px 22px;background:white;border:1px solid var(--line);border-radius:12px;margin:0 0 20px}.forecast-reference dl{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px;margin:14px 0 0}.forecast-reference dt{font-size:14px;color:var(--muted);margin-bottom:4px}.forecast-reference dd{font-size:14px;margin:0;overflow-wrap:anywhere}.forecast-reference a{color:var(--teal)}.map-toolbar{grid-column:1/-1;padding:13px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:#fff;border-bottom:1px solid var(--line)}.map-toolbar label{font-size:14px;font-weight:600}.map-toolbar select{padding:9px 12px;border:1px solid #cbd9d4;font-size:14px;background:white;color:var(--ink);max-width:100%;min-height:44px}.map-toolbar span{flex:1;min-width:200px;font-size:13px;color:var(--muted)}.map-shell{height:auto;min-height:570px}.map-shell #map{position:absolute;inset:0}.leaflet-control-attribution{font-size:10px!important;max-width:calc(100% - 12px);background:#fffffff2!important}.satellite-view .place-label,.satellite-view .coast-label{color:#fff;text-shadow:0 1px 3px #000,0 0 3px #000}.facts{font-size:12px}.forecast-meta{font-size:13px}.hour-panel #selected-date{font-size:12px}@media(max-width:760px){.vessel-settings{padding:17px;gap:14px}.vessel-settings>div:first-child{flex-basis:100%}.vessel-settings label{flex:1;min-width:125px}.vessel-settings input{width:100%}.fuel-result{flex-basis:100%}.forecast-reference{padding:17px}.forecast-reference dl{grid-template-columns:1fr}.map-toolbar{padding:12px 14px}.map-toolbar span{flex-basis:100%}.map-shell{height:420px;min-height:420px}.leaflet-control-attribution{font-size:9px!important;bottom:34px!important}}

.map-shell .leaflet-bottom.leaflet-right{width:100%}

#map3d{position:absolute;inset:0;background:#082c42;z-index:1}#map3d-actions{display:flex;gap:7px}#map3d-actions button{font-size:13px}#follow-yacht[aria-pressed=true]{background:var(--teal);color:white;border-color:var(--teal)}#map3d .maplibregl-ctrl-top-left{top:70px;left:10px}#map3d .maplibregl-ctrl-bottom-right{bottom:34px}#map3d .maplibregl-ctrl-attrib{font-size:11px;background:#ffffffea;color:#17374b}#map3d-caption{position:absolute;bottom:60px;left:22px;z-index:5;color:#e3f4ed;pointer-events:none;text-shadow:0 1px 4px #082c42}#map3d-caption strong{display:block;font-size:15px;letter-spacing:2px;font-weight:600}#map3d-caption span{font-size:11px;color:#b5cbc9}.map3d-place{font:600 13px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#fff;letter-spacing:.5px;text-shadow:0 1px 5px #082c42,0 0 6px #082c42;pointer-events:none}.map3d-place:after{content:"";display:block;width:6px;height:6px;border-radius:100%;margin:5px auto 0;background:#eef8e6;box-shadow:0 0 0 4px #b5e5d92a}@media(max-width:760px){#map3d-actions{flex-basis:100%}#map3d-caption{left:16px;bottom:57px}#map3d-caption span{font-size:10px}}

.itinerary-panel{margin:26px 0;background:white;border:1px solid var(--line);border-radius:14px;padding:24px}.itinerary-heading{display:flex;align-items:center;gap:15px;justify-content:space-between}.itinerary-heading h2{font-size:25px;font-weight:550}.itinerary-heading p{font-size:14px;color:var(--muted);margin-top:5px}.leg-list{display:grid;gap:10px;margin-top:20px}.leg-card{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 15px;border:1px solid var(--line);border-radius:9px}.leg-card.active{border-color:var(--teal);background:#edf5f1;box-shadow:inset 3px 0 var(--teal)}.leg-open{flex:1;min-width:220px;display:flex;flex-direction:column;gap:5px;text-align:left;background:transparent;color:var(--ink);padding:0}.leg-open strong{font-size:16px}.leg-open span{font-size:13px;color:var(--muted)}.leg-actions{display:flex;gap:5px}.leg-actions button{background:white;border:1px solid var(--line);padding:8px 10px;color:var(--ink);min-height:40px}.leg-warning{flex-basis:100%;font-size:13px;color:#a15131}.itinerary-status{font-size:14px;color:var(--muted);margin-top:16px}#leg-form{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}#leg-form h3{font-size:18px;margin-bottom:14px}.port-fields{display:grid;grid-template-columns:2fr 2fr 1fr 1fr;gap:14px}.port-fields label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted)}.port-fields input{width:100%;min-width:0;margin-top:6px;padding:10px 12px;border:1px solid #bfcfc9;border-radius:7px;font-size:16px;min-height:46px}.port-field{position:relative;min-width:0}.port-results{position:absolute;top:80px;left:0;right:0;min-width:240px;z-index:1000;background:white;border:1px solid #bdcec6;border-radius:8px;box-shadow:0 12px 28px #122e4022;max-height:320px;overflow:auto}.port-results button{display:block;width:100%;background:white;text-align:left;padding:12px;color:var(--ink);border-bottom:1px solid var(--line);border-radius:0}.port-results button:hover,.port-results [aria-selected=true]{background:#e4f1ed}.port-results strong,.port-results small{display:block;font-size:14px;letter-spacing:0;font-weight:500}.port-results small{font-size:12px;color:var(--muted);margin-top:4px}.port-results p{font-size:12px;padding:12px;color:var(--muted)}.leg-form-actions{display:flex;gap:10px;margin-top:16px}.port-source{font-size:12px;color:var(--muted);margin-top:14px}.route-edit-bar{display:flex;gap:15px;align-items:center;margin-bottom:18px}.route-edit-bar>button{flex-shrink:0}#draft-route-note{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:13px 15px;background:#fcf0dc;border:1px solid #e5cea5;border-radius:8px}#draft-route-note strong{font-size:14px}#draft-route-note span{font-size:13px;flex:1;min-width:220px}#route-editor{padding:18px;background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:18px}#route-editor p{font-size:14px}#waypoint-list{max-height:200px;overflow:auto;margin:12px 0}#waypoint-list>div{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:6px 0}#waypoint-list button{background:#edf3f0;padding:6px 9px}.edit-waypoint{background:#d8932e;border:2px solid white;color:white;border-radius:50%;display:grid;place-items:center;font-weight:700;box-shadow:0 2px 6px #0004}#page-title{font-size:clamp(26px,2.8vw,39px);overflow-wrap:anywhere}.intro{min-width:0}.overview{align-items:flex-start}.voyage-spec{flex-shrink:0}@media(max-width:1100px){.port-fields{grid-template-columns:1fr 1fr}.overview{flex-wrap:wrap}}@media(max-width:760px){.itinerary-panel{padding:17px}.itinerary-heading{flex-wrap:wrap}.itinerary-heading h2{font-size:23px}.itinerary-heading .primary{width:100%}.leg-card{padding:12px}.leg-open{min-width:0;flex-basis:100%}.leg-actions{width:100%}.leg-actions button{flex:1}.port-fields{grid-template-columns:1fr 1fr}.port-field{grid-column:1/-1}.port-results{min-width:0}.route-edit-bar{flex-wrap:wrap}.leg-form-actions .primary{flex:1}.voyage-spec{max-width:100%}}

.trip-fuel{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:18px;align-items:end;padding:22px;background:#e8f2f1;border-radius:12px;margin:20px 0 14px}.trip-fuel h3{margin:0 0 5px;font-size:17px}.trip-fuel p,.trip-footnote{font-size:14px;color:#586f7a;line-height:1.5}.trip-fuel p{margin:0}.trip-fuel label{display:grid;gap:8px;font-size:14px}.trip-fuel input{width:100%;min-width:0;background:white;border:1px solid #c8d9d8;border-radius:8px;padding:13px 14px;font:inherit;font-size:16px;color:#183747;min-height:48px}.trip-fuel #trip-fuel-status{grid-column:1/-1;font-size:16px;font-weight:600;padding-top:8px}.trip-fuel .short{color:#ab442e}.trip-fuel .covered{color:#166b65}.trip-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0}.trip-metrics>div{border-left:2px solid #d5e5e3;padding-left:14px}.trip-metrics span{display:block;font-size:14px;color:#586f7a;margin-bottom:8px}.trip-metrics strong{font-size:20px;line-height:1.4;display:block}.leg-balance{display:block;font-size:14px;font-weight:600;margin-top:8px;color:#166b65}.leg-balance.short{color:#ab442e}.auto-route-info{padding:14px 18px;background:#e8f2f1;border:1px solid #c8dedb;border-radius:10px;line-height:1.6;font-size:14px}.leg-form-actions button:disabled{opacity:.6}.trip-footnote{margin:12px 0 20px}@media(max-width:760px){.trip-fuel{grid-template-columns:1fr 1fr;padding:16px}.trip-fuel>div:first-child{grid-column:1/-1}.trip-metrics{grid-template-columns:1fr 1fr}.trip-metrics strong{font-size:18px}}@media(max-width:420px){.trip-fuel{grid-template-columns:1fr}.trip-metrics{gap:18px 10px}.trip-metrics strong{font-size:16px}}

.gust-note{font-size:14px;line-height:1.55;color:#586f7a;margin:16px 0}.hour-table table{min-width:1120px}

/* AIM identity and a reference sheet separate from the planning controls. */
.aim-topbar{gap:24px;padding-top:14px;padding-bottom:14px}.aim-topbar .brand{gap:20px;letter-spacing:0;min-width:0}.aim-yacht{width:190px;height:100px;object-fit:cover;border-radius:8px}.aim-wordmark{display:flex;flex-direction:column;gap:0}.aim-wordmark strong{font-size:34px;line-height:1.1;letter-spacing:5px;font-weight:650}.aim-wordmark>span{font-size:16px;letter-spacing:1px;margin-top:6px}.aim-header-actions{display:flex;align-items:center;gap:24px}.reference-trigger{font-size:14px;min-height:46px}.reference-link{display:block;background:transparent;color:var(--teal);padding:6px 0;text-decoration:underline;text-underline-offset:3px;text-align:left;font-size:14px}.reference-open{overflow:hidden}.performance-dialog{width:min(1060px,calc(100% - 32px));max-height:90dvh;padding:0;border:1px solid #cadbdf;border-radius:16px;color:var(--ink);background:#fff;box-shadow:0 25px 100px #052a4055;overscroll-behavior:contain}.performance-dialog::backdrop{background:#052433b8;backdrop-filter:blur(5px)}.reference-heading{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#102e40;color:white;padding:22px 26px}.reference-heading h2{font-size:25px;line-height:1.25;font-weight:550;margin-top:5px}.reference-kicker{color:#a7d7d1;font-size:13px;letter-spacing:2px}.reference-heading button{background:transparent;color:white;border-color:#88a6af;flex-shrink:0;font-size:14px}.reference-body{padding:26px;display:grid;grid-template-columns:1fr 1.2fr;gap:28px;align-items:start}.reference-context{position:sticky;top:133px;display:grid;gap:18px}.reference-context figure{margin:0}.reference-context img{width:100%;height:auto;display:block;border-radius:10px}.reference-context figcaption{font-size:12px;color:var(--muted);margin-top:6px}.reference-context p{font-size:14px;line-height:1.6;color:#526976}.reference-context #performance-purpose{font-size:16px;color:var(--ink)}.reference-confirmed{background:#e5f2ef;border-left:3px solid var(--teal);padding:17px 19px;display:grid;gap:6px;border-radius:0 8px 8px 0}.reference-confirmed>span{font-size:13px;color:#366760}.reference-confirmed>strong{font-size:24px;line-height:1.3;font-weight:600}.reference-confirmed strong span{color:#81a49e}.reference-download{display:block;text-decoration:none;font-size:14px;text-align:center}.reference-data{min-width:0}.reference-data table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}.reference-data caption{text-align:left;font-size:15px;font-weight:600;margin-bottom:14px}.reference-data th,.reference-data td{padding:11px 10px;text-align:right;border-bottom:1px solid #e2e9eb;white-space:nowrap}.reference-data th:first-child{text-align:left}.reference-data th:last-child,.reference-data td:last-child{text-align:left;white-space:normal;font-size:12px}.reference-data thead{background:#edf3f5;color:#415e6d}.reference-data thead th{font-size:13px;font-weight:600}.reference-data thead span{font-weight:400}.reference-data tbody th{font-weight:500}.reference-data tbody tr:nth-child(even){background:#f6f9fa}.reference-data tr.confirmed{background:#e1f1eb!important;color:#135c53;font-weight:650}.reference-data .confirmed th{font-weight:700;box-shadow:inset 3px 0 var(--teal)}
@media(max-width:850px){.aim-header-actions{gap:12px;align-items:flex-end;flex-direction:column}.aim-yacht{width:145px;height:86px}.reference-body{grid-template-columns:1fr;gap:24px}.reference-context{position:static}.reference-context figure{max-width:500px}.reference-heading{padding:18px}.reference-body{padding:18px}.reference-heading h2{font-size:22px}}
@media(max-width:540px){.aim-topbar{padding:14px 20px;flex-wrap:wrap;gap:14px}.aim-topbar .brand{gap:14px}.aim-yacht{width:128px;height:74px}.aim-wordmark strong{font-size:28px}.aim-wordmark>span{font-size:14px}.aim-header-actions{width:100%;flex-direction:row;justify-content:space-between;align-items:center;gap:10px}.aim-header-actions .private{font-size:12px}.reference-trigger{padding:9px 11px;font-size:13px}.performance-dialog{width:calc(100% - 16px);max-height:94dvh;border-radius:12px}.reference-heading{gap:10px;padding:14px}.reference-heading h2{font-size:19px}.reference-heading button{padding:8px 10px}.reference-body{padding:14px}.reference-data th,.reference-data td{padding:10px 6px}.reference-data th:last-child,.reference-data td:last-child{font-size:12px}.reference-data table{font-size:14px}}

.planner-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding:20px 0 12px}.planner-tabs button{padding:13px 20px;font-size:16px;font-weight:600;background:transparent;color:var(--muted);min-height:48px}.planner-tabs button[aria-selected=true]{background:var(--ink);color:white}.window-intro{padding:26px 0 20px}.window-intro h1{font-size:34px;letter-spacing:-.7px}.window-intro p{font-size:16px;color:var(--muted);margin-top:8px}.window-form{background:white;border:1px solid var(--line);border-radius:14px;padding:24px}.window-form .port-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.window-form .port-field{grid-column:span 2}.window-form select{min-height:46px;margin-top:6px;padding:10px 12px;width:100%;border:1px solid #bfcfc9;background:white;font-size:16px;color:var(--ink)}.window-form #window-deadline{margin:20px 0 16px;font-size:16px;font-weight:600}.window-help,.window-result-heading p,.window-forecast-reference{font-size:14px;line-height:1.65;color:#586f7a}.window-form .window-help{margin-top:16px;max-width:850px}.window-status{font-size:16px;line-height:1.6;margin:20px 0}.window-result-heading h2{font-size:22px;font-weight:550;margin:20px 0 10px}.window-results h2{font-size:22px}#window-map{height:330px;background:#deebed;border-radius:12px;margin:20px 0}#window-coverage{font-size:16px;line-height:1.6;margin:16px 0}.window-best{padding:22px;background:#e6f2ef;border:1px solid #c8ddd7;border-radius:12px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.window-best h3{font-size:20px;flex-basis:100%}.window-best p{font-size:16px;flex:1;min-width:240px}.window-best button{font-size:14px}.window-section-title{font-size:22px;font-weight:550;margin:26px 0 12px}.window-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:white;margin:16px 0}.window-table-wrap table{border-collapse:collapse;width:100%;min-width:780px;font-size:14px}.window-table-wrap th,.window-table-wrap td{padding:14px;text-align:left;border-bottom:1px solid var(--line);min-width:110px}.window-table-wrap th{background:#edf3f3;font-weight:600}.window-table-wrap button{font-size:14px;min-height:44px;white-space:nowrap}#window-days-coverage{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.window-coverage-day{padding:14px;background:#edf0f2;border:1px solid var(--line);border-radius:8px}.window-coverage-day.matches{background:#e2f1eb;border-color:#bed8cc}.window-coverage-day strong,.window-coverage-day span{display:block;font-size:14px}.window-coverage-day span{color:#586f7a;margin-top:5px}.window-hourly{margin:24px 0}.window-hourly summary{font-size:16px;cursor:pointer;font-weight:550}.window-forecast-reference{padding:20px 0 40px}.window-forecast-reference p{margin:12px 0}#window-cancel{margin-top:16px;font-size:14px}@media(max-width:850px){.window-form .port-fields{grid-template-columns:1fr 1fr}#window-days-coverage{grid-template-columns:1fr 1fr}.window-form .port-field{grid-column:1/-1}}@media(max-width:540px){.planner-tabs{gap:6px}.planner-tabs button{padding:12px;font-size:14px;flex:1}.window-intro h1{font-size:29px}.window-form{padding:17px}.window-form .port-fields{gap:16px 12px}.window-form .primary{width:100%}.window-best{padding:17px}.window-best p{min-width:0;flex-basis:100%}.window-best button{width:100%}.window-coverage-day{padding:10px}#window-map{height:280px}.window-table-wrap td,.window-table-wrap th{padding:12px}.window-form .port-fields label{font-size:14px}}
.window-vessel{margin:26px 0 0;border:1px solid #d5e3df;border-radius:12px;padding:20px;background:#f3f7f5}.window-vessel legend{font-size:17px;font-weight:600;padding:0 10px}.window-trip{margin:26px 0;padding:24px;border:1px solid #b7d6cf;border-radius:14px;background:#eef6f3}.window-trip h2{font-size:25px;margin-bottom:12px}.window-trip p{font-size:15px;line-height:1.65;margin:12px 0}.window-trip-legs{list-style:none;padding:0;margin:20px 0;display:grid;gap:16px}.window-trip-legs li{background:white;padding:20px;border-radius:10px;border-left:4px solid #176c67}.window-trip-legs h3{font-size:19px}.window-trip-legs button{font-size:14px}.window-marinas summary{cursor:pointer;font-weight:600;padding:14px 0}.window-marinas article{padding:16px 0;border-bottom:1px solid var(--line)}.window-marinas p{font-size:14px;line-height:1.7;margin:12px 0}.window-marinas h3{font-size:17px}.window-marinas a{font-size:14px}#window-trip:empty{display:none}@media(max-width:540px){.window-vessel{padding:14px}.window-vessel .port-fields{grid-template-columns:1fr}.window-trip{padding:16px}.window-trip h2{font-size:22px}.window-trip-legs li{padding:14px}.window-trip-legs button{width:100%}}

/* Copernicus and ECMWF comparison */
.wave-models{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px;border:1px solid #cddfdb;border-radius:10px;padding:14px;margin:16px 0;background:#f3f8f6}.wave-models div{display:flex;flex-direction:column;gap:7px}.wave-models span{font-size:11px;color:#536d77}.wave-models strong{white-space:nowrap;font-size:23px;color:#18394a}.wave-models p{grid-column:1/-1;margin:0;font-size:12px;line-height:1.5}.model-disagreement{color:#9b412d;font-weight:650}.model-agreement{color:#536d77}.comparison-note{line-height:1.6;color:#536d77;max-width:1000px}.forecast-reference a{overflow-wrap:anywhere}

.port-field .marine-search-button{display:block;min-height:36px;margin-top:6px;padding:6px 10px;font-size:14px;line-height:1.4;text-align:left}.port-results small,.port-results p{font-size:14px}

.port-entry-modes{display:flex;gap:6px;margin:9px 0 12px}.port-entry-modes button{background:#edf3f2;color:#405f68;padding:9px 13px;min-height:44px;font-size:14px;border:1px solid #d4e0de}.port-entry-modes button[aria-pressed=true]{background:#176c67;color:white;border-color:#176c67}.port-coordinates{display:grid;grid-template-columns:1fr;gap:14px 12px;padding:15px;border:1px solid #d4e0de;border-radius:10px;background:#f4f8f6}.port-coordinates[hidden],.port-field input[hidden],.marine-search-button[hidden]{display:none}.coordinate-pair{min-width:0}.coordinate-pair>div{display:flex;gap:5px;margin-top:6px}.coordinate-pair input{min-width:0!important;width:100%;padding:10px!important}.coordinate-pair select{flex:0 0 59px!important;width:59px!important;min-width:0;padding:8px!important}.coordinate-name,.port-coordinates>p{grid-column:1/-1}.coordinate-name input{margin-top:6px}.port-coordinates>p{font-size:13px;line-height:1.5;color:#58717b}.coordinate-pair label,.coordinate-name{font-size:14px!important}.port-field>.port-entry-modes+input{width:100%}
/* Degrees and decimal minutes, with a dedicated endpoint map. */
.port-coordinates{margin:0;min-width:0}.coordinate-pair>div{display:grid;grid-template-columns:minmax(50px,.8fr) minmax(83px,1.25fr) 59px;align-items:end;gap:7px}.coordinate-pair>div>label{min-width:0;font-size:12px!important;color:#5d7680}.coordinate-pair>div input{display:block;margin-top:5px}.coordinate-pair select{height:46px}.coordinate-preview{display:block;font-size:16px;font-weight:600;color:#176c67;overflow-wrap:anywhere}.port-map-button{margin-top:5px;font-size:14px;text-decoration:underline;text-underline-offset:4px;min-height:44px}.location-picker{width:min(900px,calc(100% - 28px));max-width:none;max-height:calc(100dvh - 24px);padding:0;border:1px solid #c5d9d4;border-radius:16px;color:#142f40;box-shadow:0 24px 90px #102b3d55;overflow:auto}.location-picker::backdrop{background:#102b3d99}.location-picker-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 5px;gap:12px}.location-picker-header h2{font-size:22px}.location-picker-header button{font-size:23px;min-width:44px;min-height:44px}.location-picker-help{padding:0 20px 16px;font-size:15px;color:#58717b}#location-picker-map{height:min(49dvh,460px);min-height:240px;background:#deebed}.location-picker-footer{padding:17px 20px;background:white}.location-picker-footer>strong{font-size:19px;display:block}.location-picker-footer>p{font-size:13px;color:#58717b;margin:8px 0 14px;line-height:1.5}.location-picker-footer>div{display:flex;gap:10px;justify-content:flex-end}.location-picker-pin{display:grid;place-items:center;background:#fff;border:3px solid #176c67;border-radius:50%;box-shadow:0 2px 12px #102b3d66}.location-picker-pin span{width:8px;height:8px;background:#176c67;border-radius:50%}@media(max-width:540px){.location-picker{width:calc(100% - 16px);border-radius:12px}.location-picker-header,.location-picker-footer{padding:12px 15px}.location-picker-help{padding:0 15px 12px}.location-picker-header h2{font-size:20px}.location-picker-footer>strong{font-size:17px}.location-picker-footer>div button{flex:1}#location-picker-map{min-height:210px}}

/* Independent GPX imports for the passage and sailing-window forms. */
.gpx-route-input{margin:18px 0 24px;padding:18px 20px;background:#f0f6f4;border:1px solid #d4e3df;border-radius:12px}.gpx-route-input>strong{display:block;font-size:15px;margin-bottom:10px;color:#284952}.route-source-buttons{display:flex;gap:8px;flex-wrap:wrap}.route-source-buttons button{min-height:44px;padding:10px 18px;background:white;color:#315762;border:1px solid #bdd2cc}.route-source-buttons button[aria-pressed=true]{background:#176c67;color:white;border-color:#176c67}.gpx-panel{border:0;padding:18px 0 0;margin:0;min-width:0}.gpx-panel[hidden],.port-field[hidden]{display:none!important}.gpx-panel label{display:block;font-size:14px;color:#506e77}.gpx-panel input:not([type=file]),.gpx-panel select{width:100%;display:block;min-height:44px;margin-top:6px;padding:10px 12px;border:1px solid #bfd2cc;border-radius:7px;background:#fff;font:inherit;font-size:16px}.gpx-panel input[type=file]{display:block;max-width:100%;margin:9px 0 14px;font:inherit;font-size:14px}.gpx-panel input::file-selector-button{font:inherit;color:#176c67;background:white;border:1px solid #bfd2cc;border-radius:7px;padding:10px 14px;margin-right:12px}.gpx-summary{font-size:15px;font-weight:600;margin:16px 0;color:#176c67;overflow-wrap:anywhere}.gpx-endpoints{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0}.gpx-endpoints output{display:block;font-size:13px;margin-top:8px;overflow-wrap:anywhere;color:#176c67}.gpx-panel p[role=status],.gpx-help{font-size:13px;line-height:1.55;margin:12px 0 0;color:#58717b}.route-port-gate{border:0;padding:0;margin:0;min-width:0}.gpx-stop-note{color:#176c67;margin:12px 0;font-size:14px;line-height:1.5}@media(max-width:560px){.gpx-route-input{padding:16px}.route-source-buttons button{flex:1}.gpx-endpoints{grid-template-columns:1fr}.gpx-panel input[type=file]{font-size:12px}}

/* Rename saved passage endpoints directly on each card. */
.leg-name-form{flex-basis:100%;padding-top:16px;margin-top:3px;border-top:1px solid #d4e1db}.leg-name-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.leg-name-fields label{font-size:14px;color:#506e77}.leg-name-fields input{display:block;width:100%;min-width:0;min-height:46px;margin-top:6px;padding:10px 12px;border:1px solid #bdd2ca;border-radius:7px;background:white;font-size:16px}.leg-name-form p{font-size:13px;color:#58717b;margin:12px 0}.leg-name-actions{display:flex;gap:10px}.leg-actions{flex-wrap:wrap}.leg-name-actions button{min-height:44px}.leg-open strong{overflow-wrap:anywhere}@media(max-width:560px){.leg-name-fields{grid-template-columns:1fr}.leg-name-actions button{flex:1}.leg-actions button{white-space:nowrap}}
/* Whole journey overview and playback. */
.journey-card{display:flex;align-items:center;justify-content:space-between;gap:22px;width:100%;margin-top:8px;padding:21px 23px;text-align:left;background:#f0f6f4;border:1px solid #aaccc3;border-radius:10px;color:var(--ink);box-shadow:inset 4px 0 #176c67}.journey-card[aria-pressed=true]{background:#deeee8;border-color:#176c67;box-shadow:inset 4px 0 #176c67,0 3px 12px #176c6712}.journey-card-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.journey-card-copy>strong{font-size:20px;overflow-wrap:anywhere}.journey-card-copy>span{font-size:13px;color:var(--muted);line-height:1.5}.journey-card-copy>.journey-card-label{color:#176c67;font-size:10px;letter-spacing:1.4px;font-weight:700}.journey-card-action{font-size:14px;font-weight:600;color:#176c67;flex-shrink:0}.journey-explorer{margin:30px 0;scroll-margin-top:22px}.journey-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin:0 0 24px}.journey-heading>div{min-width:0}.journey-heading h2{font-size:clamp(26px,3vw,38px);font-weight:550;line-height:1.2;margin:10px 0;overflow-wrap:anywhere}.journey-heading p{font-size:14px;color:var(--muted);line-height:1.7}.journey-heading>button{flex-shrink:0}.journey-warnings{padding:14px 18px;background:#fff0dd;border:1px solid #e8cfaa;border-radius:9px;margin-bottom:18px;color:#8c5129;font-size:14px}.journey-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding:16px 18px;background:white;border:1px solid var(--line);border-radius:12px}.journey-toolbar label{display:flex;align-items:center;gap:10px;font-size:14px}.journey-toolbar select{max-width:100%;padding:10px 12px;border:1px solid var(--line);background:white;border-radius:7px;font:inherit;min-height:44px}.journey-toolbar .primary{margin-left:auto}.journey-note{font-size:12px;color:var(--muted);line-height:1.75;margin:10px 0 16px}.journey-note a{text-decoration:underline}.journey-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}.journey-map-shell{position:relative;min-width:0;min-height:620px;background:var(--ocean)}#journey-map,#journey-map3d{position:absolute;inset:0;height:100%;width:100%;z-index:0}#journey-3d-actions{position:absolute;bottom:38px;left:15px;z-index:500;display:flex;gap:8px}#journey-map .leaflet-control-attribution{bottom:0!important}#journey-map .leaflet-control-zoom{margin-top:15px!important}.journey-vessel{padding:24px;border-left:1px solid var(--line);min-width:0}.journey-vessel h3{font-size:24px;font-weight:500;line-height:1.3;margin:14px 0 8px}.journey-vessel p{font-size:12px;color:var(--muted);margin:8px 0;overflow-wrap:anywhere}.journey-vessel .badge{display:inline-block;margin:8px 0}.journey-weather{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-top:1px solid var(--line);padding-top:18px;margin-top:14px}.journey-weather span{display:block;font-size:10px;color:var(--muted)}.journey-weather strong{font-size:26px;font-weight:500}.journey-vessel dl{font-size:12px;margin:17px 0}.journey-vessel dl>div{display:flex;justify-content:space-between;gap:14px;margin:10px 0}.journey-vessel dt{color:var(--muted);max-width:51%}.journey-vessel dd{margin:0;text-align:right;font-weight:550}.journey-vessel .short{color:#a7533f}.journey-vessel button{width:100%}.journey-timeline{padding:22px;background:white;border:1px solid var(--line);border-radius:12px}.journey-timeline-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;font-size:14px}.journey-timeline-heading>div{display:flex;gap:6px;flex-wrap:wrap}.journey-timeline-heading button{padding:9px 13px;font-size:12px}#journey-chart{height:95px;cursor:pointer;border-radius:6px;overflow:hidden}#journey-chart svg{width:100%;height:100%}#journey-scrubber{display:block;width:100%;accent-color:var(--teal);margin:9px 0;height:22px;padding:0;cursor:pointer}.journey-ends{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted)}.journey-leg-buttons{display:flex;gap:8px;flex-wrap:wrap}.journey-leg-buttons button{font-size:12px;white-space:normal;overflow-wrap:anywhere;max-width:100%}.journey-hourly{margin:25px 0 14px;padding:20px;background:white;border:1px solid var(--line);border-radius:12px}.journey-hourly summary{font-size:14px}.journey-hourly .window-table-wrap{overflow:auto;max-height:560px}.journey-hourly th{position:sticky;top:0;background:white}.journey-hourly td:nth-child(2){max-width:260px;white-space:normal}
@media(max-width:1000px){.journey-map-layout{grid-template-columns:minmax(0,1fr) 300px}.journey-vessel{padding:20px}.journey-toolbar .primary{margin-left:0}}
@media(max-width:760px){.journey-card{padding:18px;display:block}.journey-card-action{display:block;margin-top:13px}.journey-card-copy>strong{font-size:19px}.journey-card-copy>span{font-size:12px}.journey-heading{flex-wrap:wrap;gap:10px}.journey-heading h2{font-size:28px}.journey-toolbar{padding:14px}.journey-toolbar label{width:100%}.journey-toolbar select{flex:1;min-width:0}.journey-toolbar button{flex:1;font-size:12px}.journey-map-layout{grid-template-columns:1fr}.journey-map-shell{height:420px;min-height:0}.journey-vessel{border-left:0;border-top:1px solid var(--line);padding:20px}.journey-vessel h3{font-size:25px}.journey-timeline{padding:16px}.journey-timeline-heading{flex-wrap:wrap}.journey-ends{font-size:10px}.journey-hourly{padding:16px}.journey-weather strong{font-size:28px}}

#journey-map{background:var(--ocean)}.journey-card-copy>.leg-warning{color:#a15131}.journey-toolbar button{white-space:nowrap}@media(max-width:760px){.journey-toolbar button{flex:1 1 100%}}

/* Keep passage editing next to its itinerary card. */
.leg-card.editing{border-color:var(--teal);border-bottom-left-radius:0;border-bottom-right-radius:0;scroll-margin-top:20px}.leg-actions [data-edit-leg][aria-expanded=true]{background:var(--teal);border-color:var(--teal);color:white}#leg-form.inline-leg-form{margin:-10px 0 8px;padding:22px;border:1px solid var(--teal);border-top-color:#d3e4de;border-radius:0 0 10px 10px;background:#fff;min-width:0;scroll-margin-top:20px}#leg-form.inline-leg-form h3{color:var(--teal);overflow-wrap:anywhere}#leg-form-title:focus{outline:none}#leg-form.inline-leg-form .itinerary-status:empty{display:none}@media(max-width:760px){#leg-form.inline-leg-form{padding:16px}.leg-card.editing{scroll-margin-top:12px}}

.forecast-audit{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin:0 0 20px}.forecast-audit summary{font-weight:600;cursor:pointer}.forecast-audit p{font-size:12px;color:var(--muted);margin:12px 0;line-height:1.7}.forecast-audit-scroll{overflow:auto}.forecast-audit table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}.forecast-audit th,.forecast-audit td{padding:12px 10px;border-bottom:1px solid var(--line);min-width:140px;vertical-align:top}.forecast-audit th{color:var(--muted);font-weight:500}.forecast-audit-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:15px}.forecast-audit-actions a{font-size:12px;color:var(--teal)}.model-sampling{font-size:10px;line-height:1.6;color:var(--muted);margin:8px 0}.hour-panel{overflow-wrap:anywhere}

.route-exports{margin:-12px 0 24px;padding:16px 20px;background:#fff;border:1px solid var(--line);border-radius:10px}.route-export-actions{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center}.route-exports p{font-size:14px;color:var(--muted);margin:9px 0 0}.route-exports p:empty{display:none}.route-exports #export-status{color:var(--teal);overflow-wrap:anywhere}.route-export-actions button{min-height:44px}.window-table-wrap .route-export-actions{min-width:140px}@media(max-width:600px){.route-exports{padding:14px}.route-exports>.route-export-actions{display:flex}.route-exports>.route-export-actions button{flex:1}}

/* Optional speed planning */
.speed-optimizer{margin:24px 0 30px;border:1px solid #cbdedc;border-radius:14px;background:#f8fbfa;overflow:hidden}.speed-optimizer>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;cursor:pointer;list-style:none}.speed-optimizer>summary strong{display:block;color:#173342;font-size:21px}.speed-optimizer>summary span span{display:block;color:#607782;margin-top:5px;font-size:14px}.speed-optimizer>summary b{color:#1d716c;white-space:nowrap}.optimizer-body{border-top:1px solid #d9e5e3;padding:24px}.optimizer-intro{max-width:900px;line-height:1.65}.optimizer-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:16px 0}.optimizer-fields label,.optimizer-limits label,.optimizer-rule>label{display:flex;flex-direction:column;gap:9px;color:#526b77;font-size:14px}.optimizer-fields input,.optimizer-fields select,.optimizer-limits input,.optimizer-rule>label select{width:100%;min-height:48px;padding:12px;background:white;border:1px solid #cbdad9;border-radius:8px;color:#193746;box-sizing:border-box}.optimizer-margin{padding:12px 20px;border-radius:10px;background:#e7f1ef;display:flex;align-items:center;gap:20px;flex-wrap:wrap;color:#547371}.optimizer-margin strong{font-size:26px;color:#196a65}.optimizer-margin span{font-size:13px}.optimizer-limits{display:grid;grid-template-columns:1fr 1fr;gap:20px}.optimizer-limits fieldset{min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:16px;border:1px solid #d3e1df;border-radius:10px;padding:18px}.optimizer-limits legend{font-weight:700;color:#193746;padding:0 8px}.optimizer-limits fieldset:first-child{background:#fffaf0}.optimizer-limits fieldset:last-child{background:#eef3f8}.optimizer-help,.optimizer-source,.optimizer-method{font-size:13px;line-height:1.7;color:#607782;margin:14px 0}.optimizer-rules{margin:18px 0;border-top:1px solid #dce7e5;border-bottom:1px solid #dce7e5;padding:18px 0}.optimizer-rules>summary,.optimizer-method>summary{cursor:pointer;font-weight:600;color:#265863}.optimizer-rule{border:1px solid #ccdcda;border-radius:10px;padding:18px;margin:20px 0;background:white;min-width:0}.optimizer-rule>label{margin:12px 0}.optimizer-rule .optimizer-fields>div{min-width:0}.optimizer-rule .optimizer-fields select{margin-top:8px;font-size:12px}.optimizer-actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.optimizer-source{border-top:1px solid #d5e2df;padding-top:18px}.optimizer-schedule{margin:24px 0}.optimizer-schedule h4{font-size:18px;margin-bottom:6px}.optimizer-schedule p{font-size:14px;color:#607782}.optimizer-comparison th,.optimizer-comparison td,.optimizer-schedule th,.optimizer-schedule td{padding:13px 15px;text-align:left;font-size:13px;white-space:nowrap;border-bottom:1px solid #deebe7}.optimizer-comparison,.optimizer-schedule table{width:100%;border-collapse:collapse;background:#fff}.optimizer-comparison td:last-child{font-weight:700;color:#1d716c}.optimizer-comparison thead,.optimizer-schedule thead{background:#ecf3f1}.optimizer-body #optimizer-active{font-size:14px;color:#1d716c}.optimizer-body #optimizer-status{line-height:1.6;font-weight:600;color:#245e62}.optimizer-body #optimizer-result{border-top:1px solid #cedfdb;padding-top:24px}.optimizer-body #optimizer-result h3{font-size:25px;margin:0 0 12px}.optimizer-body #optimizer-result-note{line-height:1.7}.optimizer-body #optimizer-map{height:340px;border-radius:10px;margin-top:24px;z-index:0}.optimizer-body [hidden]{display:none!important}
@media(max-width:700px){.speed-optimizer>summary{padding:18px;align-items:flex-start}.speed-optimizer>summary b{font-size:12px}.optimizer-body{padding:16px}.optimizer-limits,.optimizer-fields{grid-template-columns:1fr}.optimizer-limits fieldset{padding:12px}.optimizer-body #optimizer-map{height:280px}.optimizer-actions>button{width:100%}.optimizer-rule{padding:12px}}
/* Time-synchronised forecast directions, shared by leg and journey maps. */
.weather-arrow-controls{grid-column:1/-1;padding:14px 20px;background:#f7f9fb;border-bottom:1px solid var(--line);color:var(--ink);min-width:0}
.weather-arrow-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.weather-arrow-row>strong{font-size:14px}.weather-arrow-options{display:flex;gap:4px;padding:4px;border-radius:12px;background:#e7edf0}.weather-arrow-options button{min-width:64px;min-height:44px;padding:9px 13px;border-radius:8px;color:#284357;background:transparent;font-size:14px}.weather-arrow-options button[aria-pressed=true]{background:#17394b;color:#fff;box-shadow:0 2px 5px #17394b20}.weather-arrow-options button:focus-visible{outline:3px solid #508ea7;outline-offset:2px}.weather-arrow-row label{display:flex;align-items:center;gap:7px;font-size:13px;min-height:44px;cursor:pointer}.weather-arrow-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--teal);margin:0}.weather-arrow-legend{display:flex;align-items:center;gap:12px 20px;flex-wrap:wrap;margin-top:10px;font-size:12px;color:#526c7b}.weather-wave-key{color:#7043b4;font-weight:650}.weather-wind-key{color:#0066b3;font-weight:650}.weather-arrow-time{font-size:13px;font-weight:600;margin:10px 0 0;font-variant-numeric:tabular-nums}.weather-arrow-status{font-size:12px;color:#526c7b;line-height:1.6;margin:5px 0 0}.weather-arrow-detail{padding:11px 13px;margin:10px 0 0;border-left:3px solid #5279a6;border-radius:4px;background:#eaf0f6;font-size:13px;line-height:1.7}.weather-arrow-help{margin-top:6px}.weather-arrow-help summary{font-size:12px;color:#526c7b;min-height:24px}.weather-arrow-help p{font-size:12px;line-height:1.7;max-width:950px;margin:9px 0}.weather-arrow-help a{text-decoration:underline}.weather-arrow-canvas{position:absolute;top:0;left:0;z-index:1;pointer-events:none!important}.journey-explorer>.weather-arrow-controls{border:1px solid var(--line);border-radius:12px 12px 0 0}.journey-explorer>.weather-arrow-controls+.journey-map-layout{border-radius:0 0 14px 14px}
@media(max-width:600px){.weather-arrow-controls{padding:12px}.weather-arrow-row{gap:6px 12px}.weather-arrow-row>strong{width:100%}.weather-arrow-options{width:100%}.weather-arrow-options button{flex:1;min-width:0}.weather-arrow-row label{font-size:13px}.weather-arrow-legend{gap:5px 14px}.weather-arrow-time{font-size:12px}}

/* Readable weather cards and visible forecast provenance, shared across layouts. */
.conditions.weather-metrics,.journey-weather.weather-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 0;padding:0;border:0}
.weather-metrics>div{display:flex;flex-direction:column;min-width:0;gap:5px;padding:10px 9px;background:#f1f7f6;border:1px solid #d8e7e3;border-radius:10px}
.conditions.weather-metrics .metric-label,.journey-weather.weather-metrics .metric-label{font-size:14px;line-height:1.4;font-weight:550;color:#526a78;min-height:40px}
.conditions.weather-metrics strong,.journey-weather.weather-metrics strong{display:block;font-size:36px;line-height:1.2;letter-spacing:-1px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.weather-metrics strong small{font-size:14px;letter-spacing:0;font-weight:500;color:#526a78}
.conditions.weather-metrics span:last-child,.journey-weather.weather-metrics span:last-child{font-size:12px;line-height:1.45;letter-spacing:0;color:#526a78}
.forecast-reference-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.forecast-reference-heading h2{margin:0;font-size:18px}
.forecast-reference-heading button{min-height:44px;flex-shrink:0;color:var(--teal)}
.forecast-source-links{font-size:14px;color:#526a78;margin:9px 0 0;line-height:1.7}
.forecast-source-links a{font-weight:550;text-underline-offset:3px}
.forecast-reference dl{margin:14px 0 0;gap:12px 24px}
.forecast-reference dd{font-variant-numeric:tabular-nums;font-weight:550}
.forecast-refresh-status{font-size:13px;color:var(--teal);margin:12px 0 0;line-height:1.6}
.forecast-update-help{margin-top:9px;font-size:13px;color:#526a78}
.forecast-update-help summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;color:var(--ink);font-weight:550;padding:10px 0}
.forecast-update-help p{margin:8px 0 12px;max-width:85ch}
.forecast-update-help button{margin-top:2px;min-height:44px}
@media(max-width:760px){.hour-panel{display:block}.conditions.weather-metrics{grid-column:auto;grid-row:auto}.forecast-reference{padding:16px}.forecast-reference dl{grid-template-columns:1fr}.forecast-reference-heading button{width:100%}.forecast-source-links>span[aria-hidden]{display:none}.forecast-source-links>a{display:block}.forecast-reference dd{font-size:14px}.weather-metrics>div{padding:12px}.conditions.weather-metrics .metric-label,.journey-weather.weather-metrics .metric-label{min-height:0}}

/* Prominent vessel time, date, light and coordinates. */
.vessel-moment{min-width:0;padding:14px;border:1px solid #c8dce0;border-left:4px solid #247a80;border-radius:12px;background:#edf4f6;color:var(--ink)}
.vessel-moment .panel-heading{flex-wrap:wrap;gap:10px}
.vessel-moment .panel-heading .eyebrow{font-size:.875rem;letter-spacing:1px;font-weight:700;color:#26646d}
.vessel-moment .badge{display:inline-flex;align-items:center;font-size:.9375rem;line-height:1.3;font-weight:650;padding:7px 12px;margin:0;letter-spacing:0}
.vessel-moment .badge.Night{background:#dae3f2;color:#263e68}
.vessel-moment .badge.Daylight{background:#fae9ac;color:#655016}
.vessel-moment .badge.Twilight{background:#eddbce;color:#724c30}
#selected-time,#journey-time{font-size:3.5rem;font-weight:650;line-height:1.1;letter-spacing:-1px;margin:12px 0 8px;color:var(--ink);font-variant-numeric:tabular-nums}
.hour-panel #selected-date,#journey-date{font-size:1rem;line-height:1.5;font-weight:550;color:#385465;margin:0;letter-spacing:0}
#coordinates,#journey-position{font-size:1.25rem;font-weight:650;line-height:1.5;color:var(--ink);margin:12px 0 0;padding-top:10px;border-top:1px solid #c8dce0;letter-spacing:0;font-variant-numeric:tabular-nums;overflow-wrap:normal;word-break:normal}

/* Readable passage summary, including the arrival for the displayed departure. */
#passage-overview{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:20px}
#passage-overview>.intro{width:100%;min-width:0}
#passage-overview h1{word-break:normal;overflow-wrap:break-word}
#passage-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:100%;margin:4px 0 0;min-width:0}
#passage-summary>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;padding:20px;border:1px solid #d5e2e3;border-radius:12px;background:#fff;color:var(--ink)}
#passage-summary>.passage-arrival{background:#eaf5f2;border-color:#accfc7}
#passage-summary small{display:block;font-size:.875rem;line-height:1.4;font-weight:650;letter-spacing:.3px;color:#385966}
#passage-summary strong{display:block;font-size:2.25rem;line-height:1.2;font-weight:650;letter-spacing:-.6px;margin:0;color:var(--ink);font-variant-numeric:tabular-nums}
#passage-summary strong.speed-range{font-size:1.75rem}
#passage-summary em{font-size:1.125rem;letter-spacing:0;font-style:normal;font-weight:550;color:#385966}
#passage-summary .passage-stat-time{display:block}
#passage-summary .passage-stat-date{display:block;font-size:1.125rem;line-height:1.4;letter-spacing:0;font-weight:550;margin-top:6px}
#passage-summary .passage-stat-note{display:block;font-size:.875rem;line-height:1.5;letter-spacing:0;color:#45616c;margin-top:auto}
@media(max-width:1100px){#passage-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){#passage-summary{gap:10px}#passage-summary>div{padding:14px 12px}#passage-summary strong{font-size:2rem}#passage-summary strong.speed-range{font-size:1.5rem}}
@media(max-width:350px){#passage-summary{grid-template-columns:1fr}}
#passage-summary .passage-edit-card form{display:flex;flex-direction:column;gap:12px;width:100%;min-width:0}
#passage-summary .passage-edit-card label{margin:0;font-weight:700}
#passage-summary .passage-edit-value{display:flex;align-items:center;gap:6px;min-width:0;padding:0;border:0;direction:ltr;font-size:2rem;font-variant-numeric:tabular-nums}
#passage-summary .passage-edit-value input{box-sizing:border-box;appearance:textfield;width:100%;min-width:0;min-height:58px;padding:8px;font-size:2rem;font-weight:650;line-height:1.25;letter-spacing:0;color:var(--ink);background:#f6fafb;border:2px solid #a8c3c9;border-radius:8px}
#passage-summary input::-webkit-inner-spin-button,#passage-summary input::-webkit-outer-spin-button{appearance:none;margin:0}
#passage-summary .passage-edit-value input:focus{outline:3px solid #137783;outline-offset:2px}
#passage-summary .passage-edit-value em{flex:none}
#passage-summary .passage-edit-card button{min-height:46px;white-space:normal;font-size:1rem;width:100%}
#passage-summary .passage-edit-card [role=status]{font-size:.875rem;line-height:1.5;margin:0;color:#285c60}
#passage-summary .passage-edit-card [role=status]:empty{display:none}
#passage-summary [hidden]{display:none!important}
@media(max-width:560px){#passage-summary .passage-edit-value,#passage-summary .passage-edit-value input{font-size:1.7rem}}
/* Departure scenarios: keep the recommendation and limit trade-offs together. */
#window-best{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;background:transparent;padding:0;border:0}#window-best p{min-width:0;line-height:1.6;margin:0}.window-choice{padding:24px;border:1px solid #b9d5cf;border-left:5px solid #176c67;border-radius:14px;background:#eaf4f1;min-width:0}.window-choice.exceeds{border-color:#e3c7a9;border-left-color:#b67a30;background:#fff8ef}.window-choice h3{font-size:22px;line-height:1.35;margin:0 0 10px}.window-choice .window-choice-status{font-weight:650;color:#176c67;font-size:16px}.window-choice.exceeds .window-choice-status{color:#8c4f15}.window-choice .window-choice-time{font-size:30px!important;font-weight:650;letter-spacing:-.5px;margin-top:14px!important}.window-choice-arrival{font-size:15px!important;color:#536b77}.window-choice-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0}.window-choice-metrics>div{padding:14px;background:#ffffffb8;border:1px solid #dce6e4;border-radius:9px;min-width:0}.window-choice-metrics dt{font-size:14px;color:#526b77;margin-bottom:7px}.window-choice-metrics dd{font-size:24px;line-height:1.3;font-weight:650;margin:0;overflow-wrap:anywhere}.window-choice-metrics>div:last-child dd{font-size:20px}.window-choice .route-export-actions{display:flex;flex-wrap:wrap;gap:12px}.window-choice .route-export-actions button{font-size:16px;min-height:48px}.window-choice-warning{padding:14px 18px;border:1px solid #e6ceae;background:#fff6e8;border-radius:9px;color:#86521f;font-weight:600}.window-choice-reason{color:#536b77;font-size:15px!important}.window-featured-row{background:#f2f8f6}.window-table-wrap td small{display:block;font-size:12px;line-height:1.5;margin-top:7px;color:#54717b}.window-table-wrap .window-featured-row td:first-child small:last-child{font-weight:650;color:#176c67}.window-table-wrap td:first-child{min-width:165px}.window-table-wrap td:last-child .route-export-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px}.window-table-wrap td:last-child button{white-space:normal}.window-method{padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:white;margin:20px 0}.window-method summary{font-size:16px;font-weight:650;cursor:pointer;min-height:28px}.window-method p{font-size:15px;line-height:1.7;margin:14px 0;color:#526b77}@media(max-width:680px){.window-choice{padding:18px}.window-choice h3{font-size:20px}.window-choice-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.window-choice-metrics>div{padding:12px}.window-choice-metrics dd{font-size:22px}.window-choice-metrics dt{font-size:13px}.window-choice .window-choice-time{font-size:26px!important}.window-choice .route-export-actions{flex-direction:column}.window-choice .route-export-actions button{width:100%}}

.port-current-location{display:block;margin:8px 0;min-height:48px;white-space:normal}.port-location-status{font-size:14px;line-height:1.5;color:var(--muted);margin:8px 0}.port-location-status:empty{display:none}

.optimizer-limit-pair{min-width:0;display:flex;flex-direction:column;gap:14px}.optimizer-rate-note{font-size:14px;line-height:1.5;color:#526b77;letter-spacing:normal}.optimizer-limits label{font-size:14px}@media(max-width:440px){.optimizer-limits fieldset{grid-template-columns:1fr}}

.optimizer-margin{display:flex;flex-direction:column;align-items:stretch;gap:8px}.optimizer-margin .optimizer-margin-choice{display:flex;flex-direction:row;align-items:center;gap:12px;min-height:48px;cursor:pointer}.optimizer-margin-choice input[type=checkbox]{width:26px;height:26px;min-width:26px;min-height:26px;flex:none;margin:0;accent-color:#176c67}.optimizer-margin .optimizer-margin-choice span{font-size:17px;font-weight:650;color:var(--ink);line-height:1.4}.optimizer-margin>small{font-size:14px;line-height:1.5}.optimizer-speed-totals{padding:22px;margin:24px 0;border:1px solid #bfd8d3;border-radius:12px;background:#f3f8f6}.optimizer-speed-totals h3{font-size:23px;margin:0 0 8px}.optimizer-speed-totals>p{font-size:14px;line-height:1.5;color:#526b77;margin:8px 0 16px}.optimizer-speed-totals table{width:100%;border-collapse:collapse;background:white}.optimizer-speed-totals th,.optimizer-speed-totals td{padding:14px 16px;text-align:left;border-bottom:1px solid #deebe7}.optimizer-speed-totals thead th{font-size:14px;background:#e6f0ed}.optimizer-speed-totals tbody th,.optimizer-speed-totals tbody td:nth-child(2){font-size:23px;font-weight:650;line-height:1.4;font-variant-numeric:tabular-nums}.optimizer-speed-totals tbody td:nth-child(2){color:#176c67}.optimizer-speed-totals td:last-child{font-size:16px}.optimizer-speed-totals tfoot{background:#e6f0ed;font-weight:650}.optimizer-speed-totals tfoot th,.optimizer-speed-totals tfoot td{font-size:16px}.optimizer-speed-totals .optimizer-help{margin:14px 0 0}@media(max-width:680px){.optimizer-speed-totals{padding:14px}.optimizer-speed-totals th,.optimizer-speed-totals td{padding:12px 8px}.optimizer-speed-totals tbody th,.optimizer-speed-totals tbody td:nth-child(2){font-size:19px}.optimizer-speed-totals td:last-child{font-size:14px}}

.passage-pdf-export{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:14px 22px;border-bottom:1px solid var(--line);background:#fff}.passage-pdf-export .outline{font-size:16px;min-height:48px}.passage-pdf-export p{font-size:14px;margin:0;color:var(--teal);overflow-wrap:anywhere}.passage-pdf-export p:empty{display:none}@media(max-width:600px){.passage-pdf-export{padding:14px 16px}.passage-pdf-export .outline{width:100%}}

/* Departure shortcut uses the same Greek clock as the saved passage. */
.leg-departure-fields{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:14px;align-items:end;min-width:0}.leg-departure-fields label{min-width:0}.leg-departure-fields input{max-width:100%;box-sizing:border-box}.leg-departure-fields #leg-now{min-height:48px;padding:12px 22px;font-size:16px;white-space:nowrap}
@media(max-width:600px){.leg-departure-fields{grid-template-columns:minmax(0,1fr)}.leg-departure-fields #leg-now{justify-self:start;min-width:100px}}

.port-location-action{margin:8px 0 0 8px;min-height:46px}.port-location-status{font-size:14px;line-height:1.6}.port-location-status:empty{display:none}.port-location-help{margin-top:10px;font-size:14px;line-height:1.6;color:var(--muted)}.port-location-help summary{cursor:pointer;color:var(--teal);font-weight:600}.port-location-help p{margin:10px 0}.port-location-help a{color:var(--teal)}
