:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;--bg:#08111f;--panel:#101d2fe0;--panel-strong:#111f32;--panel-soft:#15263db3;--border:#94a3b829;--border-strong:#94a3b847;--text:#edf4ff;--muted:#91a3bb;--subtle:#667991;--blue:#3b8fff;--blue-soft:#3b8fff26;--red:#fb5b67;--red-soft:#fb5b6724;--cyan:#42d3d0;--green:#38d488;--green-soft:#38d48821;--amber:#ffb14f;--amber-soft:#ffb14f24;--shadow:0 18px 54px #00000047;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg);min-width:320px}body{min-width:320px;min-height:100vh;color:var(--text);background:radial-gradient(circle at 8% 10%, #1a69c626, transparent 28%), radial-gradient(circle at 94% 92%, #b533571f, transparent 30%), var(--bg);margin:0}button,input{font:inherit}button,a,input[type=range]{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #5aa5ff94}button:disabled,input:disabled{cursor:not-allowed;opacity:.5}a{color:#77b6ff}.app-shell{z-index:0;width:min(1920px,100%);min-height:100vh;padding:10px clamp(10px, 1.5vw, 22px) max(12px, env(safe-area-inset-bottom));margin:0 auto;position:relative;overflow:clip}.ambient{z-index:-1;filter:blur(120px);pointer-events:none;border-radius:50%;width:36vw;height:36vw;position:fixed}.ambient--one{background:#1671da21;top:-18vw;left:-15vw}.ambient--two{background:#e134571a;bottom:-18vw;right:-16vw}.app-header{z-index:40;border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#08111fe0;border-radius:18px;justify-content:space-between;align-items:center;min-height:68px;padding:9px 13px;display:flex;position:sticky;top:0;box-shadow:0 12px 36px #0003}.brand,.brand__mark,.header-tools,.header-actions,.session-clock,.connection-bar,.connection-bar__status,.connection-bar__actions,.button,.status-pill,.message-banner,.alarm-banner,.panel-heading,.panel-heading--controls,.mode-switch,.heater-card__heading,.heater-card__heading>div,.physical-inline,.section-label,.range-with-value,.setpoint-card__heading,.suggestion,.modal__title,.modal__footer,.button-row,.safety-note,.stat-card,.app-footer,.app-footer>div{align-items:center;display:flex}.brand{gap:12px;min-width:250px}.brand__mark{color:#fff;background:linear-gradient(145deg,#348fff,#1660c7);border-radius:13px;flex:0 0 44px;justify-content:center;width:44px;height:44px;box-shadow:0 10px 30px #2074e552}.brand__mark img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.brand h1{letter-spacing:-.04em;margin:0;font-size:clamp(1.25rem,2vw,1.55rem)}.brand h1 span{color:#70b8ff}.brand p,.session-clock span,.connection-bar__status span,.chart-heading span,.source-row>div>span,.stat-card span,.stat-card small,.app-footer p{color:var(--muted)}.brand p{margin:3px 0 0;font-size:.76rem}.header-tools{justify-content:flex-end;gap:12px;min-width:0}.time-window,.mode-switch{border:1px solid var(--border);background:#ffffff09;border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;padding:4px;display:grid}.time-window button,.mode-switch button{min-height:44px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:0 12px;transition:all .16s}.time-window button{font-size:.72rem;font-weight:700}.time-window button:hover,.mode-switch button:hover{color:var(--text);background:#ffffff0d}.time-window button.is-active,.mode-switch button.is-active{color:#fff;background:#2378e7;box-shadow:0 5px 16px #2378e740}.speed-control{border:1px solid var(--border);min-height:52px;color:var(--muted);white-space:nowrap;background:#ffffff09;border-radius:12px;grid-template-columns:auto minmax(62px,92px) 26px;align-items:center;gap:7px;padding:4px 8px;font-size:.66rem;font-weight:700;display:grid}.speed-control input{width:100%}.speed-control output{color:#dbeaff;font-variant-numeric:tabular-nums;text-align:right;font-size:.76rem}.speed-control.is-locked{border-color:#38d48833}.header-actions{gap:6px}.icon-button{border:1px solid var(--border);width:44px;min-width:44px;height:44px;color:var(--text);cursor:pointer;background:#ffffff09;border-radius:11px;place-items:center;padding:0;transition:all .16s;display:inline-grid}.icon-button:hover:not(:disabled){border-color:var(--border-strong);background:#ffffff14;transform:translateY(-1px)}.icon-button svg{width:17px;height:17px}.session-clock{border-left:1px solid var(--border);gap:9px;min-width:96px;padding-left:12px}.session-clock>svg{width:17px;color:var(--muted)}.session-clock div{display:grid}.session-clock span{text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;font-weight:700}.session-clock strong{font-variant-numeric:tabular-nums;font-size:1.08rem}.connection-bar{z-index:35;border:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0c1828e6;border-radius:15px;justify-content:space-between;gap:16px;margin:7px 0;padding:7px 10px 7px 13px;position:sticky;top:78px;box-shadow:0 10px 30px #00000026}.connection-bar--connected{background:#0b2727e6;border-color:#38d48840}.connection-bar--error{border-color:#fb5b6747}.connection-bar__status{gap:10px;min-width:0}.connection-indicator{background:#61748b;border-radius:50%;flex:0 0 9px;width:9px;height:9px;box-shadow:0 0 0 5px #61748b1a}.connection-bar--connected .connection-indicator{background:var(--green);box-shadow:0 0 0 5px #38d4881c,0 0 18px #38d48859}.connection-bar--connecting .connection-indicator{background:var(--amber);animation:1.2s infinite pulse}.connection-bar--error .connection-indicator{background:var(--red)}.connection-bar__status>div{min-width:0;display:grid}.connection-bar__status strong{font-size:.86rem}.connection-bar__status span{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.73rem;overflow:hidden}.connection-bar__actions,.button-row{flex-wrap:wrap;justify-content:flex-end;gap:8px}.button{color:#fff;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;gap:7px;min-height:44px;padding:0 14px;font-size:.78rem;font-weight:750;transition:all .16s}.button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.button svg{width:16px;height:16px}.button--primary{background:#2378e7;box-shadow:0 8px 22px #2378e733}.button--success{background:#168856;box-shadow:0 8px 22px #16885633}.button--warning{color:#17100a;background:var(--amber)}.button--danger{color:#ffb5bd;background:#7e202f57;border-color:#fb5b6773}.button--ghost{border-color:var(--border);color:#c4d0df;background:#ffffff09}.button--light{color:#62121c;background:#fff0f1}.spinner{border:2px solid #fff3;border-top-color:#fff;border-radius:50%;width:15px;height:15px;animation:.8s linear infinite spin}.alarm-banner,.message-banner{border-radius:14px;gap:12px;margin:10px 0;padding:12px 14px}.alarm-banner{color:#fff6f7;background:linear-gradient(100deg,#801b2bf0,#541622eb);border:1px solid #fb5b677a;align-items:flex-start;box-shadow:0 12px 34px #4b0e194d}.alarm-banner__icon{background:#ffffff1a;border-radius:10px;flex:0 0 36px;place-items:center;width:36px;height:36px;display:grid}.alarm-banner__icon svg{width:20px}.alarm-banner>div{flex:1}.alarm-banner strong{font-size:.92rem}.alarm-banner p{color:#ffd1d6;margin:3px 0 0;font-size:.78rem;line-height:1.45}.message-banner{color:#bedaff;background:#194b8238;border:1px solid #3b8fff38;min-height:46px;font-size:.78rem}.message-banner>svg{flex:0 0 18px;width:18px}.message-banner>span,.message-banner>div{flex:1}.message-banner>div{display:grid}.message-banner--error{color:#ffc4ca;background:#7e202f38;border-color:#fb5b6747}.connection-help{gap:3px}.connection-help p{color:#f5c5ca;margin:2px 0 0;line-height:1.4}.connection-help code{color:#fff1f3}.connection-help a{color:#fff;text-underline-offset:2px;font-weight:750}.connection-help a:hover,.connection-help a:focus-visible{color:#ffdbe0}.message-banner .icon-button{border:0;width:32px;min-width:32px;height:32px}.dashboard-grid{grid-template-columns:minmax(360px,.9fr) minmax(560px,1.35fr);align-items:start;gap:10px;display:grid}.dashboard-left,.dashboard-right{gap:10px;min-width:0;display:grid}.panel{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:15px}.panel-heading{justify-content:space-between;gap:16px;padding:12px 14px 6px}.panel-heading h2,.chart-heading h2,.modal__title h2{letter-spacing:-.02em;margin:2px 0 0;font-size:1rem}.eyebrow{color:#6f85a2;letter-spacing:.105em;text-transform:uppercase;margin:0;font-size:.64rem;font-weight:800}.status-pill{color:#72e7ae;background:var(--green-soft);border:1px solid #38d48833;border-radius:999px;gap:6px;min-height:30px;padding:0 10px;font-size:.7rem;font-weight:750}.status-pill svg{width:14px}.device-card{flex-direction:column;display:flex}.device-photo-wrap{aspect-ratio:1.85;background:radial-gradient(circle,#2766aa26,#0000 55%),#0a1625;border:1px solid #94a3b821;border-radius:15px;width:min(440px,100% - 20px);margin:4px auto 8px;position:relative;overflow:hidden}.device-photo{z-index:1;object-fit:contain;filter:drop-shadow(0 22px 30px #0000006b);width:94%;height:96%;position:absolute;inset:2% 3%}.heat-glow{z-index:2;aspect-ratio:1;filter:blur(12px);mix-blend-mode:screen;pointer-events:none;background:radial-gradient(circle,#ff4d28bf,#ff7b3133 42%,#0000 72%);border-radius:50%;width:18%;transition:opacity .3s;position:absolute;top:20%}.heat-glow--one{left:30%}.heat-glow--two{left:51%}.photo-reading{z-index:3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#050d17bd;border:1px solid #ffffff29;border-radius:9px;min-width:66px;padding:6px 8px;display:grid;position:absolute;top:4%;box-shadow:0 9px 28px #00000042}.photo-reading--one{left:23%}.photo-reading--two{left:59%}.photo-reading span{color:var(--muted);letter-spacing:.08em;font-size:.55rem;font-weight:800}.photo-reading strong{font-variant-numeric:tabular-nums;font-size:.9rem}.device-sources{gap:6px;padding:0 10px 10px;display:grid}.source-row{border:1px solid var(--border);background:#ffffff06;border-radius:12px;grid-template-columns:34px minmax(100px,1fr) auto;align-items:center;gap:10px;min-height:50px;padding:6px 9px;display:grid}.source-row--physical{background:#38d4880e;border-color:#38d48833}.source-icon{color:#81baff;background:var(--blue-soft);border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.source-row--physical .source-icon{color:#66dea1;background:var(--green-soft)}.source-icon svg{width:17px}.source-row>div:nth-child(2){display:grid}.source-row>div>strong{font-size:.78rem}.source-row>div>span{margin-top:2px;font-size:.67rem}.source-row dl{gap:16px;margin:0;display:flex}.source-row dl div{text-align:right;display:grid}.source-row dt{color:var(--subtle);font-size:.58rem;font-weight:800}.source-row dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:.82rem;font-weight:750}.control-panel{padding-bottom:10px}.panel-heading--controls{align-items:flex-end;padding-bottom:8px}.mode-switch button{min-width:86px;font-size:.72rem;font-weight:750}.mode-switch button.is-active:last-child{background:#168856;box-shadow:0 5px 16px #1688563b}.suggestion{color:#b9d5f8;background:#2969b01a;border:1px solid #3b8fff29;border-radius:11px;align-items:flex-start;gap:9px;margin:0 10px 8px;padding:7px 9px}.suggestion svg{flex:0 0 16px;width:16px;margin-top:1px}.suggestion p{margin:0;font-size:.7rem;line-height:1.45}.heater-grid,.setpoint-grid,.gain-grid,.stat-grid{display:grid}.heater-grid,.setpoint-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 10px}.heater-card,.setpoint-card{border:1px solid var(--border);background:#ffffff06;border-radius:13px;min-width:0;padding:10px}.setpoint-card{padding:8px}.heater-card--red,.setpoint-card--red{border-top-color:#fb5b677a}.heater-card--blue,.setpoint-card--blue{border-top-color:#4f9cff7a}.heater-card__heading{border-bottom:1px solid var(--border);justify-content:space-between;gap:8px;padding-bottom:10px}.heater-card__heading>div{color:#ff818a;gap:6px}.heater-card--blue .heater-card__heading>div{color:#70b0ff}.heater-card__heading svg{width:17px}.heater-card__heading strong{font-size:.8rem}.heater-card__heading>span{font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:800}.heater-card__heading small{color:var(--subtle);font-size:.54rem}.physical-inline{color:#76dba8;background:#38d48812;border-radius:8px;gap:5px;min-height:30px;margin-top:8px;padding:0 8px;font-size:.64rem}.physical-inline svg{width:13px}.power-field{gap:8px;margin-top:12px;display:grid}.section-label{color:#aebbd0;justify-content:space-between;gap:6px;font-size:.68rem;font-weight:700}.range-with-value{gap:9px}input[type=range]{width:100%;min-width:0;min-height:44px;accent-color:var(--blue);cursor:pointer}.heater-card--red input[type=range]{accent-color:var(--red)}.number-with-unit{border:1px solid var(--border);background:#0209116b;border-radius:9px;grid-template-columns:minmax(48px,1fr) auto;align-items:center;min-width:82px;height:46px;padding-right:9px;display:grid}.number-with-unit input{width:100%;min-width:0;height:100%;color:var(--text);font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;padding:0 4px 0 9px}.number-with-unit small{color:var(--muted);font-size:.63rem}.power-meter{background:#ffffff0f;border-radius:999px;height:5px;margin-top:10px;overflow:hidden}.power-meter span{border-radius:inherit;background:linear-gradient(90deg, #842d39, var(--red));height:100%;transition:width .18s;display:block}.heater-card--blue .power-meter span{background:linear-gradient(90deg, #1f4f89, var(--blue))}.pid-controls{gap:8px;display:grid}.setpoint-card__heading{color:#ff838c;justify-content:space-between;gap:7px;margin-bottom:6px}.setpoint-card--blue .setpoint-card__heading{color:#74b4ff}.setpoint-card__heading svg{width:17px}.setpoint-card__heading strong{margin-right:auto;font-size:.8rem}.setpoint-card__heading>span{color:var(--subtle);font-size:.6rem;font-weight:800}.setpoint-card>label{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:.68rem;display:flex}.number-with-unit--large{min-width:105px}.loop-readings{grid-template-columns:repeat(2,1fr);gap:7px;margin-top:5px;display:grid}.loop-readings>div{background:#ffffff09;border-radius:9px;padding:4px 6px;display:grid}.loop-readings span,.loop-readings small{color:var(--subtle);font-size:.58rem}.loop-readings strong{margin:2px 0;font-size:.78rem}.pid-gains{background:#38d4880a;border:1px solid #38d48829;border-radius:12px;margin:0 10px;padding:6px 9px}.gain-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:3px}.gain-field{gap:6px;display:grid}.gain-field>span{color:var(--muted);align-items:center;gap:5px;font-size:.64rem;font-weight:750;display:flex}.gain-field>input{border:1px solid var(--border);width:100%;min-width:0;height:44px;color:var(--text);background:#0209116b;border-radius:9px;outline:0;padding:0 10px}.gain-field>input:focus{border-color:#3b8fff94}.pid-type-panel{background:#2969b00e;border:1px solid #3b8fff2b;border-radius:12px;gap:4px;margin:0 10px;padding:6px 9px;display:grid}.pid-type-panel .section-label strong{color:#8fc2ff;font-size:.68rem}.pid-type-switch{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.pid-type-switch button{border:1px solid var(--border);min-height:44px;color:var(--muted);cursor:pointer;background:#02091159;border-radius:8px;padding:0 6px;font-size:.62rem;font-weight:750}.pid-type-switch button.is-active{color:#d8f8e8;background:#1688566b;border-color:#38d48866}.pid-type-meta{align-items:center;gap:8px;display:flex}.pid-reference-link{color:#bcd9ff;text-underline-offset:2px;padding:4px 0;font-size:.64rem}.pid-reference-link:hover,.pid-reference-link:focus-visible{color:#fff}.help-tip{z-index:10;display:inline-flex;position:relative}.help-tip[open]{z-index:25}.help-tip summary{color:#0000;cursor:help;background:0 0;border:0;place-items:center;width:44px;height:44px;margin:-11px;font-size:0;font-weight:900;list-style:none;display:grid;position:relative}.help-tip summary:after{border:1px solid var(--border-strong);color:#91a8c4;content:"?";background:#ffffff0a;border-radius:50%;place-items:center;width:22px;height:22px;font-size:.67rem;display:grid}.help-tip summary::-webkit-details-marker{display:none}.help-tip__content{z-index:50;border:1px solid var(--border-strong);color:#d7e1ee;background:#132239;border-radius:10px;width:min(270px,100vw - 40px);padding:10px 11px;font-size:.7rem;font-weight:500;line-height:1.45;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 15px 36px #0000006b}.charts-region{gap:10px;min-width:0;display:grid}.chart-loading{min-height:clamp(440px,60vh,620px);color:var(--muted);justify-content:center;align-items:center;gap:10px;font-size:.78rem;display:flex}.chart-block{min-width:0}.chart-heading{justify-content:space-between;align-items:flex-end;gap:12px;padding:0 4px 10px;display:flex}.chart-heading span{font-size:.66rem}.simulation-plot-toggle{color:#b8c8dc;cursor:pointer;align-items:center;gap:7px;min-height:32px;font-size:.68rem;font-weight:700;display:flex}.simulation-plot-toggle input{width:17px;height:17px;accent-color:var(--blue)}.device-plots{gap:10px;min-height:0;display:grid}.device-plot{grid-template-rows:auto minmax(0,1fr);min-width:0;height:clamp(440px,60vh,620px);min-height:0;display:grid;overflow:hidden}.device-plot__heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;min-height:30px;padding:4px 8px;display:flex}.device-plot__heading>strong{white-space:nowrap;font-size:.72rem}.plot-legend{color:#aebdd0;justify-content:flex-end;align-items:center;gap:8px;font-size:.58rem;display:flex}.plot-legend span{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.legend-line{background:currentColor;width:13px;height:2px}.legend-line--t1{color:#fb5b5b}.legend-line--t2{color:#4f9cff}.legend-line--setpoint{color:#fda4af;background:repeating-linear-gradient(90deg,currentColor 0 3px,#0000 3px 6px)}.device-subplots{grid-template-rows:minmax(0,2fr) minmax(0,1fr);min-height:0;display:grid}.subplot{min-width:0;min-height:0;position:relative}.subplot--temperature{border-bottom:1px solid var(--border)}.subplot__label{z-index:2;color:#889ab1;pointer-events:none;font-size:.55rem;font-weight:750;position:absolute;top:3px;left:47px}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.stat-card{border:1px solid var(--border);background:var(--panel-soft);border-radius:14px;align-items:flex-start;gap:10px;min-height:76px;padding:10px;box-shadow:0 13px 34px #0000002e}.stat-card--green{background:#184c3f59;border-color:#38d4883d}.stat-card__icon{color:#73b6ff;background:var(--blue-soft);border-radius:9px;flex:0 0 30px;place-items:center;width:30px;height:30px;display:grid}.stat-card--green .stat-card__icon{color:#69dfa4;background:var(--green-soft)}.stat-card__icon svg{width:16px}.stat-card>div{min-width:0;display:grid}.stat-card span{letter-spacing:.08em;text-transform:uppercase;font-size:.59rem;font-weight:800}.stat-card strong{text-overflow:ellipsis;white-space:nowrap;margin:4px 0;font-size:.84rem;overflow:hidden}.stat-card small{text-overflow:ellipsis;white-space:nowrap;font-size:.59rem;overflow:hidden}.app-footer{justify-content:space-between;gap:16px;min-height:38px;margin-top:4px;padding:0 4px;font-size:.7rem}.app-footer p{margin:0}.app-footer>div{gap:16px}.app-footer a{text-decoration:none}.app-footer a:hover{text-decoration:underline}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#02070ebd;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--border-strong);background:#101e30;border-radius:18px;width:min(680px,100%);max-height:min(860px,100vh - 36px);overflow:hidden;box-shadow:0 30px 90px #00000080}.modal--compact{width:min(560px,100%)}.modal__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:76px;padding:13px 16px;display:flex}.modal__title{gap:11px}.modal__icon{color:#80bbff;background:var(--blue-soft);border-radius:11px;place-items:center;width:40px;height:40px;display:grid}.modal__icon--green{color:#70e0a8;background:var(--green-soft)}.modal__icon svg{width:19px}.modal__body{max-height:calc(100vh - 210px);padding:16px;overflow-y:auto}.modal__footer{border-top:1px solid var(--border);background:#ffffff05;justify-content:space-between;gap:12px;min-height:70px;padding:12px 16px}.modal__footer--end{justify-content:flex-end}.settings-list{gap:8px;display:grid}.settings-section-label{color:#7eaee8;letter-spacing:.08em;text-transform:uppercase;margin:8px 2px 0;font-size:.68rem;font-weight:800}.settings-lock-note{color:#ffc4ca;margin:-2px 4px 2px;font-size:.7rem}.setting-field{border:1px solid var(--border);background:#ffffff05;border-radius:11px;grid-template-columns:minmax(160px,.75fr) minmax(260px,1.25fr);align-items:center;gap:16px;min-height:68px;padding:10px 11px;display:grid}.setting-field__label{color:#c8d3e1;justify-content:space-between;align-items:center;gap:8px;font-size:.73rem;font-weight:700;display:flex}.setting-field__control{grid-template-columns:minmax(100px,1fr) 112px;align-items:center;gap:11px;display:grid}.safety-note{color:#c7edda;background:#38d4880f;border:1px solid #38d48830;border-radius:11px;align-items:flex-start;gap:10px;padding:11px}.safety-note svg{color:#63dca0;flex:0 0 19px;width:19px}.safety-note p{margin:0;font-size:.72rem;line-height:1.5}.arm-summary{border:1px solid var(--border);border-radius:11px;gap:0;margin:14px 0 0;display:grid;overflow:hidden}.arm-summary div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:45px;padding:8px 11px;display:flex}.arm-summary div:last-child{border-bottom:0}.arm-summary dt{color:var(--muted);font-size:.7rem}.arm-summary dd{text-align:right;margin:0;font-size:.72rem;font-weight:750}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.45;transform:scale(.82)}}@media (min-width:1261px){.dashboard-grid{grid-template-columns:minmax(420px,.82fr) minmax(620px,1.35fr)}.dashboard-left{grid-column:1;grid-template-columns:1fr;align-items:start}.device-card,.control-panel{height:auto}.device-photo-wrap{aspect-ratio:1.85;flex:none;min-height:0;max-height:none}.dashboard-right{grid-column:2}}@media (max-width:1260px){.dashboard-grid{grid-template-columns:minmax(340px,.86fr) minmax(520px,1.14fr)}.header-tools{gap:8px}.speed-control{grid-template-columns:auto minmax(54px,1fr) 26px}.time-window button{padding:0 9px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1040px){.app-header{align-items:flex-start;gap:12px;position:relative}.header-tools{flex-wrap:wrap}.time-window{order:3;width:100%}.connection-bar{top:10px}.dashboard-grid{grid-template-columns:1fr}.dashboard-left{grid-template-columns:minmax(340px,.9fr) minmax(420px,1.1fr);align-items:stretch}.device-card,.control-panel{height:100%}}@media (max-width:820px){.app-shell{padding:8px 8px max(12px, env(safe-area-inset-bottom))}.app-header{border-radius:15px;flex-direction:column;padding:11px}.brand{width:100%}.header-tools{justify-content:space-between;width:100%}.time-window{width:100%}.speed-control{flex:160px}.time-window button{min-width:0;padding:0 6px}.session-clock{margin-left:auto}.connection-bar{flex-direction:column;align-items:stretch;gap:10px;padding:11px}.connection-bar__actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.connection-bar__actions .button--danger:last-child:nth-child(odd){grid-column:1/-1}.dashboard-left{grid-template-columns:1fr}.device-card,.control-panel{height:auto}.alarm-banner{grid-template-columns:36px 1fr;display:grid}.alarm-banner .button{grid-column:1/-1;width:100%}.device-plot{height:420px}.modal-backdrop{align-items:end;padding:0}.modal{width:100%;max-height:calc(100vh - max(8px, env(safe-area-inset-top)));border-radius:18px 18px 0 0}.modal__footer{padding-bottom:max(12px, env(safe-area-inset-bottom))}.setting-field{grid-template-columns:1fr;gap:9px}}@media (max-width:560px){.brand__mark{flex-basis:40px;width:40px;height:40px}.brand p{display:none}.speed-control{flex-basis:100%;order:2;grid-template-columns:auto minmax(100px,1fr) 28px;width:100%}.header-tools{grid-template-columns:1fr auto;display:grid}.header-actions{grid-template-columns:repeat(4,44px);display:grid}.session-clock{min-width:78px;padding-left:8px}.time-window{grid-column:1/-1}.panel-heading{padding:14px 13px 7px}.panel-heading--controls{flex-direction:column;align-items:stretch}.mode-switch{width:100%}.device-photo-wrap{width:calc(100% - 20px);margin:7px 10px 10px}.photo-reading{min-width:56px;padding:5px 6px}.photo-reading strong{font-size:.76rem}.device-sources{padding:0 10px 10px}.source-row{grid-template-columns:32px 1fr}.source-row dl{border-top:1px solid var(--border);grid-column:1/-1;justify-content:flex-end;padding-top:7px}.heater-grid,.setpoint-grid{grid-template-columns:1fr;padding:0 10px}.pid-gains{margin:0 10px}.gain-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gain-field>input{padding:0 7px}.chart-heading{flex-direction:column;align-items:flex-start;gap:4px}.device-plot{height:390px}.device-plot__heading{flex-direction:column;align-items:flex-start;gap:3px}.plot-legend{justify-content:flex-start;width:100%}.stat-grid{grid-template-columns:1fr 1fr;gap:8px}.stat-card{min-height:100px;padding:11px}.stat-card__icon{display:none}.app-footer{flex-direction:column;align-items:flex-start;padding:10px 4px}.modal__footer{flex-direction:column;align-items:stretch}.modal__footer .button-row,.modal__footer .button{width:100%}.setting-field__control{grid-template-columns:minmax(100px,1fr) 98px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
