@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#182b35;background:#eef2f4;font-size:16px;--ink:#142c36;--blue:#17657d;--line:#d7e0e5}*{box-sizing:border-box}body{margin:0}header{background:#10252e;color:#fff;min-height:80px;padding:22px 32px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{font-size:18px;letter-spacing:.14em;font-weight:650}.brand span{display:inline-block;font-size:14px;font-weight:400;letter-spacing:.02em;color:#b4cbd5;margin-left:28px}.badge{font-size:13px;color:#edc89d;border:1px solid #685746;padding:7px 12px;border-radius:4px}main{display:grid;grid-template-columns:310px minmax(0,1fr);max-width:1800px;margin:auto}aside{background:#fff;padding:28px 24px;border-right:1px solid var(--line)}.section-label{font-size:12px;font-weight:650;letter-spacing:.12em;color:#65818f}h1{font-size:30px;font-weight:550;letter-spacing:-.04em;margin:12px 0}h2{font-size:23px;letter-spacing:-.025em;font-weight:550;margin:9px 0 0}p{line-height:1.55}.muted{color:#657986}.small{font-size:13px;line-height:1.6}label{display:flex;justify-content:space-between;gap:8px;font-size:14px;font-weight:550;margin:20px 0 9px}output{font-weight:650;color:#14586e;font-variant-numeric:tabular-nums}input,select,button{font:inherit;font-size:14px}input[type=number],select{width:100%;border:1px solid #c7d3da;border-radius:5px;background:#fff;padding:10px;color:var(--ink);min-height:42px}input[type=range]{width:100%;accent-color:#1d6b80;min-height:24px;cursor:pointer}button{padding:10px 15px;border:1px solid #c7d3da;border-radius:5px;color:var(--ink);background:#fff;font-weight:550;cursor:pointer;min-height:42px}button:hover{background:#edf4f6}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #41acd4;outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:#1a5a70;border-color:#1a5a70;color:white}.primary:hover{background:#123e50}.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rule{border-top:1px solid var(--line);margin:22px 0}.run-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}a{color:#17657d;text-underline-offset:4px}.workspace{padding:22px 26px;min-width:0}.viewbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.segmented{display:flex;padding:3px;background:#dfe7eb;border-radius:6px;gap:2px}.segmented button{background:transparent;border:0}.segmented button[aria-pressed=true]{background:white;box-shadow:0 1px 3px #16334420}.view-buttons{display:flex;gap:5px}.scene{position:relative;background:#0c2634;border-radius:8px;overflow:hidden;height:440px}.scene canvas{width:100%;height:100%;display:block;touch-action:none;position:relative}.scene img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}.scene-top,.scene-bottom{position:absolute;left:18px;right:18px;display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#b5d0dc;pointer-events:none}.scene-top{top:17px}.scene-bottom{bottom:17px}.wave-panel{display:grid;grid-template-columns:1fr 1fr 150px auto;gap:18px;align-items:end;padding:3px 2px 15px}.wave-panel p{grid-column:1/-1;margin:0}.wave-panel label{margin-top:17px}.wave-panel button{margin-bottom:4px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;gap:20px}.metrics span,.metrics small{display:block;font-size:13px;color:#607887}.metrics strong{font-size:30px;font-weight:500;letter-spacing:-.03em;display:block;margin:6px 0;font-variant-numeric:tabular-nums}.results{padding:26px 0}.result-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.result-head a{font-size:13px}.result-controls{display:flex;gap:10px;margin:22px 0 12px}.result-controls select{width:auto;flex:1;min-width:0}.results svg{display:block;width:100%;height:auto;min-height:175px;background:#fff;border-radius:6px}.timeline{display:flex;align-items:center;gap:18px;margin:12px 0}.timeline output{white-space:nowrap;font-size:14px;min-width:100px}.issue{padding:16px 18px;background:#f4eee4;border-left:3px solid #b17a36;border-radius:0 4px 4px 0}.issue strong{font-size:14px;color:#765020}.issue p{font-size:14px;color:#6e604d;margin:6px 0 0}.warning{color:#9b502c}.scene-top span:first-child{padding:6px 9px;background:#071923a8;border:1px solid #47677755;border-radius:4px}.scene-top #loading{padding-top:6px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#153744;color:white;border-radius:6px;padding:12px 20px;max-width:90%;font-size:14px;z-index:10;display:none}[hidden]{display:none!important}@media(min-width:1450px){.scene{height:520px}}@media(max-width:1000px){main{grid-template-columns:270px minmax(0,1fr)}aside{padding:24px 18px}.workspace{padding:18px}.brand span{display:block;margin:6px 0 0}.wave-panel{grid-template-columns:1fr 1fr}.scene{height:380px}.scene-bottom span:last-child{display:none}.result-head{align-items:flex-start}.result-head a{max-width:130px}.result-controls{flex-wrap:wrap}.result-controls select{flex-basis:40%}}@media(max-width:720px){header{padding:18px;align-items:flex-start}.badge{max-width:130px}main{display:flex;flex-direction:column}.workspace{order:0}aside{order:1;border-top:1px solid var(--line)}.scene{height:340px}.viewbar{flex-wrap:wrap}.metrics{gap:10px}.metrics strong{font-size:25px}.metrics small{font-size:12px}.result-head{display:block}.result-head a{display:block;margin-top:12px}.brand{font-size:15px}.brand span{font-size:13px}.scene-top{font-size:11px}.scene-top #loading{display:none}.wave-panel{gap:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

.input-feedback{padding:12px;border-left:3px solid #17657d;background:#eaf3f6;font-size:14px;line-height:1.5}.control-tag{font-size:12px;letter-spacing:.06em;font-weight:650;color:#657986;margin-top:24px}.trial-section{border-top:1px solid var(--line);padding:28px 0}.trial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px}.trial-section label{display:flex;flex-direction:column;justify-content:flex-end;gap:8px}.trial-section input,.trial-section textarea{width:100%;padding:10px;border:1px solid #c7d3da;border-radius:5px;font:inherit;font-size:14px;background:white}.trial-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.trial-table-wrap{overflow-x:auto}.trial-section table{border-collapse:collapse;width:100%;font-size:14px}.trial-section th,.trial-section td{text-align:left;padding:11px 9px;border-bottom:1px solid var(--line);white-space:nowrap}.trial-section th{background:#e5eef1}.trial-section #trialStatus{padding:10px 12px;background:#eaf3f6;font-size:14px}textarea{resize:vertical}@media(max-width:1000px){.trial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.trial-grid{grid-template-columns:1fr}}
[id]{scroll-margin-top:76px}
.workspace-nav{position:sticky;top:0;z-index:5;display:flex;gap:6px;padding:8px 26px;background:#10252ef5;border-top:1px solid #ffffff18;overflow-x:auto}
.workspace-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 18px;color:#e1edf1;text-decoration:none;white-space:nowrap;border-radius:5px;font-size:14px}
.workspace-nav a:hover,.workspace-nav a:focus-visible{background:#294550}
main{grid-template-columns:320px minmax(0,1fr);align-items:start}
aside{position:sticky;top:61px;max-height:calc(100dvh - 61px);overflow-y:auto;scrollbar-gutter:stable}
.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:2px 0 20px}
.workspace-heading h2{font-size:28px}.evidence-label{font-size:13px;color:#765020;background:#f4eee4;padding:8px 10px;border-radius:4px}
.scenario-strip{display:flex;gap:28px;padding:14px 0;margin-bottom:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#607887;font-size:13px}
.scenario-strip strong{display:block;color:var(--ink);font-size:16px;margin-top:5px;font-weight:550}
.settings-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:22px 0;padding:6px 0 14px}
summary{cursor:pointer;padding:12px 0;font-size:16px;font-weight:600;min-height:48px}summary:focus-visible{outline:3px solid #41acd4;outline-offset:3px}
.settings-details:not([open]){padding-bottom:0}.settings-details[open] summary{color:#17657d}
.zoom-controls{position:absolute;right:14px;bottom:48px;display:flex;flex-direction:column;gap:8px}.zoom-controls button{width:46px;height:46px;font-size:24px;background:#f5f9fb;color:#142c36;box-shadow:0 2px 12px #0003}
button,input[type=number],select{min-height:46px}input[type=range]{min-height:44px}input,select,button,.trial-section input,.trial-section textarea{font-size:16px}
.scene canvas:focus-visible{outline:3px solid #41acd4;outline-offset:-4px}.scene-top{font-size:12px}.scene-top #loading{display:block;max-width:32%;text-align:right}.scene-bottom{font-size:12px}
.chart-scroll{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:6px}.results svg{min-width:660px;min-height:0}.chart-help{margin-bottom:8px}
.result-controls{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto}.result-controls select{width:100%}
.trial-quick{grid-template-columns:repeat(2,minmax(0,1fr))}.trial-section input{min-width:0;min-height:46px}.trial-table-wrap{border:1px solid var(--line);border-radius:6px}.trial-section th{position:sticky;top:0}.trial-actions button{white-space:normal}
@media(min-width:1100px){.scene{height:clamp(340px,43vh,540px)}.wave-panel{grid-template-columns:1fr 1fr minmax(120px,.8fr) auto}.workspace{padding:24px 30px}.trial-quick{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1099px) and (min-width:761px){main{grid-template-columns:290px minmax(0,1fr)}.workspace-heading{display:block}.evidence-label{display:inline-block;margin-top:12px}.viewbar{flex-wrap:wrap}.result-controls{grid-template-columns:1fr auto}.result-controls select:first-child{grid-column:1/-1}.metrics{gap:10px}.metrics strong{font-size:24px}.scene-top #loading{display:none}}
@media(max-width:760px){main{display:flex;flex-direction:column}.workspace{order:0;width:100%;padding:18px 16px}aside{order:1;position:static;max-height:none;width:100%;padding:24px 18px;border-top:1px solid var(--line);overflow:visible}.workspace-nav{padding:6px 8px;gap:0}.workspace-nav a{flex:1;padding:8px;font-size:14px}.workspace-heading{align-items:flex-start}.workspace-heading h2{font-size:24px}.evidence-label{max-width:115px;font-size:12px}.scenario-strip{gap:18px}.scenario-strip span{flex:1;min-width:0}.scenario-strip strong{font-size:14px}.viewbar{gap:10px}.view-buttons{flex:1}.view-buttons button{flex:1}.segmented{width:100%}.segmented button{flex:1}.scene{height:320px}.scene-top #loading{display:none}.scene-top{left:12px;right:12px}.scene-top span:first-child{max-width:100%}.scene-bottom{left:12px;right:12px;font-size:12px}.scene-bottom span:last-child{display:none}.result-controls{grid-template-columns:1fr auto}.result-controls select:first-child{grid-column:1/-1}.metrics{grid-template-columns:1fr;gap:0;padding:4px 0}.metrics>div{display:grid;grid-template-columns:1fr auto;padding:14px 0;align-items:center;border-bottom:1px solid var(--line)}.metrics>div:last-child{border:0}.metrics strong{grid-column:2;grid-row:1/3;font-size:25px;margin:0 0 0 12px}.metrics small{font-size:13px}.trial-actions{gap:8px}.trial-actions button{flex:1 1 150px}#toast{bottom:14px}.wave-panel{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.trial-quick{grid-template-columns:1fr}.workspace-heading{display:block}.evidence-label{max-width:none;display:inline-block;margin-top:12px}.timeline{gap:8px}.timeline input{min-width:0}.scene{height:290px}.badge{font-size:12px;padding:6px 8px}.scene-top span:first-child{font-size:12px}.wave-panel{gap:10px}.result-controls{grid-template-columns:1fr}.result-controls select:first-child{grid-column:auto}.chart-help::after{content:' Swipe the chart sideways to inspect the full width.'}}
[id]:target{outline:2px solid #17657d;outline-offset:-2px}
@media(max-width:500px){header{gap:12px}.brand{min-width:0;flex:1}.badge{max-width:110px;flex-shrink:0}.workspace-nav a{padding:8px 5px}}
#trialAccountId{overflow-wrap:anywhere;user-select:all}
.mesh-comparison{overflow-x:auto;margin:16px 0}.mesh-comparison table{border-collapse:collapse;width:100%;font-size:14px}.mesh-comparison caption{text-align:left;font-weight:600;padding:8px 0}.mesh-comparison th,.mesh-comparison td{text-align:left;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}.mesh-comparison thead{background:#e5eef1}

.trial-actions input[type="file"]{max-width:18rem;font-size:14px}#trialHistory button{margin-left:.5rem}#nextSteps li{margin-bottom:.65rem}

#waveCanvas{display:block;width:100%;height:160px;border-radius:10px}#waveFallback{margin:12px 0}#waveState{font-variant-numeric:tabular-nums}.scene-top{flex-wrap:wrap;gap:6px}

.sea-choice{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}.sea-choice button[aria-pressed="true"]{background:#143c50;color:white}.sea-choice span{font-size:14px;color:#55717c}.sea-preview{position:relative;height:460px;border-radius:14px;overflow:hidden;background:#174c65}.sea-preview[hidden],#seaProvenance[hidden],#engineeringScene[hidden]{display:none}.sea-preview canvas,#sea3d{position:absolute;inset:0;width:100%;height:100%}.sea-preview canvas{touch-action:pan-y}#sea3d canvas{touch-action:none}.sea-overlay{position:absolute;left:20px;right:20px;top:20px;color:white;display:flex;justify-content:space-between;gap:10px;pointer-events:none;text-shadow:0 1px 5px #123}.sea-overlay strong{letter-spacing:.12em}.sea-overlay span{font-size:14px}.sea-controls{position:absolute;bottom:14px;left:14px;right:14px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sea-controls button,.sea-controls label{background:#f0f7f9ed;color:#163b4e;border:0;border-radius:8px;padding:10px;font-size:14px}.sea-controls label{display:flex;align-items:center;gap:7px;margin:0}.sea-controls input{width:auto;margin:0}.sea-controls button:disabled{opacity:.45}@media(max-width:650px){.sea-preview{height:360px}.sea-overlay{left:12px;right:12px;flex-direction:column;gap:4px}.sea-controls{bottom:10px;left:10px;right:10px}.sea-controls button,.sea-controls label{padding:8px;font-size:14px}}

/* Larger working viewport, with a bounded fullscreen fallback. */
.sea-preview{height:clamp(480px,68vh,820px)}.sea-preview:fullscreen,.sea-preview.is-expanded{height:100dvh;width:100vw;border-radius:0}.sea-preview.is-expanded{position:fixed;inset:0;z-index:1000}.sea-controls{padding:8px;background:#102c3acc;backdrop-filter:blur(12px);border-radius:12px}.sea-controls label{padding:0 8px}.sea-controls select{width:auto;min-height:40px;border:0;background:transparent}.sea-overlay{padding:10px;border-radius:8px;background:linear-gradient(90deg,#102c3ab8,transparent)}@media(min-width:1000px){main{grid-template-columns:270px minmax(0,1fr);max-width:2000px}.workspace{padding:18px 22px}}@media(max-width:650px){.sea-preview{height:65dvh;min-height:420px}.sea-preview.is-expanded{min-height:0}.sea-controls{gap:4px}.sea-controls button{min-height:40px}.sea-controls label{min-height:40px}}@media(max-height:500px) and (orientation:landscape){.sea-controls{flex-wrap:nowrap;overflow-x:auto}.sea-overlay{top:8px}.sea-preview{height:85dvh;min-height:260px}}

/* LW Yachts Tech — shared family identity, ocean-first workspace. */
:root{--ink:#18292f;--blue:#786143;--line:#dbd9d1;background:#f2f0e9;color:var(--ink);font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif}body{background:#f2f0e9}a{color:#786143}button,input,select,textarea{border-radius:10px!important}button{transition:background .15s,color .15s;min-height:46px}button:hover{background:#eee9de}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:#b68a4e}.primary{background:#233d46;border-color:#233d46}.primary:hover{background:#142b33}input[type=range]{accent-color:#8c7048}output{color:#786143}.muted{color:#647077}.section-label{font-size:11px;letter-spacing:.17em;color:#827058}.app-header{background:#111f26;padding:17px clamp(20px,3vw,56px);min-height:98px;border-bottom:1px solid #ffffff12}.brand{display:flex;align-items:center;gap:15px;color:#f4f0e7;text-decoration:none;letter-spacing:.23em;font-weight:500}.brand img{width:62px;height:62px;object-fit:contain}.brand .brand-wordmark{margin:0;color:#f4f0e7;font-size:22px;letter-spacing:.22em}.brand small{display:block;font-size:9px;letter-spacing:.16em;color:#a7aca9;margin-top:9px}.header-actions{display:flex;align-items:center;gap:20px}.badge{border:0;color:#bcb7aa;font-size:12px;letter-spacing:.05em;padding:0}.header-actions button{background:#d4c3a2;color:#17272e;border-color:#d4c3a2;min-width:132px}.header-actions button:hover{background:#e9dabe}.workspace-nav{background:#111f26f5;padding:6px clamp(12px,3vw,48px);gap:5px;backdrop-filter:blur(18px)}.workspace-nav a{font-size:13px;color:#d4d7d4;border-radius:0;border-bottom:2px solid transparent;padding:9px 17px}.workspace-nav a:hover{background:#ffffff08;border-bottom-color:#b7a17e}.nav-credit{margin-left:auto;align-self:center;font-size:10px;letter-spacing:.15em;color:#8e999b;white-space:nowrap}main{max-width:1920px;grid-template-columns:290px minmax(0,1fr);gap:0}aside{background:#ebe9e1;border:0;border-right:1px solid var(--line);padding:30px 22px;top:58px;max-height:calc(100dvh - 58px)}aside h1{font-size:29px;font-weight:400}aside .small{font-size:12px}.workspace{padding:32px clamp(20px,3vw,48px) 48px}.workspace-heading{margin:0 0 24px;align-items:flex-end}.workspace-heading h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(28px,3.1vw,48px);letter-spacing:-.04em;margin-top:10px;max-width:690px}.evidence-label{background:#e6dfd0;color:#655239;border:1px solid #d9ceb8;font-size:11px;max-width:155px;line-height:1.5;border-radius:6px}.scenario-strip{border-top:0;margin-bottom:15px;padding:0 0 16px;gap:40px}.scenario-strip strong{font-size:15px}.viewbar{gap:10px}.viewbar button{font-size:13px;padding:8px 12px}.segmented{background:#e4e1d8}.segmented button[aria-pressed=true]{background:#fffdf8}.sea-choice{border:0;padding:0 0 12px}.sea-choice button{font-size:13px;background:transparent;border-color:var(--line)}.sea-choice button[aria-pressed=true]{background:#233d46;border-color:#233d46;color:#fff}.sea-choice span{font-size:11px;color:#6d787c}.sea-preview{border:1px solid #ffffff65;border-radius:18px;box-shadow:0 16px 40px #172d3918;height:clamp(480px,65vh,860px)}.sea-overlay{top:24px;left:24px;right:24px}.sea-overlay strong{font-size:13px;letter-spacing:.15em}.sea-overlay span{font-size:11px;line-height:1.6}.sea-controls{border-radius:12px;background:#142731dc;border:1px solid #ffffff29;box-shadow:0 8px 24px #0002;padding:9px;gap:7px}.sea-controls button,.sea-controls select{font-size:12px;min-height:42px}.sea-controls label{font-size:12px}#seaProvenance{font-size:11px;line-height:1.5;max-width:950px;margin:14px 0 20px}.wave-panel{background:#fffdf7;border:1px solid var(--line);border-radius:14px;padding:10px 20px 14px;margin:0 0 25px;gap:12px 22px}.wave-panel p{font-size:11px}.wave-panel label{font-size:13px}.metrics{border:0;gap:16px;padding:0;margin-bottom:28px}.metrics>div{background:#e9e6dd;border:1px solid #dedbd1;padding:22px;border-radius:12px}.metrics strong{font-size:34px;font-weight:400;color:#354b52}.metrics span,.metrics small{font-size:12px}.trial-section,.results{background:#fffdf7;border:1px solid var(--line);border-radius:16px;padding:28px;margin:0 0 24px}.trial-section h2,.results h2{font-size:27px;font-weight:400}.trial-section p,.results p{font-size:14px}.trial-section th{background:#eeebe2}.input-feedback,#trialStatus{background:#e5ebe9!important;border-left-color:#7b9692}.issue{background:#f1ecdf;border-left-color:#b09971}.trial-section .settings-details{background:transparent}.audit-details{padding:6px 24px}.audit-details summary{display:list-item;color:#45595f;font-size:15px}.audit-details summary span{display:inline-block;color:#80857d;font-size:12px;font-weight:400;margin-left:12px}.audit-details[open]{padding-bottom:22px}.settings-details[open] summary{color:#786143}.app-footer{background:#111f26;color:#9da7a6;padding:28px clamp(20px,3vw,56px);display:flex;gap:20px;justify-content:space-between;font-size:11px}.app-footer>span:first-child{letter-spacing:.17em;color:#e7e3d9}.app-footer b{font-size:9px;color:#bfaa85;margin-left:12px}.app-footer a{color:#bfaa85}.skip-link{position:fixed;top:-80px;left:12px;z-index:2000;background:#fff;padding:14px}.skip-link:focus{top:12px}dialog{border:1px solid #d6d0c3;border-radius:20px;max-width:520px;width:calc(100% - 32px);max-height:85dvh;overflow:auto;padding:32px;background:#fffdf7;color:var(--ink);box-shadow:0 30px 120px #0005}dialog::backdrop{background:#0a192ac4;backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:16px;top:16px;background:transparent;border:0;font-size:26px}.install-icon{border-radius:18px;margin-bottom:20px}.install-guide{border-top:1px solid var(--line);margin-top:24px}.install-guide p{font-size:14px}.connection-notice{background:#e7d7b4;color:#493d2b;padding:10px 24px;font-size:13px;text-align:center}.is-expanded .sea-controls{bottom:max(18px,env(safe-area-inset-bottom))}.is-expanded{border-radius:0}.app-footer,.workspace-nav{padding-bottom:max(12px,env(safe-area-inset-bottom))}
@media(min-width:1600px){main{grid-template-columns:310px minmax(0,1fr)}.workspace{padding-top:38px}}
@media(max-width:1100px){main{grid-template-columns:250px minmax(0,1fr)}.workspace{padding:24px 20px}.workspace-heading{display:block}.evidence-label{max-width:none}.nav-credit{display:none}.viewbar{flex-wrap:wrap}.header-actions .badge{display:none}.metrics>div{padding:15px}.wave-panel{grid-template-columns:1fr 1fr}.trial-section,.results{padding:22px}.sea-controls{flex-wrap:wrap;max-width:calc(100% - 24px)}}
@media(max-width:760px){.app-header{padding:12px 16px;min-height:82px;align-items:center}.brand{gap:9px}.brand img{width:48px;height:48px}.brand .brand-wordmark{font-size:16px;letter-spacing:.15em}.brand small{font-size:7px;letter-spacing:.08em}.header-actions button{font-size:12px;min-width:0;padding:8px 12px}.workspace-nav{padding:4px 7px}.workspace-nav a{font-size:12px;padding:8px 10px}.workspace{padding:24px 14px}.workspace-heading h2{font-size:35px;max-width:340px}.evidence-label{display:inline-block;margin-top:12px}.scenario-strip{gap:22px}.scenario-strip strong{font-size:13px}.sea-preview{height:67dvh;min-height:460px;border-radius:14px}.sea-overlay{left:16px;right:16px;top:18px}.sea-overlay strong{font-size:11px}.sea-overlay span{font-size:10px}.sea-controls{left:12px;right:12px;bottom:12px;transform:none;width:auto;justify-content:center;gap:5px}.sea-controls button,.sea-controls select{min-height:42px;padding:6px 9px;font-size:12px}.sea-controls label{font-size:11px}.wave-panel{padding:10px 14px;gap:10px}.metrics{display:grid;grid-template-columns:1fr;gap:8px}.metrics>div{border:1px solid var(--line)!important;padding:15px}.trial-section,.results{padding:20px 16px;border-radius:12px}.audit-details{padding:6px 16px}.audit-details summary span{display:block;margin:5px 0 0}.trial-section h2,.results h2{font-size:25px}aside{position:static;width:100%;max-height:none;padding:30px 20px;border:0}.app-footer{flex-direction:column;gap:12px}dialog{padding:26px}.sea-choice{flex-wrap:wrap}#seaStatus{width:100%}.view-buttons{flex-wrap:wrap}.view-buttons button{white-space:nowrap}}
@media(display-mode:standalone){.app-header{padding-top:max(14px,env(safe-area-inset-top))}}
@media(prefers-reduced-motion:reduce){button{transition:none}}
.portable-install{color:#e2d2b7;font-size:13px;white-space:nowrap}
@media(min-width:761px){main{grid-template-columns:minmax(0,1fr) 290px}.workspace{grid-column:1;grid-row:1}aside{grid-column:2;grid-row:1;border-right:0;border-left:1px solid var(--line)}}
@media(min-width:1600px){main{grid-template-columns:minmax(0,1fr) 310px}}
.workspace-heading h2{font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;font-weight:400;line-height:1.1}
@media(max-width:360px){.brand .brand-wordmark{font-size:14px}.brand img{width:42px;height:42px}.brand small{font-size:6px}.header-actions button{padding:8px;font-size:11px}.workspace-nav a{padding:8px 6px}}

/* Configurator screenshot reference — white chrome, cool studio, navy details. */
:root{font-family:'DM Sans',sans-serif;--ink:#142832;--blue:#204b60;--line:#dfe4e6;background:#f6f7f8;color:var(--ink)}body{background:#f6f7f8}.app-header{background:#fff;color:var(--ink);min-height:100px;padding:22px 3.5%;border-bottom:1px solid var(--line)}.brand{color:var(--ink)}.brand img{display:none}.brand .brand-wordmark{color:var(--ink);font-size:26px;font-weight:600;letter-spacing:.2em}.brand small{color:var(--ink);font-weight:400;font-size:11px;letter-spacing:.21em;margin-top:9px}.header-actions{gap:40px}.header-actions .badge{color:#71828b;font-size:12px;letter-spacing:.18em}.header-actions button{background:transparent;color:var(--ink);border:0;min-width:100px;font-weight:500;padding:10px 0}.header-actions button:hover{background:#f0f3f4}.workspace-nav{background:#fffffffa;border-top:0;border-bottom:1px solid var(--line);justify-content:center;padding:0 20px;gap:36px;min-height:64px;backdrop-filter:blur(12px)}.workspace-nav a{font-size:15px;color:#60737c;padding:17px 4px;border-bottom:3px solid transparent}.workspace-nav a[aria-current],.workspace-nav a:hover{background:transparent;color:var(--ink);border-color:var(--ink)}.nav-credit{display:none}main{max-width:none;min-height:calc(100dvh - 164px);background:linear-gradient(135deg,#e7edef,#f8f9fa 65%)}.workspace{padding:44px 3vw 48px}.workspace-heading{align-items:center;margin-bottom:24px}.workspace-heading h2{font-family:'Manrope','DM Sans',sans-serif;color:var(--ink);font-weight:600;font-size:clamp(36px,3.7vw,58px);letter-spacing:-.055em;margin-top:18px;line-height:1.1}.section-label{color:#71828b;font-weight:600;letter-spacing:.13em;font-size:12px}.evidence-label{border:0;background:transparent;color:#6c7f89;font-size:12px;max-width:165px;padding:0}.scenario-strip{border-color:var(--line);color:#6c7f89}.scenario-strip strong{font-weight:500}.viewbar{align-items:center}.segmented{background:#f1f4f5;border:1px solid #d6e0e5;border-radius:28px;padding:4px}.segmented button{border-radius:24px!important;font-weight:500}.segmented button[aria-pressed=true]{background:var(--ink);color:#fff;box-shadow:none}.view-buttons button{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0!important;color:#637a85}.view-buttons button:hover{background:transparent;border-bottom-color:var(--ink);color:var(--ink)}.view-buttons .primary{color:var(--ink)}.sea-choice{margin:18px 0 14px}.sea-choice button{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0!important;padding:8px 0;margin-right:18px;color:#637a85}.sea-choice button[aria-pressed=true]{background:transparent;color:var(--ink);border-color:var(--ink)}.sea-choice span{color:#71828b}.sea-preview{box-shadow:none;border:0;border-radius:4px;height:clamp(500px,65vh,860px)}.sea-overlay strong{font-weight:500}.sea-controls{border-radius:5px;box-shadow:none;background:#132d3bdb}.sea-controls button,.sea-controls select{border-radius:4px!important}.wave-panel{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:8px 0 16px;margin-bottom:28px}.wave-panel label{font-weight:500}.wave-panel p{color:#71828b}input[type=range]{accent-color:var(--ink)}output,a{color:#204b60}.primary{background:var(--ink);border-color:var(--ink);color:#fff}.primary:hover{background:#2b4858}button,input,select,textarea{border-radius:4px!important}button:hover{background:#eef3f5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:#518ba6}.muted{color:#637a85}.metrics{gap:0;border-top:0;border-bottom:1px solid var(--line);padding-bottom:22px}.metrics>div{border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;padding:4px 24px}.metrics>div:first-child{padding-left:0}.metrics>div:last-child{border-right:0}.metrics strong{font-family:'Manrope',sans-serif;font-size:32px;font-weight:500;color:var(--ink)}.trial-section,.results{border:1px solid var(--line);border-radius:4px;background:#fff;padding:30px;margin-bottom:26px}.trial-section h2,.results h2{font-family:'Manrope',sans-serif;font-weight:500;letter-spacing:-.04em}.trial-section th{background:#f0f4f6}.input-feedback,#trialStatus{background:#f2f5f6!important;border-left-color:#8ba1ad}.issue{background:#f6f3ed;border-left-color:#a49377}.settings-details[open] summary{color:#204b60}.audit-details{padding:6px 24px;background:transparent;border-width:1px 0;border-radius:0}.audit-details summary{color:var(--ink);font-weight:500}.audit-details summary span{color:#71828b}.app-footer{background:#fff;color:#71828b;border-top:1px solid var(--line);padding:26px 3.5%;font-size:12px}.app-footer>span:first-child{color:var(--ink)}.app-footer b,.app-footer a{color:#204b60}.portable-install{color:var(--ink)}dialog{background:#fff;border:0;border-radius:8px;padding:36px}.install-guide{border-color:var(--line)}aside{background:#fff;border-color:var(--line);padding:42px 30px;top:64px;max-height:calc(100dvh - 64px)}aside h1{font-family:'Manrope',sans-serif;font-size:34px;letter-spacing:-.045em;font-weight:500;margin:24px 0}aside .small{font-size:13px}aside .section-label{color:var(--ink);font-weight:400}aside .input-feedback{padding:14px;font-size:14px}.run-actions{padding-top:20px;border-top:1px solid var(--line)}.control-tag{color:#71828b;font-weight:500}
@media(min-width:761px){main{grid-template-columns:minmax(0,1fr) 350px}.workspace{grid-column:1}aside{grid-column:2}}
@media(min-width:1500px){main{grid-template-columns:minmax(0,1fr) 430px}aside{padding:48px 38px}.workspace{padding-top:50px}}
@media(max-width:1100px) and (min-width:761px){main{grid-template-columns:minmax(0,1fr) 290px}aside{padding:32px 22px}.workspace{padding:30px 22px}.workspace-heading h2{font-size:38px}.metrics>div{padding:6px 12px}.metrics strong{font-size:25px}.workspace-heading{display:block}.evidence-label{display:block;margin-top:12px;max-width:none}}
@media(max-width:760px){.app-header{padding:18px 22px;min-height:88px}.brand .brand-wordmark{font-size:21px;letter-spacing:.16em}.brand small{font-size:9px;letter-spacing:.15em}.header-actions button{font-size:13px;min-width:0}.workspace-nav{gap:20px;min-height:56px;padding:0 16px;justify-content:space-between}.workspace-nav a{font-size:13px;padding:15px 0}.workspace{padding:28px 20px}.workspace-heading h2{font-size:40px;max-width:none;margin-top:13px}.section-label{font-size:10px}.evidence-label{margin-top:12px;font-size:11px}.sea-preview{height:64dvh;min-height:430px;border-radius:3px}.wave-panel{padding:6px 0 14px}.metrics{gap:0;padding:0}.metrics>div{padding:16px 0!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0}.metrics>div:last-child{border:0!important}.trial-section,.results{padding:24px 18px;border-radius:4px}.audit-details{padding:6px 0;background:transparent}.audit-details[open]{padding-bottom:22px}aside{position:static;max-height:none;padding:34px 24px;border-left:0;border-top:1px solid var(--line)}.app-footer{padding:24px 22px}.view-buttons button{padding:8px 7px}.sea-controls{border-radius:4px}.brand small{white-space:nowrap}}
@media(max-width:360px){.brand .brand-wordmark{font-size:18px}.brand small{font-size:8px}.workspace-nav{gap:14px}.workspace-nav a{font-size:12px}.app-header{padding:16px}.workspace{padding:24px 14px}}

/* In-page theatre works in embedded browsers and installed apps. */
.sea-choice .expand-view{margin-left:auto;color:var(--ink);font-weight:600;border:1px solid var(--line);padding:8px 14px;border-radius:4px!important}
body.visual-expanded:before{content:'';position:fixed;inset:0;background:#112630f5;z-index:999;backdrop-filter:blur(12px)}
body.visual-expanded .sea-preview.is-expanded{position:fixed;inset:16px 16px auto;z-index:1000;width:calc(100vw - 32px);height:calc(100dvh - 208px);min-height:0;max-height:none;border-radius:8px}
body.visual-expanded #wavePanel{position:fixed;z-index:1001;left:16px;right:16px;bottom:16px;height:156px;max-height:30dvh;overflow:auto;padding:8px 24px;margin:0;background:#fff;border:0;border-radius:8px;grid-template-columns:1fr 1fr minmax(120px,.7fr) auto;gap:8px 22px}
body.visual-expanded #wavePanel label{margin-top:6px}body.visual-expanded #motionReadout{position:fixed;z-index:1002;left:32px;right:32px;bottom:174px;margin:0;padding:5px 10px;background:#fff!important;border:0;border-radius:4px;font-size:11px;pointer-events:none}
body.visual-expanded .sea-overlay{padding-right:175px}body.visual-expanded #seaFullscreen{position:fixed;top:30px;right:30px;background:#fff;color:var(--ink);box-shadow:0 2px 12px #0002;min-height:44px}
@media(max-width:760px){body.visual-expanded .sea-preview.is-expanded{inset:8px 8px auto;width:calc(100vw - 16px);height:calc(100dvh - 234px)}body.visual-expanded #wavePanel{left:8px;right:8px;bottom:8px;height:190px;max-height:none;grid-template-columns:1fr 1fr;padding:8px 14px;gap:0 14px}body.visual-expanded #wavePanel p{font-size:10px;line-height:1.3}body.visual-expanded #motionReadout{bottom:200px;left:12px;right:12px;font-size:10px;padding:4px}body.visual-expanded #seaFullscreen{top:18px;right:18px;font-size:11px;padding:8px}body.visual-expanded .sea-overlay{padding-right:135px}.sea-choice .expand-view{margin-left:0}}
@media(max-height:550px){body.visual-expanded .sea-preview.is-expanded{height:calc(100dvh - 144px)}body.visual-expanded #wavePanel{height:105px;max-height:none;grid-template-columns:1fr 1fr 120px auto;padding:4px 14px}body.visual-expanded #wavePanel p{display:none}body.visual-expanded #motionReadout{bottom:116px}body.visual-expanded #wavePanel label{font-size:11px;margin:0}body.visual-expanded #wavePanel input{min-height:28px}}

.sea-preview>#seaFullscreen{position:absolute;top:20px;right:20px;z-index:3;background:#fff;color:var(--ink);box-shadow:0 2px 12px #0002;font-size:13px}.sea-preview .sea-overlay{padding-right:165px}@media(max-width:760px){.sea-preview>#seaFullscreen{top:12px;right:12px;font-size:11px;padding:8px}.sea-preview .sea-overlay{padding-right:125px}}

#seaLab input[type=checkbox]{width:auto;min-height:24px}.inspect-toggle{flex-direction:row!important;justify-content:flex-start!important;align-items:center}.compare-scenes{display:grid;grid-template-columns:1fr 1fr;gap:16px}.compare-scenes figure{margin:0;min-width:0}.compare-scenes canvas{width:100%;height:260px;display:block;background:#dbe8ed;border-radius:4px}.compare-scenes figcaption{font-size:14px;padding:10px 0}#compareChart{width:100%;background:#f7f9fa;margin-top:16px}#scenarioLab .button input[type=file]{max-width:240px}#seaLab summary{font-size:18px}#scenarioStatus,#comparisonStatus,#hydroStatus{font-size:14px}#scenarioLab input{min-width:0}@media(max-width:700px){.compare-scenes{grid-template-columns:1fr}.compare-scenes canvas{height:230px}}

.music-panel{position:fixed;right:16px;bottom:16px;z-index:3000;width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;background:#102731;color:#edf4f7;border:1px solid #607681;border-radius:10px;box-shadow:0 10px 32px #0005;padding:12px 16px}.music-panel:not([open]){width:auto}.music-panel summary{cursor:pointer;min-height:28px;font-size:16px;list-style:none}.music-panel label{color:#e3edf2;font-size:14px;margin:12px 0 6px}.music-input{display:flex;gap:8px}.music-input input{min-width:0;flex:1;background:#fff;color:#172f3a}.music-panel button{min-height:44px}.music-player iframe{display:block;width:100%;height:250px;min-height:200px;border:0;margin-top:12px;background:#000}.music-panel p{color:#d3e1e8;line-height:1.5}.music-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.music-actions a{color:#d6e5eb}.music-panel [hidden]{display:none!important}@media(max-width:520px){.music-panel{right:12px;bottom:12px;width:calc(100vw - 24px);padding:12px}.music-player iframe{height:215px}}@media print{.music-panel{display:none}}

/* A compact, touch-friendly transport bar; secondary controls open on demand. */
.sea-controls{flex-wrap:nowrap;align-items:center;gap:10px;background:#102734dc;bottom:14px;left:14px;right:14px;padding:10px 12px;border:1px solid #ffffff25;border-radius:12px}
.sea-controls .quick-sea{display:grid;grid-template-columns:1fr auto;gap:0 10px;flex:1;min-width:70px;max-width:240px;background:transparent;color:#edf3f5;padding:0 4px;font-size:14px}.quick-sea output{color:#fff;font-size:14px}.quick-sea input{grid-column:1/-1;margin:0;accent-color:#b3dce5;min-height:28px;width:100%}
#visualOptions{margin-left:auto}#visualOptions summary{cursor:pointer;min-height:44px;display:flex;align-items:center;padding:10px 14px;background:#eaf1f5;color:#173a4d;border-radius:8px;font-size:14px;white-space:nowrap}#visualOptions summary:focus-visible{outline:2px solid white;outline-offset:3px}.visual-options-panel{position:absolute;bottom:calc(100% + 8px);right:0;width:min(420px,100%);max-height:48dvh;overflow:auto;padding:16px;background:#edf3f7f5;backdrop-filter:blur(12px);color:#173a4d;border-radius:12px;box-shadow:0 8px 24px #0003}.camera-options{display:flex;flex-wrap:wrap;gap:6px}.visual-options-panel label{margin:10px 0;justify-content:space-between}.visual-options-panel input[type=number]{width:85px}.visual-options-panel p{margin:10px 0}.calibration-link{display:flex;gap:8px 20px;flex-wrap:wrap;font-size:14px;color:#607782}.calibration-link a{color:#204e64}
body.visual-expanded .sea-preview.is-expanded{inset:12px;width:calc(100vw - 24px);height:calc(100dvh - 24px);border-radius:12px}body.visual-expanded #wavePanel,body.visual-expanded #motionReadout{display:none}body.visual-expanded .sea-overlay{background:transparent}body.visual-expanded .sea-controls{left:20px;right:20px;bottom:max(20px,env(safe-area-inset-bottom));max-width:900px;margin:0 auto}body.visual-expanded #seaFullscreen{top:26px;right:26px}
@media(max-width:650px){.sea-controls{gap:6px;left:8px;right:8px;bottom:8px;padding:8px}.sea-controls #seaPlay{font-size:12px;padding:8px;min-width:60px}.sea-controls .quick-sea{font-size:12px;gap:0 4px}.quick-sea output{font-size:12px}#visualOptions summary{font-size:12px;padding:8px;width:66px;white-space:normal;text-align:center}.visual-options-panel{max-height:40dvh}.sea-controls .visual-options-panel button,.sea-controls .visual-options-panel label{font-size:14px}.sea-controls .visual-options-panel label{padding:8px}body.visual-expanded .sea-preview.is-expanded{inset:0;width:100vw;height:100dvh;border-radius:0}body.visual-expanded .sea-controls{left:8px;right:8px;bottom:max(12px,env(safe-area-inset-bottom))}body.visual-expanded #seaFullscreen{top:max(14px,env(safe-area-inset-top));right:14px}.calibration-link{font-size:13px}.sea-overlay{max-width:calc(100% - 125px)}}

.run-ended{position:absolute;inset:0;z-index:15;display:grid;place-items:center;padding:70px 20px 95px;background:#0a1b2866;backdrop-filter:blur(3px);overflow:auto}.run-ended[hidden]{display:none}.run-ended-card{width:min(460px,100%);padding:28px;background:#122b39f2;color:#eef4f6;border:1px solid #aec7d45c;border-radius:18px;box-shadow:0 20px 60px #0004}.run-ended-card .section-label{color:#c0d7e2;font-size:12px}.run-ended-card h3{font-size:clamp(24px,3vw,34px);letter-spacing:-.035em;font-weight:500;margin:14px 0}.run-ended-card p{font-size:16px;line-height:1.5}.run-ended-card .small{font-size:13px;color:#bcd0db}.restart-actions{display:flex;flex-wrap:wrap;gap:8px}.restart-actions button{min-height:48px}.run-ended~.sea-controls{z-index:16}#seaFullscreen{z-index:20}.music-panel summary{display:flex;align-items:center;justify-content:space-between;gap:24px;position:sticky;top:-12px;z-index:2;min-height:44px;background:#102731;padding:8px 0}.music-panel summary::-webkit-details-marker{display:none}.music-panel summary:focus-visible{outline:2px solid white;outline-offset:2px}#musicToggleLabel{font-size:14px;color:#c8dfe9}.music-panel[open]{scroll-padding-top:56px}body.visual-expanded .music-panel{bottom:100px}
@media(max-width:650px){.run-ended{padding:60px 12px 90px}.run-ended-card{padding:18px}.run-ended-card h3{margin:8px 0}.run-ended-card p{font-size:14px;margin:10px 0}.run-ended-card .small{font-size:12px}body.visual-expanded .music-panel{bottom:95px;max-height:calc(100dvh - 115px)}}
