:root{--bg: #f4f5f7;--panel: #ffffff;--panel2: #f9fafb;--fg: #1d2330;--fg-muted: #667085;--line: #dfe3ea;--grid: #e8ebf0;--accent: #2e6fd8;--accent-fg: #fff;--err: #d33b33;--warn: #d99a12;--ok: #1f9d5a;--info: #4a7bd0;--liq: #2b78d4;--air: #22a07a;--heat: #e0703a;--sig: #8a5cd6;--clim: #0b9fbd;--oda: #22a07a;--sup: #4fb0ee;--eta: #d6a21e;--eha: #9b6a3c;--stagnant: #a8b0bd;--sym: #3a4458;--symfill: none;--sel: #2e6fd8;--canvas: #fbfcfd;--dot: #cfd5de;color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #14171c;--panel: #1c2027;--panel2: #222731;--fg: #e3e7ee;--fg-muted: #98a2b3;--line: #2f3542;--grid: #2a303b;--sym: #c9d1de;--symfill: #232833;--canvas: #171a20;--dot: #343b48;--stagnant: #5b6474;color-scheme:dark}}:root[data-theme=dark]{--bg: #14171c;--panel: #1c2027;--panel2: #222731;--fg: #e3e7ee;--fg-muted: #98a2b3;--line: #2f3542;--grid: #2a303b;--sym: #c9d1de;--symfill: #232833;--canvas: #171a20;--dot: #343b48;--stagnant: #5b6474;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--fg);font:13px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{font:inherit;color:var(--fg);background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:4px 10px;cursor:pointer}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-weight:600}button.small{padding:2px 8px;font-size:12px}button.icon{padding:2px 7px;background:transparent;border-color:transparent}button.icon:hover{border-color:var(--line)}button.danger:hover{border-color:var(--err);color:var(--err)}input,select,textarea{font:inherit;color:var(--fg);background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:3px 6px}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 40%,transparent);border-color:var(--accent)}.top{height:46px;display:flex;align-items:center;gap:16px;padding:0 12px;background:var(--panel);border-bottom:1px solid var(--line)}.brand{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px;min-width:0;flex:0 1 auto}.brand span{color:var(--fg-muted)}.tb{display:flex;align-items:center;gap:4px;margin-left:auto;flex-wrap:nowrap;flex:none}.tb .tbg{display:inline-flex;gap:2px}svg.ic{display:block;flex:none}.tb button{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.tb button.icon{padding:5px;border-radius:7px;color:var(--fg)}.tb button.icon:hover{background:var(--panel2);border-color:transparent;color:var(--accent)}.tb button.icon.on{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.tb .ddb .ic:last-child{opacity:.7}.dd{position:relative;display:inline-flex}.dd.split>#b-run{border-top-right-radius:0;border-bottom-right-radius:0;padding-right:10px}.dd.split>.caret{border-top-left-radius:0;border-bottom-left-radius:0;padding:4px 6px;border-left:1px solid color-mix(in srgb,var(--accent-fg) 35%,transparent)}.ddm{position:absolute;top:calc(100% + 6px);left:0;z-index:80;min-width:230px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px #0003;padding:4px;display:flex;flex-direction:column}.dd.right .ddm,.dd.split .ddm{left:auto;right:0}.ddm button{border:none;background:transparent;text-align:left;padding:7px 10px;border-radius:6px;display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--fg)}.ddm button:hover{background:var(--panel2);color:var(--accent)}.ddm button small{color:var(--fg-muted);margin-left:auto;padding-left:12px;font-size:12px}.ddm hr{border:none;border-top:1px solid var(--line);margin:4px 2px;width:auto}.ddm .ddh{padding:4px 10px 2px;font-size:11.5px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.04em}.ddm button[data-psy]:before{content:"";width:14px;flex:none;text-align:center}.ddm button[data-psy].on:before{content:"✓";color:var(--accent)}.saved{color:var(--fg-muted);font-size:12px;white-space:nowrap}.nar1,.nar2{display:none!important}@media (max-width: 1100px){.ov1{display:none!important}.ddm .nar1{display:flex!important}hr.nar1{display:block!important}.brand{max-width:220px}}@media (max-width: 900px){.ov2{display:none!important}.ddm .nar2{display:flex!important}hr.nar2{display:block!important}.saved{display:none}}.sep{width:1px;height:22px;background:var(--line);margin:0 4px}.period{color:var(--fg-muted);cursor:pointer;padding:0 6px;white-space:nowrap}.period:hover{color:var(--accent)}.climsel{max-width:150px;padding:2px 4px;font-size:12px}.climsel.fixed{color:var(--accent);border-color:var(--accent);font-weight:600}.prog{width:90px;height:6px;background:var(--line);border-radius:3px;overflow:hidden}.prog i{display:block;height:100%;width:0;background:var(--accent);transition:width .2s}body{display:flex;flex-direction:column;height:100vh;overflow:hidden}body>.top{flex:none}.palette{height:100%;box-sizing:border-box;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column}.palette input{margin:8px}#pal{overflow:auto;flex:1;padding:0 6px 16px}.pcat{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted);margin:12px 4px 4px}.pitem{display:flex;align-items:center;gap:8px;padding:3px 6px;border-radius:6px;cursor:grab;-webkit-user-select:none;user-select:none}.pitem:hover{background:var(--panel2)}.picon{width:30px;height:26px;flex:none}.center{flex:1;display:flex;flex-direction:column;min-width:0}.canvaswrap{height:100%;position:relative;min-height:120px;background:var(--canvas)}svg.canvas{width:100%;height:100%;display:block;touch-action:none;-webkit-user-select:none;user-select:none}.griddot{fill:var(--dot)}.gridline{stroke:var(--dot);stroke-width:1;opacity:.45;fill:none}.cvlegend{position:absolute;left:10px;bottom:10px;background:color-mix(in srgb,var(--panel) 92%,transparent);border:1px solid var(--line);border-radius:8px;padding:4px 8px 6px;font-size:12px;color:var(--fg);z-index:4;box-shadow:0 2px 8px #00000014}.cvlegend .lgtog{border:none;background:none;padding:0;font-size:12px;font-weight:600;color:var(--fg-muted)}.cvlegend .lgr{display:flex;align-items:center;gap:6px;margin-top:3px;white-space:nowrap}.cvlegend .lgl{fill:none;stroke-width:2.5}.lgl.k-liq{stroke:var(--liq)}.lgl.k-air{stroke:var(--air);stroke-width:5}.lgl.k-heat{stroke:var(--heat);stroke-width:2;stroke-dasharray:5 3}.lgl.k-sig{stroke:var(--sig);stroke-width:1.25;stroke-dasharray:5 3}.lgl.k-clim{stroke:var(--clim);stroke-width:1.8;stroke-dasharray:9 3 2 3}.lgl.ac-oda{stroke:var(--oda)}.lgl.ac-sup{stroke:var(--sup)}.lgl.ac-eta{stroke:var(--eta)}.lgl.ac-eha{stroke:var(--eha)}.cvlegend .lgt span{color:var(--fg-muted);font-size:11px;font-variant-numeric:tabular-nums}.cvlegend .tscale,.tsc-row .tscale{display:inline-block;width:90px;height:8px;border-radius:4px;background:linear-gradient(90deg,#285adc,#28aad2,#50be78,#f0be28,#e65a28,#be1e28)}.tsc-row{display:flex;align-items:center;gap:5px;margin:4px 0}.tsc-row>span{flex:1}.tsc-row input{width:52px;text-align:right}.tsc-row .tscale{width:60px;flex:none}.tsc-row em{font-style:normal;color:var(--fg-muted);font-size:11px}.tsc-row.unused>span{color:var(--fg-muted)}.cvlegend .lgt{cursor:pointer}.cvlegend .lgt b{font-weight:400;min-width:74px}.cvlegend .lgt span:first-of-type{min-width:22px;text-align:right}.inspector{height:100%;box-sizing:border-box;background:var(--panel);border-left:1px solid var(--line);overflow:auto;padding:10px 12px 40px}.bottom{height:260px;background:var(--panel);border-top:1px solid var(--line);display:flex;flex-direction:column}.bottom.collapsed{height:34px}.bottom.collapsed .tabbody{display:none}.tabs{display:flex;align-items:center;gap:2px;padding:4px 8px;border-bottom:1px solid var(--line)}.tabs [data-tab]{border:none;background:transparent;border-radius:5px}.tabs [data-tab].on{background:var(--panel2);box-shadow:inset 0 -2px 0 var(--accent);font-weight:600}.cnt b{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;color:#fff;font-size:11px;margin-left:3px}.cnt i.pend{font-style:normal;font-size:11px;opacity:.7;margin-left:4px}.cnt b.e{background:var(--err)}.cnt b.w{background:var(--warn)}.time{display:flex;align-items:center;gap:8px;padding:4px 12px;flex:none;background:var(--panel);border-top:1px solid var(--line)}.time[hidden]{display:none}.time input{flex:1}.time span{color:var(--fg-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.collapse{margin-left:auto}.tabbody{height:100%;box-sizing:border-box;overflow:auto;position:relative;padding:4px 8px}.empty{color:var(--fg-muted);padding:16px}.empty.ok{color:var(--ok)}.sb{fill:var(--symfill);stroke:var(--sym);stroke-width:1.6}.sb.sfill{fill:var(--sym)}.sl{stroke:var(--sym);stroke-width:1.6;fill:none;stroke-linecap:round}.sl.thick{stroke-width:2.5}.sl.faint{stroke-opacity:.35}.sl.dash{stroke-dasharray:3 2.5}.sf{fill:var(--sym)}.sf2{fill:var(--sym);opacity:.7}.st{fill:var(--sym);font-size:11px;font-weight:600}.st.small{font-size:10px}.st.tiny{font-size:8px;font-weight:500}.st.big{font-size:14px}.hit,.chit{fill:transparent}.comp{cursor:move}.comp.sel .chit{stroke:var(--sel);stroke-width:1.5;stroke-dasharray:4 3;fill:color-mix(in srgb,var(--sel) 6%,transparent)}.comp.d-error .chit{stroke:var(--err);stroke-width:2;fill:color-mix(in srgb,var(--err) 8%,transparent)}.comp.d-warn .chit{stroke:var(--warn);stroke-width:1.5;fill:color-mix(in srgb,var(--warn) 6%,transparent)}.badge.b-error{fill:var(--err)}.badge.b-warn{fill:var(--warn)}.badge.b-info{fill:var(--info)}.badget{fill:#fff;font-size:9px;font-weight:700;pointer-events:none}.clabel{fill:var(--fg);font-size:11px;font-weight:600;pointer-events:none;paint-order:stroke;stroke:var(--canvas);stroke-width:3px;stroke-linejoin:round;font-variant-numeric:tabular-nums}.clabel .cval{fill:var(--accent)}.port{stroke:var(--panel);stroke-width:1.5;pointer-events:none}.pname{fill:var(--fg-muted);font-size:8px;pointer-events:none;paint-order:stroke;stroke:var(--canvas);stroke-width:2px}svg.canvas[data-lod="0"] .port,svg.canvas[data-lod="0"] .rtag,svg.canvas[data-lod="0"] .zterm,svg.canvas[data-lod="0"] .ctl{display:none}.porthit{fill:transparent;cursor:crosshair}.pg:hover .port{stroke:var(--fg);stroke-width:2;fill-opacity:1;r:7px}.pg:hover .port.k-sin,.pg:hover .port.k-sout{r:5.5px}.wend{fill:var(--panel);stroke:var(--sel);stroke-width:2.5;cursor:grab}.wend:hover{fill:var(--sel)}.hitc,.hitc:hover{fill:transparent!important;stroke:none!important}.comp.zhl .zoneb{stroke:var(--ok);stroke-width:3;filter:drop-shadow(0 0 4px var(--ok))}.comp.zhl .chit{fill:color-mix(in srgb,var(--ok) 8%,transparent)}.ftb{position:absolute;z-index:6;display:flex;gap:2px;padding:3px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 14px #00000029}.ftb button{border:none;background:transparent;padding:5px 6px;border-radius:7px;display:flex;color:var(--fg);min-width:32px;min-height:32px;align-items:center;justify-content:center}.ftb button:hover{background:var(--panel2);color:var(--accent)}.ftbgrip{display:flex;align-items:center;padding:0 3px 0 2px;color:var(--muted, #888);cursor:grab;letter-spacing:-3px;-webkit-user-select:none;user-select:none;touch-action:none}.ftbgrip:active{cursor:grabbing}.ftb.pinned .ftbgrip{color:var(--accent)}.ftb button.danger:hover{color:var(--err)}.modebar{position:absolute;z-index:7;top:40px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:6px 8px 6px 14px;background:var(--panel);border:1px solid var(--accent);border-radius:10px;box-shadow:0 6px 18px #0000002e;max-width:calc(100% - 24px);font-size:13px}.modebar span{flex:1}.modebar button{white-space:nowrap}.modebar button:disabled{opacity:.45;cursor:default}.rsz{fill:var(--panel);stroke:var(--sel);stroke-width:1.5;cursor:nwse-resize}.rsz.k-ne,.rsz.k-sw{cursor:nesw-resize}.rsz:hover{fill:var(--sel)}.wire.dragging{opacity:.25;pointer-events:none}.wire.drop .wpath{stroke-width:7;stroke-opacity:.85;filter:drop-shadow(0 0 4px var(--ok))}.selbox{pointer-events:none;stroke-width:1.2}.selbox.win{fill:#2e6fd81a;stroke:#2e6fd8}.selbox.cross{fill:#1f9d5a1a;stroke:#1f9d5a;stroke-dasharray:6 4}ul.sellist{max-height:300px;overflow:auto;padding-left:18px;font-size:12px}.grpbox rect{fill:color-mix(in srgb,var(--accent) 4%,transparent);stroke:color-mix(in srgb,var(--fg) 55%,transparent);stroke-width:1.2;stroke-dasharray:6 4;pointer-events:none}.grpbox.sel rect{stroke:var(--accent);stroke-width:1.8}.grplab{fill:color-mix(in srgb,var(--fg) 55%,transparent);font-size:12px;font-weight:600;cursor:move;paint-order:stroke;stroke:var(--canvas);stroke-width:3px}.grpbox.sel .grplab{fill:var(--accent)}.grpfs input.mixed{opacity:.5}.rubber,.rubend{pointer-events:none}.rubend{fill:var(--sel)}.wire:hover .wpath{filter:drop-shadow(0 0 2px var(--sel))}.ctxmenu{position:fixed;z-index:70;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #0003;padding:4px;display:flex;flex-direction:column;min-width:190px}.ctxmenu button{border:none;background:transparent;text-align:left;padding:6px 10px;border-radius:5px}.ctxmenu button:hover{background:var(--panel2);color:var(--accent)}.port.k-liq{fill:var(--liq)}.port.k-air{fill:var(--air)}.port.k-heat{fill:var(--heat)}.port.k-sin,.port.k-sout{fill:var(--sig)}.port.k-cin,.port.k-cout{fill:var(--clim)}.port:not(.conn){fill-opacity:.45}.port.ok{stroke:var(--ok);stroke-width:3;fill-opacity:1}.port.bad{opacity:.2}.pg.hide .port{opacity:0;transition:opacity .12s}.pg.hide.hov .port,.pg.hide:hover .port,.pg.hide .port.ok{opacity:1}.pg.hide.hov .port.bad{opacity:.2}.wire .wpath{fill:none;stroke-width:2.5;stroke-linejoin:round}.wire .whit{fill:none;stroke:transparent;stroke-width:10;cursor:pointer}.wire.k-liq .wpath{stroke:var(--liq)}.wire.k-air .wpath{stroke:var(--air);stroke-width:5}.wire.k-heat .wpath{stroke:var(--heat);stroke-width:2;stroke-dasharray:5 3}.wire.k-sin .wpath,.wire.k-sout .wpath{stroke:var(--sig);stroke-width:1.25;stroke-dasharray:5 3}.wire.k-cin .wpath,.wire.k-cout .wpath{stroke:var(--clim);stroke-width:1.8;stroke-dasharray:9 3 2 3}.wire.faint,.comp.faint,.ctl.faint{opacity:.3}.sigref{fill:var(--sig);font-size:10.5px;font-weight:600;paint-order:stroke;stroke:var(--canvas);stroke-width:3px;cursor:pointer}.wire.ref .wpath{stroke-dasharray:none}.layerbar{position:absolute;left:10px;top:8px;display:flex;gap:4px;z-index:4;flex-wrap:wrap;max-width:calc(100% - 20px)}.layerbar .lyr{font-size:12px;padding:2px 9px;border-radius:12px;background:var(--panel);box-shadow:0 1px 3px #00000014}.layerbar .lyr.v2{border-color:var(--accent);color:var(--accent);font-weight:600}.layerbar .lyr.v1{border-color:var(--accent);border-style:dashed;color:var(--accent)}.layerbar .lyr.v0{color:var(--fg-muted);text-decoration:line-through}.comp.st-ok .chit{fill:color-mix(in srgb,var(--ok) 14%,transparent);stroke:var(--ok);stroke-width:1.5}.comp.st-warn .chit{fill:color-mix(in srgb,var(--warn) 18%,transparent);stroke:var(--warn);stroke-width:1.5}.comp.st-error .chit{fill:color-mix(in srgb,var(--err) 16%,transparent);stroke:var(--err);stroke-width:2}.wire.sel .wpath{stroke-width:4;filter:drop-shadow(0 0 2px var(--sel))}.flowarrow{stroke:var(--panel);stroke-width:.8;pointer-events:none}.wlabel{font-size:9px;fill:var(--fg-muted);pointer-events:none}.rubber{stroke-width:2;stroke-dasharray:4 3}.rubber.k-liq{stroke:var(--liq)}.rubber.k-air{stroke:var(--air)}.rubber.k-heat{stroke:var(--heat)}.rubber.k-sig{stroke:var(--sig)}.rubber.k-clim{stroke:var(--clim)}.arrowhead{fill:var(--sym)}.insp-h{margin-bottom:8px}.insp-h .namerow{display:flex;gap:6px;align-items:center}.insp-h .tag{width:76px;flex:none;font-weight:700;font-size:14px;text-align:center;color:var(--accent)}.insp-h .name{width:100%;font-size:15px;font-weight:600;border-color:transparent;background:transparent;padding:3px 4px}.insp-h .name.static{padding:3px 0}.insp-h .name:hover{border-color:var(--line)}.insp-h .type{color:var(--fg-muted);padding:0 4px}.insp-h .btns{display:flex;gap:4px;margin-top:6px}fieldset{border:1px solid var(--line);border-radius:8px;margin:10px 0;padding:6px 10px 8px}legend{color:var(--fg-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:0 4px}label.row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0}label.row>span:first-child{flex:1;color:var(--fg)}label.row select,label.row input[type=date]{max-width:170px}label.col{display:flex;flex-direction:column;gap:3px;margin:4px 0}label.col textarea{width:100%;font-family:ui-monospace,Consolas,monospace;font-size:12px;resize:vertical}.numwrap{display:flex;align-items:center;gap:4px}.numwrap input{width:90px;text-align:right}.numwrap em{color:var(--fg-muted);font-style:normal;min-width:34px;font-size:12px}.help{color:var(--fg-muted);font-size:11.5px;margin:0 0 4px}.help.top{margin:6px 0}.prod{display:flex;flex-direction:column;gap:4px;margin:8px 0}.prod select{max-width:200px}.prow{display:grid;grid-template-columns:12px 1fr 1.3fr;gap:6px;align-items:center;margin:2px 0;font-size:12px}.prow .pto button.icon{padding:0 4px;color:var(--err)}.prow .pto{color:var(--fg-muted)}.prow .pto button.icon.pin{color:var(--fg-muted);margin-left:4px}.prow .pto button.icon.pin.on{color:var(--accent)}.prow.hxrow{grid-template-columns:1fr 1fr 20px}.prow.hxrow>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prow.hxrow input.hxname{font-size:12px;padding:1px 4px;min-width:0}.hxcol{display:inline-flex;align-items:center;gap:6px}.hxcol input[type=color]{width:36px;height:22px;padding:0 2px}.pk{width:9px;height:9px;border-radius:50%;display:inline-block}.pk.k-liq{background:var(--liq)}.pk.k-air{background:var(--air)}.pk.k-heat{background:var(--heat)}.pk.k-sin,.pk.k-sout{background:var(--sig)}.pk.k-cin,.pk.k-cout{background:var(--clim)}table.vals,table.kpi{width:100%;border-collapse:collapse;font-size:12px}table.vals td,table.kpi td{padding:2px 3px;border-bottom:1px solid var(--grid)}td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}td.dim,td.u{color:var(--fg-muted)}.dg .s-error b{color:var(--err)}.dg .s-warn b{color:var(--warn)}.dg .tx,.diags .tx{color:var(--fg-muted);font-size:12px}.quick{display:flex;gap:4px;margin:2px 0 6px}ul.loads{padding-left:16px;margin:4px 0}table.diags{width:100%;border-collapse:collapse}table.diags td{padding:5px 6px;border-bottom:1px solid var(--grid);vertical-align:top}table.diags tr{cursor:pointer}table.diags tr:hover{background:var(--panel2)}.diags .sev{width:22px;font-size:14px}.diags .nm{width:130px;font-weight:600}.diags .when{width:150px;color:var(--fg-muted);font-size:12px}@media (max-width: 1100px){.diags .nm{width:90px;font-size:12px}.diags .when{width:95px;font-size:11px}}.diags .s-error b{color:var(--err)}.diags .s-warn b{color:var(--warn)}.diags .ex{color:var(--fg-muted)}.legend{display:flex;flex-wrap:wrap;gap:4px 12px;padding:2px 0 4px;font-size:12px}.lg i,.ctip i{display:inline-block;width:10px;height:3px;margin-right:4px;vertical-align:middle}.lg.hint{color:var(--fg-muted);margin-left:auto}canvas.chart{display:block;cursor:crosshair}.ctip{position:absolute;display:none;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:6px 8px;font-size:12px;pointer-events:none;box-shadow:0 4px 12px #0000001f;z-index:3}.sumhead{color:var(--fg-muted);margin:4px 0 8px}.tiles{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}.tile{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:8px 12px;min-width:150px}.tl{color:var(--fg-muted);font-size:12px}.tv{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.tabbody table.kpi{max-width:640px}.tabbody table.kpi th{text-align:left;padding-top:8px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0e146b;display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:var(--panel);border-radius:12px;width:min(760px,94vw);max-height:88vh;display:flex;flex-direction:column;box-shadow:0 16px 48px #0000004d}.modal-h{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line)}.modal-h h3{margin:0;font-size:16px}.modal-b{padding:12px 16px;overflow:auto}.modal-f{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid var(--line)}.modal-f:empty{display:none}.tpls,.choices{display:grid;gap:8px}.tpls button,.choices button{text-align:left;padding:10px 12px;display:flex;flex-direction:column;gap:2px}.tpls small{color:var(--fg-muted)}.prevwrap{overflow:auto;max-height:180px;border:1px solid var(--line);border-radius:6px;margin:6px 0 10px}table.prev{border-collapse:collapse;font-size:11px}table.prev th,table.prev td{padding:2px 6px;border-bottom:1px solid var(--grid);white-space:nowrap;text-align:right}table.prodlist{width:100%;border-collapse:collapse}table.prodlist td,table.prodlist th{text-align:left;padding:3px 6px;border-bottom:1px solid var(--grid)}.helplist li{margin:6px 0}.toasts{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:60;max-width:420px}.toast{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--info);border-radius:8px;padding:9px 12px;box-shadow:0 6px 20px #0000002e;transition:opacity .3s}.toast.t-error{border-left-color:var(--err)}.toast.t-ok{border-left-color:var(--ok)}.toast.out{opacity:0}@media (max-width: 900px){.brand{display:none}}pre.err{white-space:pre-wrap;background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:8px;color:var(--err);font-size:12px}.vtx{fill:var(--panel);stroke:var(--sel);stroke-width:2;cursor:move}.vtx:hover{fill:var(--sel)}.rubv{fill:var(--panel);stroke:var(--sel);stroke-width:1.5;pointer-events:none}polyline.rubber{fill:none}.guide{stroke:var(--ok);stroke-width:1;stroke-dasharray:3 3;pointer-events:none}fieldset.fold>legend{cursor:pointer;-webkit-user-select:none;user-select:none}fieldset.fold>legend:before{content:"▾";display:inline-block;width:1.1em;font-size:13px}fieldset.fold.shut>legend:before{content:"▸"}fieldset.fold>legend:hover{color:var(--accent)}fieldset.fold.shut{padding-bottom:0}fieldset.fold.shut>:not(legend){display:none!important}.help.top.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer}.help.top{cursor:pointer}.pcat{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:4px;border-radius:5px;padding:3px 4px;margin:6px 4px 2px}.pcat:hover{background:var(--panel2);color:var(--accent)}.pcat:before{content:"▾";width:1em;font-size:13px}.pcat.shut:before{content:"▸"}.pcat small{margin-left:auto;opacity:.7;text-transform:none}.palbar{display:flex;gap:4px;align-items:center;margin:8px 8px 0}.palbar input{flex:1;margin:0;min-width:0}.mainwrap.nopal .palette,.mainwrap.noinsp .inspector{display:none}.tb button.on{background:var(--panel2);color:var(--accent)}.wire.k-air.ac-oda .wpath{stroke:var(--oda)}.wire.k-air.ac-sup .wpath{stroke:var(--sup)}.wire.k-air.ac-eta .wpath{stroke:var(--eta)}.wire.k-air.ac-eha .wpath{stroke:var(--eha)}.wire.k-air.ac-mix .wpath{stroke:var(--err);stroke-dasharray:8 4}.acl{font-weight:600}.acl.ac-oda{color:var(--oda)}.acl.ac-sup{color:var(--sup)}.acl.ac-eta{color:var(--eta)}.acl.ac-eha{color:var(--eha)}.acl.ac-mix{color:var(--err)}svg.canvas.picking,svg.canvas.picking *{cursor:crosshair!important}.ctlink{fill:none;stroke:var(--sig);stroke-width:1;stroke-dasharray:2 3;pointer-events:none;opacity:.7}.ctl.sel .ctlink{stroke-width:1.8;opacity:1}.ctlpt{fill:var(--panel);stroke:var(--sig);stroke-width:1.5;pointer-events:none}.ctlt{fill:var(--sig);font-size:8px;font-weight:700;pointer-events:none}.row.mpt{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin:4px 0}.row.mpt .mptv{font-size:12px;text-align:right;font-weight:600}em.warn{color:var(--warn)}.ctrlsum{background:var(--panel2);border-radius:8px;padding:8px 10px;margin:8px 0;font-size:12.5px;display:flex;flex-direction:column;gap:4px}.ctrlsum.fold>.fhead{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;padding-left:1.1em;display:flex;flex-direction:column;gap:4px}.ctrlsum.fold>.fhead:before{content:"▾";position:absolute;left:0;top:0;font-size:13px}.ctrlsum.fold.shut>.fhead:before{content:"▸"}.ctrlsum.fold>.fhead:hover:before{color:var(--accent)}.ctrlsum.fold.shut>.fbody{display:none}ul.mptl{margin:4px 0;padding-left:18px;font-size:12px}.bldframe{fill:color-mix(in srgb,var(--accent) 4%,transparent);stroke:var(--fg-muted);stroke-width:1.6;stroke-dasharray:9 6;stroke-linejoin:round;pointer-events:none}.bldhit{fill:none;stroke:transparent;stroke-width:14;pointer-events:stroke;cursor:move}.bldname{fill:var(--fg-muted);font-size:13px;font-weight:600;cursor:move}.bldsub{font-weight:400;font-size:11px}.bld.sel .bldframe{stroke:var(--sel);stroke-width:2.4}.bld.d-warn .bldframe{stroke:var(--warn)}.bld.d-error .bldframe{stroke:var(--err)}.pvx{fill:var(--panel);stroke:var(--sel);stroke-width:2;cursor:move}.pvx:hover{fill:var(--sel)}.pmid{fill:var(--panel);stroke:var(--sel);stroke-width:1.2;opacity:.75;cursor:copy}.pmid:hover{fill:var(--sel);opacity:1}.rubber.shape{stroke:var(--sel);stroke-width:1.6;fill:color-mix(in srgb,var(--sel) 6%,transparent)}.rubv.first{fill:var(--ok)}.anglbl{fill:var(--sel);font-size:11px;font-weight:600;pointer-events:none;paint-order:stroke;stroke:var(--panel);stroke-width:3}.zterm{pointer-events:none}.zterm .zbar{stroke:var(--fg);stroke-width:6;stroke-linecap:round}.zterm .zarr{stroke:var(--fg);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.rtag rect{stroke:none}.rtag text{font-size:8px;font-weight:700;fill:#fff;pointer-events:none}.rtag.r-sup rect{fill:var(--sup)}.rtag.r-oda rect{fill:var(--oda)}.rtag.r-eta rect{fill:var(--eta)}.rtag.r-eha rect{fill:var(--eha)}.jdot{stroke:var(--bg);stroke-width:1.5}.jdot.k-liq{fill:var(--liq)}.jdot.k-air{fill:var(--air)}.jdot.r-oda{fill:var(--oda)}.jdot.r-sup{fill:var(--sup)}.jdot.r-eta{fill:var(--eta)}.jdot.r-eha{fill:var(--eha)}.junction.sel .jdot{stroke:var(--sel);stroke-width:2.5}.junction .fend{fill:none;stroke:var(--fg-muted);stroke-width:1.5;stroke-dasharray:3 2}.junction.freeend:hover .fend,.junction.freeend.sel .fend{stroke:var(--accent);stroke-dasharray:none}.portghost{fill-opacity:.5;stroke:var(--accent);stroke-width:2;pointer-events:none}.portghost.k-liq{fill:var(--liq)}.portghost.k-air{fill:var(--air)}.portghost.k-heat{fill:var(--heat)}.portghost.k-sin,.portghost.k-sout{fill:var(--sig)}.portghost.k-cin,.portghost.k-cout{fill:var(--clim)}.zoneb{fill:none;stroke-width:1.6}.zonec .chit{fill:transparent}.unitsel{font-size:11px;padding:0 2px;margin-left:4px;border:1px solid var(--line);border-radius:4px;background:var(--panel);color:var(--fg-muted)}.unitsel.own{color:var(--accent);border-color:var(--accent);font-weight:600}#pspeed{font-size:12px;padding:1px 4px;border:1px solid var(--line);border-radius:4px;background:var(--panel);color:var(--fg)}.ploop{display:flex;align-items:center;gap:2px;color:var(--fg-muted);font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.ploop input{margin:0}.wk{margin:4px 0 6px}.wkbar{display:flex;align-items:center;gap:3px;font-size:11.5px;color:var(--fg-muted);margin-bottom:4px}.wkbar button{min-width:30px;padding:1px 4px;background:color-mix(in srgb,var(--accent) calc(var(--v) * 85%),var(--panel2));color:var(--fg)}.wkbar button.primary{outline:2px solid var(--accent);outline-offset:1px}.wkg{border-collapse:collapse;width:100%;table-layout:fixed;-webkit-user-select:none;user-select:none}.wkg th{font-size:9.5px;font-weight:500;color:var(--fg-muted);padding:0;text-align:left}.wkg tr>th:first-child{width:14px;text-align:center}.wkg td{height:14px;padding:0;border:1px solid var(--panel);background:color-mix(in srgb,var(--accent) calc(var(--v) * 85%),var(--panel2))}.wk.edit .wkg td{cursor:crosshair}.wk.edit .wkg td:hover{outline:1px solid var(--fg)}.aidlg textarea{width:100%;box-sizing:border-box;font:12px/1.4 ui-monospace,Consolas,monospace}.aidlg label.col{margin:8px 0}.aidlg .btns{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.airep{font-size:12px;max-height:180px;overflow:auto}.airep .ok{color:var(--ok);font-weight:600}.airep .err{color:var(--err);font-weight:600}.airep li.err{color:var(--err)}.airep li.warn{color:var(--warn)}.indbox{fill:var(--panel);stroke:var(--accent);stroke-width:1.2;filter:drop-shadow(0 1px 2px rgba(0,0,0,.18))}.indt{fill:var(--fg-muted);font-size:10px;font-weight:600}.indl{fill:var(--fg-muted);font-size:10.5px}.indv{fill:var(--fg);font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums}.indu{fill:var(--fg-muted);font-size:10px;font-weight:500}.indline{stroke:var(--accent);stroke-width:1;stroke-dasharray:3 3;opacity:.55}.logline{stroke:var(--sig);stroke-width:.8;stroke-dasharray:2 4;opacity:.4}.srced .chips{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}.chip{display:inline-flex;align-items:center;gap:2px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:1px 2px 1px 8px;font-size:11px}.chip .icon{padding:0 4px}.srced select{width:100%}.logtbl{max-height:60vh;overflow:auto;font-size:11.5px}.logtbl table{border-collapse:collapse}.logtbl th,.logtbl td{border-bottom:1px solid var(--line);padding:2px 6px;white-space:nowrap}.logtbl th{position:sticky;top:0;background:var(--panel);text-align:right}svg.hx{display:block}.hxbg{fill:var(--panel)}.hxfog{stroke:none}.hxfogl{stroke:var(--grid);stroke-width:1.2}.hxg{stroke:var(--grid);stroke-width:1}.hxg2{stroke:var(--grid);stroke-width:.6;opacity:.55}.hxh{fill:none;stroke:var(--fg-muted);stroke-width:.7;opacity:.42}.hxh.sub{stroke-width:.5;opacity:.2}.hxrh{fill:none;stroke:var(--info);stroke-width:.9;opacity:.55}.hxrh.mid{opacity:.8}.hxrh.sat{stroke-width:2.2;opacity:1}.hxframe2{fill:none;stroke:var(--fg-muted);stroke-width:1;opacity:.55}.hxtk{stroke:var(--fg-muted);stroke-width:1;opacity:.7}.hxa{fill:var(--fg-muted);font-size:10.5px;font-variant-numeric:tabular-nums}.hxa.ax{font-weight:600;fill:var(--fg);opacity:.8}.hxa.rh,.hxa.h,.hxa.zone,.hxa.hr{paint-order:stroke;stroke:var(--panel);stroke-width:3.5px;stroke-linejoin:round}.hxa.rh{fill:var(--info);font-size:10px;font-weight:600}.hxa.rh.sat{font-size:10.5px}.hxa.h{font-size:9.5px;font-style:italic}.hxa.h.ttl{font-weight:600}.hxcloud{fill:var(--fg-muted);opacity:.22}.hxp{fill:none;stroke-width:2}.hxpt{fill:var(--accent);stroke:var(--panel);stroke-width:1.2}.comp svg.hx{overflow:hidden}.comp svg.hx .hxa{font-size:9px}.comp svg.hx .hxl{font-size:9.5px}.comp svg.hx .hxbg{fill:var(--canvas)}.comp svg.hx .hxa,.comp svg.hx .hxl{stroke:var(--canvas)}.comp svg.hx .hxa.ax,.comp svg.hx .hxa:not(.rh):not(.h):not(.zone):not(.hr){stroke:none}.hxl{font-size:10.5px;font-weight:600;paint-order:stroke;stroke:var(--panel);stroke-width:3px}.measline{stroke:var(--accent);stroke-width:1.2;stroke-dasharray:4 3;opacity:.75;pointer-events:none;fill:none;stroke-linejoin:round}.measline.drag{opacity:1;stroke-width:1.6}.mlhit{stroke:transparent;stroke-width:10;cursor:pointer;pointer-events:stroke;fill:none}.mlv{fill:var(--panel);stroke:var(--accent);stroke-width:1.5;cursor:move}.mlv:hover{fill:var(--accent)}.mlmid{fill:var(--panel);stroke:var(--accent);stroke-width:1.2;cursor:grab;opacity:.85}.mlmid:hover{fill:var(--accent);opacity:1}.comp .indbox{cursor:crosshair}.comp .indt{cursor:move}.comp>.indbox.hxframe{cursor:move}.comp svg.hx{cursor:crosshair}.comp .indl,.comp .indv{cursor:crosshair}.mlend{fill:var(--panel);stroke:var(--accent);stroke-width:1.6;cursor:grab}.mlx{display:none;cursor:pointer}.sl.thin{stroke-width:.7;opacity:.7}.sdmpb{stroke-width:.8}.sdmp line{stroke:var(--sym);stroke-width:1.4;stroke-linecap:round}.sdmp circle{fill:var(--sym)}.sdmp.cl line{stroke:var(--accent);stroke-width:1.8}.sdmp.cl circle{fill:var(--accent)}.seccard{cursor:move}.seccard text{pointer-events:none}.secl{fill:var(--fg-muted);font-size:9.5px}.secv{fill:var(--fg);font-size:9.5px;font-variant-numeric:tabular-nums}.secdfr{fill:color-mix(in srgb,var(--accent) 18%,transparent)}.sech{font-size:11px;color:var(--fg-muted);margin:8px 0 2px}table.sect th button{font-size:10.5px;padding:0 2px;white-space:nowrap}table.sect tr.dfr td{background:color-mix(in srgb,var(--accent) 15%,transparent)}.mlsign{fill:var(--accent);font-size:11px;font-weight:700;pointer-events:none}.mlx circle{fill:var(--panel);stroke:var(--err);stroke-width:1.4}.mlx text{fill:var(--err);font-size:11px;font-weight:700;pointer-events:none}.mlink:hover .measline,.mlink.sel .measline,.mlink.act .measline,.mlink.hl .measline{opacity:1;stroke-width:2;stroke-dasharray:none}.mlink:hover .mlx,.mlink.act .mlx,.mlink.sel .mlx{display:inline}.mlink:hover .mlend,.mlink.act .mlend,.mlink.hl .mlend{fill:var(--accent)}.mlink.dragging{opacity:.25}.comp.mtarget .chit,.bld.mtarget .bldframe{stroke:var(--accent);stroke-width:2.5;stroke-dasharray:none;fill:color-mix(in srgb,var(--accent) 12%,transparent)}.wire.mtarget .wpath{stroke-width:6;filter:drop-shadow(0 0 3px var(--accent))}.mown{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}.mchip{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:10px;padding:0 2px 0 8px}.meas .mth .link{background:none;border:none;color:var(--fg);padding:0;text-align:left}.meas .mth .link:hover b{color:var(--accent);text-decoration:underline}.meas .mt:hover{border-color:var(--accent)}.port.k-meas{fill:var(--accent);stroke:var(--panel)}.meas .mt{border:1px solid var(--line);border-radius:6px;padding:4px 6px;margin:4px 0}.meas .mth{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin-bottom:2px}.meas label.mq{display:flex;align-items:baseline;gap:6px;font-size:12px;margin:1px 0;cursor:pointer}.meas label.mq small{color:var(--fg-muted)}.mpage{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;background:var(--bg);display:flex;flex-direction:column;outline:none}.mpage[hidden]{display:none}.mhead{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap}.mhead b{font-size:14px}.mhead input{width:260px;max-width:100%}.mhead .sp{flex:1}.mwrap{flex:1;min-height:0;display:grid;grid-template-columns:250px minmax(0,1fr)}.mtoc{overflow:auto;padding:10px 8px 30px;border-right:1px solid var(--line);background:var(--panel);font-size:12.5px}.mtoc a{display:block;padding:2px 6px;color:var(--fg);text-decoration:none;border-radius:4px}.mtoc a:hover{background:var(--panel2);color:var(--accent)}.mtoc .mtc{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted);margin:12px 6px 4px}.mtoc summary{cursor:pointer;padding:2px 6px}.mtoc summary small{color:var(--fg-muted)}.mtoc details a{padding-left:18px}.mbody{overflow:auto;padding:16px 28px 60px;max-width:980px;line-height:1.55;font-size:13.5px}.mbody h2{font-size:17px;margin:26px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--line)}.mbody h2.mcat{font-size:19px;color:var(--accent);border-bottom-width:2px}.mbody h3{font-size:14.5px;margin:0 0 6px}.mbody code{font:11.5px ui-monospace,SFMono-Regular,Consolas,monospace;background:var(--panel2);border:1px solid var(--line);border-radius:4px;padding:0 4px;color:var(--fg-muted)}.mbody p{margin:6px 0}.mbody ul{margin:4px 0 8px;padding-left:20px}.mbody li{margin:2px 0}.mbody .mintro{color:var(--fg-muted)}.mbody .mf{font:12.5px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;background:var(--panel);border-left:3px solid var(--accent);padding:4px 10px;margin:6px 0;overflow-x:auto;white-space:pre-wrap}.mtype{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin:10px 0;scroll-margin-top:10px}.mtype .mhelp{color:var(--fg-muted);font-size:12.5px}.mtype details{margin-top:6px}.mtype summary{cursor:pointer;color:var(--accent);font-size:12.5px}.msec{scroll-margin-top:10px}.mflash{animation:mflash 1.2s ease-out}@keyframes mflash{0%{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 60%,transparent)}to{box-shadow:0 0 0 3px transparent}}table.mt{border-collapse:collapse;width:100%;margin:8px 0;font-size:12px}table.mt th,table.mt td{border:1px solid var(--line);padding:3px 6px;text-align:left;vertical-align:top}table.mt th{background:var(--panel2);font-weight:600}table.mdiag tr.s-error td:first-child{color:var(--err);font-weight:600}table.mdiag tr.s-warn td:first-child{color:var(--warn);font-weight:600}table.mdiag tr.s-info td:first-child{color:var(--info)}.mprod{font-size:12px;color:var(--fg-muted)}button.link.calcl{background:none;border:none;color:var(--accent);padding:2px 0;margin:2px 0 6px;font-size:12px}button.link.calcl:hover{text-decoration:underline}@media (max-width: 760px){.mwrap{grid-template-columns:1fr}.mtoc{display:none}.mbody{padding:12px 16px 40px}}@media print{body.m-open>*:not(.mpage){display:none!important}body.m-open .mpage{position:static;display:block}body.m-open .mhead,body.m-open .mtoc{display:none}body.m-open .mwrap{display:block}body.m-open .mbody{overflow:visible;max-width:none}body.m-open .mtype details{display:block}body.m-open .mtype{break-inside:avoid}}.mathsum code,#p-f1,#p-f2,#p-f3,#p-f4{font-family:ui-monospace,Consolas,monospace}.mathsum hr{border:0;border-top:1px solid var(--line);margin:4px 0}.help.s-err{color:var(--err)}.fanbox{margin:6px 0 8px;background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:4px}.fanchart{display:block}.fanchart .fgrid{stroke:var(--line);stroke-width:.6}.fanchart .fax{fill:var(--fg-muted);font-size:9px}.fanchart .fcurve{fill:none;stroke:var(--accent);stroke-width:2.2}.fanchart .fcurve2{fill:none;stroke:var(--accent);stroke-width:1;stroke-dasharray:4 3;opacity:.7}.fanchart .fset{stroke:var(--warn);stroke-width:1.6;stroke-dasharray:5 3}.fanchart .fband{fill:var(--warn);opacity:.12}.fanchart .fmk{fill:var(--panel);stroke:var(--accent);stroke-width:1.4}.fanchart .fnom{fill:var(--panel);stroke:var(--accent);stroke-width:2}.fanchart .fobs{fill:var(--ok);opacity:.35}.fanchart[data-fan] *{pointer-events:none}.fanchart .fhit{pointer-events:all;fill:transparent;cursor:crosshair}.fanchart .fhd,.fanchart .fop{pointer-events:all;fill:var(--panel);stroke:var(--accent);stroke-width:2.2;cursor:grab}.fanchart .fhd:hover,.fanchart .fop:hover{stroke-width:3}.fanchart .fhd[data-fh=p]{cursor:ns-resize}.fanchart .fhd[data-fh=q]{cursor:ew-resize}.fanchart .fop{fill:var(--warn);stroke:var(--warn)}.fanchart .fhl{fill:var(--accent);font-weight:600}.fanchart foreignObject,.fanchart .fhin,.fanchart .fhin *{pointer-events:all}.fanchart .fhin{display:flex;align-items:center;gap:2px;font-size:9px;color:var(--accent);font-weight:600}.fanchart .fhin input{width:42px;height:14px;padding:0 2px;font:inherit;color:inherit;text-align:right;background:var(--panel2);border:1px solid transparent;border-radius:3px}.fanchart .fhin input:hover{border-color:var(--line)}.fanchart .fhin input:focus{border-color:var(--accent);outline:none;background:var(--panel)}.fanop{margin:4px 0 6px}.fanop .row input[type=number]{max-width:90px}.fanchart .fnow circle{fill:var(--ok);stroke:var(--panel);stroke-width:1.5}.fanchart .fnow text{fill:var(--fg);font-size:9.5px;font-weight:600;paint-order:stroke;stroke:var(--panel2);stroke-width:3px}svg.hx.big{width:100%;height:auto;max-height:70vh}.hxhr{stroke:var(--fg-muted);stroke-width:1.4;stroke-dasharray:5 4;opacity:.8}.hxa.hr{fill:var(--fg-muted);font-style:italic}.legend .lg i.hrl{background:none;border-top:2px dashed var(--fg-muted);height:0;margin-top:6px}.fanchart .fsys{fill:none;stroke:var(--fg);stroke-width:1.6;stroke-dasharray:6 3}.fanchart .fsys-l{opacity:.32;stroke:none}.fanchart .fdes{fill:var(--panel);stroke:var(--fg);stroke-width:2}.fanchart .fint{fill:var(--accent);stroke:var(--panel);stroke-width:1.5}.fanchart circle.fnow{fill:var(--ok);stroke:var(--panel);stroke-width:1.5}.fanchart .fdl{fill:var(--fg);font-weight:600;paint-order:stroke;stroke:var(--panel);stroke-width:3px}.fanchart.big .fax{font-size:11px}.fsysbox{margin:6px 0 2px}table.fsys-t{width:100%}table.fsys-t th{text-align:right;font-weight:600;font-size:11px}table.fsys-t th:first-child{text-align:left}table.fsys-t tr.tot td{border-top:1px solid var(--line)}.fsw{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;opacity:.6;vertical-align:-1px}.hrhx{margin:4px 0 6px;cursor:zoom-in}.hrhx svg.hx{width:100%;height:auto}.pdocs{margin:2px 0 6px;font-size:12px}.pdocs a{color:var(--accent)}.diags .dact{margin-top:4px}.clabel,.cval,.wlabel{paint-order:stroke;stroke:var(--canvas);stroke-width:3px;stroke-linejoin:round}.eemapbox{margin:4px 0 8px}svg.eemap{display:block;max-width:440px;background:var(--canvas);border-radius:6px}svg.eemap .land polygon{fill:var(--panel2);stroke:var(--fg-muted);stroke-width:.8}svg.eemap .lake{fill:var(--canvas);stroke:var(--fg-muted);stroke-width:.5}svg.eemap .st circle{fill:var(--accent);opacity:.75;cursor:pointer}svg.eemap .st.ut circle{fill:#2ea36b}svg.eemap .st.on circle{fill:var(--err, #d8572e);opacity:1}svg.eemap text{font-size:9px;fill:var(--fg);paint-order:stroke;stroke:var(--panel2);stroke-width:3px}svg.eemap .src circle{fill:none;stroke:var(--err, #d8572e);stroke-width:2.5}table.climinfo{width:100%;border-collapse:collapse;margin:4px 0 6px;font-size:12px}table.climinfo th{text-align:left;font-weight:500;color:var(--fg-muted);padding:2px 8px 2px 0;vertical-align:top;white-space:nowrap}table.climinfo td{padding:2px 0}.eemapbox.small svg.eemap{max-width:260px}.hxzone{fill:var(--ok, #2ea36b);fill-opacity:.14;stroke:var(--ok, #2ea36b);stroke-width:1.2;stroke-dasharray:4 2}.hxa.zone{fill:var(--ok, #2ea36b);font-weight:600}.hxzsel select{font-size:11px;margin-left:4px}.hxzin{margin-left:6px;white-space:nowrap}.hxzin input{width:48px;font-size:11px}.dk-work{flex:1;min-height:0;position:relative;display:flex;overflow:hidden}.dk-work>*{flex:1;min-width:0;min-height:0}.dk-park{display:none}.dk-split{display:flex;min-width:0;min-height:0}.dk-row{flex-direction:row}.dk-col{flex-direction:column}.dk-split>:not(.dk-div){min-width:48px;min-height:32px}.dk-div{flex:0 0 5px;background:var(--line);position:relative;z-index:3;touch-action:none}.dk-row>.dk-div{cursor:col-resize}.dk-col>.dk-div{cursor:row-resize}.dk-div:after{content:"";position:absolute;top:0;right:-5px;bottom:0;left:-5px}.dk-col>.dk-div:after{top:-5px;right:0;bottom:-5px;left:0}@media (pointer: coarse){.dk-div:after{top:0;right:-10px;bottom:0;left:-10px}.dk-col>.dk-div:after{top:-10px;right:0;bottom:-10px;left:0}}.dk-div:hover,.dk-div.on{background:var(--accent)}.dk-tabs{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--panel);overflow:hidden}.dk-tabs.min{flex:0 0 auto}.dk-bar{flex:none;display:flex;align-items:center;gap:2px;height:30px;padding:0 4px;border-bottom:1px solid var(--line);background:var(--panel);-webkit-user-select:none;user-select:none}.dk-tabs.min .dk-bar{border-bottom:none}.dk-tablist{display:flex;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none}.dk-tab{border:none;background:transparent;border-radius:5px;padding:3px 10px;white-space:nowrap;touch-action:none;cursor:grab}.dk-tab.on{background:var(--panel2);box-shadow:inset 0 -2px 0 var(--accent);font-weight:600}.dk-tools{margin-left:auto;display:flex;flex:none}.dk-tools button.icon{padding:1px 6px;color:var(--fg-muted)}.dk-tools button.icon:hover{color:var(--accent)}.dk-slot{flex:1;min-height:0;position:relative}.dk-pane{height:100%;width:100%;overflow:hidden}.dk-pane.tabbody,.dk-pane.inspector{overflow:auto}.palette.dk-pane,.inspector.dk-pane{border:none}.dk-empty{margin:auto;color:var(--fg-muted);padding:20px}.dk-dragging,.dk-dragging *{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.dk-ghost{position:fixed;z-index:90;pointer-events:none;background:var(--accent);color:var(--accent-fg);padding:3px 10px;border-radius:6px;font-weight:600;box-shadow:0 6px 18px #00000040}.dk-drop{position:fixed;z-index:85;pointer-events:none;display:none;background:color-mix(in srgb,var(--accent) 22%,transparent);border:2px solid var(--accent);border-radius:6px;transition:all .08s}.dk-drop.c{background:color-mix(in srgb,var(--accent) 12%,transparent);border-style:dashed}.dk-float{position:fixed;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 36px #00000047;overflow:hidden}.dk-fhead{cursor:move;background:var(--panel2);touch-action:none}.dk-rh{position:absolute;z-index:2;touch-action:none}.dk-rh.n,.dk-rh.s{left:12px;right:12px;height:8px;cursor:ns-resize}.dk-rh.n{top:-3px}.dk-rh.s{bottom:-3px}.dk-rh.e,.dk-rh.w{top:12px;bottom:12px;width:8px;cursor:ew-resize}.dk-rh.e{right:-3px}.dk-rh.w{left:-3px}.dk-rh.ne,.dk-rh.nw,.dk-rh.se,.dk-rh.sw{width:16px;height:16px}.dk-rh.ne{top:-4px;right:-4px;cursor:nesw-resize}.dk-rh.sw{bottom:-4px;left:-4px;cursor:nesw-resize}.dk-rh.nw{top:-4px;left:-4px;cursor:nwse-resize}.dk-rh.se{bottom:-4px;right:-4px;cursor:nwse-resize}.dk-rh.se:after{content:"";position:absolute;right:7px;bottom:7px;width:8px;height:8px;border-right:2px solid var(--fg-muted);border-bottom:2px solid var(--fg-muted)}@media (pointer: coarse){.dk-rh.n,.dk-rh.s{height:24px}.dk-rh.e,.dk-rh.w{width:24px}.dk-rh.ne,.dk-rh.nw,.dk-rh.se,.dk-rh.sw{width:28px;height:28px}}.dk-maxv{flex:1}.dk-menu{min-width:260px}.dk-menu .dk-mh{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted);padding:6px 10px 2px}.dk-menu button small{display:block;color:var(--fg-muted);font-size:11px}.dk-menu hr{border:none;border-top:1px solid var(--line);margin:4px 0;width:100%}.dk-cardbar{position:absolute;left:50%;transform:translate(-50%);bottom:10px;z-index:5;display:flex;gap:6px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:4px 8px;box-shadow:0 4px 14px #00000024}.dk-cardbar span{color:var(--fg-muted);font-size:12px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mirror .mirbar{position:absolute;right:8px;top:8px;display:flex;gap:8px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:3px 8px;font-size:12px}.mirror .mirbar .help{margin:0;color:var(--fg-muted)}.cardpane svg.hx.big{width:100%;height:auto}.cardpane svg.indbig{width:100%;max-height:100%}svg.hx circle[data-c],svg.hx circle[data-w]{cursor:pointer}svg.hx circle.hxsel{r:6.5px;stroke:var(--sel);stroke-width:3}.legend .lg.pick{cursor:pointer}.legend .lg.pick:hover{color:var(--accent)}.legend .lg.sel{font-weight:700;color:var(--accent)}.top.child .tb{margin-left:auto}.dk-work.narrow>.dk-main{position:absolute;top:0;right:0;bottom:0;left:0}.dk-edge{position:absolute;top:30%;z-index:20;width:22px;height:56px;padding:0;border-radius:0 8px 8px 0;background:var(--panel);box-shadow:0 2px 8px #00000026}.dk-edge.l{left:0}.dk-edge.r{right:0;border-radius:8px 0 0 8px}.dk-drawer{position:absolute;top:0;bottom:44px;z-index:30;width:min(320px,85vw);background:var(--panel);box-shadow:0 0 24px #00000040;transition:transform .2s}.dk-drawer.l{left:0;transform:translate(-105%)}.dk-drawer.r{right:0;transform:translate(105%)}.dk-drawer.open{transform:none}.dk-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:25;background:#0000002e}.dk-sheet{position:absolute;left:0;right:0;bottom:0;z-index:22;display:flex;flex-direction:column;background:var(--panel);border-top:1px solid var(--line);border-radius:12px 12px 0 0;box-shadow:0 -6px 20px #00000026}.dk-sheet .dk-bar{height:44px;border-radius:12px 12px 0 0}.dk-grip{flex:none;width:44px;height:36px;margin-right:4px;touch-action:none;cursor:ns-resize;position:relative}.dk-grip:after{content:"";position:absolute;left:8px;right:8px;top:16px;height:4px;border-radius:2px;background:var(--fg-muted);opacity:.5}.dk-work.narrow .dk-main .dk-slot{padding-bottom:44px}@media (max-width: 1000px){.top{height:auto;min-height:46px;flex-wrap:wrap;gap:6px;padding:4px 8px}.tb{flex-wrap:wrap}}.dk-float.dk-moving{pointer-events:none;opacity:.75}.dk-pane[data-pane=graafik]{overflow:hidden}.vtabs{scrollbar-width:thin;max-width:45vw;display:flex;align-items:center;gap:4px;min-width:0;overflow-x:auto;flex:0 1 auto}.vtab{display:inline-flex;align-items:center;gap:2px;padding:3px 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel2);cursor:pointer;white-space:nowrap;font-size:12.5px}.vtab.on{border-color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent);font-weight:600}.vtab .vx{padding:0 3px;line-height:1;opacity:.5}.vtab .vx:hover{opacity:1}.vadd{white-space:nowrap}.vdiffl{font-size:12px;white-space:nowrap;color:var(--fg-muted)}g.vdiff{filter:drop-shadow(0 0 2px #e08a00) drop-shadow(0 0 4px #e08a00)}.cnt b:not(.e):not(.w){background:var(--info)}.evpanel,.cmppanel{padding:4px 8px}.evbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:6px 0}.evbar .sp{flex:1}.evbar small{color:var(--fg-muted)}.evtab,.cmp{border-collapse:collapse;width:100%;font-size:12.5px}.evtab td,.evtab th,.cmp td,.cmp th{padding:3px 6px;border-bottom:1px solid var(--line);text-align:left}.evtab tr.evres td{color:var(--fg-muted);font-size:12px;border-bottom:1px solid var(--line)}.cmp .num{text-align:right;white-space:nowrap}.cmp .grp th{background:var(--panel2);font-weight:600}.cmp .d.good{color:var(--ok)}.cmp .d.bad{color:var(--err)}.swform{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:6px}.cmpstatus{color:var(--fg-muted);margin:6px 0;min-height:1em}svg.sweep{color:var(--fg);max-width:100%;height:auto}.evsum{margin:6px 0 10px}.evsum ul{margin:4px 0;padding-left:20px}.evimp{color:var(--fg-muted)}.rpbtns{display:flex;flex-direction:column;gap:6px}.usage .urules{width:100%;border-collapse:collapse;font-size:11px;margin:2px 0;table-layout:auto}.usage .urules th{text-align:left;font-weight:500;color:var(--fg-muted)}.usage .urules td{white-space:nowrap;padding:1px}.usage .urules input.ur{font-size:11px;padding:1px 2px}.usage .seedrow input[data-useed]{width:8em}.urooms{width:100%;border-collapse:collapse;font-size:11px;margin:4px 0}.urooms td{padding:1px 3px;white-space:nowrap}.urooms td.tl{width:100%}.wkg.ul td{height:10px}.tsl{position:relative;flex:1;min-width:60px;display:flex;align-items:center}.tsl input{flex:1;min-width:0;width:100%}.tmarks{position:absolute;left:0;right:0;top:-9px;height:0;pointer-events:none}.tmark{position:absolute;transform:translate(-50%);pointer-events:auto;border:0;background:none;padding:0;font-size:10px;line-height:1;color:#c9a227;cursor:pointer}.tmark:hover{color:var(--accent)}.lg i.mdash{width:14px;height:0;background:none;border-top:2px dashed;margin:0 3px 0 6px}.lg.mlyr{cursor:pointer}.lg.mlyr input{vertical-align:middle;margin:0 3px 0 0}.measum b.e{color:var(--err)}.indv.indm{font-size:10.5px}.indst{font-size:9px;opacity:.8}.hxmeas{fill:var(--fg-muted);stroke:var(--panel);stroke-width:1.2}.hxmd{stroke:var(--fg-muted);stroke-width:1;stroke-dasharray:3 3}.hxl.hxml{fill:var(--fg-muted)}.legend .lg i.hxmi{width:9px;height:9px;border-radius:50%;background:var(--fg-muted)}.mwarn{background:color-mix(in srgb,#c9a227 14%,transparent);border-radius:6px;padding:6px 8px;margin:6px 0;font-size:12px;display:flex;flex-direction:column;gap:4px}.mwarn .btns{display:flex;gap:4px;flex-wrap:wrap}table.mstat td,.measum table td{cursor:pointer}table.mstat td.num{text-align:right;white-space:nowrap;font-size:11px}.measum{margin-top:14px}.measum h4{margin:0 0 4px}.measum table.kpi{max-width:900px}.measum table.kpi th{padding-top:2px}.measum tr[data-mp]:hover td{background:var(--panel2)}.measum .num{text-align:right;white-space:nowrap}table.prev.mprev select{font-size:11px;max-width:170px}ul.bml li{display:flex;align-items:center;gap:4px}ul.bml .bmlab{flex:1;min-width:0;font-size:12px}.mbrow{display:flex;flex-direction:column;gap:2px;padding:4px 0;border-top:1px solid var(--grid)}.mbrow select{width:100%}.pro-busy{display:flex;align-items:center;gap:10px;font-weight:600}.spin{width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.pro-hint{color:var(--fg-muted);font-size:12px}.pro-rep{max-height:60vh;overflow:auto;font-size:12px;line-height:1.45;white-space:pre;background:var(--panel2);padding:8px;border-radius:6px}.pgh{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:6px;margin:10px 4px 2px;padding:5px 6px;border-radius:6px;font-weight:700;font-size:13px;background:var(--panel2);border-left:3px solid var(--accent)}.pgh:hover{color:var(--accent)}.pgh:before{content:"▾";width:1em;font-size:13px}.pgh.shut:before{content:"▸"}.pgh small{margin-left:auto;font-weight:400;opacity:.7}.pgb{padding-left:6px}.serpick{position:absolute;z-index:20;width:min(380px,90%);max-height:70%;display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #00000040}.serpick input{width:100%}.serpick .spq{display:flex;flex-wrap:wrap;gap:4px}.serpick .spl{overflow:auto;min-height:60px}.serpick .sph{font-size:11px;font-weight:700;color:var(--fg-muted);margin:6px 2px 2px;text-transform:uppercase;letter-spacing:.03em}.serpick .spi{display:block;width:100%;text-align:left;border:none;background:transparent;padding:2px 8px;border-radius:4px}.serpick .spi:hover{background:var(--panel2)}.serpick .spi.on{color:var(--accent);font-weight:600}.serpick .spi.on:before{content:"✓ "}.serpick small{color:var(--fg-muted)}.ramp .rbg{fill:color-mix(in srgb,var(--panel) 85%,transparent);stroke:var(--line)}.ramp .rgrid{stroke:var(--grid);stroke-dasharray:3 3}.ramp text{fill:var(--fg-muted);font-size:1em}.ramp .rtitle{fill:var(--fg);font-weight:600}.ramp .rline{fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linejoin:round}.ramp.big .rline{stroke-width:3}.ramp .rcl{fill:var(--fg-muted);opacity:.45}.ramp .rdot{fill:var(--panel);stroke:var(--accent);stroke-width:2.5;pointer-events:none}.ramp .rhit{fill:transparent;cursor:grab}.ramp .rh:hover .rdot{fill:var(--accent)}.ramp .rnow{fill:var(--warn);stroke:var(--panel);stroke-width:1.5}.ramp .rlab{fill:var(--fg);font-weight:600}.rampcard{margin:6px 0 8px;padding:4px;background:var(--panel2);border-radius:8px;touch-action:none}.tune-seg{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0 6px}.tune-why{margin:4px 0;font-size:12px}.tune-why summary{cursor:pointer;color:var(--accent)}.tune-why p{margin:4px 0}.tune-det{margin-top:6px;padding-left:8px;border-left:2px solid var(--line)}.rampcard .help{font-size:11px;color:var(--fg-muted);padding:2px 4px}.ramp .hyv{stroke-dasharray:none}.ramp .hyar{fill:var(--accent)}.ramp .tbg{cursor:copy}details.tabraw{margin:0 0 6px;font-size:12px}details.tabraw summary{cursor:pointer;color:var(--fg-muted)}details.tabraw textarea{width:100%;box-sizing:border-box}table.tabed{width:100%;border-collapse:collapse;margin:4px 0}table.tabed th{font-weight:500;color:var(--fg-muted);text-align:left;padding:2px 4px;font-size:11.5px}table.tabed td{padding:1px 4px}table.tabed td:last-child,table.tabed th:last-child{width:24px}table.tabed input{width:100%;box-sizing:border-box;text-align:right}.ramp .rshift{fill:none;stroke:var(--accent);stroke-width:1.6;stroke-dasharray:5 4;opacity:.7}.ramp .rwarn{fill:var(--warn);font-weight:600;cursor:help}.tolbox{margin:4px 0 8px}.tolrow .numwrap input{width:5em}.tolrow .numwrap em{padding:0 4px}.row.dimrow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0}.row.dimrow>span:first-child{flex:1;color:var(--fg)}.numwrap input.dimro{background:var(--panel2);color:var(--fg-muted)}.dimchk{display:flex;align-items:center;gap:2px;font-size:11px;color:var(--fg-muted);cursor:pointer}.dimchk input{margin:0}button.icon.dimlock{padding:0 3px;font-size:13px}button.icon.dimlock.on{border-color:var(--accent)}.dimnote{margin-top:-2px}.dimli{cursor:pointer;font-size:12px}.dimli:hover{color:var(--accent)}.dimlock{margin:4px 0 8px;padding-left:18px;font-size:12.5px;max-height:40vh;overflow:auto}.dimtab{width:100%;border-collapse:collapse;font-size:12px;margin:4px 0}.dimtab th{text-align:left;font-weight:500;color:var(--fg-muted);padding:2px 4px}.dimtab td{padding:2px 4px;border-top:1px solid var(--line);vertical-align:middle}.dimtab td.num{text-align:right;white-space:nowrap}.dimtab .dimname{cursor:pointer}.dimtab .dimname small{color:var(--fg-muted)}.dimtab select.dimsel{width:auto;min-width:0;padding:1px 2px;font-size:12px}.numwrap.two input{width:62px}.numwrap.two em{min-width:18px}.dimtab td.ck{text-align:center;width:28px}.dimtab .dimlk{opacity:.45;font-size:13px;padding:0 2px}.dimtab .dimlk.on{opacity:1}.dimtab .dimlk:disabled{opacity:.15;cursor:default}.auth{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:16px;overflow:auto}.auth-card{width:min(380px,100%);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:28px 28px 22px;display:flex;flex-direction:column;gap:12px;box-shadow:0 8px 28px #00000014}.auth-card h1{font-size:15px;font-weight:600;margin:0;color:var(--fg-muted)}.auth-card h2{font-size:22px;margin:0 0 4px}.auth-card label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--fg-muted)}.auth-card input{font-size:15px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--fg)}.auth-card input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}.auth-card button.primary{padding:10px;font-size:15px;margin-top:4px}.auth-card button.link{background:none;border:0;color:var(--accent);cursor:pointer;padding:2px;font-size:13px;align-self:flex-start}.auth-msg{margin:0;padding:8px 10px;border-radius:8px;font-size:13px}.auth-msg.err{background:color-mix(in srgb,var(--err) 12%,transparent);color:var(--err)}.auth-msg.ok{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}.auth-note{margin:0;font-size:12.5px;color:var(--fg-muted)}button.acct{margin-left:8px;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:var(--panel2);color:var(--fg);font-size:11px;font-weight:600;cursor:pointer;flex:none}button.acct.warn{border-color:var(--warn);box-shadow:0 0 0 2px color-mix(in srgb,var(--warn) 35%,transparent)}.acct-dlg fieldset{border:1px solid var(--line);border-radius:8px;margin:10px 0;padding:8px 12px 10px}.acct-dlg legend{font-size:12px;color:var(--fg-muted);padding:0 4px}.acct-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:4px 0}.acct-row input:not([type=checkbox]),.acct-row select{flex:1 1 160px;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel2);color:var(--fg)}.acct-row .chk{display:flex;align-items:center;gap:4px;font-size:13px}.acct-t{width:100%;border-collapse:collapse;font-size:12.5px}.acct-t th{text-align:left;font-weight:600;color:var(--fg-muted);border-bottom:1px solid var(--line);padding:4px 6px}.acct-t td{padding:4px 6px;border-bottom:1px solid var(--line);vertical-align:top}.acct-t tr.off td{color:var(--fg-muted)}.acct-dlg .tabsrow{display:flex;gap:4px;align-items:center;margin-bottom:10px}.acct-dlg .tabsrow button{border:0;background:none;padding:6px 10px;border-radius:6px;cursor:pointer;color:var(--fg-muted)}.acct-dlg .tabsrow button.on{background:var(--panel2);color:var(--fg);font-weight:600}.acct-dlg .grow{flex:1}.totp-steps{padding-left:18px;display:flex;flex-direction:column;gap:8px}.totp-key code,pre.recovery{font-size:14px;letter-spacing:.04em;background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:4px 8px}pre.recovery{padding:10px 14px;line-height:1.7}code.wrap{word-break:break-all}button.psave{margin-left:8px;border:0;background:none;font-size:11.5px;padding:2px 8px;border-radius:10px;cursor:pointer;color:var(--fg-muted);white-space:nowrap}button.psave.ok:before{content:"✓ ";color:var(--ok)}button.psave.busy{color:var(--info)}button.psave.draft,button.psave.warn{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--fg)}button.psave.ro{background:var(--panel2)}.projs h4{margin:14px 0 4px;font-size:13px}.projs .acct-t td.acts{white-space:nowrap;text-align:right}.projs .acct-t td.acts button{margin-left:4px}.projs .acct-t tr.cur td{background:color-mix(in srgb,var(--accent) 8%,transparent)}.projs .acct-t select{padding:3px 6px;border:1px solid var(--line);border-radius:6px;background:var(--panel2);color:var(--fg);font-size:12px}.rq-ok i{color:var(--ok)}.rq-warn i{color:var(--warn)}.rq-fail i{color:var(--err)}.rqres{font-size:12px;margin:4px 0 8px;display:grid;gap:2px}.rqres i{font-style:normal;margin-right:4px}.help.rqsrc{margin-bottom:6px}.kpibar{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--panel);border-top:1px solid var(--line);min-height:34px;overflow-x:auto;white-space:nowrap}.kpibar .kper{font-size:12px;color:var(--fg-muted);padding:1px 6px;border:1px dashed var(--line);border-radius:10px}.kpibar .kper.chk{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.kchip{font-size:12px;border-radius:14px;padding:2px 10px;border:1px solid var(--line);background:var(--panel2)}.kchip b{font-weight:600;margin-right:2px}.kchip.k-ok{border-color:color-mix(in srgb,var(--ok) 55%,transparent);background:color-mix(in srgb,var(--ok) 10%,var(--panel))}.kchip.k-warn{border-color:color-mix(in srgb,var(--warn) 65%,transparent);background:color-mix(in srgb,var(--warn) 14%,var(--panel))}.kchip.k-fail{border-color:color-mix(in srgb,var(--err) 65%,transparent);background:color-mix(in srgb,var(--err) 12%,var(--panel))}.kpibar .kfill{flex:1}.kpibar .klive{font-size:12px;color:var(--fg-muted);display:inline-flex;align-items:center;gap:3px}.kpibar .kbusy{color:var(--accent);animation:kspin 1s linear infinite;display:inline-block}@keyframes kspin{to{transform:rotate(360deg)}}.kpibar select{font-size:12px}.kpihl{filter:drop-shadow(0 0 4px var(--accent)) drop-shadow(0 0 2px var(--accent))}.decision{margin:6px 0 10px;padding:8px 10px;border-left:3px solid var(--accent);background:var(--panel2);border-radius:4px;font-size:13px}.decision .dtext{font-weight:600;margin-bottom:3px}.decision i{font-style:normal;margin-right:4px}.hxpane{position:relative;display:flex;flex-direction:column;padding:0 8px 8px}.hxpane:focus{outline:none}.hxpane>svg{flex:none}svg.hxv :is(line,polyline,polygon,path,rect,circle,ellipse){vector-effect:non-scaling-stroke}.hxbar .legend{padding:0}.hxq{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;border:1px solid var(--line);font-size:10px;color:var(--fg-muted);cursor:help}.hxzin input{width:4.5em}svg.hxv .hxhit{stroke:transparent;stroke-width:12;pointer-events:stroke}svg.hxv .hxhit:hover{stroke:color-mix(in srgb,var(--accent) 25%,transparent)}svg.hxv .hxl[data-hk]{cursor:text}svg.hxv .hxl[data-hk]:hover{text-decoration:underline dotted}.hxren{position:absolute;z-index:5;font-size:12px;padding:1px 4px;min-width:180px;border:1px solid var(--accent);border-radius:4px;background:var(--panel);color:var(--fg)}.hxbar{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:12px;flex-wrap:wrap}.hxbar .hxt{font-weight:600}.hxbar .kfill{flex:1}.hxcfg{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:4px 0 6px;font-size:12px;border-bottom:1px solid var(--line);margin-bottom:4px}.hxcfg label{display:inline-flex;align-items:center;gap:4px}.hxcfg input[type=number]{width:4em;font-size:12px}.hxcfg input[type=color]{width:32px;height:20px;padding:0 1px}.hxcfg .hxnames{flex-basis:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:2px 12px;max-height:84px;overflow:auto}.hxcfg .hxnm{display:grid;grid-template-columns:1fr 1fr;gap:6px}.hxcfg .hxnm span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg-muted)}.hxcfg .hxnm input{font-size:12px;padding:1px 4px;min-width:0}.hxpane .hint{color:var(--fg-muted);font-size:12px}.hxv.calc{cursor:crosshair}svg.hxv .hxsel{stroke:var(--accent);stroke-width:6;stroke-linecap:round;opacity:.55}.hxselbox rect{fill:var(--panel);stroke:var(--accent)}.hxselbox text{font-size:11px;fill:var(--fg)}.hxA{fill:var(--accent)}.hxB{fill:var(--panel);stroke:var(--accent);stroke-width:2.5}.hxAB{font-size:12px;font-weight:700;fill:var(--accent)}.hxcalc{stroke:var(--accent);stroke-width:2.5;stroke-dasharray:6 3}.hxadp{stroke:var(--fg-muted);stroke-dasharray:2 3}.hxadpp{fill:var(--fg-muted)}.hxcl{font-size:11px;fill:var(--accent);paint-order:stroke;stroke:var(--panel);stroke-width:3px}.hxcalcp{font-size:12px;display:grid;gap:6px}.hxopts{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.hxopts input{width:70px}.hxin{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.hxin input{width:58px}.hxin select{margin-left:4px}.hxin .u{margin:0 2px;color:var(--fg-muted)}table.hxinfo{border-collapse:collapse}table.hxinfo td,table.hxinfo th{padding:1px 6px;text-align:left;white-space:nowrap}.hxsug{flex-wrap:wrap;gap:4px;display:flex;align-items:center}.hxmain.side{display:flex;gap:12px;align-items:flex-start}.hxmain.side .hxslot{flex:1;min-width:0}.hxmain.side .hxdes{flex:none;width:430px;max-height:calc(100vh - 220px);overflow:auto}.hxdes{font-size:12px;display:grid;gap:8px;padding:4px 2px 8px}.hxdes input[type=number]{width:4.6em;font-size:12px;padding:1px 3px}.hxdes select{font-size:12px}.hxdes .u{color:var(--fg-muted);margin-left:3px}table.hxdt{border-collapse:collapse}table.hxdt th,table.hxdt td{padding:2px 6px;text-align:left;white-space:nowrap}table.hxdt th:first-child{color:var(--fg-muted);font-weight:500}table.hxdt td.num{text-align:right;font-variant-numeric:tabular-nums}.hxdg{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center}.hxdg label{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.hxdres{border-top:1px solid var(--line);padding-top:6px;display:grid;gap:6px}.hxdq0 b{font-size:14px}ul.hxdmsg{margin:0;padding-left:18px;color:var(--fg-muted)}ul.hxdmsg .s-warn{color:var(--warn)}.hxdst summary{cursor:pointer;color:var(--accent)}svg.hxv .hxd{fill:none;stroke-width:2.4;stroke-linejoin:round}svg.hxv .hxdr{fill:none;stroke-width:1.4;stroke-dasharray:5 3;opacity:.8}svg.hxv .hxde{fill:none;stroke-width:1;stroke-dasharray:2 3;opacity:.7}svg.hxv .hxdz{fill-opacity:.1;stroke-width:1;stroke-dasharray:3 2;stroke-opacity:.7}svg.hxv .hxdp{stroke:var(--panel);stroke-width:1.2}svg.hxv .hxdk{font-size:11px;font-weight:700;paint-order:stroke;stroke:var(--panel);stroke-width:3px}svg.hxv .hxdq{font-size:10px;font-weight:600;paint-order:stroke;stroke:var(--panel);stroke-width:3px;opacity:.9}svg.hxv .hxcl{font-size:11px;fill:var(--accent);paint-order:stroke;stroke:var(--panel);stroke-width:3px}
