@import"https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;450;500;550;600;650;700;750&display=swap";:root{font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,sans-serif;color:#153047;background:#f3f6f9;font-synthesis:none;font-weight:450;font-size:14px;--teal: #087f83;--muted: #698092;--line: #dfe7ed;--surface: #fff;--radius: 8px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select,summary{cursor:pointer}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{display:inline-flex;gap:8px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;background:#fff;color:inherit;padding:9px 13px;font-size:12px;font-weight:550;transition:background .15s,border-color .15s}button:hover{background:#f0f8f8;border-color:#a6cacc}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #67c4c9;outline-offset:3px}h1,h2,h3,p{margin:0}h2{font-size:18px;font-weight:700;letter-spacing:-.6px}h3{font-size:13px;font-weight:650}svg{flex-shrink:0}small{font-size:11px}a{color:var(--teal)}.app-header{height:70px;display:flex;align-items:center;padding:0 27px;gap:23px;background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:23px;letter-spacing:-.9px;font-weight:750}.brand-mark{display:grid;place-items:center;width:34px;height:35px;color:#fff;background:var(--teal);clip-path:polygon(22% 0,100% 0,78% 100%,0 100%)}.header-divider{height:24px;width:1px;background:#d5dfe6}.app-header h1{font-size:18px;font-weight:650;letter-spacing:-.6px}.header-actions{margin-left:auto;display:flex;gap:9px}.app-layout{display:grid;grid-template-columns:minmax(0,1fr) 338px;gap:14px;padding:16px;max-width:2000px;margin:0 auto;align-items:start}.main-column{min-width:0}.simulation-panel,.results,.inspector{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}.scene{height:clamp(420px,58vh,730px);position:relative;background:#0a3e50}.scene>div:has(>canvas){position:absolute!important;top:0;right:0;bottom:0;left:0}.scene-toolbar{position:absolute;top:14px;left:14px;right:14px;display:flex;align-items:start;justify-content:space-between;z-index:40;pointer-events:none;gap:10px}.scene-toolbar h2{padding:10px 14px;background:#fffe;border-radius:6px;font-size:16px;display:flex;gap:10px;align-items:center;box-shadow:0 2px 10px #062d4020}.scene-toolbar h2 span{font-size:10px;font-weight:450;color:var(--muted);border-left:1px solid var(--line);padding-left:10px}.scene-toolbar>div{display:flex;gap:6px;pointer-events:auto}.scene-toolbar button{background:#f9fcfdef;padding:9px 12px;height:38px;border-color:transparent;box-shadow:0 2px 8px #0a30451a}.scene-toolbar button.active{color:#05686f;background:#e5f5f4}.scene-info{position:absolute;bottom:47px;left:23px;display:flex;align-items:center;gap:12px;color:#d1e6eb;pointer-events:none;font-size:11px;z-index:31}.scene-info svg{transform:rotate(45deg);color:#6fd3d7}.scene-info small{display:block;font-size:10px;opacity:.65;margin-top:5px}.scene-caption{position:absolute;bottom:13px;left:22px;font-size:10px;color:#a7c5d0;pointer-events:none;z-index:31}.weather-readout{position:absolute;top:70px;right:19px;display:flex;gap:7px;align-items:center;color:#d0e6e9;font-size:11px;pointer-events:none;z-index:31}.weather-readout span{padding-left:7px;border-left:1px solid #c6e0e748}.selected-ship{position:absolute;bottom:39px;right:20px;display:flex;align-items:center;gap:8px;color:#fff;font-size:12px;z-index:31;background:#0a33476b;border:1px solid #ffffff20;padding:10px 12px;border-radius:6px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.selected-ship small{color:#b6d5da;font-size:10px;margin-left:6px}.tiny-dot{width:5px;height:5px;background:#6ddece;border-radius:50%}.vessel-label{display:flex;gap:7px;align-items:center;background:#fffef3f5;border:1px solid #ffffffb0;border-radius:5px;padding:4px 7px;box-shadow:0 3px 12px #001f3730;white-space:nowrap;font-size:11px;transform:translateY(-3px)}.vessel-label b{width:21px;height:24px;border-radius:3px;display:grid;place-items:center;color:#183d48;font-size:13px}.vessel-label small{display:block;color:#6b8085;font-size:9px;text-align:left;margin-top:1px}.vessel-label.selected{outline:2px solid #7ad9d6;outline-offset:2px}.playback{height:65px;padding:10px 18px;display:flex;align-items:center;gap:14px}.play-button{width:39px;height:39px;padding:0;border:0;border-radius:50%;background:var(--teal);color:#fff}.play-button:hover{background:#06686e}.icon-button{padding:8px}.playback .replay{border:0;color:var(--muted);padding:5px}.time-readout{display:flex;gap:7px;font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.time-readout span{color:var(--muted)}input[type=range]{-moz-appearance:none;appearance:none;-webkit-appearance:none;height:4px;border-radius:10px;background:linear-gradient(to right,#8ad5d5 var(--fill, 0%),#dce5eb var(--fill, 0%));margin:9px 0;cursor:pointer;width:100%;display:block}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:13px;width:13px;background:var(--teal);border:0;border-radius:50%;box-shadow:0 1px 3px #092b4420}input[type=range]::-moz-range-thumb{height:13px;width:13px;background:var(--teal);border:0;border-radius:50%}.playback .timeline{flex:1;min-width:30px;background:#d8e6e9}.playback select{border:1px solid var(--line);border-radius:5px;color:var(--teal);padding:8px 6px;font-size:11px;font-weight:650;background:#f5fbfb}.results{margin-top:13px;padding:17px 20px 0}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.text-button{font-size:11px;border:0;background:transparent;padding:4px 0;color:var(--muted)}.results-grid{display:grid;grid-template-columns:180px minmax(260px,1fr) minmax(200px,.8fr);gap:22px;align-items:start}.saving{background:#edf8f8;padding:13px 14px;border-radius:4px;color:#075a65;min-height:156px}.saving>span{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600}.saving>strong{display:block;font-size:40px;letter-spacing:-2px;line-height:1.35;font-weight:700;font-variant-numeric:tabular-nums;margin:3px 0}.saving strong small{font-size:24px;letter-spacing:-1px;padding-left:4px}.saving p{display:flex;align-items:center;gap:3px;font-size:12px;font-weight:600}.saving>small{display:block;font-size:10px;margin-top:4px}.saving em{font-size:9px;font-style:normal;display:block;color:var(--muted);margin-top:12px}.ship-table{width:100%;border-collapse:collapse;font-size:11px;text-align:left;font-variant-numeric:tabular-nums}.ship-table th{font-size:10px;font-weight:500;color:#60798c;padding:0 5px 10px;white-space:nowrap}.ship-table td{padding:10px 5px;border-top:1px solid #e7eef2}.ship-table td:first-child{font-weight:700;font-size:13px;white-space:nowrap}.ship-table td small{display:block;font-size:9px;font-weight:450;color:var(--muted);margin-top:3px}.ship-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;vertical-align:2px}.fuel-pair{display:flex;align-items:center;gap:7px}.fuel-pair>span{color:#6b8194}.fuel-pair svg{color:#a6b4c0}.fuel-pair b{font-weight:550}.fuel-bar{height:4px;background:#d3dce5;border-radius:2px;max-width:85px;margin-top:5px;overflow:hidden}.fuel-bar i{display:block;height:100%;background:#259b9f}.teal{color:var(--teal);font-weight:600}.negative{color:#b06f39}.chart{border-left:1px solid var(--line);padding-left:20px}.chart h3{font-size:11px;display:flex;justify-content:space-between;gap:5px;white-space:nowrap}.chart h3 small{font-size:9px;font-weight:400;color:var(--muted)}.chart-legend{display:flex;gap:13px;justify-content:flex-end;margin:12px 0 0;font-size:9px;color:var(--muted)}.chart-legend span{display:flex;align-items:center;gap:5px}.chart-legend i{width:13px;height:3px;background:#8598aa;border-radius:2px}.chart-legend span:last-child i{background:var(--teal)}.chart svg{width:100%;display:block;max-height:146px}.decision-line{display:flex;gap:8px;align-items:center;border-top:1px solid var(--line);padding:13px 0 10px;font-size:11px;margin-top:15px;flex-wrap:wrap}.decision-line>span:last-child{color:var(--muted);font-size:10px}.decision-icon{display:grid;place-items:center;background:#e3f4ef;color:#087f83;border-radius:50%;width:20px;height:20px}.decision-icon.neutral{color:#a17846;background:#faf1e4}.candidate-details{border-top:1px solid #eef2f4;margin-top:3px}.candidate-details summary{font-size:11px;padding:12px 0;color:#5d7789}.candidate-table{overflow:auto;padding-bottom:10px}.candidate-table table{border-collapse:collapse;width:100%;font-size:11px;text-align:left}.candidate-table th{font-weight:500;color:var(--muted);padding:7px 10px;white-space:nowrap}.candidate-table td{border-top:1px solid #edf1f4;padding:9px 10px;white-space:nowrap}.candidate-table td:last-child{white-space:normal;min-width:210px;font-size:10px}.footer{display:flex;justify-content:space-between;font-size:10px;color:#748997;padding:11px 2px;gap:10px}.inspector{position:sticky;top:16px;max-height:calc(100vh - 102px);display:flex;flex-direction:column;min-height:620px}.inspector-heading{padding:20px 22px 13px;display:flex;justify-content:space-between;align-items:center}.inspector-heading svg{color:#7c929f}.inspector-scroll{overflow-y:auto;padding:0 22px 20px;scrollbar-width:thin;scrollbar-color:#cbd7df transparent}.field-label{font-size:11px;font-weight:550;display:block;margin:5px 0 8px}.select-wrap{position:relative}.select-wrap select{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:11px 30px 11px 12px;background:#fff;border:1px solid var(--line);border-radius:5px;color:#18374b;font-size:12px;font-weight:550}.select-wrap>svg{pointer-events:none;position:absolute;right:10px;top:13px;color:#708995}.scenario-description{font-size:10px;line-height:1.8;color:var(--muted);margin-top:9px;min-height:36px}.control-group{border-top:1px solid var(--line);margin-top:17px;padding-top:16px}.control-group h3{font-size:11px;color:#647e8f;font-weight:550;display:flex;align-items:center;gap:6px;margin-bottom:16px}.slider-field{margin-bottom:17px}.slider-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.slider-caption label{font-weight:550}.slider-caption output{font-size:12px;min-width:64px;text-align:right;font-variant-numeric:tabular-nums;color:#163c50}.slider-caption output span{font-size:10px;font-weight:400;color:var(--muted);padding-left:2px}.slider-extent{display:flex;justify-content:space-between;color:#8a9cab;font-size:9px;line-height:1}.hint{font-size:10px;color:var(--muted);line-height:1.8;display:flex;align-items:start;gap:5px}.hint svg{margin-top:3px}.model-notice{display:flex;align-items:start;text-align:left;justify-content:start;background:#ecf8f8;border:1px solid #d6ecec;padding:13px 12px;color:#0a6a74;width:100%;margin-top:20px;gap:9px}.model-notice svg{margin-top:1px}.model-notice strong{display:block;font-size:11px}.model-notice small{display:block;margin-top:6px;font-size:10px;color:#5f8291;font-weight:450;line-height:1.6}dialog{width:min(740px,calc(100% - 32px));padding:0;max-height:85vh;border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 100px #0b30443b;color:#153047}dialog::backdrop{background:#092a4166;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-header{display:flex;justify-content:space-between;align-items:start;padding:23px 26px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1}.dialog-header p{font-size:12px;color:var(--muted);margin-top:7px}.dialog-header button{border:0}.dialog-content{padding:24px 26px 28px;font-size:12px;line-height:1.95}.dialog-content h3{font-size:14px;margin:24px 0 10px;color:#126d75}.dialog-content ul{padding-left:20px;color:#506c7c}.dialog-content li{margin-bottom:8px}.important-note{background:#fff5e9;padding:12px 15px;border-radius:6px;color:#886335}.model-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:17px 0}.model-stats>div{padding:12px;background:#f0f7f8;border-radius:5px}.model-stats span{font-size:10px;display:block;color:var(--muted)}.model-stats strong{font-size:21px;font-weight:650;color:#0f6871}.download-links{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:25px;padding-top:15px;border-top:1px solid var(--line)}.download-links a{font-size:11px;display:flex;align-items:center;gap:6px;text-decoration:none}.loading,.load-error{min-height:70vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;color:var(--muted);font-size:13px}.loading>span{width:22px;height:22px;border:2px solid #cedddd;border-top-color:var(--teal);border-radius:50%;animation:spin .7s linear infinite}.scene-fallback{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;line-height:2;color:#d4e8ee}.scene-fallback small{display:block}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1600px){.app-layout{grid-template-columns:minmax(0,1fr) 365px;gap:18px;padding:18px}.inspector{max-height:calc(100vh - 106px)}.inspector-scroll{padding:0 25px 24px}.slider-field{margin-bottom:21px}.scene{height:60vh}.results-grid{grid-template-columns:185px minmax(300px,1fr) minmax(260px,.85fr)}.results{padding:20px 24px 0}.chart svg{max-height:160px}}@media(max-width:1200px){.app-header{padding:0 18px;gap:17px}.brand{font-size:20px}.app-header h1{font-size:16px}.app-layout{grid-template-columns:minmax(0,1fr) 295px;gap:10px;padding:12px}.inspector-scroll{padding:0 18px 18px}.inspector-heading{padding:18px}.results{padding:15px 14px 0}.results-grid{grid-template-columns:150px minmax(220px,1fr);gap:15px}.chart{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:14px 0 0;display:grid;grid-template-columns:150px 1fr;align-items:start}.chart-legend{justify-content:start;grid-column:1;flex-direction:column;gap:6px;margin:8px 0}.chart svg{grid-column:2;grid-row:1/3;height:120px;margin-top:-8px}.saving>strong{font-size:36px}.footer{flex-direction:column;gap:3px}.header-actions button{font-size:11px;padding:8px 10px}.inspector{min-height:600px}}@media(max-width:850px){.header-divider{display:none}.app-header{gap:12px;height:62px}.app-header h1{font-size:13px}.header-actions button{width:32px;height:32px;padding:0}.header-actions button span{display:none}.app-layout{grid-template-columns:minmax(0,1fr);padding:10px;gap:10px}.main-column{display:contents}.simulation-panel{grid-row:1}.inspector{position:static;min-height:0;max-height:none;grid-row:2}.results{grid-row:3;margin-top:0}.footer{grid-row:4}.inspector-scroll{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;overflow:visible}.inspector-scroll>.field-label,.inspector-scroll>.select-wrap,.inspector-scroll>.scenario-description{grid-column:1/-1}.control-group{margin-top:10px}.control-group:nth-of-type(3){grid-column:2;grid-row:4;margin-top:345px;align-self:start}.model-notice{grid-column:1/-1;margin-top:0}.scene{height:460px}.scene-info{bottom:55px}.scene-toolbar h2 span{display:none}.selected-ship{bottom:43px;font-size:10px}.selected-ship small,.scene-caption{font-size:9px}.results-grid{grid-template-columns:160px 1fr}.brand{font-size:19px}.brand-mark{width:27px;height:29px}.brand-mark svg{width:19px}.header-actions{gap:5px}.scene-toolbar button{padding:8px 10px;font-size:11px}}@media(max-width:540px){.app-header{padding:0 12px;gap:12px}.app-header h1{display:none}.brand{font-size:19px}.scene{height:410px}.scene-toolbar{left:10px;right:10px;top:10px;gap:6px}.scene-toolbar h2{font-size:13px;padding:10px}.scene-toolbar>div{gap:4px}.scene-toolbar button{font-size:10px;padding:8px;height:35px;gap:5px}.scene-toolbar button svg{width:13px}.weather-readout{top:58px;font-size:10px;right:13px}.selected-ship{bottom:39px;right:10px;gap:5px;padding:7px;font-size:10px;display:block}.selected-ship small{display:block;margin:4px 0 0}.selected-ship .tiny-dot{display:none}.scene-info{left:14px;font-size:10px;bottom:46px;gap:8px}.scene-info small{font-size:8px}.scene-info svg{width:20px}.scene-caption{left:13px;font-size:8px;bottom:13px;max-width:90%}.playback{padding:9px 11px;gap:9px;height:59px}.play-button{width:33px;height:33px}.replay{display:none}.time-readout{font-size:10px;gap:4px}.playback select{font-size:10px;width:67px}.inspector-heading{padding:16px 18px 10px}.inspector-scroll{padding:0 18px 18px;gap:0 19px}.slider-caption{font-size:11px}.slider-caption output{font-size:11px;min-width:0}.slider-caption output span{font-size:9px}.slider-field{margin-bottom:19px}.control-group h3{font-size:10px}.results{padding:15px 14px 0}.section-heading h2{font-size:16px}.results-grid{grid-template-columns:1fr;gap:15px}.saving{min-height:0;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:12px 15px}.saving>span{grid-column:1}.saving>strong{grid-column:1;grid-row:2/4;font-size:36px;margin:0}.saving p{grid-column:2;grid-row:2}.saving>small{grid-column:2;grid-row:3;font-size:9px}.saving em{grid-column:1/-1;margin-top:4px;font-size:9px}.ship-table th{font-size:10px}.ship-table td{font-size:11px}.chart{grid-template-columns:115px 1fr}.chart h3{display:block;font-size:10px}.chart h3 small{display:block;margin-top:5px}.chart svg{height:115px}.decision-line>span:last-child{line-height:1.8}.dialog-header{padding:18px}.dialog-header h2{font-size:17px}.dialog-content{padding:18px;font-size:11px}.model-stats{gap:6px}.model-stats>div{padding:8px}.model-stats strong{font-size:16px}.model-stats span{font-size:9px}.vessel-label{font-size:10px}.vessel-label b{width:18px;height:21px;font-size:11px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.loading>span{animation:none}}@media(max-width:850px){.inspector-scroll{display:block}.control-group{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.control-group h3,.control-group>.hint{grid-column:1/-1}.control-group:nth-of-type(3){grid-column:auto;grid-row:auto;margin-top:10px}.model-notice{margin-top:16px}}.ocean-stage{height:clamp(480px,63vh,800px);background:#092f3d}.ocean-stage:after{content:"";position:absolute;inset:0 0 auto;height:150px;background:linear-gradient(#031d2bcc,#031d2b55 65%,transparent);z-index:20;pointer-events:none}.ocean-topbar{position:absolute;z-index:40;inset:22px 24px auto;display:flex;align-items:center;justify-content:space-between;gap:16px;pointer-events:none}.ocean-title{color:#f2f6f4;display:flex;align-items:center;gap:11px;text-shadow:0 1px 5px #031d2b80}.ocean-title>svg{color:#a5d1ca;transform:rotate(35deg)}.ocean-title h2{font-size:17px;letter-spacing:-.5px;font-weight:550}.ocean-title span{font-size:10px;display:block;color:#bdd0d3;letter-spacing:.2px;margin-top:4px}.ocean-tools{display:flex;gap:4px;padding:5px;border:1px solid #d5ece123;background:#09232dce;border-radius:8px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto}.ocean-tools button{border:0;background:transparent;color:#bcd0d5;font-size:11px;font-weight:450;padding:8px 10px;gap:6px;border-radius:4px}.ocean-tools button:hover{background:#c6e5df17;color:#fff}.ocean-tools button.is-active{color:#e1f9ed;background:#cedfd51f;box-shadow:inset 0 -1px #a5cebd6b}.ocean-status{position:absolute;z-index:32;top:88px;left:25px;display:flex;align-items:center;gap:14px;font-size:10px;color:#bdced0;text-shadow:0 1px 3px #073141}.ocean-status>span{display:flex;gap:5px;align-items:center}.ocean-status>button{border:1px solid #bad5c624;border-radius:4px;padding:5px 8px;background:#0c2a34aa;color:#c2e1d6;font-size:10px;gap:5px;font-weight:500}.ocean-status>button i{width:5px;height:5px;background:#82cead;border-radius:50%;box-shadow:0 0 7px #8af0bc50}.ocean-status .status-paused{background:#2c3439b0;color:#e7decb}.ship-pin{display:flex;gap:6px;align-items:center;padding:5px 8px;border:1px solid #b9d8d454;border-radius:4px;background:#092d3cc7;color:#e1f3ef;font-size:11px;font-weight:600;box-shadow:0 2px 12px #082c4522;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ship-pin>i{width:5px;height:5px;border-radius:50%}.ship-pin>span{font-size:9px;font-weight:400;color:#bed3d8;border-left:1px solid #c6dee229;padding-left:6px}.ship-pin.is-selected{border-color:#b9dcd0bb;background:#104554d9;box-shadow:0 0 0 3px #092e3720}.ship-pin:hover{background:#1c5360;color:#fff}.ocean-bottom{position:absolute;z-index:32;left:25px;right:25px;bottom:43px;display:flex;align-items:end;justify-content:space-between;gap:20px;pointer-events:none}.vessel-telemetry{border:1px solid #c8e3de2c;background:linear-gradient(115deg,#082c3add,#103846a8);border-radius:7px;color:#d3e4e5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:16px 18px;width:360px;box-shadow:0 6px 30px #07263122}.telemetry-name{display:flex;align-items:center;gap:7px;font-size:11px}.telemetry-name>i{width:6px;height:6px;border-radius:50%}.telemetry-name em{font-size:9px;font-style:normal;margin-left:auto;color:#a5cfba;letter-spacing:.3px}.vessel-telemetry>div:not(.voyage-track){display:flex;gap:23px;margin-top:12px;align-items:center}.vessel-telemetry strong{font-size:31px;font-weight:450;letter-spacing:-1px;line-height:1;color:#f1f4e9;font-variant-numeric:tabular-nums}.vessel-telemetry strong small{font-size:11px;font-weight:400;letter-spacing:0;padding-left:6px;color:#afc8d0}.vessel-telemetry div>span{font-size:9px;color:#98b7c2;line-height:1.6}.vessel-telemetry b{display:block;color:#e5ede5;font-size:14px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.2px}.vessel-telemetry b small{font-size:9px;color:#8eafbc;font-weight:400;padding-left:3px}.voyage-track{height:2px;background:#d7eae321;margin-top:15px;position:relative;border-radius:2px}.voyage-track i{display:block;height:100%;background:#84c9b5;min-width:2px}.fleet-minimap{pointer-events:auto;border:1px solid #c8e3de25;background:#0a2a36a8;border-radius:6px;width:165px;padding:10px 12px 2px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#c3d8dd}.fleet-minimap>span{font-size:10px;display:flex;justify-content:space-between}.fleet-minimap small{font-size:8px;color:#86aab7}.fleet-minimap svg{display:block;width:100%;margin-top:5px}.fleet-minimap g{cursor:pointer}.ocean-footnote{position:absolute;z-index:32;bottom:15px;left:25px;right:25px;display:flex;justify-content:space-between;gap:12px;color:#b2cbd0;font-size:9px;pointer-events:none;text-shadow:0 1px 3px #123e4e}.ocean-footnote span{display:flex;align-items:center;gap:5px}.presentation.app-layout{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:block;padding:0;max-width:none;background:#082b38}.presentation .simulation-panel{border:0;border-radius:0}.presentation .ocean-stage{height:calc(100dvh - 64px)}.presentation .playback{background:#0b2834;color:#d6e5e4;height:64px;padding:10px 28px;border-top:1px solid #b5d2cf20}.presentation .playback select{background:#133b46;color:#c9e5dc;border-color:#51717c}.presentation .playback .timeline{background:#2a4a54}.presentation .time-readout span{color:#89a6b1}.presentation .results,.presentation .inspector,.presentation .footer{display:none}.presentation .ocean-title h2{font-size:22px}.presentation .ocean-topbar{inset:28px 34px auto}.presentation .ocean-status{left:35px;top:103px}.presentation .ocean-bottom{left:35px;right:35px;bottom:49px}.presentation .ocean-footnote{left:35px;right:35px;bottom:18px}@media(max-width:1200px){.ocean-topbar{inset:16px 17px auto;align-items:start;gap:10px}.ocean-title h2{font-size:15px}.ocean-title span{font-size:9px}.ocean-tools button{padding:7px 8px}.ocean-tools button>span{display:none}.ocean-status{left:18px;top:78px}.ocean-bottom{left:18px;right:18px;bottom:50px}.vessel-telemetry{width:320px;padding:13px 14px}.vessel-telemetry>div:not(.voyage-track){gap:19px}.ocean-footnote{left:18px;right:18px;font-size:8px;flex-direction:column;gap:3px}.fleet-minimap{width:135px}}@media(max-width:850px){.ocean-stage{height:500px}.ocean-tools button{padding:7px}.ocean-bottom{gap:10px}.vessel-telemetry{width:290px}.vessel-telemetry>div:not(.voyage-track){gap:15px}.vessel-telemetry strong{font-size:27px}.fleet-minimap{width:125px}.presentation .ocean-title h2{font-size:16px}}@media(max-width:540px){.ocean-stage{height:510px}.ocean-topbar{left:14px;right:14px;top:16px;flex-direction:column;gap:13px}.ocean-title{gap:8px}.ocean-title h2{font-size:15px}.ocean-title span{font-size:8px}.ocean-tools{gap:3px;padding:3px;margin-top:3px}.ocean-tools button{padding:7px 10px}.ocean-status{left:auto;right:14px;top:19px;flex-direction:column;align-items:end;gap:6px;font-size:9px}.ocean-status>span{display:none}.ocean-bottom{left:14px;right:14px;bottom:45px;gap:8px}.vessel-telemetry{width:100%;padding:12px 13px}.fleet-minimap{display:none}.vessel-telemetry>div:not(.voyage-track){justify-content:space-between}.ocean-footnote{left:14px;right:14px;font-size:7px;bottom:13px}.ship-pin{font-size:10px;padding:4px 6px}.ship-pin span{display:none}.presentation .ocean-topbar{inset:20px 18px auto}.presentation .ocean-status{top:22px;left:auto;right:18px}.presentation .ocean-bottom,.presentation .ocean-footnote{left:18px;right:18px}.presentation .playback{padding:10px 14px}}.mission-timeline{background:#fff;border:1px solid #dbe4e8;border-radius:10px;padding:20px;margin:16px 0}.mission-timeline header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.mission-timeline h2{font-size:15px}.mission-timeline header span,.mission-timeline p{font-size:11px;color:#526a79}.mission-ships{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.mission-ships article{display:flex;flex-direction:column;gap:7px;padding:12px;background:#102f3b;border-radius:7px;color:#eef6f6}.mission-ships b{font-size:13px}.mission-ships span,.mission-ships small{font-size:10px;color:#bdd4dc;line-height:1.6}.mission-timeline nav{display:flex;gap:8px;flex-wrap:wrap}.mission-timeline nav button{font-size:11px;padding:8px 10px;background:#eef5f5;border:1px solid #cbdede;border-radius:5px;color:#235b65}.mission-timeline p{margin:12px 0 0}.presentation .mission-timeline{display:none}@media(max-width:540px){.mission-ships{grid-template-columns:1fr}.mission-timeline{padding:14px}}.rendezvous-status{position:absolute;z-index:30;left:25px;top:128px;display:flex;gap:8px;flex-wrap:wrap;pointer-events:none}.rendezvous-status span{background:#09232dce;color:#bdd4dc;font-size:11px;padding:7px 10px;border:1px solid #bad5c624;border-radius:5px}.rendezvous-status b{color:#e3f4eb;margin-left:5px}.accounting-note{font-size:11px;line-height:1.7;color:#617787;margin:12px 0}@media(max-width:540px){.rendezvous-status{top:116px;left:14px}.rendezvous-status span{font-size:10px;padding:5px 8px}}.savings-overview{display:grid;grid-template-columns:1fr 1fr 1.4fr;align-items:center;gap:20px;background:#fff;border:1px solid #dbe5e8;border-radius:10px;padding:18px 22px;margin-bottom:14px}.overview-primary>span{display:block;font-size:13px;font-weight:650;color:#24424e}.overview-primary>span small{display:block;font-size:10px;font-weight:400;color:#6b818b;margin-top:4px}.overview-primary>strong{display:block;font-size:36px;font-weight:650;color:#087f83;line-height:1.15;margin-top:6px;letter-spacing:-1px}.overview-primary>strong small{font-size:18px;margin-left:3px}.overview-metric{display:flex;flex-direction:column;gap:7px;border-left:1px solid #e5ecee;padding-left:20px}.overview-metric>span,.overview-decision>span,.overview-decision>small{font-size:11px;color:#617984;line-height:1.5}.overview-metric strong{font-size:22px;color:#233f4d}.overview-metric strong small{font-size:12px;font-weight:400}.overview-decision{display:flex;flex-direction:column;gap:6px;background:#f0f7f6;border-radius:7px;padding:12px 14px}.overview-decision>strong{font-size:14px;color:#1b6467}.overview-decision>small{font-size:10px;color:#6b8289}.results-grid{grid-template-columns:minmax(280px,1.4fr) minmax(220px,1fr)}.mission-details{margin-top:14px;background:#fff;border:1px solid #dbe5e8;border-radius:9px}.mission-details>summary{cursor:pointer;padding:16px 18px;font-size:13px;font-weight:600;color:#355363}.mission-details .mission-timeline{margin:0;border:0}.ship-settings{margin-top:18px;padding:16px 0;border-top:1px solid #e0e8eb;border-bottom:1px solid #e0e8eb;grid-column:1/-1}.ship-settings h3{font-size:13px;margin-bottom:12px}.ship-setting-tabs{display:flex;gap:5px;margin-bottom:14px}.ship-setting-tabs button{flex:1;justify-content:center;padding:8px 4px;border:1px solid #dae4e8;border-radius:5px;background:#fff;color:#627985;font-size:11px}.ship-setting-tabs button[aria-selected=true]{background:#e7f4f3;color:#155d64;border-color:#75b6b3}.ship-setting-tabs i{width:6px;height:6px;border-radius:50%;display:inline-block}.ship-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px 10px}.ship-fields label>span{display:block;font-size:11px;color:#486573;margin-bottom:6px}.ship-fields label small{font-size:10px;color:#81969e}.ship-fields input{width:100%;min-width:0;border:1px solid #d5e1e5;background:#f8fbfb;border-radius:5px;padding:9px 10px;color:#214956;font:inherit;font-size:13px}.ship-fields input:focus{outline:2px solid #80beba;outline-offset:1px}.ship-settings p,.ship-settings>small{font-size:10px;line-height:1.6;color:#718792;margin:10px 0;display:block}.ship-settings .settings-error{color:#a33e38}.ship-settings .apply-ships{display:flex;justify-content:center;width:100%;padding:10px;background:#167d81;border:0;border-radius:5px;color:#fff;font-size:12px}.ship-settings .apply-ships:disabled{opacity:.4;cursor:default}.ship-settings .reset-ships{font-size:10px;color:#718792;border:0;background:none;padding:10px 0 0}.presentation .savings-overview,.presentation .mission-details{display:none}@media(max-width:1050px){.savings-overview{grid-row:1;margin:0}.simulation-panel{grid-row:2}.results{grid-row:3}.inspector{grid-row:4}.mission-details{grid-row:5}.footer{grid-row:6}}@media(max-width:650px){.savings-overview{grid-template-columns:1fr 1fr;padding:14px;gap:12px}.overview-decision{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;padding:9px 10px;gap:4px}.overview-decision>span{grid-column:1/-1;grid-row:2}.overview-decision>small{font-size:9px}.overview-primary>strong{font-size:32px}.overview-metric{padding-left:14px}.results-grid{grid-template-columns:1fr}.ship-fields{grid-template-columns:1fr 1fr}}.level-control{margin:14px 0}.level-label{font-size:12px;font-weight:550;color:#375864;display:flex;justify-content:space-between;margin-bottom:8px}.level-label small{font-size:10px;font-weight:400;color:#7d919b}.level-options{display:flex;border:1px solid #d8e3e6;border-radius:6px;overflow:hidden;background:#f6f9f9}.level-options button{flex:1;justify-content:center;border:0;border-right:1px solid #e2eaec;border-radius:0;padding:10px 4px;color:#67808b;background:transparent;font-size:12px}.level-options button:last-child{border-right:0}.level-options button[aria-pressed=true]{background:#e0f1ef;color:#12676b;font-weight:650;box-shadow:inset 0 -2px #39958e}.level-options button:hover{background:#eaf4f3}.advanced-settings{margin:14px 0 8px}.advanced-settings>summary{font-size:11px;color:#708894;cursor:pointer;padding:8px 0}.advanced-settings[open]>summary{color:#2d6470;margin-bottom:8px}.common-advanced,.simple-environment{grid-column:1/-1}.ship-settings{margin-top:8px;padding-top:14px}.inspector-scroll>.model-notice{grid-column:1/-1}.level-label output{font-size:13px;color:#146e74;font-weight:650;white-space:nowrap;margin-left:8px}.level-options button{flex-direction:column;gap:4px}.level-options button small{font-size:10px;font-weight:400;opacity:.8}.level-custom{display:flex;align-items:center;gap:8px;margin-top:9px;font-size:11px;color:#718893}.level-custom>span:first-child{margin-right:auto}.level-custom input{width:85px;min-width:0;padding:6px 8px;border:1px solid #cfdee2;border-radius:5px;background:#fff;font-size:12px;color:#285663}.level-custom input:focus{outline:2px solid #79b9b4;outline-offset:1px}.level-error{color:#a94338!important;font-size:10px;line-height:1.5;margin:6px 0}.level-pending{font-size:10px;color:#94702c!important;line-height:1.5;margin:6px 0}.sea-reference{background:#f1f7f9;border:1px solid #dce9ec;border-radius:6px;padding:10px 12px;margin:6px 0 18px;font-size:11px;color:#567583}.sea-reference>span{display:flex;justify-content:space-between;font-weight:550}.sea-reference b{font-size:14px;color:#376876}.sea-reference>small{display:block;margin:5px 0;font-size:9px;color:#78919c;line-height:1.5}.sea-reference>div{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:10px}.sea-reference button{font-size:10px;border:1px solid #c9dee2;background:#fff;padding:4px 6px;border-radius:4px;color:#286776;white-space:nowrap}.sea-reference details{margin-top:8px;font-size:10px;line-height:1.7}.sea-reference summary{cursor:pointer;color:#758d97}.sea-reference a{color:#286d80}.eyebrow{display:block;font-size:9px;letter-spacing:1.65px;font-weight:700;color:var(--teal);margin-bottom:6px}.voyage-inspector{display:flex;flex-direction:column;min-width:0}.voyage-inspector .inspector-heading{align-items:center;padding:20px}.voyage-inspector h2{font-size:16px}.voyage-form{display:flex;flex-direction:column;min-height:0}.voyage-scroll{padding:0 20px 18px;overflow-y:auto;max-height:calc(100vh - 325px);scrollbar-width:thin}.lab-section{padding:20px 0;border-bottom:1px solid var(--line)}.lab-section:first-child{padding-top:3px}.lab-section h3{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:14px}.lab-section h3>span{color:#8297a2;font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.5px}.scenario-tiles{display:grid;grid-template-columns:1fr 1fr;gap:7px}.scenario-tiles button{text-align:left;padding:11px 10px;display:flex;flex-direction:column;gap:5px;align-items:flex-start;border-radius:8px;min-height:67px}.scenario-tiles button:first-child{grid-column:1/-1;min-height:58px}.scenario-tiles strong{font-size:11px;font-weight:650}.scenario-tiles small{font-size:10px;color:var(--muted);font-weight:450}.scenario-tiles button[aria-pressed=true],.lab-ship-tabs button[aria-pressed=true],.plan-mode button[aria-pressed=true]{background:#edf8f5;color:#116565;border-color:#8bbcb2}.lab-hint{margin:10px 0 0;color:var(--muted);font-size:10.5px;line-height:1.8;word-break:keep-all}.lab-hint a{color:var(--teal)}.value-field{display:grid;grid-template-columns:1fr 102px;gap:10px;align-items:center;font-size:12px;margin:12px 0;min-width:0}.value-input{display:flex;align-items:center;min-width:0;border:1px solid #d7e1e6;border-radius:6px;background:#fff;overflow:hidden}.value-input:focus-within{outline:2px solid #80b5b3;outline-offset:1px}.value-input input{width:100%;min-width:0;border:0;outline:0;padding:8px 0 8px 9px;background:transparent;color:#173e4c;font-size:13px;font-weight:650;font-variant-numeric:tabular-nums}.value-input input:focus-visible{outline:none}.value-input>span{font-size:10px;white-space:nowrap;color:var(--muted);padding:0 8px 0 3px}.value-field>input[type=range]{grid-column:1/-1;width:100%;margin:0;accent-color:var(--teal)}.sea-baseline{display:flex;align-items:center;gap:6px;color:var(--muted);background:#f3f7f9;border-radius:6px;padding:7px 9px;font-size:10px}.sea-baseline button{margin-left:auto;padding:3px 6px;font-size:10px}.lab-detail{margin-top:12px}.lab-detail>summary{list-style:none;display:flex;align-items:center;gap:8px;justify-content:space-between;font-size:11px;color:#57707e;padding:7px 0}.lab-detail>summary:after{content:"+";margin-left:auto}.lab-detail[open]>summary:after{content:"−"}.lab-detail>summary>svg{display:none}.lab-detail p{color:var(--muted);font-size:11px;line-height:1.9;margin-top:7px}.lab-ship-tabs,.plan-mode{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.lab-ship-tabs button{padding:8px 5px;font-size:11px;gap:5px}.lab-ship-tabs i{width:6px;height:6px;border-radius:50%}.compact-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.compact-fields .value-field{display:flex;flex-direction:column;gap:7px;align-items:stretch;font-size:10px;margin:12px 0 0}.plan-mode{grid-template-columns:1fr 1fr}.plan-mode button{font-size:11px;padding:9px 7px}.lab-submit{padding:15px 20px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px;background:#fff;border-radius:0 0 8px 8px}.lab-submit small{font-size:10px;color:var(--muted);line-height:1.6}.lab-submit>small:first-child{color:#45636f}.lab-submit .primary{background:#0b797c;color:#fff;border-color:#0b797c;padding:12px;font-size:12px;justify-content:space-between}.lab-submit .primary:hover{background:#096a6c}.lab-submit p[role=alert]{font-size:11px;color:#ad4939}.lab-submit progress{width:100%;height:4px;accent-color:var(--teal)}.voyage-scroll .model-notice{margin:18px 0 0;width:100%}.planning-banner{display:flex;gap:14px;flex-wrap:wrap;padding:11px 15px;background:#edf7f6;border:1px solid #bfddda;color:#256768;border-radius:8px;font-size:12px}.planning-banner span{color:#618581;font-size:11px}.plan-insights{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;min-width:0}.plan-insights>header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:17px}.plan-insights h2{font-size:17px}.search-count{color:var(--muted);font-size:10px}.insight-grid{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:20px}.insight-grid>article+article{border-left:1px solid var(--line);padding-left:20px}.insight-grid h3{display:flex;gap:7px;align-items:center;color:#5d7682;font-size:11px;margin-bottom:13px}.insight-grid article>strong{display:block;font-size:21px;color:#174955;letter-spacing:-.7px}.insight-grid article>p{color:#426775;font-size:11px;margin-top:6px}.insight-grid small{display:block;font-size:10px;color:#7a8d95;line-height:1.8;margin-top:7px}.insight-grid strong>small{display:inline;font-size:12px}.search-comparison{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:10px;margin-top:13px}.search-comparison b{color:var(--teal)}.cost-equation{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:17px 0 11px}.cost-equation b{font-size:19px;font-weight:650;letter-spacing:-.7px;font-variant-numeric:tabular-nums}.cost-equation i{font-size:14px;color:#8d9ea6;font-style:normal}.cost-equation small{font-size:9px;margin-top:3px}.plan-moments{display:flex;flex-wrap:wrap;gap:8px;padding-top:17px;margin-top:17px;border-top:1px solid #e8eef1}.plan-moments button{flex:1;font-size:11px;padding:10px 8px;flex-wrap:wrap;gap:5px;min-width:120px}.plan-moments button span{color:#7d939d;display:block;width:100%;font-size:10px}.plan-insights .lab-detail{margin-top:10px}.plan-insights .lab-detail summary{justify-content:flex-start}.plan-insights .lab-detail summary:after{margin-left:0}.presentation .plan-insights,.presentation .planning-banner{display:none}@media(min-width:1600px){.voyage-scroll{max-height:calc(100vh - 315px)}}@media(max-width:1200px){.insight-grid{gap:12px}.insight-grid>article+article{padding-left:12px}.cost-equation b{font-size:16px}}@media(max-width:1050px){.plan-insights{grid-row:3}.results{grid-row:4}.inspector.voyage-inspector{grid-row:5;grid-column:1/-1}.mission-details{grid-row:6}.footer{grid-row:7}.planning-banner{grid-row:2}.voyage-scroll{max-height:none;display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.lab-section:first-child{padding-top:20px}.voyage-scroll .model-notice{grid-column:1/-1}.lab-submit{position:static}}@media(max-width:650px){.plan-insights{padding:16px}.plan-insights>header{align-items:flex-start;flex-direction:column;gap:8px}.insight-grid{grid-template-columns:1fr;gap:16px}.insight-grid>article+article{border-left:0;border-top:1px solid var(--line);padding:16px 0 0}.insight-grid h3{margin-bottom:8px}.cost-equation{justify-content:flex-start;gap:22px;margin:10px 0}.cost-equation b{font-size:21px}.voyage-scroll{display:block;padding:0 16px 16px}.plan-moments{gap:6px}.plan-moments button{min-width:44%}.planning-banner{font-size:11px;gap:3px}}.plan-insights{margin-top:14px}.planning-banner{margin-bottom:14px}@media(max-width:1050px){.plan-insights{margin-top:0}.planning-banner{grid-row:8;margin:0}}@media(max-width:1050px){.app-layout{grid-template-columns:minmax(0,1fr)}.main-column{display:contents}.inspector.voyage-inspector{position:static;min-height:0;max-height:none;grid-row:3}.plan-insights{grid-row:4}.results{grid-row:5}.planning-banner{position:sticky;top:8px;z-index:50;grid-row:1;align-self:end;margin:0;transform:translateY(100%)}}
