
.docs-page{background:#f6f9fc;min-height:100vh;padding:3rem 0 5rem}
.docs-shell{width:100%;max-width:none;margin:0;padding:0 1rem;display:grid;grid-template-columns:250px minmax(0,1fr);gap:1rem;align-items:start;transition:grid-template-columns .22s ease}.docs-shell.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}
.docs-sidebar{position:sticky;top:112px;background:#fff;border:1px solid #e5edf4;border-radius:16px;padding:1rem;box-shadow:0 8px 28px rgba(0,61,92,.07)}
.docs-sidebar h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin:.5rem .75rem .8rem}
.docs-sidebar a{display:flex;justify-content:space-between;gap:.5rem;padding:.72rem .8rem;border-radius:10px;text-decoration:none;color:#334155;font-size:.92rem;margin:.15rem 0}
.docs-sidebar a:hover,.docs-sidebar a.active{background:#eaf5fb;color:var(--ocean-blue)}
.docs-sidebar a.disabled{opacity:.55}
.docs-sidebar .badge{font-size:.68rem;background:#eef2f7;padding:.14rem .4rem;border-radius:999px;color:#64748b}
.docs-content{background:#fff;border:1px solid #e5edf4;border-radius:18px;padding:2.4rem;box-shadow:0 8px 28px rgba(0,61,92,.07);min-width:0}
.docs-eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ocean-blue);font-weight:700;margin-bottom:.5rem}
.docs-content h1{font-size:2.35rem;line-height:1.2;color:var(--deep-blue);margin-bottom:.8rem}
.docs-lead{font-size:1.08rem;color:#5a6c7d;margin-bottom:2rem;max-width:850px}
.docs-content h2{font-size:1.55rem;color:var(--deep-blue);margin:2.2rem 0 .8rem;padding-top:.35rem}
.docs-content h3{font-size:1.15rem;color:#264b63;margin:1.5rem 0 .65rem}
.docs-content p,.docs-content li{color:#526273}
.docs-content ul,.docs-content ol{padding-left:1.4rem;margin:.7rem 0 1rem}
.docs-content li{margin:.38rem 0}
.docs-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin:1.3rem 0}
.docs-card{border:1px solid #e2e8f0;border-radius:14px;padding:1.25rem;background:#fbfdff;text-decoration:none;display:block}
.docs-card:hover{border-color:#8dc7e6;box-shadow:0 8px 20px rgba(0,119,190,.08)}
.docs-card.disabled{opacity:.65;cursor:not-allowed}
.docs-card h3{margin:0 0 .45rem;color:var(--deep-blue)}
.docs-card p{margin:0;font-size:.92rem}
.docs-badge{display:inline-block;padding:.25rem .58rem;border-radius:999px;font-size:.72rem;font-weight:700;margin-bottom:.75rem;background:#e8f4fb;color:#006cae}
.docs-badge.disabled{background:#edf0f3;color:#667085}
.docs-endpoint{background:#eef8fc;border:1px solid #d3eaf5;border-radius:12px;padding:1rem;margin:1rem 0;overflow-wrap:anywhere}
.docs-endpoint strong{display:block;font-size:.76rem;text-transform:uppercase;color:#547083;margin-bottom:.3rem}
.docs-endpoint code{color:#004f7c;font-size:.92rem}
.docs-code{background:#102a3a;color:#eef8ff;border-radius:12px;padding:1.15rem;margin:1rem 0;overflow-x:auto;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre}
.docs-table-wrap{overflow-x:auto;margin:1rem 0}
.docs-table{width:100%;border-collapse:collapse;font-size:.9rem;table-layout:fixed}
.docs-table th,.docs-table td{border:1px solid #dce5ec;padding:.72rem;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.docs-table th{background:#f3f7fa;color:#29495d}
.docs-table th:nth-child(1){width:19%}.docs-table th:nth-child(2){width:12%}.docs-table th:nth-child(3){width:12%}.docs-table th:nth-child(4){width:57%}
.docs-note{border-left:4px solid #3b9bcf;background:#f1f9fd;padding:1rem 1.1rem;border-radius:0 10px 10px 0;margin:1rem 0;color:#465e6d}
.docs-warning{border-left-color:#e0a100;background:#fff9e9}
.docs-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem;margin:1.25rem 0}.docs-flow div{background:#f2f7fa;border:1px solid #dce7ee;border-radius:10px;padding:.8rem;text-align:center;font-size:.82rem;color:#365568}.docs-flow div:not(:last-child)::after{content:'→';float:right;margin-right:-1.15rem;color:#7f9aaa}
.docs-disabled-link span{font-size:.65rem;background:#edf0f3;color:#64748b;padding:.12rem .35rem;border-radius:999px;margin-left:.3rem}
@media(max-width:900px){.docs-shell{grid-template-columns:1fr}.docs-sidebar{position:static}.docs-flow{grid-template-columns:1fr}.docs-flow div:not(:last-child)::after{content:'↓';float:none;display:block;margin:.35rem 0 -.8rem}.docs-content{padding:1.4rem}.docs-content h1{font-size:1.9rem}}


/* Interactive documentation */
.docs-details{border:1px solid #dce7ee;border-radius:12px;margin:1rem 0;background:#fbfdff;overflow:hidden}
.docs-details summary{cursor:pointer;padding:1rem 1.1rem;font-weight:750;color:#17445f;background:#f3f8fb;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.docs-details summary::after{content:'+';font-size:1.3rem}.docs-details[open] summary::after{content:'−'}
.docs-details-body{padding:1rem}.docs-code-toolbar{display:flex;justify-content:flex-end;margin-bottom:.45rem}.docs-copy-btn,.docs-demo button{border:0;border-radius:8px;background:#075985;color:#fff;padding:.58rem .9rem;font-weight:700;cursor:pointer}.docs-copy-btn:hover,.docs-demo button:hover{background:#0c4a6e}
.docs-demo{border:1px solid #d7e5ed;border-radius:14px;padding:1.2rem;background:#f9fcfe;margin:1.25rem 0}.docs-demo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.docs-field{display:flex;flex-direction:column;gap:.35rem}.docs-field label{font-size:.82rem;font-weight:700;color:#365568}.docs-field input,.docs-field select,.docs-field textarea{width:100%;padding:.68rem .72rem;border:1px solid #cbd8e2;border-radius:8px;background:#fff;color:#213547;font:inherit}.docs-field textarea{min-height:96px;resize:vertical}.docs-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.55rem;margin:.7rem 0}.docs-check{display:flex;align-items:center;gap:.45rem;padding:.55rem;border:1px solid #dce7ee;border-radius:8px;background:#fff}.docs-demo-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem}.docs-demo .secondary{background:#eef5f8;color:#075985;border:1px solid #b8d4e2}.docs-demo-status{margin-top:.8rem;padding:.75rem;border-radius:8px;background:#eef6fa;color:#365568;white-space:pre-wrap;overflow-wrap:anywhere}.docs-demo-result{max-height:420px;overflow:auto}
.model-flow{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:.7rem;margin:1.2rem 0;overflow-x:auto}.model-flow .node{position:relative;min-height:110px;padding:1rem;border:1px solid #cfe0ea;border-radius:12px;background:#f8fcfe}.model-flow .node:not(:last-child)::after{content:'→';position:absolute;right:-.62rem;top:42%;z-index:2;color:#0b6b99;font-weight:900}.model-flow strong{display:block;color:#0c4a6e;margin-bottom:.35rem}.model-flow span{font-size:.8rem;color:#5d7180;line-height:1.4}.model-diagram{width:100%;height:auto;border:1px solid #d7e5ed;border-radius:14px;background:#fff;margin:1rem 0}.model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.model-card{padding:1rem;border:1px solid #dce7ee;border-radius:12px;background:#fbfdff}.model-card h3{margin-top:0}.model-callout{border-left:4px solid #0b7ab5;background:#eef8fc;padding:1rem;border-radius:0 10px 10px 0;margin:1rem 0}.model-callout.warning{border-left-color:#d79a00;background:#fff8e6}.model-legend{display:flex;gap:.75rem;flex-wrap:wrap;font-size:.8rem;color:#526273}.model-dot{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;margin-right:.25rem;vertical-align:middle}.dot-input{background:#1479a8}.dot-model{background:#6d5bd0}.dot-output{background:#1f8b5c}
@media(max-width:900px){.docs-demo-grid,.model-grid{grid-template-columns:1fr}.model-flow{grid-template-columns:repeat(6,190px)}}

.docs-form-section{margin:14px 0;border:1px solid var(--docs-border,#d7e0ea);border-radius:12px;background:#fff;overflow:hidden}.docs-form-section>summary{padding:14px 16px;cursor:pointer;font-weight:800;color:#0c4a6e;background:#f8fafc}.docs-form-section[open]>summary{border-bottom:1px solid var(--docs-border,#d7e0ea)}.docs-form-section .docs-demo-grid{padding:16px}.docs-form-section .docs-checks,.docs-form-section>.docs-secondary-btn{margin:0 16px 16px}.docs-field-wide{grid-column:1/-1}.docs-field textarea{width:100%;resize:vertical}.docs-field small{display:block;margin-top:5px;color:#64748b;line-height:1.4}.docs-secondary-btn{background:#e2e8f0!important;color:#0f172a!important}.docs-demo-help{color:#64748b;line-height:1.55}

/* Weather Routing internal tabs */
.docs-subtabs{display:flex;gap:.55rem;flex-wrap:wrap;margin:1.4rem 0 1.8rem;padding:.45rem;border:1px solid #dce7ee;border-radius:12px;background:#f5f9fb;position:sticky;top:84px;z-index:20}
.docs-subtab{border:0;border-radius:9px;padding:.72rem 1rem;background:transparent;color:#365568;font-weight:800;cursor:pointer}
.docs-subtab.active{background:#075985;color:#fff;box-shadow:0 4px 12px rgba(7,89,133,.18)}
.docs-subpanel{display:none}.docs-subpanel.active{display:block}
.docs-result-panel{margin-top:1rem}.docs-map{height:480px;border:1px solid #d7e5ed;border-radius:12px;background:#eef5f8;overflow:hidden}
.docs-result-json{max-height:480px;overflow:auto;white-space:pre;tab-size:2}
.model-disclaimer{margin-top:2rem;padding:1rem 1.15rem;border:1px solid #e6c76e;border-left:5px solid #b7791f;border-radius:10px;background:#fffaf0;color:#6b4f13;line-height:1.6}
.playground-shell{display:grid;gap:1rem}.playground-card{border:1px solid #dce7ee;border-radius:14px;background:#fff;padding:1rem;box-shadow:0 5px 18px rgba(0,61,92,.05)}
.playground-card h3{margin:.1rem 0 .8rem}.playground-vessel{width:100%;min-height:310px;border:1px solid #d7e5ed;border-radius:12px;background:#f8fcfe}
.playground-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.playground-chart{width:100%;height:auto;min-height:260px}
@media(max-width:900px){.docs-subtabs{position:static}.docs-map{height:360px}.playground-chart-grid{grid-template-columns:1fr}.playground-vessel{min-height:250px}}

/* Compact documentation forms and editable curve tables */
.docs-content{padding:1.8rem}
.docs-demo{padding:.85rem}
.docs-demo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}
.docs-form-section{margin:9px 0}
.docs-form-section>summary{padding:10px 12px;font-size:.9rem}
.docs-form-section .docs-demo-grid{padding:10px 12px}
.docs-field{gap:.2rem}
.docs-field label{font-size:.75rem}
.docs-field input,.docs-field select,.docs-field textarea{padding:.42rem .5rem;border-radius:7px;font-size:.86rem;min-height:34px}
.docs-field textarea{min-height:54px}
.docs-field small{font-size:.7rem;margin-top:2px}
.docs-checks{gap:.38rem;margin:.45rem 0}
.docs-check{padding:.38rem;font-size:.8rem}
.docs-demo-actions{margin-top:.65rem}
.docs-copy-btn,.docs-demo button{padding:.44rem .68rem;font-size:.8rem}
.docs-curve-editor{padding:10px 12px;border-bottom:1px solid #edf2f7}
.docs-curve-editor:last-child{border-bottom:0}
.docs-curve-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.45rem}
.docs-curve-header h3{margin:0;font-size:.92rem}
.docs-curve-header p{margin:.15rem 0 0;font-size:.76rem}
.docs-input-table{width:100%;border-collapse:collapse;font-size:.78rem;table-layout:fixed}
.docs-input-table th,.docs-input-table td{border:1px solid #dce5ec;padding:.3rem;vertical-align:middle}
.docs-input-table th{background:#f3f7fa;color:#29495d;font-size:.73rem}
.docs-input-table th:last-child,.docs-input-table td:last-child{width:38px;text-align:center}
.docs-input-table input{width:100%;min-width:72px;padding:.32rem .4rem;border:1px solid #cbd8e2;border-radius:6px;font-size:.8rem}
.curve-remove-row{width:26px;height:26px;padding:0!important;border-radius:50%!important;background:#fff1f2!important;color:#be123c!important;border:1px solid #fecdd3!important;font-size:1rem!important;line-height:1!important}
.playground-vessel{min-height:330px}
@media(max-width:1100px){.docs-demo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.docs-demo-grid{grid-template-columns:1fr}.docs-content{padding:1rem}.docs-curve-header{align-items:flex-start}.docs-input-table{min-width:620px}.playground-vessel{min-height:260px}}

/* v7 result retrieval and directional simulation */
.docs-result-download-status{padding:.7rem .85rem;margin:.5rem 0 .8rem;border-radius:8px;background:#eef8fc;color:#365568;font-size:.82rem;line-height:1.5}.docs-map .leaflet-container{width:100%;height:100%}.radar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.radar-grid .playground-chart{min-height:300px}.radar-chart-caption{min-height:2.8em;margin:.15rem 0 .35rem;color:#64748b;font-size:.78rem;line-height:1.4}.docs-subpanel .card{margin-top:1rem;padding:1rem;border:1px solid #dce7ee;border-radius:12px;background:#fff}.docs-subpanel .card h2{color:#0c4a6e}.docs-subpanel .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.docs-subpanel .sub{padding:.8rem;border:1px solid #dce7ee;border-radius:10px;background:#fbfdff}.docs-subpanel .notice,.docs-subpanel .warning,.docs-subpanel .critical{padding:.8rem;border-left:4px solid #0b7ab5;background:#eef8fc;border-radius:0 8px 8px 0}.docs-subpanel .critical{border-left-color:#dc2626;background:#fef2f2}.docs-subpanel .warning{border-left-color:#f59e0b;background:#fff7ed}@media(max-width:900px){.radar-grid{grid-template-columns:1fr}.docs-subpanel .grid{grid-template-columns:1fr}}

.docs-coordinate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.docs-coordinate-card{border:1px solid var(--docs-line,#d8e1eb);border-radius:10px;padding:10px;background:#fbfdff}.docs-coordinate-card h3{margin:0 0 7px;font-size:.88rem}.docs-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))!important}.docs-value-output{display:flex;align-items:center;min-height:32px;padding:5px 8px;border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc;font-weight:750;color:#0f4c5c}.waypoint-add-row,.waypoint-remove-row{cursor:pointer}@media(max-width:760px){.docs-coordinate-grid{grid-template-columns:1fr}}

/* v9 playground interaction refinements */
.playground-card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}
.playground-card-header h3{margin:0}
.vessel-expand-btn{white-space:nowrap;border:1px solid #b8d4e2!important;border-radius:8px!important;padding:.48rem .75rem!important;cursor:pointer;font-weight:750}
.vessel-outline-card:fullscreen{background:#f8fcfe;padding:1.25rem;overflow:auto}
.vessel-outline-card:fullscreen .playground-vessel{height:calc(100vh - 100px);min-height:650px}
.vessel-outline-expanded{position:fixed!important;inset:18px;z-index:10000;overflow:auto;background:#f8fcfe!important;box-shadow:0 24px 80px rgba(15,23,42,.35)!important}
.vessel-outline-expanded .playground-vessel{min-height:calc(100vh - 120px)}
#pg-run-simulation{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:0;border-radius:9px;background:#075985;color:#fff;padding:.62rem 1.05rem;font-size:.86rem;font-weight:800;line-height:1.2;cursor:pointer;box-shadow:0 5px 14px rgba(7,89,133,.2);transition:background .15s ease,transform .15s ease,box-shadow .15s ease}
#pg-run-simulation:hover{background:#0c4a6e;transform:translateY(-1px);box-shadow:0 7px 18px rgba(7,89,133,.25)}
#pg-run-simulation:focus-visible{outline:3px solid rgba(14,165,233,.35);outline-offset:2px}
.chart-point{cursor:crosshair;transition:r .12s ease,opacity .12s ease}
.chart-point:hover,.chart-point:focus{opacity:.82;filter:drop-shadow(0 0 3px rgba(7,89,133,.55))}
@media(max-width:700px){.playground-card-header{align-items:flex-start;flex-direction:column}.vessel-expand-btn{width:100%}}

/* Weather Routing request progress */
.wr-progress-wrap{margin:.7rem 0;padding:.75rem .85rem;border:1px solid #cfe2ed;border-radius:10px;background:#f7fbfd}
.wr-progress-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:#24485d;font-size:.82rem}
.wr-progress-track{height:9px;margin:.55rem 0 .45rem;overflow:hidden;border-radius:999px;background:#dcebf2}
.wr-progress-bar{height:100%;width:32%;border-radius:inherit;background:linear-gradient(90deg,#0878ae,#20a2d2,#0878ae);background-size:220% 100%;animation:wr-progress-slide 1.25s linear infinite}
.wr-progress-wrap.is-long .wr-progress-track{background:#f5e5bd}.wr-progress-wrap.is-long .wr-progress-bar{background:linear-gradient(90deg,#b7791f,#e2a632,#b7791f);background-size:220% 100%}
.wr-progress-wrap p{margin:0;color:#496778;font-size:.78rem;line-height:1.45}
@keyframes wr-progress-slide{from{transform:translateX(-115%)}to{transform:translateX(330%)}}

/* Leaflet fallback essentials if the CDN stylesheet is delayed. */
.docs-map{position:relative;isolation:isolate}
.docs-map.leaflet-container{overflow:hidden;font:12px/1.5 Arial,Helvetica,sans-serif}
.docs-map .leaflet-pane,.docs-map .leaflet-tile,.docs-map .leaflet-marker-icon,.docs-map .leaflet-marker-shadow,.docs-map .leaflet-tile-container,.docs-map .leaflet-pane>svg,.docs-map .leaflet-pane>canvas{position:absolute;left:0;top:0}
.docs-map .leaflet-map-pane,.docs-map .leaflet-tile-pane,.docs-map .leaflet-overlay-pane,.docs-map .leaflet-marker-pane,.docs-map .leaflet-tooltip-pane,.docs-map .leaflet-popup-pane{position:absolute;left:0;top:0}
.docs-map .leaflet-tile{visibility:hidden}.docs-map .leaflet-tile-loaded{visibility:inherit}.docs-map .leaflet-zoom-animated{transform-origin:0 0}.docs-map .leaflet-control-container{position:relative;z-index:800}.docs-map .leaflet-top,.docs-map .leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.docs-map .leaflet-top{top:0}.docs-map .leaflet-right{right:0}.docs-map .leaflet-bottom{bottom:0}.docs-map .leaflet-left{left:0}.docs-map .leaflet-control{position:relative;z-index:800;pointer-events:auto;float:left;clear:both;margin:10px}

/* v11 route waypoint popups and expanded map */
.docs-map-toolbar{display:flex;justify-content:flex-end;margin:0 0 .55rem}.docs-map-toolbar .docs-secondary-btn{width:auto;min-width:110px}.wr-waypoint-popup{font-size:.78rem;color:#263f50}.wr-waypoint-popup h4{margin:0 0 .2rem;font-size:.95rem;color:#0c4a6e}.wr-popup-coordinate{margin-bottom:.5rem;color:#64748b;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.wr-popup-row{display:flex;justify-content:space-between;gap:1rem;padding:.24rem 0;border-bottom:1px solid #e5edf2}.wr-popup-row span{color:#64748b}.wr-popup-row strong{text-align:right;color:#17384c}.wr-popup-index{margin-top:.45rem;color:#64748b;font-size:.7rem}.wr-popup-empty{padding:.5rem 0;color:#64748b}.docs-map-modal{display:none;position:fixed;inset:0;z-index:10000;background:rgba(15,23,42,.72);padding:2.5vh 2vw}.docs-map-modal.open{display:block}.docs-map-modal-dialog{height:95vh;background:#fff;border-radius:14px;overflow:hidden;display:flex;flex-direction:column}.docs-map-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #dce7ee}.docs-map-modal-header h3{margin:0;color:#0c4a6e}.docs-map-modal-close{border:0;background:transparent;font-size:1.9rem;line-height:1;cursor:pointer;color:#475569}.docs-map-modal-body{flex:1;min-height:0}.docs-map-modal-body .docs-map{height:100%!important;min-height:0!important;border:0;border-radius:0}.docs-modal-open{overflow:hidden}@media(max-width:700px){.docs-map-modal{padding:0}.docs-map-modal-dialog{height:100vh;border-radius:0}.wr-popup-row{gap:.5rem}}

/* v12 full-width documentation, collapsible navigation and interactive chart overlays */
.docs-page{width:100%;max-width:none}.docs-content{min-width:0;width:100%;max-width:none}.docs-shell.sidebar-collapsed .docs-sidebar{opacity:0;pointer-events:none;transform:translateX(-110%);overflow:hidden;padding-left:0;padding-right:0;border-width:0}.docs-sidebar{transition:opacity .2s ease,transform .22s ease,padding .22s ease,border-width .22s ease;min-width:0}.docs-sidebar-toggle{position:fixed;left:10px;top:118px;z-index:1100;border:1px solid #bdd4e1;background:#fff;color:#075985;border-radius:10px;padding:.55rem .7rem;font-weight:800;box-shadow:0 6px 18px rgba(15,23,42,.12);cursor:pointer}.docs-shell:not(.sidebar-collapsed) .docs-sidebar-toggle{left:270px}.svg-hover-tooltip{position:fixed;z-index:5000;display:none;pointer-events:none;max-width:280px;padding:.55rem .7rem;border-radius:8px;background:rgba(15,23,42,.96);color:#fff;font-size:.78rem;line-height:1.45;box-shadow:0 8px 24px rgba(15,23,42,.25);white-space:pre-line}.svg-hover-tooltip.visible{display:block}.chart-point{pointer-events:all}.chart-expand-card:fullscreen,.chart-expand-card.chart-fullscreen-fallback{background:#fff;padding:1rem;display:flex;flex-direction:column;width:100vw;height:100vh;max-width:none;z-index:4000}.chart-expand-card:fullscreen .playground-chart,.chart-expand-card.chart-fullscreen-fallback .playground-chart{flex:1;min-height:0;width:100%;height:calc(100vh - 80px)}.chart-fullscreen-fallback{position:fixed!important;inset:0!important}.pg-expand-chart{white-space:nowrap}.radar-vessel-label{font-size:10px;font-weight:800;fill:#075985}.radar-vessel{fill:#075985;stroke:#fff;stroke-width:1.5}.playground-card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.4rem}.playground-card-header h3{margin:0}@media(max-width:900px){.docs-shell,.docs-shell.sidebar-collapsed{grid-template-columns:1fr;padding:0 .5rem}.docs-sidebar{position:fixed;left:.5rem;right:.5rem;top:105px;z-index:1050;max-height:70vh;overflow:auto}.docs-shell.sidebar-collapsed .docs-sidebar{display:none}.docs-sidebar-toggle,.docs-shell:not(.sidebar-collapsed) .docs-sidebar-toggle{left:10px;top:78px}.docs-content{padding-left:.75rem;padding-right:.75rem}}


/* v13 integrated sidebar handle, chart modal, loading states and detailed map popups */
.docs-shell{position:relative;transition:grid-template-columns .24s ease}
.docs-sidebar{position:relative;overflow:visible!important}
.docs-sidebar-toggle{position:absolute!important;top:18px!important;right:-17px!important;left:auto!important;width:34px;height:44px;padding:0!important;border:1px solid #b9d2df;border-radius:0 10px 10px 0;background:#fff;color:#075985;display:grid;place-items:center;box-shadow:3px 4px 12px rgba(15,23,42,.12);z-index:20;cursor:pointer}
.docs-sidebar-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.docs-shell.sidebar-collapsed .docs-sidebar{overflow:visible!important}
.docs-shell.sidebar-collapsed .docs-sidebar-toggle{position:fixed!important;left:0!important;right:auto!important;top:118px!important;border-radius:0 10px 10px 0}
.pg-expand-chart{display:inline-flex!important;align-items:center;justify-content:center;min-height:34px;padding:.4rem .75rem!important;border:1px solid #b8d4e2!important;border-radius:8px!important;background:#fff!important;color:#075985!important;font-size:.78rem!important;font-weight:800!important;line-height:1!important;cursor:pointer;box-shadow:none!important}
.pg-expand-chart:hover{background:#edf8fc!important;border-color:#82b8cf!important}
.docs-chart-modal{position:fixed;inset:0;z-index:6000;display:none;align-items:center;justify-content:center;padding:3vh 3vw;background:rgba(15,23,42,.52)}
.docs-chart-modal.open{display:flex}
.docs-chart-modal-dialog{width:min(94vw,1280px);height:min(90vh,860px);background:#fff;border-radius:16px;box-shadow:0 26px 90px rgba(15,23,42,.35);display:flex;flex-direction:column;overflow:hidden}
.docs-chart-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.1rem;border-bottom:1px solid #dbe5ec}.docs-chart-modal-header h3{margin:0}
.docs-modal-icon-btn{width:38px;height:38px;border:1px solid #cbdbe4;border-radius:9px;background:#fff;color:#334155;font-size:1.45rem;line-height:1;cursor:pointer}
.docs-chart-modal-body{flex:1;min-height:0;padding:1rem}.playground-chart-expanded{width:100%;height:100%;min-height:520px}
.chart-expand-card:fullscreen,.chart-expand-card.chart-fullscreen-fallback{all:unset}
.wr-waypoint-popup{max-height:420px;overflow:auto;padding-right:.2rem}.wr-waypoint-popup h4{position:sticky;top:0;margin:0 0 .35rem;background:#fff;padding:.2rem 0;z-index:1}.wr-popup-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(95px,auto);gap:.75rem;align-items:start;padding:.28rem 0;border-bottom:1px solid #edf2f5}.wr-popup-row span{color:#64748b}.wr-popup-row strong{text-align:right;overflow-wrap:anywhere}.leaflet-interactive{cursor:pointer}
.vessel-doc-jump{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0 1.3rem}.vessel-doc-jump a{padding:.4rem .65rem;border:1px solid #c9dce6;border-radius:999px;color:#075985;text-decoration:none;font-size:.78rem;font-weight:750;background:#fff}.vessel-doc-section{scroll-margin-top:110px;margin:1.2rem 0}.vessel-doc-section>.vessel-doc-section-heading{padding:.75rem 1rem;background:#eaf6fb;border-left:4px solid #075985;border-radius:8px}.vessel-doc-section>.vessel-doc-section-heading h2{margin:0}.vessel-doc-section .panel{display:block}.vessel-doc-section .card{margin-top:1rem;padding:1.2rem;border:1px solid #d8e1eb;border-radius:12px;background:#fff}.vessel-doc-section .formula{padding:.8rem 1rem;border-radius:8px;background:#eff6ff;color:#1e3a8a;font-family:ui-monospace,monospace;line-height:1.65;overflow:auto}.vessel-doc-section .notice,.vessel-doc-section .warning,.vessel-doc-section .critical{padding:.8rem 1rem;border-radius:8px;margin:.7rem 0}.vessel-doc-section .notice{border-left:4px solid #075985;background:#eaf6fb}.vessel-doc-section .warning{border-left:4px solid #f97316;background:#fff7ed}.vessel-doc-section .critical{border-left:4px solid #dc2626;background:#fef2f2}
.docs-btn-busy{position:relative;padding-right:2.4rem!important}.docs-btn-busy::after{content:'';position:absolute;right:.8rem;top:50%;width:15px;height:15px;margin-top:-7.5px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:docsSpin .7s linear infinite}@keyframes docsSpin{to{transform:rotate(360deg)}}
@media(max-width:900px){.docs-sidebar-toggle,.docs-shell:not(.sidebar-collapsed) .docs-sidebar-toggle{position:absolute!important;left:auto!important;right:-17px!important;top:12px!important}.docs-shell.sidebar-collapsed .docs-sidebar-toggle{position:fixed!important;left:0!important;right:auto!important;top:80px!important}}

/* v14 conventional collapsible sidebar rail, modal tooltips and vessel-model diagrams */
.docs-shell{grid-template-columns:250px minmax(0,1fr)}
.docs-shell.sidebar-collapsed{grid-template-columns:44px minmax(0,1fr)}
.docs-sidebar{position:sticky;top:112px;overflow:hidden!important;min-height:180px;padding:1rem;transition:width .22s ease,padding .22s ease,opacity .2s ease}
.docs-sidebar-toggle{
  position:absolute!important;
  top:.7rem!important;
  right:.55rem!important;
  left:auto!important;
  width:32px!important;
  height:32px!important;
  padding:0!important;
  border:1px solid #c8d8e2!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#075985!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:none!important;
  cursor:pointer;
  z-index:3;
}
.docs-sidebar-toggle:hover{background:#eef7fb!important;border-color:#8db8cc!important}
.docs-sidebar-toggle:focus-visible{outline:3px solid rgba(7,89,133,.22);outline-offset:2px}
.docs-sidebar-toggle svg{width:18px;height:18px}
.docs-sidebar h3{padding-right:2.5rem}
.docs-shell.sidebar-collapsed .docs-sidebar{
  opacity:1!important;
  pointer-events:auto!important;
  transform:none!important;
  width:44px;
  min-width:44px;
  padding:.55rem!important;
  border-width:1px!important;
  border-radius:12px;
  background:#fff;
}
.docs-shell.sidebar-collapsed .docs-sidebar > :not(.docs-sidebar-toggle){display:none!important}
.docs-shell.sidebar-collapsed .docs-sidebar-toggle{
  position:absolute!important;
  top:.55rem!important;
  left:5px!important;
  right:auto!important;
  border-radius:8px!important;
}
.svg-hover-tooltip{z-index:7100!important}
.docs-chart-modal{z-index:6000}
.docs-chart-modal-dialog{position:relative;z-index:6001}
.docs-chart-modal-body{position:relative;overflow:hidden}

.vm-svg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}
.vm-svg-card{border:1px solid #d8e4eb;border-radius:14px;background:#fff;padding:1rem;min-width:0}
.vm-svg-card-wide{grid-column:1/-1}
.vm-svg-card h3{margin:.1rem 0 .65rem;color:#0c4a6e}
.vm-explainer-svg{display:block;width:100%;height:auto;max-height:520px;background:#fbfdff;border:1px solid #e3ebf0;border-radius:12px}
.vm-explainer-svg text{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;fill:#334155;font-size:13px;text-anchor:middle}
.vm-compass-ring{fill:#f8fbfd;stroke:#b8ceda;stroke-width:2}
.vm-compass line,.vm-axis{stroke:#9ab5c4;stroke-width:1.5}
.vm-compass text{font-weight:700;fill:#0c4a6e}
.vm-vessel-symbol path,.vm-mini-vessel{fill:#075985;stroke:#fff;stroke-width:2}
.vm-vessel-symbol line,.vm-vessel-symbol path:last-child{stroke:#075985;fill:none;stroke-width:2}
.vm-vector line,.vm-vector-line,.vm-weather-arrow{stroke-width:4;fill:none;color:#075985}
.vm-wind line{stroke:#d97706;color:#d97706}.vm-wave line{stroke:#2563eb;color:#2563eb}.vm-swell line{stroke:#7c3aed;color:#7c3aed}.vm-current line{stroke:#059669;color:#059669}
.vm-sog-line{stroke:#075985;color:#075985}.vm-current-line{stroke:#059669;color:#059669}.vm-stw-line{stroke:#7c3aed;color:#7c3aed}
.vm-guide{stroke:#cbd5e1;stroke-dasharray:5 5}.vm-angle-arc{fill:none;stroke:#e11d48;stroke-width:2;stroke-dasharray:5 4}.vm-angle-label{fill:#be123c!important;font-weight:700}
.vm-label-strong,.vm-panel-title{font-weight:800;fill:#0c4a6e!important}.vm-note-box{fill:#eef7fb;stroke:#b9d4e1}.vm-roll-arc{fill:none;stroke:#7c3aed;stroke-width:3;stroke-dasharray:6 4}
.vm-impact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:.85rem}.vm-impact-grid div{padding:.8rem;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}.vm-impact-grid strong{display:block;color:#0c4a6e;margin-bottom:.25rem}.vm-impact-grid span{font-size:.88rem;line-height:1.5;color:#475569}
.vm-flow-node rect{fill:#f8fbfd;stroke:#9fc2d2;stroke-width:2}.vm-flow-node text:first-of-type{font-weight:800;fill:#075985}.vm-flow-node-final rect{fill:#eaf7ef;stroke:#62a87c}.vm-flow-arrow{stroke:#6b8796;stroke-width:2.5;color:#6b8796}.vm-flow-caption{font-size:14px!important;font-weight:700;fill:#475569!important}
@media(max-width:900px){
  .docs-shell,.docs-shell.sidebar-collapsed{grid-template-columns:1fr;padding:0 .5rem}
  .docs-sidebar{position:relative;top:auto;left:auto;right:auto;max-height:none;width:100%;min-height:0}
  .docs-shell.sidebar-collapsed .docs-sidebar{width:44px;min-height:44px;margin-left:0}
  .docs-sidebar-toggle,.docs-shell:not(.sidebar-collapsed) .docs-sidebar-toggle{position:absolute!important;top:.55rem!important;right:.55rem!important;left:auto!important}
  .docs-shell.sidebar-collapsed .docs-sidebar-toggle{position:absolute!important;top:.3rem!important;left:5px!important}
  .vm-svg-grid{grid-template-columns:1fr}.vm-svg-card-wide{grid-column:auto}.vm-impact-grid{grid-template-columns:1fr}
}
/* Route map and expanded-map layout */
.docs-map-modal-body .docs-expanded-map{width:100%;height:100%;min-height:520px;border:0;border-radius:0}
#wr-expand-map{cursor:pointer;position:relative;z-index:2}

/* Keep the invisible popup pane from covering the map. The visible popup remains interactive. */
.docs-map .leaflet-popup-pane{pointer-events:none}
.docs-map .leaflet-popup{pointer-events:auto}

/* v16 route-map toolbar */
.docs-map-toolbar{display:flex;align-items:center;justify-content:flex-end;margin:0 0 .65rem}
.docs-map-expand-btn{display:inline-flex;align-items:center;gap:.48rem;min-height:38px;padding:.48rem .78rem;border:1px solid #b9ceda;border-radius:9px;background:#fff;color:#075985;font:inherit;font-size:.86rem;font-weight:750;line-height:1;cursor:pointer;box-shadow:0 1px 2px rgba(15,23,42,.06);transition:background .16s ease,border-color .16s ease,transform .16s ease}
.docs-map-expand-btn:hover{background:#eef8fc;border-color:#79abc2}
.docs-map-expand-btn:active{transform:translateY(1px)}
.docs-map-expand-btn:focus-visible{outline:3px solid rgba(14,116,144,.24);outline-offset:2px}
.docs-map-expand-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* v16 client-facing vessel model */
.vm-friendly-flow{display:grid;grid-template-columns:repeat(11,auto);align-items:stretch;gap:.5rem;margin:1rem 0 1.2rem;overflow-x:auto;padding:.25rem 0 .65rem}
.vm-friendly-step{min-width:145px;border:1px solid #cbdde7;border-radius:13px;background:#fff;padding:.85rem;display:flex;flex-direction:column;gap:.35rem}
.vm-friendly-step>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#075985;color:#fff;font-weight:800}.vm-friendly-step strong{color:#0c4a6e}.vm-friendly-step small{color:#526273;line-height:1.45}.vm-friendly-flow>i{align-self:center;color:#4c7f98;font-size:1.5rem;font-style:normal}
.vm-component-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem;margin:1rem 0}.vm-component-grid article{border:1px solid #d8e4eb;border-radius:12px;background:#fff;padding:1rem}.vm-component-grid h3{margin:.05rem 0 .45rem;color:#0c4a6e}.vm-component-grid p{margin:0}
.vm-power-stack{display:grid;grid-template-columns:repeat(9,auto);align-items:stretch;gap:.55rem;margin:1rem 0;overflow-x:auto;padding-bottom:.5rem}.vm-power-stack>div{min-width:180px;border:1px solid #d8e4eb;border-radius:12px;background:#fff;padding:.9rem;display:flex;flex-direction:column;gap:.35rem}.vm-power-stack>div.result{background:#eaf7f1;border-color:#76af91}.vm-power-stack b{align-self:center;color:#0c4a6e;font-size:1.4rem}.vm-power-stack span{color:#526273;line-height:1.45;font-size:.9rem}
.vm-resistance-svg{max-height:430px}.vm-diagram-bg{fill:#f8fbfd;stroke:#d8e4eb}.vm-realistic-ship{fill:#cfdee5;stroke:#173f54;stroke-width:4}.vm-ship-deck{fill:#e6eef2;stroke:#173f54;stroke-width:3}.vm-ship-house{fill:#e9f5db;stroke:#416b2b;stroke-width:3}.vm-waterline{stroke:#3aa9d8;stroke-width:3;stroke-dasharray:9 7}.vm-force{font-weight:700;text-anchor:middle}.vm-force line,.vm-force path{fill:none;stroke-width:4}.vm-force-calm{color:#0877a8}.vm-force-wind{color:#dc7200}.vm-force-wave{color:#6741d9}.vm-force-motion{color:#c3244d}
.vm-impact-list{display:grid;gap:.65rem}.vm-impact-list>div{border-left:4px solid #1479a8;background:#f4fafc;border-radius:8px;padding:.7rem .8rem;display:flex;flex-direction:column;gap:.2rem}.vm-impact-list span{color:#526273;line-height:1.45}
.vm-explainer-svg{overflow:visible}.vm-svg-card{overflow:hidden}.vm-explainer-svg text{font-size:15px}.vm-note-box{fill:#eaf6fb;stroke:#9fc8dc;stroke-width:1.5}.vm-note text{font-size:14px}
@media(max-width:900px){.vm-friendly-flow{grid-template-columns:1fr}.vm-friendly-flow>i{transform:rotate(90deg);justify-self:center}.vm-power-stack{grid-template-columns:1fr}.vm-power-stack b{transform:none;justify-self:center}}


/* v19 code-aligned Weather Routing input reference tables */
.docs-input-reference-table{table-layout:auto;min-width:1120px}
.docs-input-reference-table th:nth-child(1){width:18%}
.docs-input-reference-table th:nth-child(2){width:12%}
.docs-input-reference-table th:nth-child(3){width:9%}
.docs-input-reference-table th:nth-child(4){width:25%}
.docs-input-reference-table th:nth-child(5){width:36%}
.docs-input-reference-table td:nth-child(3){font-weight:750;color:#29495d}
.docs-input-reference-table td:nth-child(4){background:#fbfdff}
.docs-id-table{table-layout:auto;min-width:760px}
.docs-id-table th:nth-child(1){width:18%}.docs-id-table th:nth-child(2){width:26%}.docs-id-table th:nth-child(3){width:56%}
@media(max-width:900px){.docs-input-reference-table{min-width:1040px}.docs-id-table{min-width:720px}}
