:root{font-family:Aptos,"Segoe UI",Arial,sans-serif;color:#19343e;background:#e9eeec;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{min-width:320px}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-underline-offset:3px}::selection{background:#d6ad67;color:#10242d}:focus-visible{outline:3px solid #c68c3f;outline-offset:2px}.masthead{height:76px;background:#10242d;color:#f6f5ef;display:flex;justify-content:space-between;align-items:center;padding:0 26px;gap:20px}.brand{display:flex;align-items:center;gap:11px;font-family:Georgia,serif;font-size:27px;letter-spacing:-.03em;line-height:1}.brand-light{font-weight:400;color:#e3bd82}.brand small{display:block;margin-top:5px;font-family:Aptos,"Segoe UI",sans-serif;font-size:10px;letter-spacing:.19em;text-transform:uppercase;color:#afbec1}.brand-mark{width:39px;height:39px;display:grid;place-items:center}.brand-mark svg{width:35px;height:35px;fill:none;stroke:#e3bd82;stroke-width:1.8;stroke-linejoin:round}.header-actions{display:flex;align-items:center;gap:9px}.save-state{font-size:11px;color:#b2c1c4;margin-right:12px}.quiet-button{background:transparent;border:1px solid #587078;border-radius:7px;color:#f2f0e9;padding:9px 13px;font-size:12px;font-weight:700}.quiet-button:hover{background:#263d47}.workspace{display:grid;grid-template-columns:minmax(325px,376px) minmax(0,1fr);height:calc(100vh - 104px);min-height:690px}.planner{background:#f9f8f3;border-right:1px solid #d8dfda;overflow-y:auto;display:flex;flex-direction:column}.planner-head{padding:26px 26px 19px;border-bottom:1px solid #e2e6e0}.planner h1{font-family:Georgia,serif;font-size:29px;line-height:1.1;letter-spacing:-.025em;font-weight:400;margin:0 0 8px}.planner-head p{margin:0;color:#65777a;font-size:13px;line-height:1.45}.voyage-fields,.waypoints-section,.selected-section{padding:22px 26px;border-bottom:1px solid #e2e6e0}.voyage-fields{display:grid;gap:14px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}label{display:block;color:#344e54;font-size:11px;font-weight:700;letter-spacing:.02em}label span{font-weight:400;color:#73878a}input:not([type=checkbox]),textarea{display:block;width:100%;margin-top:7px;border:1px solid #cdd8d5;border-radius:6px;padding:10px 11px;background:#fff;color:#19343e;font-size:13px;font-weight:500;outline:none;min-width:0}input:not([type=checkbox]):focus,textarea:focus{border-color:#9b6d37;box-shadow:0 0 0 2px #f3e5d0}textarea{resize:vertical}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.section-heading h2{font-family:Georgia,serif;font-weight:400;font-size:20px;margin:0}.section-heading h2 span{font-family:Aptos,"Segoe UI",sans-serif;font-size:11px;color:#597175;border:1px solid #ccd8d5;border-radius:20px;padding:2px 6px;vertical-align:3px}.text-button{border:0;background:none;padding:4px 0;color:#1a6470;font-size:12px;font-weight:700;white-space:nowrap}.text-button:hover{text-decoration:underline}.danger{color:#a74639}.map-hint{color:#74878a;font-size:12px;line-height:1.45;margin:10px 0 15px}.waypoint-list{list-style:none;margin:0;padding:0;display:grid;gap:7px}.waypoint{width:100%;border:1px solid #dbe2dc;background:#fff;border-radius:8px;padding:11px 12px;display:grid;grid-template-columns:24px 1fr auto;gap:10px;text-align:left;color:#1d3942}.waypoint:hover{border-color:#88a7a7}.waypoint.active{border-color:#b5874a;background:#fcf7eb}.waypoint-number{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#173d48;color:#fff;font-size:11px;font-weight:700}.waypoint strong{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.waypoint small{display:block;margin-top:3px;color:#738589;font-size:11px}.waypoint .nm{font-size:11px;color:#5d7478;align-self:center}.empty-points{padding:20px;border:1px dashed #b9cac7;border-radius:8px;color:#718487;text-align:center;font-size:13px;line-height:1.5}.selected-section{display:grid;gap:12px;background:#f1f4ee}.move-actions{display:flex;gap:8px}.move-actions button{border:1px solid #b9c8c5;background:#fff;color:#34515a;border-radius:5px;padding:7px 11px;font-size:12px}.planner-foot{padding:19px 26px;margin-top:auto;color:#687e81;font-size:11px;line-height:1.5}.planner-foot p{margin:0}.planner-foot strong{color:#344e54}.main-column{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(310px,1fr) minmax(286px,38%)}.map-panel{position:relative;min-height:310px}#map{height:100%;width:100%;background:#dce5e2}.map-toolbar{position:absolute;top:18px;right:18px;z-index:400;background:#fff;box-shadow:0 3px 18px #173d4826;border-radius:7px;padding:10px 13px;display:flex;align-items:center;gap:13px;color:#61777b;font-size:11px}.layer-toggle{display:flex;align-items:center;gap:7px;font-size:11px;white-space:nowrap}.layer-toggle input{accent-color:#176273}.bottom-panel{background:#fff;min-height:0;overflow:auto}.overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid #e5eae7}.overview>div{padding:16px 24px;border-right:1px solid #e5eae7}.overview>div:last-child{border:0}.label{display:block;color:#72868a;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:700;margin-bottom:5px}.overview strong{font-family:Georgia,serif;font-weight:400;font-size:25px;color:#1a3c46;white-space:nowrap}.overview small{font-family:Aptos,"Segoe UI",sans-serif;font-size:12px;font-weight:600;color:#6a7e82}.details-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(295px,1fr)}.legs,.marine{padding:18px 23px}.marine{border-left:1px solid #e5eae7}.muted{color:#799094;font-size:11px}.table-wrap{overflow-x:auto;margin-top:12px}table{width:100%;border-collapse:collapse;min-width:510px;font-size:11px}th{color:#74878a;text-align:left;font-weight:700;padding:8px 7px;border-bottom:1px solid #dce5e0}td{padding:10px 7px;border-bottom:1px solid #edf0ed;color:#345159;white-space:nowrap}td:first-child{font-weight:700;color:#193d48}.marine-content{font-size:12px;line-height:1.5;color:#3a555c}.marine-content p{margin:10px 0}.marine-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.marine-metrics div{background:#eff4f1;padding:10px;border-radius:5px}.marine-metrics small{display:block;color:#668084;font-size:10px}.marine-metrics strong{display:block;font-size:16px;font-weight:600;color:#153d48;font-variant-numeric:tabular-nums}.tide-events{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:4px}.tide-events li{display:flex;justify-content:space-between;border-bottom:1px solid #edf0ed;padding:3px 0}.marine-caution{color:#8a6037;background:#fbf4e7;padding:9px;border-radius:5px}.credits{height:28px;background:#10242d;color:#a4b8bb;text-align:right;padding:7px 20px;font-size:10px}.toast{position:fixed;bottom:42px;right:18px;background:#183a44;color:#fff;border-radius:7px;padding:11px 15px;font-size:12px;box-shadow:0 6px 22px #122c3840;z-index:1000;opacity:0;pointer-events:none;transition:opacity .2s}.toast.visible{opacity:1}.map-pin{background:#173d48;border:2px solid #fff;color:#fff;border-radius:50%;height:26px;width:26px;text-align:center;line-height:22px;font-weight:700;font-size:11px;box-shadow:0 2px 7px #1a313d66}.map-pin.active{background:#bd7c35;transform:scale(1.15)}.leaflet-container{font:inherit}.leaflet-control-attribution{font-size:10px!important}
@media(max-width:1050px){.workspace{grid-template-columns:330px minmax(0,1fr)}.details-grid{grid-template-columns:1fr}.marine{border-left:0;border-top:1px solid #e5eae7}.main-column{grid-template-rows:minmax(330px,1fr) minmax(286px,43%)}}
@media(max-width:720px){.masthead{height:auto;min-height:68px;padding:12px 15px;align-items:flex-start}.brand{font-size:23px}.brand-mark{width:30px}.brand-mark svg{width:28px}.header-actions{flex-wrap:wrap;justify-content:flex-end}.save-state{display:none}.quiet-button{font-size:11px;padding:7px 9px}.workspace{display:flex;flex-direction:column;height:auto;min-height:0}.planner{overflow:visible;order:2}.main-column{display:contents}.map-panel{order:1;height:48vh;min-height:300px}.bottom-panel{order:3;overflow:visible}.map-toolbar{top:9px;right:9px;gap:4px;display:block}.map-toolbar span{display:none}.overview>div{padding:13px 11px}.overview strong{font-size:18px}.details-grid{display:block}.planner-head,.voyage-fields,.waypoints-section,.selected-section{padding-left:18px;padding-right:18px}.credits{height:auto;text-align:center;line-height:1.5;padding:8px 12px}}
[hidden]{display:none!important}
.preparation{padding:22px 26px;border-bottom:1px solid #e2e6e0}.checklist{display:grid;gap:7px}.check-row{display:flex;align-items:flex-start;gap:9px;font-size:12px;font-weight:500;line-height:1.35;letter-spacing:0;color:#3a555c;cursor:pointer}.check-row input{margin:1px 0 0;accent-color:#176273}.check-row span{color:inherit;font-weight:inherit}.plan-notes{margin-top:17px}.plan-notes textarea{margin-top:7px}@media(max-width:720px){.preparation{padding-left:18px;padding-right:18px}}

.planner-head p,.map-hint,.planner-foot,.muted,.waypoint small,.waypoint .nm,.overview small,.marine-content .muted{color:#526b70}.credits{font-size:11px}.brand small,.save-state,.section-heading h2 span,.label,th,td,.map-toolbar,.layer-toggle,.marine-metrics small{font-size:12px}.planner-foot{font-size:12px}.waypoint small{font-size:12px}.leaflet-control-attribution{font-size:11px!important}
.brand-logo{width:92px;height:48px;object-fit:contain;background:#fff;border-radius:4px;padding:3px}.language-label{color:#dbe8e8;font-size:11px}.language-label select{margin-left:5px;border:1px solid #587078;background:#10242d;color:#fff;border-radius:5px;padding:6px}.voyage-fields select,.account-panel select{display:block;width:100%;margin-top:7px;border:1px solid #cdd8d5;border-radius:6px;padding:10px;background:#fff;color:#19343e}.provisions{border:1px solid #cadbd5;background:#edf5ef;border-radius:8px;padding:13px;color:#244b48;font-size:12px}.provisions p{margin:7px 0}.provisions small{display:block;color:#526b70;line-height:1.4}.account-panel{padding:22px 26px;border-bottom:1px solid #e2e6e0}.account-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.dark-button{border-color:#51717a;color:#17434d}.dark-button:hover{background:#e1edea}dialog{border:1px solid #cad8d4;border-radius:12px;box-shadow:0 15px 50px #10242d55;padding:25px;width:min(440px,calc(100vw - 32px));color:#19343e}dialog::backdrop{background:#10242d99}dialog h2{font-family:Georgia,serif;font-weight:400;margin-top:0}dialog label{margin:14px 0}.dialog-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:20px}dialog button{border:1px solid #6c8688;border-radius:6px;background:#fff;color:#17434d;padding:8px 12px}dialog button[type=submit]{background:#173d48;color:#fff}#account-logout{margin-top:14px}
.tip-block{position:relative;overflow:hidden;margin-top:18px;padding:20px 18px 18px;border-radius:12px;background:#173d48;color:#f9f8f3}.tip-route{display:block;width:100%;height:40px;margin:0 0 12px;fill:none;stroke:#e3bd82;stroke-width:2;stroke-linecap:round}.tip-route path{stroke-dasharray:3 5}.tip-route circle{fill:#e3bd82;stroke:none}.tip-block h2{margin:0 0 8px;color:#fff;font-family:Georgia,serif;font-size:23px;font-weight:400;line-height:1.2}.tip-block p{max-width:32ch;margin:0 0 16px;color:#e0e9e7;font-size:13px;line-height:1.5}.tip-link{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:11px 13px;border-radius:7px;background:#e3bd82;color:#10242d;font-size:13px;font-weight:700;text-decoration:none;transition:background-color .2s ease,transform .2s ease}.tip-link:hover{background:#f2d3a1;transform:translateY(-2px)}.tip-link:focus-visible{outline:3px solid #fff;outline-offset:3px}.tip-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.tip-pending{display:block;color:#e0e9e7;font-size:12px;line-height:1.4}.tip-block [hidden]{display:none}
[hidden]{display:none!important}

/* Route settings and supply estimates */
.masthead{min-height:84px;height:auto;padding-block:12px}.brand-logo{width:154px;height:54px;background:#f9f8f3;padding:5px}.brand{gap:16px;min-width:0}.header-actions{flex-wrap:wrap;justify-content:flex-end}.header-actions .quiet-button{background:#f9f8f3;border-color:#f9f8f3;color:#102f39;min-height:40px;padding-inline:14px}.header-actions .quiet-button:hover{background:#e3bd82;border-color:#e3bd82}.language-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#fff}.language-label select{appearance:none;min-width:70px;margin:0;padding:10px 30px 10px 12px;border:1px solid #aac2c5;background:#f9f8f3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' fill='none' stroke='%23102f39' stroke-width='2'/%3E%3C/svg%3E") right 10px center/12px no-repeat;color:#102f39;font-size:13px;font-weight:700}.save-state{color:#d7e5e5}.workspace{height:calc(100vh - 112px);grid-template-columns:minmax(350px,400px) minmax(0,1fr)}.planner-head{padding-top:24px}.voyage-fields{gap:17px}.voyage-fields label{font-size:12px;line-height:1.35}.voyage-fields input:not([type=checkbox]),.voyage-fields select,.account-panel select{min-height:43px;border:1px solid #aebfbd;border-radius:8px;background-color:#fff;color:#19343e;font-size:14px;font-weight:600}.voyage-fields select{appearance:none;padding:10px 36px 10px 12px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' fill='none' stroke='%23193d48' stroke-width='2'/%3E%3C/svg%3E") right 12px center/14px no-repeat}.voyage-fields select:focus-visible,.language-label select:focus-visible{outline:3px solid #c68c3f;outline-offset:2px}.provisions{padding:0;border:0;background:transparent}.provisions h2{font-family:Georgia,serif;font-size:21px;font-weight:400;color:#173d48;margin:4px 0 11px}.supply{padding:16px;border-radius:12px;background:#e9f2ef;margin-bottom:10px}.fuel-supply{background:#f7efe2}.supply-head{display:flex;align-items:center;gap:11px}.supply-head svg{flex:none;width:31px;height:31px;fill:none;stroke:#176273;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.fuel-supply svg{stroke:#946020}.supply-head strong{display:block;font-size:14px;color:#173d48}.supply-head span{display:block;margin-top:3px;font-size:12px;color:#405d61}.supply output{display:block;margin:10px 0 8px;font-family:Georgia,serif;font-size:32px;line-height:1.05;color:#12586a;font-variant-numeric:tabular-nums}.fuel-supply output{color:#825119}.supply-setting{display:flex!important;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid #b9d2cd;font-size:12px!important}.supply-setting span{margin-left:auto;white-space:nowrap}.supply-setting input{width:76px!important;min-height:35px!important;margin:0!important;padding:6px 8px!important;text-align:right}.supply-note{display:block;line-height:1.5;color:#405d61;font-size:12px}.account-actions{display:grid;grid-template-columns:1fr 1fr}.account-actions .quiet-button{min-height:44px;padding:9px 10px;background:#173d48;border-color:#173d48;color:#fff;line-height:1.3}.account-actions .quiet-button:hover{background:#245767}.account-actions .quiet-button:disabled{background:#d6e2df;border-color:#d6e2df;color:#34545a;opacity:1}
@media(max-width:1000px){.brand-logo{width:116px}.masthead{align-items:flex-start}.brand{font-size:23px}.save-state{display:none}}
@media(max-width:720px){.masthead{padding:12px 16px;gap:12px;flex-wrap:wrap}.brand-logo{width:110px;height:42px}.header-actions{width:100%;justify-content:flex-start;gap:8px}.header-actions .quiet-button{min-height:38px}.language-label{margin-right:auto}.workspace{height:auto}.planner{order:2}.main-column{display:contents}.map-panel{order:1}.bottom-panel{order:3}.planner-head,.voyage-fields,.waypoints-section,.selected-section,.preparation,.account-panel{padding-left:18px;padding-right:18px}}
@media(max-width:390px){.field-pair{grid-template-columns:1fr}.account-actions{grid-template-columns:1fr}}
.map-hint,.planner-head p,.marine-content,.muted,table,.waypoint small,.planner-foot{font-size:13px;line-height:1.5}.label,th,td{font-size:12px}.overview>div{padding-block:20px}.overview strong{font-size:27px}.details-grid .section-heading h2{font-size:22px}.legs,.marine{padding:22px 24px}.account-panel{padding-top:24px;padding-bottom:24px}.account-actions{gap:10px}.account-actions .quiet-button{font-size:13px}.toast{font-size:13px}
@media(max-width:720px){.overview>div{padding:13px 10px}.overview strong{font-size:18px}.legs,.marine{padding:20px 18px}}
.header-actions .journal-button{background:#e3bd82;border-color:#e3bd82;color:#102f39}.header-actions .journal-button:hover{background:#f2d3a1;border-color:#f2d3a1}.account-actions{grid-template-columns:1fr}
.coordinate-setting{display:block;margin:15px 0 2px;font-size:12px}.coordinate-setting select{display:block;width:100%;min-height:40px;margin-top:7px;padding:8px 10px;border:1px solid #aebfbd;border-radius:8px;background:#fff;color:#19343e;font:600 13px Aptos,"Segoe UI",Arial,sans-serif}.coordinate-setting select:focus-visible{outline:3px solid #c68c3f;outline-offset:2px}.coordinate-preview{margin:0;color:#31555f;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.wind-direction{display:flex;align-items:center;gap:5px;margin-top:3px;font-size:12px;font-weight:700;color:#31555f}.wind-arrow{width:19px;height:19px;fill:#1a6470;flex:none}.marine-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}table{min-width:660px}td{font-variant-numeric:tabular-nums}
.waypoint-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:stretch;border-radius:8px}.waypoint-row.dragging{opacity:.45}.waypoint-row.drop-before{box-shadow:0 -3px 0 #b5874a}.waypoint-row.drop-after{box-shadow:0 3px 0 #b5874a}.waypoint{min-width:0;grid-template-columns:24px minmax(0,1fr) auto}.waypoint-order{display:flex;align-items:stretch;gap:2px}.waypoint-order button,.waypoint-grip{display:grid;place-items:center;min-width:30px;border:1px solid #c5d2cf;background:#fff;color:#294d56;border-radius:6px;font-size:18px;font-weight:700}.waypoint-order button:hover,.waypoint-grip:hover{background:#e9f2ef}.waypoint-order button:focus-visible,.waypoint-grip:focus-visible{outline:3px solid #c68c3f;outline-offset:2px}.waypoint-grip{cursor:grab;user-select:none;padding:0 3px}.waypoint-grip:active{cursor:grabbing}@media(max-width:720px){.waypoint-order button{min-width:40px}.waypoint-grip{display:none}}
