:root{
  --ink:#17324a;--muted:#698090;--paper:#eef6fa;--card:#fff;--line:#cddde7;
  --blue:#1695e8;--blue-soft:#eaf6ff;--red:#d52f2f;--red-soft:#fff0ef;
  --pink:#ef68a9;--navy:#123e5d;--green:#15946f;--orange:#e58b2c;
  --shadow:0 10px 28px rgba(27,72,99,.10)
}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:16px}body{margin:0;background:linear-gradient(135deg,#edf6fa,#fff 48%,#eaf5f8);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.35}button,input,select{font:inherit}.page-shell{width:min(1880px,calc(100% - 22px));margin:0 auto;padding:7px 0 8px}
.rs-page-header{position:relative;min-height:92px;padding:13px 118px 13px 20px;border-radius:16px;color:#fff;background:linear-gradient(115deg,#0b496e,#087fa5 65%,#58b8e6);box-shadow:0 12px 35px rgba(23,77,103,.14);border-bottom:3px solid #55cff5;overflow:hidden}.header-copy{position:relative;z-index:2}.kicker{display:block;font-size:10px;font-weight:900;letter-spacing:.16em;opacity:.82}.rs-page-header h1{margin:1px 0 3px;font-size:clamp(28px,2.1vw,40px);line-height:1}.rs-page-header p{margin:0;max-width:900px;font-size:clamp(12px,.9vw,15px);font-weight:650;opacity:.94}.rs-lang-switch{position:absolute;right:14px;top:12px;z-index:4;display:flex;gap:3px;padding:3px;border:1px solid rgba(255,255,255,.62);border-radius:9px;background:rgba(255,255,255,.94)}.rs-lang-switch button{border:0;border-radius:6px;background:transparent;color:#36566d;font-weight:850;padding:5px 8px;cursor:pointer}.rs-lang-switch button.active{background:#245f87;color:#fff}.snowfield{position:absolute;right:155px;top:8px;opacity:.18;font-size:22px;letter-spacing:14px;white-space:nowrap}
.workspace{display:grid;grid-template-columns:266px minmax(0,1fr);gap:12px;margin-top:9px;align-items:start}.control-panel{position:sticky;top:7px;max-height:calc(100vh - 18px);overflow:auto;scrollbar-width:thin;padding:9px 6px 9px 8px;border:1px solid #bcd4e3;border-radius:14px;background:rgba(238,247,252,.96);box-shadow:var(--shadow)}.panel-intro{padding:2px 3px 8px}.panel-kicker{font-size:10px;letter-spacing:.16em;color:#278fd4;font-weight:950}.panel-intro h2{font-size:20px;margin:2px 0}.panel-intro p{font-size:11.5px;color:var(--muted);margin:0;line-height:1.25}.mode-switch{display:grid;grid-template-columns:1fr 1fr;padding:3px;background:#e8f0f5;border:1px solid #cadbe5;border-radius:10px;margin:0 0 8px}.mode-switch button{border:0;padding:8px 6px;border-radius:7px;background:transparent;color:#527084;font-weight:900;cursor:pointer}.mode-switch button.active{background:#fff;color:#145d87;box-shadow:0 2px 7px rgba(23,77,103,.14)}
.control-card,.control-group{border:1px solid var(--line);border-radius:11px;background:#f9fcfe;margin-bottom:7px;overflow:hidden;width:100%}.fluid-card{padding:9px}.fluid-card label{display:block;font-size:11px;font-weight:900;margin-bottom:4px}.fluid-card select{width:100%;height:37px;padding:0 10px;border:1px solid #b9d0df;border-radius:8px;background:#fff;color:var(--ink);font-weight:850}.group-heading{display:flex;align-items:center;justify-content:space-between;padding:6px 9px 5px;border-bottom:1px solid #dce8ee}.group-heading strong{display:block;font-size:12.5px}.group-heading span{display:block;font-size:10.5px;color:var(--muted);margin-top:1px}.low-side .group-heading{border-left:4px solid var(--blue);background:linear-gradient(90deg,var(--blue-soft),#f9fcfe)}.high-side .group-heading{border-left:4px solid var(--red);background:linear-gradient(90deg,var(--red-soft),#f9fcfe)}.compressor-group .group-heading{border-left:4px solid var(--pink);background:linear-gradient(90deg,#fff1f7,#f9fcfe)}.control-row{display:grid;grid-template-columns:minmax(0,1fr) 102px;align-items:center;column-gap:4px;row-gap:2px;padding:5px 8px}.control-row+.control-row{border-top:1px solid #e5eef3}.control-top{display:contents}.control-top label{grid-column:1/-1;font-size:11.2px;font-weight:850;line-height:1.1;margin-bottom:1px}.value-box{grid-column:2;grid-row:2;display:grid;grid-template-columns:76px 22px;align-items:center;gap:4px;width:102px;justify-self:end}.value-box input{width:76px;height:28px;padding:2px 5px;text-align:right;border:1px solid #b9d0df;border-radius:8px;background:#fff;color:var(--ink);font-weight:850;font-variant-numeric:tabular-nums}.value-box span{font-size:9.5px;color:var(--muted);white-space:nowrap;text-align:left}.control-row>input[type=range]{grid-column:1;grid-row:2;width:100%;min-width:0;padding-right:0}.sat-hint{grid-column:1/3;justify-self:end;width:max-content;margin-top:0;margin-right:26px;font-size:9.5px;color:#587486;font-weight:750;text-align:right}input[type=range]{display:block;width:100%;height:16px;margin:0;accent-color:var(--blue)}.high-side input[type=range]{accent-color:var(--red)}.compressor-group input[type=range]{accent-color:var(--pink)}.advanced-divider{padding:5px 9px 1px;border-top:1px dashed #cbdce6}.advanced-divider span{display:inline-block;font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#688297;background:#eef5f9;border-radius:99px;padding:2px 6px}.status-line{min-height:18px;padding:2px 3px 5px;font-size:10px;color:#a44735;font-weight:750}.reset-button{width:100%;border:0;border-radius:9px;padding:9px 10px;background:#17242d;color:#fff;font-weight:850;cursor:pointer;margin-top:1px}
.chart-panel{padding:0;min-width:0}.chart-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center;min-height:48px;padding:4px 0 6px}.chart-actions button{border:1px solid #bcd1df;border-radius:9px;background:#fff;color:#294b62;padding:7px 10px;font-size:11px;font-weight:850;cursor:pointer;box-shadow:0 2px 7px rgba(23,77,103,.06)}.chart-actions button:hover{background:#f4f9fc}.chart-actions button[aria-pressed="true"]{background:#195f86;color:#fff;border-color:#195f86}.chart-wrap{position:relative;width:100%;aspect-ratio:900/600;background:#fff;border:1px solid #d9e5ec;border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}.chart-wrap img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain}.process-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.process-line{fill:none;stroke:#228fe0;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.isentropic-line{fill:none;stroke:#566d7c;stroke-width:1.4;stroke-dasharray:5 5;opacity:.8;vector-effect:non-scaling-stroke}.isentropic-label{font:800 8px Arial;fill:#566d7c;paint-order:stroke;stroke:#fff;stroke-width:2}.state-point circle{fill:#fff;stroke:#17324a;stroke-width:2;vector-effect:non-scaling-stroke}.state-point text{font:800 10px Arial;fill:#17324a;paint-order:stroke;stroke:#fff;stroke-width:3;stroke-linejoin:round}
.component-overlay[hidden],.state-callouts[hidden],.state-panel[hidden],.state-metrics[hidden]{display:none!important}


.flow-guide{fill:none;stroke-width:4.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.95}.suction-guide{stroke:#1b99df}.hot-guide{stroke:#da5547}.liquid-guide{stroke:#e9a33d}.flow-dot{stroke:#fff;stroke-width:1.05;vector-effect:non-scaling-stroke}

.component-device .device-label{font:800 8px Arial,sans-serif;fill:#17324a;paint-order:stroke;stroke:#fff;stroke-width:2px;stroke-linejoin:round}.component-device .component-pipe{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.component-device .component-hot{stroke:#d85b4e}.component-device .component-cold{stroke:#1f95db}.component-device .component-liquid{stroke:#e8a02c}
.component-device .coil-panel{fill:rgba(255,255,255,.95);stroke:#506b7b;stroke-width:1.3;vector-effect:non-scaling-stroke}.component-device .coil-fin{fill:none;stroke:#9aaebb;stroke-width:.65;opacity:.82;vector-effect:non-scaling-stroke}.component-device .coil-line{fill:none;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.component-device.condenser .coil-line{stroke:#d95a46}.component-device.evaporator .coil-line{stroke:#168fcf}.component-device .heat-wave,.component-device .cold-wave{fill:none;stroke-linecap:round;stroke-width:1.6;vector-effect:non-scaling-stroke}.component-device .heat-wave{stroke:#d95a46}.component-device .cold-wave{stroke:#6bb7ee}
.component-device.expansion .valve-box{fill:#f7c161;stroke:#6a4e2f;stroke-width:1.2;vector-effect:non-scaling-stroke}.component-device.expansion .valve-body{fill:none;stroke:#6a4e2f;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.component-device.expansion .valve-head{fill:#d85b4e;stroke:#6a4e2f;stroke-width:1;vector-effect:non-scaling-stroke}
.component-device.compressor .compressor-shell{fill:#fff;stroke:#4f697b;stroke-width:1.4;vector-effect:non-scaling-stroke}.component-device.compressor .compressor-wheel{fill:#fff;stroke:#4f697b;stroke-width:1.4;vector-effect:non-scaling-stroke}.component-device.compressor .compressor-hub{fill:#d84e42;stroke:#fff;stroke-width:.8;vector-effect:non-scaling-stroke}.component-device.compressor .compressor-blade{fill:#d84e42}.component-device.compressor .piston-body{fill:#c6d1d8;stroke:#223f52;stroke-width:1;vector-effect:non-scaling-stroke}.component-device.compressor .piston-rod{stroke:#223f52;stroke-width:2.2;stroke-linecap:round;vector-effect:non-scaling-stroke}.component-device.compressor .piston-motion,.component-device.compressor .compressor-rotor{transform-box:fill-box;transform-origin:center}

.state-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}.state-metric-card{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,#f4f9fc,#edf5fb);box-shadow:0 2px 8px rgba(23,77,103,.05)}.state-metric-card span{display:block;font-size:10px;line-height:1.08;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:#6b8190}.state-metric-card strong{display:block;margin-top:4px;font-size:14px;line-height:1.05;color:#17324a;font-variant-numeric:tabular-nums}.state-panel{margin-top:8px;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.state-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:7px 10px;background:#eef5f8;border-bottom:1px solid var(--line);font-size:12px}.state-panel-head span{font-size:10px;color:var(--muted);font-weight:750}.state-table-wrap{overflow:auto}.state-table{width:100%;border-collapse:collapse;font-size:11px;font-variant-numeric:tabular-nums}.state-table th,.state-table td{padding:5px 7px;border-bottom:1px solid #e5eef3;text-align:right;white-space:nowrap}.state-table th:first-child,.state-table td:first-child,.state-table th:nth-child(2),.state-table td:nth-child(2){text-align:left}.state-table tr:last-child td{border-bottom:0}.state-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:middle;box-shadow:0 0 0 1px rgba(23,50,74,.16)}
.state-callout line{stroke:#7c95a3;stroke-width:.45;opacity:.78;vector-effect:non-scaling-stroke}.state-callout rect{fill:rgba(255,255,255,.95);stroke:#adbec9;stroke-width:.7;vector-effect:non-scaling-stroke}.state-callout text{font:700 7.8px Arial,sans-serif;fill:#29495f;paint-order:stroke;stroke:#fff;stroke-width:1.5px;stroke-linejoin:round}.state-callout .callout-title{font-weight:900;fill:#17324a}

.compressor-dialog,.pipe-dialog{width:min(650px,calc(100vw - 28px));padding:0;border:1px solid #b9cad5;border-radius:17px;background:#fff;color:var(--ink);box-shadow:0 18px 55px rgba(0,0,0,.28)}.compressor-dialog::backdrop,.pipe-dialog::backdrop{background:rgba(16,32,44,.44)}.compressor-dialog form,.pipe-dialog form{padding:18px;margin:0}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.dialog-kicker{font-size:9px;letter-spacing:.14em;color:#278fd4;font-weight:950}.dialog-head h3{margin:1px 0 0;font-size:24px}.dialog-x{border:0;background:transparent;font-size:25px;color:#6a7c89;cursor:pointer}.dialog-intro{margin:6px 0 12px;color:var(--muted);font-size:12px}.source-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:3px;background:#edf3f6;border-radius:10px}.source-tabs button{border:0;border-radius:7px;padding:8px;background:transparent;color:#587080;font-size:11px;font-weight:850;cursor:pointer}.source-tabs button.active{background:#fff;color:#155f88;box-shadow:0 2px 7px rgba(23,77,103,.12)}.source-fields{margin-top:10px}.source-fields label{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:9px 10px;border:1px solid #d8e4ea;border-radius:9px;background:#f9fcfd;font-size:12px;font-weight:800;margin-bottom:6px}.source-fields label[hidden]{display:none}.source-fields input{width:92px;padding:5px 6px;text-align:right;border:1px solid #bfd0da;border-radius:7px;font-variant-numeric:tabular-nums;font-weight:800;color:var(--ink);background:#fff}.frequency-field{padding:9px 10px;border:1px solid #d8e4ea;border-radius:9px;background:#f9fcfd;margin-bottom:6px}.frequency-field[hidden]{display:none}.frequency-head{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;font-weight:800}.frequency-field input[type=range]{margin:5px 0 2px;height:18px;accent-color:#17658f}.frequency-field small{display:block;color:#718491;font-size:10px;font-weight:600}.compressor-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px}.compressor-results div{padding:8px 9px;border:1px solid #d9e5eb;border-radius:9px;background:#f4f9fb}.compressor-results span{display:block;color:var(--muted);font-size:10px}.compressor-results strong{display:block;margin-top:2px;font-size:15px}.model-note{margin:9px 2px 0;color:#718491;font-size:10px}.dialog-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:13px}.dialog-actions button{border:1px solid #c8d7e0;border-radius:8px;padding:7px 12px;background:#fff;color:#35566c;font-weight:850;cursor:pointer}.dialog-actions .primary{background:#17658f;color:#fff;border-color:#17658f}
.pipe-dialog{width:min(1160px,calc(100vw - 28px))}.pipe-toolbar{display:grid;grid-template-columns:260px minmax(0,1fr);gap:10px;align-items:center;margin-bottom:10px}.pipe-power-field{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:9px 10px;border:1px solid #d8e4ea;border-radius:9px;background:#f9fcfd;font-size:12px;font-weight:800}.pipe-power-field input{width:92px;padding:5px 6px;text-align:right;border:1px solid #bfd0da;border-radius:7px;font-variant-numeric:tabular-nums;font-weight:800;color:var(--ink);background:#fff}.pipe-power-note{padding:9px 10px;border:1px dashed #c8d8e2;border-radius:9px;background:#f5fafc;color:#5e7788;font-size:11px;font-weight:700}.pipe-inputs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.pipe-group{border:1px solid #d8e4ea;border-radius:10px;background:#f9fcfd;padding:10px}.pipe-group h4{margin:0 0 8px;font-size:13px}.pipe-field{display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:8px;padding:5px 0}.pipe-field label{font-size:10px;font-weight:800}.pipe-field div{display:grid;grid-template-columns:72px 32px;gap:4px;align-items:center}.pipe-field input{width:72px;padding:5px 6px;text-align:right;border:1px solid #bfd0da;border-radius:7px;font-variant-numeric:tabular-nums;font-weight:800;color:var(--ink);background:#fff}.pipe-field span{font-size:10px;color:var(--muted)}.pipe-sizes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.size-card{padding:9px;border:1px solid #d8e4ea;border-radius:10px;background:#f4f9fb}.size-card strong{display:block;font-size:10.5px}.size-card select{width:100%;height:32px;margin-top:7px;padding:0 8px;border:1px solid #b9d0df;border-radius:8px;background:#fff;color:var(--ink);font-weight:800;font-size:10.5px}.size-value{display:block;margin-top:8px;font-size:11.5px;font-weight:900;color:#17324a;line-height:1.15}.size-note{margin-top:3px;font-size:8.7px;color:#637b8b;font-weight:700;line-height:1.25}.pipe-schematic{padding:8px 10px;border:1px solid #d8e4ea;border-radius:10px;background:#fff;margin-bottom:10px}.pipe-schematic svg{display:block;width:100%;height:auto}.scheme-unit{fill:#f4f8fb;stroke:#5f7b8c;stroke-width:2}.scheme-line{fill:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.scheme-suction{stroke:#1695e8}.scheme-discharge{stroke:#d95a46}.scheme-drain{stroke:#ef9a2f}.scheme-liquid{stroke:#82b04a}.scheme-label{font:700 10.5px Arial,sans-serif;fill:#17324a}.pipe-table .status-ok{color:#15805d;font-weight:800}.pipe-table .status-check{color:#b45309;font-weight:800}.text-end{text-align:right}

.site-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:9px;padding:11px 15px;border-radius:14px;background:var(--navy);color:#dcebf4;font-size:11px;box-shadow:0 8px 22px rgba(18,62,93,.15)}.footer-button{border:1px solid #4ca6c5;border-radius:8px;background:transparent;color:#fff;padding:6px 12px;font-weight:800;cursor:pointer}.version{text-align:right;color:#7890a0;font-size:9px;padding:4px 2px 0}
@media (min-width:1500px) and (max-height:920px){.rs-page-header{min-height:72px;padding-top:9px;padding-bottom:9px}.rs-page-header h1{font-size:30px}.workspace{grid-template-columns:256px minmax(0,1fr);gap:10px}.control-panel{max-height:calc(100vh - 96px);padding:8px}.panel-intro{padding-bottom:5px}.panel-intro h2{font-size:18px}.panel-intro p{display:none}.mode-switch button{padding:6px}.control-row{padding:5px 8px}.group-heading{padding:5px 8px}.value-box input{height:25px}.reset-button{padding:7px}.chart-actions{min-height:39px;padding-top:0}.chart-actions button{padding:6px 8px;font-size:10px}.site-footer{padding:8px 13px}}
@media (max-width:1050px){.workspace{grid-template-columns:1fr}.control-panel{position:static;max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:7px}.panel-intro,.mode-switch,.fluid-card,.status-line,.reset-button{grid-column:1/-1}.control-group{margin:0}.chart-panel{grid-column:1/-1}}
@media (max-width:700px){.state-metrics{grid-template-columns:1fr 1fr}.compressor-results{grid-template-columns:1fr}.pipe-toolbar,.pipe-inputs,.pipe-sizes{grid-template-columns:1fr}}
@media (max-width:650px){.page-shell{width:min(100% - 10px,650px)}.rs-page-header{padding-right:92px}.workspace{display:block}.control-panel{display:block}.control-panel>*{margin-bottom:7px}.chart-panel{margin-top:8px}.chart-actions{display:grid;grid-template-columns:1fr 1fr}.chart-actions button:last-child{grid-column:1/-1}.site-footer{align-items:flex-start;flex-direction:column}.snowfield{display:none}.source-tabs{grid-template-columns:1fr}.state-metrics{grid-template-columns:1fr 1fr}.state-panel-head{align-items:flex-start;flex-direction:column}.pipe-field{grid-template-columns:1fr}.pipe-field div{grid-template-columns:1fr 32px}}
@media print{@page{size:A4 landscape;margin:6mm}body{background:#fff!important}.rs-page-header,.control-panel,.chart-actions,.state-panel,.state-metrics,.site-footer,.version,.pipe-dialog,.compressor-dialog{display:none!important}.page-shell,.workspace,.chart-panel{display:block!important;width:100%!important;margin:0!important;padding:0!important}.chart-wrap{box-shadow:none!important;border:0!important;width:100%!important;max-height:none!important;aspect-ratio:900/600!important}.print-blank .process-overlay{display:none!important}.print-process .component-overlay{display:none!important}}
