.debug-event-log[data-v-4322063d]{position:fixed;top:60px;left:10px;width:320px;max-height:60vh;overflow:hidden;background:rgba(0,0,0,.82);color:#fff;border-radius:6px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.4;z-index:99999;box-shadow:0 2px 10px rgba(0,0,0,.3);pointer-events:none}.debug-event-title[data-v-4322063d]{font-size:10px;letter-spacing:.08em;opacity:.6;margin-bottom:6px;border-bottom:1px solid hsla(0,0%,100%,.15);padding-bottom:4px}.debug-event-list[data-v-4322063d]{display:flex;flex-direction:column;gap:2px}.debug-event-row[data-v-4322063d]{display:flex;gap:6px;align-items:baseline;white-space:nowrap;overflow:hidden;border-left:3px solid transparent;padding-left:6px}.evt-time[data-v-4322063d]{opacity:.5;font-size:10px;flex:0 0 auto}.evt-msg[data-v-4322063d]{font-weight:600;flex:0 0 auto}.evt-detail[data-v-4322063d]{opacity:.7;overflow:hidden;text-overflow:ellipsis}.evt-info[data-v-4322063d]{border-left-color:#4fc3f7}.evt-warn[data-v-4322063d]{border-left-color:#ffb74d;color:#ffd9a0}.evt-error[data-v-4322063d]{border-left-color:#ef5350;color:#ffb3b0}.evt-mqtt[data-v-4322063d]{border-left-color:#69f0ae;color:#b9ffd9;background:rgba(105,240,174,.12)}.evt-mqtt-error[data-v-4322063d]{border-left-color:#ff7043;color:#ffc4af;background:rgba(255,112,67,.14)}.debug-event-empty[data-v-4322063d]{opacity:.4;font-style:italic}.evt-enter-active[data-v-4322063d]{transition:all .25s ease}.evt-enter-from[data-v-4322063d]{opacity:0;transform:translateY(-6px)}.ui-element--embed-hover[data-v-8e4847d0]{outline:2px solid rgba(245,158,11,.8)!important;outline-offset:-2px;box-shadow:0 0 0 4px rgba(245,158,11,.2)!important;position:relative}.dialog[data-v-9a8b1f64]{position:absolute;left:0;top:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.75);z-index:4}.debug-badge[data-v-7e42f11c]{right:10px;background:#ff9800;padding:8px 16px;font-size:14px;font-weight:700}.debug-badge[data-v-7e42f11c],.debug-idle-counter[data-v-7e42f11c]{position:fixed;top:10px;color:#fff;border-radius:4px;z-index:99999;box-shadow:0 2px 8px rgba(0,0,0,.2)}.debug-idle-counter[data-v-7e42f11c]{left:10px;display:flex;align-items:center;gap:8px;background:rgba(0,0,0,.75);padding:6px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.debug-idle-label[data-v-7e42f11c]{font-size:11px;letter-spacing:.05em;opacity:.7}.debug-idle-value[data-v-7e42f11c]{font-weight:700;font-variant-numeric:tabular-nums}.theme-loading-overlay[data-v-7e42f11c]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#fff;z-index:9999;display:flex;align-items:center;justify-content:center}.loading-spinner[data-v-7e42f11c]{position:relative;width:80px;height:80px}.spinner-ring[data-v-7e42f11c]{position:absolute;width:64px;height:64px;margin:8px;border:6px solid;border-radius:50%;animation:spinner-ring-7e42f11c 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:#e0e0e0 transparent transparent transparent}.spinner-ring[data-v-7e42f11c]:first-child{animation-delay:-.45s;border-top-color:var(--palette-primary,#2196f3);opacity:1}.spinner-ring[data-v-7e42f11c]:nth-child(2){animation-delay:-.3s;border-top-color:var(--palette-primary,#1976d2);opacity:.7}.spinner-ring[data-v-7e42f11c]:nth-child(3){animation-delay:-.15s;border-top-color:var(--palette-primary,#0d47a1);opacity:.5}@keyframes spinner-ring-7e42f11c{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fade-enter-active[data-v-7e42f11c],.fade-leave-active[data-v-7e42f11c]{transition:opacity .2s ease}.fade-enter-from[data-v-7e42f11c],.fade-leave-to[data-v-7e42f11c]{opacity:0}body{background:#fdfdfd}@font-face{font-family:GT America;src:url(/fonts/GT-America-Standard-Regular.014f281c.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:GT America;src:url(/fonts/GT-America-Standard-Medium.e0dcf703.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:GT America;src:url(/fonts/GT-America-Standard-Bold.cfd99ffc.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Gill Sans;src:url(/fonts/Gill-Sans-MT.ac5bc728.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Gill Sans;src:url(/fonts/Gill-Sans-MT-Bold.a269531b.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Dazzed;src:url(/fonts/Dazzed-TRIAL-Regular.b3b58cd6.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Dazzed;src:url(/fonts/Dazzed-TRIAL-Medium.ea4e3e1c.otf) format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Dazzed;src:url(/fonts/Dazzed-TRIAL-SemiBold.0cb330ba.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Dazzed;src:url(/fonts/Dazzed-TRIAL-Bold.18adef0e.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Neue Haas Grotesk Display Pro;src:url(/fonts/NHaasGroteskDSPro-75Bd.8569328f.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Neue Haas Grotesk Display Pro;src:url(/fonts/NHaasGroteskDSPro-65Md.b98aadc0.otf) format("opentype");font-weight:500;font-style:normal;font-display:swap}*{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}button{display:flex;justify-content:center;align-items:center;border:none;outline:none;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,0)}.wrapper,button{position:relative}.wrapper{width:clamp(910px,100vw,1080px);aspect-ratio:9/16;max-height:1920px;margin:0 auto;background-color:#fff;box-sizing:border-box;overflow-x:hidden}.page{height:100%}.slide-backward-enter-active,.slide-backward-leave-active,.slide-forward-enter-active,.slide-forward-leave-active{transition:transform .3s ease-in-out;position:absolute;width:100%;top:0;left:0}.slide-forward-enter-from{transform:translateX(100%)}.slide-backward-enter-from,.slide-forward-leave-to{transform:translateX(-100%)}.slide-backward-leave-to{transform:translateX(100%)}.slide-backward-enter-to,.slide-backward-leave-from,.slide-forward-enter-to,.slide-forward-leave-from{transform:translateX(0)}