:root{--primary:#409eff;--primary-hover:#66b1ff;--bg:linear-gradient(#f0f2f5b3, #f0f2f580);--card-bg:#fff;--text-color:#303133;--sub-text:#606266;--border-radius:12px;--transition:.3s ease}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html,body,#app{width:100%;max-width:100%;overflow-x:hidden}html{scrollbar-width:none;overflow-y:auto}html::-webkit-scrollbar{width:0;height:0}body{background:var(--bg);color:var(--text-color);font-family:Helvetica Neue,sans-serif}button,input{font:inherit}.main-content{z-index:1;background:0 0;flex:1;min-width:0;max-width:100%;padding:20px;position:relative;overflow:hidden auto}#controls{background:#fff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0;padding:12px 16px;display:flex;box-shadow:0 2px 8px #0000000d}#controls button,.refresh-btn{background:var(--primary);color:#fff;cursor:pointer;transition:background var(--transition), transform .2s;border:none;border-radius:999px;padding:8px 14px}#controls button:hover,.refresh-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}#controls input[type=text]{border:1px solid #dcdfe6;border-radius:4px;width:160px;padding:6px 10px}#deviceContainer{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.device-meta{color:var(--sub-text);margin-bottom:8px;font-size:14px}.section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.empty-block{color:var(--sub-text);background:#fff;border-radius:12px;padding:24px}.btn-primary,.btn-secondary,.btn-danger{cursor:pointer;border:none;border-radius:10px;padding:8px 14px}.btn-primary{color:#fff;background:#409eff}.btn-secondary{color:#303133;background:#f2f3f5}.btn-danger{color:#fff;background:#f56c6c}.settings-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 12px #0000000f}@media (width<=768px){.settings-card{border-radius:14px;padding:12px 14px}}.settings-title{margin-bottom:16px;font-size:20px}.form-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.form-row label{color:#606266;min-width:90px}.date-input{border:1px solid #dcdfe6;border-radius:8px;min-width:180px;padding:8px 10px}.selector-box{flex-wrap:wrap;align-items:stretch;gap:12px;display:flex}.selector-box>*{min-height:40px}.selector-box .date-input,.selector-box .btn-primary{min-width:160px}.flow-page{gap:20px;display:grid}.chart-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}@media (width<=1279px){.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.chart-card,.info-card{background:#ffffffad;border:1px solid #ffffffb8;border-radius:16px;min-height:320px;padding:18px;box-shadow:0 4px 16px #0f172a0f,0 1px #fff9}.card-title{color:#1e293b;letter-spacing:-.01em;margin-bottom:14px;font-size:17px;font-weight:700}.chart-canvas-wrap{box-sizing:border-box;background:#f8fafc99;border-radius:12px;width:100%;height:240px;padding:8px;position:relative}.info-card p{color:#64748b;border-bottom:1px solid #e2e8f099;justify-content:space-between;align-items:center;margin:0;padding:10px 0;font-size:14px;display:flex}.info-card p:last-child{border-bottom:none}.info-card strong{color:#1e293b;font-size:16px;font-weight:700}body{background:#f5f7fb;margin:0;font-family:Arial,sans-serif}button{cursor:pointer}body:has(.app-container.night-mode) input[type=range]{accent-color:#60a5fa}body:has(.app-container.night-mode) input[type=range]::-webkit-slider-runnable-track{background:#1e293beb;border:1px solid #94a3b838;border-radius:999px;height:6px}body:has(.app-container.night-mode) input[type=range]::-webkit-slider-thumb{background:#60a5fa;border:2px solid #bfdbfef2;border-radius:50%;width:18px;height:18px;margin-top:-7px;box-shadow:0 0 0 4px #2563eb38}body:has(.app-container.night-mode) input[type=range]::-moz-range-track{background:#1e293beb;border:1px solid #94a3b838;border-radius:999px;height:6px}body:has(.app-container.night-mode) input[type=range]::-moz-range-thumb{background:#60a5fa;border:2px solid #bfdbfef2;border-radius:50%;width:18px;height:18px;box-shadow:0 0 0 4px #2563eb38}body:has(.app-container.night-mode) input[type=range]:disabled{opacity:.48}.error-text{color:#e74c3c;margin:0}.dashboard-page{padding:24px}@media (width<=768px){#deviceContainer{grid-template-columns:1fr;gap:10px}.chart-grid{grid-template-columns:1fr;gap:12px}.chart-card,.info-card{border-radius:16px;min-height:0;padding:14px 16px}.card-title{margin-bottom:10px;font-size:15px;font-weight:700}.section-header{margin-bottom:10px}.section-header h2{font-size:18px}.flow-page{gap:12px}.chart-canvas-wrap{border-radius:10px;height:200px;padding:6px}}.toast-container{z-index:99999;pointer-events:none;flex-direction:column;align-items:center;gap:10px;max-width:calc(100vw - 32px);display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%)}.toast-item{pointer-events:auto;border:1px solid #0000;border-radius:14px;align-items:center;gap:10px;max-width:420px;padding:10px 18px;font-size:14px;font-weight:700;line-height:1.4;display:flex;box-shadow:0 8px 24px #0f172a1a}.toast-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;font-weight:900;line-height:1;display:inline-flex}.toast-text{min-width:0}.toast-item.success{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.toast-item.success .toast-icon{color:#fff;background:#22c55e}.toast-item.error{color:#b91c1c;background:#fff5f5;border-color:#fecaca}.toast-item.error .toast-icon{color:#fff;background:#ef4444}.toast-enter-active{transition:all .3s cubic-bezier(.22,1,.36,1)}.toast-leave-active{transition:all .25s ease-in}.toast-enter-from{opacity:0;transform:translateY(-16px)}.toast-leave-to{opacity:0;transform:translateY(-12px)}@media (width<=768px){.toast-container{top:calc(env(safe-area-inset-top,0px) + 88px);align-items:stretch;gap:8px;max-width:none;left:16px;right:16px;transform:none}.toast-item{border-radius:12px;width:100%;max-width:none;padding:11px 16px;font-size:13px}}.shake{animation:.4s both shakeX}@keyframes shakeX{0%,to{transform:translate(0)}10%{transform:translate(-4px)}30%{transform:translate(4px)}50%{transform:translate(-4px)}70%{transform:translate(4px)}90%{transform:translate(-2px)}}.auth-page[data-v-2c898133]{box-sizing:border-box;background:radial-gradient(circle at 0 0,#4f46e529,#0000 28%),radial-gradient(circle at 100% 100%,#3b82f624,#0000 28%),linear-gradient(135deg,#f5f7fb 0%,#eef2ff 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-shell[data-v-2c898133]{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe0;border:1px solid #ffffffb3;border-radius:28px;grid-template-columns:1.05fr .95fr;width:1120px;min-height:680px;display:grid;overflow:hidden;box-shadow:0 24px 60px #0f172a1f}.auth-side[data-v-2c898133]{color:#fff;background:linear-gradient(#2563ebf2,#4f46e5eb);flex-direction:column;justify-content:space-between;padding:56px 48px;display:flex}.brand-badge[data-v-2c898133]{letter-spacing:1px;background:#ffffff24;border:1px solid #fff3;border-radius:999px;margin-bottom:18px;padding:6px 12px;font-size:12px;display:inline-block}.brand h1[data-v-2c898133]{margin:0 0 16px;font-size:34px;font-weight:700;line-height:1.25}.brand p[data-v-2c898133]{color:#ffffffe6;margin:0;font-size:15px;line-height:1.8}.feature-list[data-v-2c898133]{flex-direction:column;gap:22px;margin:42px 0;display:flex}.feature-item[data-v-2c898133]{align-items:flex-start;gap:14px;display:flex}.dot[data-v-2c898133]{background:#fff;border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:9px;box-shadow:0 0 0 6px #ffffff1f}.feature-item h3[data-v-2c898133]{margin:0 0 6px;font-size:17px}.feature-item p[data-v-2c898133]{color:#ffffffdb;margin:0;font-size:14px;line-height:1.7}.tag-group[data-v-2c898133]{flex-wrap:wrap;gap:10px;display:flex}.tag-group span[data-v-2c898133]{background:#ffffff24;border:1px solid #ffffff2e;border-radius:999px;padding:8px 14px;font-size:13px}.auth-main[data-v-2c898133]{justify-content:center;align-items:center;padding:40px;display:flex}.form-card[data-v-2c898133]{background:#ffffffeb;border-radius:24px;width:100%;max-width:420px;padding:36px 34px;box-shadow:0 16px 40px #0f172a14}.form-header h2[data-v-2c898133]{color:#111827;margin:0 0 8px;font-size:28px}.form-header p[data-v-2c898133]{color:#6b7280;margin:0 0 28px;font-size:14px}.form-item[data-v-2c898133]{margin-bottom:18px}.form-item label[data-v-2c898133]{color:#374151;margin-bottom:8px;font-size:14px;font-weight:600;display:block}.form-item input[data-v-2c898133]{box-sizing:border-box;border:1px solid #dbe3f0;border-radius:14px;outline:none;width:100%;height:46px;padding:0 14px;font-size:14px;transition:all .2s}.form-item input[data-v-2c898133]:focus{border-color:#4f46e5;box-shadow:0 0 0 4px #4f46e514}.form-extra[data-v-2c898133]{justify-content:space-between;align-items:center;margin:2px 0 22px;font-size:13px;display:flex}.remember[data-v-2c898133]{color:#6b7280;align-items:center;gap:8px;display:flex}.form-extra a[data-v-2c898133],.form-footer a[data-v-2c898133]{color:#4f46e5;font-weight:600;text-decoration:none}.primary-btn[data-v-2c898133]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5,#2563eb);border:none;border-radius:14px;width:100%;height:48px;font-size:15px;font-weight:700;box-shadow:0 12px 24px #4f46e538}.primary-btn[data-v-2c898133]:disabled{opacity:.7;cursor:not-allowed}.form-footer[data-v-2c898133]{text-align:center;color:#6b7280;margin-top:18px;font-size:14px}@media (width<=960px){.auth-shell[data-v-2c898133]{grid-template-columns:1fr}.auth-side[data-v-2c898133]{padding:36px 28px}.auth-main[data-v-2c898133]{padding:24px}}@media (width<=640px){.auth-side[data-v-2c898133]{padding:28px 20px}.brand-badge[data-v-2c898133]{margin-bottom:12px;padding:4px 10px;font-size:10px}.brand h1[data-v-2c898133]{font-size:20px}.brand p[data-v-2c898133]{font-size:11px;line-height:1.4}.feature-item h3[data-v-2c898133]{font-size:13px}.feature-item p[data-v-2c898133]{font-size:11px}.feature-list[data-v-2c898133]{gap:14px;margin:24px 0}.tag-group[data-v-2c898133]{gap:6px}.tag-group span[data-v-2c898133]{padding:4px 8px;font-size:10px}.auth-main[data-v-2c898133]{padding:16px}.form-card[data-v-2c898133]{padding:24px 20px}.form-header h2[data-v-2c898133]{font-size:20px}.form-header p[data-v-2c898133]{margin-bottom:20px;font-size:12px}.form-item[data-v-2c898133]{margin-bottom:14px}.form-item label[data-v-2c898133]{margin-bottom:4px;font-size:11px}.form-item input[data-v-2c898133]{border-radius:10px;height:40px;padding:0 10px;font-size:13px}.form-extra[data-v-2c898133]{margin-bottom:16px;font-size:11px}.primary-btn[data-v-2c898133]{border-radius:10px;height:42px;font-size:14px}.form-footer[data-v-2c898133]{margin-top:14px;font-size:12px}}.auth-page[data-v-fc8db9fb]{box-sizing:border-box;background:radial-gradient(circle at 0 0,#4f46e529,#0000 28%),radial-gradient(circle at 100% 100%,#3b82f624,#0000 28%),linear-gradient(135deg,#f5f7fb 0%,#eef2ff 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-shell[data-v-fc8db9fb]{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe0;border:1px solid #ffffffb3;border-radius:28px;grid-template-columns:1.05fr .95fr;width:1120px;min-height:680px;display:grid;overflow:hidden;box-shadow:0 24px 60px #0f172a1f}.auth-side[data-v-fc8db9fb]{color:#fff;background:linear-gradient(#2563ebf2,#4f46e5eb);flex-direction:column;justify-content:space-between;padding:56px 48px;display:flex}.brand-badge[data-v-fc8db9fb]{letter-spacing:1px;background:#ffffff24;border:1px solid #fff3;border-radius:999px;margin-bottom:18px;padding:6px 12px;font-size:12px;display:inline-block}.register-side h1[data-v-fc8db9fb]{margin:0 0 14px;font-size:34px;line-height:1.25}.side-desc[data-v-fc8db9fb]{color:#ffffffe6;margin:0;font-size:15px;line-height:1.8}.scene-card-list[data-v-fc8db9fb]{grid-template-columns:1fr;gap:16px;margin:36px 0;display:grid}.scene-card[data-v-fc8db9fb]{background:#ffffff1f;border:1px solid #ffffff24;border-radius:18px;padding:18px 16px}.scene-card h3[data-v-fc8db9fb]{margin:0 0 8px;font-size:16px}.scene-card p[data-v-fc8db9fb]{color:#ffffffe0;margin:0;font-size:13px;line-height:1.7}.tag-group[data-v-fc8db9fb]{flex-wrap:wrap;gap:10px;display:flex}.tag-group span[data-v-fc8db9fb]{background:#ffffff24;border:1px solid #ffffff2e;border-radius:999px;padding:8px 14px;font-size:13px}.auth-main[data-v-fc8db9fb]{justify-content:center;align-items:center;padding:40px;display:flex}.form-card[data-v-fc8db9fb]{background:#ffffffeb;border-radius:24px;width:100%;max-width:430px;padding:36px 34px;box-shadow:0 16px 40px #0f172a14}.form-header h2[data-v-fc8db9fb]{color:#111827;margin:0 0 8px;font-size:28px}.form-header p[data-v-fc8db9fb]{color:#6b7280;margin:0 0 28px;font-size:14px}.form-item[data-v-fc8db9fb]{margin-bottom:18px}.form-item label[data-v-fc8db9fb]{color:#374151;margin-bottom:8px;font-size:14px;font-weight:600;display:block}.form-item input[data-v-fc8db9fb]{box-sizing:border-box;border:1px solid #dbe3f0;border-radius:14px;outline:none;width:100%;height:46px;padding:0 14px;font-size:14px;transition:all .2s}.form-item input[data-v-fc8db9fb]:focus{border-color:#4f46e5;box-shadow:0 0 0 4px #4f46e514}.primary-btn[data-v-fc8db9fb]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5,#2563eb);border:none;border-radius:14px;width:100%;height:48px;margin-top:8px;font-size:15px;font-weight:700;box-shadow:0 12px 24px #4f46e538}.primary-btn[data-v-fc8db9fb]:disabled{opacity:.7;cursor:not-allowed}.form-footer[data-v-fc8db9fb]{text-align:center;color:#6b7280;margin-top:18px;font-size:14px}.form-footer a[data-v-fc8db9fb]{color:#4f46e5;font-weight:600;text-decoration:none}@media (width<=960px){.auth-shell[data-v-fc8db9fb],.scene-card-list[data-v-fc8db9fb]{grid-template-columns:1fr}.auth-side[data-v-fc8db9fb]{padding:36px 28px}.auth-main[data-v-fc8db9fb]{padding:24px}}@media (width<=640px){.auth-side[data-v-fc8db9fb]{padding:28px 20px}.brand-badge[data-v-fc8db9fb]{margin-bottom:12px;padding:4px 10px;font-size:10px}.register-side h1[data-v-fc8db9fb]{font-size:20px}.side-desc[data-v-fc8db9fb]{font-size:11px;line-height:1.4}.scene-card-list[data-v-fc8db9fb]{gap:10px;margin:20px 0}.scene-card[data-v-fc8db9fb]{padding:14px}.scene-card h3[data-v-fc8db9fb]{font-size:13px}.scene-card p[data-v-fc8db9fb]{font-size:11px}.tag-group[data-v-fc8db9fb]{gap:6px}.tag-group span[data-v-fc8db9fb]{padding:4px 8px;font-size:10px}.auth-main[data-v-fc8db9fb]{padding:16px}.form-card[data-v-fc8db9fb]{padding:24px 20px}.form-header h2[data-v-fc8db9fb]{font-size:20px}.form-header p[data-v-fc8db9fb]{margin-bottom:20px;font-size:12px}.form-item[data-v-fc8db9fb]{margin-bottom:14px}.form-item label[data-v-fc8db9fb]{margin-bottom:4px;font-size:11px}.form-item input[data-v-fc8db9fb]{border-radius:10px;height:40px;padding:0 10px;font-size:13px}.primary-btn[data-v-fc8db9fb]{border-radius:10px;height:42px;margin-top:4px;font-size:14px}.form-footer[data-v-fc8db9fb]{margin-top:14px;font-size:12px}}.sidebar[data-v-cb957150]{z-index:100;-webkit-backdrop-filter:blur(14px);background:#ffffffe0;border:1px solid #fff9;border-radius:14px;flex-direction:column;align-items:center;width:180px;height:calc(100vh - 48px);min-height:auto;padding:28px 10px;display:flex;position:fixed;top:24px;left:24px;box-shadow:0 8px 24px #00000014}.sidebar ul[data-v-cb957150]{flex-direction:column;gap:14px;width:100%;margin:0;padding:0;list-style:none;display:flex}.sidebar li[data-v-cb957150]{cursor:pointer;color:#333;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:12px;width:90%;margin:8px auto;padding:11px 16px;transition:background .2s,color .2s,transform .2s;display:flex;position:relative}.sidebar li.active[data-v-cb957150],.sidebar li[data-v-cb957150]:hover{color:var(--primary);background:#409eff1f}.sidebar-icon[data-v-cb957150]{opacity:.7;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:opacity .2s,transform .2s;display:flex}.sidebar li:hover .sidebar-icon[data-v-cb957150]{opacity:.9}.sidebar li.active .sidebar-icon[data-v-cb957150]{opacity:1;transform:scale(1.08)}.sidebar-nav-text[data-v-cb957150]{white-space:nowrap;line-height:1}.indicator[data-v-cb957150]{z-index:5;background:var(--primary,#2563eb);pointer-events:none;position:absolute}.phase-idle[data-v-cb957150]{transition:top .15s,left .15s,height .2s,border-radius .2s}.phase-collapse[data-v-cb957150]{transition:height .15s cubic-bezier(.55,0,1,.45),border-radius .12s,width .15s cubic-bezier(.55,0,1,.45)}.phase-slide[data-v-cb957150]{transition:top .38s cubic-bezier(.34,1.56,.64,1),left .38s cubic-bezier(.34,1.56,.64,1)}.phase-expand[data-v-cb957150]{transition:height .2s,border-radius .15s,width .2s}.sidebar li[data-v-cb957150]:hover{transform:translate(2px)}.sidebar li[data-v-cb957150]:active{transform:translate(2px)scale(.98)}.anim-main[data-v-cb957150] .icon-sun-core{transform-box:fill-box;transform-origin:50%;animation:.3s cubic-bezier(.2,.8,.2,1) both navSunBurst-cb957150}.anim-main[data-v-cb957150] .icon-sun-ray{transform-box:view-box;transform-origin:12px 12px;animation:.34s cubic-bezier(.2,.8,.2,1) both navSunRays-cb957150}.anim-main[data-v-cb957150] .ray-1{animation-delay:0s}.anim-main[data-v-cb957150] .ray-2{animation-delay:25ms}.anim-main[data-v-cb957150] .ray-3{animation-delay:50ms}.anim-main[data-v-cb957150] .ray-4{animation-delay:75ms}.anim-main[data-v-cb957150] .ray-5{animation-delay:.1s}.anim-main[data-v-cb957150] .ray-6{animation-delay:.125s}.anim-main[data-v-cb957150] .ray-7{animation-delay:.15s}.anim-main[data-v-cb957150] .ray-8{animation-delay:.175s}.anim-flow[data-v-cb957150] .icon-bar{transform-box:fill-box;transform-origin:bottom;animation:.34s cubic-bezier(.2,.8,.2,1) both navBarPulse-cb957150}.anim-flow[data-v-cb957150] .icon-bar-1{animation-delay:0s}.anim-flow[data-v-cb957150] .icon-bar-2{animation-delay:80ms}.anim-flow[data-v-cb957150] .icon-bar-3{animation-delay:.16s}.anim-settings[data-v-cb957150] .icon-gear-center,.anim-settings[data-v-cb957150] .icon-gear-tooth{transform-box:fill-box;transform-origin:50%;animation:.42s cubic-bezier(.2,.7,.15,1) both navGearTurn-cb957150}.anim-firmware[data-v-cb957150] .icon-device-top-line{transform-box:fill-box;transform-origin:0;animation:.4s cubic-bezier(.34,.6,.15,1) both firmwareTopLineGrow-cb957150}.anim-firmware[data-v-cb957150] .icon-device-dot{transform-box:fill-box;transform-origin:50%;animation:.28s cubic-bezier(.2,.8,.2,1) .22s both firmwareDotConfirm-cb957150}@keyframes navSunBurst-cb957150{0%{transform:scale(.88)}55%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes navSunRays-cb957150{0%{opacity:.25;transform:scale(.35)}65%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes navBarPulse-cb957150{0%{transform:scaleY(.3)}55%{transform:scaleY(1.12)}to{transform:scaleY(1)}}@keyframes navGearTurn-cb957150{0%{transform:rotate(0)}85%{transform:rotate(140deg)}to{transform:rotate(135deg)}}@keyframes firmwareTopLineGrow-cb957150{0%{opacity:.45;transform:scaleX(.18)}16%{opacity:1}80%{opacity:1;transform:scaleX(1.08)}to{opacity:1;transform:scaleX(1)}}@keyframes firmwareDotConfirm-cb957150{0%{opacity:.45;transform:scale(.75)}45%{opacity:1;transform:scale(1.7)}to{opacity:.9;transform:scale(1)}}.night-mode{-webkit-backdrop-filter:none;color:#eaf2ff;opacity:1;background:#60a5fa;border-color:#94a3b82e;box-shadow:0 18px 45px #00000059}@media (width<=768px){.sidebar[data-v-cb957150]{z-index:auto;border-radius:14px;width:calc(100% - 24px);height:auto;min-height:0;margin:12px;padding:10px;display:block;position:relative;top:auto;left:auto}.sidebar ul[data-v-cb957150]{flex-direction:row;gap:8px;width:100%;margin:0;padding:0;display:flex}.sidebar li[data-v-cb957150]{text-align:center;border-radius:14px;flex-direction:column;flex:1;gap:3px;width:auto;margin:0;padding:8px 6px;font-size:12px}.sidebar li[data-v-cb957150]:hover{transform:none}.sidebar li[data-v-cb957150]:active{transform:scale(.96)}.sidebar-icon[data-v-cb957150]{width:18px;height:18px}.indicator[data-v-cb957150]{background:var(--primary,#2563eb);position:absolute}}.base-select[data-v-266a3462]{z-index:1;width:100%;position:relative}.base-select.open[data-v-266a3462]{z-index:9999}.select-trigger[data-v-266a3462]{color:#111827;text-align:left;cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #dbe3f0;border-radius:14px;width:100%;min-height:44px;padding:0 42px 0 14px;font-size:14px;transition:all .2s;position:relative}.select-trigger[data-v-266a3462]:hover{border-color:#c7d2e3}.open .select-trigger[data-v-266a3462]{border-color:#4f46e5;box-shadow:0 0 0 4px #4f46e514}.select-text[data-v-266a3462]{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.select-text.placeholder[data-v-266a3462]{color:#9ca3af}.select-arrow[data-v-266a3462]{color:#6b7280;pointer-events:none;font-size:14px;transition:transform .2s;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.open .select-arrow[data-v-266a3462]{transform:translateY(-50%)rotate(180deg)}.select-dropdown[data-v-266a3462]{box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:8px;overflow-y:auto;box-shadow:0 18px 40px #0f172a1f}.select-option[data-v-266a3462]{color:#111827;cursor:pointer;border-radius:12px;align-items:center;min-height:42px;padding:0 14px;font-size:14px;transition:background .18s,color .18s;display:flex}.select-option[data-v-266a3462]:hover{background:#f3f4f6}.select-option.active[data-v-266a3462]{color:#fff;background:linear-gradient(135deg,#4f46e5,#2563eb);font-weight:600}.select-option.disabled[data-v-266a3462]{color:#9ca3af;cursor:not-allowed}.disabled .select-trigger[data-v-266a3462]{color:#9ca3af;cursor:not-allowed;background:#f3f4f6}body:has(.app-container.night-mode){color:#e2e8f0eb;background:#0f172ac2;border-color:#94a3b847}.app-container.night-mode{border-color:#60a5fa80}body:has(.app-container.night-mode){border-color:#60a5fa80}.app-container.night-mode{border-color:#60a5fab8;box-shadow:0 0 0 4px #2563eb2e}body:has(.app-container.night-mode){border-color:#60a5fab8;box-shadow:0 0 0 4px #2563eb2e}body:has(.app-container.night-mode){color:#cbd5e194}body:has(.app-container.night-mode){color:#cbd5e1b8}.app-container.night-mode{background:#0f172af5;border-color:#94a3b83d;box-shadow:0 18px 45px #0000007a}body:has(.app-container.night-mode){background:#0f172af5;border-color:#94a3b83d;box-shadow:0 18px 45px #0000007a}body:has(.app-container.night-mode){color:#e2e8f0e6}body:has(.app-container.night-mode){color:#f8fafcf5;background:#1e293beb}body:has(.app-container.night-mode){color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8)}body:has(.app-container.night-mode){color:#94a3b89e}body:has(.app-container.night-mode){color:#94a3b89e}body:has(.app-container.night-mode){background:#0f172a7a;border-color:#94a3b829}.select-fade-enter-active[data-v-266a3462],.select-fade-leave-active[data-v-266a3462]{transition:opacity .18s,transform .18s}.select-fade-enter-from[data-v-266a3462],.select-fade-leave-to[data-v-266a3462]{opacity:0;transform:translateY(-4px)}@media (width<=768px){.select-trigger[data-v-266a3462]{border-radius:12px;min-height:46px}.select-dropdown[data-v-266a3462]{border-radius:14px}.select-option[data-v-266a3462]{min-height:44px}}.card-header[data-v-dfaa7969]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.device-title-block[data-v-dfaa7969]{flex-direction:column;min-width:0;display:flex}.device-title-block h3[data-v-dfaa7969]{margin:0}.last-seen-under-name[data-v-dfaa7969]{color:#8a8a8a;margin:6px 0 0;font-size:14px;line-height:1.4}.status-badge[data-v-dfaa7969]{white-space:nowrap;flex-shrink:0}.card-status-stack[data-v-dfaa7969]{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:inline-flex}.status-badge[data-v-dfaa7969]{border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.status-badge[data-v-dfaa7969]:before{content:"";background:currentColor;border-radius:999px;width:7px;height:7px}.status-badge.online[data-v-dfaa7969]{color:#18a058;background:#e8f7ed;animation:2s ease-in-out infinite breathe-dfaa7969}.status-badge.offline[data-v-dfaa7969]{color:#f56c6c;background:#fef0f0}.self-test-badge[data-v-dfaa7969]{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;width:fit-content;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.self-test-badge[data-v-dfaa7969]:before{content:"";background:currentColor;border-radius:999px;width:7px;height:7px}.self-test-badge.ok[data-v-dfaa7969]{color:#16a34a;background:#ecfdf3}.self-test-badge.bad[data-v-dfaa7969]{color:#dc2626;background:#fff1f2}.self-test-badge.unknown[data-v-dfaa7969]{color:#64748b;background:#f1f5f9}@keyframes breathe-dfaa7969{0%,to{opacity:.9;transform:scale(1)}50%{opacity:.55;transform:scale(1.08)}}@keyframes onlineCardFlash-dfaa7969{0%{transform:translateY(0)}35%{transform:translateY(-2px);box-shadow:0 18px 36px #22c55e29,0 0 0 1px #22c55e33}to{transform:translateY(0)}}@keyframes onlineCardSweep-dfaa7969{0%{opacity:0;transform:translate(-100%)}30%{opacity:1}to{opacity:0;transform:translate(100%)}}.clickable-header[data-v-dfaa7969]{cursor:pointer;transition:transform .18s,opacity .18s}.clickable-header[data-v-dfaa7969]:hover{opacity:.96;transform:translateY(-1px)}.device-detail-overlay[data-v-dfaa7969]{z-index:2000;background:#00000059;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow:hidden}.device-detail-modal[data-v-dfaa7969]{z-index:2001;background:#fff;border-radius:20px;flex-direction:column;width:420px;max-width:92vw;max-height:calc(100vh - 80px);display:flex;position:relative;overflow:hidden;box-shadow:0 18px 48px #0000002e}.detail-modal-header[data-v-dfaa7969]{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 22px 14px;display:flex}.detail-modal-header h3[data-v-dfaa7969]{margin:0}.detail-subtitle[data-v-dfaa7969]{color:#8a8a8a;margin:6px 0 0;font-size:14px}.detail-modal-body[data-v-dfaa7969]{scrollbar-gutter:stable;overscroll-behavior:contain;flex:1;min-height:0;padding:0 22px 16px;overflow-y:auto}.detail-modal-footer[data-v-dfaa7969]{background:linear-gradient(#ffffffe0,#fff 34%);border-top:1px solid #eef2f7;flex-shrink:0;margin-top:0;padding:14px 22px 18px;position:sticky;bottom:0}.detail-close-btn[data-v-dfaa7969]{cursor:pointer;color:#333;background:0 0;border:none;font-size:28px;line-height:1}.detail-info-item[data-v-dfaa7969]{background:#f8fafc;border-radius:12px;justify-content:space-between;gap:12px;margin-bottom:12px;padding:10px 12px;display:flex}.device-info-section[data-v-dfaa7969]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin-bottom:12px;padding:14px}.device-info-head[data-v-dfaa7969]{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.device-info-head h4[data-v-dfaa7969]{color:#0f172a;margin:0;font-size:17px;font-weight:800;line-height:1.25}.device-info-head p[data-v-dfaa7969]{color:#64748b;word-break:break-all;margin:5px 0 0;font-size:13px;line-height:1.35}.device-info-status[data-v-dfaa7969]{border-radius:999px;flex-shrink:0;align-items:center;padding:4px 10px;font-size:12px;font-weight:800;display:inline-flex}.device-info-status.online[data-v-dfaa7969]{color:#16a34a;background:#ecfdf3}.device-info-status.offline[data-v-dfaa7969]{color:#dc2626;background:#fff1f2}.device-overview-grid[data-v-dfaa7969]{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;display:grid}.device-info-cell[data-v-dfaa7969]{min-width:0;padding:6px 0}.device-info-cell span[data-v-dfaa7969]{color:#64748b;margin-bottom:4px;font-size:12px;line-height:1.2;display:block}.device-info-cell strong[data-v-dfaa7969]{color:#0f172a;word-break:break-all;font-size:14px;font-weight:800;line-height:1.35;display:block}.device-info-cell.editable[data-v-dfaa7969]{cursor:text}.device-info-cell input[data-v-dfaa7969]{box-sizing:border-box;color:#0f172a;background:0 0;border:none;outline:none;width:100%;min-width:0;padding:0;font-size:14px;font-weight:800;line-height:1.35}.device-info-cell input[data-v-dfaa7969]::placeholder{color:#94a3b8;font-weight:600}.device-info-cell[data-v-dfaa7969]:focus-within{background:#409eff14;border-radius:8px}.detail-label[data-v-dfaa7969]{color:#64748b}.detail-value[data-v-dfaa7969]{color:#0f172a;font-weight:600}.detail-modal-actions[data-v-dfaa7969]{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.firmware-section[data-v-dfaa7969],.self-test-section[data-v-dfaa7969]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin:12px 0;padding:14px}.self-test-head[data-v-dfaa7969]{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.self-test-head h4[data-v-dfaa7969]{color:#0f172a;margin:0;font-size:15px;font-weight:800}.self-test-summary[data-v-dfaa7969]{color:#64748b;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:13px;display:flex}.self-test-summary strong[data-v-dfaa7969]{color:#0f172a;text-align:right}.self-test-grid[data-v-dfaa7969]{grid-template-columns:1fr 1fr;gap:8px;display:grid}.self-test-row[data-v-dfaa7969]{background:#fff;border:1px solid #eef2f7;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.self-test-row span[data-v-dfaa7969]{color:#64748b}.self-test-row strong[data-v-dfaa7969]{text-align:right}.self-test-row.ok strong[data-v-dfaa7969]{color:#16a34a}.self-test-row.bad strong[data-v-dfaa7969]{color:#dc2626}.self-test-row.unknown strong[data-v-dfaa7969]{color:#64748b}.self-test-status-line[data-v-dfaa7969]{color:#2563eb;word-break:break-all;background:#eef4ff;border-radius:10px;margin:10px 0 0;padding:9px 10px;font-size:13px;line-height:1.5}@media (width<=520px){.device-overview-grid[data-v-dfaa7969],.self-test-grid[data-v-dfaa7969]{grid-template-columns:1fr}}.firmware-section h4[data-v-dfaa7969]{color:#0f172a;margin:0 0 12px;font-size:15px;font-weight:800}.firmware-info-grid[data-v-dfaa7969]{gap:8px;margin-top:12px;display:grid}.firmware-info-item[data-v-dfaa7969]{background:#fff;border:1px solid #eef2f7;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;display:flex}.firmware-info-item span[data-v-dfaa7969]{color:#64748b;font-size:13px}.firmware-info-item strong[data-v-dfaa7969]{color:#0f172a;text-align:right;word-break:break-all;font-size:13px}.ota-feedback-slot[data-v-dfaa7969]{flex-direction:column;gap:8px;margin-top:10px;display:flex}.ota-result[data-v-dfaa7969]{color:#2563eb;scrollbar-gutter:stable;background:#eef4ff;border-radius:10px;max-height:92px;padding:9px 10px;font-size:13px;line-height:1.5;overflow-y:auto}.ota-progress-box[data-v-dfaa7969]{color:#1d4ed8;background:#eef4ff;border:1px solid #2563eb2e;border-radius:12px;padding:10px 12px}.ota-progress-box.success[data-v-dfaa7969]{color:#15803d;background:#ecfdf3;border-color:#16a34a38}.ota-progress-box.failed[data-v-dfaa7969]{color:#b91c1c;background:#fff1f2;border-color:#dc262638}.ota-progress-head[data-v-dfaa7969]{justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex}.ota-progress-head strong[data-v-dfaa7969]{color:inherit;font-size:14px}.ota-progress-track[data-v-dfaa7969]{background:#2563eb29;border-radius:999px;height:8px;margin-top:9px;overflow:hidden}.ota-progress-fill[data-v-dfaa7969]{border-radius:inherit;background:linear-gradient(90deg,#60a5fa,#2563eb);height:100%;transition:width .18s}.ota-progress-box.success .ota-progress-track[data-v-dfaa7969]{background:#16a34a29}.ota-progress-box.success .ota-progress-fill[data-v-dfaa7969]{background:linear-gradient(90deg,#86efac,#16a34a)}.ota-progress-box.failed .ota-progress-track[data-v-dfaa7969]{background:#dc262624}.ota-progress-box.failed .ota-progress-fill[data-v-dfaa7969]{background:linear-gradient(90deg,#fca5a5,#dc2626)}.ota-progress-sub[data-v-dfaa7969]{color:#1e40afc7;margin-top:7px;font-size:12px;line-height:1.45}.ota-progress-box.success .ota-progress-sub[data-v-dfaa7969]{color:#15803dc7}.ota-progress-box.failed .ota-progress-sub[data-v-dfaa7969]{color:#b91c1cc7}.ota-error-msg[data-v-dfaa7969]{color:#b91c1c;background:#fff1f0;border:1px solid #f53f3f2e;border-radius:10px;margin:0;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.5}.ota-actions[data-v-dfaa7969]{flex-wrap:wrap;margin-top:10px}.detail-overlay-fade-enter-active[data-v-dfaa7969],.detail-overlay-fade-leave-active[data-v-dfaa7969]{transition:opacity .22s cubic-bezier(.2,.8,.2,1)}.detail-overlay-fade-enter-from[data-v-dfaa7969],.detail-overlay-fade-leave-to[data-v-dfaa7969]{opacity:0}.detail-overlay-fade-enter-to[data-v-dfaa7969],.detail-overlay-fade-leave-from[data-v-dfaa7969]{opacity:1}.lamp-card[data-v-dfaa7969],.placeholder-card[data-v-dfaa7969]{background:var(--card-bg);border-radius:var(--border-radius);border:1px solid #e2e8f0db;padding:20px;transition:transform .2s,border-color .2s,box-shadow .2s,opacity .2s;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000000d}.lamp-card[data-v-dfaa7969]:after{content:"";pointer-events:none;border-radius:inherit;opacity:0;background:linear-gradient(115deg,#0000 0%,#22c55e24 45%,#0000 58%);position:absolute;inset:0;transform:translate(-100%)}.lamp-card.is-online[data-v-dfaa7969]{border-color:#22c55e42;box-shadow:0 8px 22px #0f172a0f,0 0 0 1px #22c55e14}.lamp-card.is-offline[data-v-dfaa7969]{opacity:.82;border-color:#e2e8f0e6}.lamp-card.online-flash[data-v-dfaa7969]{animation:.9s cubic-bezier(.22,1,.36,1) onlineCardFlash-dfaa7969}.lamp-card.online-flash[data-v-dfaa7969]:after{animation:.9s cubic-bezier(.22,1,.36,1) onlineCardSweep-dfaa7969}.lamp-card h3[data-v-dfaa7969]{margin-bottom:12px;font-size:18px}.color-box[data-v-dfaa7969]{text-align:center;border:1px solid #ccc;border-radius:12px;justify-content:center;align-items:center;min-width:180px;height:40px;margin-top:12px;padding:0 12px;display:inline-flex;box-shadow:inset 0 0 4px #00000014}.lamp-card input[type=range][data-v-dfaa7969]{width:100%;margin-top:6px}.lamp-card input[type=range][data-v-dfaa7969]:disabled{opacity:.5;cursor:not-allowed}.field-label[data-v-dfaa7969]{color:#606266;margin-top:12px;margin-bottom:6px;font-size:14px;display:block}.checkbox-row[data-v-dfaa7969]{color:#606266;align-items:center;gap:8px;margin-top:12px;display:flex}.card-actions[data-v-dfaa7969]{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.detail-card-pop-enter-active[data-v-dfaa7969]{transition:opacity .42s cubic-bezier(.2,.8,.2,1),transform .42s cubic-bezier(.2,.8,.2,1),filter .42s cubic-bezier(.2,.8,.2,1)}.detail-card-pop-leave-active[data-v-dfaa7969]{transition:opacity .24s cubic-bezier(.4,0,1,1),transform .24s cubic-bezier(.4,0,1,1),filter .24s cubic-bezier(.4,0,1,1)}.detail-card-pop-enter-from[data-v-dfaa7969]{opacity:0;filter:blur(10px);transform:translateY(24px)scale(.94)}.detail-card-pop-enter-to[data-v-dfaa7969],.detail-card-pop-leave-from[data-v-dfaa7969]{opacity:1;filter:blur();transform:translateY(0)scale(1)}.detail-card-pop-leave-to[data-v-dfaa7969]{opacity:0;filter:blur(8px);transform:translateY(16px)scale(.98)}.ai-actions[data-v-dfaa7969]{flex-wrap:wrap;gap:8px;margin-top:12px;margin-bottom:4px;display:flex}.hidden-file-input[data-v-dfaa7969]{display:none}.btn-ai[data-v-dfaa7969]{cursor:pointer;color:#1677ff;background:#eef4ff;border:none;border-radius:10px;padding:8px 12px;font-size:13px;transition:all .2s}.btn-ai[data-v-dfaa7969]:hover{background:#dbeafe}.btn-ai.active[data-v-dfaa7969]{color:#f53f3f;background:#fff1f0}.btn-ai[data-v-dfaa7969]:disabled{cursor:not-allowed;opacity:.6}.btn-preview[data-v-dfaa7969]{margin-left:8px}.cloth-preview-modal[data-v-dfaa7969]{z-index:2001;background:#fff;border-radius:18px;width:min(980px,92vw);max-height:88vh;padding:20px;position:relative;overflow:auto;box-shadow:0 20px 60px #0f172a3d}.cloth-preview-content[data-v-dfaa7969]{grid-template-columns:minmax(0,1.35fr) minmax(280px,.9fr);align-items:start;gap:16px;margin-top:14px;display:grid}.cloth-preview-image-wrap[data-v-dfaa7969]{min-width:0}.cloth-preview-image[data-v-dfaa7969]{object-fit:contain;background:#f6f7f9;border-radius:14px;width:100%;max-height:560px}.ai-reason-card[data-v-dfaa7969]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;max-height:560px;padding:14px;overflow-y:auto}.ai-reason-title[data-v-dfaa7969]{color:#0f172a;margin-bottom:10px;font-size:15px;font-weight:800}.ai-reason-section[data-v-dfaa7969]{margin-top:10px}.ai-reason-label[data-v-dfaa7969]{color:#2563eb;margin-bottom:4px;font-size:12px;font-weight:700;display:inline-flex}.ai-reason-section p[data-v-dfaa7969]{color:#475569;margin:0;font-size:13px;line-height:1.6}.ai-reason-summary[data-v-dfaa7969]{color:#1d4ed8;background:#eef4ff;border-radius:12px;margin-top:12px;padding:10px 12px;font-size:13px;line-height:1.6}@media (width<=820px){.cloth-preview-content[data-v-dfaa7969]{grid-template-columns:1fr}.ai-reason-card[data-v-dfaa7969]{max-height:none}}.modal-hint[data-v-dfaa7969]{color:#94a3b8;margin:6px 0 0;font-size:12px;line-height:1.5}.modal-error[data-v-dfaa7969]{color:#f53f3f;background:#fff1f0;border-radius:10px;margin:8px 0 0;padding:8px 10px;font-size:13px;line-height:1.5}.modal-label[data-v-dfaa7969]{color:#64748b;margin:14px 0 7px;font-size:13px;font-weight:600;display:block}.modal-input[data-v-dfaa7969]{box-sizing:border-box;color:#0f172a;background:#f8fafc;border:1px solid #dbe3ef;border-radius:12px;outline:none;width:100%;padding:11px 12px;font-size:14px;transition:border-color .18s,box-shadow .18s,background .18s}.modal-input[data-v-dfaa7969]:focus{background:#fff;border-color:#409eff;box-shadow:0 0 0 3px #409eff24}.modal-input[data-v-dfaa7969]::placeholder{color:#94a3b8}:is(body:has(.app-container.night-mode),body:has(.app-container.night-mode)){color:#e2e8f0e6;filter:none;-webkit-backdrop-filter:none;background:#0f172aeb;border:1px solid #94a3b833;box-shadow:0 26px 70px #00000080}:is(body:has(.app-container.night-mode),body:has(.app-container.night-mode),body:has(.app-container.night-mode),body:has(.app-container.night-mode),body:has(.app-container.night-mode)){color:#cbd5e1b8}:is(body:has(.app-container.night-mode),body:has(.app-container.night-mode),body:has(.app-container.night-mode),body:has(.app-container.night-mode),body:has(.app-container.night-mode),body:has(.app-container.night-mode),body:has(.app-container.night-mode)){background:#0f172a9e;border:1px solid #94a3b82e}:is(body:has(.app-container.night-mode),body:has(.app-container.night-mode),body:has(.app-container.night-mode),body:has(.app-container.night-mode)){color:#cbd5e1b8}body:has(.app-container.night-mode){color:#fecacaf5;border-color:#f871713d}body:has(.app-container.night-mode){background:#0f172adb;border-color:#60a5fab8;box-shadow:0 0 0 3px #2563eb2e}:is(body:has(.app-container.night-mode),body:has(.app-container.night-mode)){color:#fecaca;background:#7f1d1d42;border:1px solid #f8717138}body:has(.app-container.night-mode){background:#0f172a9e;border:1px solid #94a3b82e}body:has(.app-container.night-mode){color:#fecaca;background:#7f1d1d47}.app-container.night-mode,.app-container.night-mode{color:#f8fafcf5;background:#0f172ad1;border:1px solid #94a3b82e;box-shadow:0 18px 40px #00000059}.app-container.night-mode{color:#fecaca;background:#7f1d1d47;border:1px solid #94a3b847;box-shadow:inset 0 0 0 1px #0f172a38}.card-list-enter-active{transition:opacity .34s cubic-bezier(.22,1,.36,1),transform .34s cubic-bezier(.22,1,.36,1),filter .34s cubic-bezier(.22,1,.36,1)}.card-list-enter-from{opacity:0;filter:blur(6px);transform:translateY(14px)scale(.98)}.card-list-enter-to{opacity:1;filter:blur();transform:translateY(0)scale(1)}.card-list-leave-active{transition:opacity .25s,transform .25s}.card-list-leave-to{opacity:0;transform:scale(.85)}.card-list-move{transition:transform .3s}.modal-overlay[data-v-52672a0e]{z-index:2000;background:#0006;justify-content:center;align-items:center;animation:.22s ease-out overlay-fade-in-52672a0e;display:flex;position:fixed;inset:0}.modal-card[data-v-52672a0e]{z-index:2001;background:#fff;border-radius:16px;width:360px;max-width:92vw;padding:24px;position:relative;box-shadow:0 12px 32px #0000002e}.modal-card h3[data-v-52672a0e]{margin-bottom:16px}.modal-label[data-v-52672a0e]{color:#606266;margin:12px 0 6px;font-size:14px;display:block}.modal-input[data-v-52672a0e]{border:1px solid #dcdfe6;border-radius:8px;width:100%;padding:10px 12px}.modal-actions[data-v-52672a0e]{gap:12px;margin-top:20px;display:flex}.btn-confirm[data-v-52672a0e],.btn-cancel[data-v-52672a0e]{cursor:pointer;border:none;border-radius:10px;flex:1;padding:10px 12px}.btn-confirm[data-v-52672a0e]{color:#fff;background:#409eff}.btn-cancel[data-v-52672a0e]{color:#303133;background:#f2f3f5}@keyframes overlay-fade-in-52672a0e{0%{opacity:0}to{opacity:1}}.ios-modal-card-enter-active[data-v-52672a0e],.ios-modal-card-leave-active[data-v-52672a0e]{will-change:opacity, transform, filter;transition:opacity .42s cubic-bezier(.2,.8,.2,1),transform .42s cubic-bezier(.2,.8,.2,1),filter .42s cubic-bezier(.2,.8,.2,1)}.ios-modal-card-leave-active[data-v-52672a0e]{transition:opacity .24s cubic-bezier(.4,0,1,1),transform .24s cubic-bezier(.4,0,1,1),filter .24s cubic-bezier(.4,0,1,1)}.ios-modal-card-enter-from[data-v-52672a0e]{opacity:0;filter:blur(10px);transform:translateY(28px)scale(.94)}.ios-modal-card-enter-to[data-v-52672a0e],.ios-modal-card-leave-from[data-v-52672a0e]{opacity:1;filter:blur();transform:translateY(0)scale(1)}.ios-modal-card-leave-to[data-v-52672a0e]{opacity:0;filter:blur(8px);transform:translateY(18px)scale(.98)}.modal-overlay-fade-enter-active[data-v-52672a0e],.modal-overlay-fade-leave-active[data-v-52672a0e]{transition:opacity .22s cubic-bezier(.2,.8,.2,1)}.modal-overlay-fade-enter-from[data-v-52672a0e],.modal-overlay-fade-leave-to[data-v-52672a0e]{opacity:0}.modal-overlay-fade-enter-to[data-v-52672a0e],.modal-overlay-fade-leave-from[data-v-52672a0e]{opacity:1}.compact-readonly-grid[data-v-52672a0e]{grid-template-columns:1fr 1fr;gap:8px 10px;margin-bottom:12px;display:grid}.readonly-item[data-v-52672a0e]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px 10px}.readonly-item-full[data-v-52672a0e]{grid-column:1/-1}.readonly-label[data-v-52672a0e]{color:#64748b;margin-bottom:3px;font-size:11px;line-height:1.2}.readonly-value[data-v-52672a0e]{color:#0f172a;word-break:break-all;font-size:13px;font-weight:600;line-height:1.35}body:has(.app-container.night-mode){background:#020617a8}body:has(.app-container.night-mode){color:#e2e8f0e6;filter:none;-webkit-backdrop-filter:none;background:#0f172ae6;border:1px solid #94a3b833;box-shadow:0 24px 60px #0000007a}:is(body:has(.app-container.night-mode),body:has(.app-container.night-mode)){color:#cbd5e1b8}body:has(.app-container.night-mode){color:#e2e8f0eb;background:#0f172ac2;border-color:#94a3b847}body:has(.app-container.night-mode){border-color:#60a5fab8;box-shadow:0 0 0 3px #2563eb2e}body:has(.app-container.night-mode){background:#0f172a9e;border-color:#94a3b82e}body:has(.app-container.night-mode){color:#f8fafcf5}body:has(.app-container.night-mode){color:#e2e8f0e6;background:#1e293bd1;border:1px solid #94a3b83d}.flow-monitor-panel[data-v-9b3c3388]{width:100%}.flow-header[data-v-9b3c3388]{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.detect-upload-card[data-v-9b3c3388]{background:#f7f8fa;border:1px solid #e5e6eb;border-radius:14px;margin-bottom:16px;padding:16px}.detect-upload-header[data-v-9b3c3388]{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.detect-upload-title[data-v-9b3c3388]{color:#1d2129;font-size:14px;font-weight:700}.detect-upload-hint[data-v-9b3c3388]{color:#86909c;font-size:12px}.detect-upload-body[data-v-9b3c3388]{align-items:flex-start;gap:16px;display:flex}.detect-preview-col[data-v-9b3c3388]{flex-shrink:0;width:200px}.detect-placeholder[data-v-9b3c3388]{cursor:pointer;color:#86909c;background:#fff;border:2px dashed #c9cdd4;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:200px;height:150px;font-size:13px;transition:border-color .2s,color .2s;display:flex}.detect-placeholder[data-v-9b3c3388]:hover{color:#1677ff;border-color:#1677ff}.detect-placeholder-icon[data-v-9b3c3388]{font-size:32px;font-weight:300;line-height:1}.detect-image-preview[data-v-9b3c3388]{position:relative}.detect-image-preview img[data-v-9b3c3388]{object-fit:cover;border-radius:12px;width:200px;height:150px;display:block}.detect-reselect-btn[data-v-9b3c3388]{color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:6px;padding:4px 10px;font-size:11px;position:absolute;bottom:6px;right:6px}.detect-action-col[data-v-9b3c3388]{flex:1;min-width:0}.detect-btn[data-v-9b3c3388]{color:#fff;cursor:pointer;background:#1677ff;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 22px;font-size:14px;font-weight:600;transition:background .2s;display:inline-flex}.detect-btn[data-v-9b3c3388]:hover:not(:disabled){background:#4096ff}.detect-btn[data-v-9b3c3388]:disabled{cursor:not-allowed;background:#a0c4ff}.detect-btn-loading[data-v-9b3c3388]{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite detect-spin-9b3c3388;display:inline-block}@keyframes detect-spin-9b3c3388{to{transform:rotate(360deg)}}.detect-error[data-v-9b3c3388]{color:#f53f3f;background:#fff1f0;border:1px solid #ffccc7;border-radius:8px;margin-top:10px;padding:8px 12px;font-size:13px}.detect-result-grid[data-v-9b3c3388]{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.detect-result-item[data-v-9b3c3388]{background:#fff;border-radius:10px;padding:10px}.detect-result-label[data-v-9b3c3388]{color:#86909c;margin-bottom:4px;font-size:12px;display:block}.detect-result-value[data-v-9b3c3388]{color:#1d2129;word-break:break-all;font-size:15px}.detect-annotated-section[data-v-9b3c3388]{margin-top:16px}.detect-annotated-title[data-v-9b3c3388]{color:#1d2129;margin-bottom:10px;font-size:13px;font-weight:600}.detect-annotated-preview[data-v-9b3c3388]{cursor:pointer;background:#f8fafc;border:1px solid #e5e6eb;border-radius:12px;justify-content:center;align-items:center;max-height:280px;transition:border-color .2s;display:flex;position:relative;overflow:hidden}.detect-annotated-preview[data-v-9b3c3388]:hover{border-color:#1677ff}.detect-annotated-img[data-v-9b3c3388]{object-fit:contain;width:100%;max-height:280px;display:block}.detect-annotated-hint[data-v-9b3c3388]{color:#fff;pointer-events:none;background:#00000073;border-radius:6px;padding:3px 10px;font-size:11px;transition:background .2s;position:absolute;bottom:8px;right:10px}.detect-annotated-preview:hover .detect-annotated-hint[data-v-9b3c3388]{background:#000000a6}.detect-lightbox-overlay[data-v-9b3c3388]{z-index:9999;background:#000000b8;justify-content:center;align-items:center;padding:40px;display:flex;position:fixed;inset:0}.detect-lightbox-container[data-v-9b3c3388]{justify-content:center;align-items:center;max-width:90vw;max-height:90vh;display:flex;position:relative}.detect-lightbox-img[data-v-9b3c3388]{object-fit:contain;border-radius:10px;max-width:90vw;max-height:90vh;box-shadow:0 8px 40px #0006}.detect-lightbox-close[data-v-9b3c3388]{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:24px;line-height:1;transition:background .2s;display:flex;position:absolute;top:-36px;right:-36px}.detect-lightbox-close[data-v-9b3c3388]:hover{background:#ffffff4d}.flow-subtitle[data-v-9b3c3388]{color:#86909c;margin:-8px 0 16px;font-size:13px}.flow-list[data-v-9b3c3388]{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.flow-card[data-v-9b3c3388]{background:#f7f8fa;border:1px solid #e5e6eb;border-radius:14px;padding:14px}.flow-card-top[data-v-9b3c3388]{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.flow-device-name[data-v-9b3c3388]{color:#1d2129;font-size:15px;font-weight:700}.flow-device-sub[data-v-9b3c3388]{color:#86909c;margin-top:4px;font-size:12px}.flow-status[data-v-9b3c3388]{color:#1677ff;background:#eef4ff;border-radius:999px;flex-shrink:0;padding:5px 10px;font-size:12px}.flow-status.active[data-v-9b3c3388]{color:#f53f3f;background:#fff1f0}.flow-data-grid[data-v-9b3c3388]{grid-template-columns:1fr 1fr;gap:10px;display:grid}.flow-data-item[data-v-9b3c3388]{background:#fff;border-radius:12px;padding:10px}.flow-data-item span[data-v-9b3c3388]{color:#86909c;margin-bottom:4px;font-size:12px;display:block}.flow-data-item strong[data-v-9b3c3388]{color:#1d2129;font-size:15px}.flow-chart-box[data-v-9b3c3388]{color:#86909c;background:#fff;border:1px dashed #c9cdd4;border-radius:12px;justify-content:center;align-items:center;height:160px;margin-top:12px;font-size:13px;display:flex}.empty-flow[data-v-9b3c3388]{color:#86909c;text-align:center;background:#f7f8fa;border-radius:14px;padding:30px}@media (width<=768px){.settings-title[data-v-9b3c3388]{font-size:16px}.detect-upload-body[data-v-9b3c3388]{flex-direction:column}.detect-preview-col[data-v-9b3c3388]{width:100%}.detect-placeholder[data-v-9b3c3388]{width:100%;height:180px}.detect-image-preview img[data-v-9b3c3388]{width:100%;height:auto;max-height:220px}.detect-result-grid[data-v-9b3c3388]{grid-template-columns:1fr 1fr}.detect-annotated-preview[data-v-9b3c3388],.detect-annotated-img[data-v-9b3c3388]{max-height:220px}.detect-lightbox-overlay[data-v-9b3c3388]{padding:20px}.detect-lightbox-close[data-v-9b3c3388]{top:-32px;right:0}.flow-list[data-v-9b3c3388]{grid-template-columns:1fr;gap:10px}.flow-card[data-v-9b3c3388]{border-radius:12px;padding:10px 12px}.flow-card-top[data-v-9b3c3388]{gap:8px;margin-bottom:8px}.flow-device-name[data-v-9b3c3388]{font-size:13px}.flow-device-sub[data-v-9b3c3388]{margin-top:2px;font-size:11px}.flow-status[data-v-9b3c3388]{padding:3px 8px;font-size:11px}.flow-data-grid[data-v-9b3c3388]{gap:6px}.flow-data-item[data-v-9b3c3388]{border-radius:10px;padding:8px}.flow-data-item span[data-v-9b3c3388]{margin-bottom:2px;font-size:11px}.flow-data-item strong[data-v-9b3c3388]{font-size:13px}.flow-chart-box[data-v-9b3c3388]{border-radius:10px;height:120px;margin-top:8px;font-size:12px}.empty-flow[data-v-9b3c3388]{padding:20px}}.smart-config-section[data-v-d7c92769]{box-sizing:border-box;-webkit-backdrop-filter:blur(12px);background:#ffffff8c;border:1px solid #ffffff8c;border-radius:24px;width:100%;min-width:0;margin:32px 0;padding:28px 24px;box-shadow:0 12px 30px #0f172a12}.smart-card[data-v-d7c92769]{box-sizing:border-box;-webkit-backdrop-filter:blur(14px);background:#ffffffdb;border:1px solid #ffffffc2;border-radius:18px;width:100%;min-width:0;max-width:900px;margin:0 auto;padding:24px;box-shadow:0 22px 52px #0f172a1f,inset 0 1px #ffffffe0}.smart-header[data-v-d7c92769]{justify-content:space-between;align-items:flex-start;gap:16px;min-width:0;display:flex}.smart-heading[data-v-d7c92769]{min-width:0}.smart-title[data-v-d7c92769]{color:#111827;letter-spacing:0;margin:0;font-size:22px;font-weight:800}.smart-desc[data-v-d7c92769]{color:#6b7280;margin:8px 0 0;font-size:14px;line-height:1.6}.smart-status[data-v-d7c92769]{color:#6b7280;background:#f3f4f6;border:1px solid #0000;border-radius:999px;flex-shrink:0;padding:5px 12px;font-size:12px;font-weight:800}.smart-status.active[data-v-d7c92769]{color:#1d4ed8;background:#dbeafe;border-color:#bfdbfe}.smart-status.success[data-v-d7c92769]{color:#047857;background:#ecfdf5;border-color:#bbf7d0}.smart-status.error[data-v-d7c92769]{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.smart-status.warning[data-v-d7c92769]{color:#92400e;background:#fffbeb;border-color:#fde68a}.smart-status.stopped[data-v-d7c92769]{color:#64748b;background:#f8fafc;border-color:#e2e8f0}.smart-steps[data-v-d7c92769]{grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0;display:grid}.smart-step[data-v-d7c92769]{background:#f8fafc;border:1px solid #eef2f7;border-radius:12px;align-items:center;gap:8px;min-width:0;padding:10px;display:flex}.smart-step span[data-v-d7c92769]{color:#fff;background:#2563eb;border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;display:flex}.smart-step p[data-v-d7c92769]{color:#374151;margin:0;font-size:13px;line-height:1.35}.smart-form[data-v-d7c92769]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-row[data-v-d7c92769]{gap:7px;min-width:0;display:grid}.wifi-field[data-v-d7c92769],.password-field[data-v-d7c92769]{grid-column:span 1}.form-row label[data-v-d7c92769]{color:#374151;font-size:14px;font-weight:600}.form-row input[data-v-d7c92769]{box-sizing:border-box;background:#fff;border:1px solid #dcdfe6;border-radius:12px;outline:none;width:100%;min-width:0;height:44px;padding:0 12px;font-size:14px}.form-row input[data-v-d7c92769]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.wifi-row[data-v-d7c92769],.password-row[data-v-d7c92769]{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0;display:grid}.field-hint[data-v-d7c92769]{color:#92400e;min-height:18px;margin:0;font-size:12px;line-height:1.45}.field-hint.placeholder[data-v-d7c92769]{visibility:hidden}.smart-actions[data-v-d7c92769]{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.btn-primary[data-v-d7c92769],.btn-secondary[data-v-d7c92769],.btn-danger[data-v-d7c92769],.btn-light[data-v-d7c92769]{cursor:pointer;white-space:nowrap;border:none;border-radius:12px;min-height:42px;padding:0 16px;font-size:14px;font-weight:800;transition:transform .16s,opacity .16s,box-shadow .16s}.btn-primary[data-v-d7c92769]{color:#fff;background:#2563eb;box-shadow:0 10px 18px #2563eb33}.btn-secondary[data-v-d7c92769]{color:#1d4ed8;background:#eff6ff}.btn-light[data-v-d7c92769]{color:#475569;background:#f8fafc;border:1px solid #e2e8f0}.btn-danger[data-v-d7c92769]{color:#b91c1c;background:#fee2e2}.btn-primary[data-v-d7c92769]:hover,.btn-secondary[data-v-d7c92769]:hover,.btn-danger[data-v-d7c92769]:hover,.btn-light[data-v-d7c92769]:hover{transform:translateY(-1px)}button[data-v-d7c92769]:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.smart-message[data-v-d7c92769]{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin-top:16px;padding:12px 14px;font-size:13px;line-height:1.6}.smart-message.success[data-v-d7c92769]{color:#047857;background:#ecfdf5;border-color:#bbf7d0}.smart-message.error[data-v-d7c92769]{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.smart-message.warning[data-v-d7c92769]{color:#92400e;background:#fffbeb;border-color:#fde68a}.smart-message.stopped[data-v-d7c92769]{color:#64748b;background:#f8fafc;border-color:#e2e8f0}.message-title[data-v-d7c92769]{font-size:13px;font-weight:900}.message-body[data-v-d7c92769]{margin-top:2px}.message-action[data-v-d7c92769]{margin-top:8px}.message-action .btn-secondary[data-v-d7c92769]{min-height:32px;padding:0 12px;font-size:12px}.smart-tips[data-v-d7c92769]{color:#92400e;background:#fffbeb;border-radius:14px;margin-top:16px;padding:12px 14px;font-size:12px;line-height:1.6}.smart-tips p[data-v-d7c92769]{margin:4px 0}@media (width<=899px){.smart-config-section[data-v-d7c92769]{margin:28px 0;padding:20px 16px}.smart-card[data-v-d7c92769]{max-width:100%;padding:20px}.smart-form[data-v-d7c92769]{grid-template-columns:1fr}}@media (width<=599px){.smart-config-section[data-v-d7c92769]{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;border-radius:0;margin:16px 0 0;padding:0}.smart-card[data-v-d7c92769]{background:#ffffffad;border:1px solid #ffffffb8;border-radius:16px;width:100%;padding:12px 14px;box-shadow:0 16px 40px #0f172a1a}.smart-header[data-v-d7c92769]{flex-direction:column;gap:8px}.smart-title[data-v-d7c92769]{font-size:16px}.smart-desc[data-v-d7c92769]{margin:4px 0 0;font-size:12px}.smart-status[data-v-d7c92769]{align-self:flex-start;padding:4px 10px;font-size:11px}.smart-steps[data-v-d7c92769]{grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0}.smart-step[data-v-d7c92769]{text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:6px 5px}.smart-step span[data-v-d7c92769]{flex-shrink:0;width:22px;height:22px;font-size:12px}.smart-step p[data-v-d7c92769]{font-size:12px;line-height:1.3}.smart-form[data-v-d7c92769]{gap:10px}.form-row label[data-v-d7c92769]{font-size:12px}.form-row input[data-v-d7c92769]{border-radius:10px;height:38px;padding:0 10px;font-size:13px}.wifi-row[data-v-d7c92769],.password-row[data-v-d7c92769]{grid-template-columns:1fr;gap:6px}.field-hint[data-v-d7c92769]{min-height:0;font-size:11px}.field-hint.placeholder[data-v-d7c92769]{display:none}.smart-actions[data-v-d7c92769]{grid-template-columns:1fr;gap:6px;margin-top:12px;display:grid}.btn-primary[data-v-d7c92769],.btn-secondary[data-v-d7c92769],.btn-danger[data-v-d7c92769],.btn-light[data-v-d7c92769]{width:100%;min-height:40px;font-size:13px}.smart-message[data-v-d7c92769]{margin-top:10px;padding:10px;font-size:12px}.smart-tips[data-v-d7c92769]{margin-top:10px;padding:10px;font-size:11px}}.app-container.night-mode,.app-container.night-mode{color:#e2e8f0e6;background:#0f172a9e;border-color:#94a3b833}.layout-card[data-v-dc97ca73]{box-sizing:border-box;-webkit-backdrop-filter:blur(14px);background:#ffffffc2;border:1px solid #ffffffc7;border-radius:24px;flex-direction:column;height:100%;margin:0;padding:18px;display:flex;box-shadow:0 18px 46px #0f172a24}.layout-header[data-v-dc97ca73]{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.layout-header>div[data-v-dc97ca73]:first-child{flex:200px;min-width:0}.layout-header h2[data-v-dc97ca73]{color:#111827;letter-spacing:-.02em;white-space:nowrap;margin:0;font-size:22px;font-weight:900}.layout-header p[data-v-dc97ca73]{color:#64748b;margin:4px 0 0;font-size:14px;line-height:1.35}.layout-actions[data-v-dc97ca73]{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:10px;display:flex}.reset-layout-btn[data-v-dc97ca73],.save-layout-btn[data-v-dc97ca73],.locate-btn[data-v-dc97ca73]{cursor:pointer;white-space:nowrap;border:none;border-radius:999px;min-height:40px;padding:10px 16px;font-size:14px;font-weight:800;transition:transform .16s,box-shadow .16s,background .16s,opacity .16s}.reset-layout-btn[data-v-dc97ca73]:hover,.save-layout-btn[data-v-dc97ca73]:hover,.locate-btn[data-v-dc97ca73]:hover{transform:translateY(-1px)}.reset-layout-btn[data-v-dc97ca73]{color:#2563eb;background:#409eff1f}.reset-layout-btn[data-v-dc97ca73]:hover{background:#409eff33;box-shadow:0 8px 18px #2563eb1f}.locate-btn[data-v-dc97ca73]{color:#d97706;background:#f59e0b2e}.locate-btn[data-v-dc97ca73]:hover{background:#f59e0b42;box-shadow:0 8px 18px #d9770624}.locate-btn[data-v-dc97ca73]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.save-layout-btn[data-v-dc97ca73]{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 10px 24px #2563eb3d}.save-layout-btn[data-v-dc97ca73]:hover{box-shadow:0 14px 30px #2563eb4d}.save-layout-btn[data-v-dc97ca73]:disabled{opacity:.65;cursor:not-allowed;box-shadow:none;transform:none}.zone-delete-btn[data-v-dc97ca73]{color:#dc2626;cursor:pointer;background:#ef444424;border:none;border-radius:999px;place-items:center;width:24px;height:24px;font-size:18px;font-weight:800;line-height:1;transition:background .16s,transform .16s;display:grid;position:absolute;top:8px;right:8px}.zone-delete-btn[data-v-dc97ca73]:hover{background:#ef44443d;transform:scale(1.08)}.store-stage[data-v-dc97ca73]{background:#f8fafc;border:1px solid #e2e8f0e6;border-radius:18px;flex:auto;width:100%;height:clamp(360px,44vh,500px);min-height:360px;position:relative;overflow:hidden}.store-bg[data-v-dc97ca73]{object-fit:cover;filter:blur(2px)brightness(.72)saturate(.9);-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;transform:scale(1.02)}.zone-box[data-v-dc97ca73]{z-index:2;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:#2563eb1f;border:2px solid #2563eb8c;border-radius:20px;padding:12px;position:absolute;box-shadow:inset 0 0 0 1px #ffffff2e,0 12px 32px #0f172a29}.zone-box.active[data-v-dc97ca73]{background:#2563eb33;border-color:#2563ebf2;box-shadow:0 0 0 4px #2563eb29,0 18px 42px #2563eb33}.zone-name-input[data-v-dc97ca73]{color:#0f172a;background:#fffffff0;border:none;border-radius:999px;outline:none;width:140px;max-width:90%;padding:7px 12px;font-size:14px;font-weight:800;box-shadow:0 6px 16px #0f172a1f}.zone-count[data-v-dc97ca73]{color:#2563eb;background:#ffffffe0;border-radius:999px;margin-top:10px;padding:4px 9px;font-size:12px;font-weight:800;display:inline-flex}.zone-resize[data-v-dc97ca73]{cursor:nwse-resize;border-bottom:3px solid #2563eb99;border-right:3px solid #2563eb99;width:15px;height:15px;position:absolute;bottom:7px;right:7px}.lamp-node[data-v-dc97ca73]{z-index:5;min-width:150px;opacity:var(--lamp-opacity,1);box-shadow:0 0 var(--lamp-glow-size,0) var(--lamp-glow-color,#f59e0b00), 0 12px 30px #0f172a42, inset 0 1px 0 #fffc;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:#fffffff5;border:2px solid #fffffff2;border-radius:999px;padding:10px 13px;transition:left .35s,top .35s,transform .18s,box-shadow .18s,border-color .18s,background .18s,opacity .18s;position:absolute;transform:translate(-50%,-50%)}.lamp-node.active[data-v-dc97ca73]{cursor:grabbing;z-index:20;background:#fff;border-color:#f59e0bf2;transition:left,top,transform .18s,box-shadow .18s,border-color .18s,background .18s;transform:translate(-50%,-50%)scale(1.08);box-shadow:0 0 0 5px #f59e0b38,0 20px 44px #0f172a57}.lamp-node.no-animate[data-v-dc97ca73]{transition:left,top,transform .18s,box-shadow .18s,border-color .18s,background .18s,opacity .18s}.lamp-node.offline[data-v-dc97ca73]{border-color:#94a3b866;box-shadow:0 10px 24px #0f172a2e,inset 0 1px #ffffffb8}.lamp-node-inner[data-v-dc97ca73]{align-items:center;gap:10px;display:flex}.lamp-shake[data-v-dc97ca73]{animation:.4s both lampShakeX-dc97ca73}@keyframes lampShakeX-dc97ca73{0%,to{transform:translate(0)}10%{transform:translate(-4px)}30%{transform:translate(4px)}50%{transform:translate(-4px)}70%{transform:translate(4px)}90%{transform:translate(-2px)}}.lamp-icon[data-v-dc97ca73]{background:var(--lamp-bulb-bg,linear-gradient(135deg, #fef3c7, #fde68a));color:#92400e;width:36px;height:36px;box-shadow:0 0 var(--lamp-icon-glow,0) var(--lamp-glow-color,#f59e0b00), inset 0 0 0 1px #f59e0b40;border-radius:50%;flex:0 0 36px;place-items:center;font-size:18px;transition:background .24s,box-shadow .24s,filter .24s;display:grid}.lamp-node.offline .lamp-icon[data-v-dc97ca73]{filter:grayscale(.85)}.lamp-info[data-v-dc97ca73]{flex-direction:column;line-height:1.2;display:flex}.lamp-info strong[data-v-dc97ca73]{color:#1f2937;font-size:14px}.lamp-info span[data-v-dc97ca73]{color:#64748b;margin-top:4px;font-size:12px}.layout-tips[data-v-dc97ca73]{color:#64748b;align-items:stretch;gap:0;margin-top:12px;padding:10px 4px;font-size:13px;display:flex;overflow-x:auto}.zone-order-row[data-v-dc97ca73]{border-right:1px solid #cbd5e1d1;flex:none;align-items:flex-start;gap:10px;min-width:220px;max-width:360px;padding:0 18px;display:flex}.zone-order-row[data-v-dc97ca73]:first-child{padding-left:0}.zone-order-row[data-v-dc97ca73]:last-child{border-right:none}.zone-order-row strong[data-v-dc97ca73]{color:#1e293b;flex:none;min-width:80px;line-height:1.35}.zone-order-row span[data-v-dc97ca73]{color:#475569;white-space:nowrap;background:0 0;border-radius:0;padding:0;line-height:1.35}.lamp-node.selected[data-v-dc97ca73]{background:#fff;border-color:#2563ebf2;box-shadow:0 0 0 5px #3b82f633,0 18px 40px #2563eb4d}.selected-badge[data-v-dc97ca73]{color:#fff;background:#2563eb;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;position:absolute;top:-10px;right:-8px;box-shadow:0 6px 14px #2563eb47}@media (width<=1200px){.layout-header p[data-v-dc97ca73]{max-width:100%}.layout-actions[data-v-dc97ca73]{justify-content:flex-start;width:100%}.reset-layout-btn[data-v-dc97ca73],.save-layout-btn[data-v-dc97ca73],.locate-btn[data-v-dc97ca73]{flex:0 auto}.locate-btn[data-v-dc97ca73]{text-overflow:ellipsis;max-width:100%;overflow:hidden}}@media (width<=768px){.layout-card[data-v-dc97ca73]{border-radius:16px;padding:12px 14px}.layout-header[data-v-dc97ca73]{flex-direction:column;align-items:stretch;gap:6px;margin-bottom:8px}.layout-header>div[data-v-dc97ca73]:first-child{flex:none}.layout-header h2[data-v-dc97ca73]{font-size:15px;font-weight:700}.layout-header p[data-v-dc97ca73]{margin:2px 0 0;font-size:12px;line-height:1.3}.layout-actions[data-v-dc97ca73]{justify-content:flex-start;gap:6px;width:100%}.reset-layout-btn[data-v-dc97ca73],.save-layout-btn[data-v-dc97ca73],.locate-btn[data-v-dc97ca73]{min-height:28px;padding:6px 9px;font-size:10px}.locate-btn[data-v-dc97ca73]{text-overflow:ellipsis;max-width:100%;overflow:hidden}.store-stage[data-v-dc97ca73]{border-radius:14px;height:240px;min-height:200px}.layout-tips[data-v-dc97ca73]{margin-top:8px;padding:6px 0;font-size:11px}.zone-order-row[data-v-dc97ca73]{min-width:150px;padding:0 8px}.zone-order-row strong[data-v-dc97ca73]{min-width:60px;font-size:11px}.zone-order-row span[data-v-dc97ca73]{font-size:11px}.lamp-node[data-v-dc97ca73]{gap:4px;min-width:78px;padding:5px 7px}.lamp-icon[data-v-dc97ca73]{flex-basis:22px;width:22px;height:22px;font-size:11px}.lamp-info strong[data-v-dc97ca73]{font-size:10px}.lamp-info span[data-v-dc97ca73]{margin-top:1px;font-size:8px;display:block}.zone-name-input[data-v-dc97ca73]{width:80px;padding:5px 8px;font-size:11px}.zone-count[data-v-dc97ca73]{margin-top:6px;padding:3px 7px;font-size:10px}.zone-box[data-v-dc97ca73]{border-radius:14px;padding:8px}.zone-delete-btn[data-v-dc97ca73]{width:20px;height:20px;font-size:15px;top:4px;right:4px}.zone-resize[data-v-dc97ca73]{width:12px;height:12px;bottom:4px;right:4px}}.app-container.night-mode{filter:blur(2px)brightness(.58)saturate(.82);background:#020617c7;border-color:#94a3b838}.app-container.night-mode{color:#fde68a;background:#2563eb33;border:#60a5fab8;box-shadow:0 16px 36px #0000005c}.app-container.night-mode,.app-container.night-mode,.app-container.night-mode{color:#f8fafcf5;background:#0f172ae6;border-color:#94a3b84d}.app-container.night-mode,.app-container.night-mode{background:#0f172af0;border-color:#fbbf24eb;box-shadow:0 0 0 5px #fbbf242e,0 18px 44px #00000075}.light-effect-mini-card[data-v-567a2642]{box-sizing:border-box;-webkit-backdrop-filter:blur(10px);background:#ffffffad;border:1px solid #ffffffc2;border-radius:22px;width:100%;min-height:100%;padding:16px;box-shadow:0 14px 32px #0f172a1a}.mini-header[data-v-567a2642]{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.mini-title[data-v-567a2642]{color:#0f172a;font-size:22px;font-weight:900;line-height:1.2}.mini-subtitle[data-v-567a2642]{color:#64748b;margin-top:4px;font-size:13px;font-weight:700}.scope-field[data-v-567a2642]{margin-bottom:12px;display:block}.effect-action-grid[data-v-567a2642]{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:20px;display:grid}.effect-action-btn[data-v-567a2642]{color:#1e293b;text-align:left;cursor:pointer;background:#ffffffd1;border:1px solid #e2e8f0e6;border-radius:18px;min-height:70px;padding:12px 14px;transition:transform .16s,box-shadow .16s,border-color .16s,background .16s;position:relative;overflow:hidden;box-shadow:0 8px 18px #0f172a14}.effect-action-btn strong[data-v-567a2642],.effect-action-btn span[data-v-567a2642]{z-index:1;display:block;position:relative}.effect-action-btn strong[data-v-567a2642]{font-size:15px;font-weight:900;line-height:1.15}.effect-action-btn span[data-v-567a2642]{color:#475569d1;margin-top:7px;font-size:12px;font-weight:800;line-height:1.15}.effect-action-btn[data-v-567a2642]:hover{border-color:#3b82f666;transform:translateY(-1px);box-shadow:0 12px 22px #2563eb21}.effect-action-btn.active[data-v-567a2642]{border-color:#2563eb85;transform:translateY(-1px);box-shadow:0 12px 26px #2563eb2e,inset 0 0 0 1px #ffffff8f}.effect-action-btn.active[data-v-567a2642]:before{content:"已启用";z-index:2;color:#fff;pointer-events:none;background:#0f172ab8;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:900;line-height:1.4;position:absolute;bottom:9px;right:10px}.effect-warm[data-v-567a2642]{background:linear-gradient(135deg,#ffedd5f2,#fbbf2447);border-color:#f59e0b47}.effect-warm.active[data-v-567a2642]{border-color:#f59e0bbf;box-shadow:0 12px 28px #f59e0b40,0 0 0 2px #f59e0b1f}.effect-neutral[data-v-567a2642]{background:linear-gradient(135deg,#f8fafcfa,#e2e8f0a6);border-color:#94a3b847}.effect-neutral.active[data-v-567a2642]{border-color:#64748ba6;box-shadow:0 12px 26px #64748b2e,0 0 0 2px #64748b1a}.effect-cool[data-v-567a2642]{background:linear-gradient(135deg,#eff6fffa,#93c5fd52);border-color:#3b82f642}.effect-cool.active[data-v-567a2642]{border-color:#3b82f6b3;box-shadow:0 12px 28px #3b82f638,0 0 0 2px #3b82f61c}.effect-auto[data-v-567a2642]{background:linear-gradient(135deg,#eef2fff5,#818cf847);border-color:#6366f13d}.effect-auto[data-v-567a2642]:after{content:"AUTO";color:#4f46e5;background:#6366f124;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:900;position:absolute;top:9px;right:10px}.effect-auto.active[data-v-567a2642]{border-color:#6366f1b8;box-shadow:0 12px 28px #6366f13d,0 0 0 2px #6366f11f}.effect-loop[data-v-567a2642]{background:linear-gradient(135deg,#3b82f629,#a855f738,#0ea5e929);border-color:#6366f147}.effect-loop[data-v-567a2642]:after{content:"";border:2px solid #6366f17a;border-left-color:#0000;border-radius:999px;width:18px;height:18px;position:absolute;top:14px;right:12px}.effect-loop.active[data-v-567a2642]{background:linear-gradient(120deg,#3b82f638,#a855f742,#0ea5e938,#3b82f638) 0 0/220% 220%;border-color:#6366f1b8;animation:3s infinite loopFlow-567a2642;position:relative;overflow:hidden;box-shadow:0 14px 34px #6366f147}.effect-loop.active[data-v-567a2642]:before{content:"";aspect-ratio:1;transform-origin:50%;z-index:0;opacity:.48;pointer-events:none;background:conic-gradient(#3b82f61f,#a855f773,#0ea5e961,#3b82f61f);border-radius:50%;width:320%;animation:3s linear infinite loopBorderSpin-567a2642;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(0)}.effect-loop.active[data-v-567a2642]:after{display:none}.effect-loop.active[data-v-567a2642]>*{z-index:1;position:relative}.effect-settings[data-v-567a2642]{background:linear-gradient(135deg,#f8fafceb,#dbeafe85);border-color:#94a3b83d}.effect-settings.active[data-v-567a2642]:before{display:none}@keyframes loopFlow-567a2642{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes loopBorderSpin-567a2642{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}.effect-action-btn[data-v-567a2642]:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.effect-brightness-control[data-v-567a2642]{background:#f8fafcc7;border:1px solid #e2e8f0e0;border-radius:16px;margin-top:14px;padding:13px 14px}.effect-brightness-header[data-v-567a2642]{justify-content:space-between;align-items:center;gap:12px;display:flex}.effect-brightness-header .mini-label[data-v-567a2642]{margin:0}.effect-brightness-header strong[data-v-567a2642]{color:#2563eb;font-size:13px;font-weight:900;transition:transform .15s,color .15s}.effect-brightness-header strong.brightness-active[data-v-567a2642]{color:#1d4ed8;transform:scale(1.4)}.effect-brightness-slider[data-v-567a2642]{accent-color:#2563eb;cursor:pointer;touch-action:pan-y;width:100%;margin:9px 0 0}.effect-brightness-slider.is-dragging[data-v-567a2642]{cursor:grabbing}.effect-brightness-hint[data-v-567a2642]{color:#64748b;margin:5px 0 0;font-size:12px;font-weight:700;line-height:1.4}.mini-status[data-v-567a2642]{color:#64748b;margin-top:10px;font-size:12px;font-weight:700;line-height:1.4}.effect-modal-overlay[data-v-567a2642]{z-index:2200;background:#0f172a6b;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.effect-modal-card[data-v-567a2642]{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0fa;border-radius:22px;width:min(480px,100%);max-height:min(640px,100vh - 48px);padding:22px;overflow-y:auto;box-shadow:0 28px 78px #0f172a52}.effect-modal-header[data-v-567a2642]{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.effect-modal-header h3[data-v-567a2642]{color:#0f172a;margin:0;font-size:20px;font-weight:900}.effect-modal-header p[data-v-567a2642]{color:#64748b;margin:6px 0 0;font-size:13px;font-weight:700}.modal-close-btn[data-v-567a2642]{color:#475569;cursor:pointer;background:#f8fafceb;border:1px solid #cbd5e1e6;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:800}.effect-form[data-v-567a2642]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-field[data-v-567a2642]:last-child{grid-column:1/-1}.form-field[data-v-567a2642]{min-width:0}.effect-form>.form-field[data-v-567a2642]:nth-child(2),.effect-form>.form-field[data-v-567a2642]:nth-child(3),.effect-form>.form-field[data-v-567a2642]:nth-child(4){display:none}.temp-range-field[data-v-567a2642]{grid-column:1/-1}.temp-range-header[data-v-567a2642]{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.temp-range-value[data-v-567a2642]{color:#2563eb;white-space:nowrap;font-size:13px;font-weight:900}.dual-temp-slider[data-v-567a2642]{height:42px;padding:0 15px;position:relative}.dual-temp-track[data-v-567a2642],.dual-temp-selected[data-v-567a2642]{pointer-events:none;border-radius:999px;height:6px;position:absolute;top:18px;left:15px;right:15px}.dual-temp-track[data-v-567a2642]{background:#cbd5e1e6}.dual-temp-selected[data-v-567a2642]{background:linear-gradient(90deg,#f59e0b,#3b82f6);right:auto}.dual-temp-input[data-v-567a2642]{pointer-events:none;appearance:none;background:0 0;width:100%;margin:0;position:absolute;inset:0}.dual-temp-input[data-v-567a2642]::-webkit-slider-runnable-track{background:0 0;height:6px}.dual-temp-input[data-v-567a2642]::-webkit-slider-thumb{pointer-events:auto;cursor:pointer;appearance:none;background:linear-gradient(#ffffff47,#fff0 45%),#2563eb;border:3px solid #fff;border-radius:9px;width:30px;height:20px;margin-top:-7px;box-shadow:0 7px 16px #2563eb52,inset 0 -2px 4px #0f172a2e}.dual-temp-input[data-v-567a2642]::-moz-range-track{background:0 0;height:6px}.dual-temp-input[data-v-567a2642]::-moz-range-thumb{pointer-events:auto;cursor:pointer;background:linear-gradient(#ffffff47,#fff0 45%),#2563eb;border:3px solid #fff;border-radius:9px;width:30px;height:20px;box-shadow:0 7px 16px #2563eb52,inset 0 -2px 4px #0f172a2e}.dual-temp-min[data-v-567a2642]{z-index:2}.dual-temp-max[data-v-567a2642]{z-index:3}.dual-temp-slider.dragging-min .dual-temp-min[data-v-567a2642],.dual-temp-slider.dragging-max .dual-temp-max[data-v-567a2642]{z-index:5}.effect-form>.form-field:nth-child(6)>.mini-label[data-v-567a2642]{font-size:0}.effect-form>.form-field:nth-child(6)>.mini-label[data-v-567a2642]:after{content:"灯间延迟";font-size:12px}.effect-form>.form-field[data-v-567a2642]:nth-child(6):after{content:"用于控制多盏灯之间波动的错开程度，数值越大，流水感越明显。";color:#64748b;margin-top:7px;font-size:12px;font-weight:700;line-height:1.45;display:block}.mini-label[data-v-567a2642]{color:#64748b;margin:0 0 6px;font-size:12px;font-weight:800;display:block}.mini-input[data-v-567a2642]{box-sizing:border-box;color:#0f172a;background:#fffffff0;border:1px solid #dbe3ef;border-radius:11px;outline:none;width:100%;padding:9px 10px;font-size:14px}.effect-modal-actions[data-v-567a2642]{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.modal-btn[data-v-567a2642]{cursor:pointer;border:none;border-radius:999px;padding:10px 15px;font-size:13px;font-weight:900}.modal-btn.primary[data-v-567a2642]{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb)}.modal-btn.secondary[data-v-567a2642]{color:#2563eb;background:#3b82f61f}.modal-btn.danger[data-v-567a2642]{color:#dc2626;background:#ef44441f}.modal-btn.ghost[data-v-567a2642]{color:#475569;background:#64748b1f}.modal-btn[data-v-567a2642]:disabled{opacity:.58;cursor:not-allowed}.app-container.night-mode{filter:none;-webkit-backdrop-filter:none;color:#f8fafcf5;background:#0f172ab8;border-color:#94a3b82e;box-shadow:0 18px 40px #00000047}.app-container.night-mode{color:#cbd5e1b8;box-shadow:none;background:#1e293bd1;border-color:#94a3b838}.app-container.night-mode{color:#c7d2fe;accent-color:#60a5fa;background:linear-gradient(135deg,#1e293be6,#33415594);border-color:#94a3b842;box-shadow:0 14px 34px #6366f152}.effect-modal-night .effect-modal-card[data-v-567a2642]{background:#0f172afc;border-color:#94a3b838;box-shadow:0 24px 70px #0000007a}.effect-modal-night .effect-modal-header h3[data-v-567a2642]{color:#f8fafcf5}.effect-modal-night .effect-modal-header p[data-v-567a2642],.effect-modal-night .mini-label[data-v-567a2642]{color:#cbd5e1b8}.effect-modal-night .mini-input[data-v-567a2642]{color:#e2e8f0eb;background:#0f172ac2;border-color:#94a3b847}.effect-modal-night .dual-temp-track[data-v-567a2642]{background:#334155eb}.effect-modal-night .temp-range-value[data-v-567a2642],.effect-modal-night .effect-form>.form-field[data-v-567a2642]:nth-child(6):after{color:#bfdbfee6}.effect-modal-night .modal-close-btn[data-v-567a2642],.effect-modal-night .modal-btn.ghost[data-v-567a2642]{color:#e2e8f0e6;background:#1e293bd1;border-color:#94a3b83d}.effect-modal-night .modal-btn.secondary[data-v-567a2642]{color:#bfdbfe;background:#2563eb3d}.effect-modal-night .modal-btn.danger[data-v-567a2642]{color:#fecaca;background:#7f1d1d47}@media (width<=768px){.light-effect-mini-card[data-v-567a2642]{border-radius:16px;padding:12px 14px}.mini-header[data-v-567a2642]{margin-bottom:8px}.mini-title[data-v-567a2642]{font-size:15px;font-weight:700}.mini-subtitle[data-v-567a2642]{margin:2px 0 0;font-size:12px;font-weight:400;line-height:1.3}.scope-field[data-v-567a2642]{margin-bottom:8px}.effect-action-grid[data-v-567a2642]{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.effect-form[data-v-567a2642]{grid-template-columns:1fr}.effect-action-btn[data-v-567a2642]{border-radius:14px;min-height:56px;padding:8px 10px}.effect-action-btn strong[data-v-567a2642]{font-size:11px}.effect-action-btn span[data-v-567a2642]{margin-top:3px;font-size:9px}.effect-action-btn.active[data-v-567a2642]:before{padding:1px 4px;font-size:7px;bottom:4px;right:5px}.effect-auto[data-v-567a2642]:after{padding:1px 4px;font-size:8px;top:6px;right:6px}.effect-loop[data-v-567a2642]:after{width:14px;height:14px;top:10px;right:8px}.effect-brightness-control[data-v-567a2642]{border-radius:14px;margin-top:8px;padding:8px}.effect-brightness-header strong[data-v-567a2642]{font-size:11px}.effect-brightness-hint[data-v-567a2642]{margin-top:2px;font-size:9px}.mini-status[data-v-567a2642]{margin-top:6px;font-size:10px}.effect-modal-card[data-v-567a2642]{padding:16px}.effect-modal-actions[data-v-567a2642]{justify-content:stretch}.modal-btn[data-v-567a2642]{flex:140px}}@media (prefers-reduced-motion:reduce){.effect-loop.active[data-v-567a2642],.effect-loop.active[data-v-567a2642]:before{animation:none}}.settings-card,.settings-card[data-v-a64c4f07],.form-row[data-v-a64c4f07]{overflow:visible}.query-actions[data-v-a64c4f07]{margin:16px 0}.result-block[data-v-a64c4f07]{margin-top:18px}.result-table[data-v-a64c4f07]{border-collapse:collapse;border-radius:10px;width:100%;overflow:hidden}.result-table th[data-v-a64c4f07],.result-table td[data-v-a64c4f07]{text-align:left;border:1px solid #ebeef5;padding:10px 12px}.result-table thead[data-v-a64c4f07]{background:#f7f8fa}@media (width<=768px){.settings-card[data-v-a64c4f07]{grid-template-columns:1fr 1fr;column-gap:10px;display:grid}.settings-title[data-v-a64c4f07]{grid-column:1/-1;font-size:16px}.form-row[data-v-a64c4f07]:nth-child(2),.form-row[data-v-a64c4f07]:nth-child(3){grid-column:span 1}.form-row[data-v-a64c4f07]:nth-child(4),.query-actions[data-v-a64c4f07],.result-block[data-v-a64c4f07]{grid-column:1/-1}.form-row[data-v-a64c4f07]{flex-direction:column;align-items:stretch;gap:6px;min-width:0;overflow:hidden}.form-row label[data-v-a64c4f07]{min-width:auto;font-size:12px}.date-input[data-v-a64c4f07]{box-sizing:border-box;width:100%;min-width:0;max-width:100%;font-size:12px}.form-row[data-v-a64c4f07] .select-trigger{font-size:12px}.query-actions .btn-primary[data-v-a64c4f07]{width:100%}.result-block[data-v-a64c4f07]{overflow-x:auto}.result-table[data-v-a64c4f07]{min-width:320px}.result-table th[data-v-a64c4f07],.result-table td[data-v-a64c4f07]{white-space:nowrap;padding:8px 10px;font-size:14px}}.gimbal-panel[data-v-cb7ac507]{overflow:visible}.panel-header[data-v-cb7ac507]{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.panel-desc[data-v-cb7ac507]{color:#64748b;margin:6px 0 0;font-size:13px;line-height:1.5}.form-row[data-v-cb7ac507]{align-items:center;gap:12px;margin-top:14px;display:flex}.form-row label[data-v-cb7ac507]{color:#606266;flex:0 0 88px;font-size:14px}.selected-meta[data-v-cb7ac507]{margin-top:8px;padding-left:100px}.gimbal-self-test[data-v-cb7ac507]{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;font-size:13px;display:flex}.gimbal-self-test span[data-v-cb7ac507]{font-weight:800}.gimbal-self-test small[data-v-cb7ac507]{text-align:right;line-height:1.4}.gimbal-self-test.ok[data-v-cb7ac507]{color:#15803d;background:#ecfdf3;border-color:#16a34a38}.gimbal-self-test.bad[data-v-cb7ac507]{color:#b91c1c;background:#fff1f2;border-color:#dc262638}.gimbal-self-test.unknown[data-v-cb7ac507]{color:#64748b;background:#f8fafc;border-color:#e2e8f0}.speed-tabs[data-v-cb7ac507]{flex-wrap:wrap;gap:8px;display:flex}.speed-tab[data-v-cb7ac507]{color:#475569;cursor:pointer;background:#ffffffdb;border:1px solid #cbd5e1f2;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700;transition:background .16s,border-color .16s,color .16s,transform .16s}.speed-tab[data-v-cb7ac507]:hover{transform:translateY(-1px)}.speed-tab.active[data-v-cb7ac507]{color:#2563eb;background:#409eff24;border-color:#409eff8c}.mode-toggle-btn[data-v-cb7ac507]{color:#2563eb;cursor:pointer;background:#409eff14;border:1px solid #409eff8c;border-radius:12px;padding:10px 18px;font-size:14px;font-weight:800;transition:background .16s,border-color .16s}.mode-toggle-btn[data-v-cb7ac507]:hover{background:#409eff29}.mode-toggle-btn.active[data-v-cb7ac507]{color:#16a34a;background:#22c55e1f;border-color:#22c55e8c}.mode-toggle-btn[data-v-cb7ac507]:disabled{opacity:.55;cursor:not-allowed}.joystick-section[data-v-cb7ac507]{margin-top:18px}.gimbal-control-block[data-v-cb7ac507]{width:100%}.gimbal-control-row[data-v-cb7ac507]{grid-template-columns:230px 1fr;align-items:center;column-gap:34px;width:100%;max-width:620px;margin:16px 0 12px;display:grid}.joystick-side[data-v-cb7ac507]{flex:0 0 230px;justify-content:center;align-items:center;width:230px;min-width:230px;height:230px;display:flex}.joystick-container[data-v-cb7ac507]{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;justify-content:center;align-items:center;width:230px;height:230px;display:flex;position:relative}.joystick-container[data-v-cb7ac507]:active{cursor:grabbing}.gimbal-preset-side[data-v-cb7ac507]{grid-template-columns:repeat(2,minmax(0,1fr));align-self:center;gap:12px;width:100%;display:grid}.joystick-around[data-v-cb7ac507]{background-image:linear-gradient(#9da4a8,#f5f8fa);border-radius:50%;justify-content:center;align-items:center;width:170px;height:170px;display:flex;position:relative}.joystick-handle[data-v-cb7ac507]{perspective:300px;background:#c5d1da;border-radius:50%;justify-content:center;align-items:center;width:132px;height:132px;display:flex;box-shadow:0 0 10px #00000080,0 10px 10px #0003,inset 0 0 16px #000000d9,inset 0 0 24px #000000bf,inset 0 0 48px #0003}.joystick-button[data-v-cb7ac507]{pointer-events:none;background-image:linear-gradient(#eff1f1,#86969c);border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;transition:transform .16s,box-shadow .16s;display:flex;box-shadow:0 9px 14px #00000080,0 19px 8px -2px #0003,0 33px 8px #0006,0 -12px 10px #ffffff80,inset 0 3px 3px #fff9,inset 0 -3px 3px #595b5c99}.joystick-button.active[data-v-cb7ac507]{transition:none}.joystick-inside[data-v-cb7ac507]{background-image:linear-gradient(#adb9bf,#d4dbdd);border-radius:50%;width:72px;height:72px;position:relative;box-shadow:inset 0 3px 6px #98a0a366,inset 0 -3px 6px #eef4f666}.joystick-dot[data-v-cb7ac507]{background:#e7ecef;border-radius:50%;width:7px;height:7px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 2px #0000004d,inset 0 -2px 2px #0003}.joystick-dot[data-v-cb7ac507]:first-child{top:10%;left:50%}.joystick-dot[data-v-cb7ac507]:nth-child(2){top:50%;left:90%}.joystick-dot[data-v-cb7ac507]:nth-child(3){top:90%;left:50%}.joystick-dot[data-v-cb7ac507]:nth-child(4){top:50%;left:10%}.joystick-icon[data-v-cb7ac507]{fill:#b4b9bd;opacity:.72;pointer-events:none;width:22px;position:absolute;transform:translate(-50%,-50%)}.joystick-icon-up[data-v-cb7ac507]{top:27px;left:50%;transform:translate(-50%)}.joystick-icon-right[data-v-cb7ac507]{top:50%;left:auto;right:16px}.joystick-icon-down[data-v-cb7ac507]{top:auto;bottom:16px;left:50%}.joystick-icon-left[data-v-cb7ac507]{top:50%;left:27px;transform:translateY(-50%)}.joystick-icon.active[data-v-cb7ac507]{fill:#e3a560;opacity:1;filter:brightness(.9)drop-shadow(0 0 2px #e3a15b)drop-shadow(0 0 1px #fff)}.precision-section[data-v-cb7ac507]{margin-top:18px}.precision-card[data-v-cb7ac507]{background:#f8fafcd1;border:1px solid #e2e8f0f2;border-radius:14px;flex-direction:column;gap:14px;padding:16px;display:flex}.precision-row[data-v-cb7ac507]{flex-direction:column;gap:6px;display:flex}.precision-row label[data-v-cb7ac507]{color:#1e293b;font-size:14px;font-weight:700}.precision-row label strong[data-v-cb7ac507]{color:#2563eb;margin-left:4px}.precision-slider[data-v-cb7ac507]{accent-color:#2563eb;width:100%}.preset-card[data-v-cb7ac507]{text-align:left;cursor:pointer;background:#fff;border:1px solid #e8edf5;border-radius:14px;width:100%;min-height:68px;padding:12px 14px;transition:transform .16s,box-shadow .16s,border-color .16s;box-shadow:0 2px 8px #0f172a0a}.preset-card[data-v-cb7ac507]:hover{border-color:#3b82f647;transform:translateY(-1px);box-shadow:0 6px 16px #0f172a14}.preset-card[data-v-cb7ac507]:disabled{opacity:.55;cursor:not-allowed}.preset-card strong[data-v-cb7ac507]{color:#1f2937;margin-bottom:4px;font-size:15px;font-weight:700;display:block}.preset-card span[data-v-cb7ac507]{color:#94a3b8;font-size:12px;line-height:1.4;display:block}.device-meta[data-v-cb7ac507]{color:#64748b;font-size:13px}@media (width<=768px){.gimbal-control-row[data-v-cb7ac507]{grid-template-columns:1fr;row-gap:16px;max-width:100%}.joystick-side[data-v-cb7ac507]{flex:0 0 200px;justify-self:center;width:200px;min-width:200px;height:200px}.joystick-container[data-v-cb7ac507]{width:200px;height:200px}.gimbal-preset-side[data-v-cb7ac507]{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.joystick-around[data-v-cb7ac507]{width:150px;height:150px}.joystick-handle[data-v-cb7ac507]{width:116px;height:116px}.joystick-button[data-v-cb7ac507]{width:76px;height:76px}.joystick-inside[data-v-cb7ac507]{width:62px;height:62px}.joystick-dot[data-v-cb7ac507]{width:6px;height:6px}.joystick-icon[data-v-cb7ac507]{width:24px}.form-row[data-v-cb7ac507]{flex-direction:column;align-items:stretch;gap:6px;margin-top:10px}.form-row label[data-v-cb7ac507]{flex:none;font-size:12px}.selected-meta[data-v-cb7ac507]{margin-top:4px;padding-left:0;font-size:12px}}@media (width<=480px){.gimbal-preset-side[data-v-cb7ac507]{grid-template-columns:1fr}}.app-container.night-mode,.app-container.night-mode,.app-container.night-mode,.app-container.night-mode,.app-container.night-mode{background-image:linear-gradient(#3a424a,#1e2832)}.app-container.night-mode{fill:#e3a560;background:#5a646c}.app-container.night-mode{color:#fecaca;background:#7f1d1d47;border-color:#f8717138}.store-toolbar-card[data-v-2788590a]{padding:20px 22px}.store-toolbar[data-v-2788590a]{justify-content:space-between;align-items:center;gap:20px;display:flex}.store-toolbar-left[data-v-2788590a]{flex-direction:column;gap:12px;min-width:0;display:flex}.settings-title[data-v-2788590a]{margin:0;font-size:18px}.store-meta[data-v-2788590a]{flex-wrap:wrap;align-items:center;gap:0;display:flex}.meta-chip[data-v-2788590a]{white-space:nowrap;background:0 0;border:none;border-radius:0;align-items:center;gap:6px;padding:2px 0;display:inline-flex}.meta-chip+.meta-chip[data-v-2788590a]:before{content:"";background:#cbd5e1;width:1px;height:16px;margin:0 12px;display:inline-block}.meta-key[data-v-2788590a]{color:#64748b;font-size:13px;line-height:1.4}.meta-value[data-v-2788590a]{color:#0f172a;font-size:14px;font-weight:600;line-height:1.4}.store-toolbar-actions[data-v-2788590a]{box-shadow:none;background:0 0;border:none;flex-wrap:nowrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:12px;display:flex}.store-action-btn[data-v-2788590a]{box-sizing:border-box;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#475569;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:#ffffffa8;border:1px solid #e2e8f0d1;border-radius:14px;flex:none;justify-content:center;align-items:center;gap:7px;width:104px;min-width:0;height:38px;padding:0 16px;font-size:13px;font-weight:700;line-height:1;transition:background .22s,border-color .22s,box-shadow .22s,color .22s;display:inline-flex;box-shadow:0 8px 20px #0f172a0b}.store-action-btn[data-v-2788590a]:hover{background:#ffffffd1;border-color:#cbd5e1f5;box-shadow:0 10px 24px #0f172a11}.store-action-btn[data-v-2788590a]:active{background:#f8fafcd1}.store-action-btn[data-v-2788590a]:focus-visible{border-color:#94a3b8e6;outline:none;box-shadow:0 8px 20px #0f172a0b,0 0 0 3px #94a3b82e}.store-action-btn--theme[data-v-2788590a]{color:#475569;width:104px;padding:0 14px}.store-action-btn--neutral[data-v-2788590a]{color:#334155}.store-action-btn--danger[data-v-2788590a]{color:#ef4444;border-color:#f8717133}.store-action-btn--danger[data-v-2788590a]:hover,.store-action-btn--danger[data-v-2788590a]:focus-visible{color:#dc2626;background:#fef2f2b8;border-color:#f8717142}.theme-mode-icon[data-v-2788590a]{flex:0 0 20px;place-items:center;width:20px;height:20px;display:inline-grid;position:relative}.theme-mode-symbol[data-v-2788590a]{opacity:1;grid-area:1/1;font-size:18px;line-height:1;transition:opacity .22s,transform .22s,color .22s;transform:scale(1)rotate(0)}.theme-mode-symbol--sun[data-v-2788590a]{color:#c26a14;opacity:.82}.theme-mode-symbol--moon[data-v-2788590a]{color:#6366f1;opacity:0;transform:scale(.65)rotate(-24deg)}.store-action-btn--theme.is-night .theme-mode-symbol--sun[data-v-2788590a]{opacity:0;transform:scale(.65)rotate(30deg)}.store-action-btn--theme.is-night .theme-mode-symbol--moon[data-v-2788590a]{opacity:.86;transform:scale(1)rotate(0)}.theme-mode-text[data-v-2788590a],.store-action-text[data-v-2788590a]{line-height:1}.meta-chip+.meta-chip[data-v-2788590a]:before{background:#cbd5e1}.app-container.night-mode{color:#cbd5e1;background:#ffffff1f;border-color:#94a3b83d}.app-container.night-mode,.app-container.night-mode{background:#ffffff29;border-color:#cbd5e152}.app-container.night-mode{color:#f87171}.app-container.night-mode,.app-container.night-mode{color:#fca5a5;background:#7f1d1d33}@media (width<=960px){.store-toolbar[data-v-2788590a]{flex-direction:column;align-items:stretch}.store-toolbar-actions[data-v-2788590a]{justify-content:flex-start}}@media (width<=768px){.store-toolbar-card[data-v-2788590a]{padding:14px 16px}.store-toolbar-left[data-v-2788590a]{gap:8px}.settings-title[data-v-2788590a]{font-size:16px}.meta-chip[data-v-2788590a]{white-space:nowrap;gap:3px;padding:1px 0}.meta-key[data-v-2788590a]{font-size:11px}.meta-value[data-v-2788590a]{font-size:12px}.meta-chip+.meta-chip[data-v-2788590a]:before{height:13px;margin:0 8px}.store-toolbar-actions[data-v-2788590a]{flex-flow:row;gap:8px;width:100%}.store-toolbar-actions .store-action-btn[data-v-2788590a]{white-space:nowrap;flex:1 1 0;min-width:0;height:40px;padding:0 10px;font-size:13px}.store-toolbar-actions .store-action-btn--theme[data-v-2788590a]{flex:1 1 0}}.heat-card[data-v-135e879e]{overflow:visible}.heat-legend[data-v-135e879e]{color:#606266;flex-wrap:wrap;gap:10px 16px;margin-bottom:18px;font-size:13px;display:flex}.heat-legend span[data-v-135e879e]{align-items:center;gap:6px;display:inline-flex}.legend-dot[data-v-135e879e]{border-radius:999px;width:12px;height:12px;display:inline-block}.legend-cold[data-v-135e879e]{background:#38b4f0}.legend-mid[data-v-135e879e]{background:#faa014}.legend-hot[data-v-135e879e]{background:#ef2832}.heat-zone-grid[data-v-135e879e]{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:stretch;gap:14px;display:grid}.heat-zone-item[data-v-135e879e]{min-height:170px;color:inherit;cursor:pointer;background:#ffffff8c;border:1px solid #e2e8f080;border-radius:16px;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;padding:18px 10px 14px;transition:transform .2s,box-shadow .2s,border-color .2s,background .2s;display:flex;position:relative}.heat-zone-item[data-v-135e879e]:hover{background:#ffffffbf;border-color:#3b82f64d;transform:translateY(-3px);box-shadow:0 10px 30px #3b82f61f}.rank-badge[data-v-135e879e]{color:#4f46e5;background:#eef2ff;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:700;position:absolute;top:8px;left:8px}.rank-1[data-v-135e879e]{color:#dc2626;background:#fee2e2}.rank-2[data-v-135e879e]{color:#d97706;background:#fef3c7}.rank-3[data-v-135e879e]{color:#0284c7;background:#e0f2fe}.heat-bubble[data-v-135e879e]{color:#fff;text-shadow:0 1px 3px #0000004d;border-radius:50%;justify-content:center;align-items:center;font-weight:800;transition:transform .25s cubic-bezier(.22,1,.36,1);display:flex}.heat-zone-item:hover .heat-bubble[data-v-135e879e]{transform:scale(1.08)}.heat-bubble-value[data-v-135e879e]{white-space:nowrap;font-size:13px}.heat-zone-name[data-v-135e879e]{color:#303133;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;font-weight:700;overflow:hidden}.heat-zone-time[data-v-135e879e],.heat-zone-percent[data-v-135e879e]{color:#606266;font-size:12px}.heat-detail-popover[data-v-135e879e]{z-index:2;color:#fff;text-align:left;background:#111827f0;border-radius:10px;gap:4px;width:max-content;max-width:220px;padding:9px 10px;font-size:12px;display:grid;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 12px 30px #0f172a38}@media (width<=768px){.heat-zone-grid[data-v-135e879e]{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.heat-zone-item[data-v-135e879e]{min-height:130px;padding:10px 8px 8px}.heat-detail-popover[data-v-135e879e]{width:auto;bottom:calc(100% + 6px);left:8px;right:8px;transform:none}.heat-bubble-value[data-v-135e879e]{font-size:11px}.heat-zone-name[data-v-135e879e]{font-size:12px}.heat-zone-time[data-v-135e879e],.heat-zone-percent[data-v-135e879e]{font-size:11px}}.trend-hint[data-v-abd3a5df]{color:#909399;margin-bottom:8px;font-size:13px}.flow-overview-content[data-v-e58e116a]{flex-direction:column;gap:14px;display:flex}.flow-overview-highlights[data-v-e58e116a]{grid-template-columns:1fr 1fr;gap:10px;display:grid}.flow-highlight-item[data-v-e58e116a]{background:#f8fafc;border-radius:10px;flex-direction:column;gap:4px;padding:12px;display:flex}.flow-highlight-label[data-v-e58e116a]{color:#86909c;font-size:12px}.flow-highlight-value[data-v-e58e116a]{color:#1d2129;font-size:20px;font-weight:700}.flow-overview-details[data-v-e58e116a]{flex-direction:column;gap:6px;display:flex}.flow-detail-row[data-v-e58e116a]{border-bottom:1px solid #e2e8f066;justify-content:space-between;align-items:center;padding:6px 0;display:flex}.flow-detail-label[data-v-e58e116a]{color:#86909c;font-size:13px}.flow-detail-value[data-v-e58e116a]{color:#1d2129;font-size:13px;font-weight:600}.firmware-panel[data-v-f0cad7e9]{width:100%;min-width:0}.page-hero[data-v-f0cad7e9]{background:#ffffffc7;border:1px solid #fffc;border-radius:22px;margin-bottom:20px;padding:22px 24px;box-shadow:0 16px 38px #0f172a14}.page-hero h1[data-v-f0cad7e9]{color:#111827;letter-spacing:0;margin:0;font-size:28px;font-weight:900}.page-hero p[data-v-f0cad7e9]{color:#64748b;margin:8px 0 0;line-height:1.6}.firmware-layout[data-v-f0cad7e9]{grid-template-columns:minmax(360px,.9fr) minmax(0,1.4fr);align-items:start;gap:20px;display:grid}.manage-card[data-v-f0cad7e9]{background:#ffffffd1;border:1px solid #ffffffd1;border-radius:22px;min-width:0;padding:22px;box-shadow:0 18px 42px #0f172a1a}.card-header[data-v-f0cad7e9]{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.card-header h2[data-v-f0cad7e9]{color:#111827;margin:0;font-size:20px;font-weight:900}.card-header p[data-v-f0cad7e9]{color:#64748b;margin:6px 0 0;font-size:13px;line-height:1.5}.firmware-form[data-v-f0cad7e9]{gap:16px;display:grid}.form-grid[data-v-f0cad7e9],.history-filters[data-v-f0cad7e9]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.history-filters[data-v-f0cad7e9]{margin-bottom:16px}.form-field[data-v-f0cad7e9]{color:#303133;gap:8px;min-width:0;font-weight:700;display:grid}.form-field span[data-v-f0cad7e9]{color:#475569;font-size:13px}.form-field input[data-v-f0cad7e9],.form-field textarea[data-v-f0cad7e9]{width:100%;font:inherit;color:#0f172a;background:#fff;border:1px solid #dbe3ef;border-radius:12px;outline:none;padding:11px 12px;font-weight:400}.form-field input[type=file][data-v-f0cad7e9]{background:#f8fafc;padding:10px}.form-field textarea[data-v-f0cad7e9]{resize:vertical}.form-field input[data-v-f0cad7e9]:focus,.form-field textarea[data-v-f0cad7e9]:focus{border-color:#409eff;box-shadow:0 0 0 3px #409eff24}.submit-btn[data-v-f0cad7e9],.refresh-btn[data-v-f0cad7e9],.text-btn[data-v-f0cad7e9]{cursor:pointer;border:none;border-radius:12px;font-weight:800}.submit-btn[data-v-f0cad7e9]{color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);width:fit-content;padding:11px 18px;box-shadow:0 10px 22px #2563eb38}.refresh-btn[data-v-f0cad7e9]{color:#1d4ed8;background:#eff6ff;padding:9px 15px}.text-btn[data-v-f0cad7e9]{color:#2563eb;background:#eef4ff;padding:7px 10px}.submit-btn[data-v-f0cad7e9]:disabled,.refresh-btn[data-v-f0cad7e9]:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.message[data-v-f0cad7e9]{border-radius:12px;padding:10px 12px;font-size:13px}.error-message[data-v-f0cad7e9]{color:#c45656;background:#fff1f0}.success-message[data-v-f0cad7e9]{color:#529b2e;background:#f0f9eb}.result-panel[data-v-f0cad7e9]{border-top:1px solid #e2e8f0;margin-top:22px;padding-top:18px}.result-panel h3[data-v-f0cad7e9]{color:#111827;margin:0 0 14px;font-size:17px}.result-panel dl[data-v-f0cad7e9]{gap:10px;display:grid}.result-panel dl>div[data-v-f0cad7e9]{grid-template-columns:96px minmax(0,1fr);align-items:center;gap:12px;display:grid}.result-panel dt[data-v-f0cad7e9]{color:#64748b;font-size:13px}.result-panel dd[data-v-f0cad7e9]{word-break:break-word;min-width:0;margin:0}.lan-tip[data-v-f0cad7e9]{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;margin-top:16px;padding:10px 12px;font-size:13px;line-height:1.5}.history-card[data-v-f0cad7e9]{overflow:hidden}.history-header[data-v-f0cad7e9]{align-items:center}.history-table-wrap[data-v-f0cad7e9]{border:1px solid #e2e8f0;border-radius:16px;width:100%;overflow-x:auto}.history-table[data-v-f0cad7e9]{border-collapse:collapse;width:100%;min-width:980px;font-size:13px}.history-table th[data-v-f0cad7e9],.history-table td[data-v-f0cad7e9]{text-align:left;vertical-align:top;border-bottom:1px solid #eef2f7;padding:11px 12px}.history-table th[data-v-f0cad7e9]{color:#475569;white-space:nowrap;background:#f8fafc;font-weight:900}.history-table td[data-v-f0cad7e9]{color:#334155}.history-table tr:last-child td[data-v-f0cad7e9]{border-bottom:none}.changelog-cell[data-v-f0cad7e9]{word-break:break-word;max-width:220px}.url-actions[data-v-f0cad7e9]{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.enabled-badge[data-v-f0cad7e9]{color:#047857;background:#ecfdf5;border-radius:999px;align-items:center;padding:4px 9px;font-weight:900;display:inline-flex}.enabled-badge.disabled[data-v-f0cad7e9]{color:#b91c1c;background:#fef2f2}.empty-state[data-v-f0cad7e9]{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;justify-content:center;align-items:center;min-height:150px;display:flex}.app-container.night-mode,.app-container.night-mode{color:#e2e8f0e6;filter:none;-webkit-backdrop-filter:none;background:#0f172ad1;border-color:#94a3b82e;box-shadow:0 18px 40px #00000059}body:has(.app-container.night-mode){color:#e2e8f0e6;filter:none;-webkit-backdrop-filter:none;background:#0f172ad1;border-color:#94a3b82e;box-shadow:0 18px 40px #00000059}body:has(.app-container.night-mode){color:#e2e8f0e6;filter:none;-webkit-backdrop-filter:none;background:#0f172ad1;border-color:#94a3b82e;box-shadow:0 18px 40px #00000059}.app-container.night-mode,.app-container.night-mode,.app-container.night-mode{color:#f8fafcf5}body:has(.app-container.night-mode){color:#f8fafcf5}body:has(.app-container.night-mode){color:#f8fafcf5}body:has(.app-container.night-mode){color:#f8fafcf5}.app-container.night-mode,.app-container.night-mode,.app-container.night-mode,.app-container.night-mode{color:#cbd5e1b8}body:has(.app-container.night-mode){color:#cbd5e1b8}body:has(.app-container.night-mode){color:#cbd5e1b8}body:has(.app-container.night-mode){color:#cbd5e1b8}body:has(.app-container.night-mode){color:#cbd5e1b8}.app-container.night-mode,.app-container.night-mode{color:#e2e8f0eb;background:#0f172ac2;border-color:#94a3b847}body:has(.app-container.night-mode){color:#e2e8f0eb;background:#0f172ac2;border-color:#94a3b847}body:has(.app-container.night-mode){color:#e2e8f0eb;background:#0f172ac2;border-color:#94a3b847}body:has(.app-container.night-mode){color:#cbd5e194}body:has(.app-container.night-mode){color:#cbd5e194}.app-container.night-mode,.app-container.night-mode{border-color:#94a3b833}body:has(.app-container.night-mode){border-color:#94a3b833}body:has(.app-container.night-mode){border-color:#94a3b833}.app-container.night-mode{color:#e2e8f0e6;background:#0f172ab8}body:has(.app-container.night-mode){color:#e2e8f0e6;background:#0f172ab8}.app-container.night-mode{color:#e2e8f0e0;border-color:#94a3b824}body:has(.app-container.night-mode){color:#e2e8f0e0;border-color:#94a3b824}.app-container.night-mode,.app-container.night-mode{color:#bfdbfe;background:#1e293bd1;border:1px solid #94a3b83d}body:has(.app-container.night-mode){color:#bfdbfe;background:#1e293bd1;border:1px solid #94a3b83d}body:has(.app-container.night-mode){color:#bfdbfe;background:#1e293bd1;border:1px solid #94a3b83d}body:has(.app-container.night-mode){color:#fde68a;background:#78350f42;border-color:#f59e0b3d}body:has(.app-container.night-mode){color:#cbd5e1b8;background:#0f172a94;border-color:#94a3b838}.app-container.night-mode{color:#fff!important;background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;border-color:#94a3b83d!important;box-shadow:0 18px 45px #0000007a!important}.app-container.night-mode,.app-container.night-mode{color:#94a3b89e!important}.app-container.night-mode{color:#a7f3d0;background:#065f4638;border:1px solid #94a3b83d;border-radius:10px;margin-right:10px;background:#0f172a7a!important;border-color:#94a3b829!important}.app-container.night-mode .firmware-panel .page-hero,.app-container.night-mode .firmware-panel .manage-card{color:#e2e8f0db!important;filter:none!important;-webkit-backdrop-filter:none!important;background:#0f172ad1!important;border:1px solid #94a3b82e!important;box-shadow:0 18px 40px #00000059!important}.app-container.night-mode .firmware-panel h1,.app-container.night-mode .firmware-panel h2,.app-container.night-mode .firmware-panel h3{color:#f8fafcf5!important}.app-container.night-mode .firmware-panel .page-hero p,.app-container.night-mode .firmware-panel .card-header p,.app-container.night-mode .firmware-panel .result-panel dt{color:#cbd5e1b8!important}.app-container.night-mode .firmware-panel .form-field,.app-container.night-mode .firmware-panel .form-field span{color:#e2e8f0d6!important}.app-container.night-mode .firmware-panel input,.app-container.night-mode .firmware-panel textarea{color:#f8fafceb!important;background:#0f172ab3!important;border-color:#94a3b838!important}.app-container.night-mode .firmware-panel input::placeholder,.app-container.night-mode .firmware-panel textarea::placeholder{color:#94a3b8a6!important}.app-container.night-mode .firmware-panel input[type=file]::file-selector-button{border-radius:10px;color:#e2e8f0e6!important;background:#1e293be0!important;border:1px solid #94a3b83d!important}.app-container.night-mode .firmware-panel .history-table-wrap,.app-container.night-mode .firmware-panel .history-table{background:#0f172a94!important;border-color:#94a3b833!important}.app-container.night-mode .firmware-panel .history-table th{color:#e2e8f0e6!important;background:#0f172ad1!important;border-color:#94a3b824!important}.app-container.night-mode .firmware-panel .history-table td{color:#e2e8f0db!important;background:0 0!important;border-color:#94a3b824!important}.app-container.night-mode .firmware-panel .select-trigger{color:#f8fafceb!important;background:#0f172ab3!important;border-color:#94a3b838!important}.app-container.night-mode .firmware-panel .select-dropdown{background:#0f172af5!important;border-color:#94a3b83d!important}.app-container.night-mode .firmware-panel .select-option{color:#e2e8f0e6!important}.app-container.night-mode .firmware-panel .select-option:hover{color:#f8fafcf5!important;background:#1e293beb!important}.app-container.night-mode .firmware-panel .refresh-btn,.app-container.night-mode .firmware-panel .text-btn{color:#bfdbfe!important;background:#1e293bd1!important;border:1px solid #94a3b83d!important}.app-container.night-mode .firmware-panel .empty-state{color:#cbd5e1b8!important;background:#0f172a94!important;border-color:#94a3b838!important}.app-container.night-mode .firmware-panel .result-panel{border-color:#94a3b833!important}@media (width<=1200px){.firmware-layout[data-v-f0cad7e9]{grid-template-columns:1fr}}@media (width<=768px){.page-hero[data-v-f0cad7e9]{border-radius:16px;margin-bottom:12px;padding:14px 16px}.page-hero h1[data-v-f0cad7e9]{font-size:22px}.page-hero p[data-v-f0cad7e9]{margin:4px 0 0;font-size:12px;line-height:1.4}.manage-card[data-v-f0cad7e9]{border-radius:16px;padding:14px 16px}.card-header[data-v-f0cad7e9]{gap:10px;margin-bottom:12px}.card-header h2[data-v-f0cad7e9]{font-size:17px}.card-header p[data-v-f0cad7e9]{margin:3px 0 0;font-size:12px}.firmware-form[data-v-f0cad7e9]{gap:12px}.form-grid[data-v-f0cad7e9]{grid-template-columns:1fr 1fr;gap:10px}.history-filters[data-v-f0cad7e9]{grid-template-columns:1fr;gap:10px}.form-field span[data-v-f0cad7e9]{font-size:12px}.form-field input[data-v-f0cad7e9],.form-field textarea[data-v-f0cad7e9]{border-radius:10px;padding:9px 10px;font-size:13px}.submit-btn[data-v-f0cad7e9]{width:100%;padding:10px 16px;font-size:14px}.result-panel[data-v-f0cad7e9]{margin-top:14px;padding-top:12px}.result-panel h3[data-v-f0cad7e9]{margin-bottom:10px;font-size:15px}.result-panel dl>div[data-v-f0cad7e9]{grid-template-columns:1fr;gap:4px}.history-header[data-v-f0cad7e9]{flex-direction:column;align-items:flex-start}.lan-tip[data-v-f0cad7e9]{margin-top:10px;padding:8px 10px;font-size:12px}.empty-state[data-v-f0cad7e9]{min-height:100px}}.odometer[data-v-ddddbb34]{vertical-align:middle;align-items:center;display:inline-flex}.odometer-col[data-v-ddddbb34]{text-align:center;overflow:hidden}.odometer-roll[data-v-ddddbb34]{flex-direction:column;transition:transform .5s cubic-bezier(.22,.1,.1,1);display:flex}.odometer-num[data-v-ddddbb34]{font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-weight:800;line-height:1;display:flex}.odometer-suffix[data-v-ddddbb34]{margin-left:2px;font-weight:800}.odometer-placeholder[data-v-ddddbb34]{font-variant-numeric:tabular-nums;font-weight:800}.app-container[data-v-3e365d9b]{isolation:isolate;background:#eef4fb;width:100%;max-width:100%;min-height:100vh;display:block;position:relative;overflow:hidden visible}.app-container[data-v-3e365d9b]:before{content:"";z-index:-2;opacity:.95;filter:blur(8px);pointer-events:none;background-image:url(/backgrounds/bg-day.png);background-position:100%;background-repeat:no-repeat;background-size:cover;transition:opacity .5s,filter .5s;position:fixed;inset:0;transform:scale(1.02)}.app-container[data-v-3e365d9b]:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(90deg,#f5f8fc2e 0%,#f5f8fc14 45%,#f5f8fc05 100%);transition:background .5s;position:fixed;inset:0}.app-container.night-mode[data-v-3e365d9b]:before{opacity:1;background-image:url(/backgrounds/bg-night.png)}.app-container.night-mode[data-v-3e365d9b]:after{background:linear-gradient(90deg,#0206176b 0%,#02061738 55%,#02061714 100%)}.page-switcher[data-v-3e365d9b]{--page-push-distance:calc(100vh - 72px);--page-switch-height:calc(100vh - 72px);min-height:calc(100vh - 72px);position:relative;overflow:visible}.page-switcher.is-switching[data-v-3e365d9b]{height:var(--page-switch-height);min-height:0;overflow:hidden}.page-section[data-v-3e365d9b]{will-change:transform;width:100%;position:relative}.page-switcher.is-switching .page-section[data-v-3e365d9b]{height:100%;min-height:100%;overflow:hidden}.odometer-motion-pending[data-v-3e365d9b]{visibility:hidden}.tab-page-next-enter-active[data-v-3e365d9b],.tab-page-next-leave-active[data-v-3e365d9b],.tab-page-prev-enter-active[data-v-3e365d9b],.tab-page-prev-leave-active[data-v-3e365d9b]{transition:transform .42s cubic-bezier(.2,.8,.2,1)}.tab-page-next-leave-active[data-v-3e365d9b],.tab-page-prev-leave-active[data-v-3e365d9b]{pointer-events:none;width:100%;position:absolute;inset:0}.tab-page-next-enter-from[data-v-3e365d9b]{transform:translateY(var(--page-push-distance))}.tab-page-next-leave-to[data-v-3e365d9b],.tab-page-prev-enter-from[data-v-3e365d9b]{transform:translateY(calc(var(--page-push-distance) * -1))}.tab-page-prev-leave-to[data-v-3e365d9b]{transform:translateY(var(--page-push-distance))}.dashboard-top-status[data-v-3e365d9b]{flex-direction:column;align-items:flex-end;margin-bottom:14px;display:flex}.current-time[data-v-3e365d9b]{color:#111827;font-size:2rem;font-weight:900;line-height:1}.weather-status-row[data-v-3e365d9b]{color:#475569;align-items:center;gap:10px;margin-top:7px;font-size:14px;font-weight:800;display:flex}.weather-svg-icon[data-v-3e365d9b]{color:#64748b;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.weather-svg-icon svg[data-v-3e365d9b]{width:36px;height:36px;display:block}.weather-svg-icon path[data-v-3e365d9b],.weather-svg-icon circle[data-v-3e365d9b]{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.weather-svg-icon .sun-core[data-v-3e365d9b]{fill:#f59e0b2e;stroke:#f59e0b}.weather-svg-icon .sun-rays[data-v-3e365d9b],.weather-svg-icon.weather-sunny[data-v-3e365d9b],.weather-svg-icon .weather-sun-small[data-v-3e365d9b]{color:#f59e0b}.weather-svg-icon .cloud-shape[data-v-3e365d9b]{color:#64748b;fill:#94a3b824}.weather-svg-icon .rain-lines[data-v-3e365d9b]{color:#3b82f6}.weather-svg-icon .snow-marks[data-v-3e365d9b]{color:#60a5fa}.weather-svg-icon .fog-lines[data-v-3e365d9b]{color:#94a3b8}.weather-svg-icon .thunder-bolt path[data-v-3e365d9b]{color:#facc15;fill:#facc153d}.section-space-top[data-v-3e365d9b]{margin-top:10px}.env-layout[data-v-3e365d9b]{flex-wrap:wrap;gap:16px;margin-bottom:22px;display:flex}.env-card[data-v-3e365d9b]{background:#fff;border-radius:16px;flex:48%;min-width:300px;padding:14px 16px;box-shadow:0 4px 10px #00000014}.env-card h4[data-v-3e365d9b]{margin:0 0 10px;font-size:17px}[data-v-3e365d9b] .env-card,[data-v-3e365d9b] .lamp-card,[data-v-3e365d9b] .settings-card,[data-v-3e365d9b] .placeholder-card,[data-v-3e365d9b] .empty-block,[data-v-3e365d9b] .scan-panel,[data-v-3e365d9b] .chart-card,[data-v-3e365d9b] .info-card,[data-v-3e365d9b] #controls{-webkit-backdrop-filter:blur(12px);background:#ffffffad;border:1px solid #ffffffb8;box-shadow:0 16px 40px #0f172a1a}.env-info[data-v-3e365d9b]{gap:8px;margin-top:12px;display:grid}.stat-grid[data-v-3e365d9b]{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.stat-item[data-v-3e365d9b]{border-right:1px solid #cbd5e1b8;min-width:0;padding:0 18px 0 0}.stat-item[data-v-3e365d9b]:last-child{border-right:none;padding-right:0}.meta-grid[data-v-3e365d9b]{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:0;width:100%;margin-bottom:14px;display:grid}.meta-item[data-v-3e365d9b]{min-width:0;padding:0 24px}.meta-item[data-v-3e365d9b]:first-child{padding-left:0}.meta-item+.meta-item[data-v-3e365d9b]{border-left:1px solid #cbd5e1b8}.meta-item[data-v-3e365d9b]:last-child{padding-right:0}.stat-label[data-v-3e365d9b]{color:#64748b;margin-bottom:4px;font-size:13px;line-height:1.2;display:block}.stat-value[data-v-3e365d9b]{color:#0f172a;font-size:16px;font-weight:800;line-height:1.25;display:block}#metaInfo[data-v-3e365d9b]{grid-template-columns:auto auto;gap:6px 30px;display:grid}.lux-display[data-v-3e365d9b]{background:#f8fafcb8;border-radius:13px;align-items:center;gap:4px;min-height:44px;margin-top:10px;padding:10px 12px;display:flex}.lux-label[data-v-3e365d9b]{color:#475569;font-weight:600}.lux-label-web[data-v-3e365d9b]{display:inline}.lux-label-mobile[data-v-3e365d9b],.lux-odometer-mobile[data-v-3e365d9b]{display:none}.lux-odometer-web[data-v-3e365d9b]{color:#0f172a;font-size:14px;font-weight:600;line-height:1.2;display:inline-flex}[data-v-3e365d9b] .lux-odometer-web .odometer-num,[data-v-3e365d9b] .lux-odometer-web .odometer-suffix{font-weight:600}.lux-placeholder[data-v-3e365d9b]{color:#0f172a;font-weight:600}.page-section>h1[data-v-3e365d9b]{color:#1f2937;letter-spacing:-.02em;margin:26px 0 16px;font-size:34px;font-weight:900;line-height:1.1}#controls[data-v-3e365d9b]{border-radius:18px;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 28px;padding:14px 18px;display:flex}#controls>button[data-v-3e365d9b]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:999px;min-height:40px;padding:10px 18px;font-size:14px;font-weight:800;box-shadow:0 8px 18px #2563eb2e}#controls>button[data-v-3e365d9b]:disabled{opacity:.62;cursor:not-allowed;box-shadow:none}#controls label[data-v-3e365d9b]{color:#64748b;align-items:center;gap:8px;font-size:14px;font-weight:700;display:inline-flex}#controls input[data-v-3e365d9b]{box-sizing:border-box;color:#334155;background:#ffffffdb;border:1px solid #cbd5e1e6;border-radius:10px;width:178px;height:36px;padding:0 12px;font-size:14px}#scanStatus[data-v-3e365d9b]{color:#64748b;margin-left:auto;font-size:14px;font-weight:700}#scanStatus.ws-status-pill[data-v-3e365d9b]{background:#f8fafcdb;border:1px solid #cbd5e1d1;border-radius:999px;align-items:center;gap:8px;min-height:34px;padding:6px 12px;transition:background .22s,border-color .22s,color .22s,box-shadow .22s;display:inline-flex}.ws-status-dot[data-v-3e365d9b]{background:#ef4444;border-radius:999px;flex:0 0 9px;width:9px;height:9px;position:relative;box-shadow:0 0 0 4px #ef44441f}.ws-status-dot[data-v-3e365d9b]:after{content:"";border-radius:inherit;opacity:0;border:1px solid;position:absolute;inset:-6px}#scanStatus.ws-connected[data-v-3e365d9b]{color:#15803d;background:#f0fdf4e6;border-color:#22c55e3d;box-shadow:0 8px 18px #16a34a14}#scanStatus.ws-connected .ws-status-dot[data-v-3e365d9b]{background:#22c55e;box-shadow:0 0 0 4px #22c55e24}#scanStatus.ws-connected .ws-status-dot[data-v-3e365d9b]:after,#scanStatus.ws-scanning .ws-status-dot[data-v-3e365d9b]:after{animation:1.8s ease-out infinite wsStatusPulse-3e365d9b}#scanStatus.ws-scanning[data-v-3e365d9b]{color:#0369a1;background:#f0f9ffeb;border-color:#0ea5e947}#scanStatus.ws-scanning .ws-status-dot[data-v-3e365d9b]{background:#0ea5e9;box-shadow:0 0 0 4px #0ea5e924}@keyframes wsStatusPulse-3e365d9b{0%{opacity:.45;transform:scale(.65)}to{opacity:0;transform:scale(1.8)}}.settings-layout[data-v-3e365d9b]{flex-direction:column;gap:20px;display:flex}.settings-row[data-v-3e365d9b]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:20px;display:grid}.settings-half-card[data-v-3e365d9b]{min-width:0;height:100%}.settings-full-card[data-v-3e365d9b]{width:100%}.settings-group-card[data-v-3e365d9b]{-webkit-backdrop-filter:blur(12px);box-sizing:border-box;background:#ffffff8c;border:1px solid #ffffff8c;border-radius:24px;width:100%;min-width:0;margin-top:24px;padding:24px;box-shadow:0 12px 30px #0f172a12}.settings-group-title[data-v-3e365d9b]{color:#1d2129;border-bottom:1px solid #e5e6eb;margin:0 0 18px;padding-bottom:14px;font-size:17px;font-weight:700}.settings-group-grid[data-v-3e365d9b]{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.settings-group-grid[data-v-3e365d9b]>*{min-width:0}.settings-group-grid[data-v-3e365d9b] .smart-config-section{width:100%;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;border-radius:0;margin:0;padding:0}.settings-group-grid[data-v-3e365d9b] .smart-config-section .smart-card{-webkit-backdrop-filter:blur(12px);background:#ffffff8c;border:1px solid #ffffff80;border-radius:12px;max-width:none;margin:0;padding:20px;box-shadow:0 4px 16px #0f172a0d}.night-mode[data-v-3e365d9b]{color:#e5eaf3;background:linear-gradient(#1f2329 0%,#14181f 100%);transition:background .5s,color .5s}.night-mode .main-content[data-v-3e365d9b]{background:0 0}.app-container[data-v-3e365d9b] .env-card,.app-container[data-v-3e365d9b] .lamp-card,.app-container[data-v-3e365d9b] .settings-card,.app-container[data-v-3e365d9b] .smart-card,.app-container[data-v-3e365d9b] .layout-card,.app-container[data-v-3e365d9b] .light-effect-mini-card,.app-container[data-v-3e365d9b] .sidebar,.app-container[data-v-3e365d9b] .chart-card,.app-container[data-v-3e365d9b] #controls{transition:background .5s,border-color .5s,box-shadow .5s,color .5s}.app-container .settings-group-card[data-v-3e365d9b]{transition:background .35s,border-color .35s,box-shadow .35s,-webkit-backdrop-filter .35s,backdrop-filter .35s,color .35s}.night-mode .device-meta[data-v-3e365d9b],.night-mode .field-label[data-v-3e365d9b],.night-mode .checkbox-row[data-v-3e365d9b],.night-mode .settings-title[data-v-3e365d9b],.night-mode .settings-group-title[data-v-3e365d9b],.night-mode .readonly-box[data-v-3e365d9b]{color:#c9d1d9}.night-mode .lux-display[data-v-3e365d9b]{background:#1e293bb8}.night-mode[data-v-3e365d9b] .sidebar li.active,.night-mode[data-v-3e365d9b] .sidebar li:hover{background:#409eff2e}.app-container.night-mode[data-v-3e365d9b] .env-card,.app-container.night-mode[data-v-3e365d9b] .lamp-card,.app-container.night-mode[data-v-3e365d9b] .settings-card,.app-container.night-mode[data-v-3e365d9b] .smart-card,.app-container.night-mode[data-v-3e365d9b] .placeholder-card,.app-container.night-mode[data-v-3e365d9b] .empty-block,.app-container.night-mode[data-v-3e365d9b] .scan-panel,.app-container.night-mode[data-v-3e365d9b] .chart-card,.app-container.night-mode[data-v-3e365d9b] .info-card,.app-container.night-mode[data-v-3e365d9b] #controls,.app-container.night-mode[data-v-3e365d9b] .sidebar{color:#e5e7eb;-webkit-backdrop-filter:none;background:#0f172ab8;border:1px solid #94a3b82e;box-shadow:0 18px 45px #00000059}.night-mode .settings-group-title[data-v-3e365d9b]{border-bottom-color:#94a3b838}.app-container.night-mode .settings-group-card[data-v-3e365d9b]{-webkit-backdrop-filter:none;background:linear-gradient(135deg,#0f172ab8,#1e293b94);border-color:#94a3b838;box-shadow:0 18px 45px #00000059}.app-container.night-mode[data-v-3e365d9b] .flow-card,.app-container.night-mode[data-v-3e365d9b] .flow-data-item,.app-container.night-mode[data-v-3e365d9b] .flow-chart-box,.app-container.night-mode[data-v-3e365d9b] .empty-flow,.app-container.night-mode[data-v-3e365d9b] .smart-step,.app-container.night-mode[data-v-3e365d9b] .smart-status,.app-container.night-mode[data-v-3e365d9b] .smart-message{color:#e5e7eb!important;background:#0f172a9e!important;border-color:#94a3b838!important}.app-container.night-mode[data-v-3e365d9b] .flow-device-name,.app-container.night-mode[data-v-3e365d9b] .flow-data-item strong,.app-container.night-mode[data-v-3e365d9b] .meta-value,.app-container.night-mode[data-v-3e365d9b] .smart-title{color:#f8fafc!important}.app-container.night-mode[data-v-3e365d9b] .flow-device-sub,.app-container.night-mode[data-v-3e365d9b] .flow-data-item span,.app-container.night-mode[data-v-3e365d9b] .meta-key,.app-container.night-mode[data-v-3e365d9b] .smart-desc,.app-container.night-mode[data-v-3e365d9b] .flow-chart-box,.app-container.night-mode[data-v-3e365d9b] .smart-step p{color:#94a3b8!important}.app-container.night-mode[data-v-3e365d9b] input,.app-container.night-mode[data-v-3e365d9b] select,.app-container.night-mode[data-v-3e365d9b] .date-input,.app-container.night-mode[data-v-3e365d9b] .text-input,.app-container.night-mode[data-v-3e365d9b] .region-input,.app-container.night-mode[data-v-3e365d9b] .readonly-box,.app-container.night-mode[data-v-3e365d9b] .select-trigger{color:#e5e7eb!important;background:#0f172ac2!important;border-color:#94a3b847!important}.app-container.night-mode[data-v-3e365d9b] input::placeholder,.app-container.night-mode[data-v-3e365d9b] .select-text.placeholder{color:#64748b!important}.app-container.night-mode[data-v-3e365d9b] .select-dropdown{background:#0f172af5!important;border-color:#94a3b83d!important;box-shadow:0 18px 45px #00000073!important}.app-container.night-mode[data-v-3e365d9b] .select-option{color:#e5e7eb!important}.app-container.night-mode[data-v-3e365d9b] .select-option:hover{background:#1e293be6!important}.app-container.night-mode[data-v-3e365d9b] .flow-status{color:#93c5fd!important;background:#2563eb38!important}.app-container.night-mode[data-v-3e365d9b] .flow-status.active{color:#fecaca!important;background:#7f1d1d4d!important}.app-container.night-mode[data-v-3e365d9b] .btn-secondary,.app-container.night-mode[data-v-3e365d9b] .secondary-btn,.app-container.night-mode[data-v-3e365d9b] .scan-cancel-btn{color:#e5e7eb!important;background:#1e293bd1!important;border:1px solid #94a3b83d!important}.app-container.night-mode[data-v-3e365d9b] .btn-logout,.app-container.night-mode[data-v-3e365d9b] .btn-danger{color:#fecaca!important;background:#7f1d1d42!important}.app-container.night-mode[data-v-3e365d9b] .smart-tips{color:#fde68a!important;background:#78350f38!important;border:1px solid #f59e0b2e!important}.app-container.night-mode[data-v-3e365d9b] .layout-card,.app-container.night-mode[data-v-3e365d9b] .light-effect-mini-card,.app-container.night-mode[data-v-3e365d9b] .smart-config-section,.app-container.night-mode[data-v-3e365d9b] .direction-pad,.app-container.night-mode[data-v-3e365d9b] .preset-btn,.app-container.night-mode[data-v-3e365d9b] .slider-card,.app-container.night-mode[data-v-3e365d9b] .scan-item,.app-container.night-mode[data-v-3e365d9b] .firmware-section,.app-container.night-mode[data-v-3e365d9b] .firmware-info-item,.app-container.night-mode[data-v-3e365d9b] .detail-info-item,.app-container.night-mode[data-v-3e365d9b] .readonly-item{color:#e2e8f0e0!important;background:#0f172ab8!important;border-color:#94a3b82e!important;box-shadow:0 18px 40px #00000059!important}.app-container.night-mode[data-v-3e365d9b] .layout-card,.app-container.night-mode[data-v-3e365d9b] .light-effect-mini-card{background:#0f172ad1!important}.app-container.night-mode[data-v-3e365d9b] h1,.app-container.night-mode[data-v-3e365d9b] h2,.app-container.night-mode[data-v-3e365d9b] h3,.app-container.night-mode[data-v-3e365d9b] h4,.app-container.night-mode[data-v-3e365d9b] .card-title,.app-container.night-mode[data-v-3e365d9b] .scan-panel-title,.app-container.night-mode[data-v-3e365d9b] .layout-header h2,.app-container.night-mode[data-v-3e365d9b] .mini-title,.app-container.night-mode[data-v-3e365d9b] .device-title-block h3,.app-container.night-mode[data-v-3e365d9b] .preset-btn strong,.app-container.night-mode[data-v-3e365d9b] .slider-card-header,.app-container.night-mode[data-v-3e365d9b] .firmware-section h4,.app-container.night-mode[data-v-3e365d9b] .firmware-info-item strong,.app-container.night-mode[data-v-3e365d9b] .detail-value,.app-container.night-mode[data-v-3e365d9b] .readonly-value,.app-container.night-mode[data-v-3e365d9b] .lamp-info strong,.app-container.night-mode[data-v-3e365d9b] .zone-order-row strong{color:#f8fafcf5!important}.app-container.night-mode[data-v-3e365d9b] .env-info,.app-container.night-mode[data-v-3e365d9b] .stat-label,.app-container.night-mode[data-v-3e365d9b] #metaInfo,.app-container.night-mode[data-v-3e365d9b] #scanStatus,.app-container.night-mode[data-v-3e365d9b] .scan-item-info,.app-container.night-mode[data-v-3e365d9b] .field-label,.app-container.night-mode[data-v-3e365d9b] .checkbox-row,.app-container.night-mode[data-v-3e365d9b] .form-row label,.app-container.night-mode[data-v-3e365d9b] .modal-label,.app-container.night-mode[data-v-3e365d9b] .detail-label,.app-container.night-mode[data-v-3e365d9b] .firmware-info-item span,.app-container.night-mode[data-v-3e365d9b] .readonly-label,.app-container.night-mode[data-v-3e365d9b] .mini-label,.app-container.night-mode[data-v-3e365d9b] .lamp-info span,.app-container.night-mode[data-v-3e365d9b] .zone-order-row span,.app-container.night-mode[data-v-3e365d9b] .message-body{color:#e2e8f0e0!important}.app-container.night-mode[data-v-3e365d9b] .stat-item,.app-container.night-mode[data-v-3e365d9b] .meta-item{border-color:#94a3b838!important}.app-container.night-mode[data-v-3e365d9b] .stat-value{color:#f8fafcf5!important}.app-container.night-mode[data-v-3e365d9b] .panel-desc,.app-container.night-mode[data-v-3e365d9b] .last-seen-under-name,.app-container.night-mode[data-v-3e365d9b] .layout-header p,.app-container.night-mode[data-v-3e365d9b] .mini-status,.app-container.night-mode[data-v-3e365d9b] .preset-btn span,.app-container.night-mode[data-v-3e365d9b] .device-meta,.app-container.night-mode[data-v-3e365d9b] .detail-subtitle,.app-container.night-mode[data-v-3e365d9b] .modal-hint,.app-container.night-mode[data-v-3e365d9b] .scan-empty,.app-container.night-mode[data-v-3e365d9b] .empty-block,.app-container.night-mode[data-v-3e365d9b] .field-hint.placeholder{color:#cbd5e1b8!important}.app-container.night-mode[data-v-3e365d9b] input::placeholder,.app-container.night-mode[data-v-3e365d9b] textarea::placeholder,.app-container.night-mode[data-v-3e365d9b] .select-text.placeholder{color:#cbd5e194!important}.app-container.night-mode[data-v-3e365d9b] .scan-empty,.app-container.night-mode[data-v-3e365d9b] .empty-block{background:#0f172a94!important;border-color:#94a3b838!important}.app-container.night-mode[data-v-3e365d9b] .speed-tab,.app-container.night-mode[data-v-3e365d9b] .compact-btn,.app-container.night-mode[data-v-3e365d9b] .shortcut-btn,.app-container.night-mode[data-v-3e365d9b] .btn-light,.app-container.night-mode[data-v-3e365d9b] .reset-layout-btn,.app-container.night-mode[data-v-3e365d9b] .scan-clear-btn,.app-container.night-mode[data-v-3e365d9b] .mini-btn.stop,.app-container.night-mode[data-v-3e365d9b] .btn-ai{color:#e2e8f0e6!important;box-shadow:none!important;background:#1e293bd1!important;border:1px solid #94a3b83d!important}.app-container.night-mode[data-v-3e365d9b] .speed-tab.active,.app-container.night-mode[data-v-3e365d9b] .compact-btn.primary,.app-container.night-mode[data-v-3e365d9b] .btn-ai:not(.active):hover,.app-container.night-mode[data-v-3e365d9b] .reset-layout-btn:hover,.app-container.night-mode[data-v-3e365d9b] .shortcut-btn:hover,.app-container.night-mode[data-v-3e365d9b] .compact-btn:hover{color:#bfdbfe!important;background:#2563eb42!important;border-color:#60a5fa73!important}.app-container.night-mode[data-v-3e365d9b] .dir-btn{color:#93c5fd!important;background:#1e293be0!important;border:1px solid #60a5fa38!important;box-shadow:0 10px 22px #00000047!important}.app-container.night-mode[data-v-3e365d9b] .dir-btn:hover{background:#2563eb47!important}.app-container.night-mode[data-v-3e365d9b] .field-hint:not(.placeholder){color:#fcd34d!important}.app-container.night-mode[data-v-3e365d9b] .smart-status.active{color:#bfdbfe!important;background:#2563eb47!important;border-color:#60a5fa5c!important}.app-container.night-mode[data-v-3e365d9b] .smart-status.success,.app-container.night-mode[data-v-3e365d9b] .status-badge.online{color:#a7f3d0!important;background:#065f4647!important;border-color:#34d39938!important}.app-container.night-mode[data-v-3e365d9b] .smart-status.error,.app-container.night-mode[data-v-3e365d9b] .status-badge.offline,.app-container.night-mode[data-v-3e365d9b] .btn-ai.active{color:#fecaca!important;background:#7f1d1d47!important;border-color:#f8717138!important}.app-container.night-mode[data-v-3e365d9b] .smart-status.warning,.app-container.night-mode[data-v-3e365d9b] .smart-message.warning,.app-container.night-mode[data-v-3e365d9b] .ota-result{color:#fde68a!important;background:#78350f42!important;border-color:#f59e0b3d!important}.app-container.night-mode[data-v-3e365d9b] .status-badge{border:1px solid #94a3b82e}.app-container.night-mode[data-v-3e365d9b] .color-box,.app-container.night-mode[data-v-3e365d9b] .lux-display,.app-container.night-mode[data-v-3e365d9b] .zone-order-row span{border-color:#94a3b838!important;box-shadow:inset 0 0 0 1px #0f172a38!important}.app-container.night-mode[data-v-3e365d9b] .store-stage{background:#020617c7!important;border-color:#94a3b838!important}.app-container.night-mode[data-v-3e365d9b] .store-bg{filter:blur(2px)brightness(.58)saturate(.82)!important}.app-container.night-mode[data-v-3e365d9b] .zone-box{background:#2563eb33!important;border-color:#60a5fab8!important;box-shadow:0 16px 36px #0000005c!important}.app-container.night-mode[data-v-3e365d9b] .zone-name-input,.app-container.night-mode[data-v-3e365d9b] .zone-count,.app-container.night-mode[data-v-3e365d9b] .lamp-node{color:#f8fafcf5!important;background:#0f172ae6!important;border-color:#94a3b84d!important}.app-container.night-mode[data-v-3e365d9b] .lamp-node.active,.app-container.night-mode[data-v-3e365d9b] .lamp-node.selected{border-color:#fbbf24eb!important;box-shadow:0 0 0 5px #fbbf242e,0 18px 44px #00000075!important}.app-container.night-mode[data-v-3e365d9b] .smart-message.success{color:#a7f3d0!important;background:#065f4638!important}.app-container.night-mode[data-v-3e365d9b] .smart-message.error{color:#fecaca!important;background:#7f1d1d38!important}.app-container.night-mode .current-time[data-v-3e365d9b]{color:#f8fafcf5}.app-container.night-mode .weather-status-row[data-v-3e365d9b]{color:#e2e8f0d1}.app-container.night-mode .weather-svg-icon[data-v-3e365d9b]{color:#e2e8f0d9}.app-container.night-mode .weather-svg-icon .sun-core[data-v-3e365d9b],.app-container.night-mode .weather-svg-icon .sun-rays[data-v-3e365d9b],.app-container.night-mode .weather-svg-icon .weather-sun-small[data-v-3e365d9b]{color:#fbbf24;stroke:#fbbf24}.app-container.night-mode .weather-svg-icon .sun-core[data-v-3e365d9b]{fill:#fbbf2433}.app-container.night-mode .weather-svg-icon .cloud-shape[data-v-3e365d9b]{color:#e2e8f0d9;fill:#e2e8f01a}.app-container.night-mode .weather-svg-icon .rain-lines[data-v-3e365d9b]{color:#60a5fa}.app-container.night-mode .weather-svg-icon .snow-marks[data-v-3e365d9b]{color:#bfdbfe}.app-container.night-mode .weather-svg-icon .fog-lines[data-v-3e365d9b]{color:#cbd5e1c7}.app-container.night-mode .weather-svg-icon .thunder-bolt path[data-v-3e365d9b]{color:#fde047;fill:#fde04738}.scan-panel-title[data-v-3e365d9b]{color:#1e293b;margin-bottom:16px;font-size:22px;font-weight:700}.scan-empty[data-v-3e365d9b]{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;justify-content:center;align-items:center;min-height:88px;display:flex}.scan-list[data-v-3e365d9b]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.scan-item[data-v-3e365d9b]{background:linear-gradient(#f8fbff 0%,#eef6ff 100%);border:1px solid #dbeafe;border-radius:16px;flex-direction:column;justify-content:space-between;gap:14px;padding:18px 18px 16px;transition:transform .2s,box-shadow .2s;display:flex}.scan-item-info div[data-v-3e365d9b]:first-child{color:#0f172a;font-size:18px;font-weight:700}.scan-add-btn[data-v-3e365d9b]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;border-radius:999px;align-self:flex-start;padding:10px 18px;font-size:14px;font-weight:600;transition:transform .15s,opacity .15s;box-shadow:0 8px 18px #2563eb38}.scan-add-btn[data-v-3e365d9b]:active{transform:translateY(0)}.scan-add-btn[data-v-3e365d9b]:disabled{cursor:not-allowed;opacity:.6;box-shadow:none}.scan-cancel-btn[data-v-3e365d9b]{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;align-self:flex-start;padding:10px 18px;font-size:14px;font-weight:600;transition:transform .15s,opacity .15s,border-color .15s}.scan-cancel-btn[data-v-3e365d9b]:hover{opacity:.96;border-color:#94a3b8;transform:translateY(-1px)}.scan-panel[data-v-3e365d9b]{-webkit-backdrop-filter:blur(18px)saturate(1.08);background:#ffffffe0;border:1px solid #e2e8f0e6;border-radius:22px;margin:20px 0 24px;padding:20px 22px;position:relative;overflow:hidden;box-shadow:0 12px 40px #0f172a14,inset 0 1px #ffffffb3}.scan-panel.scanning[data-v-3e365d9b]:before{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 0%,#3b82f614 44%,#0000 58%);animation:2.6s ease-in-out infinite scanPanelSweep-3e365d9b;position:absolute;inset:0;transform:translate(-100%)}.scan-panel-header[data-v-3e365d9b]{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.scan-panel-title[data-v-3e365d9b]{color:#1e293b;letter-spacing:-.02em;font-size:22px;font-weight:700}.scan-clear-btn[data-v-3e365d9b]{color:#475569;cursor:pointer;background:#ffffffe0;border:1px solid #cbd5e1f2;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s cubic-bezier(.2,.8,.2,1),opacity .18s cubic-bezier(.2,.8,.2,1)}.scan-clear-btn[data-v-3e365d9b]:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0f172a14}.scan-clear-btn[data-v-3e365d9b]:active{transform:scale(.965)}.scan-progress[data-v-3e365d9b]{margin:-4px 0 14px}.scan-progress-track[data-v-3e365d9b]{background:#cbd5e185;border-radius:999px;height:5px;overflow:hidden}.scan-progress-fill[data-v-3e365d9b]{border-radius:inherit;background:linear-gradient(90deg,#38bdf8,#2563eb);height:100%;transition:width .38s cubic-bezier(.22,1,.36,1);box-shadow:0 0 18px #2563eb61}.scan-empty[data-v-3e365d9b]{color:#64748b;background:#f8fafce6;border:1px dashed #cbd5e1;border-radius:18px;justify-content:center;place-items:center;gap:10px;min-height:92px;display:grid}.scan-radar[data-v-3e365d9b]{background:radial-gradient(circle,#3b82f642 0 4px,#0000 5px),repeating-radial-gradient(circle,#3b82f624 0 1px,#0000 1px 15px);border-radius:50%;width:54px;height:54px;position:relative;box-shadow:inset 0 0 0 1px #2563eb2e}.scan-radar[data-v-3e365d9b]:before,.scan-radar[data-v-3e365d9b]:after{content:"";border:1px solid #2563eb2e;border-radius:50%;position:absolute;inset:8px}.scan-radar[data-v-3e365d9b]:after{inset:18px}.scan-radar-sweep[data-v-3e365d9b]{border-radius:inherit;background:conic-gradient(#2563eb66,#2563eb0a 38%,#0000 39%);animation:1.25s linear infinite scanRadarSweep-3e365d9b;position:absolute;inset:0}.scan-list[data-v-3e365d9b]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid;position:relative}.scan-item[data-v-3e365d9b]{background:linear-gradient(#f8fbfffa 0%,#eef6fffa 100%);border:1px solid #dbeafef2;border-radius:18px;flex-direction:column;justify-content:space-between;gap:14px;padding:18px 18px 16px;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s cubic-bezier(.22,1,.36,1);display:flex;box-shadow:0 8px 24px #3b82f614,inset 0 1px #ffffffb8}.scan-item[data-v-3e365d9b]:hover{transform:translateY(-2px);box-shadow:0 14px 30px #3b82f624,inset 0 1px #ffffffb8}.ios-card-enter-active[data-v-3e365d9b]{transition:opacity .36s cubic-bezier(.22,1,.36,1),transform .36s cubic-bezier(.22,1,.36,1),box-shadow .36s cubic-bezier(.22,1,.36,1)}.ios-card-leave-active[data-v-3e365d9b]{transition:opacity .22s,transform .22s}.ios-card-enter-from[data-v-3e365d9b]{opacity:0;transform:translateY(14px)scale(.96)}.ios-card-leave-to[data-v-3e365d9b]{opacity:0;transform:translateY(8px)scale(.98)}.ios-card-move[data-v-3e365d9b]{transition:transform .28s cubic-bezier(.22,1,.36,1)}@keyframes scanPanelSweep-3e365d9b{0%{transform:translate(-105%)}55%,to{transform:translate(105%)}}@keyframes scanRadarSweep-3e365d9b{to{transform:rotate(360deg)}}.scan-item-info[data-v-3e365d9b]{color:#334155;flex-direction:column;gap:8px;font-size:15px;line-height:1.5;display:flex}.scan-item-info div[data-v-3e365d9b]:first-child{color:#0f172a;letter-spacing:-.02em;font-size:18px;font-weight:700}.scan-item-actions[data-v-3e365d9b]{flex-wrap:wrap;gap:10px;display:flex}.scan-add-btn[data-v-3e365d9b],.scan-cancel-btn[data-v-3e365d9b],#controls>button[data-v-3e365d9b],.btn-confirm[data-v-3e365d9b],.btn-cancel[data-v-3e365d9b]{transform-origin:50%;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s cubic-bezier(.2,.8,.2,1),opacity .18s cubic-bezier(.2,.8,.2,1)}.scan-add-btn[data-v-3e365d9b]:active,.scan-cancel-btn[data-v-3e365d9b]:active,#controls>button[data-v-3e365d9b]:active,.btn-confirm[data-v-3e365d9b]:active,.btn-cancel[data-v-3e365d9b]:active{transform:scale(.965)}.scan-add-btn[data-v-3e365d9b]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;border-radius:999px;align-self:flex-start;padding:10px 18px;font-size:14px;font-weight:700;box-shadow:0 10px 22px #2563eb38}.scan-add-btn[data-v-3e365d9b]:hover{opacity:.97;transform:translateY(-1px)}.scan-cancel-btn[data-v-3e365d9b]{color:#475569;cursor:pointer;background:#ffffffeb;border:1px solid #cbd5e1f2;border-radius:999px;align-self:flex-start;padding:10px 18px;font-size:14px;font-weight:700;box-shadow:0 8px 18px #0f172a0f}.scan-cancel-btn[data-v-3e365d9b]:hover{opacity:.97;transform:translateY(-1px)}.ios-panel-enter-active[data-v-3e365d9b]{will-change:opacity, transform, filter;transition:opacity .42s cubic-bezier(.22,1,.36,1),transform .42s cubic-bezier(.22,1,.36,1),filter .42s cubic-bezier(.22,1,.36,1)}.ios-panel-leave-active[data-v-3e365d9b]{will-change:opacity, transform, filter;transition:opacity .26s cubic-bezier(.4,0,1,1),transform .26s cubic-bezier(.4,0,1,1),filter .26s cubic-bezier(.4,0,1,1)}.ios-panel-enter-from[data-v-3e365d9b]{opacity:0;filter:blur(8px);transform:translateY(18px)scale(.965)}.ios-panel-enter-to[data-v-3e365d9b],.ios-panel-leave-from[data-v-3e365d9b]{opacity:1;filter:blur();transform:translateY(0)scale(1)}.ios-panel-leave-to[data-v-3e365d9b]{opacity:0;filter:blur(6px);transform:translateY(10px)scale(.985)}.text-input[data-v-3e365d9b]{border:1px solid #dcdfe6;border-radius:8px;width:100%;padding:8px 10px}.settings-half-card[data-v-3e365d9b],.settings-full-card[data-v-3e365d9b]{z-index:1;position:relative}.settings-half-card[data-v-3e365d9b]:focus-within,.settings-full-card[data-v-3e365d9b]:focus-within{z-index:50}.main-content[data-v-3e365d9b]{box-sizing:border-box;width:auto;min-width:0;max-width:100%;min-height:100vh;margin-left:228px;padding:24px 24px 48px 0;overflow-x:hidden}.store-layout-row[data-v-3e365d9b]{grid-template-columns:minmax(320px,.75fr) minmax(520px,1.55fr);align-items:stretch;gap:20px;margin:20px 0 28px;display:grid}.store-layout-row[data-v-3e365d9b]>*{min-width:0}.store-effect-mini[data-v-3e365d9b]{width:100%;height:100%}.store-layout-main[data-v-3e365d9b]{min-width:0;height:100%}@media (width<=1360px){.store-layout-row[data-v-3e365d9b]{grid-template-columns:minmax(340px,.95fr) minmax(460px,1.15fr)}}@media (width<=1180px){.store-layout-row[data-v-3e365d9b]{grid-template-columns:1fr}.store-effect-mini[data-v-3e365d9b]{width:100%;position:static}}@media (width<=768px){.main-content[data-v-3e365d9b]{box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin-left:0;padding:12px 18px;overflow-x:hidden}.page-switcher[data-v-3e365d9b]{--page-push-distance:calc(100vh - 90px);--page-switch-height:calc(100vh - 90px);min-height:calc(100vh - 90px)}.tab-page-next-enter-from[data-v-3e365d9b]{transform:translate(100vw)}.tab-page-next-leave-to[data-v-3e365d9b],.tab-page-prev-enter-from[data-v-3e365d9b]{transform:translate(-100vw)}.tab-page-prev-leave-to[data-v-3e365d9b]{transform:translate(100vw)}.dashboard-top-status[data-v-3e365d9b]{margin-bottom:6px}.current-time[data-v-3e365d9b]{font-size:1.4rem}.weather-status-row[data-v-3e365d9b]{gap:6px;margin-top:4px;font-size:12px}.weather-svg-icon[data-v-3e365d9b],.weather-svg-icon svg[data-v-3e365d9b]{width:28px;height:28px}.section-space-top[data-v-3e365d9b]{margin-top:6px}.env-layout[data-v-3e365d9b]{gap:0;margin-bottom:12px}.env-card[data-v-3e365d9b]{flex:100%;min-width:0;padding:12px 14px}.env-card[data-v-3e365d9b]:first-child{border-radius:14px 14px 0 0;padding-bottom:8px}.env-card[data-v-3e365d9b]:last-child{border-top:1px solid #cbd5e180;border-radius:0 0 14px 14px;align-items:center;padding-top:8px;padding-bottom:8px;display:flex}.env-card h4[data-v-3e365d9b]{margin:0 0 8px;font-size:15px}.env-card:last-child h4[data-v-3e365d9b]{display:none}.stat-grid[data-v-3e365d9b]{flex-wrap:nowrap;justify-content:space-between;gap:0}.stat-item[data-v-3e365d9b]{text-align:center;border-right:1px solid #cbd5e185;flex:1 1 0;min-width:0;padding:4px 8px}.stat-item[data-v-3e365d9b]:first-child{padding-left:0}.stat-item[data-v-3e365d9b]:last-child{border-right:none;padding-right:0}.stat-label[data-v-3e365d9b]{margin-bottom:2px;font-size:10px}.stat-value[data-v-3e365d9b]{font-size:13px}.meta-grid[data-v-3e365d9b]{flex:2 2 0;gap:0;margin-bottom:0;display:flex}.meta-item[data-v-3e365d9b]{text-align:center;border-right:1px solid #cbd5e166;flex:1 1 0;padding:4px 8px}.lux-display[data-v-3e365d9b]{text-align:center;background:0 0;border-right:none;border-radius:0;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;min-height:0;margin-top:0;padding:4px 8px;display:flex}.lux-label[data-v-3e365d9b]{font-weight:400;line-height:1.2;display:block}.lux-label-web[data-v-3e365d9b]{display:none}.lux-label-mobile[data-v-3e365d9b]{color:#64748b;white-space:nowrap;font-size:10px;font-weight:400;line-height:1.2;display:block}.lux-odometer-web[data-v-3e365d9b]{display:none}.lux-odometer-mobile[data-v-3e365d9b]{font-size:13px;font-weight:800;line-height:1.25;display:inline-flex}.page-section>h1[data-v-3e365d9b]{z-index:1;margin:0;font-size:26px;position:absolute;top:0;left:0}#controls[data-v-3e365d9b]{border-radius:14px;gap:8px;margin:10px 0 18px;padding:12px 14px}#controls>button[data-v-3e365d9b]{flex-shrink:0;min-height:30px;padding:6px 10px;font-size:11px}#controls label[data-v-3e365d9b]{white-space:nowrap;flex:100%;align-items:center;gap:3px;width:auto;min-width:0;font-size:11px;display:inline-flex}#controls input[data-v-3e365d9b]{flex:1 1 0;width:auto;min-width:60px;height:30px;padding:0 6px;font-size:12px}#scanStatus[data-v-3e365d9b]{width:100%;margin-left:0;font-size:12px}.store-layout-row[data-v-3e365d9b]{gap:10px;margin:10px 0 16px}.scan-panel[data-v-3e365d9b]{border-radius:18px;margin:12px 0 16px;padding:14px 16px}.scan-panel-title[data-v-3e365d9b]{margin-bottom:10px;font-size:18px}.scan-panel-header[data-v-3e365d9b]{margin-bottom:10px}.scan-list[data-v-3e365d9b]{grid-template-columns:1fr;gap:10px}.scan-item[data-v-3e365d9b]{border-radius:14px;gap:10px;padding:12px 14px}.scan-item-info[data-v-3e365d9b]{gap:4px;font-size:13px}.scan-item-info div[data-v-3e365d9b]:first-child{font-size:15px}.scan-add-btn[data-v-3e365d9b],.scan-cancel-btn[data-v-3e365d9b]{padding:8px 14px;font-size:13px}.scan-empty[data-v-3e365d9b]{min-height:64px;font-size:13px}}@media (width<=900px){.settings-row[data-v-3e365d9b]{grid-template-columns:1fr}.settings-half-card[data-v-3e365d9b]{position:relative}.settings-half-card[data-v-3e365d9b]:focus-within{z-index:80}.settings-group-grid[data-v-3e365d9b]{grid-template-columns:1fr;gap:14px}.settings-group-card[data-v-3e365d9b]{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;border-radius:0;margin-top:18px;padding:0}.app-container.night-mode .settings-group-card[data-v-3e365d9b]{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none}.settings-group-title[data-v-3e365d9b]{margin-bottom:14px;padding-bottom:10px;font-size:15px}}.app-container.night-mode[data-v-3e365d9b],.app-container.night-mode .main-content[data-v-3e365d9b],.app-container.night-mode[data-v-3e365d9b] .sidebar,.app-container.night-mode[data-v-3e365d9b] .env-card,.app-container.night-mode[data-v-3e365d9b] .lamp-card,.app-container.night-mode[data-v-3e365d9b] .settings-card,.app-container.night-mode[data-v-3e365d9b] .placeholder-card,.app-container.night-mode[data-v-3e365d9b] .empty-block,.app-container.night-mode[data-v-3e365d9b] .scan-panel,.app-container.night-mode[data-v-3e365d9b] .scan-item,.app-container.night-mode[data-v-3e365d9b] .chart-card,.app-container.night-mode[data-v-3e365d9b] .info-card,.app-container.night-mode[data-v-3e365d9b] #controls,.app-container.night-mode[data-v-3e365d9b] .layout-card,.app-container.night-mode[data-v-3e365d9b] .light-effect-mini-card,.app-container.night-mode[data-v-3e365d9b] .smart-config-section,.app-container.night-mode[data-v-3e365d9b] .smart-card,.app-container.night-mode[data-v-3e365d9b] .direction-pad,.app-container.night-mode[data-v-3e365d9b] .preset-btn,.app-container.night-mode[data-v-3e365d9b] .slider-card,.app-container.night-mode[data-v-3e365d9b] .flow-card,.app-container.night-mode[data-v-3e365d9b] .flow-data-item,.app-container.night-mode[data-v-3e365d9b] .flow-chart-box,.app-container.night-mode[data-v-3e365d9b] .firmware-section,.app-container.night-mode[data-v-3e365d9b] .firmware-info-item,.app-container.night-mode[data-v-3e365d9b] .detail-info-item,.app-container.night-mode[data-v-3e365d9b] .readonly-item{filter:none!important;-webkit-backdrop-filter:none!important}.setup-page[data-v-40880f85]{box-sizing:border-box;background:radial-gradient(circle at 0 0,#4f46e529,#0000 28%),radial-gradient(circle at 100% 100%,#3b82f624,#0000 28%),linear-gradient(135deg,#f5f7fb 0%,#eef2ff 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.setup-shell[data-v-40880f85]{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe0;border:1px solid #ffffffb3;border-radius:28px;grid-template-columns:1.02fr .98fr;width:1180px;min-height:720px;display:grid;overflow:hidden;box-shadow:0 24px 60px #0f172a1f}.setup-side[data-v-40880f85]{color:#fff;background:linear-gradient(#2563ebf2,#4f46e5eb);flex-direction:column;justify-content:space-between;padding:56px 48px;display:flex}.brand-badge[data-v-40880f85]{letter-spacing:1px;background:#ffffff24;border:1px solid #fff3;border-radius:999px;margin-bottom:18px;padding:6px 12px;font-size:12px;display:inline-block}.setup-side h1[data-v-40880f85]{margin:0 0 14px;font-size:34px;line-height:1.25}.side-desc[data-v-40880f85]{color:#ffffffe6;margin:0;font-size:15px;line-height:1.8}.feature-list[data-v-40880f85]{grid-template-columns:1fr 1fr;gap:16px;margin:36px 0;display:grid}.feature-card[data-v-40880f85]{background:#ffffff1f;border:1px solid #ffffff24;border-radius:18px;padding:18px 16px}.feature-card h3[data-v-40880f85]{margin:0 0 8px;font-size:16px}.feature-card p[data-v-40880f85]{color:#ffffffe0;margin:0;font-size:13px;line-height:1.7}.tag-group[data-v-40880f85]{flex-wrap:wrap;gap:10px;display:flex}.tag-group span[data-v-40880f85]{background:#ffffff24;border:1px solid #ffffff2e;border-radius:999px;padding:8px 14px;font-size:13px}.setup-main[data-v-40880f85]{justify-content:center;align-items:center;padding:40px;display:flex}.form-card[data-v-40880f85]{background:#ffffffeb;border-radius:24px;width:100%;max-width:520px;padding:36px 34px;box-shadow:0 16px 40px #0f172a14}.form-header h2[data-v-40880f85]{color:#111827;margin:0 0 8px;font-size:28px}.form-header p[data-v-40880f85]{color:#6b7280;margin:0 0 28px;font-size:14px}.form-grid[data-v-40880f85]{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-item[data-v-40880f85]{margin-bottom:18px}.form-item label[data-v-40880f85]{color:#374151;margin-bottom:8px;font-size:14px;font-weight:600;display:block}.form-item input[data-v-40880f85],.form-item select[data-v-40880f85]{box-sizing:border-box;background:#fff;border:1px solid #dbe3f0;border-radius:14px;outline:none;width:100%;height:46px;padding:0 14px;font-size:14px;transition:all .2s}.form-item input[data-v-40880f85]:focus,.form-item select[data-v-40880f85]:focus{border-color:#4f46e5;box-shadow:0 0 0 4px #4f46e514}.form-item select[data-v-40880f85]:disabled{color:#9ca3af;cursor:not-allowed;background:#f3f4f6}.form-actions[data-v-40880f85]{justify-content:flex-end;gap:12px;margin-top:8px;display:flex}.primary-btn[data-v-40880f85],.secondary-btn[data-v-40880f85]{cursor:pointer;border:none;border-radius:14px;height:46px;padding:0 22px;font-size:14px;font-weight:700}.primary-btn[data-v-40880f85]{color:#fff;background:linear-gradient(135deg,#4f46e5,#2563eb);box-shadow:0 12px 24px #4f46e538}.primary-btn[data-v-40880f85]:disabled{opacity:.7;cursor:not-allowed}.secondary-btn[data-v-40880f85]{color:#4f46e5;background:#eef2ff;border:1px solid #dbe3f0}@media (width<=960px){.setup-shell[data-v-40880f85],.feature-list[data-v-40880f85]{grid-template-columns:1fr}.setup-side[data-v-40880f85]{padding:36px 28px}.setup-main[data-v-40880f85]{padding:24px}.form-grid[data-v-40880f85]{grid-template-columns:1fr;gap:0}.form-actions[data-v-40880f85]{flex-direction:column}.primary-btn[data-v-40880f85],.secondary-btn[data-v-40880f85]{width:100%}}@media (width<=640px){.setup-side[data-v-40880f85]{padding:28px 20px}.brand-badge[data-v-40880f85]{margin-bottom:12px;padding:4px 10px;font-size:10px}.setup-side h1[data-v-40880f85]{font-size:20px}.side-desc[data-v-40880f85]{font-size:11px;line-height:1.4}.feature-list[data-v-40880f85]{gap:10px;margin:20px 0}.feature-card[data-v-40880f85]{padding:14px}.feature-card h3[data-v-40880f85]{font-size:13px}.feature-card p[data-v-40880f85]{font-size:11px}.tag-group[data-v-40880f85]{gap:6px}.tag-group span[data-v-40880f85]{padding:4px 8px;font-size:10px}.setup-main[data-v-40880f85]{padding:16px}.form-card[data-v-40880f85]{padding:24px 20px}.form-header h2[data-v-40880f85]{font-size:20px}.form-header p[data-v-40880f85]{margin-bottom:20px;font-size:12px}.form-item[data-v-40880f85]{margin-bottom:14px}.form-item label[data-v-40880f85]{margin-bottom:4px;font-size:11px}.form-item input[data-v-40880f85],.form-item select[data-v-40880f85]{border-radius:10px;height:40px;padding:0 10px;font-size:13px}.primary-btn[data-v-40880f85],.secondary-btn[data-v-40880f85]{border-radius:10px;height:42px;font-size:13px}}.store-profile-page[data-v-6417b5e1]{box-sizing:border-box;background:radial-gradient(circle at 18% 6%,#ffffffa3,#0000 24%),linear-gradient(135deg,#f7f3eb 0%,#f4f7fb 46%,#eef3f7 100%);min-height:100vh;padding:20px 24px 30px}.store-profile-shell[data-v-6417b5e1]{max-width:940px;margin:0 auto}.page-header[data-v-6417b5e1]{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.page-header h1[data-v-6417b5e1]{color:#111827;letter-spacing:0;margin:0 0 6px;font-size:28px}.page-header p[data-v-6417b5e1]{color:#64748b;margin:0;font-size:13px;line-height:1.55}.profile-card[data-v-6417b5e1]{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(135deg,#ffffffd6,#ffffffa3),#ffffffb3;border:1px solid #e2e8f0bd;border-radius:22px;padding:28px 30px;box-shadow:0 16px 34px #414e601a}.card-section-title[data-v-6417b5e1]{border-bottom:1px solid #cbd5e194;margin-bottom:18px;padding-bottom:16px}.card-section-title h2[data-v-6417b5e1]{color:#0f172a;margin:0 0 6px;font-size:16px;font-weight:800}.card-section-title span[data-v-6417b5e1]{color:#64748b;font-size:13px;line-height:1.45}.form-grid[data-v-6417b5e1]{grid-template-columns:1fr 1fr;gap:18px;display:grid}.single-row[data-v-6417b5e1]{grid-template-columns:1fr}.form-item[data-v-6417b5e1]{margin-bottom:17px}.form-item label[data-v-6417b5e1]{color:#475569;margin-bottom:8px;font-size:13px;font-weight:700;display:block}.form-item input[data-v-6417b5e1]{box-sizing:border-box;color:#0f172a;background:#ffffffe0;border:1px solid #dbe3ee;border-radius:12px;outline:none;width:100%;height:45px;padding:0 14px;font-size:14px;transition:border-color .18s,background .18s,box-shadow .18s}.form-item input[data-v-6417b5e1]:focus{background:#fff;border-color:#7fb4ec;box-shadow:0 0 0 3px #7db3ea24}.form-item input[data-v-6417b5e1]::placeholder{color:#94a3b8}.form-item[data-v-6417b5e1] .base-select{width:100%}.form-item[data-v-6417b5e1] .select-trigger{min-height:45px;box-shadow:none;color:#0f172a;background:#ffffffe0;border-color:#dbe3ee;border-radius:12px}.form-item[data-v-6417b5e1] .select-trigger:hover{border-color:#b7c4d7}.form-item[data-v-6417b5e1] .open .select-trigger{background:#fff;border-color:#7fb4ec;box-shadow:0 0 0 3px #7db3ea24}.form-item[data-v-6417b5e1] .select-dropdown{border-color:#cbd5e1e6;border-radius:14px;max-height:260px;box-shadow:0 16px 32px #0f172a1c}.form-item[data-v-6417b5e1] .select-option{border-radius:9px;min-height:38px}.form-item[data-v-6417b5e1] .select-option.active{color:#1d4ed8;background:#dbeafeeb}.form-helper-note[data-v-6417b5e1]{color:#64748b;margin:-2px 0 14px;font-size:13px;line-height:1.55}.form-actions[data-v-6417b5e1]{border-top:1px solid #cbd5e194;justify-content:flex-end;gap:12px;margin-top:4px;padding-top:18px;display:flex}.btn-primary[data-v-6417b5e1],.btn-secondary[data-v-6417b5e1]{cursor:pointer;box-sizing:border-box;border-radius:12px;height:42px;padding:0 18px;font-size:13px;font-weight:700;transition:background .18s,border-color .18s,color .18s,box-shadow .18s}.btn-primary[data-v-6417b5e1]{color:#fff;background:#2563eb;border:1px solid #2563eb;box-shadow:0 10px 20px #2563eb24}.btn-primary[data-v-6417b5e1]:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.btn-secondary[data-v-6417b5e1]{color:#475569;background:#ffffffa8;border:1px solid #cbd5e1eb}.btn-secondary[data-v-6417b5e1]:hover:not(:disabled){color:#334155;background:#fff;border-color:#94a3b8}.btn-primary[data-v-6417b5e1]:disabled,.btn-secondary[data-v-6417b5e1]:disabled{cursor:not-allowed;opacity:.62;box-shadow:none}.page-header .btn-secondary[data-v-6417b5e1]{border-radius:10px;height:36px;padding:0 14px}.error-text[data-v-6417b5e1]{color:#dc2626;background:#fef2f2b8;border:1px solid #f871712e;border-radius:10px;margin:0 0 12px;padding:9px 11px;font-size:13px}.success-text[data-v-6417b5e1]{color:#15803d;background:#f0fdf4b8;border:1px solid #4ade802e;border-radius:10px;margin:0 0 12px;padding:9px 11px;font-size:13px}@media (width<=768px){.store-profile-page[data-v-6417b5e1]{padding:16px}.store-profile-shell[data-v-6417b5e1]{max-width:100%}.page-header[data-v-6417b5e1]{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:14px}.page-header h1[data-v-6417b5e1]{font-size:22px}.page-header .btn-secondary[data-v-6417b5e1]{width:auto;height:34px}.profile-card[data-v-6417b5e1]{border-radius:18px;padding:18px 20px}.card-section-title[data-v-6417b5e1]{margin-bottom:16px;padding-bottom:12px}.form-grid[data-v-6417b5e1]{grid-template-columns:1fr;gap:0}.form-item[data-v-6417b5e1]{margin-bottom:14px}.form-helper-note[data-v-6417b5e1]{margin-bottom:12px}.form-actions[data-v-6417b5e1]{flex-direction:column-reverse;gap:10px;padding-top:14px}.btn-primary[data-v-6417b5e1],.btn-secondary[data-v-6417b5e1]{width:100%;height:40px}}
