:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#000;color:#f5f5f5;-webkit-text-size-adjust:100%;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;min-width:280px;min-height:100vh;min-height:100dvh}
[hidden]{display:none!important}
button,input,a{-webkit-tap-highlight-color:transparent}
button,input{font:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer}
button:disabled{cursor:default;opacity:.45}
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #fff;outline-offset:5px}
button,a,input{scroll-margin-top:24px}
a{color:inherit}
.page{max-width:1200px;margin:auto;padding:calc(18px + env(safe-area-inset-top)) calc(36px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(36px + env(safe-area-inset-left))}
.skip-link{position:absolute;top:-100px;left:24px;z-index:2;background:#fff;color:#000;padding:14px;border-radius:8px}
.skip-link:focus{top:12px}
.header{display:flex;align-items:center;gap:18px;min-height:64px;border-bottom:1px solid #303030;padding-bottom:16px}
.logo{width:94px;height:47px;fill:#fff;flex:none}
.demo-badge{font-size:10px;letter-spacing:.13em;border:1px solid #626262;border-radius:30px;padding:7px 10px}
.exit-link{margin-left:auto;min-height:44px;display:flex;align-items:center;gap:10px;font-size:14px;text-decoration:none;color:#d6d6d6}
.exit-link:hover{color:#fff;text-decoration:underline}
.eyebrow{font-size:11px;letter-spacing:.14em;color:#bdbdbd;line-height:1.5;margin:0 0 18px;font-weight:600}
h1,h2,h3,h4,p{margin-top:0}
h1{font-size:clamp(32px,4.4vw,54px);font-weight:550;letter-spacing:-.045em;line-height:1.12;margin-bottom:22px}
h2{font-size:23px;font-weight:550;letter-spacing:-.025em;line-height:1.3}
.lead{font-size:18px;color:#bdbdbd;line-height:1.65;max-width:440px;margin-bottom:32px}
.welcome{display:grid;grid-template-columns:1.2fr 1fr;gap:86px;align-items:center;padding:64px 0 56px}
.welcome-copy{max-width:520px}
.preview{max-width:380px;border:1px solid #303030;border-radius:16px;padding:2px 18px 18px;background:#0b0b0b}
.house-plan{display:block;width:100%;max-height:175px;fill:none;stroke:#bdbdbd;stroke-width:2}
.house-plan .plan-wall{stroke:#757575;stroke-width:4}
.house-plan .plan-door,.house-plan .plan-furniture{stroke:#626262;stroke-width:2}
.house-plan .plan-window{stroke:#fff;stroke-width:5}
.house-plan circle{fill:#303030;stroke:#fff;stroke-width:2}
.preview-caption{display:block;font-size:12px;color:#bdbdbd;text-align:center;line-height:1.5}
.activation-card{background:#111;border:1px solid #303030;border-radius:24px;padding:32px}
.activation-card h2{font-size:27px;margin-bottom:12px}
.muted{color:#bdbdbd;font-size:14px;line-height:1.5}
.activation-card>.muted{margin-bottom:28px;font-size:15px}
label,.control-label{display:block;color:#d6d6d6;font-size:14px;line-height:1.5;margin:0 0 10px}
#demoCode{height:56px;width:100%;background:#080808;border:1px solid #757575;color:#fff;border-radius:12px;padding:12px 15px;font-size:18px;letter-spacing:.1em}
#demoCode[aria-invalid="true"]{border:2px solid #fff}
.hint{color:#bdbdbd;font-size:12px;line-height:1.6;margin:12px 0 0}
.hint strong{color:#f5f5f5;font-weight:600;white-space:nowrap}
.error{font-size:13px;font-weight:600;line-height:1.5;min-height:20px;margin:9px 0}
.primary,.secondary{border-radius:12px;font-size:15px;font-weight:600;min-height:48px;padding:12px 18px;border:1px solid #757575}
.primary{background:#f5f5f5;color:#080808;border-color:#f5f5f5;width:100%;display:flex;justify-content:space-between;gap:12px;align-items:center}
.primary:hover{background:#d6d6d6}
.secondary{background:transparent;color:#f5f5f5;white-space:nowrap}
.secondary:hover{background:#202020}
.privacy-note{font-size:12px;line-height:1.65;color:#bdbdbd;margin:20px 0 0}
.dashboard{padding:42px 0 30px}
.title-row{display:flex;align-items:center;justify-content:space-between;gap:24px}
.title-row h1{font-size:clamp(29px,3.4vw,40px);margin-bottom:0}
#houseTitle:focus{outline:none}
.title-row .eyebrow{margin-bottom:12px}
.demo-notice{font-size:13px;color:#d6d6d6;line-height:1.6;border-left:2px solid #757575;padding:4px 0 4px 14px;margin:24px 0 36px}
.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}
.section-heading h2{font-size:19px;margin:0}
.section-heading>.muted{font-size:13px;text-align:right}
.scenes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.scene{display:flex;align-items:center;text-align:left;gap:14px;min-height:94px;border:1px solid #454545;background:#101010;color:#f5f5f5;border-radius:16px;padding:18px}
.scene[aria-pressed="true"]{background:#f5f5f5;border-color:#f5f5f5;color:#080808}
.scene-icon{font-size:29px;line-height:1;flex:none}
.scene strong,.scene small{display:block}
.scene strong{font-size:16px;font-weight:600}
.scene small{font-size:12px;color:#bdbdbd;margin-top:6px;line-height:1.4}
.scene[aria-pressed="true"] small{color:#454545}
.scene-mark{margin-left:auto;font-size:18px;align-self:flex-start}
.rooms-section{margin-top:36px}
.room-picker{display:flex;gap:8px;border-bottom:1px solid #303030;padding-bottom:16px}
.room-picker button{background:transparent;color:#bdbdbd;border:1px solid transparent;min-height:70px;border-radius:12px;padding:12px 18px;text-align:left;flex:1}
.room-picker button[aria-pressed="true"]{background:#1b1b1b;border-color:#757575;color:#fff}
.room-picker strong,.room-picker small{display:block}
.room-picker strong{font-size:15px;font-weight:550}
.room-picker small{font-size:12px;line-height:1.5;margin-top:6px;color:#bdbdbd}
.room-title{font-size:15px;font-weight:500;margin:20px 0 14px;color:#d6d6d6}
.controls-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.control-card{background:#111;border:1px solid #303030;border-radius:18px;padding:24px}
.control-heading{height:36px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.control-kicker{font-size:10px;color:#bdbdbd;letter-spacing:.12em}
.control-symbol{font-size:30px;line-height:1;color:#bdbdbd}
.control-card h4{font-size:15px;font-weight:500;margin-bottom:22px;line-height:1.4}
.value{font-size:48px;font-weight:450;line-height:1;letter-spacing:-.05em;margin-bottom:26px;font-variant-numeric:tabular-nums}
.value span{font-size:23px;letter-spacing:-.03em;margin-left:6px;color:#bdbdbd}
.switch{width:52px;min-width:52px;height:44px;border:0;background:none;padding:8px 0;position:relative}
.switch::before{content:"";display:block;width:52px;height:28px;background:#454545;border-radius:30px;border:1px solid #757575}
.switch span{position:absolute;top:13px;left:5px;width:18px;height:18px;border-radius:50%;background:#f5f5f5}
.switch[aria-checked="true"]::before{background:#f5f5f5;border-color:#f5f5f5}
.switch[aria-checked="true"] span{left:29px;background:#080808}
input[type="range"]{display:block;width:100%;height:44px;margin:0;background:transparent;accent-color:#f5f5f5;cursor:pointer}
.range-ends{display:flex;justify-content:space-between;font-size:11px;color:#bdbdbd;margin:0 0 8px}
.control-note{color:#bdbdbd;font-size:12px;line-height:1.5;min-height:18px;margin:18px 0 0}
.stepper{display:flex;align-items:center;justify-content:space-between;border:1px solid #626262;border-radius:12px;min-height:52px;margin-top:6px}
.stepper button{height:50px;min-width:48px;border:0;color:#fff;background:transparent;border-radius:11px;font-size:25px}
.stepper button:hover:not(:disabled){background:#303030}
.stepper output{font-size:16px;font-variant-numeric:tabular-nums}
.status{font-size:13px;color:#d6d6d6;line-height:1.5;min-height:20px;margin:22px 0 8px}
.footer-note{font-size:12px;color:#bdbdbd;line-height:1.6;margin:0}
.footer{display:flex;justify-content:space-between;gap:18px;border-top:1px solid #303030;padding-top:22px;font-size:10px;letter-spacing:.08em;color:#bdbdbd;line-height:1.5}
@media(max-width:850px){.welcome{gap:36px}.activation-card{padding:26px}.controls-grid{gap:10px}.control-card{padding:18px}.scene{padding:15px;gap:10px}.scene-mark{display:none}}
@media(max-width:650px){.page{padding-left:calc(20px + env(safe-area-inset-left));padding-right:calc(20px + env(safe-area-inset-right))}.header{gap:10px}.logo{width:76px;height:38px}.demo-badge{font-size:8px;padding:6px 8px}.exit-link{font-size:12px;gap:5px}.welcome{grid-template-columns:1fr;gap:28px;padding:36px 0}.welcome h1{font-size:38px}.lead{font-size:16px;margin-bottom:0}.preview{display:none}.activation-card{padding:24px}.activation-card h2{font-size:24px}.dashboard{padding-top:30px}.title-row{align-items:flex-start;flex-wrap:wrap;gap:18px}.title-row h1{font-size:31px}.title-row .secondary{font-size:13px;min-height:44px}.demo-notice{margin:22px 0 28px}.section-heading{gap:10px}.section-heading h2{font-size:17px}.section-heading>.muted{font-size:12px}.scenes{gap:8px}.scene{padding:13px 10px;min-height:102px;display:block}.scene-icon{display:block;margin-bottom:10px;font-size:24px}.scene strong{font-size:14px}.scene small{font-size:10px;margin-top:5px}.rooms-section{margin-top:30px}.room-picker{gap:4px}.room-picker button{padding:10px 8px}.room-picker strong{font-size:13px}.room-picker small{font-size:10px}.controls-grid{grid-template-columns:1fr;gap:12px}.control-card{padding:22px}.control-heading{margin-bottom:8px}.control-card h4{margin-bottom:18px}.value{font-size:46px;margin-bottom:24px}.control-note{margin-top:12px}.footer{flex-direction:column;gap:8px}.room-title{margin-top:18px}}
@media(prefers-reduced-motion:no-preference){button{transition:background-color .15s,border-color .15s}.switch span{transition:left .15s}}
