:root{--ink:#1b2a4e;--muted:#6b7aa6;--bg:#eaf9ff;--card:#fff;--line:#bfe6f5;--brand:#12b5e5;--brand2:#0a86b8;--danger:#ff5a5f;--water:#2fd0f0;--accent:#ffc83d;--gutter:16px;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--bg);-webkit-text-size-adjust:100%;height:100%;margin:0}body{overscroll-behavior:none}button,input,select{font:inherit;color:inherit}button{border:1px solid var(--line);background:var(--card);cursor:pointer;touch-action:manipulation;border-radius:10px;min-height:40px;padding:6px 14px}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}button.primary.big{min-height:52px;padding:10px 24px;font-size:18px}button.ghost{background:0 0}.danger-text{color:var(--danger)}input,select{border:1px solid var(--line);background:#fff;border-radius:10px;min-height:40px;padding:6px 10px}h1,h2,h3,h4{margin:.4em 0}.muted{color:var(--muted);font-size:13px}.info{background:#dff6ff;border-radius:10px;margin:10px 0;padding:8px 12px;font-size:14px}.notice{background:#fff6d6;border:1px solid #ffd966;border-radius:10px;padding:8px 12px;font-size:13px}.error{color:var(--danger);font-weight:600}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.row.end{justify-content:flex-end}.app{height:100%}.center{place-items:center;height:100%;display:grid}.home{max-width:760px;padding:max(var(--gutter),var(--sat)) var(--gutter) 40px;margin:0 auto}.home h1{color:var(--brand2);font-size:34px}.projects{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.projects li{background:var(--card);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.proj{text-align:left;background:0 0;border:0;flex-direction:column;padding:4px 0;display:flex}.proj span{color:var(--muted);font-size:13px}.wizard{max-width:760px;padding:max(var(--gutter),var(--sat)) var(--gutter) 90px;flex-direction:column;gap:12px;margin:0 auto;display:flex}.steps{gap:6px;margin:0;padding:0;list-style:none;display:flex}.steps li{color:var(--muted);align-items:center;gap:6px;display:flex}.steps li span{border:1px solid var(--line);background:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:13px;display:grid}.steps li.now{color:var(--ink);font-weight:600}.steps li.now span{background:var(--brand);color:#fff;border-color:var(--brand)}.steps li.done span{background:#bfe9f7}.steps li em{font-size:13px;font-style:normal}@media (max-width:560px){.steps li:not(.now) em{display:none}}.choices{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.choice{flex-direction:column;align-items:center;gap:8px;min-height:96px;padding:14px 6px;font-weight:600;display:flex}.icon{border:3px solid var(--brand);background:#bfe0f0;width:44px;height:30px;display:block}.icon.round{border-radius:50%;width:36px;height:36px}.icon.rect{border-radius:4px}.icon.custom{border-radius:40% 60% 50% 45%/55% 40% 60% 45%}.num{color:var(--muted);flex-direction:column;gap:2px;font-size:13px;display:flex}.num input,.num select{color:var(--ink);font-size:16px}.num em{margin-left:4px;font-style:normal}.volume{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px;font-size:16px}.field{background:var(--card);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.ftitle{font-weight:600}.grid2{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.stepper{align-items:center;gap:12px;display:flex}.stepper b{text-align:center;min-width:26px;font-size:20px}.stepper button{width:44px;font-size:20px}.segmented{border:1px solid var(--line);background:#fff;border-radius:12px;display:inline-flex;overflow:hidden}.segmented button{border:0;border-right:1px solid var(--line);border-radius:0}.segmented button:last-child{border-right:0}.segmented button.on{background:var(--brand);color:#fff}.segmented.small button{min-height:34px;padding:4px 14px}.soon{border:1px dashed var(--line);opacity:.7;border-radius:12px;flex-direction:column;padding:10px 16px;display:flex}.soon span{color:var(--muted);font-size:12px}.summary{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 12px 12px 28px;line-height:1.7}.wizard footer{padding:10px var(--gutter) max(10px,var(--sab));border-top:1px solid var(--line);background:#f2f7f8f2;max-width:760px;margin:0 auto;position:fixed;bottom:0;left:0;right:0}.outline-editor svg{aspect-ratio:3/2;border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;display:block}.outline-editor .grid{stroke:#e5eef1;stroke-width:.03px}.outline-editor .water{fill:#2fd0f073;stroke:var(--brand);stroke-width:.08px}.outline-editor .bad{fill:#c0392b33;stroke:var(--danger);stroke-width:.08px}.outline-editor .vertex{fill:#fff;stroke:var(--brand);stroke-width:.1px;cursor:grab}.design{grid-template:"bar bar""stage panel"1fr/1fr 380px;height:100%;display:grid;overflow:hidden}.bar{padding:max(8px,var(--sat)) 12px 8px;border-bottom:1px solid var(--line);background:#fff;grid-area:bar;align-items:center;gap:8px;display:flex}.bar .title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.stage{grid-area:stage;min-width:0;min-height:0;position:relative}.panel{border-left:1px solid var(--line);background:#fff;flex-direction:column;grid-area:panel;min-height:0;display:flex;overflow:hidden}.tabs{border-bottom:1px solid var(--line);display:flex}.tabs button{background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;flex:1}.tabs button.on{border-bottom-color:var(--brand);font-weight:700}.panel .body{flex-direction:column;gap:10px;padding:12px;display:flex;overflow:auto}.expert{color:var(--muted);align-items:center;gap:8px;margin-top:8px;font-size:13px;display:flex}.list{flex-direction:column;gap:6px;margin:6px 0;padding:0;list-style:none;display:flex}.list li{border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px;display:flex}button.link{color:var(--brand2);background:0 0;border:0;min-height:32px;padding:0;text-decoration:underline}.chamber{border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;padding:8px;display:flex}.totals{background:#eef6f8;border-radius:12px;flex-direction:column;gap:4px;margin-top:8px;padding:10px;display:flex}.totals div{justify-content:space-between;gap:8px;display:flex}.how{margin-top:8px;font-size:13px}.chip{border:1px solid var(--line);pointer-events:none;background:#ffffffeb;border-radius:999px;padding:6px 12px;font-size:14px;position:absolute;top:10px;left:10px}.toast{color:#fff;background:#1b2a4edd;border-radius:12px;max-width:90%;padding:8px 14px;font-size:14px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.canvas2d,.canvas3d{position:absolute;top:0;bottom:0;left:0;right:0}.canvas2d svg{-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.pond{fill:#2fd0f073;stroke:#12b5e5;stroke-width:3px}.zone rect,.zone ellipse{fill:#0f4e662e;stroke:#0a86b8;stroke-dasharray:6 4;stroke-width:2px;cursor:grab}.zone.sel rect,.zone.sel ellipse{stroke:#e8a317;stroke-width:3px}.zone text{fill:#0a86b8;pointer-events:none;font-size:13px}.filter rect{fill:#e8e1cf;stroke:#8a7e5b;stroke-width:2px;cursor:grab}.filter.sel rect{stroke:#e8a317;stroke-width:3px}.filter text{fill:#4b4426;pointer-events:none;font-size:13px}.fitting{cursor:grab}.fitting text{fill:#fff;pointer-events:none;font-size:13px;font-weight:700}.fitting circle{stroke:#fff;stroke-width:3px}.fitting.sel circle,.fitting.a circle{stroke:#ffd23f;stroke-width:5px}.fitting.hot{cursor:crosshair}.fitting .coord,.coord{color:var(--muted);font-size:11px;fill:#1b2a4e!important;font-weight:400!important}.port circle{fill:#555;stroke:#fff;stroke-width:2px}.port text{fill:#444;font-size:11px}.port.a circle{fill:#e8a317}.port.hot circle{cursor:crosshair}.pipe{fill:none;stroke-linejoin:round;stroke-linecap:round;cursor:pointer;opacity:.9}.pipe.sel{stroke:#ffd23f!important}.vertex{fill:#fff;stroke:#12b5e5;stroke-width:3px;cursor:grab}.dim{fill:#1b2a4e;font-size:13px}.hint{fill:#0a86b8;font-size:14px;font-weight:600}.zoom{flex-direction:column;gap:6px;display:flex;position:absolute;top:10px;right:10px}.zoom button{width:42px;padding:0;font-size:20px}.legend{background:#ffffffe0;border-radius:999px;gap:10px;padding:4px 10px;font-size:12px;display:flex;position:absolute;bottom:10px;left:10px}.legend i{border-radius:50%;width:10px;height:10px;margin-right:4px;display:inline-block}.modal{z-index:50;background:#0006;place-items:center;padding:16px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.modal .card{background:#fff;border-radius:16px;width:100%;max-width:420px;padding:18px}@media (max-width:900px){.design{grid-template:"bar""stage"1fr"panel"/minmax(0,1fr)}.panel{border-left:0;border-top:1px solid var(--line);max-height:46vh;padding-bottom:var(--sab)}.panel.closed{max-height:none}.panel .handle{background:#f4f9fb;border:0;border-radius:0;min-height:36px;display:block}.bar .title{font-size:15px}}.num .in{align-items:center;gap:4px;display:flex}.num em{margin:0}.design>*,.bar{min-width:0}.bar button{flex:none;padding:6px 10px}.bar .segmented button{padding:4px 12px}.panel .body,.tabs{min-width:0}.tabs button{min-width:0;padding:6px 4px}@media (max-width:900px){.design{width:100vw;max-width:100vw}.bar{gap:4px;padding-left:8px;padding-right:8px}.bar .title{min-width:0;font-size:14px}}.vertex.sel{fill:#ffd23f;stroke:#b26a00}.outline-editor .stroke{fill:none;stroke:var(--brand);stroke-width:.12px;stroke-linecap:round;stroke-linejoin:round}.loading{z-index:20;background:#f2f7f8f5;place-items:center;padding:16px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.loading .card{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:10px;width:100%;max-width:380px;padding:18px;display:flex}.bar-track{background:#e1ecf0;border-radius:999px;height:10px;overflow:hidden}.bar-track i{background:var(--brand);border-radius:999px;height:100%;transition:width .2s;display:block}.bar-track i.indeterminate{animation:1.2s ease-in-out infinite alternate slide}@keyframes slide{0%{margin-left:0}to{margin-left:65%}}.perf{z-index:90;color:#9fe6b0;pointer-events:none;white-space:pre-wrap;background:#000000c7;border-radius:8px;max-width:92vw;margin:0;padding:6px 8px;font:11px/1.35 ui-monospace,Menlo,monospace;position:fixed;bottom:6px;left:6px}.wall{fill:#cfd6d9;stroke:#7d8b91;stroke-width:2px}.bendpt{fill:#fff;stroke:#b26a00;stroke-width:3px;cursor:grab}.bendpt.sel{fill:#ffd23f}.addpt circle{fill:#ffffffeb;stroke:#b26a00;stroke-width:2px;cursor:copy}.addpt text{fill:#b26a00;pointer-events:none;font-size:13px;font-weight:700}.part{cursor:grab}.part rect,.part polygon,.part circle:not([fill]){fill:#fff;stroke-width:2.5px}.part line,.part polyline{stroke-width:2.5px}.part.sel rect,.part.sel polygon,.part.sel circle:not([fill]){fill:#ffd23f}.part .tee-t{fill:#1b2a4e;pointer-events:none;font-size:11px;font-weight:700}.guide{stroke:#d6336c;stroke-width:1.5px;stroke-dasharray:6 4;pointer-events:none}.guide.mid{stroke:#7a4cc2;stroke-width:2px}.pump{fill:#fff;stroke:#12b5e5;stroke-width:2px}.pump-t{fill:#12b5e5;pointer-events:none;font-size:12px;font-weight:700}.filter .chamber-on rect{stroke:#e8a317;stroke-width:3px}.focusbar{-webkit-overflow-scrolling:touch;gap:6px;padding-bottom:2px;display:flex;position:absolute;top:54px;left:10px;right:64px;overflow-x:auto}.focusbar button{white-space:nowrap;background:#ffffffeb;min-height:32px;padding:3px 10px;font-size:13px}.focusbar button.on{background:var(--brand);border-color:var(--brand);color:#fff}.xraybtn{z-index:5;background:#ffffffeb;min-height:34px;padding:4px 12px;position:absolute;top:10px;right:10px}.xraybtn.on{color:#fff;background:#1b2a4e;border-color:#1b2a4e}.canvas2d .pipe-halo{fill:none;opacity:.3;stroke-linecap:round;pointer-events:none}.canvas2d .rubber{stroke:#333;stroke-width:3px;stroke-dasharray:6 4;pointer-events:none}.canvas2d .port.floor circle{stroke-width:3px}.canvas2d .movehandle circle{fill:#fff;stroke:#0a86b8;stroke-width:2.5px;cursor:grab}.canvas2d .movehandle text{fill:#0a86b8;pointer-events:none;font-size:16px}.canvas2d .plug{fill:#c0392b;font-size:11px;font-weight:700}.canvas2d .airpump{fill:#fff;stroke:#5b6b8c;stroke-width:2.5px}.canvas2d .airpump-t{fill:#5b6b8c;font-size:10px;font-weight:700}.canvas2d .linkpipe{stroke-linecap:round}.canvas2d .bakki-tier{fill:#eaf2e3;stroke:#5a7d2a;stroke-width:2px}.canvas2d .bakki.sel .bakki-tier{stroke:#ffb703}.canvas2d .bakki-t{fill:#3d5a1c;pointer-events:none;font-size:11px;font-weight:600}.canvas2d .flowline{fill:none;stroke:#fff;stroke-opacity:.9;stroke-dasharray:5 11;stroke-linecap:round;pointer-events:none;animation:linear infinite flowmove}@keyframes flowmove{to{stroke-dashoffset:-16px}}.canvas2d .flowtxt{fill:#1b2a4e;paint-order:stroke;stroke:#fff;stroke-width:3px;pointer-events:none;font-size:10px;font-weight:700}.warn{color:#9c2a12;padding-left:18px}.pipe{opacity:.75}.pipe.sel{opacity:1}.canvas2d .pipe-halo{opacity:.2}.canvas2d.running .pipe{opacity:.9}.canvas2d.ghostpipes .pipe{opacity:.14}.canvas2d.ghostpipes .pipe.sel{opacity:1}.canvas2d.ghostpipes .pipe-halo{opacity:.05}.fishbtn{z-index:5;background:#ffffffeb;min-height:34px;padding:4px 12px;position:absolute;top:96px;left:10px}.fishbtn.on{background:#e8f4ea}.canvas2d .glassedge line{stroke:#7cc7e8;stroke-width:7px;stroke-linecap:round;opacity:.85;pointer-events:none}.canvas2d .pipetag{fill:#111;paint-order:stroke;stroke:#fff;stroke-width:3.5px;pointer-events:none;font-size:11px;font-weight:700}.viewtools{z-index:5;gap:6px;display:flex;position:absolute;top:136px;left:10px}.viewtools button{background:#ffffffeb;min-height:32px;padding:3px 10px;font-size:13px}.viewtools button.on{color:#fff;background:#1b2a4e;border-color:#1b2a4e}.canvas2d .bubble{fill:none;stroke:#7cc7e8;stroke-width:2px;pointer-events:none;animation:1.8s ease-out infinite bubbleout}@keyframes bubbleout{0%{r:5;opacity:.9}to{r:22;opacity:0}}.canvas2d .bakkifall{stroke:#5aaee0;stroke-width:5px;stroke-dasharray:3 7;stroke-linecap:round;opacity:.8;pointer-events:none}.swatch{border-radius:50%;width:26px;height:26px;min-height:26px;padding:0}button{border:2px solid var(--line);box-shadow:0 3px 0 var(--line);border-radius:14px;font-weight:600;transition:transform 60ms,box-shadow 60ms}button:active:not(:disabled){box-shadow:0 1px 0 var(--line);transform:translateY(2px)}button.primary{background:linear-gradient(#35c9f0,#12b5e5);border-color:#0a86b8;box-shadow:0 4px #0a86b8}button.primary:active:not(:disabled){box-shadow:0 2px #0a86b8}button.danger{box-shadow:0 3px #c93c40}input,select{border:2px solid var(--line);border-radius:12px}.projects li,.field,.info,.notice{border-radius:16px}.field{border:2px solid var(--line);background:#fff}.focusbar button.on,.viewtools button.on,.xraybtn.on{background:var(--brand);color:#fff;border-color:#0a86b8}.fishbtn.on{border-color:var(--accent);background:#fff0b3}.totals{border:2px solid var(--line);background:linear-gradient(#e9fbff,#d8f4ff);border-radius:16px}.canvas2d .prelim{fill:#b45309;paint-order:stroke;stroke:#fff;stroke-width:3px;pointer-events:none;font-size:12px;font-weight:700}.palette{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;display:grid}.paletteitem{flex-direction:column;align-items:center;gap:2px;min-height:64px;font-size:13px;display:flex}.paletteitem span{font-size:26px;line-height:1}.tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;padding:2px 2px 6px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{white-space:nowrap;flex-direction:column;flex:none;align-items:center;gap:1px;min-width:62px;min-height:52px;padding:4px 8px;font-size:12px;display:flex}.tabs button span{font-size:20px;line-height:1}.tabs button.on{background:var(--brand);color:#fff;border-color:#0a86b8;box-shadow:0 3px #0a86b8}.viewmenu{z-index:6;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;top:10px;right:10px}.viewmenu>button{background:#fffffff2;min-height:36px;padding:4px 12px}.viewmenu>button.on{background:var(--brand);color:#fff;border-color:#0a86b8}.viewmenu .menu{border:2px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:2px;padding:8px 12px;display:flex;box-shadow:0 6px 18px #123c5a2e}.viewmenu .menu label{white-space:nowrap;align-items:center;gap:8px;min-height:36px;display:flex}.xraybtn,.fishbtn,.viewtools{display:none!important}.tabs{border-bottom:0}.tabs button{border:2px solid var(--line);background:#fff;border-radius:14px;font-weight:600}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:0;accent-color:var(--brand);flex:none;padding:0}.tabs{flex:none;align-items:stretch;min-height:64px}.tabs button{flex-shrink:0;min-height:56px}.canvas2d .addnode circle{fill:#fff;stroke:#12b5e5;stroke-width:2px;opacity:.85;cursor:copy}.canvas2d .addnode text{fill:#12b5e5;pointer-events:none;font-size:13px;font-weight:800}.canvas2d .vertex.corner{fill:#ffc83d;stroke:#1b2a4e;stroke-width:2.5px;rx:3}.canvas2d .xform rect:first-child{fill:none;stroke:#12b5e5;stroke-width:2px;stroke-dasharray:7 5;pointer-events:none}.canvas2d .xform line{stroke:#12b5e5;stroke-width:2px}.canvas2d .xh{fill:#fff;stroke:#12b5e5;stroke-width:3px;cursor:nwse-resize}.canvas2d .xh.rot{cursor:grab}.canvas2d .xr{fill:#12b5e5;pointer-events:none;font-size:13px;font-weight:800}.depthscale{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.depthscale i{border:1px solid var(--line);border-radius:6px;flex:1;height:10px}.chip-color{vertical-align:-2px;border:1px solid #6b7aa6;border-radius:4px;width:14px;height:14px;display:inline-block}.section{border:2px solid var(--line);background:#fff;border-radius:12px;width:100%;max-width:420px}button.ghost.on{background:var(--brand);color:#fff;border-color:#0a86b8}.canvas2d .zsize rect{fill:#fff;stroke:#12b5e5;stroke-width:3px;cursor:nwse-resize}.depthcard{z-index:6;border:2px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:6px;width:210px;padding:8px 10px;display:flex;position:absolute;box-shadow:0 6px 18px #123c5a33}.depthcard input[type=range]{flex:1;min-width:0}.depthcard button{width:34px;min-height:34px;padding:0}.mphud{z-index:5;text-align:left;background:#fffffff7;border:3px solid #34c77b;flex-wrap:wrap;align-items:center;gap:5px;min-height:0;padding:6px 8px;font-size:13px;display:flex;position:absolute;top:10px;left:10px;right:150px;box-shadow:0 4px #34c77b73}.mphud.w-warn{border-color:#ffb400;box-shadow:0 4px #ffb40080}.mphud.w-danger{background:#fff5f5;border-color:#ff4d57;box-shadow:0 4px #ff4d5780}.mphud .mpname{color:#fff;background:#1b2a4e;border-radius:8px;padding:1px 8px;font-weight:900}.mpchip{border:1.5px solid var(--line);white-space:nowrap;background:#eaf9ff;border-radius:10px;padding:1px 8px}.mpchip.danger{background:#ffe3e5;border-color:#ff4d57;font-weight:800}.mpchip.warn{background:#fff1c9;border-color:#ffb400;font-weight:800}.mpchip.ok{background:#e0f8ec}.mpconf{border-radius:10px;padding:1px 8px;font-weight:800}.mpconf.low{color:#fff;background:#ff4d57}.mpconf.mid{color:#1b2a4e;background:#ffb400}.mpconf.high{color:#fff;background:#34c77b}.mpbig{background:#e9fbf1;border:3px solid #34c77b;border-radius:16px;margin-bottom:10px;padding:10px 14px}.mpbig.warn{background:#fff8e1;border-color:#ffb400}.mpbig.danger{background:#fff0f1;border-color:#ff4d57}.mpbig b{font-size:18px}.mpconfbox{background:#fff0f1;border:3px solid #ff4d57;border-radius:16px;margin-bottom:10px;padding:10px 14px}.mpconfbox.mid{background:#fff8e1;border-color:#ffb400}.mpconfbox.high{background:#e9fbf1;border-color:#34c77b}.mpconfbox .bar{border:2px solid var(--line);background:#fff;border-radius:8px;height:12px;margin:6px 0;overflow:hidden}.mpconfbox .bar i{background:#12b5e5;height:100%;display:block}.glasscard{background:#fff;border:3px solid #34c77b;border-radius:16px;margin:8px 0;padding:10px 12px}.glasscard.danger{background:#fff5f5;border-color:#ff4d57}.glasscard.dry{border-color:var(--line)}.mpstate{font-size:13px;font-weight:900}.glasscard.danger .mpstate{color:#d6242f}.glasscard.warn .mpstate{color:#b57a00}.glasscard.ok .mpstate{color:#1a9a5b}.mpgrid{grid-template-columns:1fr 1fr;gap:4px 12px;margin:8px 0;display:grid}.mpgrid div{border-bottom:1px solid #e3f2f9;justify-content:space-between;gap:6px;padding:2px 0;font-size:14px;display:flex}.mpgrid span{color:var(--muted)}.totals b.big{color:#d6242f;font-size:20px}@media (max-width:560px){.mphud{top:54px;right:10px}.viewmenu{top:10px}}.canvas2d .jet line{stroke:#2f7bff;stroke-width:3px;stroke-dasharray:6 4;opacity:.8}.canvas2d .jet polygon{fill:#2f7bff;opacity:.8}.canvas2d .jet.hit line{stroke:#ff4d57;stroke-width:4px;opacity:1}.canvas2d .jet.hit polygon{fill:#ff4d57;opacity:1}.viewmenu>button{white-space:normal;text-align:left;max-width:calc(100vw - 24px)}.viewmenu .menu{min-width:230px;max-height:70vh;overflow:auto}.viewmenu .menutitle{color:var(--muted);text-transform:uppercase;margin-top:4px;font-size:12px;font-weight:800}.viewmenu .menu .area{text-align:left;justify-content:flex-start;min-height:38px;padding:4px 10px}.viewmenu .menu .area.on{background:var(--brand);color:#fff;border-color:#0a86b8}.chambercard{z-index:6;background:#fff;border:3px solid #12b5e5;border-radius:16px;flex-direction:column;gap:6px;max-width:320px;max-height:44vh;padding:8px 12px;display:flex;position:absolute;bottom:64px;left:10px;overflow:auto;box-shadow:0 6px 18px #123c5a38}.chamberside{border-top:1px solid var(--line);padding-top:4px}.riskline{border-radius:10px;margin:6px 0;padding:4px 10px;font-size:14px}.riskline.ok{background:#e0f8ec}.riskline.warn{background:#fff1c9}.riskline.danger{background:#ffe3e5}.bend{grid-template-columns:repeat(3,1fr);gap:6px;margin:6px 0;display:grid}.bend div{border:1.5px solid var(--line);background:#eaf9ff;border-radius:10px;flex-direction:column;padding:4px 8px;font-size:13px;display:flex}.bend b{font-size:17px}.bend b.bad,b.bad{color:#d6242f}.advice{border:2px dashed var(--line);background:#f3fbff;border-radius:12px;flex-direction:column;gap:3px;margin:6px 0;padding:6px 10px;display:flex}table.thick{border-collapse:collapse;width:100%;margin:6px 0;font-size:14px}.thick th,.thick td{border:1px solid var(--line);text-align:center;padding:3px 6px}.thick th{background:#d8f4ff}.thick tr.cur td{background:#fff1c9;font-weight:800}.mpconf .short{display:none}@media (max-width:560px){.mphud{flex-wrap:nowrap;gap:4px;padding:4px 6px;font-size:12px;top:56px;left:8px;right:8px;overflow:hidden}.mphud .opt,.mpconf .long{display:none}.mpconf .short{display:inline}.mpchip{padding:0 6px}}.mpchip .short{display:none}@media (max-width:560px){.mpchip .long{display:none}.mpchip .short{display:inline}}.mphud{color:var(--ink)}.modelname{flex:1;min-width:160px}.airres{background:#e0f8ec;border:2px solid #34c77b;border-radius:10px;margin:6px 0;padding:6px 10px}.airres.tight{background:#fff1c9;border-color:#ffb400}.airres.short{background:#ffe3e5;border-color:#ff4d57}.airres.idle,.airres.off{border-color:var(--line);background:#f1f4f8}.aircard .stone{border-top:1px dashed var(--line);padding-top:4px}.endring{fill:none;stroke:#ff7a00;stroke-width:3px}.endring.filt{cursor:grab}.endring.filt circle{fill:#ff7a002e;stroke:#ff7a00;stroke-width:3px}:root{--sat:max(env(safe-area-inset-top,0px),var(--safe-area-inset-top,0px));--sab:max(env(safe-area-inset-bottom,0px),var(--safe-area-inset-bottom,0px));--sal:max(env(safe-area-inset-left,0px),var(--safe-area-inset-left,0px));--sar:max(env(safe-area-inset-right,0px),var(--safe-area-inset-right,0px))}.outline-editor .vertex{touch-action:none}.outline-editor{padding-bottom:6px}:root{--ink:#1c2733;--muted:#6b7886;--bg:#eef1f5;--card:#fff;--line:#dde3ea;--brand:#2f7df6;--brand2:#1d63d6;--danger:#e5484d;--water:#3aa0ff;--accent:#2f7df6;--soft:#f4f6f9;--shadow:0 1px 2px #1420300f,0 4px 14px #14203014;--r:10px;font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif}html,body,#root{background:var(--bg)}button{border:1px solid var(--line);min-height:36px;color:var(--ink);background:#fff;border-radius:8px;padding:6px 12px;font-weight:500;transition:background .12s,border-color .12s;box-shadow:none!important}button:hover:not(:disabled){background:var(--soft);border-color:#cfd7e0}button:active:not(:disabled){background:#e9eef4;transform:none}button.primary,.filebtn{background:var(--brand);border-color:var(--brand);color:#fff;background-image:none;font-weight:600}button.primary:hover:not(:disabled){background:var(--brand2);border-color:var(--brand2)}button.ghost{background:0 0;border-color:#0000}button.ghost:hover:not(:disabled){background:var(--soft)}button.ghost.on,button.on{color:var(--brand2);background:#e8f0fe;border-color:#b9d1fb}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}input,select{background:#fff;border:1px solid #d3dae3;border-radius:8px;min-height:36px;padding:5px 10px}input:focus,select:focus{outline-offset:1px;outline:2px solid #9ec3fb}button:focus-visible{outline-offset:1px;outline:2px solid #9ec3fb}input[type=range]{min-height:0;accent-color:var(--brand);padding:0}.segmented,.seg{background:var(--soft);border:1px solid var(--line);border-radius:9px;gap:2px;padding:2px;display:inline-flex}.segmented button,.seg button{min-height:30px;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:3px 12px;font-weight:600}.segmented button.on,.seg button.on,.segmented button[aria-checked=true]{color:var(--ink);background:#fff;border:0;box-shadow:0 1px 2px #1420301f!important}.info{color:#2a4a8a;background:#eef4ff;border-radius:8px}.notice{background:#fff7e6;border:1px solid #f3dca3;border-radius:8px}.field{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;padding:12px 0 4px}.field:first-child{border-top:0}.ftitle{letter-spacing:.2px;color:var(--ink);text-transform:none;font-size:13px;font-weight:700}h4{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:14px 0 6px;font-size:13px}.totals{background:var(--soft);border:1px solid var(--line);border-radius:10px}.list li{border:1px solid var(--line);border-radius:8px}.list li.sel{border-color:var(--brand);background:#eef4ff}button.link{color:var(--brand2)}.home h1{color:var(--ink);text-shadow:none}.projects li{box-shadow:var(--shadow);border:1px solid var(--line);border-radius:12px}.choice.on{border-color:var(--brand);box-shadow:inset 0 0 0 2px var(--brand);background:#eef4ff}.steps li.now span{background:var(--brand);border-color:var(--brand)}.design{grid-template:"bar bar bar"52px"rail panel stage"minmax(0,1fr)/76px auto minmax(0,1fr)}.bar{border-bottom:1px solid var(--line);background:#fff;gap:8px;height:52px;padding:0 10px}.bar .brand{align-items:baseline;gap:8px;min-width:0;display:flex}.bar .brand b{letter-spacing:.2px;color:var(--brand);font-size:16px}.bar .projname{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:28vw;font-size:14px;overflow:hidden}.bar .spacer{flex:1}.iconbtn{width:36px;height:36px;min-height:36px;color:var(--ink);background:0 0;border-color:#0000;border-radius:8px;place-items:center;padding:0;display:inline-grid}.iconbtn:hover:not(:disabled){background:var(--soft)}.savebtn{color:var(--muted);background:0 0;border-color:#0000;align-items:center;gap:6px;display:inline-flex}.savebtn.dirty{background:var(--brand);color:#fff;border-color:var(--brand)}.ico{flex:none;display:block}.rail{border-right:1px solid var(--line);background:#fff;flex-direction:column;grid-area:rail;gap:2px;padding:8px 6px;display:flex;overflow:auto}.rail button{min-height:58px;color:var(--muted);background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px 2px;font-size:11px;font-weight:600;display:flex}.rail button:hover{background:var(--soft);color:var(--ink)}.rail button.on{color:var(--brand2);background:#e8f0fe}.panel{border-left:0;border-right:1px solid var(--line);background:#fff;grid-area:panel;width:372px}.panel.closed{display:none}.panelhead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:8px 8px 8px 16px;display:flex}.panelhead b{font-size:15px}.panel .body{padding:12px 16px 24px}.panel .handle{display:none}.stage{background:#e9edf2;grid-area:stage}.chip{border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink);background:#fff;font-size:13px;top:12px;left:12px}.viewmenu{top:12px;right:12px}.viewmenu>button{border:1px solid var(--line);background:#fff;border-radius:9px;align-items:center;gap:6px;display:inline-flex;box-shadow:var(--shadow)!important}.viewmenu .menu{border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 30px #14203029}.viewmenu .menu .area{background:0 0;border:0}.viewmenu .menu .area.on{color:var(--brand2);background:#e8f0fe;border:0}.zoom{top:60px;right:12px}.zoom button{border:1px solid var(--line);background:#fff;width:38px;height:38px;box-shadow:var(--shadow)!important}.canvas2d .zoom{top:60px}.legend{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;bottom:12px;left:12px}.toast{background:#1c2733;border-radius:10px}.mphud{border:1px solid var(--line);color:var(--ink);background:#fff;border-left:5px solid #2fb872;border-radius:10px;max-width:calc(100% - 24px);padding:5px 10px;top:56px;left:12px;right:auto;box-shadow:var(--shadow)!important}.mphud.w-warn{background:#fffdf7;border-left-color:#f2a61d}.mphud.w-danger{border-left-color:var(--danger);background:#fff8f8}.mphud .mpname{background:var(--ink);border-radius:6px;font-size:12px}.mpchip{background:var(--soft);border:1px solid var(--line);border-radius:999px;font-size:12.5px;font-weight:600}.mpchip.ok{background:#e9f8f0;border-color:#bfe8d1}.mpchip.warn{background:#fff3d6;border-color:#f3dca3}.mpchip.danger{color:#b4232a;background:#ffe9ea;border-color:#f5b9bc}.mpconf{border-radius:999px;font-size:12px}.mpconf.low{color:#a85a00;background:#fff0e0;border:1px solid #f3cfa0}.mpconf.mid{color:#8a6a00;background:#fff7e0;border:1px solid #f0e0a6}.mpconf.high{color:#1d7a4a;background:#e9f8f0;border:1px solid #bfe8d1}.mpbig,.mpconfbox,.glasscard,.airres{border-width:1px 1px 1px 5px;border-radius:10px}.mpbig{border-color:#2fb872}.mpbig.warn{border-color:#f2a61d}.mpbig.danger,.mpconfbox{border-color:var(--danger)}.mpconfbox.mid{border-color:#f2a61d}.mpconfbox.high,.glasscard{border-color:#2fb872}.glasscard.warn{border-color:#f2a61d}.glasscard.danger{border-color:var(--danger)}.depthcard,.chambercard{border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 30px #14203029}.chambercard{border-color:var(--line)}.ground{fill:#eef1f4}.canvas2d{background:#eef1f4}.canvas2d .pond{stroke:#2f7df6}.layers .row.between{align-items:center;margin-bottom:8px}.layergroup{border:1px solid var(--line);border-radius:10px;margin:8px 0;overflow:hidden}.layergroup>header{background:var(--soft);align-items:center;gap:8px;padding:6px 8px;display:flex}.layergroup>header .muted{margin-left:auto}.layergroup ul{margin:0;padding:0;list-style:none}.layergroup li{border-top:1px solid var(--line);align-items:center;gap:6px;padding:4px 8px;display:flex}.layergroup li.off .layername{opacity:.45}.layergroup li.sel{background:#eef4ff}.eye{width:32px;height:32px;min-height:32px;color:var(--brand2);background:0 0;border-color:#0000;place-items:center;padding:0;display:inline-grid}.eye[aria-pressed=true]{color:var(--muted)}.layername{text-align:left;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;min-height:34px;padding:2px 4px;line-height:1.15;display:flex}.layername small{color:var(--muted);font-weight:400}.togglelist{flex-direction:column;gap:2px;display:flex}.switch{cursor:pointer;align-items:center;gap:10px;min-height:38px;display:flex}.switch input{opacity:0;width:0;height:0;position:absolute}.switch i{background:#c9d1db;border-radius:999px;flex:none;width:38px;height:22px;transition:background .15s;position:relative}.switch i:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.switch input:checked+i{background:var(--brand)}.switch input:checked+i:after{transform:translate(16px)}@media (max-width:900px){.design{grid-template:"bar"48px"stage"minmax(0,1fr)"rail""panel"/minmax(0,1fr)}.bar{gap:4px;height:48px;padding:0 6px}.bar .projname{max-width:22vw}.bar .brand b{display:none}.rail{border-right:0;border-top:1px solid var(--line);-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-direction:row;gap:2px;padding:4px 6px;overflow-x:auto}.rail::-webkit-scrollbar{display:none}.rail button{flex:none;min-width:64px;min-height:52px}.panel{border-right:0;border-top:1px solid var(--line);width:auto;max-height:44vh;padding-bottom:var(--sab)}.panel .handle{display:none}.panelhead{padding:4px 6px 4px 14px}.mphud{max-width:none;top:56px;left:8px;right:8px}}@media (max-width:560px){.mphud{flex-wrap:nowrap;overflow:hidden}}.zoom{transform:translateY(-50%);top:50%!important}.ctxbar{z-index:8;border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:10px;width:max-content;max-width:calc(100% - 100px);margin-inline-start:auto;margin-inline-end:auto;padding:6px 8px 6px 14px;display:flex;position:absolute;bottom:16px;left:0;right:0;box-shadow:0 8px 28px #1420302e}.ctxtitle{white-space:nowrap;text-overflow:ellipsis;max-width:26vw;font-size:13px;overflow:hidden}.ctxbtns{flex-wrap:nowrap;align-items:center;gap:4px;min-width:0;display:flex;overflow-x:auto}.cbtn{background:var(--soft);white-space:nowrap;border:1px solid #0000;border-radius:8px;align-items:center;gap:5px;min-height:34px;padding:4px 10px;font-size:13px;display:inline-flex}.cbtn:hover:not(:disabled){background:#e6ecf4}.cbtn.on{color:var(--brand2);background:#e8f0fe;border-color:#b9d1fb}.cbtn.del{color:var(--danger)}.cbtn.del:hover{background:#ffecec}.csel{min-height:34px;padding:2px 6px;font-size:13px}.addmenu{z-index:8;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:14px;right:14px}.fab{background:var(--brand);border-color:var(--brand);color:#fff;border-radius:50%;place-items:center;width:50px;height:50px;padding:0;display:grid;box-shadow:0 6px 18px #2f7df673!important}.fab:hover:not(:disabled){background:var(--brand2)}.fab.on{color:var(--ink);border-color:var(--line);background:#fff}.addlist{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;min-width:210px;max-height:62vh;padding:6px;display:flex;overflow:auto;box-shadow:0 10px 30px #14203033}.addlist button{text-align:left;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:10px;min-height:38px;display:flex}.addlist button:hover{background:var(--soft)}.canvas2d .pumpicon{cursor:pointer}.canvas2d .pumpicon.sel circle,.canvas2d .airicon.sel rect{stroke:var(--brand);stroke-width:4px}.canvas2d .pumpicon.off,.canvas2d .airicon.off{opacity:.45}.canvas2d .legend{flex-wrap:wrap;max-width:40%}@media (max-width:900px){.canvas2d .legend{display:none}.ctxbar{max-width:calc(100% - 76px);margin-inline-start:0;margin-inline-end:0;bottom:10px;left:10px;right:auto}.ctxtitle{max-width:30vw}.addmenu{bottom:10px;right:10px}.fab{width:46px;height:46px}.cbtn span{display:none}.cbtn{padding:4px 8px}}.design{grid-template-rows:auto minmax(0,1fr)}.bar{height:auto;min-height:calc(52px + var(--sat));padding-top:var(--sat);align-items:center}@media (max-width:900px){.design{grid-template-rows:auto minmax(0,1fr) auto auto}.bar{min-height:calc(48px + var(--sat))}.mphud{top:56px}}.tablewrap{overflow-x:auto}table.boq{min-width:100%;font-size:13px}.boq td.left{text-align:left}.boq small{color:var(--muted)}.boq tr.closedrow{opacity:.5}.assumptions{border:1px solid var(--line);border-radius:10px;margin-top:14px;padding:8px 12px}.assumptions summary{cursor:pointer;font-weight:700}.assumerow{align-items:flex-end;gap:8px;margin:6px 0}.assumerow .muted{flex:200px}.app{box-sizing:border-box;padding-bottom:var(--dis,0px)}.disclaimer{z-index:60;padding:5px max(10px,var(--sal)) max(5px,var(--sab));color:#6b4200;text-align:center;background:#fff4d6;border-top:1px solid #f0c36b;font-size:11px;line-height:1.3;position:fixed;bottom:0;left:0;right:0}.wizard footer{bottom:var(--dis,0px)}.langsel{border:1px solid var(--line,#c9d4d8);color:inherit;background:#fff;border-radius:8px;max-width:110px;padding:4px 6px;font-size:13px}.flowfx .jetfx path{fill:none;stroke:#2f9bff;stroke-linecap:round;stroke-dasharray:3 11;animation:.9s linear infinite jetmove}.flowfx .jetend{fill:#2f9bff;opacity:.35}@keyframes jetmove{to{stroke-dashoffset:-14px}}.flowfx .drainfx circle{fill:none;stroke:#1b3a8a;stroke-width:2px;opacity:0;transform-box:fill-box;transform-origin:50%;animation:2.1s ease-in infinite drainpull}.flowfx .drainfx.skimmer circle{stroke:#d99200}@keyframes drainpull{0%{opacity:0;transform:scale(1)}15%{opacity:.7}to{opacity:0;transform:scale(.12)}}@media (prefers-reduced-motion:reduce){.flowfx .jetfx path,.flowfx .drainfx circle{animation:none}.flowfx .drainfx circle{opacity:.35}}button,[role=tab],select,input,label{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.canvas2d svg{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.canvas2d{contain:layout paint}.panel .body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.layergroup li{content-visibility:auto;contain-intrinsic-size:auto 46px}.canvas2d.dragging .flowfx *,.canvas2d.dragging .bubble{animation-play-state:paused}.glassedge .hit{stroke:#0000;stroke-width:22px;pointer-events:stroke;cursor:pointer}.glassedge line:not(.hit){stroke:#7fd3f0;stroke-width:7px;stroke-linecap:round;opacity:.9;pointer-events:none}.glassedge .sel line:not(.hit){stroke:#1c9bd0;stroke-width:9px}.glassknob circle{fill:#ff7a00;stroke:#fff;stroke-width:3px;cursor:grab}.glassknob.glassM circle{fill:#1c9bd0}.glassknob text{fill:#fff;pointer-events:none;font-size:13px;font-weight:700}.glasscardedit{border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;margin:8px 0;padding:10px;display:flex}.glasscardedit.sel{border-color:#1c9bd0;box-shadow:0 0 0 2px #1c9bd040}.glassrange{flex-direction:column;gap:2px;display:flex}.glassrange input{width:100%}.machinezone rect{fill:none;stroke-width:2px;stroke-dasharray:7 5}.machinezone text{font-size:11px;font-weight:700}.machinezone.pumps rect{stroke:#2b7fff;fill:#2b7fff12}.machinezone.pumps text{fill:#2b7fff}.machinezone.airs rect{stroke:#18a058;fill:#18a05814}.machinezone.airs text{fill:#18a058}.mgroup{border-left:5px solid var(--gc,#2b7fff);margin-top:14px;padding-left:8px}.mgroup.airs{--gc:#18a058}.mgroup h4{margin:0 0 2px}.mgroup .sum{color:#556;font-size:12px}.runbtn{z-index:9;letter-spacing:.2px;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:10px;height:54px;padding:0 22px 0 8px;font-size:16px;font-weight:800;display:flex;position:absolute;bottom:74px;right:14px;color:#fff!important;background:linear-gradient(135deg,#19b36b,#0e9f5a)!important;box-shadow:0 8px 22px #0e9f5a80!important}.runbtn .runicon{color:#0e9f5a;background:#fff;border-radius:50%;place-items:center;width:38px;height:38px;font-size:16px;display:grid}.runbtn:not(.on){animation:2.2s ease-in-out infinite runpulse}.runbtn.on{color:#fff!important;background:linear-gradient(135deg,#ef5350,#d6302c)!important;box-shadow:0 8px 22px #d6302c73!important}.runbtn.on .runicon{color:#d6302c}@keyframes runpulse{0%,to{box-shadow:0 8px 22px #0e9f5a80,0 0 #19b36b73}50%{box-shadow:0 8px 22px #0e9f5a80,0 0 0 12px #19b36b00}}@media (max-width:900px){.runbtn{height:50px;font-size:15px;bottom:68px;right:10px}}@media (prefers-reduced-motion:reduce){.runbtn:not(.on){animation:none}}.sharedlg{z-index:80;background:#050f239e;place-items:center;padding:12px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.sharebox{width:100%;max-width:560px;max-height:calc(100dvh - 24px - var(--dis,0px));background:#fff;border-radius:18px;flex-direction:column;gap:10px;padding:14px;display:flex;overflow:auto;box-shadow:0 20px 60px #0006}.sharepreview{background:#071a33;border-radius:12px;place-items:center;min-height:160px;display:grid;overflow:hidden}.sharepreview img{width:100%;height:auto;display:block}@media (max-width:900px){.disclaimer{padding:3px 8px calc(var(--sab) * .45 + 3px);font-size:10px;line-height:1.25}.runbtn{height:48px;padding-right:16px;font-size:14px;bottom:10px;left:10px;right:auto}.runbtn .runicon{width:34px;height:34px}.ctxbar{bottom:66px}.mphud{top:50px}}@media (max-width:560px){.bar .langsel,.bar .themesel{display:none}}.hovertip{z-index:70;border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:8px;padding:4px 6px 4px 10px;font-size:13px;display:flex;position:fixed;box-shadow:0 8px 24px #0003}.hovertip button{background:var(--brand);border-color:var(--brand);color:#fff;border-radius:9px;min-height:30px;padding:2px 10px;font-weight:700}.runlock{color:#6b4200;background:#fff4d6;border-bottom:1px solid #f0c36b;justify-content:space-between;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:flex}.runlock button{color:#fff;background:#d6302c;border-color:#d6302c;min-height:30px;padding:2px 10px;font-weight:700}.ctxbar.locked{opacity:.95}.crash{flex-direction:column;gap:10px;max-width:520px;margin:12vh auto 0;padding:18px;display:flex}.crash pre{white-space:pre-wrap;background:#f1f4f8;border-radius:8px;max-height:30vh;padding:8px;font-size:11px;overflow:auto}.scenefail{text-align:center;z-index:6;background:#ffffffeb;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.taskoverlay{z-index:90;background:#0a193273;place-items:center;padding:16px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.taskoverlay .card{background:#fff;border-radius:16px;flex-direction:column;gap:8px;min-width:min(86vw,340px);padding:16px 18px;display:flex;box-shadow:0 20px 50px #00000059}.taskoverlay .bar-track{background:#e5ecf4;border-radius:999px;height:10px;overflow:hidden}.taskoverlay .bar-track i{background:linear-gradient(90deg,#2f7df6,#19b36b);border-radius:999px;height:100%;transition:width .2s;display:block}.sharewait{color:#cfe3ff;text-align:center;flex-direction:column;gap:6px;width:80%;padding:30px 0;font-size:13px;display:flex}.sharewait .bar-track{background:#ffffff2e;border-radius:999px;height:10px;overflow:hidden}.sharewait .bar-track i{background:linear-gradient(90deg,#4fd1ff,#3ddc97);border-radius:999px;height:100%;transition:width .2s;display:block}.computing{color:#33507a;background:#eef5ff;border:1px solid #cfe0f8;border-radius:12px;flex-direction:column;gap:6px;margin-bottom:8px;padding:10px 12px;font-size:13px;display:flex}.computing .bar-track{background:#d9e6f7;border-radius:999px;height:8px;overflow:hidden}.computing .bar-track i.indeterminate{background:#2f7df6;border-radius:999px;height:100%;animation:1.2s ease-in-out infinite alternate slide;display:block}.glassedge g:hover line:not(.hit){stroke:#1c9bd0;stroke-width:10px}.glasschip rect{fill:#1c9bd0;stroke:#fff;stroke-width:2px;cursor:pointer}.glasschip text{fill:#fff;pointer-events:none;font-size:12px;font-weight:700}.sharebox textarea{border:1px solid var(--line);resize:vertical;border-radius:8px;width:100%;padding:6px;font-size:12px}
