@font-face{font-family:Noto Sans SC;src:url(/fonts/noto-sans-sc-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Noto Sans SC;src:url(/fonts/noto-sans-sc-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Noto Sans SC;src:url(/fonts/noto-sans-sc-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Barlow;src:url(/fonts/barlow-300.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Barlow;src:url(/fonts/barlow-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Barlow;src:url(/fonts/barlow-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Barlow;src:url(/fonts/barlow-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--bg: #040d15;--bg-deep: #02080d;--panel: #081520;--panel-strong: #0a1925;--panel-soft: #0c1d2a;--line: #193245;--line-soft: rgba(56, 91, 117, .34);--text: #e9f5fc;--text-soft: #b5c9d8;--muted: #758da1;--dim: #4b6477;--cyan: #29c8ff;--cyan-strong: #65dcff;--blue: #2e9fff;--green: #45d795;--amber: #ffb347;--orange: #ff7c3a;--red: #ff5266;--violet: #a493ff;--font-ui: "Noto Sans SC", "Microsoft YaHei", sans-serif;--font-num: "Barlow", "Arial Narrow", sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%}body{margin:0;overflow:hidden;background:#02060a;color:var(--text);font-family:var(--font-ui);font-size:12px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font:inherit;color:inherit;border:0;cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,input:focus-visible{outline:1px solid var(--cyan);outline-offset:2px}::selection{color:#02121b;background:var(--cyan)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:#060f17b3}::-webkit-scrollbar-thumb{background:#234258;border-radius:10px}.frame-viewport{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(ellipse 70% 62% at 50% 46%,rgba(10,43,65,.38),transparent 72%),#02070b}.frame-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.22;background-image:linear-gradient(to right,rgba(70,112,143,.15) 1px,transparent 1px),linear-gradient(to bottom,rgba(70,112,143,.15) 1px,transparent 1px);background-size:62px 62px;-webkit-mask-image:radial-gradient(ellipse 58% 54% at 50% 50%,#000 10%,transparent 78%);mask-image:radial-gradient(ellipse 58% 54% at 50% 50%,#000 10%,transparent 78%);pointer-events:none}.design-stage{position:relative;flex:0 0 auto;overflow:hidden;box-shadow:0 30px 120px #000000b3}.design-frame{position:absolute;top:0;left:0;overflow:hidden;background:var(--bg)}.app-shell{position:relative;display:grid;grid-template-columns:226px minmax(0,1fr) 376px;width:100%;height:100%;overflow:hidden;background:radial-gradient(ellipse 34% 44% at 44% 0%,rgba(18,75,108,.2),transparent 72%),linear-gradient(180deg,#07131e,#050e17)}.app-shell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:90;pointer-events:none;opacity:.16;background-image:linear-gradient(to right,rgba(75,121,151,.08) 1px,transparent 1px),linear-gradient(to bottom,rgba(75,121,151,.08) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:radial-gradient(ellipse 72% 82% at 48% 46%,transparent 0%,#000 100%);mask-image:radial-gradient(ellipse 72% 82% at 48% 46%,transparent 0%,#000 100%)}.sidebar{position:relative;z-index:5;height:100%;min-width:0;display:flex;flex-direction:column;padding:20px 16px 14px;overflow:hidden;background:linear-gradient(180deg,#0e2230c2,#050e16f0 54%),#06111b;border-right:1px solid var(--line)}.sidebar:before{content:"";position:absolute;top:0;right:-1px;width:1px;height:240px;background:linear-gradient(180deg,rgba(41,200,255,.55),transparent);opacity:.6}.brand{display:flex;align-items:center;gap:10px;min-height:48px;padding-bottom:14px;border-bottom:1px solid rgba(56,92,116,.24)}.brand__mark{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;color:var(--cyan);background:linear-gradient(145deg,#1e5b764d,#07141f5c);border:1px solid rgba(49,139,174,.56);border-radius:8px;box-shadow:inset 0 1px #d2f6ff1a,0 0 24px #14a4d51f}.brand__mark svg{width:31px;height:31px}.brand__copy{display:flex;flex-direction:column;gap:2px;min-width:0}.brand__copy span{font-family:var(--font-num);font-size:7.5px;font-weight:500;letter-spacing:.13em;color:#6f92a8;white-space:nowrap}.brand__copy strong{font-size:18px;font-weight:600;line-height:1.22;color:#f0f8fe;letter-spacing:.02em;white-space:nowrap}.system-card{position:relative;margin-top:14px;padding:11px 11px 10px;background:radial-gradient(ellipse 120% 100% at 100% 0%,rgba(34,183,217,.1),transparent 68%),#0a1925b8;border:1px solid rgba(29,68,89,.68);border-radius:5px;overflow:hidden}.system-card:before{content:"";position:absolute;top:0;left:0;width:2px;height:100%;background:var(--green);opacity:.75}.system-card.is-stopped:before{background:var(--dim)}.system-card__head{display:flex;align-items:center;gap:7px}.status-orb{width:9px;height:9px;display:grid;place-items:center;border:1px solid rgba(69,215,149,.48);border-radius:50%}.status-orb i{width:4px;height:4px;border-radius:50%;background:var(--green);box-shadow:0 0 8px #45d795cc;animation:orb-breathe 2.4s ease-in-out infinite}.system-card.is-stopped .status-orb{border-color:#758da14d}.system-card.is-stopped .status-orb i{background:var(--dim);box-shadow:none;animation:none}.system-card__head b{font-size:11px;font-weight:500;color:#dcecf6}.system-card__mode{margin-left:auto;padding:2px 5px;font-family:var(--font-num);font-size:7.5px;letter-spacing:.1em;color:var(--cyan);background:#29c8ff14;border:1px solid rgba(41,200,255,.2);border-radius:2px}.system-card p{margin:8px 0 9px;color:#6d879a;font-size:8.5px;letter-spacing:.025em}.system-card__meta{display:flex;justify-content:space-between;padding-top:7px;border-top:1px solid rgba(44,72,91,.34);color:#627c8d;font-size:8px}.system-card__meta span{display:inline-flex;align-items:center;gap:3px}.system-card__meta .is-ok{color:var(--green)}.system-card__meta .is-warn{color:var(--amber)}.side-label{display:flex;align-items:center;gap:8px;margin:16px 2px 7px;font-family:var(--font-num);font-size:7.5px;font-weight:500;letter-spacing:.16em;color:#536f84}.side-label i{flex:1;height:1px;background:linear-gradient(90deg,rgba(55,88,110,.36),transparent)}.side-label--metrics{margin-top:13px}.side-nav{display:flex;flex-direction:column;gap:3px}.side-nav button{position:relative;display:flex;align-items:center;gap:9px;width:100%;min-height:45px;padding:7px 8px;text-align:left;background:transparent;border:1px solid transparent;border-radius:4px;color:#7791a4;transition:color .16s ease,background .16s ease,border-color .16s ease}.side-nav button:hover{color:#c3dbe8;background:#1e435938}.side-nav button.is-active{color:#dff7ff;background:linear-gradient(90deg,#14678947,#091d2c3d);border-color:#238eb259}.side-nav button.is-active:before{content:"";position:absolute;left:-1px;top:8px;bottom:8px;width:2px;border-radius:2px;background:var(--cyan);box-shadow:0 0 12px #29c8ff99}.side-nav button>svg:first-child{flex:0 0 auto;color:#66879b}.side-nav button.is-active>svg:first-child{color:var(--cyan)}.side-nav button>span{display:flex;flex-direction:column;gap:2px;min-width:0}.side-nav button b{font-size:10.5px;font-weight:500;letter-spacing:.025em}.side-nav button small{font-family:var(--font-num);font-size:7.5px;letter-spacing:.08em;color:#4f6d81}.side-nav .nav-arrow{margin-left:auto;color:#4e6d80;opacity:.8}.side-nav .nav-count{min-width:17px;padding:1px 4px;font-family:var(--font-num);font-size:7.5px;font-style:normal;text-align:center;color:#77a9bd;background:#204e6357;border:1px solid rgba(54,112,135,.26);border-radius:2px}.side-nav .nav-count.is-alarm{color:var(--red);background:#ff526614;border-color:#ff52663d}.side-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.side-metric{display:flex;align-items:center;gap:7px;min-height:51px;padding:7px;background:#0b1a279e;border:1px solid rgba(29,59,78,.55);border-radius:4px}.side-metric__icon{width:27px;height:27px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(50,88,108,.42);border-radius:4px;color:#7899ad;background:#15334547}.side-metric__icon.is-temp{color:var(--amber);border-color:#ffb34738;background:#ffb3470f}.side-metric__icon.is-level{color:var(--cyan);border-color:#29c8ff38;background:#29c8ff0f}.side-metric__icon.is-oil{color:#efc76a}.side-metric__icon.is-water{color:#7cbcff}.side-metric__copy{display:flex;flex-direction:column;gap:1px;min-width:0}.side-metric__copy small{font-size:8px;color:#657f90;white-space:nowrap}.side-metric__copy b{font-family:var(--font-num);font-size:16px;font-weight:500;line-height:1;color:#dceef7;white-space:nowrap}.side-metric__copy b em{margin-left:2px;font-family:var(--font-ui);font-size:8px;font-style:normal;color:#6f8a9c}.alarm-summary{position:relative;margin-top:11px;padding:9px 10px 8px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;text-align:left;background:linear-gradient(135deg,#112734db,#07131deb);border:1px solid rgba(34,70,89,.58);border-radius:4px;overflow:hidden}.alarm-summary:after{content:"";position:absolute;right:-12px;bottom:-18px;width:64px;height:64px;border:1px solid rgba(53,97,118,.14);border-radius:50%}.alarm-summary.has-alarm{border-color:#ff52668f;background:radial-gradient(ellipse 100% 100% at 100% 0%,rgba(255,82,102,.11),transparent 64%),linear-gradient(135deg,#221920d9,#09131ceb);box-shadow:0 0 14px #ff52662e,inset 0 0 10px #ff52660f}.alarm-summary.has-alarm:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 30px #ff526647;opacity:.2;animation:alarm-card-glow 2.8s linear infinite;will-change:opacity}.alarm-summary__head{display:flex;align-items:center;justify-content:space-between;width:100%;font-family:var(--font-num);font-size:7.5px;letter-spacing:.1em;color:#6f899b}.alarm-summary__head span{display:flex;align-items:center;gap:4px}.alarm-summary__head b{font-size:16px;font-weight:500;color:#8fa9b9}.alarm-summary.has-alarm .alarm-summary__head b{color:var(--red)}.alarm-summary strong{font-size:9.5px;font-weight:500;color:#d0e1eb}.alarm-summary small{width:100%;font-size:8px;line-height:1.5;color:#657d8e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-master{margin-top:12px;padding:9px 9px 8px;border:1px solid rgba(55,89,104,.52);border-radius:5px;background:radial-gradient(ellipse 100% 80% at 100% 0%,rgba(41,200,255,.05),transparent 65%),linear-gradient(145deg,#0c1f2be0,#051018f0)}.side-master.is-running{border-color:#45d7954d;background:radial-gradient(ellipse 100% 80% at 100% 0%,rgba(69,215,149,.08),transparent 65%),linear-gradient(145deg,#0c2320e0,#051018f0)}.side-master.is-stopped{border-color:#ffb3475c;background:radial-gradient(ellipse 100% 80% at 100% 0%,rgba(255,179,71,.09),transparent 65%),linear-gradient(145deg,#2d2112e0,#051018f0)}.side-master__head{display:flex;align-items:center;justify-content:space-between;gap:5px}.side-master__head>span{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-num);font-size:6.2px;letter-spacing:.09em;color:#6e8c9d}.side-master__head>em{font-family:var(--font-num);font-size:6px;font-style:normal;letter-spacing:.1em;color:#5b7a8b}.side-master__state{display:flex;align-items:center;gap:5px;margin-top:7px}.side-master__state>i{width:6px;height:6px;border-radius:50%;background:#7893a1}.side-master.is-running .side-master__state>i{background:var(--green);box-shadow:0 0 8px #45d795cc;animation:orb-breathe 2.4s ease-in-out infinite}.side-master.is-stopped .side-master__state>i{background:var(--amber);box-shadow:0 0 7px #ffb3478c}.side-master__state>span{font-size:8px;color:#a7bfca}.side-master__btn{width:100%;height:46px;margin-top:8px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.08em;transition:filter .16s ease,box-shadow .16s ease}.side-master.is-running .side-master__btn{color:#21080d;background:linear-gradient(180deg,#ff9ca6,#ff5266);border:1px solid rgba(255,181,190,.7);box-shadow:0 0 20px #ff526638,inset 0 1px #ffffff4d}.side-master.is-stopped .side-master__btn{color:#04150e;background:linear-gradient(180deg,#8ce8b8,#45d795);border:1px solid rgba(166,255,210,.65);box-shadow:0 0 20px #45d79533,inset 0 1px #ffffff4d}.side-master.is-running .side-master__btn:hover{filter:brightness(1.08);box-shadow:0 0 25px #ff526657}.side-master.is-stopped .side-master__btn:hover{filter:brightness(1.08);box-shadow:0 0 25px #45d79552}.side-master>small{display:block;margin-top:7px;font-size:6.3px;line-height:1.5;color:#5f7b8b}.sidebar__foot{margin-top:auto;padding-top:12px;border-top:1px solid rgba(40,69,87,.34)}.sidebar__runtime{display:flex;align-items:flex-end;justify-content:space-between;gap:6px;padding:0 1px 8px}.sidebar__runtime span{font-family:var(--font-num);font-size:7px;letter-spacing:.13em;color:#4e6b7d}.sidebar__runtime b{font-family:var(--font-num);font-size:14px;font-weight:500;color:#85a4b6;letter-spacing:.04em}.sidebar__stamp{display:flex;justify-content:space-between;gap:4px;padding:0 1px;font-family:var(--font-num);font-size:7px;letter-spacing:.06em;color:#3f596b}.sidebar__clock{display:flex;align-items:baseline;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid rgba(40,69,87,.26)}.sidebar__clock b{font-family:var(--font-num);font-size:13px;font-weight:400;color:#a4bdcb;letter-spacing:.06em}.sidebar__clock span{font-family:var(--font-num);font-size:7px;color:#4a6577;letter-spacing:.04em}.hmi-main{position:relative;z-index:2;min-width:0;height:100%;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse 55% 42% at 52% 0%,rgba(16,66,94,.16),transparent 72%)}.hmi-header{flex:0 0 auto;min-height:91px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:19px 26px 13px;border-bottom:1px solid rgba(30,62,82,.48);background:linear-gradient(180deg,#081520d1,#06111b33)}.hmi-header__title{min-width:0;padding-top:1px}.breadcrumb{display:flex;align-items:center;gap:7px;color:#5e7b8e;font-size:8.5px;letter-spacing:.04em}.breadcrumb i{font-style:normal;color:#345063}.title-line{display:flex;align-items:center;gap:10px;margin-top:8px}.title-line h1{margin:0;font-size:27px;line-height:1.14;font-weight:600;letter-spacing:.01em;color:#f2faff}.run-tag,.model-tag{display:inline-flex;align-items:center;gap:5px;height:21px;padding:0 7px;font-family:var(--font-num);font-size:8px;font-weight:500;letter-spacing:.06em;border-radius:3px}.run-tag{color:var(--green);background:#45d79514;border:1px solid rgba(69,215,149,.24)}.run-tag.is-off{color:var(--amber);background:#ffb34712;border-color:#ffb34733}.run-tag i{width:4px;height:4px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.model-tag{color:#7a9bad;background:#18354661;border:1px solid rgba(48,84,104,.48)}.hmi-header__sub{margin:7px 0 0;font-size:9px;letter-spacing:.03em;color:#6a8497}.hmi-header__right{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex:0 0 auto}.header-chips{display:flex;align-items:center;justify-content:flex-end;gap:5px}.head-chip{height:25px;display:inline-flex;align-items:center;gap:4px;padding:0 7px;color:#7e98aa;background:#0c1d2985;border:1px solid rgba(40,72,91,.54);border-radius:3px;font-size:8px;white-space:nowrap}button.head-chip{transition:border-color .16s ease,color .16s ease,background .16s ease}button.head-chip:hover{color:#d7edf8;border-color:#397891b3}.head-chip--power.is-live{color:var(--green);border-color:#45d79538;background:#45d7950f}.head-chip--power.is-off{color:var(--amber);border-color:#ffb3473d;background:#ffb3470f}.head-chip--flow.is-live{color:#65cfff;border-color:#29c8ff33;background:#29c8ff0d}.head-chip--flow.is-warn{color:var(--amber);border-color:#ffb34742;background:#ffb34712}.head-chip--mode.auto{color:#9fd7e9}.head-chip--mode.manual{color:var(--amber);border-color:#ffb3473d}.head-chip--comm{color:#71aa8e}.head-chip--admin.is-locked{color:#d0a167;border-color:#ffb34747;background:#ffb3470f}.head-chip--admin.is-admin{color:var(--green);border-color:#45d7954d;background:#45d7950f}.head-chip--alarm.has-alarm{color:var(--red);border-color:#ff52664d;background:#ff52660f;animation:alarm-soft 2.6s ease-in-out infinite}.header-clock{display:flex;align-items:center;gap:7px;min-width:178px;justify-content:flex-end;padding-top:1px}.header-clock__icon{width:25px;height:25px;display:grid;place-items:center;color:#698699;border:1px solid rgba(41,74,93,.45);border-radius:50%;background:#10243252}.header-clock b{display:block;font-family:var(--font-num);font-size:18px;line-height:1;font-weight:400;letter-spacing:.06em;color:#d4e8f2}.header-clock span{display:block;margin-top:3px;font-family:var(--font-num);font-size:7.5px;letter-spacing:.07em;color:#577386}.header-clock__pulse{width:4px;height:4px;margin-left:2px;border-radius:50%;background:var(--green);box-shadow:0 0 9px #45d795cc;animation:orb-breathe 2.6s ease-in-out infinite}.stage{flex:1;min-height:0;display:flex;flex-direction:column;padding:0 24px 15px}.stage-toolbar{flex:0 0 auto;height:42px;display:flex;align-items:center;justify-content:space-between;gap:14px}.stage-mode{display:flex;align-items:center;gap:6px;color:#d9eff7;font-size:9px}.stage-mode svg{color:var(--cyan)}.stage-mode b{font-weight:500}.stage-mode span{margin-left:4px;font-family:var(--font-num);font-size:6.5px;letter-spacing:.11em;color:#4f778a}.stage-toolbar__meta{display:flex;align-items:center;gap:11px;color:#5f7a8e;font-size:8px}.stage-toolbar__meta>span:first-child{display:inline-flex;align-items:center;gap:4px;color:#68a3b8}.stage-toolbar__legend{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.stage-toolbar__legend i{width:4px;height:4px;border-radius:50%;margin-left:2px}.stage-toolbar__legend i.is-run,.dot.is-green{background:var(--green);box-shadow:0 0 7px #45d795a6}.stage-toolbar__legend i.is-idle{background:#6a8394}.stage-toolbar__legend i.is-alarm,.dot.is-red{background:var(--red);box-shadow:0 0 7px #ff52668c}.dot.is-cyan{background:var(--cyan);box-shadow:0 0 7px #29c8ff8f}.dot.is-amber{background:var(--amber);box-shadow:0 0 7px #ffb3478f}.dot{width:5px;height:5px;flex:0 0 auto;display:inline-block;border-radius:50%}.points-shortcut{height:27px;display:inline-flex;align-items:center;gap:5px;padding:0 8px;color:#8eb3c4;background:#1027368f;border:1px solid rgba(45,86,106,.56);border-radius:3px;font-size:8px;transition:border-color .16s ease,color .16s ease}.points-shortcut:hover{color:var(--cyan);border-color:#29c8ff66}.points-shortcut b{padding:1px 3px;font-family:var(--font-num);font-size:7px;font-weight:500;color:var(--cyan);background:#29c8ff14;border-radius:2px}.stage-body{position:relative;flex:1;min-height:0;overflow:hidden;background:linear-gradient(180deg,#091823db,#050e16eb);border:1px solid rgba(31,65,84,.62);border-radius:7px;box-shadow:inset 0 1px #86cfe709,0 12px 30px #00000029}.stage-body:before{content:"";position:absolute;top:0;left:20px;width:180px;height:1px;background:linear-gradient(90deg,var(--cyan),transparent);opacity:.55;z-index:4}.twin-stage{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:radial-gradient(ellipse 55% 62% at 51% 48%,rgba(24,65,84,.26),transparent 70%),linear-gradient(180deg,#081620,#06111b)}.twin-stage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.38;background-image:linear-gradient(to right,rgba(67,111,137,.085) 1px,transparent 1px),linear-gradient(to bottom,rgba(67,111,137,.085) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:radial-gradient(ellipse 64% 68% at 51% 50%,#000 18%,transparent 80%);mask-image:radial-gradient(ellipse 64% 68% at 51% 50%,#000 18%,transparent 80%);pointer-events:none}.twin-stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(4,13,20,.72),transparent 16%,transparent 84%,rgba(4,13,20,.7)),linear-gradient(180deg,rgba(4,13,20,.52),transparent 18%,transparent 82%,rgba(4,13,20,.5));pointer-events:none;z-index:1}.twin-meta{position:absolute;top:18px;left:23px;z-index:6}.twin-kicker{display:block;font-family:var(--font-num);font-size:7.5px;font-weight:500;letter-spacing:.16em;color:#4f8297}.twin-meta p{margin:5px 0 0;font-size:9px;letter-spacing:.035em;color:#7595a9}.twin-live{position:absolute;top:20px;right:24px;z-index:6;display:flex;align-items:center;gap:5px;padding:4px 6px;font-family:var(--font-num);font-size:7.5px;letter-spacing:.12em;color:var(--green);border:1px solid rgba(69,215,149,.22);background:#113a2c3b;border-radius:2px}.twin-live i{width:4px;height:4px;border-radius:50%;background:currentColor;box-shadow:0 0 7px currentColor;animation:orb-breathe 2.4s ease-in-out infinite}.twin-live.is-off{color:var(--amber);border-color:#ffb34738;background:#48341838}.twin-orbit{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;z-index:0}.twin-orbit--outer{width:610px;height:610px;border:1px solid rgba(52,123,151,.16);box-shadow:inset 0 0 80px #1c63820a}.twin-orbit--inner{width:470px;height:470px;border:1px dashed rgba(52,131,163,.2);animation:orbit-spin 60s linear infinite}.twin-axis{position:absolute;left:50%;top:51%;width:740px;height:1px;transform:translate(-50%,-50%);background:linear-gradient(90deg,transparent,rgba(49,123,150,.24) 24%,transparent 50%,rgba(49,123,150,.24) 76%,transparent);pointer-events:none}.twin-axis:after{content:"";position:absolute;left:50%;top:-260px;width:1px;height:520px;background:linear-gradient(180deg,transparent,rgba(49,123,150,.18),transparent)}.twin-floor-glow{position:absolute;left:50%;bottom:54px;width:560px;height:88px;transform:translate(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(44,138,163,.19),transparent 68%);filter:blur(9px);pointer-events:none}.twin-image-wrap{position:absolute;left:50%;top:51%;height:86%;max-height:548px;aspect-ratio:1565 / 1306;transform:translate(-50%,-50%);z-index:2}.twin-image{width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:brightness(.94) contrast(1.06) saturate(.82) drop-shadow(0 25px 26px rgba(0,0,0,.52)) drop-shadow(0 0 24px rgba(34,145,178,.1))}.twin-scanline{position:absolute;left:4%;right:4%;top:12%;height:1px;background:linear-gradient(90deg,transparent,rgba(61,214,255,.55),transparent);opacity:.4;animation:scan-line 7s ease-in-out infinite;pointer-events:none}.hotspot{position:absolute;z-index:7;width:1px;height:1px;padding:0;background:transparent;color:var(--cyan);overflow:visible}.hotspot__dot{position:absolute;left:-7px;top:-7px;width:14px;height:14px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;background:#041018b8;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 8%,transparent),0 0 15px color-mix(in srgb,currentColor 48%,transparent);transition:transform .18s ease,box-shadow .18s ease}.hotspot__dot i{width:4px;height:4px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.hotspot:hover .hotspot__dot,.hotspot.is-active .hotspot__dot{transform:scale(1.25);box-shadow:0 0 0 4px color-mix(in srgb,currentColor 13%,transparent),0 0 22px color-mix(in srgb,currentColor 70%,transparent)}.hotspot__tag{position:absolute;display:flex;align-items:center;gap:6px;min-width:119px;padding:6px 15px 6px 7px;text-align:left;background:linear-gradient(135deg,#0a1b27f0,#051019e6);border:1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:4px;box-shadow:0 8px 24px #00000052;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);white-space:nowrap;transition:border-color .16s ease,background .16s ease}.hotspot:hover .hotspot__tag,.hotspot.is-active .hotspot__tag{border-color:color-mix(in srgb,currentColor 64%,transparent);background:linear-gradient(135deg,#0e2633f7,#06141ef0)}.hotspot--left .hotspot__tag{right:20px;top:50%;transform:translateY(-50%)}.hotspot--right .hotspot__tag{left:20px;top:50%;transform:translateY(-50%)}.hotspot--top .hotspot__tag{bottom:20px;left:50%;transform:translate(-50%)}.hotspot--bottom .hotspot__tag{top:20px;left:50%;transform:translate(-50%)}.hotspot__icon{width:21px;height:21px;flex:0 0 auto;display:grid;place-items:center;color:currentColor;background:color-mix(in srgb,currentColor 8%,transparent);border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:3px}.hotspot__icon.is-spinning,.hotspot__icon.is-airflow{box-shadow:inset 0 0 10px color-mix(in srgb,currentColor 16%,transparent),0 0 10px color-mix(in srgb,currentColor 22%,transparent)}.hotspot__icon.is-spinning svg{animation:hotspot-fan-spin 1.4s linear infinite;transform-origin:50% 50%}.hotspot__icon.is-airflow svg{animation:hotspot-air-drift 1.3s ease-in-out infinite}.hotspot__bar{position:absolute;right:-1px;top:50%;width:3px;height:26px;transform:translateY(-50%);border-radius:2px 0 0 2px;background:color-mix(in srgb,currentColor 30%,transparent);opacity:.42}.hotspot__bar.is-breathing{background:currentColor;box-shadow:0 0 10px currentColor;animation:hotspot-bar-breathe 1.8s ease-in-out infinite;will-change:opacity}.hotspot__copy{display:flex;flex-direction:column;gap:2px}.hotspot__copy small{font-size:7.5px;font-weight:400;letter-spacing:.015em;color:#7997a8}.hotspot__copy b{font-family:var(--font-num);font-size:10px;font-weight:500;letter-spacing:.025em;color:color-mix(in srgb,currentColor 76%,#fff)}.hotspot__detail{position:absolute;left:50%;bottom:-15px;transform:translate(-50%);white-space:nowrap;font-size:7px;color:#6f8c9d}.hotspot.tone-muted{color:#71899a}.hotspot.tone-green{color:var(--green)}.hotspot.tone-cyan{color:var(--cyan)}.hotspot.tone-orange{color:var(--orange)}.hotspot.tone-amber{color:var(--amber)}.hotspot.tone-alarm{color:var(--red);animation:hotspot-alarm 1.4s ease-in-out infinite}.twin-bottom-bar{position:absolute;left:23px;bottom:17px;z-index:6;display:flex;align-items:center;gap:15px;padding:5px 8px;color:#6e899b;background:#06121b9e;border:1px solid rgba(35,65,82,.36);border-radius:3px;font-family:var(--font-num);font-size:7.5px;letter-spacing:.03em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.twin-bottom-bar span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.twin-flow-label{position:absolute;right:24px;bottom:18px;z-index:6;display:flex;align-items:center;gap:5px;font-size:7.5px;letter-spacing:.035em;color:#527f90}.twin-flow-label svg{color:var(--cyan)}.process-rail{flex:0 0 auto;height:99px;display:flex;align-items:stretch;gap:17px;padding-top:10px;margin-top:1px;border-top:1px solid rgba(30,62,82,.4)}.process-rail__label{width:62px;flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;gap:8px}.process-rail__label span{font-family:var(--font-num);font-size:7px;line-height:1.5;letter-spacing:.14em;color:#4e7084}.process-rail__label i{width:28px;height:1px;background:linear-gradient(90deg,var(--cyan),transparent);opacity:.62}.process-track{flex:1;min-width:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.process-step{position:relative;min-width:0;padding:7px 7px 6px;background:linear-gradient(180deg,#0b1c28a8,#07131c70);border:1px solid rgba(30,62,81,.4);border-radius:4px;overflow:visible}.process-step:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:2px;border-radius:0 2px 2px 0;background:var(--step-color);opacity:.38}.process-step.is-active:before{opacity:1;box-shadow:0 0 10px var(--step-color);animation:process-bar-breathe 2.4s ease-in-out infinite;will-change:opacity}.process-step__top{display:flex;align-items:flex-start;justify-content:space-between}.process-step__icon{width:25px;height:25px;display:grid;place-items:center;color:var(--step-color);background:color-mix(in srgb,var(--step-color) 7%,transparent);border:1px solid color-mix(in srgb,var(--step-color) 20%,transparent);border-radius:3px}.process-step.is-active .process-step__icon{box-shadow:0 0 14px color-mix(in srgb,var(--step-color) 18%,transparent)}.process-step__no{font-family:var(--font-num);font-size:7px;letter-spacing:.06em;color:#496779}.process-step__copy{display:flex;flex-direction:column;gap:1px;margin-top:5px}.process-step__copy b{font-size:8.5px;font-weight:400;color:#7691a3}.process-step__copy strong{font-family:var(--font-num);font-size:12px;font-weight:500;line-height:1.15;color:#bed6e3;white-space:nowrap}.process-step.is-active .process-step__copy strong{color:color-mix(in srgb,var(--step-color) 60%,#f4fbff)}.process-step__copy small{font-family:var(--font-num);font-size:6.5px;letter-spacing:.08em;color:#456577}.process-step.tone-water{--step-color: var(--blue)}.process-step.tone-green{--step-color: var(--green)}.process-step.tone-orange{--step-color: var(--orange)}.process-step.tone-amber{--step-color: var(--amber)}.process-step.tone-cyan{--step-color: var(--cyan)}.process-link{position:absolute;z-index:3;top:20px;right:-11px;width:14px;height:1px;background:linear-gradient(90deg,#426d8466,#426d8414);pointer-events:none}.process-link i{position:absolute;top:-1px;left:0;width:3px;height:3px;border-radius:50%;background:#6d9aae;opacity:.45}.process-link.is-flowing i{background:var(--cyan);box-shadow:0 0 6px var(--cyan);animation:flow-particle 2.2s linear infinite}.control-deck{position:relative;z-index:5;height:100%;min-width:0;display:flex;flex-direction:column;padding:18px 17px 13px;overflow:hidden;background:radial-gradient(ellipse 110% 30% at 100% 0%,rgba(16,77,101,.16),transparent 66%),linear-gradient(180deg,#0a1722,#06111b);border-left:1px solid var(--line)}.deck-head{flex:0 0 auto}.deck-eyebrow{display:flex;align-items:center;gap:7px;font-family:var(--font-num);font-size:7px;letter-spacing:.14em;color:#4f788d}.deck-eyebrow i{width:18px;height:1px;background:#2d5b70}.deck-eyebrow em{font-style:normal;color:#446a7d}.deck-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px}.deck-title__actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.params-open{height:26px;display:inline-flex;align-items:center;gap:4px;padding:0 7px;color:#81a7b7;background:#0e2733b8;border:1px solid rgba(47,92,108,.55);border-radius:3px;font-size:7px;white-space:nowrap}.params-open:hover{color:var(--cyan);border-color:#29c8ff66}.deck-title h2{margin:0;font-size:21px;font-weight:600;letter-spacing:.02em;color:#edf8fd}.mode-switch{display:flex;height:28px;padding:2px;background:#091925c7;border:1px solid rgba(35,75,94,.62);border-radius:4px}.mode-switch button{height:22px;display:flex;align-items:center;gap:4px;padding:0 7px;font-size:8px;color:#6d8a9d;background:transparent;border-radius:3px}.mode-switch button.is-active{color:var(--cyan);background:#2595b229;box-shadow:inset 0 0 0 1px #29c8ff26}.deck-mode-hint{margin:6px 0 0;font-size:7.5px;letter-spacing:.015em;color:#587387}.deck-mode-hint.manual{color:#b88c55}.deck-tabs{flex:0 0 auto;display:flex;gap:2px;margin-top:12px;padding-bottom:0;border-bottom:1px solid rgba(35,69,87,.5)}.deck-tabs button{position:relative;height:31px;display:flex;align-items:center;gap:5px;padding:0 10px;color:#637f91;background:transparent;font-size:9px}.deck-tabs button.is-active{color:#d9f3fc}.deck-tabs button.is-active:after{content:"";position:absolute;left:9px;right:9px;bottom:-1px;height:1px;background:var(--cyan);box-shadow:0 0 8px #29c8ffb3}.deck-scroll{flex:1;min-height:0;overflow-y:auto;padding:10px 3px 6px 0}.deck-section{padding:10px 11px 11px;margin-bottom:8px;background:linear-gradient(180deg,#0b1c28a8,#07131d7a);border:1px solid rgba(30,64,82,.55);border-radius:5px}.section-head{display:flex;align-items:center;gap:6px;margin-bottom:8px}.section-head__code{font-family:var(--font-num);font-size:6.5px;letter-spacing:.04em;color:#4a7285}.section-head b{font-size:9px;font-weight:500;color:#9ebacc}.section-head i{flex:1;height:1px;background:linear-gradient(90deg,rgba(43,79,97,.42),transparent)}.auto-badge{padding:2px 4px;font-size:6.5px;color:#5f8998;border:1px solid rgba(43,83,100,.5);border-radius:2px;white-space:nowrap}.auto-badge.auto{color:#63b5c8;border-color:#299eb538;background:#185e6d1f}.auto-badge.is-heat{color:var(--amber);border-color:#ffb3473d;background:#ffb3470f}.auto-badge.is-alarm{color:var(--red);border-color:#ff526640;background:#ff52660f}.auto-badge.is-neutral{color:#6b8799}.pump-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.pump-card{padding:7px 8px 6px;background:#081722cc;border:1px solid rgba(35,69,87,.56);border-radius:4px}.pump-card.is-running{border-color:#2e927b66;background:linear-gradient(150deg,#0d2828d1,#071620cc)}.pump-card.is-fault{border-color:#ff52665c;background:linear-gradient(150deg,#33181fb3,#08151ecc)}.pump-card__head{display:flex;align-items:center;justify-content:space-between;gap:3px}.pump-card__name{display:flex;align-items:center;gap:4px;font-size:8px;color:#9eb6c5}.pump-card__name i{width:14px;height:14px;display:grid;place-items:center;font-family:var(--font-num);font-size:8px;font-style:normal;color:#8bc8dc;background:#26738429;border:1px solid rgba(45,123,139,.26);border-radius:2px}.pump-card__state{display:inline-flex;align-items:center;gap:3px;font-size:7px;color:#728b9c}.pump-card__state i{width:4px;height:4px;border-radius:50%;background:#607a8b}.pump-card.is-running .pump-card__state{color:var(--green)}.pump-card.is-running .pump-card__state i{background:var(--green);box-shadow:0 0 6px #45d795b3}.pump-card.is-fault .pump-card__state{color:var(--red)}.pump-card.is-fault .pump-card__state i{background:var(--red);box-shadow:0 0 6px #ff5266b3}.pump-card__metrics{display:flex;gap:9px;margin-top:5px}.pump-card__metrics span{display:flex;align-items:baseline;gap:1px}.pump-card__metrics b{font-family:var(--font-num);font-size:14px;font-weight:500;color:#c5e5ef}.pump-card__metrics small{font-family:var(--font-num);font-size:7px;color:#57788b}.pump-card__footer{display:flex;align-items:center;justify-content:space-between;gap:2px;margin-top:4px}.pump-card__footer>span{font-size:6.5px;color:#506d7e;white-space:nowrap}.pump-switch{height:18px;display:inline-flex;align-items:center;gap:2px;padding:0 4px;font-size:6.5px;color:#82a5b5;background:#18394857;border:1px solid rgba(44,86,102,.4);border-radius:2px}.pump-switch.is-on{color:#62e0a4;border-color:#45d7954d;background:#2069563d}.pump-switch:disabled{opacity:.55}.level-block{margin-top:8px;padding-top:7px;border-top:1px solid rgba(33,64,81,.38)}.level-block__head{display:flex;align-items:baseline;justify-content:space-between;color:#617f91;font-size:7.5px}.level-block__head span{display:inline-flex;align-items:center;gap:4px}.level-block__head b{font-family:var(--font-num);font-size:13px;font-weight:500;color:#b4dae6}.level-block__head b em{margin-left:2px;font-size:7px;font-style:normal;color:#56798b}.level-track{position:relative;height:7px;margin:7px 2px 12px;background:#132e3cdb;border-radius:4px}.level-track__fill{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:linear-gradient(90deg,#1b7892,#36bfd5);box-shadow:0 0 10px #29c8ff3d;transition:width .7s ease}.level-track__now{position:absolute;top:-3px;width:2px;height:13px;background:#c3f5ff;box-shadow:0 0 7px #53e2ffcc;transform:translate(-1px);transition:left .7s ease}.level-marker{position:absolute;top:-2px;width:1px;height:11px;background:#7fa9b68c}.level-marker.is-alarm{background:var(--red)}.level-marker em{position:absolute;top:13px;left:50%;transform:translate(-50%);font-family:var(--font-ui);font-size:6px;font-style:normal;color:#4e6b7c;white-space:nowrap}.level-marker.is-alarm em{color:#b46d75}.temp-block{display:grid;grid-template-columns:1fr auto;align-items:start;column-gap:8px}.temp-read{display:flex;align-items:baseline;gap:2px;position:relative}.temp-read__value{font-family:var(--font-num);font-size:40px;line-height:.92;font-weight:300;letter-spacing:-.03em;color:#f4fbff}.temp-read__unit{font-family:var(--font-num);font-size:16px;color:#aac6d3}.temp-read__state{position:absolute;left:3px;bottom:-16px;display:inline-flex;align-items:center;gap:3px;font-size:7px;color:#638393;white-space:nowrap}.temp-read__state.is-heating{color:var(--amber)}.temp-target{display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding-top:5px;font-family:var(--font-num);font-size:8px;color:#5b798a}.temp-target span{display:flex;align-items:baseline;gap:3px}.temp-target b{font-size:11px;font-weight:500;color:#e3b572}.temp-target i{width:37px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,179,71,.4),transparent)}.heat-stages{grid-column:1 / -1;display:flex;gap:5px;margin-top:11px}.heat-stage{flex:1;display:flex;align-items:center;gap:4px;height:24px;padding:0 6px;background:#0c1e28ad;border:1px solid rgba(35,67,83,.5);border-radius:3px;font-size:7px;color:#5f7b8c}.heat-stage i{width:4px;height:4px;border-radius:50%;background:#617a89}.heat-stage b{margin-left:auto;font-family:var(--font-num);font-size:7px;font-weight:400;color:#5e7989}.heat-stage.is-on{color:#e0a35d;border-color:#ffb3474d;background:#3d2b1557}.heat-stage.is-on i{background:var(--amber);box-shadow:0 0 7px #ffb347cc}.heat-stage.is-on b{color:var(--amber)}.pwm-meter{display:flex;align-items:center;gap:6px;margin-top:7px}.pwm-meter>span{flex:0 0 auto;font-family:var(--font-num);font-size:6px;letter-spacing:.08em;color:#7c6a4f}.pwm-meter>div{flex:1;height:3px;overflow:hidden;border-radius:3px;background:#503d228c}.pwm-meter>div i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#9b6c2a,#ffcb73);box-shadow:0 0 7px #ffb34759;transition:width .4s linear}.pwm-meter>b{min-width:25px;text-align:right;font-family:var(--font-num);font-size:9px;font-weight:400;color:#e0b16a}.screw-manual{margin-bottom:6px;padding:7px;background:linear-gradient(145deg,#251e1675,#091721b8);border:1px solid rgba(111,78,38,.4);border-radius:4px}.screw-manual__head{display:flex;align-items:center;justify-content:space-between;gap:5px}.screw-manual__head span{display:inline-flex;align-items:center;gap:4px;color:#c5a374;font-size:7.5px}.screw-manual__head em{font-family:var(--font-num);font-size:6px;font-style:normal;letter-spacing:.08em;color:#826d4e}.screw-manual__buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:6px}.screw-manual__buttons button{height:28px;display:flex;align-items:center;justify-content:center;gap:3px;color:#8299a6;background:#0c1c26bd;border:1px solid rgba(43,74,88,.55);border-radius:3px;font-size:7.5px;transition:color .16s ease,border-color .16s ease,background .16s ease}.screw-manual__buttons button:hover:not(:disabled){color:#e1f3f8;border-color:#48829199}.screw-manual__buttons button:disabled{opacity:.4}.screw-manual__buttons button.is-active.is-forward,.screw-manual__buttons button.is-active.is-reverse{color:#ffd19a;background:#50321880;border-color:#ff97497a;box-shadow:inset 0 0 16px #ff7c3a14}.screw-manual__buttons button.is-active.is-stop{color:#a4c6d3;border-color:#4a7f8e80;background:#1c3b456b}.screw-manual>small{display:block;margin-top:5px;font-size:6.3px;line-height:1.5;color:#78664d}.action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.action-tile{min-height:51px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:5px 6px;text-align:left;color:#7f9baa;background:#091823b3;border:1px solid rgba(33,66,83,.56);border-radius:3px;transition:border-color .16s ease,background .16s ease,color .16s ease}.action-tile svg{color:#698c9b}.action-tile span{font-size:7.5px;white-space:nowrap}.action-tile small{font-size:6px;color:#4e6b7b}.action-tile:hover:not(:disabled){color:#d2edf5;border-color:#34798e99}.action-tile.is-on{color:#d9eef4;border-color:#3b8d9c8f;background:#10354073}.action-tile.is-on svg{color:var(--cyan)}.action-tile.is-orange.is-on{border-color:#ff7c3a5c;background:#3d251759}.action-tile.is-orange.is-on svg,.action-tile.is-orange.is-on small{color:var(--orange)}.action-tile.is-cyan.is-on svg,.action-tile.is-cyan.is-on small{color:var(--cyan)}.action-tile.is-green.is-on svg,.action-tile.is-green.is-on small{color:var(--green)}.action-tile:disabled{opacity:.44}.action-tile--status{cursor:default}.action-tile--status:hover{color:#7f9baa;border-color:#2142538f}.action-tile--status.is-on:hover{color:#d9eef4;border-color:#3b8d9c8f}.discharge-card{margin-top:0;padding:9px 11px 8px;background:radial-gradient(ellipse 100% 100% at 100% 0%,rgba(255,179,71,.08),transparent 68%),linear-gradient(150deg,#201b149e,#08151edb);border:1px solid rgba(92,70,37,.52);border-radius:5px}.discharge-card.is-active{border-color:#ffb3476b;box-shadow:inset 0 0 26px #ffb3470a}.discharge-card__head{display:flex;align-items:center;justify-content:space-between;gap:6px}.discharge-card__head span{display:inline-flex;align-items:center;gap:4px;font-size:8px;color:#c3a36e}.discharge-card__head b{font-family:var(--font-num);font-size:7px;font-weight:400;letter-spacing:.06em;color:#826b48}.discharge-card.is-active .discharge-card__head b{color:var(--amber)}.discharge-progress{height:2px;margin:7px 0;background:#503e2580;border-radius:2px;overflow:hidden}.discharge-progress i{display:block;height:100%;background:linear-gradient(90deg,#9b6c2a,#ffcb73);box-shadow:0 0 8px #ffb34766;transition:width .9s linear}.discharge-btn{width:100%;height:29px;display:flex;align-items:center;justify-content:center;gap:5px;color:#1a1408;background:linear-gradient(180deg,#ffc568,#e69c38);border-radius:3px;font-size:8px;font-weight:500;box-shadow:0 0 18px #ffb3471f}.discharge-btn svg:last-child{margin-left:auto}.discharge-btn:disabled{color:#806d4e;background:#3f3420b3;box-shadow:none}.discharge-card>small{display:block;margin-top:6px;font-size:6.5px;color:#6e604a}.deck-foot{flex:0 0 auto;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:9px;border-top:1px solid rgba(33,67,84,.5)}.deck-foot__state{display:flex;align-items:center;gap:5px;font-size:7.5px;color:#698899}.deck-foot__state .dot{background:var(--green);box-shadow:0 0 7px #45d79599}.deck-foot__state.manual{color:#b18d5f}.deck-foot__state.manual .dot{background:var(--amber);box-shadow:0 0 7px #ffb34780}.deck-foot__hint{font-size:6.3px;color:#4f6d7e}.deck-foot button{height:24px;display:inline-flex;align-items:center;gap:4px;padding:0 7px;color:#7e9dad;background:#0e2532a3;border:1px solid rgba(40,80,96,.55);border-radius:2px;font-size:7px}.deck-foot button:disabled{opacity:.35}.param-card{display:flex;flex-direction:column;gap:10px}.param-subhead{display:flex;align-items:center;gap:5px;font-family:var(--font-num);font-size:6.5px;letter-spacing:.08em;color:#5a7b8c;text-transform:uppercase}.param-subhead:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(48,81,96,.4),transparent)}.param-card--split{flex-direction:row;gap:8px}.param-range{display:flex;flex-direction:column;gap:5px}.param-range__head{display:flex;align-items:baseline;justify-content:space-between;font-size:8px;color:#7290a1}.param-range__head b{font-family:var(--font-num);font-size:14px;font-weight:500;color:#e0b16a}.param-range__head em{margin-left:2px;font-family:var(--font-ui);font-size:7px;font-style:normal;color:#735f45}.param-range input[type=range]{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(90deg,#9b6b2c,#ffc56d);border-radius:3px;outline:none}.param-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:#ffd58e;border:2px solid #6d4e20;box-shadow:0 0 9px #ffb34780;cursor:pointer}.param-range input[type=range]::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:#ffd58e;border:2px solid #6d4e20;cursor:pointer}.param-note{margin:0;padding-top:7px;border-top:1px solid rgba(40,70,84,.38);font-size:7px;line-height:1.6;color:#5e7b8c}.param-note-row{display:flex;align-items:center;gap:4px;margin-top:8px;font-size:7px;color:#5e7b8c}.step-value{flex:1;min-width:0;padding:7px 8px;background:#081721ad;border:1px solid rgba(35,67,83,.52);border-radius:3px}.step-value>span{display:block;font-size:7px;color:#6b8798}.step-value>div{display:flex;align-items:center;justify-content:space-between;gap:3px;margin-top:5px}.step-value button{width:18px;height:18px;display:grid;place-items:center;color:#7c9cab;background:#19374580;border-radius:2px}.step-value b{font-family:var(--font-num);font-size:15px;font-weight:500;color:#d7edf4}.step-value em{margin-left:1px;font-family:var(--font-ui);font-size:7px;font-style:normal;color:#617d8e}.fault-pump-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:5px}.fault-pump-head>span{display:inline-flex;align-items:center;gap:4px;font-size:7.5px;color:#8ba3b1}.fault-targets{display:flex;gap:3px}.fault-targets button{height:21px;padding:0 7px;color:#668596;background:#0b1b25b3;border:1px solid rgba(38,74,89,.55);border-radius:3px;font-size:7px}.fault-targets button.is-active{color:#ccecf6;border-color:#4791a399;background:#1b404c80}.fault-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;margin-bottom:5px}.fault-type-grid button{height:27px;display:flex;align-items:center;justify-content:center;gap:3px;color:#8ea6b3;background:#0a1923a3;border:1px solid rgba(36,71,86,.5);border-radius:3px;font-size:7px}.fault-type-grid button:hover{color:#d9edf4;border-color:#3d6f80ad}.fault-type-grid button.is-active{color:#ffc0c7;border-color:#ff526666;background:#4f1d2670}.fault-target-state{display:flex;align-items:center;justify-content:space-between;height:23px;margin-bottom:5px;padding:0 7px;color:#627f8e;background:#0a192370;border:1px solid rgba(32,63,77,.42);border-radius:3px;font-size:6.5px}.fault-target-state b{font-family:var(--font-num);font-size:6.5px;font-weight:400;color:#638574}.fault-target-state.is-fault b{color:var(--red)}.fault-source-note{margin:0 0 6px;font-size:6px;line-height:1.5;color:#5c7888}.fault-list{display:flex;flex-direction:column;gap:4px}.fault-row{height:28px;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 7px;color:#718f9e;background:#0a1923a3;border:1px solid rgba(34,67,82,.5);border-radius:3px;font-size:7.5px}.fault-row span{display:flex;align-items:center;gap:5px}.fault-row b{font-family:var(--font-num);font-size:7px;font-weight:400;color:#5d7b8b}.fault-row.is-fault{color:#ffbdc4;border-color:#ff526652;background:#4f1d266b}.fault-row.is-fault b{color:var(--red)}.reset-faults{width:100%;height:25px;margin-top:7px;display:flex;align-items:center;justify-content:center;gap:4px;color:#86a8b5;background:#132d3a8a;border:1px solid rgba(44,82,97,.45);border-radius:3px;font-size:7px}.reset-faults:disabled{opacity:.35}.strategy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.strategy-grid span{display:flex;flex-direction:column;gap:2px;padding:6px 7px;background:#08172185;border:1px solid rgba(32,63,79,.45);border-radius:3px}.strategy-grid b{font-size:7.5px;font-weight:500;color:#87a5b4}.strategy-grid small{font-family:var(--font-num);font-size:6.5px;color:#567485}.meta-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.meta-list span{display:flex;flex-direction:column;gap:2px;padding:6px 7px;background:#08172185;border:1px solid rgba(32,63,79,.45);border-radius:3px}.meta-list b{font-size:7px;font-weight:400;color:#638091}.meta-list small{font-family:var(--font-num);font-size:6.5px;color:#a1bdca}.permission-note{margin:8px 0 0;padding-top:6px;border-top:1px solid rgba(40,70,84,.35);font-size:6.5px;color:#536f7f}.admin-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:110;display:grid;place-items:center;padding:24px;background:#02080dbd;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.admin-card{width:380px;padding:18px 20px 16px;background:radial-gradient(ellipse 80% 70% at 50% 0%,rgba(29,111,137,.18),transparent 68%),linear-gradient(160deg,#0c1d29,#06121c);border:1px solid rgba(45,105,127,.62);border-radius:8px;box-shadow:0 28px 80px #0000009e,inset 0 1px #8de7ff14;animation:drawer-rise .24s cubic-bezier(.16,1,.3,1) both}.admin-card__head{display:flex;align-items:center;gap:9px}.admin-card__icon{width:34px;height:34px;display:grid;place-items:center;color:#ffc36b;background:#ffb34714;border:1px solid rgba(255,179,71,.28);border-radius:5px}.admin-card__head>div{display:flex;flex-direction:column;gap:2px}.admin-card__head small{font-family:var(--font-num);font-size:6.5px;letter-spacing:.12em;color:#5e8295}.admin-card__head h2{margin:0;font-size:16px;font-weight:500;color:#e9f7fd}.admin-close{width:25px;height:25px;margin-left:auto;display:grid;place-items:center;color:#6c8b9c;background:#12283499;border:1px solid rgba(44,87,103,.45);border-radius:3px}.admin-close:hover{color:#d7eef7}.admin-card__copy{margin:14px 0 13px;font-size:8px;line-height:1.7;color:#7491a2}.admin-field{display:flex;flex-direction:column;gap:5px}.admin-field>span{font-size:7px;color:#87a3b2}.admin-field input{height:34px;width:100%;padding:0 10px;color:#e2f5fc;background:#051119d1;border:1px solid rgba(47,92,108,.72);border-radius:3px;font:inherit;font-size:12px;letter-spacing:.18em;outline:none}.admin-field input:focus{border-color:#29c8ff9e;box-shadow:0 0 0 2px #29c8ff14}.admin-error{margin:7px 0 0;font-size:7px;color:#ff8f9b}.admin-hint{margin:9px 0 0;font-size:7px;color:#658192}.admin-hint b{color:#d6ad73;font-family:var(--font-num);font-weight:500}.admin-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:15px}.admin-actions button{height:29px;padding:0 15px;border-radius:3px;font-size:8px}.admin-cancel{color:#88a2b1;background:#0f232eb3;border:1px solid rgba(43,78,94,.55)}.admin-submit{color:#06151d;background:linear-gradient(180deg,#64dcff,#29b8e4);border:1px solid rgba(126,231,255,.5);font-weight:500}.admin-submit:hover{background:linear-gradient(180deg,#8ae8ff,#36c8f0)}.drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:28px;background:radial-gradient(ellipse 60% 60% at 50% 48%,rgba(10,39,52,.32),transparent 70%),#02080dd1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:drawer-fade .2s ease both}.io-drawer,.logic-drawer,.alarm-drawer,.params-dialog{display:flex;flex-direction:column;background:radial-gradient(ellipse 50% 30% at 50% 0%,rgba(28,101,123,.14),transparent 68%),linear-gradient(160deg,#0b1b27,#06121c);border:1px solid rgba(44,99,121,.65);border-radius:8px;box-shadow:0 30px 100px #000000b3,inset 0 1px #8de7ff0f;overflow:hidden;animation:drawer-rise .3s cubic-bezier(.16,1,.3,1) both}.io-drawer{width:1080px;height:698px}.logic-drawer{width:1120px;height:720px}.alarm-drawer{width:960px;height:620px}.params-dialog{width:1040px;height:700px}.params-dialog-body{flex:1;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;overflow:hidden;padding:12px 18px 14px}.params-column{min-height:0;display:flex;flex-direction:column;gap:10px}.params-column .deck-section{margin-bottom:0}.drawer-head{flex:0 0 auto;min-height:67px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid rgba(37,76,94,.55)}.drawer-head__title{display:flex;align-items:center;gap:10px}.drawer-icon{width:34px;height:34px;display:grid;place-items:center;color:var(--cyan);background:#1e698029;border:1px solid rgba(41,153,178,.28);border-radius:5px}.drawer-kicker{display:block;font-family:var(--font-num);font-size:7px;letter-spacing:.13em;color:#568195}.drawer-head h2{margin:3px 0 0;font-size:18px;font-weight:500;letter-spacing:.02em;color:#eaf9ff}.drawer-head__meta{display:flex;align-items:center;gap:14px;color:#668798;font-size:7.5px}.drawer-head__meta>span{display:inline-flex;align-items:center;gap:4px}.drawer-head__meta button{width:29px;height:29px;display:grid;place-items:center;margin-left:5px;color:#7e9bac;background:#16313f7a;border:1px solid rgba(46,86,101,.46);border-radius:3px}.drawer-head__meta button:hover{color:var(--cyan);border-color:#29c8ff52}.io-summary{flex:0 0 auto;display:flex;align-items:stretch;gap:8px;padding:12px 20px;border-bottom:1px solid rgba(32,68,84,.4)}.io-summary__stat{width:116px;display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:7px;padding:7px 8px;background:#091b26ad;border:1px solid rgba(32,69,84,.5);border-radius:4px}.io-summary__icon{grid-row:1 / 3;width:28px;height:28px;display:grid;place-items:center;border-radius:3px}.io-summary__icon.is-di{color:#61cff2;background:#29c8ff14}.io-summary__icon.is-do{color:#63dba4;background:#45d79514}.io-summary__icon.is-ai{color:#ffc36b;background:#ffb34714}.io-summary__icon.is-com{color:#b5a8ff;background:#a493ff14}.io-summary__stat b{font-family:var(--font-num);font-size:22px;line-height:1;font-weight:500;color:#d9eef7}.io-summary__stat small{font-size:7px;color:#617f8e}.io-summary__live{flex:1;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:0 4px 0 15px;border-left:1px solid rgba(39,76,91,.45)}.io-summary__live>span{font-size:7.5px;color:#6b8a9b}.io-summary__live>b{font-family:var(--font-num);font-size:23px;font-weight:500;line-height:1;color:var(--cyan)}.io-summary__live>b em{font-size:10px;font-style:normal;color:#4e7184}.io-summary__bar{width:100%;height:3px;background:#16323fcc;border-radius:3px}.io-summary__bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#267e93,#52d4ea);box-shadow:0 0 8px #29c8ff4d}.io-toolbar{flex:0 0 auto;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 20px;border-bottom:1px solid rgba(32,64,81,.38)}.io-filters{display:flex;gap:3px}.io-filters button{height:25px;display:inline-flex;align-items:center;gap:5px;padding:0 8px;color:#6d8b9b;background:#0b1c278f;border:1px solid rgba(36,70,85,.48);border-radius:3px;font-size:7.5px}.io-filters button.is-active{color:var(--cyan);background:#1b637633;border-color:#29a9c261}.io-filters button em{font-family:var(--font-num);font-size:7px;font-style:normal;color:#557385}.io-source{font-family:var(--font-num);font-size:7px;letter-spacing:.02em;color:#49677a}.io-table-wrap{flex:1;min-height:0;overflow:auto;padding:0 20px}.io-table{width:100%;border-collapse:collapse;table-layout:fixed}.io-table th{position:sticky;top:0;z-index:2;height:30px;padding:0 7px;text-align:left;font-family:var(--font-num);font-size:7px;font-weight:400;letter-spacing:.07em;color:#557789;background:#0a1a25;border-bottom:1px solid rgba(38,75,91,.55)}.io-table th:nth-child(1){width:36px}.io-table th:nth-child(2){width:67px}.io-table th:nth-child(3){width:210px}.io-table th:nth-child(4){width:98px}.io-table th:nth-child(5){width:105px}.io-table th:nth-child(6){width:110px}.io-table td{height:32px;padding:3px 7px;border-bottom:1px solid rgba(31,62,77,.36);vertical-align:middle}.io-table tbody tr:hover td{background:#1634424d}.io-no{font-family:var(--font-num);font-size:8px;color:#4f7182}.io-address{font-family:var(--font-num);font-size:8.5px;color:#7fa4b5;letter-spacing:.03em}.io-name b{display:block;font-size:8.5px;font-weight:400;color:#aec5d2}.io-name small{display:block;font-family:var(--font-num);font-size:6.5px;color:#4f6c7d}.io-source-cell{font-size:7.5px;color:#718d9d}.point-type{display:inline-flex;align-items:center;height:17px;padding:0 4px;font-family:var(--font-num);font-size:7px;color:#8bb6c4;background:#1c485661;border:1px solid rgba(40,93,108,.42);border-radius:2px}.point-type.type-di{color:#68d4ee;border-color:#29c8ff33;background:#29c8ff0f}.point-type.type-do{color:#6ee0a9;border-color:#45d79533;background:#45d7950f}.point-type.type-ai{color:#ffc46d;border-color:#ffb34733;background:#ffb3470f}.point-type.type-rs485{color:#b7aaff;border-color:#a493ff33;background:#a493ff0f}.type-label{display:block;margin-top:2px;font-size:6px;color:#4b6978}.live-value{display:inline-flex;align-items:center;height:19px;padding:0 6px;font-family:var(--font-num);font-size:9px;font-weight:500;color:#7593a3;background:#172d388a;border-radius:2px}.live-value.is-on{color:var(--green);background:#276c5040}.live-value.is-warn{color:var(--amber);background:#6f522242}.live-value.is-alarm{color:var(--red);background:#7629344d}.live-value.is-value{color:#bcdfe8;background:#1a3c4866}.io-note{font-size:7px;color:#5b7787;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-foot{flex:0 0 auto;min-height:33px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 20px;border-top:1px solid rgba(32,67,83,.45);color:#58798a;font-family:var(--font-num);font-size:7px}.drawer-foot>span{display:inline-flex;align-items:center;gap:4px}.logic-state{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;font-size:7.5px;color:#6bb8c8;border:1px solid rgba(41,169,194,.22);border-radius:2px}.logic-state.manual{color:#c19a5d;border-color:#ffb34733}.logic-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 348px;gap:14px;padding:14px 18px 16px}.logic-chain{min-height:0;overflow-y:auto;padding:12px 13px;background:#06121b94;border:1px solid rgba(32,68,84,.45);border-radius:5px}.logic-chain__head{display:flex;align-items:center;gap:7px;margin-bottom:10px}.logic-chain__head span{font-family:var(--font-num);font-size:7px;letter-spacing:.13em;color:#4f8094}.logic-chain__head b{font-size:10px;font-weight:500;color:#bfd9e4}.logic-chain__head i{flex:1;height:1px;background:linear-gradient(90deg,rgba(43,90,108,.4),transparent)}.logic-step{position:relative;display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:45px;margin-bottom:5px;padding:7px 8px;background:#0b1c279e;border:1px solid rgba(35,69,84,.42);border-radius:3px}.logic-step.is-ok{border-color:#2e705c59}.logic-step.is-active{border-color:#ffb34745;background:#362a174d}.logic-step.is-off{opacity:.5}.logic-step.is-warn{border-color:#ff52664d}.logic-step__no{font-family:var(--font-num);font-size:8px;color:#517285;text-align:center;border-right:1px solid rgba(39,75,90,.4)}.logic-step b{display:block;font-size:8.5px;font-weight:500;color:#a9c3ce}.logic-step small{display:block;margin-top:2px;font-size:6.8px;color:#5e7c8b}.logic-step em{font-family:var(--font-num);font-size:7px;font-style:normal;letter-spacing:.05em;color:#6a98a3}.logic-step.is-warn em{color:var(--red)}.logic-manual-note{display:flex;align-items:center;gap:6px;margin:6px 0 8px;padding:6px 8px;color:#c9a16a;background:#402d1952;border:1px solid rgba(150,101,48,.28);border-radius:3px;font-size:7px}.logic-group{margin:10px 0 8px;padding:9px 9px 7px;border:1px solid rgba(34,70,84,.46);border-radius:3px;background:#09172180}.logic-group__head{display:flex;align-items:center;gap:5px;margin-bottom:6px;color:#7fa3b3}.logic-group__head b{font-size:8px;font-weight:500}.logic-group__head span{margin-left:auto;font-family:var(--font-num);font-size:8px;color:#96c6d0}.logic-level{display:grid;grid-template-columns:8px 1fr 1.1fr auto;align-items:center;gap:5px;min-height:24px;padding:2px 4px;border-top:1px solid rgba(31,62,76,.32);color:#648293}.logic-level>i{width:4px;height:4px;border-radius:50%;background:#4d6b7b}.logic-level>span{display:flex;align-items:center;gap:4px;font-size:7.5px}.logic-level>span small{font-family:var(--font-num);font-size:7px;color:#4f6e7e}.logic-level>b{font-size:7px;font-weight:400;color:#628595}.logic-level>em{font-family:var(--font-num);font-size:6.5px;font-style:normal;color:#4f7180}.logic-level.is-on{color:#addbe3;background:#1b525e38}.logic-level.is-on>i{background:var(--cyan);box-shadow:0 0 7px #29c8ff99}.logic-level.is-on>em{color:var(--cyan)}.logic-group__foot{display:flex;justify-content:space-between;gap:5px;margin-top:6px;padding-top:5px;border-top:1px solid rgba(31,62,76,.3);font-size:6.5px;color:#537182}.logic-condition{display:grid;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:5px;min-height:25px;padding:2px 4px;border-top:1px solid rgba(31,62,76,.3);font-size:7.5px;color:#698897}.logic-condition small{margin-left:3px;font-family:var(--font-num);font-size:7px;color:#506f7f}.logic-condition b{font-size:7px;font-weight:400;color:#7498a6}.logic-condition em{font-family:var(--font-num);font-size:6.5px;font-style:normal;color:#4f7180}.logic-condition.is-on{color:#d8f3f8;background:#17596733}.logic-condition.is-on em{color:var(--green)}.logic-condition.is-warn{border-color:#ff526640;background:#4e1c2547}.logic-condition.is-warn em{color:var(--red)}.logic-side{min-height:0;display:flex;flex-direction:column;gap:10px;overflow-y:auto}.logic-side__block{padding:10px;background:#06121b8f;border:1px solid rgba(31,68,83,.45);border-radius:4px}.logic-side__head{display:flex;align-items:baseline;justify-content:space-between;gap:5px;margin-bottom:7px}.logic-side__head span{font-family:var(--font-num);font-size:6.5px;letter-spacing:.12em;color:#4d7a8d}.logic-side__head b{font-size:8.5px;font-weight:500;color:#9bbac7}.logic-side__head b em{margin-left:2px;font-family:var(--font-num);font-size:7px;font-style:normal;color:var(--red)}.output-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.output-cell{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:52px;padding:5px;color:#5e7c8b;background:#0a1923ad;border:1px solid rgba(33,66,81,.44);border-radius:3px}.output-cell svg{color:#586e7d}.output-cell span{font-size:6.5px}.output-cell b{font-family:var(--font-num);font-size:7px;font-weight:400;color:#4f6d7c;letter-spacing:.04em}.output-cell.is-on{color:#bce8ed;border-color:#3097a066;background:#134d5242}.output-cell.is-on svg{color:var(--cyan)}.output-cell.is-on b{color:var(--green)}.logic-alarms{display:flex;flex-direction:column;gap:4px;max-height:146px;overflow-y:auto}.logic-alarm{display:flex;align-items:flex-start;gap:6px;padding:6px;color:#d58a91;background:#441a2361;border:1px solid rgba(255,82,102,.22);border-radius:3px}.logic-alarm.is-warning{color:#d9ae69;background:#43331957;border-color:#ffb34738}.logic-alarm span{display:flex;flex-direction:column;gap:2px;min-width:0}.logic-alarm b{font-size:7.5px;font-weight:500}.logic-alarm small{font-size:6.5px;color:#92747c}.logic-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:90px;color:#639485}.logic-empty span{font-size:8px}.logic-empty small{font-size:6.5px;color:#507284}.logic-side__foot{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:7px 2px 0;border-top:1px solid rgba(31,65,80,.38);font-size:7px;color:#537385}.logic-side__foot b{font-family:var(--font-num);font-size:13px;font-weight:400;color:#96c4ce;letter-spacing:.05em}.alarm-summary-strip{flex:0 0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:11px 18px;border-bottom:1px solid rgba(32,68,84,.4)}.alarm-stat{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:7px;padding:7px 9px;background:#091b26ad;border:1px solid rgba(32,69,84,.5);border-radius:4px}.alarm-stat>span{font-size:7px;color:#718d9d}.alarm-stat>b{grid-row:1 / 3;grid-column:2;font-family:var(--font-num);font-size:23px;line-height:1;font-weight:500;color:#a8c4d1}.alarm-stat>small{font-size:6.3px;color:#4f6e80}.alarm-stat.has-alarm{border-color:#ff526652;background:#42182066}.alarm-stat.has-alarm>b{color:var(--red)}.alarm-stat.has-alarm>small{color:#a66b74}.alarm-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:12px;padding:13px 18px 15px}.alarm-panel{min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#06121b94;border:1px solid rgba(32,68,84,.46);border-radius:5px}.alarm-section-head{flex:0 0 auto;display:flex;align-items:baseline;gap:6px;padding:9px 10px 8px;border-bottom:1px solid rgba(31,65,80,.38)}.alarm-section-head>span{font-family:var(--font-num);font-size:6.2px;letter-spacing:.11em;color:#4d7d90}.alarm-section-head>b{font-size:8px;font-weight:500;color:#a5c2cf}.alarm-section-head>em{margin-left:auto;font-family:var(--font-num);font-size:8px;font-style:normal;color:#6f929f}.alarm-current-list,.alarm-history-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:5px;padding:8px}.alarm-state{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:flex-start;gap:7px;padding:8px;background:#20111675;border:1px solid rgba(255,82,102,.22);border-radius:4px}.alarm-state.is-warning{background:#2a20116b;border-color:#ffb3473d}.alarm-state__icon{width:25px;height:25px;display:grid;place-items:center;color:var(--red);background:#ff526617;border:1px solid rgba(255,82,102,.2);border-radius:3px}.alarm-state.is-warning .alarm-state__icon{color:var(--amber);background:#ffb34714;border-color:#ffb34733}.alarm-state__copy{display:flex;flex-direction:column;gap:2px;min-width:0}.alarm-state__copy b{font-size:8.5px;font-weight:500;color:#e3b5bb}.alarm-state.is-warning .alarm-state__copy b{color:#ddbd87}.alarm-state__copy small{font-size:6.8px;line-height:1.5;color:#92747c}.alarm-state.is-warning .alarm-state__copy small{color:#8d7c63}.alarm-state>em{padding-top:2px;font-family:var(--font-num);font-size:6px;font-style:normal;letter-spacing:.05em;color:var(--red)}.alarm-state.is-warning>em{color:var(--amber)}.alarm-history__row{display:grid;grid-template-columns:49px minmax(0,1fr) auto;align-items:flex-start;gap:7px;padding:7px 8px;border:1px solid rgba(33,65,80,.4);border-radius:3px;background:#0817208f}.alarm-history__row.is-active{border-color:#ff526647;background:#3f171e59}.alarm-history__row.is-warning.is-active{border-color:#ffb34747;background:#392a1452}.alarm-history__time{display:flex;flex-direction:column;gap:2px}.alarm-history__time b{font-family:var(--font-num);font-size:8px;font-weight:400;color:#84a3b2}.alarm-history__time small{font-family:var(--font-num);font-size:6px;color:#4e6d7e}.alarm-history__copy{display:flex;flex-direction:column;gap:2px;min-width:0}.alarm-history__copy b{font-size:7.5px;font-weight:500;color:#b4c8d3}.alarm-history__copy small{font-size:6.3px;line-height:1.45;color:#607b8b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alarm-history__row>em{padding-top:1px;font-family:var(--font-num);font-size:6px;font-style:normal;color:#5f7c8b}.alarm-history__row.is-active>em{color:var(--red)}.alarm-history__row.is-warning.is-active>em{color:var(--amber)}.alarm-empty{flex:1;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#5f9181}.alarm-empty b{font-size:8px;font-weight:500}.alarm-empty small{font-size:6.5px;color:#577484}.toast{position:absolute;left:50%;bottom:28px;z-index:80;display:flex;align-items:center;gap:8px;min-width:250px;max-width:390px;padding:9px 10px;transform:translate(-50%);color:#d7edf4;background:linear-gradient(150deg,#0d232ef7,#06131cf7);border:1px solid rgba(63,144,139,.55);border-radius:5px;box-shadow:0 12px 36px #00000073;animation:toast-in .3s cubic-bezier(.16,1,.3,1) both}.toast--warn{border-color:#ffb34773}.toast--alarm{border-color:#ff526680}.toast__icon{width:23px;height:23px;flex:0 0 auto;display:grid;place-items:center;color:var(--green);background:#45d7951a;border:1px solid rgba(69,215,149,.22);border-radius:50%}.toast--warn .toast__icon{color:var(--amber);background:#ffb34714;border-color:#ffb34738}.toast--alarm .toast__icon{color:var(--red);background:#ff526614;border-color:#ff526638}.toast__copy{display:flex;flex-direction:column;gap:2px;min-width:0}.toast__copy b{font-size:8.5px;font-weight:500}.toast__copy small{font-size:7px;color:#7791a1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast>button{margin-left:auto;width:19px;height:19px;display:grid;place-items:center;color:#668292;background:transparent}@keyframes orb-breathe{0%,to{opacity:.5;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}@keyframes alarm-soft{0%,to{box-shadow:0 0 #ff526600}50%{box-shadow:0 0 14px #ff52662e}}@keyframes orbit-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes scan-line{0%,to{top:14%;opacity:0}14%{opacity:.5}55%{opacity:.28}85%{top:84%;opacity:0}}@keyframes flow-particle{0%{left:0;opacity:0}20%{opacity:1}80%{opacity:1}to{left:100%;opacity:0}}@keyframes dash-flow{to{stroke-dashoffset:-44}}@keyframes hotspot-alarm{0%,to{filter:brightness(.85)}50%{filter:brightness(1.25)}}@keyframes hotspot-fan-spin{to{transform:rotate(360deg)}}@keyframes hotspot-air-drift{0%,to{transform:translate(0) scale(1);opacity:.62}50%{transform:translate(3px) scale(1.08);opacity:1}}@keyframes hotspot-bar-breathe{0%,to{opacity:.3}50%{opacity:1}}@keyframes process-bar-breathe{0%,to{opacity:.38}50%{opacity:1}}@keyframes alarm-card-glow{0%,to{opacity:.2}25%,75%{opacity:.56}45%,55%{opacity:1}}@keyframes drawer-fade{0%{opacity:0}to{opacity:1}}@keyframes drawer-rise{0%{opacity:0;transform:translateY(14px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
