/* SHAIN — quiet glass, phosphor green, deliberate motion. */
:root{--bg:#06110d;--panel:#0b2017;--line:#234436;--ink:#e0f3e7;--muted:#92ae9c;--cyan:#83f2af;--pink:#afd88d;--room-accent:#83f2af;font-family:'Segoe UI Variable','Segoe UI',sans-serif}
html{scroll-behavior:smooth;scrollbar-color:#315b43 #08170f}body{background:radial-gradient(ellipse at 10% 0,#19493055,transparent 45%),radial-gradient(ellipse at 90% 60%,#17391d28,transparent 45%),var(--bg);-webkit-font-smoothing:antialiased}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,.button,summary{transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease}button:hover{border-color:#6cbd8e!important}button:active{transform:scale(.98)}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline-color:var(--room-accent)}
.topbar{height:80px;background:#07170fd9;backdrop-filter:blur(22px);border-color:#203e30;padding-inline:3.3%;position:relative;z-index:12}.brand{letter-spacing:4px;font-size:25px;font-weight:600;gap:13px}.brand small{letter-spacing:1.5px;font-size:7px;color:#98b29d;font-weight:400}.brand-mark{border:1px solid #73dc9e;width:42px;height:42px;box-shadow:0 0 25px #6ce79818,inset 0 0 15px #6ce7980c}.brand-mark:after{border-color:#68aa80;inset:5px}.brand-mark span{border:0;transform:none;width:24px;height:24px;background:url('/shain.svg') center/31px no-repeat;box-shadow:none}.nav-middle{color:#93af9a}.nav-current{font-size:9px;letter-spacing:1.6px}.local-badge{color:#a3d7b5}.status-dot,.model-live-dot{box-shadow:0 0 12px #83f2af66}.nav-actions{gap:21px}.nav-button{border-radius:30px;background:#122b1e;border-color:#385c44;min-height:39px;padding-inline:17px}.button{border-radius:11px;min-height:42px}.primary-button{background:#b7f4ca;color:#10271a;border-color:#b7f4ca;box-shadow:0 4px 18px #67c4860b;font-weight:650}.primary-button:hover{background:#c9fbd7;color:#10271a}.secondary-button{background:#10271c;border-color:#31533e;color:#c3dbc9}.text-button{color:#ace2bc}.page{padding-top:31px}.page-heading{margin-bottom:28px}.page-heading h1{font-weight:350;font-size:clamp(32px,3vw,48px);letter-spacing:-1.8px;line-height:1.12}.page-heading h1 span{color:#b9efc9}.eyebrow{color:#91b59c;font-size:8px;letter-spacing:2px}.heading-copy{color:#9bb3a2;font-size:12px}.overview-note{clip-path:none;border-radius:18px;background:linear-gradient(120deg,#173325a6,#0c2118a6);border-color:#294e38;min-width:255px;padding:20px}.overview-note strong{font-size:13px;color:#dfefe2}.overview-note div>span{color:#99ae9e;line-height:1.7}.overview-icon{border-color:#508c65}.overview-icon:after{border-color:#82c29b}.reactor-core{background:#c9fbd7;box-shadow:0 0 17px #7cf0a88c,0 0 30px #7cf0a822}
.deck-nav{gap:5px;border:1px solid #294535;background:#0b1e14;padding:5px;border-radius:16px;width:fit-content;margin-bottom:29px;max-width:100%}.deck-nav button{border:1px solid transparent;border-radius:11px;background:transparent;min-height:41px;padding:10px 25px;color:#9ab6a2;font:12px 'Segoe UI',sans-serif;letter-spacing:0}.deck-nav button.active{background:#204630;color:#d1f6dd;border-color:#416c4f;box-shadow:0 3px 12px #0002}.section-bar h2{font-size:14px;font-weight:450;letter-spacing:0}.section-index{color:#73947d}.small-tag{color:#96b39e;letter-spacing:1px}.workspace{grid-template-columns:minmax(0,1fr) 370px;gap:25px}.room-tabs{gap:7px;padding-bottom:12px;scrollbar-width:none}.room-tab{background:#0c2116;border-radius:13px;border-color:#294333;color:#a0b8a7;min-height:44px;padding:10px 14px;transition:all .2s ease}.room-tab small{color:#759882}.room-tab.active{border-color:#79c191;background:#214c32;color:#dcf8e5;box-shadow:none}.room-tab.active small{color:#c4f6d0}.room-count{background:#ffffff0c;border-radius:6px;padding:3px 5px;color:#b6d3bf}.model-card{border-radius:22px;border-color:#375340;height:590px;background:radial-gradient(ellipse at 50% 40%,#173e2a,#0c2118 60%,#06100b);box-shadow:0 22px 70px #0003,inset 0 0 60px #74e59b05}.model-card:before,.model-card:after{display:none}.model-label,.model-coordinates,.compass,.model-footer{color:#9fbea8}.model-caption{top:25px;left:25px}.model-view-name{font-weight:350;letter-spacing:-.4px}.spatial-label{border-radius:6px;backdrop-filter:blur(10px)}.device-pin{border-color:#91c997;background:#10251be6;color:#d5ebd4;box-shadow:0 0 14px #6deb9609}.device-pin .pin-dot{background:#95dba9;box-shadow:0 0 8px #92edb166}.model-toolbar .icon-button{border-radius:11px;background:#142e23d9;border-color:#52775d}.model-footer{font-size:7px}.city-haze{opacity:.6}.under-model{color:#87a491;font-size:9px}.reference-label{color:#afc9b9}.mapping-guide{border-radius:15px;background:#0b2016;border-color:#284331;padding:18px;margin-top:16px}.mapping-guide h3{font-size:13px;font-weight:500}.mapping-guide p{color:#8ba695;font-size:10px;line-height:1.8}.guide-index{color:#89ae95}.device-filter-line{margin-bottom:14px}.device-card{border-radius:19px;background:linear-gradient(140deg,#132c20de,#0d2017e8);border:1px solid #2f4a39;box-shadow:0 8px 28px #00000012;padding:21px;margin-bottom:14px;overflow:hidden;animation:shain-arrive .35s ease both}.device-card:before{background:#8edbaa;opacity:.65;left:0;top:25px;bottom:25px;width:2px}.device-card.selected{border-color:#9cdeae;box-shadow:0 0 0 3px #9cdeae12}.device-symbol{border-radius:12px;background:#1d3b28;border-color:#3d6148;color:#b5e9c3}.device-info h3{font-size:14px;font-weight:500}.device-subtitle{color:#92ae9b}.state-line{color:#bbd6c4;font-size:11px}.connection-dot.online{background:#8de4ad}.power-buttons{gap:7px;margin-top:17px}.power-button{background:#0c2015;border-color:#355a40;border-radius:10px;min-height:42px;color:#a4c1ad;font-size:11px}.power-button.active{background:#264e33;color:#d5f9df;border-color:#6a9c78;box-shadow:none}.device-details{border-color:#2b4735}.device-details summary{color:#b9d8c4;font-weight:500;min-height:38px;padding-block:9px}.control-row input,.control-row select,input,select{border-color:#355540;border-radius:10px;background:#0b1e14;color:#d0e9d9}.control-field label{color:#9cbaa6}.control-label{color:#97b7a2}.control-row input[type=range]{accent-color:#9feaaf;border:0;min-height:40px}.control-row .button{min-width:59px}.color-palette{gap:9px}.color-swatch{height:34px;border-radius:50%;border:3px solid #ffffff18;box-shadow:inset 0 0 0 1px #0001}.color-swatch:hover{transform:scale(1.12);border-color:#e0f5e4!important}.white-presets .button{border-radius:9px;font-size:10px}.device-location-actions{gap:7px}.device-location-actions .button{font-size:9px;min-height:35px;border-radius:9px;padding:7px}.location-status{color:#789881;font-size:8px}.location-status.placed{color:#91bfa1}.setup-note{border-radius:13px;background:#0b2016;border-color:#2b4935}.setup-note strong{color:#b2ccb9}.setup-note p{color:#89a591}.last-scan{color:#7f9f8b}.count-badge{border-color:#35573f;background:#193926;color:#b4d7bd}.icon-button{border-radius:10px}.page-footer{border-color:#253e2e;color:#86a490}.footer-wordmark{letter-spacing:2px}.console-box{border-radius:20px;background:linear-gradient(130deg,#132e20,#0b2016);border-color:#33523c}.feature-heading h2{font-weight:350;letter-spacing:-1px;font-size:35px}.feature-heading p:not(.eyebrow),.quiet-copy{color:#a0b8a7}.console-box h3{color:#d4ebdc;font-weight:500}.console-title>span{color:#a4c5ad}.remote-pad{grid-template-columns:60px 60px 60px;grid-template-rows:52px 52px 52px;gap:6px}.remote-key{border-radius:15px;background:#173724;border-color:#41694d;color:#c2edce;transition:all .18s}.remote-select{border-radius:50%;background:#b4edc4;color:#193321;border-color:#d2f7dc}.remote-transport .button{border-radius:12px;min-height:42px}.media-device .device-symbol{background:#203e2a;border-color:#4b7155;color:#c5e4ca}.media-device:before{background:#a8e5b3}.scene-card{border-radius:17px;border-color:#38583f;background:radial-gradient(ellipse at 95% 0,#59885620,transparent 70%),#10291a;padding:21px 18px;gap:12px;min-height:184px}.scene-card:hover{background-color:#1d3b28}.scene-card strong{color:#d4efde;font-size:14px}.scene-card>span:not(.scene-glyph),.scene-card>small{color:#aac5b1}.scene-glyph{border-radius:12px;background:#22472e;border-color:#5a8663;color:#bbebc9;font-size:20px}.source-options label{color:#bbd7c5}.source-options input{accent-color:#9de6b5}.agent-console textarea{background:#0b1e14;border-color:#3b5e46;color:#d9f2e0;border-radius:12px;font-size:14px}.agent-console textarea:focus{outline-color:#88d69d}.agent-user{border-radius:13px;background:#1e402a;border-color:#527b59}.agent-answer{font-size:14px;color:#c0dac8}.agent-greeting{font-size:18px;color:#cbe7d4}.agent-orb{border-color:#5a9470;box-shadow:0 0 100px #70f09c10,inset 0 0 50px #70f09c0d;background:radial-gradient(circle,#a2e8b51a,transparent 60%)}.agent-orb:before{border-color:#86be9999}.agent-orb:after{border-color:#b2ebc260}.agent-orb>div{border-color:#bbefcb;background:radial-gradient(circle,#dcf7e66b,#6bc08a25 50%,transparent 65%);box-shadow:0 0 30px #70f09c35}.agent-orb>span{color:#d2f5df;text-shadow:0 0 14px #7deea3}.modal,.login-card{border-radius:24px;border-color:#446b4d;background:#0c2116;box-shadow:0 30px 120px #0007}.modal::backdrop{background:#010905bb;backdrop-filter:blur(12px)}.modal-copy,.modal-hint,.login-card p{color:#a6bdae}.modal input,.modal select{border-radius:11px}.toast{border-radius:13px;background:#163423f2;border-color:#71a881;color:#d1efdd;backdrop-filter:blur(15px);box-shadow:0 10px 35px #0004}.loader{border-color:#314f3b;border-top-color:#adf1c2}
/* Each space has its own scene language, artwork and relevant first actions. */
.room-console{border:1px solid #3a5c43;border-radius:19px;background:radial-gradient(ellipse at 95% 0,#80c58815,transparent 75%),#10251a;padding:21px;margin-bottom:16px;position:relative;overflow:hidden}.room-console .room-art{position:absolute;width:106px;height:80px;right:-6px;top:5px;opacity:.15}.room-console h2{font-size:21px;font-weight:350;max-width:230px;letter-spacing:-.6px;line-height:1.2}.room-console .room-hero-copy>p{max-width:240px;font-size:10px;line-height:1.8;color:#a6bda9}.room-console .room-mode-label{color:var(--room-accent);font:7px var(--mono);letter-spacing:1.5px;display:block;margin-bottom:11px}.room-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.room-console .room-quick-actions{margin-top:17px}.room-action{border:1px solid color-mix(in srgb,var(--room-accent) 40%,#16261a);background:color-mix(in srgb,var(--room-accent) 12%,#0e2116);color:#d9f0df;border-radius:12px;font:11px 'Segoe UI',sans-serif;min-height:45px;padding:9px 12px}.room-action:hover{background:color-mix(in srgb,var(--room-accent) 20%,#0e2116)}.room-action.subtle{background:#0b1e14;color:#b2cbb9;border-color:#34503b}.room-action:disabled{opacity:.42}.room-stats{display:flex;gap:15px;margin-top:14px;flex-wrap:wrap;font:9px var(--mono);color:#acc5b3}.room-stats span{display:flex;gap:6px;align-items:center}.room-stats span:before{content:'';height:4px;width:4px;border-radius:50%;background:var(--room-accent)}.room-art{width:170px;flex:none;color:var(--room-accent);filter:drop-shadow(0 0 18px color-mix(in srgb,var(--room-accent) 20%,transparent))}.room-art path{fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.room-hero{border-radius:21px;background:radial-gradient(ellipse at 100% 50%,color-mix(in srgb,var(--room-accent) 11%,transparent),transparent 70%),#10271b;border-color:color-mix(in srgb,var(--room-accent) 28%,#15271b);margin:21px 0 14px;padding:25px 29px;justify-content:space-between;gap:20px;min-height:160px}.room-hero:after{background-image:linear-gradient(#8cbd8d06 1px,transparent 1px),linear-gradient(90deg,#8cbd8d06 1px,transparent 1px);background-size:26px 26px}.room-hero-copy{position:relative;z-index:1;min-width:0}.room-hero .room-mode-label{font:8px var(--mono);letter-spacing:1.5px;color:var(--room-accent)}.room-hero h2{font-size:30px;font-weight:350;line-height:1.14;letter-spacing:-.9px;max-width:300px;margin-top:13px}.room-hero p{color:#a6bca9;font-size:11px;line-height:1.7;margin-top:10px;max-width:310px}.room-hero .room-stats{margin-top:18px;gap:17px}.room-hero .room-stats span{font:9px var(--mono);color:#c2d6c7}.room-client{background:none}.room-client-top{margin-bottom:23px}.room-client-top .eyebrow{font-size:8px}.room-title-row .eyebrow{letter-spacing:1.1px;font-size:7px;margin-bottom:8px;color:#9cbea6}.room-title-row h1{font-weight:350;letter-spacing:-1px;font-size:34px}.room-title-row>.button{border-radius:30px;padding-inline:16px;min-height:38px;font-size:10px}.room-quick-actions{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.room-section-nav{gap:4px;border:1px solid #34533d;background:#0b1d13;padding:5px;border-radius:14px;margin-bottom:18px}.room-section-nav button{min-height:41px;border:0;border-radius:10px;color:#9fbea9;background:transparent;font-size:12px}.room-section-nav button.active{background:#284d32;color:#e0f4e5;box-shadow:none}.quick-command{border:1px solid #32523b;background:#0c2116;border-radius:14px;padding:14px 17px;margin-bottom:15px}.quick-command>span{color:#a1baa9;font-size:7px;letter-spacing:1.5px}.quick-command input{background:#091c12;min-height:42px;font-size:14px}.quick-command>div{margin-top:8px}.quick-command .button{border-radius:10px}.room-grid{gap:16px;margin:30px 0 25px}.room-tile{border-radius:22px;border-color:#36523f;background:radial-gradient(ellipse at 100% 0,#65ad6f1b,transparent 75%),#0f271a;min-height:205px;padding:24px;transition:transform .25s ease,border-color .25s ease,background .25s ease}.room-tile:hover{transform:translateY(-3px);background-color:#193523}.room-tile[data-room-id=bedroom]{background:radial-gradient(ellipse at 90% 15%,#a6b46b20,transparent 65%),#182a1b}.room-tile[data-room-id=kitchen]{background:radial-gradient(ellipse at 90% 15%,#9bc45f25,transparent 65%),#13291a}.room-tile[data-room-id=bathroom]{background:radial-gradient(ellipse at 90% 15%,#6ab49e20,transparent 65%),#10281d}.room-tile strong{font-size:20px;color:#dfefe1;font-weight:400}.room-tile small{color:#b4cdbb;font:10px 'Segoe UI',sans-serif}.tile-number{font-size:8px;letter-spacing:1.5px;color:#8bac94}.tile-room-icon{font-size:33px;color:#bbefc9;margin-block:21px;text-shadow:none}.tile-arrow{color:#acd2b6;width:30px;height:30px;border:1px solid #43674c;border-radius:50%;display:grid;place-items:center;font-size:17px;right:22px;bottom:21px}.room-client #room-kodi{margin-top:16px}.room-client .device-list{gap:14px}.room-client .device-card{margin-bottom:0}.room-client-footer{color:#a2bdaa;border-color:#294631;font-size:7px}.room-client-footer span{color:#95ad9c}.room-client .scene-grid{gap:12px}.room-client .scene-card{min-height:170px}.room-client .device-info h3{font-size:15px}.room-client .power-button{min-height:46px}.room-client .device-details summary{font-size:13px}.room-client .white-presets .button{min-height:40px}.room-client .control-row input{min-width:0}.room-client .control-row input[type=color]{min-width:52px}.room-client .control-row input[type=number]{width:0;flex:1}.room-client .control-row select{min-width:0;flex:1}.room-client .device-info{min-width:0}.room-client .device-info h3{overflow-wrap:anywhere}
@keyframes shain-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.workspace{grid-template-columns:minmax(0,1fr) 390px}.model-card{height:650px}}
@media(max-width:1100px){.workspace{grid-template-columns:minmax(0,1fr)}.devices-column>.device-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;gap:15px}.devices-column>.device-list>.device-card{margin-bottom:0}.room-console{margin-bottom:20px}.room-console .room-quick-actions{max-width:550px;grid-template-columns:repeat(4,minmax(0,1fr))}.room-console .room-art{width:160px;right:30px;top:18px;opacity:.3}.model-card{height:570px}}
/* The room controller occupies the device viewport. Its content panes scroll. */
.room-mode{height:100dvh;min-height:0;overflow:hidden;overscroll-behavior:none}.room-mode .topbar{height:70px;padding-top:env(safe-area-inset-top);padding-inline:max(22px,env(safe-area-inset-left));box-sizing:content-box}.room-mode .brand{font-size:21px}.room-mode .brand small{font-size:6px}.room-mode .brand-mark{height:35px;width:35px}.room-mode .room-client{height:calc(100dvh - 70px - env(safe-area-inset-top));min-height:0;max-width:1200px;padding:23px 27px 0;display:flex;flex-direction:column;overflow:hidden}.room-mode .room-client-top{flex:none;margin-bottom:17px}.room-mode #room-picker{flex:1;min-height:0;overflow:auto;padding-bottom:calc(25px + env(safe-area-inset-bottom));overscroll-behavior:contain}.room-mode #room-controls{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.room-mode .room-title-row,.room-mode .room-hero,.room-mode .room-quick-actions,.room-mode .room-section-nav{flex:none}.room-mode #room-devices-section,.room-mode #room-scenes-section,.room-mode #room-shortcuts-section{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#426749 transparent;padding:0 3px calc(20px + env(safe-area-inset-bottom)) 0}.room-mode .room-client-footer{margin:0;padding:12px 0 calc(12px + env(safe-area-inset-bottom));flex:none;justify-content:center;font-size:7px}.room-mode .room-client-footer span{display:none}.room-mode:not(.choosing-room) .room-client-top{display:none}.room-mode .room-hero{min-height:150px;padding:22px 25px;margin-top:17px}.room-mode .room-hero h2{font-size:27px}.room-mode .room-quick-actions{margin-bottom:15px;gap:8px}.room-mode .room-action{font-size:11px;min-height:43px;padding:8px}.room-mode .room-section-nav{order:10;margin:10px 0 0;box-shadow:0 -15px 25px #06110dc9}.room-mode .scene-grid{margin-bottom:18px}
@media(min-width:760px) and (min-height:650px){.room-mode #room-controls{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);grid-template-rows:auto auto auto 1fr auto;gap:0 24px}.room-mode .room-title-row{grid-column:1/-1;margin-bottom:10px}.room-mode .room-hero{grid-column:1;grid-row:2;margin:0 0 15px;min-height:230px;align-items:flex-start;flex-direction:column;gap:8px}.room-mode .room-hero h2{font-size:29px}.room-mode .room-art{width:140px;height:97px;align-self:flex-end;margin-top:-2px;opacity:.75}.room-mode .room-quick-actions{grid-column:1;grid-row:3;grid-template-columns:1fr 1fr;align-self:start}.room-mode .room-section-nav{grid-column:2;grid-row:1;align-self:end;margin:0 0 10px;max-width:270px;justify-self:end;box-shadow:none;width:100%}.room-mode #room-devices-section,.room-mode #room-scenes-section,.room-mode #room-shortcuts-section{grid-column:2;grid-row:2/6}.room-mode .room-client .device-list{grid-template-columns:minmax(0,1fr)}.room-mode .room-client-footer{padding:15px 0 calc(15px + env(safe-area-inset-bottom))}.room-mode .room-stats{gap:12px}.room-mode #room-picker .room-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.topbar{height:72px;padding-inline:20px}.brand{font-size:22px;letter-spacing:3px;gap:10px}.brand-mark{width:36px;height:36px}.brand small{font-size:6px;letter-spacing:1.2px}.nav-actions{gap:10px}.nav-button{font-size:9px;padding:8px 12px}.page{padding:25px 19px 0}.page-heading{margin-bottom:24px}.page-heading h1{font-size:35px;letter-spacing:-1.1px}.heading-copy{font-size:11px;line-height:1.8;max-width:230px}.overview-note{display:none}.deck-nav{width:100%;gap:3px;border-radius:14px;margin-bottom:23px}.deck-nav button{flex:1;padding:9px 7px;min-height:40px;font-size:11px}.model-card{height:440px;border-radius:19px}.room-tab{min-height:42px;padding:9px 12px;font-size:11px}.model-caption{top:20px;left:20px}.devices-column>.device-list{grid-template-columns:minmax(0,1fr)}.device-card{padding:21px}.room-console .room-quick-actions{grid-template-columns:1fr 1fr}.mapping-guide{padding:15px;gap:12px}.mapping-guide .guide-index{display:none}.mapping-guide .button{font-size:9px}.under-model{font-size:8px;line-height:1.7}.feature-heading h2{font-size:30px}.console-box{padding:20px 17px}.room-title-row h1{font-size:29px;letter-spacing:-.8px}.room-title-row>.button{font-size:10px;min-height:35px;padding:8px 12px}.room-title-row .eyebrow{font-size:6px;letter-spacing:1px}.room-mode .room-client{padding:18px 18px 0}.room-mode .topbar{height:62px;padding-inline:18px}.room-mode .room-client{height:calc(100dvh - 62px - env(safe-area-inset-top))}.room-mode .brand{font-size:20px}.room-mode .room-hero{min-height:127px;padding:18px 19px;margin:15px 0 12px}.room-mode .room-hero h2{font-size:24px;margin-top:9px;max-width:205px}.room-mode .room-mode-label{font-size:6px;letter-spacing:1.2px}.room-mode .room-hero p{display:none}.room-mode .room-stats{gap:10px;margin-top:14px}.room-mode .room-stats span{font-size:8px}.room-mode .room-art{width:98px;max-width:28%;height:94px;opacity:.7}.room-mode .room-quick-actions{gap:6px;margin-bottom:12px}.room-mode .room-action{font-size:10px;min-height:42px;padding:8px 5px;border-radius:10px}.room-mode .room-section-nav{border-radius:15px;margin-top:8px}.room-mode .room-section-nav button{font-size:11px;min-height:40px}.room-mode .room-client-footer{padding:9px 0 calc(9px + env(safe-area-inset-bottom));font-size:6px;letter-spacing:1px;border:0}.room-mode .room-client .device-card{padding:19px 17px;border-radius:17px}.room-client .device-list{gap:12px}.room-client .control-row input,.room-client .control-row select,.quick-command input{font-size:16px}.room-client .device-info h3{font-size:14px}.room-client .device-subtitle{font-size:9px}.room-client .scene-card{min-height:173px}.room-mode .room-hero-copy{min-width:0}.room-grid{gap:11px;margin-top:24px}.room-tile{min-height:173px;border-radius:18px;padding:19px}.room-tile strong{font-size:18px}.room-tile small{font-size:10px}.tile-room-icon{margin:16px 0;font-size:29px}.tile-number{font-size:7px}.tile-arrow{right:16px;bottom:18px;width:25px;height:25px;font-size:15px}#room-picker h1{font-size:32px;letter-spacing:-1px;line-height:1.12;font-weight:350;max-width:250px}.room-intro{font-size:12px;line-height:1.7;color:#a5c0ae;max-width:265px}.room-client-top .local-badge{font-size:7px}.quick-command{padding:12px 14px}.quick-command input{min-height:40px}.room-client .remote-pad{grid-template-columns:62px 62px 62px;grid-template-rows:52px 52px 52px}.room-client .color-swatch{height:35px}.scene-grid{gap:10px}.scene-card{padding:19px 15px}}
@media(max-height:700px) and (max-width:600px){.room-mode .room-hero{min-height:94px;padding:13px 17px;margin-block:11px}.room-mode .room-hero h2{font-size:22px;margin-top:7px}.room-mode .room-art{height:65px;width:80px}.room-mode .room-stats{margin-top:10px}.room-mode .room-mode-label{display:none}.room-mode .room-title-row h1{font-size:25px}.room-mode .room-title-row .eyebrow{display:none}.room-mode .room-action{min-height:37px}.room-mode .room-client{padding-top:13px}.room-mode .room-quick-actions{margin-bottom:9px}.room-mode .room-client-footer{padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}}
@media(max-height:550px) and (orientation:landscape){.room-mode .topbar{height:48px}.room-mode .room-client{height:calc(100dvh - 48px - env(safe-area-inset-top));padding-top:10px}.room-mode .room-hero{display:none}.room-mode .room-title-row h1{font-size:24px}.room-mode .room-title-row .eyebrow{display:none}.room-mode .room-quick-actions{margin:10px 0}.room-mode .room-action{min-height:35px}.room-mode .room-client-footer{display:none}.room-mode .room-section-nav{margin-bottom:calc(5px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(min-width:760px) and (min-height:650px){.room-mode .room-title-row{grid-column:1;grid-row:1;min-height:62px;margin-bottom:10px;gap:8px}.room-mode .room-title-row h1{font-size:29px}.room-mode .room-title-row>.button{font-size:9px;padding-inline:11px;min-height:34px}.room-mode .room-title-row .eyebrow{font-size:6px;letter-spacing:.6px}}
.color-swatch{width:34px;aspect-ratio:1;justify-self:center}.room-hardware-note{padding:18px;border:1px dashed #45604b;border-radius:15px;font-size:11px;line-height:1.8;color:#b2cbb9}.room-hardware-note strong{display:block;font-size:12px;font-weight:500;color:#d4e6d9}

.room-quick-actions[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
/* Room controllers: the 3D house sits above the room picker and at the top of a room's device pane. */
.room-client .model-card{height:clamp(230px,40dvh,460px);margin-bottom:16px;flex:none}.room-client .model-coordinates{display:none}.room-mode #room-picker{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
