@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap";:root{--bg-color:#121b2e;--bg-panel:#14203ab3;--bg-panel-hover:#1a2848d9;--border-color:#ffffff14;--border-color-active:#06b6d466;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--color-run:#10b981;--color-stop:#6b7280;--color-warn:#eab308;--color-error:#ef4444;--color-auto:#3b82f6;--color-manual:#8b5cf6;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-title:"Outfit", var(--font-sans)}:root[data-theme=light]{--bg-color:#cbd5e1;--bg-panel:#ffffff73;--bg-panel-hover:#ffffffa6;--border-color:#0f172a0f;--border-color-active:#0e749066;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#64748b;--color-run:#059669;--color-stop:#475569;--color-warn:#d97706;--color-error:#dc2626;--color-auto:#2563eb;--color-manual:#7c3aed}:root[data-theme=light] .glass-panel{box-shadow:0 8px 24px #0f172a0a}:root[data-theme=light] .glass-panel:hover{border-color:#0f172a1f;box-shadow:0 12px 32px #0f172a14}:root[data-theme=light] ::-webkit-scrollbar-thumb{background:#0f172a2e}:root[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#0f172a47}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100vw;height:100vh;overflow-x:hidden}#app{flex-direction:column;height:100vh;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#0003}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}.glass-panel{background:var(--bg-panel);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:12px;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 32px #0a0f1e80,0 0 16px #06b6d40d}.glass-panel:hover{border-color:#ffffff1f;box-shadow:0 12px 40px #0a0f1e99,0 0 24px #06b6d414}.scada-title{font-family:var(--font-title);letter-spacing:-.02em}@keyframes pulse-warn{0%,to{opacity:1;filter:drop-shadow(0 0 2px var(--color-warn))}50%{opacity:.4;filter:drop-shadow(0 0 10px var(--color-warn))}}@keyframes pulse-error{0%,to{opacity:1;filter:drop-shadow(0 0 2px var(--color-error))}50%{opacity:.3;filter:drop-shadow(0 0 12px var(--color-error))}}@keyframes pulse-run{0%,to{opacity:1;filter:drop-shadow(0 0 2px var(--color-run))}50%{opacity:.6;filter:drop-shadow(0 0 6px var(--color-run))}}.pulse-warn{animation:1.5s infinite pulse-warn}.pulse-error{animation:1s infinite pulse-error}.pulse-run{animation:2s infinite pulse-run}.scada-btn{color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.scada-btn:hover{background:#ffffff1a;border-color:#fff3}.scada-btn:active{transform:scale(.98)}.scada-btn.primary{background:var(--color-auto);border-color:#0000}.scada-btn.primary:hover{background:#2563eb}.scada-btn.danger{background:var(--color-error);border-color:#0000}.scada-btn.danger:hover{background:#dc2626}.scada-slider{-webkit-appearance:none;background:#ffffff1a;border-radius:3px;outline:none;width:100%;height:6px;transition:background .15s}.scada-slider::-webkit-slider-thumb{appearance:none;background:var(--color-auto);cursor:pointer;border-radius:50%;width:16px;height:16px;transition:transform .1s;box-shadow:0 0 8px #3b82f680}.scada-slider::-webkit-slider-thumb:hover{transform:scale(1.25)}.header-container.svelte-jklva3{background:var(--bg-panel);border-bottom:2px solid var(--border-color);border-radius:0 0 16px 16px;flex-direction:column;margin:0 16px 16px;padding:16px 28px;display:flex;box-shadow:0 6px 30px #00000073}.header-top-row.svelte-jklva3{justify-content:space-between;align-items:center;width:100%;display:flex}.row-separator.svelte-jklva3{background:#ffffff1a;width:100%;height:1px;margin:14px 0}.header-bottom-row.svelte-jklva3{justify-content:space-between;align-items:center;width:100%;display:flex}.logo-area.svelte-jklva3{align-items:center;gap:20px;display:flex}.logo-icon.svelte-jklva3{font-family:var(--font-title);letter-spacing:.04em;background:linear-gradient(135deg,#3b82f6,#06b6d4);-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 8px #06b6d44d);-webkit-background-clip:text;align-items:center;gap:6px;font-size:24px;font-weight:900;display:flex}.logo-studio.svelte-jklva3{letter-spacing:.1em;background:linear-gradient(135deg,#0ea5e9,#38bdf8);-webkit-text-fill-color:transparent;text-shadow:none;-webkit-background-clip:text;font-weight:300}.divider.svelte-jklva3{background:#ffffff26;width:2px;height:32px}.system-title.svelte-jklva3 h1:where(.svelte-jklva3){font-family:"Pretendard", var(--font-sans);color:var(--text-primary);letter-spacing:-.02em;font-size:20px;font-weight:800}.sub-title.svelte-jklva3{font-family:var(--font-title);color:var(--text-muted);letter-spacing:.1em;margin-top:3px;font-size:11px;font-weight:700;display:block}.time-display-wrapper.svelte-jklva3{background:#00000040;border:1px solid #ffffff0f;border-radius:8px;align-items:center;gap:10px;padding:6px 16px;display:flex}.time-label.svelte-jklva3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.time-display.svelte-jklva3{font-variant-numeric:tabular-nums;color:#fff;letter-spacing:.02em;font-family:Inter,monospace;font-size:14.5px;font-weight:700}.settings-group.svelte-jklva3{align-items:center;gap:12px;display:flex}.status-and-control.svelte-jklva3{align-items:center;gap:24px;display:flex}.vertical-divider.svelte-jklva3{background:#ffffff1f;width:1px;height:36px}.status-summary.svelte-jklva3{align-items:center;gap:20px;display:flex}.status-indicator-box.svelte-jklva3{flex-direction:column;gap:4px;display:flex}.status-indicator-box.svelte-jklva3 .label:where(.svelte-jklva3){color:var(--text-muted);letter-spacing:.05em;font-size:11px;font-weight:700}.status-badge.svelte-jklva3{border:1.5px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-size:13.5px;font-weight:800;display:flex}.status-badge.run.svelte-jklva3{color:#10b981;text-shadow:0 0 10px #10b9814d;background:#10b9812e;border-color:#10b98166}.status-badge.stop.svelte-jklva3{color:#9ca3af;background:#9ca3af2e;border-color:#9ca3af66}.status-badge.warn.svelte-jklva3{color:#f59e0b;text-shadow:0 0 10px #f59e0b4d;background:#f59e0b2e;border-color:#f59e0b66}.status-badge.error.svelte-jklva3{color:#ef4444;text-shadow:0 0 10px #ef444480;background:#ef444433;border-color:#ef444480;animation:1.5s infinite alternate svelte-jklva3-danger-glowing}.status-badge.auto.svelte-jklva3{color:#3b82f6;text-shadow:0 0 10px #3b82f64d;background:#3b82f62e;border-color:#3b82f666}.status-badge.manual.svelte-jklva3{color:#a78bfa;text-shadow:0 0 10px #8b5cf64d;background:#8b5cf62e;border-color:#8b5cf666}.status-badge.alarm-active.svelte-jklva3{color:#f87171;text-shadow:0 0 10px #ef444480;background:#ef444440;border-color:#ef444480;animation:1s infinite alternate svelte-jklva3-danger-glowing}.status-badge.alarm-inactive.svelte-jklva3{color:var(--text-secondary);background:#ffffff0f;border-color:#ffffff1f}.pulse-dot.svelte-jklva3{background-color:currentColor;border-radius:50%;width:8px;height:8px;display:inline-block}.status-badge.run.svelte-jklva3 .pulse-dot:where(.svelte-jklva3){animation:1.5s ease-in-out infinite svelte-jklva3-header-pulse}@keyframes svelte-jklva3-header-pulse{0%{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.3)}to{opacity:.4;transform:scale(.8)}}@keyframes svelte-jklva3-danger-glowing{0%{border-color:#ef444466;box-shadow:0 0 4px #ef44444d}to{border-color:#ef4444cc;box-shadow:0 0 14px #ef4444cc}}.btn-group.svelte-jklva3{align-items:center;gap:16px;display:flex}.scada-btn.svelte-jklva3{cursor:pointer;font-size:13px;font-weight:700;font-family:"Pretendard", var(--font-sans);border:1.5px solid #0000;border-radius:8px;outline:none;justify-content:center;align-items:center;padding:10px 18px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.tutorial-start-btn.svelte-jklva3,.fullscreen-toggle-btn.svelte-jklva3,.theme-toggle-btn.svelte-jklva3{color:var(--text-secondary);background:#ffffff0d;border-color:#ffffff1a;gap:6px}.tutorial-start-btn.svelte-jklva3:hover,.fullscreen-toggle-btn.svelte-jklva3:hover,.theme-toggle-btn.svelte-jklva3:hover{color:var(--text-primary);background:#ffffff1f;border-color:#ffffff40;box-shadow:0 2px 8px #0003}.fullscreen-toggle-btn.active-fs.svelte-jklva3{color:#60a5fa;background:#3b82f633;border-color:#3b82f699;box-shadow:0 0 10px #3b82f640}.mode-toggle-btn.svelte-jklva3{color:#e2e8f0;background:linear-gradient(#1e293bcc,#0f172ae6);border-color:#ffffff26;min-height:44px;padding:11px 22px;font-size:14.5px;box-shadow:0 4px 10px #0000004d}.mode-toggle-btn.svelte-jklva3:hover{color:#fff;background:linear-gradient(#334155d9,#1e293bf2);border-color:#ffffff4d;box-shadow:0 4px 14px #ffffff0d}.system-toggle-btn.svelte-jklva3{min-height:44px;padding:11px 24px;font-size:14.5px;box-shadow:0 4px 12px #00000059}.start-btn.svelte-jklva3{color:#34d399;background:linear-gradient(135deg,#10b98140,#05966959);border-color:#10b98180}.start-btn.svelte-jklva3:hover{background:linear-gradient(135deg,#10b98159,#05966973);border-color:#10b981;box-shadow:0 0 15px #10b98159}.stop-btn.svelte-jklva3{color:#f87171;background:linear-gradient(135deg,#ef444440,#dc262659);border-color:#ef444480}.stop-btn.svelte-jklva3:hover{background:linear-gradient(135deg,#ef444459,#dc262673);border-color:#ef4444;box-shadow:0 0 15px #ef444459}.nav-tabs.svelte-jklva3{background:#0000008c;border:1.5px solid #ffffff1a;border-radius:10px;align-items:center;gap:6px;padding:5px;display:flex}.tab-divider.svelte-jklva3{background:#ffffff26;width:1px;height:22px;margin:0 6px}.tab-btn.svelte-jklva3{color:#ffffffa6;cursor:pointer;font-size:14.5px;font-weight:700;font-family:"Pretendard", var(--font-sans);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:10px 22px;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.tab-btn.svelte-jklva3:hover{color:#fff;background:#ffffff12}.tab-btn.active.svelte-jklva3{color:#fff;text-shadow:0 1px 2px #00000080;background:linear-gradient(135deg,#2563eb,#0891b2);box-shadow:0 4px 14px #0891b273}:root[data-theme=light] .time-display-wrapper.svelte-jklva3{background:#0000000d;border-color:#00000014}:root[data-theme=light] .time-display.svelte-jklva3{color:#0f172a}:root[data-theme=light] .tutorial-start-btn.svelte-jklva3,:root[data-theme=light] .fullscreen-toggle-btn.svelte-jklva3,:root[data-theme=light] .theme-toggle-btn.svelte-jklva3{color:#334155;background:#0f172a0a;border-color:#0f172a1a}:root[data-theme=light] .tutorial-start-btn.svelte-jklva3:hover,:root[data-theme=light] .fullscreen-toggle-btn.svelte-jklva3:hover,:root[data-theme=light] .theme-toggle-btn.svelte-jklva3:hover{color:#0f172a;background:#0f172a17;border-color:#0f172a33}:root[data-theme=light] .nav-tabs.svelte-jklva3{background:#ffffffd9;border-color:#0000001f}:root[data-theme=light] .tab-btn.svelte-jklva3{color:#475569}:root[data-theme=light] .tab-btn.svelte-jklva3:hover{color:#0f172a;background:#0000000d}:root[data-theme=light] .tab-btn.active.svelte-jklva3{color:#fff;background:linear-gradient(135deg,#1d4ed8,#0e7490);box-shadow:0 4px 12px #0e74904d}:root[data-theme=light] .tab-divider.svelte-jklva3{background:#0000001f}:root[data-theme=light] .mode-toggle-btn.svelte-jklva3{color:#1e293b;background:linear-gradient(#f8fafc,#f1f5f9);border-color:#00000026}:root[data-theme=light] .mode-toggle-btn.svelte-jklva3:hover{color:#0f172a;background:linear-gradient(#e2e8f0,#cbd5e1);border-color:#00000040}:root[data-theme=light] .vertical-divider.svelte-jklva3{background:#00000026}:root[data-theme=light] .status-badge.stop.svelte-jklva3{color:#4b5563;background:#4b556326;border-color:#4b556359}:root[data-theme=light] .status-badge.alarm-inactive.svelte-jklva3{color:#475569;background:#0000000d;border-color:#0000001a}.canvas-panel.svelte-zh5ulu{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;height:100%;display:flex;overflow:hidden;box-shadow:0 12px 40px #0006}.canvas-header.svelte-zh5ulu{border-bottom:1px solid var(--border-color);background:#0003;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.title-with-dot.svelte-zh5ulu{align-items:center;gap:8px;display:flex}.title-with-dot.svelte-zh5ulu h2:where(.svelte-zh5ulu){color:#e2e8f0;letter-spacing:-.02em;font-family:Pretendard,Inter,sans-serif;font-size:15px;font-weight:600}.active-dot.svelte-zh5ulu{background-color:var(--color-run,#10b981);width:8px;height:8px;box-shadow:0 0 10px var(--color-run,#10b981);border-radius:50%;animation:2s ease-in-out infinite svelte-zh5ulu-active-pulse;display:inline-block}@keyframes svelte-zh5ulu-active-pulse{0%{opacity:.6;transform:scale(.9);box-shadow:0 0 4px #10b98180}50%{opacity:1;transform:scale(1.15);box-shadow:0 0 12px #10b981e6}to{opacity:.6;transform:scale(.9);box-shadow:0 0 4px #10b98180}}.canvas-wrapper.svelte-zh5ulu{background:radial-gradient(circle,#1a2b4c 0%,#0c1527 100%);flex:1;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}:root[data-theme=light] .canvas-wrapper.svelte-zh5ulu{background:radial-gradient(circle,#d8e2eb 0%,#b0c2d4 100%)}.canvas-wrapper.svelte-zh5ulu:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-position:50%;background-size:20px 20px;position:absolute;inset:0}:root[data-theme=light] .canvas-wrapper.svelte-zh5ulu:before{background-image:linear-gradient(#0f172a01 1px,#0000 1px),linear-gradient(90deg,#0f172a01 1px,#0000 1px)}.konva-container.svelte-zh5ulu{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.sensor-panel.svelte-7fqks8{flex-direction:column;height:100%;display:flex;overflow:hidden}.panel-header.svelte-7fqks8{border-bottom:1px solid var(--border-color);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.header-title.svelte-7fqks8{color:var(--text-primary);align-items:center;gap:5px;display:flex}.header-title.svelte-7fqks8 h2:where(.svelte-7fqks8){white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:600;overflow:hidden}.tab-bar.svelte-7fqks8{background:#00000040;border:1px solid #ffffff0d;border-radius:5px;padding:2px;display:flex}:root[data-theme=light] .tab-bar.svelte-7fqks8{background:#0000000d;border-color:#94a3b81f}.tab-item.svelte-7fqks8{text-align:center;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:3px;flex:1;padding:6px 0;font-size:11.5px;font-weight:600;transition:all .2s}.tab-item.svelte-7fqks8:hover{color:var(--text-primary)}.tab-item.active.svelte-7fqks8{background:var(--color-auto);color:#fff;box-shadow:0 1px 6px #3b82f659}.panel-body.svelte-7fqks8{flex:1;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-content:start;gap:10px;padding:10px;display:grid;overflow-y:auto}.eq-card.svelte-7fqks8{border:1px solid var(--border-color);cursor:pointer;background:#0f172a73;border-radius:6px;padding:8px;transition:all .2s cubic-bezier(.4,0,.2,1)}:root[data-theme=light] .eq-card.svelte-7fqks8{background:#ffffffb3;border-color:#0f172a0d}.eq-card.svelte-7fqks8:hover{background:#1e293b80;border-color:#ffffff1f;transform:translateY(-1px)}:root[data-theme=light] .eq-card.svelte-7fqks8:hover{background:#ffffffe6;border-color:#0f172a1a}.eq-card-header.svelte-7fqks8{border-bottom:1px solid #ffffff08;justify-content:space-between;align-items:center;margin-bottom:6px;padding-bottom:4px;display:flex}.title-info.svelte-7fqks8{align-items:center;gap:6px;display:flex}.eq-name.svelte-7fqks8{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.mode-tag.svelte-7fqks8{border-radius:2.5px;padding:1.5px 4.5px;font-size:10px;font-weight:600}.mode-tag.auto.svelte-7fqks8{color:var(--color-auto);background:#3b82f626}.mode-tag.manual.svelte-7fqks8{color:var(--color-manual);background:#8b5cf626}.status-badge.svelte-7fqks8{border-radius:2.5px;padding:1.5px 5.5px;font-size:10px;font-weight:600}.status-badge.run.svelte-7fqks8{color:var(--color-run);background:#10b9811f}.status-badge.stop.svelte-7fqks8{color:var(--color-stop);background:#6b72801f}.status-badge.warn.svelte-7fqks8{color:var(--color-warn);background:#eab3081f}.status-badge.error.svelte-7fqks8{color:var(--color-error);background:#ef444426}.metric-grid.svelte-7fqks8{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:6px;display:grid}.metric-item.svelte-7fqks8{background:#00000038;border:1px solid #ffffff05;border-radius:5px;flex-direction:column;padding:6px;display:flex}:root[data-theme=light] .metric-item.svelte-7fqks8{background:#ffffffb3;border-color:#94a3b81a}.special-metric.svelte-7fqks8{background:#10b98105;border-color:#10b98126}:root[data-theme=light] .special-metric.svelte-7fqks8{background:#10b9810a;border-color:#10b9811f}.text-green.svelte-7fqks8{color:var(--color-run)!important}.metric-label.svelte-7fqks8{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:1px;font-size:11.5px;overflow:hidden}.metric-value-box.svelte-7fqks8{align-items:baseline;gap:2px;display:flex}.metric-value.svelte-7fqks8{font-family:var(--font-title);color:var(--text-primary);font-size:16px;font-weight:700}.metric-unit.svelte-7fqks8{color:var(--text-muted);font-size:11px}.metric-limit.svelte-7fqks8{color:var(--text-muted);margin-top:1px;font-size:10px}.danger-blink.svelte-7fqks8{background:#ef444414;border-color:#ef444466;animation:1s infinite alternate svelte-7fqks8-tab-alert-blink;box-shadow:0 0 6px #ef444426}.danger-blink.svelte-7fqks8 .metric-value:where(.svelte-7fqks8){color:var(--color-error)}@keyframes svelte-7fqks8-tab-alert-blink{0%{background:#ef444408;border-color:#ef444426}to{background:#ef44441f;border-color:#ef444473}}.tms-panel.svelte-v0muiy{flex-direction:column;height:100%;display:flex;overflow:hidden}.panel-header.svelte-v0muiy{border-bottom:1px solid var(--border-color);color:var(--text-primary);align-items:center;gap:6px;padding:10px 12px;display:flex}.panel-header.svelte-v0muiy h2:where(.svelte-v0muiy){white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:600;overflow:hidden}.panel-body.svelte-v0muiy{flex-direction:column;flex:1;gap:8px;padding:10px;display:flex;overflow-y:auto}.tms-summary.svelte-v0muiy{border:1px solid var(--border-color);background:#00000026;border-radius:4px;justify-content:space-between;align-items:center;padding:7px 10px;font-size:12.5px;display:flex}:root[data-theme=light] .tms-summary.svelte-v0muiy{background:#ffffff8c;border-color:#94a3b826}.tms-summary.svelte-v0muiy .label:where(.svelte-v0muiy){color:var(--text-secondary);font-weight:600}.status-badge.svelte-v0muiy{white-space:nowrap;border-radius:2.5px;padding:1.5px 5.5px;font-size:11px;font-weight:600}.status-badge.normal.svelte-v0muiy{color:var(--color-run);background:#10b9811f}.status-badge.warn.svelte-v0muiy{color:var(--color-warn);background:#eab3081f}.status-badge.error.svelte-v0muiy{color:var(--color-error);background:#ef44441f}.pollutants-list.svelte-v0muiy{flex-direction:column;gap:6px;display:flex}.pollutant-row.svelte-v0muiy{background:#ffffff03;border:1px solid #ffffff05;border-radius:4px;flex-direction:column;gap:3px;padding:6px;display:flex}:root[data-theme=light] .pollutant-row.svelte-v0muiy{background:#fff9;border-color:#94a3b81a}.row-header.svelte-v0muiy{justify-content:space-between;align-items:baseline;display:flex}.row-header.svelte-v0muiy .name:where(.svelte-v0muiy){color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.val-box.svelte-v0muiy{align-items:baseline;gap:1px;display:flex}.val-box.svelte-v0muiy .value:where(.svelte-v0muiy){font-family:var(--font-title);font-size:16px;font-weight:700}.val-box.svelte-v0muiy .value.normal:where(.svelte-v0muiy){color:var(--color-run)}.val-box.svelte-v0muiy .value.warning:where(.svelte-v0muiy){color:var(--color-warn)}.val-box.svelte-v0muiy .value.critical:where(.svelte-v0muiy){color:var(--color-error)}.val-box.svelte-v0muiy .unit:where(.svelte-v0muiy){color:var(--text-muted);font-size:11px}.gauge-container.svelte-v0muiy{background:#ffffff14;border-radius:4px;height:8px;margin:1px 0;position:relative;overflow:hidden}:root[data-theme=light] .gauge-container.svelte-v0muiy{background:#94a3b826}.gauge-bar.svelte-v0muiy{border-radius:2.5px;height:100%;transition:width .4s}.gauge-bar.bg-normal.svelte-v0muiy{background:linear-gradient(90deg,#10b981,#059669)}.gauge-bar.bg-warning.svelte-v0muiy{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.gauge-bar.bg-critical.svelte-v0muiy{background:linear-gradient(90deg,#f87171,#ef4444);animation:1s infinite alternate svelte-v0muiy-critical-pulse}:root[data-theme=light] .gauge-bar.bg-normal.svelte-v0muiy{background:#059669}:root[data-theme=light] .gauge-bar.bg-warning.svelte-v0muiy{background:#d97706}:root[data-theme=light] .gauge-bar.bg-critical.svelte-v0muiy{background:#dc2626}@keyframes svelte-v0muiy-critical-pulse{0%{opacity:.8}to{opacity:1}}.limit-marker.svelte-v0muiy{opacity:.8;background-color:#60a5fa;width:2px;height:100%;position:absolute;top:0;box-shadow:0 0 4px #3b82f6}.row-footer.svelte-v0muiy{color:var(--text-muted);justify-content:space-between;font-size:11px;display:flex}.ratio-text.svelte-v0muiy{font-weight:600}.no-data.svelte-v0muiy{height:80px;color:var(--text-muted);text-align:center;justify-content:center;align-items:center;font-size:10px;display:flex}.alarm-log-panel.svelte-4thc5f{flex-direction:column;height:100%;display:flex;overflow:hidden}.panel-header.svelte-4thc5f{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.header-left.svelte-4thc5f{color:var(--text-primary);align-items:center;gap:8px;display:flex}.header-left.svelte-4thc5f h2:where(.svelte-4thc5f){font-size:16px;font-weight:600}.alarm-stats.svelte-4thc5f{color:var(--text-secondary);background:#ffffff0d;border-radius:4px;padding:4px 10px;font-size:13px}.panel-body.svelte-4thc5f{flex:1;overflow:hidden}.no-alarms.svelte-4thc5f{height:100%;color:var(--text-muted);justify-content:center;align-items:center;font-size:12px;display:flex}.table-wrapper.svelte-4thc5f{width:100%;height:100%;overflow-y:auto}.alarm-table.svelte-4thc5f{border-collapse:collapse;text-align:left;width:100%;font-size:13.5px}.alarm-table.svelte-4thc5f th:where(.svelte-4thc5f){color:var(--text-secondary);z-index:10;border-bottom:1px solid var(--border-color);background:#0f172ab3;padding:10px 16px;font-weight:600;position:sticky;top:0}.alarm-table.svelte-4thc5f td:where(.svelte-4thc5f){vertical-align:middle;border-bottom:1px solid #ffffff08;padding:8px 16px}.alarm-row.svelte-4thc5f{transition:background .15s}.critical-row.svelte-4thc5f{color:#fca5a5;background:#ef44441a}.critical-row.svelte-4thc5f:hover{background:#ef444426}.warning-row.svelte-4thc5f{color:#fde047;background:#eab3080f}.warning-row.svelte-4thc5f:hover{background:#eab3081a}.resolved-row.svelte-4thc5f{color:var(--text-secondary);background:0 0}.resolved-row.svelte-4thc5f:hover{background:#ffffff05}.eq-name.svelte-4thc5f{font-weight:600}.msg.svelte-4thc5f{word-break:break-all}.level-badge.svelte-4thc5f{border-radius:3px;padding:2px 5px;font-size:11px;font-weight:700;display:inline-block}.level-badge.danger.svelte-4thc5f{color:var(--color-error);background:#ef444433;border:1px solid #ef44444d}.level-badge.warn.svelte-4thc5f{color:var(--color-warn);background:#eab30833;border:1px solid #eab3084d}.status.resolved.svelte-4thc5f{color:var(--text-muted);font-weight:500}.ack-btn.svelte-4thc5f{background:#ffffff14;border-radius:4px;padding:4px 10px;font-size:12px}.ack-btn.svelte-4thc5f:hover{background:#ffffff26}.danger-pulse.svelte-4thc5f{animation:1s infinite alternate svelte-4thc5f-danger-btn-glow}@keyframes svelte-4thc5f-danger-btn-glow{0%{border-color:#ef444466;box-shadow:0 0 2px #ef44444d}to{border-color:var(--color-error);background-color:#ef44444d;box-shadow:0 0 10px #ef4444cc}}:root[data-theme=light] .alarm-table.svelte-4thc5f th:where(.svelte-4thc5f){background:#f8fafcf2;border-bottom-color:#94a3b82e}:root[data-theme=light] .alarm-table.svelte-4thc5f td:where(.svelte-4thc5f){border-bottom-color:#94a3b814}:root[data-theme=light] .critical-row.svelte-4thc5f{color:#b91c1c;background:#ef444412}:root[data-theme=light] .critical-row.svelte-4thc5f:hover{background:#ef44441f}:root[data-theme=light] .warning-row.svelte-4thc5f{color:#b45309;background:#d977060f}:root[data-theme=light] .warning-row.svelte-4thc5f:hover{background:#d977061a}:root[data-theme=light] .resolved-row.svelte-4thc5f:hover{background:#94a3b814}:root[data-theme=light] .level-badge.danger.svelte-4thc5f{background:#ef44441f;border-color:#ef444433}:root[data-theme=light] .level-badge.warn.svelte-4thc5f{background:#eab3081f;border-color:#eab30833}:root[data-theme=light] .ack-btn.svelte-4thc5f{color:var(--text-primary);background:#0f172a0f;border-color:#0f172a14}:root[data-theme=light] .ack-btn.svelte-4thc5f:hover{background:#0f172a1f}.modal-backdrop.svelte-5ejlfe{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#04060a66;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.2s cubic-bezier(.16,1,.3,1) svelte-5ejlfe-fadeIn;display:flex;position:fixed;top:0;left:0}.modal-backdrop.transparent-backdrop.svelte-5ejlfe{-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:auto;background:0 0}@keyframes svelte-5ejlfe-fadeIn{0%{opacity:0}to{opacity:1}}.modal-content.svelte-5ejlfe{border:1px solid var(--border-color);background:#14203af2;border-radius:12px;flex-direction:column;width:420px;max-width:90%;animation:.25s cubic-bezier(.16,1,.3,1) svelte-5ejlfe-slideUp;display:flex;overflow:hidden;box-shadow:0 20px 50px #00000080,0 0 30px #06b6d40d}.modal-content.popover-mode.svelte-5ejlfe{animation:.22s cubic-bezier(.16,1,.3,1) svelte-5ejlfe-slideInScale;position:fixed;box-shadow:0 10px 30px #0006,0 0 20px #06b6d414}@keyframes svelte-5ejlfe-slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes svelte-5ejlfe-slideInScale{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header.svelte-5ejlfe{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.title-section.svelte-5ejlfe h3:where(.svelte-5ejlfe){color:var(--text-primary);font-size:15px;font-weight:600}.title-section.svelte-5ejlfe .sub-text:where(.svelte-5ejlfe){color:var(--text-secondary);font-size:11px}.close-btn.svelte-5ejlfe{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s,color .15s;display:flex}.close-btn.svelte-5ejlfe:hover{color:var(--text-primary);background:#ffffff14}.modal-body.svelte-5ejlfe{flex-direction:column;flex:1;gap:16px;min-height:0;max-height:70vh;padding:20px;display:flex;overflow-y:auto}.control-row.svelte-5ejlfe{grid-template-columns:1fr 1fr;gap:16px;display:grid}.control-col.svelte-5ejlfe{flex-direction:column;gap:6px;display:flex}.control-label.svelte-5ejlfe{color:var(--text-muted);font-size:11px;font-weight:500}.status-indicator.svelte-5ejlfe{color:var(--text-primary);background:#00000040;border:1px solid #ffffff0d;border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:600;display:flex}.status-dot.svelte-5ejlfe{border-radius:50%;width:8px;height:8px}.status-dot.run.svelte-5ejlfe{background:var(--color-run)}.status-dot.stop.svelte-5ejlfe{background:var(--color-stop)}.status-dot.warn.svelte-5ejlfe{background:var(--color-warn)}.status-dot.error.svelte-5ejlfe{background:var(--color-error)}.mode-control.svelte-5ejlfe{color:var(--text-primary);background:#00000040;border:1px solid #ffffff0d;border-radius:6px;justify-content:space-between;align-items:center;padding:4px 6px 4px 12px;display:flex}.mode-text.svelte-5ejlfe{font-size:12px;font-weight:600}.mode-text.auto.svelte-5ejlfe{color:var(--color-auto)}.mode-text.manual.svelte-5ejlfe{color:var(--color-manual)}.divider.svelte-5ejlfe{background:var(--border-color);height:1px}.control-section.svelte-5ejlfe{flex-direction:column;gap:8px;display:flex}.control-section.svelte-5ejlfe h4:where(.svelte-5ejlfe){color:var(--text-secondary);font-size:12.5px;font-weight:600}.section-desc.svelte-5ejlfe{color:var(--text-muted);font-size:11px;line-height:1.4}.btn-group.svelte-5ejlfe{gap:8px;margin-top:4px;display:flex}.scada-btn.svelte-5ejlfe:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.metrics-sliders.svelte-5ejlfe{flex-direction:column;gap:14px;margin-top:8px;display:flex}.slider-box.svelte-5ejlfe{background:#ffffff05;border:1px solid #ffffff0a;border-radius:8px;flex-direction:column;gap:6px;padding:10px;transition:all .2s;display:flex}.slider-box.disabled.svelte-5ejlfe{opacity:.55}.slider-header.svelte-5ejlfe{justify-content:space-between;align-items:center;display:flex}.metric-name.svelte-5ejlfe{color:var(--text-primary);font-size:12px;font-weight:500}.metric-value.svelte-5ejlfe{font-family:var(--font-title);color:var(--color-run);font-size:13px;font-weight:600}.metric-value.violation.svelte-5ejlfe{color:var(--color-error)}.limit-tag.svelte-5ejlfe{color:var(--text-muted);margin-left:4px;font-size:10px;font-weight:400}.slider-limits.svelte-5ejlfe{color:var(--text-muted);justify-content:space-between;font-size:9px;display:flex}.no-metrics-msg.svelte-5ejlfe{text-align:center;color:var(--text-muted);padding:16px 0;font-size:11px}.modal-footer.svelte-5ejlfe{border-top:1px solid var(--border-color);background:#00000026;justify-content:flex-end;padding:12px 20px;display:flex}:root[data-theme=light] .modal-backdrop.svelte-5ejlfe{background:#0f172a26}:root[data-theme=light] .modal-backdrop.transparent-backdrop.svelte-5ejlfe{background:0 0}:root[data-theme=light] .modal-content.svelte-5ejlfe{background:#fffffff2;border:1px solid #0f172a1f;box-shadow:0 20px 40px #0f172a1f,0 0 16px #0e74900d}:root[data-theme=light] .modal-content.popover-mode.svelte-5ejlfe{box-shadow:0 10px 30px #0f172a14,0 0 20px #0e74900f}:root[data-theme=light] .close-btn.svelte-5ejlfe:hover{background:#0f172a0f}:root[data-theme=light] .status-indicator.svelte-5ejlfe,:root[data-theme=light] .mode-control.svelte-5ejlfe{color:#1e293b;background:#0f172a0a;border:1px solid #0f172a14}:root[data-theme=light] .slider-box.svelte-5ejlfe{background:#0f172a04;border:1px solid #0f172a0d}:root[data-theme=light] .modal-footer.svelte-5ejlfe{background:#0f172a08}.tutorial-layer.svelte-2934ix{z-index:9998;pointer-events:auto;width:100vw;height:100vh;position:fixed;top:0;left:0}.spotlight-mask.svelte-2934ix{z-index:9999;pointer-events:none;box-sizing:border-box;border:2px solid #3b82f6;border-radius:8px;transition:all .35s cubic-bezier(.4,0,.2,1);position:fixed;box-shadow:0 0 0 9999px #0f172ac7}.spotlight-dim-full.svelte-2934ix{z-index:9999;pointer-events:none;background-color:#0f172ac7;width:100vw;height:100vh;position:fixed;top:0;left:0}.tooltip-card.svelte-2934ix{z-index:10000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-sizing:border-box;background:#1e293bf2;border:1px solid #3b82f673;border-radius:8px;flex-direction:column;gap:14px;width:340px;padding:20px;transition:all .35s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;box-shadow:0 20px 25px -5px #0009,0 10px 10px -5px #0006}.tooltip-card.center-position.svelte-2934ix{border-color:#3b82f6;width:420px;padding:28px;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #3b82f6,0 25px 50px -12px #000c}.tooltip-header.svelte-2934ix{flex-direction:column;gap:6px;display:flex}.step-badge.svelte-2934ix{color:#3b82f6;letter-spacing:.05em;background:#3b82f61f;border:1px solid #3b82f640;border-radius:9999px;align-self:flex-start;padding:2px 8px;font-size:10px;font-weight:700}.tooltip-header.svelte-2934ix h3:where(.svelte-2934ix){color:#fff;letter-spacing:-.01em;font-family:Pretendard,sans-serif;font-size:16px;font-weight:700}.center-position.svelte-2934ix .tooltip-header:where(.svelte-2934ix) h3:where(.svelte-2934ix){font-size:19px}.tooltip-desc.svelte-2934ix{color:#94a3b8;word-break:keep-all;font-family:Pretendard,sans-serif;font-size:13px;line-height:1.6}.center-position.svelte-2934ix .tooltip-desc:where(.svelte-2934ix){color:#cbd5e1;font-size:14.5px;line-height:1.7}.tooltip-actions.svelte-2934ix{justify-content:space-between;align-items:center;margin-top:6px;display:flex}.skip-btn.svelte-2934ix{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 8px;font-size:12px;font-weight:600;transition:color .2s}.skip-btn.svelte-2934ix:hover{color:#94a3b8}.nav-buttons.svelte-2934ix{gap:8px;display:flex}.prev-btn.svelte-2934ix{color:#cbd5e1;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s}.prev-btn.svelte-2934ix:hover{background:#ffffff1a}.next-btn.svelte-2934ix{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:6px;padding:6px 16px;font-size:12px;font-weight:700;transition:all .2s;box-shadow:0 4px 10px #2563eb4d}.next-btn.svelte-2934ix:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 6px 12px #2563eb66}:root[data-theme=light] .tooltip-card.svelte-2934ix{background:#fffffff5;border-color:#2563eb80;box-shadow:0 20px 25px -5px #0f172a33,0 10px 10px -5px #0f172a26}:root[data-theme=light] .tooltip-header.svelte-2934ix h3:where(.svelte-2934ix){color:#0f172a}:root[data-theme=light] .tooltip-desc.svelte-2934ix{color:#475569}:root[data-theme=light] .center-position.svelte-2934ix .tooltip-desc:where(.svelte-2934ix){color:#334155}:root[data-theme=light] .prev-btn.svelte-2934ix{color:#334155;background:#0f172a0a;border-color:#0f172a14}:root[data-theme=light] .prev-btn.svelte-2934ix:hover{background:#0f172a14}.scada-layout.svelte-1n46o8q{background-color:var(--bg-color);flex-direction:column;width:100vw;height:100vh;transition:padding .3s;display:flex;overflow:hidden}.header-wrapper.svelte-1n46o8q{z-index:100;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s}.scada-layout.fullscreen-mode.svelte-1n46o8q{padding:0}.scada-layout.fullscreen-mode.svelte-1n46o8q .header-wrapper:where(.svelte-1n46o8q){opacity:0;pointer-events:none;width:100%;position:absolute;top:0;left:0;transform:translateY(-100%)}.scada-layout.fullscreen-mode.header-visible.svelte-1n46o8q .header-wrapper:where(.svelte-1n46o8q){opacity:1;pointer-events:auto;transform:translateY(0)}.scada-layout.fullscreen-mode.svelte-1n46o8q .scada-main:where(.svelte-1n46o8q){gap:0;padding:0}.fullscreen-hover-detector.svelte-1n46o8q{z-index:99;background:0 0;width:100vw;height:6px;position:fixed;top:0;left:0}.fullscreen-floating-exit-btn.svelte-1n46o8q{z-index:999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#f87171;cursor:pointer;background:#1e293bd9;border:1px solid #ef444466;border-radius:9999px;align-items:center;gap:8px;padding:8px 16px;font-family:Pretendard,sans-serif;font-size:11px;font-weight:700;transition:all .2s;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 24px #00000080}.fullscreen-floating-exit-btn.svelte-1n46o8q:hover{color:#fff;background:#ef444426;border-color:#ef4444;transform:translateY(-1px);box-shadow:0 10px 28px #ef444459}:root[data-theme=light] .fullscreen-floating-exit-btn.svelte-1n46o8q{background:#ffffffe6;border-color:#ef444459;box-shadow:0 8px 24px #0f172a26}:root[data-theme=light] .fullscreen-floating-exit-btn.svelte-1n46o8q:hover{color:#ef4444;background:#fef2f2;border-color:#ef4444}.scada-main.svelte-1n46o8q{flex-direction:column;flex:1;gap:12px;min-height:0;padding:0 12px 12px;display:flex}.canvas-container-full.svelte-1n46o8q{flex:1;height:100%;min-height:0}.data-dashboard-grid.svelte-1n46o8q{flex:1;grid-template-columns:1.3fr 1fr;gap:12px;height:100%;min-height:0;display:grid}.sensor-panel-wrapper.svelte-1n46o8q{height:100%;min-height:0}.right-panel-wrapper.svelte-1n46o8q{flex-direction:column;gap:12px;height:100%;min-height:0;display:flex}.tms-wrapper.svelte-1n46o8q{flex:1;min-height:0}.alarm-wrapper.svelte-1n46o8q{flex:1.5;min-height:0}@media (width<=1200px){.scada-layout.svelte-1n46o8q{overflow-y:auto}.data-dashboard-grid.svelte-1n46o8q{grid-template-columns:1fr;height:auto;overflow-y:auto}.right-panel-wrapper.svelte-1n46o8q{height:auto}.tms-wrapper.svelte-1n46o8q,.alarm-wrapper.svelte-1n46o8q{flex:none;height:350px}}
