*{box-sizing:border-box} :root{font-family:Segoe UI,Inter,Arial,sans-serif;color:#233537;background:#f5f6f3;font-size:13px;--ink:#233537;--muted:#748184;--teal:#155c61;--border:#dce2df;--orange:#c17b3a}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button,select,input{accent-color:var(--teal)}button:focus-visible,select:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid #3b999d;outline-offset:3px}button:disabled{opacity:.32;cursor:default}button{border:0;background:none}select{border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--ink);padding:8px 10px}input[type=range]{width:100%;height:4px;cursor:pointer;margin:12px 0 8px}input[type=number]{width:66px;background:#f2f5f3;border:1px solid transparent;border-radius:4px;padding:5px 4px;text-align:right;color:var(--ink);font-variant-numeric:tabular-nums}input[type=number]:focus{border-color:#82b9b7;outline:none}input[type=checkbox]{width:13px;height:13px;vertical-align:middle;margin:0 6px 0 0}small{font-size:10px}.header{height:70px;display:flex;align-items:center;border-bottom:1px solid var(--border);background:#fff;padding:0 26px;gap:32px}.brand{display:flex;align-items:center;gap:10px;letter-spacing:1.4px;font-size:21px;font-weight:750}.brand svg{width:41px;height:32px;stroke:var(--teal);fill:none;stroke-width:1.8}.brand-light{font-weight:350;margin-left:3px}.version{font-size:10px;align-self:flex-start;margin-top:2px;background:#edf3ef;border:1px solid #dae5df;letter-spacing:0;padding:2px 4px;border-radius:3px;color:#738b81}.project-title{display:flex;flex-direction:column;gap:4px;border-left:1px solid var(--border);padding-left:25px}.project-title span{font-weight:600}.project-title small{color:var(--muted)}.header-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.quiet{padding:8px 12px;background:#fff;border:1px solid var(--border);border-radius:6px;font-size:12px}.quiet:hover,.icon-button:hover{background:#eef3f0}.icon-button{height:29px;min-width:29px;font-size:18px;border-radius:5px;line-height:1}.header .icon-button{border:1px solid var(--border);border-radius:50%;font-size:14px;width:29px}.workspace{display:grid;grid-template-columns:288px minmax(0,1fr);max-width:1920px;margin:auto}.inspector{background:#fff;border-right:1px solid var(--border);height:calc(100vh - 70px);min-height:730px;display:flex;flex-direction:column;position:sticky;top:0}.inspector-heading{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 12px;font-size:10px;letter-spacing:1.5px;color:#687979}.tabs{display:flex;margin:0 18px;border-bottom:1px solid var(--border);gap:6px}.tabs button{padding:13px 6px 12px;flex:1;font-size:12px;color:#7b8684;border-bottom:2px solid transparent}.tabs button.active{border-bottom-color:var(--teal);color:var(--teal);font-weight:600}.editor{padding:21px 20px;overflow:auto;flex:1;scrollbar-width:thin}.field{margin-bottom:18px}.field-line{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:26px}.field-line label{font-size:12px;color:#4a5a5a}.field-value{display:flex;align-items:center;color:#8b9491;font-size:11px;gap:4px}.field-value input{font-size:12px}.field select{width:100%;margin-top:7px;font-size:12px}.subheading{display:flex;justify-content:space-between;align-items:center;margin:22px 0 12px;font-size:11px;font-weight:650}.subheading:first-child{margin-top:0}.subheading button{font-size:11px;color:var(--teal);border:1px solid var(--border);border-radius:4px;padding:4px 6px}.section-strip{display:flex;gap:5px;overflow:auto;padding:3px 0 9px;scrollbar-width:thin}.section-chip{flex-shrink:0;width:25px;height:27px;background:#f1f4f1;border:1px solid transparent;border-radius:4px;font-size:10px}.section-chip.active{color:#fff;background:var(--teal)}.section-meta{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px;margin:5px 0 8px}.section-meta button{font-size:10px;color:#a26940}.profile-canvas{width:100%;height:165px;display:block;border:1px solid #e5eae6;border-radius:6px;background:#f8faf7;touch-action:none;cursor:crosshair}.profile-note{color:#89918d;font-size:10px;line-height:1.5;margin:8px 0 15px}.checkline{font-size:11px;color:#6b7c77;margin-bottom:15px;display:flex;align-items:center}.inspector-bottom{border-top:1px solid var(--border);padding:16px 20px;display:grid;gap:8px;background:#fafbf8}.preset-label{font-size:10px;color:#7b8581}.inspector-bottom select{width:100%;font-size:12px}.text-button{padding:0;font-size:11px;color:var(--teal);text-align:left}.text-button:hover{text-decoration:underline}.inspector-bottom .text-button{margin-top:4px}.main-column{min-width:0;padding:0 24px 20px}.summary-bar{display:flex;align-items:center;height:88px;gap:34px;border-bottom:1px solid var(--border)}.summary-bar>div:not(.summary-note){min-width:100px}.summary-bar small{display:block;letter-spacing:1px;color:#7a8682;margin-bottom:7px;font-size:9px}.summary-bar strong{font-weight:550;font-size:21px;font-variant-numeric:tabular-nums;white-space:nowrap}.summary-bar strong span{font-size:11px;color:#85908c;font-weight:400;margin-left:5px}.positive{color:var(--teal)}.negative{color:#b17e48}.summary-note{margin-left:auto;display:flex;gap:7px;align-items:center;color:#7c8580;font-size:10px;white-space:nowrap}.status-dot{width:6px;height:6px;background:#ba985d;border-radius:50%}.summary-note button{font-family:Georgia,serif;font-size:10px;border:1px solid #cdd4cd;border-radius:50%;width:15px;height:15px;padding:0;margin-left:6px}.viewport{height:clamp(310px,44vh,530px);position:relative;margin-top:18px;background:#edf3ef;border:1px solid #dce6df;border-radius:9px;overflow:hidden}.viewport canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}.viewport canvas:active{cursor:grabbing}.view-toolbar{display:flex;position:absolute;top:16px;left:17px;right:16px;justify-content:space-between;align-items:center;gap:10px;pointer-events:none}.view-toolbar>*{pointer-events:auto}.segmented{background:#fff9;border:1px solid #d4e0d9;border-radius:6px;padding:3px;display:flex;gap:2px}.segmented button{padding:5px 11px;font-size:11px;color:#7b8d84;border-radius:3px}.segmented button.active{background:#fff;color:var(--teal);box-shadow:0 1px 4px #254b3b15;font-weight:600}.view-toggles{display:flex;gap:16px;font-size:10px;color:#728379}.view-toggles label{cursor:pointer}.flow-label{position:absolute;left:22px;top:76px;font-size:8px;letter-spacing:1.4px;color:#93a69c;display:flex;align-items:center;gap:9px}.flow-label>span{font-size:21px;font-weight:300;letter-spacing:0}.flow-label b{font-size:10px;letter-spacing:0;font-weight:500;color:#708d7e}.view-caption{position:absolute;top:87px;right:20px;font-size:7px;letter-spacing:1px;color:#9baea2}.scene-legend{display:flex;gap:20px;position:absolute;bottom:46px;left:21px;font-size:9px;color:#7e8d83}.scene-legend>span{display:flex;align-items:center;gap:6px}.legend-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.mass-dot{background:#bc823f}.buoy-dot{background:#298e8c}.view-hint{position:absolute;bottom:18px;left:21px;color:#94a397;font-size:9px}.reset-view{position:absolute;right:15px;bottom:14px;width:29px;height:29px;border:1px solid #cbd9ce;border-radius:5px;font-size:17px;color:#6f8779}.warning{position:absolute;top:114px;left:20px;right:20px;max-width:420px;background:#fff4dfeb;color:#966b35;border:1px solid #e3cda4;border-radius:5px;padding:7px 10px;font-size:10px;line-height:1.5}.water-panel{display:flex;align-items:center;gap:20px;border:1px solid var(--border);background:#fff;border-radius:7px;padding:16px 18px;margin-top:12px}.play-button{width:39px;height:39px;border-radius:50%;background:var(--teal);color:white;flex-shrink:0;font-size:17px}.speed-control{flex:1;max-width:620px}.speed-label{display:flex;align-items:center;justify-content:space-between;font-size:12px}.speed-label>span{color:#809089;font-size:10px}.speed-label input{font-size:13px;width:59px;background:none;padding:0;font-weight:600;color:var(--teal)}.range-ticks{display:flex;justify-content:space-between;font-size:8px;color:#99a39d}.simulation-buttons{display:grid;grid-template-columns:auto auto;align-items:center;gap:5px 10px;margin-left:15px;border-left:1px solid var(--border);padding-left:22px}.simulation-buttons label{font-size:9px;color:#7c8a82;grid-column:1 / -1}.simulation-buttons select{padding:5px 8px;font-size:11px}.simulation-buttons button{font-size:10px;padding:5px 8px}.analysis{margin-top:22px}.analysis-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.analysis-header>div{display:flex;align-items:center;gap:13px}.analysis h1{margin:0;font-size:14px;font-weight:600}.analysis-header span{font-size:9px;color:#8b9690}.compare-button{color:var(--teal);font-size:10px;border:1px solid #cbdad3;border-radius:5px;padding:7px 9px;white-space:nowrap}.compare-button.active{background:#f1e8dd;border-color:#d7c5af;color:#99672d}.motion-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0 17px}.motion-metrics>div{border-left:1px solid var(--border);padding-left:17px}.motion-metrics>div:first-child{border-left:0;padding-left:0}.motion-metrics small{font-size:10px;display:block;color:#85918a;margin-bottom:8px}.motion-metrics strong{font-size:22px;font-weight:450;font-variant-numeric:tabular-nums}.motion-metrics strong span{font-size:10px;color:#919c94;margin-left:5px;font-weight:400}.charts{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.charts>div{min-width:0}.chart-label{display:flex;justify-content:space-between;color:#738478;font-size:9px}.chart-label>span{display:flex;align-items:center;gap:6px}.chart-label i{width:5px;height:5px;border-radius:50%;display:inline-block}.chart-label small{font-size:8px;color:#a1aaa2}.charts canvas{width:100%;height:94px;display:block;margin-top:6px}.analysis-footer{display:flex;justify-content:space-between;color:#9aa49c;font-size:9px;margin-top:7px}.analysis-footer .text-button{font-size:9px}.comparison{margin-top:13px;background:#fbf5ec;border:1px solid #eadbc7;border-radius:5px;padding:9px 11px;display:flex;align-items:center;gap:12px;font-size:10px;color:#a17b4d}.comparison[hidden]{display:none}.comparison b{color:#926534;font-weight:550}.comparison button{margin-left:auto;font-size:13px}.object-tabs{display:flex;background:#f3f5f1;border-radius:5px;padding:3px;margin-bottom:16px}.object-tabs button{flex:1;font-size:11px;padding:7px 3px;color:#8b958d;border-radius:3px}.object-tabs button.active{background:white;color:var(--teal);box-shadow:0 1px 3px #14342512}.object-list{display:flex;flex-direction:column;gap:5px;margin-bottom:15px}.object-item{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;border:1px solid var(--border);border-radius:5px;font-size:11px;text-align:left}.object-item.active{border-color:#be9b72;background:#faf5ec}.object-item.air.active{border-color:#9cbbb5;background:#eff7f3}.object-item span{color:#7d8c83;font-size:10px}.object-heading{margin:18px 0 14px;display:flex;align-items:center;justify-content:space-between;font-size:12px}.delete-object{font-size:10px;color:#a27d61}.full-button{width:100%;border:1px dashed #cdd9d1;border-radius:5px;font-size:11px;padding:9px;color:var(--teal)}.editor-note{border-top:1px solid var(--border);padding-top:13px;font-size:10px;line-height:1.6;color:#8a968d;margin:17px 0 0}.lip-preview{margin:0 0 14px;width:100%;height:140px;background:#f6f9f5;border:1px solid #e3eae2;border-radius:6px;display:block;touch-action:none;cursor:crosshair}.line-options{border-top:1px solid var(--border);margin-top:20px;padding-top:15px}dialog{border:1px solid #d9e1d9;border-radius:11px;max-width:680px;width:calc(100vw - 40px);padding:26px;color:var(--ink);box-shadow:0 20px 100px #12332730}dialog::backdrop{background:#17383050;backdrop-filter:blur(3px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.modal-heading h2{font-size:18px;font-weight:550;margin:0}#modalContent{font-size:13px;line-height:1.7;color:#6f7e72}#modalContent p{margin:12px 0}#modalContent strong{color:#3b5144;font-weight:600}#modalContent img{width:100%;border-radius:7px;background:black}#modalContent ul{padding-left:20px}.export-options{display:flex;gap:12px;margin-top:20px}.export-options button{padding:10px 15px;background:var(--teal);color:#fff;border-radius:5px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#23483b;color:#fff;padding:12px 20px;border-radius:7px;box-shadow:0 8px 30px #12332525;font-size:12px;z-index:100}.toast[hidden]{display:none}
@media(min-width:1500px){.workspace{grid-template-columns:310px minmax(0,1fr)}.editor{padding:24px}.profile-canvas{height:180px}.viewport{height:49vh}.main-column{padding-left:32px;padding-right:32px}.summary-bar{gap:48px}.charts canvas{height:114px}}
@media(max-width:1100px){.workspace{grid-template-columns:258px minmax(0,1fr)}.main-column{padding:0 16px 18px}.editor{padding:17px}.summary-bar{gap:20px}.summary-bar>div:not(.summary-note){min-width:70px}.summary-note{font-size:9px}.summary-note .status-dot{display:none}.view-toggles{gap:9px}.view-toggles label{font-size:9px}.view-toggles label:last-child{display:none}.view-caption{display:none}.analysis-header>div{display:block}.analysis-header span{display:block;margin-top:4px}.water-panel{gap:12px;padding:13px}.simulation-buttons{padding-left:12px;margin-left:0}.summary-bar strong{font-size:19px}.header{padding:0 18px}}
@media(max-width:800px){.header{height:62px;gap:15px}.brand{font-size:17px;gap:6px}.brand svg{width:30px}.project-title{padding-left:14px}.header-actions{gap:5px}.header-actions .quiet{font-size:10px;padding:7px}.header-actions .icon-button{display:none}.workspace{grid-template-columns:235px minmax(0,1fr)}.inspector{min-height:740px;height:calc(100vh - 62px)}.inspector-heading{padding:12px 15px 7px}.tabs{margin:0 12px}.editor{padding:15px}.main-column{padding:0 12px 16px}.summary-bar{height:76px;gap:14px;flex-wrap:wrap}.summary-bar small{font-size:8px}.summary-bar strong{font-size:16px}.summary-bar>div:not(.summary-note){min-width:55px}.summary-note{display:none}.viewport{height:350px}.view-toolbar{top:11px;left:10px;right:10px;align-items:flex-start}.view-toggles{flex-direction:column;gap:8px}.segmented button{padding:5px 7px}.flow-label{top:74px;left:14px}.scene-legend{gap:10px;font-size:8px;left:14px}.view-hint{left:14px;max-width:230px;font-size:8px}.water-panel{flex-wrap:wrap}.speed-control{min-width:120px}.simulation-buttons{display:flex;width:100%;border-left:0;padding-left:50px}.motion-metrics{gap:7px}.motion-metrics small{font-size:8px}.motion-metrics>div{padding-left:9px}.motion-metrics strong{font-size:18px}.charts{gap:8px}.chart-label small{display:none}.analysis-header{flex-wrap:wrap;gap:9px}.analysis-footer{font-size:8px}.analysis-footer>span:nth-child(2){display:none}.comparison{flex-wrap:wrap;gap:5px 12px}}
@media(max-width:570px){.header{padding:0 12px;gap:10px}.brand .version{display:none}.project-title{font-size:11px;padding-left:10px}.project-title small{font-size:8px}.header-actions .quiet{font-size:9px;padding:6px}.header-actions #importBtn{display:none}.workspace{display:flex;flex-direction:column}.inspector{order:2;position:static;height:auto;min-height:0;border-top:1px solid var(--border);border-right:0}.editor{max-height:none}.inspector-bottom{display:flex;flex-wrap:wrap;align-items:center}.inspector-bottom select{width:170px}.inspector-heading{padding-bottom:0}.main-column{order:1;padding-bottom:18px}.summary-bar{gap:24px}.summary-note{display:flex;margin-left:auto}.viewport{height:315px}.view-toggles{flex-direction:row;gap:8px}.view-toggles label:nth-child(2){display:none}.flow-label{top:64px}.motion-metrics{margin:16px 0}.charts canvas{height:80px}.profile-canvas{height:220px}.editor .field{max-width:100%}.water-panel{gap:12px}.simulation-buttons{width:auto;padding-left:0;border-left:1px solid var(--border);padding-left:10px}.simulation-buttons label{display:none}.simulation-buttons #restart{display:none}.comparison{font-size:9px}.analysis-header>div{display:flex}.analysis-header span{margin:0}.toast{width:calc(100% - 30px);text-align:center}}
[hidden]{display:none!important}
@media(max-width:570px){.header-actions #importBtn{display:inline-block}.header-actions{gap:4px}.project-title{min-width:70px}}

.site-home{font-size:11px;color:#155c61;text-decoration:none;margin-right:8px}@media(max-width:800px){.site-home{display:none}}
