html,body,#root{height:auto;min-height:100%}.trim{background:radial-gradient(circle at 80% -10%, #4fd1e614, transparent 45%), var(--bg);min-height:100vh}.trim-bar a{color:var(--live)}.trim-crumb{color:var(--order)}.trim-bar .lang{gap:4px;display:inline-flex}.trim-lead{color:var(--dim);max-width:70ch;margin:14px 16px 0}.trim-grid{grid-template:"inputs results""inputs more"1fr/minmax(300px,380px) minmax(0,1fr);align-items:start;gap:14px;padding:14px 16px 24px;display:grid}.trim-inputs{grid-area:inputs}.trim-results{grid-area:results}.trim-more{grid-area:more}.trim-inputs,.trim-results,.trim-more{flex-direction:column;gap:12px;min-width:0;display:flex}.trim .card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px 14px}.trim h2{letter-spacing:.12em;text-transform:uppercase;color:var(--live);align-items:baseline;gap:10px;margin:0 0 8px;font-size:12px;display:flex}.trim .note{color:var(--dim);margin:6px 0 8px;font-size:12px}.trim .small{font-size:12px}.trim .muted{color:var(--dim)}.trim .error{color:var(--alarm)}.trim .big{color:var(--text);letter-spacing:0;font-size:18px}.chips{flex-wrap:wrap;gap:6px;display:flex}.loads{flex-direction:column;gap:8px;margin:0 0 10px;padding:0;list-style:none;display:flex}.loads li{border-bottom:1px dashed var(--line);grid-template-columns:1fr 84px auto 22px;grid-template-areas:"name mass unit x""range range pos pos";align-items:center;gap:4px 6px;padding-bottom:8px;display:grid}.loads input{color:var(--text);border:1px solid var(--line);font:inherit;background:#07131d;border-radius:4px;min-width:0;padding:4px 6px}.loads .name{grid-area:name}.loads input.num{text-align:right;grid-area:mass}.loads .unit{color:var(--dim);grid-area:unit}.loads input[type=range]{accent-color:var(--order);border:0;grid-area:range;padding:0}.loads .pos{color:var(--dim);text-align:right;grid-area:pos;font-size:12px}.loads .x{grid-area:x;padding:0 6px}.depth-slider{width:100%;accent-color:var(--live)}.verdict{border:1px solid;border-radius:8px;padding:12px 14px}.verdict.ok{background:#5fd08a14;border-color:#5fd08a99}.verdict.no{background:#ff5a4e14;border-color:#ff5a4e99}.verdict-head{align-items:baseline;gap:8px;font-size:16px;display:flex}.verdict .mark{font-size:20px}.verdict.ok .mark,.verdict.ok strong{color:var(--ok)}.verdict.no .mark,.verdict.no strong{color:var(--alarm)}.verdict ul{color:var(--order);margin:8px 0 0;padding-left:18px}.verdict .left{color:var(--text);margin:8px 0 0}.view-card{padding:6px 8px}.side-view{touch-action:pan-y;width:100%;height:auto;display:block}.sv-sea{stroke:#4fd1e659;stroke-width:.25px;stroke-dasharray:1 1}.sv-hull{fill:#0d2131;stroke:#3b6a86;stroke-width:.3px}.sv-mbt{stroke:#4fd1e640;stroke-width:.2px;opacity:.55}.sv-gauge{fill:#07131d;stroke:var(--line);stroke-width:.25px}.sv-water{fill:#4fd1e673}.side-view.trimmed .sv-water{fill:#4fd1e699}.sv-goal{stroke:var(--order);stroke-width:.35px;stroke-dasharray:.7 .4}.sv-act{letter-spacing:.3px;font:700 2px ui-monospace,SF Mono,Menlo,monospace}.sv-act.as-is{fill:var(--order)}.sv-act.trimmed{fill:var(--ok)}.sv-pitch{fill:var(--text);font:2px ui-monospace,SF Mono,Menlo,monospace}.sv-dim{fill:var(--dim)}.sv-b circle{fill:none;stroke:var(--live);stroke-width:.3px}.sv-g circle{fill:#050d15;stroke:var(--order);stroke-width:.3px}.sv-g path{fill:var(--order)}.sv-centre-label{fill:var(--text);font:700 1.9px ui-monospace,SF Mono,Menlo,monospace}.sv-ruler line{stroke:var(--dim);stroke-width:.25px}.sv-ruler-g{fill:var(--order)}.side-view.trimmed .sv-ruler-g{fill:var(--ok)}.view-card{position:relative}.replay{padding:3px 9px;font-size:12px;position:absolute;bottom:10px;right:10px}.flash{animation:1.1s ease-out flash;display:inline-block}@keyframes flash{0%{color:var(--order);text-shadow:0 0 10px #f0b441cc;transform:translateY(-2px)}to{text-shadow:none;transform:none}}@media (prefers-reduced-motion:reduce){.flash{animation:none}}.sv-label,.sv-value,.sv-end,.sv-load-label{fill:var(--dim);font:1.9px ui-monospace,SF Mono,Menlo,monospace}.sv-label,.sv-value,.sv-load-label{text-anchor:middle}.sv-value{fill:var(--text)}.sv-end{fill:var(--dim)}.sv-flow{fill:none;stroke:var(--order);stroke-width:.45px;stroke-dasharray:1.2 .6;animation:1.2s linear infinite flow}@keyframes flow{to{stroke-dashoffset:-3.6px}}@media (prefers-reduced-motion:reduce){.sv-flow{animation:none}}.sv-load{cursor:ew-resize;touch-action:none}.sv-load circle{fill:#f0b441d9;stroke:#ffd98a;stroke-width:.25px}.sv-load.out circle{fill:#f0b44114;stroke-dasharray:.6 .4}.sv-load-label{fill:var(--order)}.sheet{border-collapse:collapse;width:100%;font-size:13px}.sheet th{text-align:right;color:var(--dim);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line);padding:4px 6px;font-size:11px;font-weight:400}.sheet th:first-child,.sheet td:first-child{text-align:left}.sheet td{text-align:right;white-space:nowrap;border-bottom:1px solid #1c344699;padding:5px 6px}.sheet .changed{color:var(--order)}.depth-chart{cursor:crosshair;width:100%;max-width:560px;height:auto;margin:0 auto;display:block}.trim-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:12px;display:grid}@media (max-width:1280px){.trim-pair{grid-template-columns:minmax(0,1fr)}}.dc-ok{fill:#5fd08a1a}.dc-no{fill:#ff5a4e24}.dc-grid{stroke:#7e98aa26}.dc-tick,.dc-side,.dc-limit-label,.dc-here-label{fill:var(--dim);font:10px ui-monospace,SF Mono,Menlo,monospace}.dc-zero{stroke:#d8e8f273}.dc-line{fill:none;stroke:var(--live);stroke-width:2px}.dc-limit{stroke:var(--alarm);stroke-dasharray:4 3}.dc-limit-label{fill:var(--alarm)}.dc-here{stroke:var(--order)}.dc-dot,.dc-here-label{fill:var(--order)}.stretches{flex-wrap:wrap;gap:6px 14px;margin:8px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.stretches .ok:before,.stretches .no:before{content:"■ "}.stretches .ok:before{color:var(--ok)}.stretches .no:before{color:var(--alarm)}@media (max-width:860px){.trim-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"results""inputs""more";padding:12px 12px 24px}.sheet{font-size:12px}.sheet td,.sheet th{padding:4px 3px}}.plan{border-color:#4fd1e673;box-shadow:0 0 24px #4fd1e614}.badge-ai{letter-spacing:.08em;text-transform:none;color:var(--order);border:1px solid #f0b44180;border-radius:10px;padding:1px 7px;font-size:10px}.plan-form{gap:6px;display:flex}.plan-form input{min-width:0;color:var(--text);border:1px solid var(--line);font:inherit;background:#07131d;border-radius:4px;flex:1;padding:6px 8px}.plan-form input:focus{border-color:var(--live);outline:none}.plan-read ul{color:var(--order);margin:4px 0 8px;padding-left:18px}.plan-read .apply{border-color:var(--ok);color:var(--ok)}.plan-unclear{color:var(--alarm);margin:8px 0 0}.water-row{align-items:flex-start;gap:10px;display:flex}.water-choices{flex:1;min-width:0}.profile{flex:none;width:96px}.pf-box{fill:#07131d;stroke:var(--line)}.pf-line{fill:none;stroke:var(--live);stroke-width:1.6px}.pf-tick{fill:var(--dim);font:8px ui-monospace,SF Mono,Menlo,monospace}.trim button.link{color:var(--live);background:0 0;border:0;padding:0;text-decoration:underline}.trim .note a{color:var(--live)}.verdict .dive{border-color:var(--live);color:var(--live);margin-top:10px}.trim h2 .reset{letter-spacing:0;text-transform:none;margin-left:auto;font-size:11px}.vehicle-form{grid-template-columns:1fr 1fr;gap:6px 8px;margin:8px 0;display:grid}.vehicle-form label{color:var(--dim);flex-direction:column;gap:2px;font-size:11px;display:flex}.vehicle-form label.wide{grid-column:1/-1}.vehicle-form input{color:var(--text);border:1px solid var(--line);font:inherit;background:#07131d;border-radius:4px;min-width:0;padding:4px 6px;font-size:13px}.vehicle-form input::placeholder{color:#7e98aa99;font-style:italic}.vehicle .tell{margin-top:8px}.vehicle .filled{color:var(--order)}.vehicle .apply{border-color:var(--ok);color:var(--ok)}.sv-weight{cursor:ew-resize;touch-action:none}.sv-weight rect{fill:#a0b4c859;stroke:#d8e8f2b3;stroke-width:.2px}.sv-weight:hover rect{stroke:var(--order)}.sv-lead rect{fill:#3a3f47;stroke:#9aa3ad;stroke-width:.2px}.sv-lead-label{fill:#b9c2cc;text-anchor:middle;font:1.7px ui-monospace,SF Mono,Menlo,monospace}.design h3{color:var(--dim);text-transform:uppercase;letter-spacing:.08em;margin:12px 0 6px;font-size:11px;font-weight:400}.design .rows{flex-direction:column;gap:6px;margin:0 0 6px;padding:0;list-style:none;display:flex}.design .rows li{border-bottom:1px dashed var(--line);grid-template-columns:1fr 64px auto 22px;grid-template-areas:"name mass unit x""along along height height";align-items:center;gap:3px 6px;padding-bottom:6px;display:grid}.design .rows .name{grid-area:name;min-width:0}.design .rows input.name,.design .rows input.num{color:var(--text);border:1px solid var(--line);font:inherit;background:#07131d;border-radius:4px;min-width:0;padding:3px 6px;font-size:12px}.design .rows input.num{text-align:right;grid-area:mass}.design .rows .unit{color:var(--dim);grid-area:unit;font-size:12px}.design .rows .x{grid-area:x;padding:0 6px}.design .rows .along{accent-color:var(--order);grid-area:along}.design .rows .height{accent-color:var(--live);grid-area:height}.design .rows li:not(:has(.height)) .along{grid-column:1/-1}.wb-bar{border:1px solid var(--line);background:#07131d;border-radius:7px;height:14px;display:flex;position:relative;overflow:hidden}.wb-bar span{height:100%;display:block}.wb-w{background:#a0b4c88c}.wb-t{background:#4fd1e68c}.wb-l{background:#5a616b}.wb-disp{background:var(--ok);width:2px;position:absolute;top:-2px;bottom:-2px}.wb-text{margin:6px 0 0;font-size:12px}.wb-text .lead{color:var(--text)}.wb-text .over{color:var(--alarm)}.design .problems{color:var(--alarm);margin:6px 0 0;padding-left:18px;font-size:12px}.vehicle .design-open{border-color:var(--order);color:var(--order);margin-top:8px}.trial-pick{grid-template-columns:auto 1fr;align-items:center;gap:6px 10px;margin:8px 0 10px;font-size:12px;display:grid}.trial .apply{border-color:var(--ok);color:var(--ok)}.trial-grid{border-collapse:separate;border-spacing:3px;width:100%;margin-top:10px;font-size:12px}.trial-grid th{text-align:left;color:var(--dim);padding:2px 4px;font-weight:400}.trial-grid thead th{text-align:center}.trial-grid td{text-align:center;border-radius:4px;padding:6px 4px;font-size:15px;transition:background-color .4s;position:relative}.trial-grid td small{font-size:10px;line-height:1.2;display:block}.trial-grid td.wait{color:var(--dim);background:#07131d}.trial-grid td.pass{color:var(--ok);background:#5fd08a2e}.trial-grid td.fail{color:var(--alarm);background:#ff5a4e29}.trial-grid td.err{color:var(--order);background:#f0b44129}.trial-grid .sheet-no{color:var(--order);font-size:9px;position:absolute;top:2px;right:4px}.plan-files{align-items:center;gap:10px;font-size:12px;display:inline-flex}.plan-files a,.plan-files .link{color:var(--live);cursor:pointer;text-decoration:underline}.report{display:none}@media print{@page{size:A4;margin:14mm 12mm}html,body,#root,.trim{min-height:0;background:#fff!important}.trim>:not(.report){display:none!important}.report{--bg:#fff;--panel:#fff;--line:#b9c6d0;--text:#111;--dim:#555;--live:#0a6f83;--order:#a86a00;--alarm:#c62828;--ok:#2e7d32;color:#111;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:10pt/1.4 system-ui,sans-serif;display:block}.report *{transition:none!important;animation:none!important}.report-head{border-bottom:2px solid #111;justify-content:space-between;align-items:flex-end;padding-bottom:6px;display:flex}.report-head h1{margin:0;font-size:18pt}.report-kicker{color:#555;letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:8pt}.report-head dl{grid-template-columns:auto auto;gap:0 10px;margin:0;font-size:9pt;display:grid}.report-head dt{color:#555}.report-head dd{margin:0}.report .mono{font-family:ui-monospace,monospace}.report-caveat,.report-warn{background:#fbf3e4;border-left:3px solid #a86a00;margin:8px 0;padding:6px 8px;font-size:9pt}.report section{margin-top:12px}.report-keep{break-inside:avoid}.report h2{border-bottom:1px solid #b9c6d0;margin:0 0 6px;font-size:12pt}.report h3{margin:10px 0 4px;font-size:10pt}.report table{border-collapse:collapse;min-width:50%;margin:4px 0 8px}.report th,.report td{text-align:left;vertical-align:top;border:1px solid #ccd5dc;padding:2px 6px}.report td.num,.report th.num{text-align:right;font-variant-numeric:tabular-nums}.report td.pass{color:#2e7d32}.report td.fail{color:#c62828}.report td small{color:#555}.report-verdict{margin:4px 0;font-size:12pt;font-weight:600}.report-verdict.ok{color:#2e7d32}.report-verdict.no,.report-problems{color:#c62828}.report-view{break-inside:avoid;border:1px solid #ccd5dc;margin:6px 0}.report-view .side-view{width:100%;height:auto;max-height:95mm}.report .sv-hull{fill:#eef4f7;stroke:#0a6f83}.report .sv-gauge{fill:#fff;stroke:#555}.report .sv-sea{stroke:#0a6f83}.report-curve{grid-template-columns:60% 1fr;align-items:start;gap:12px;display:grid}.report-curve .depth-chart{width:100%;height:auto}.report .small{color:#555;font-size:8.5pt}.report-foot{color:#555;border-top:1px solid #b9c6d0;margin-top:14px;font-size:8pt}}.sv-air{fill:#d8e8f2d9;stroke:#d8e8f2e6;stroke-width:.15px}.trim label.check{color:var(--dim);cursor:pointer;align-items:center;gap:8px;margin-top:12px;display:flex}.trim .trapped{grid-template-columns:1fr auto;align-items:center;gap:4px 10px;margin-top:8px;display:grid}.trim .trapped input[type=range]{grid-column:1/-1;width:100%}.trim .trapped .note{grid-column:1/-1;margin:4px 0 0}.sv-air-label{fill:var(--text);text-anchor:middle;font-size:1.5px}.small-view{touch-action:pan-y;width:100%;height:auto;max-height:420px;display:block}.small-view .sv-act,.small-view .sv-pitch,.small-view .sv-value,.small-view .sv-ruler-g{font-size:3px}.small-view .sv-end,.small-view .sv-load-label,.small-view .sv-centre-label{font-size:2.6px}.small-view .sv-hull{stroke-width:.6px}.small-view .sv-gauge{stroke-width:.4px}.sv-lead-fill{fill:#8f9aa3}.sv-foam{fill:#e8c766}@media print{.report-view .small-view{width:100%;height:auto;max-height:80mm}}.dc-ghost{fill:none;stroke:var(--order);stroke-width:1.6px;stroke-dasharray:5 3}.compare table{border-collapse:collapse;width:100%;font-size:13px}.compare th,.compare td{border-bottom:1px solid var(--line);text-align:right;padding:3px 6px}.compare th:first-child,.compare td:first-child{text-align:left;color:var(--dim)}.compare .a{color:var(--order)}.compare .b{color:var(--live)}.compare .better{color:var(--ok)}.compare .worse{color:var(--alarm)}
