:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color-scheme:light;--bg:#f5f5f7;--card:#fff;--hero:#f7f3ec;--text:#171a22;--muted:#747986;--line:#e4e5e9;--accent:#d99b35;--power:#25262a;--power-text:#fff;--focus:#b47820}:root[data-theme=dark]{color-scheme:dark;--bg:#141517;--card:#202124;--hero:#2c2b28;--text:#f5f5f7;--muted:#a0a1aa;--line:#36373b;--power:#f8e8c9;--power-text:#191a1c;--focus:#f3c46b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,a,summary{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.45}button,a,summary,input{outline-offset:4px}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--focus)}.shell{max-width:1060px;padding:38px 30px max(24px,env(safe-area-inset-bottom));margin:auto}.app-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none}.brand>svg{color:var(--accent)}.brand strong{font-size:25px;letter-spacing:-1px}.brand-divider{height:18px;width:1px;background:var(--line);margin:0 2px}.brand-label{font-size:14px;color:var(--muted);font-weight:600}.themes{display:flex;align-items:center;border:1px solid var(--line);border-radius:99px;padding:3px;background:color-mix(in srgb,var(--muted) 6%,transparent)}.themes button{min-height:38px;border:0;border-radius:99px;display:flex;gap:7px;align-items:center;justify-content:center;padding:0 12px;background:transparent;color:var(--muted);font-size:12px}.themes button[aria-pressed=true]{background:var(--card);color:var(--text);box-shadow:0 1px 3px #00000012}.themes button:first-child svg{color:var(--accent)}.heading{display:flex;align-items:center;justify-content:space-between;margin:48px 0 22px}.heading h1{font-size:30px;letter-spacing:-.8px;line-height:1.2;margin:0 0 9px;font-weight:650}.heading p{font-size:18px;color:var(--muted);margin:0}.status{display:flex;align-items:flex-end;flex-direction:column;gap:8px}.status-label{display:flex;align-items:center;gap:9px;font-weight:600;font-size:15px}.status-label i{height:9px;width:9px;border-radius:50%;background:#aaa}.status-label.online i{background:#20b75b}.status-label.offline i{background:#a58d65}.sync-time{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.dashboard{display:grid;grid-template-columns:40% 1fr;gap:14px;align-items:start}.card{border:1px solid var(--line);border-radius:16px;background:var(--card)}.hero{min-height:526px;position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;background:var(--hero);overflow:hidden;padding:24px}.lamp-art{width:100%;height:394px;flex:none;margin-top:0}.lamp-glow{transition:opacity .3s}.lamp-art:not(.lit) .lamp-glow{opacity:0}.hero.is-off .lamp-art{opacity:.75}.power{width:100%;height:64px;flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:14px;border:0;border-radius:25px;background:var(--power);color:var(--power-text);font-size:20px;font-weight:600;transition:transform .15s,opacity .15s}.power:not(:disabled):active{transform:scale(.98)}.right-column{display:flex;flex-direction:column;gap:12px;min-width:0}.adjustments{padding:0 22px}.adjustment{padding:22px 0 21px}.adjustment+.adjustment{border-top:1px solid var(--line)}.control-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;font-size:20px;font-weight:600}.control-heading output{font-size:34px;font-weight:600;letter-spacing:-1px;font-variant-numeric:tabular-nums}.control-heading output small{font-size:24px;letter-spacing:-.5px}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;margin:0;display:block;height:44px;cursor:pointer;touch-action:pan-y;background:transparent;border:0;border-radius:12px}input[type=range]:disabled{cursor:default;opacity:.45}input[type=range]::-webkit-slider-runnable-track{height:20px;border-radius:20px;background:linear-gradient(to right,#e1a03a var(--fill),var(--line) var(--fill))}input[type=range]::-moz-range-track{height:20px;border-radius:20px;background:linear-gradient(to right,#e1a03a var(--fill),var(--line) var(--fill))}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;background:#fff;border:1px solid #d6d5cf;box-shadow:0 2px 5px #0000001c;margin-top:-5px}input[type=range]::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:#fff;border:1px solid #d6d5cf;box-shadow:0 2px 5px #0000001c}.temperature input::-webkit-slider-runnable-track{background:linear-gradient(90deg,#f5b24e,#f6dfaa 40%,#d8e6eb 66%,#96caff)}.temperature input::-moz-range-track{background:linear-gradient(90deg,#f5b24e,#f6dfaa 40%,#d8e6eb 66%,#96caff)}.range-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:2px}.scenes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.scene{padding:20px 17px;text-align:left;min-height:104px;transition:border-color .15s,background .15s}.scene.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--card))}.scene-title{display:flex;gap:12px;align-items:center;margin-bottom:13px;white-space:nowrap}.scene-title strong{font-weight:600;font-size:15px}.scene small{white-space:nowrap;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.scene small span{margin:0 4px}.diagnostics summary{list-style:none;display:flex;align-items:center;gap:14px;cursor:pointer;min-height:78px;padding:16px 22px}.diagnostics summary::-webkit-details-marker{display:none}.diagnostics summary>span{flex:1}.diagnostics summary strong{font-size:15px;font-weight:600}.diagnostics summary small{display:block;font-size:12px;color:var(--muted);margin-top:6px}.diagnostics summary small span{margin:0 6px}.diagnostics summary>svg:last-child{color:var(--muted);transition:transform .15s}.diagnostics[open] summary>svg:last-child{transform:rotate(90deg)}.diagnostics dl{border-top:1px solid var(--line);margin:0 22px;padding:8px 0 0;font-size:12px}.diagnostics dl>div{display:flex;gap:18px;justify-content:space-between;margin:12px 0}.diagnostics dt{flex-shrink:0;color:var(--muted)}.diagnostics dd{margin:0;text-align:right;overflow-wrap:anywhere}.text-button{border:0;background:none;display:flex;gap:7px;align-items:center;justify-content:center;color:var(--muted);min-height:44px;margin:0 14px 8px;padding:0 8px;font-size:12px}.feedback{font-size:12px;text-align:center;min-height:20px;color:var(--muted);margin:20px 0 12px}.feedback.warning{color:var(--focus)}footer{display:flex;justify-content:center;align-items:center;gap:14px;color:var(--muted);font-size:11px;min-height:32px}footer span span{margin:0 5px}footer button{border:0;background:transparent;font-size:11px;min-height:44px;color:var(--muted)}.login{max-width:440px;margin:90px auto 30px;padding:32px}.eyebrow{font-size:12px;color:var(--focus)}.login h1{font-size:26px;margin:12px 0}.login p{font-size:14px;color:var(--muted);line-height:1.7}.login form label{display:block;font-size:13px;margin:24px 0 8px}.password-field{display:flex;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.password-field input{width:100%;min-width:0;border:0;background:transparent;padding:12px;color:var(--text)}.password-field button{width:48px;min-width:48px;border:0;background:transparent;display:grid;place-items:center}.login-submit{margin-top:18px;min-height:48px;width:100%;border-radius:12px;border:0;background:var(--power);color:var(--power-text);font-weight:600}.login .login-error{color:var(--focus);font-size:13px}@media(min-width:1200px){.shell{padding-top:42px}.heading{margin-top:52px}}@media(max-width:680px){.shell{padding:24px 20px max(20px,env(safe-area-inset-bottom));max-width:460px}.app-header{gap:8px}.brand{gap:7px}.brand strong{font-size:22px}.brand svg{width:25px}.brand-divider,.brand-label{display:none}.themes{padding:0;border:0;background:none;gap:4px}.themes button{min-width:38px;height:44px;padding:0 9px}.themes button span{display:none}.heading{margin:28px 0 18px}.heading h1{font-size:26px;margin-bottom:7px}.heading p{font-size:15px}.status{gap:7px}.status-label{font-size:13px;gap:7px}.sync-time{font-size:10px}.dashboard{display:flex;flex-direction:column;gap:12px}.hero{width:100%;min-height:180px;height:180px;padding:16px;flex-direction:row;align-items:center;justify-content:space-between;border-radius:15px}.lamp-art{width:52%;height:173px;margin-left:-8px}.power{width:47%;height:52px;font-size:16px;gap:8px;border-radius:23px}.power svg{width:23px}.right-column{width:100%;gap:12px}.adjustments{padding:0 16px}.adjustment{padding:14px 0 10px}.control-heading{font-size:16px;margin-bottom:4px}.control-heading output{font-size:28px}.control-heading output small{font-size:20px}input[type=range]::-webkit-slider-runnable-track{height:16px}input[type=range]::-moz-range-track{height:16px}input[type=range]::-webkit-slider-thumb{width:28px;height:28px;margin-top:-6px}.range-labels{font-size:10px;margin:0 0 5px}.scene{padding:15px 11px;min-height:88px;border-radius:14px}.scene-title{gap:7px;margin-bottom:10px}.scene-title strong{font-size:14px}.scene-title svg{width:19px;height:19px}.scene small{font-size:10px}.scene small span{margin:0 1px}.diagnostics summary{min-height:68px;padding:13px 16px}.diagnostics summary strong{font-size:14px}.diagnostics summary small{font-size:11px;margin-top:4px}.feedback{margin:14px 0 6px;font-size:11px;line-height:1.6}.login{margin:50px auto 20px;padding:24px}footer{font-size:10px}}.themes button{min-height:44px;min-width:44px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
