/* Domus — negro void, blanco ónix, liquid glass. Loaded last; tokens also reach the Life OS shadow root by inheritance. DOMUS-ONYX.md explains the stone. */
:root{
  color-scheme:dark;
  --d-void:#050507;--d-obsidian:#0e0e11;--d-graphite:#1b1b1f;--d-vein:#8d8a84;--d-onyx:#f4f1ea;
  --d-ink:#f4f1ea;--d-muted:#b8b5ae;--d-faint:#8f8c86;
  --d-warm:#f2c14e;--d-ok:#8fd9ae;--d-danger:#ff7a6e;
  --d-line:#ffffff1f;--d-line-strong:#ffffff38;--d-fill:#ffffff17;--d-fill-strong:#ffffff26;
  /* Panels on the page. The picture behind is already out of focus, so these stay cheap. */
  --d-glass:linear-gradient(145deg,#ffffff1f,#ffffff0a 42%,#ffffff10);
  /* Chrome and sheets that content scrolls under: darker, and truly blurred. */
  --d-glass-chrome:linear-gradient(145deg,#2b2b30b8,#0e0e11c7 50%,#17171bbf);
  --d-blur:blur(30px) saturate(170%);
  --d-rim:inset 0 1px 0 #ffffff47,inset 1px 0 0 #ffffff14,inset 0 -1px 0 #ffffff0f;
  --d-shadow:0 18px 50px #00000073;
  --d-font:-apple-system,BlinkMacSystemFont,'SF Pro Display','Segoe UI Variable','Segoe UI',Roboto,sans-serif;
  font-family:var(--d-font);
  --bg:var(--d-void);--panel:#ffffff0d;--line:var(--d-line);--ink:var(--d-ink);--muted:var(--d-muted);--cyan:var(--d-onyx);--pink:var(--d-vein);--room-accent:var(--d-onyx);--mono:var(--d-font);--glass-shadow:var(--d-rim),var(--d-shadow);
}
html,html:has(body.room-mode){background:var(--d-void);scrollbar-color:#ffffff33 transparent}
html body,html body.room-mode{background:transparent;color:var(--d-ink);font-family:var(--d-font)}
html:not([data-theme]) body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--d-void) url("/domus-onyx-bg.jpg?v=5b7434953cea") center/cover no-repeat}
::selection{background:var(--d-onyx);color:var(--d-void)}
:is(button,a,summary,input,select,textarea):focus-visible{outline:2px solid var(--d-onyx);outline-offset:2px}

/* The stone */
.domus-stone{display:block;object-fit:contain;filter:drop-shadow(0 8px 18px #000a)}
.domus-wordmark,.shain-nav-brand strong,.home-boot-word,.brand>span{font-family:var(--d-font);font-weight:300;letter-spacing:.3em;text-transform:uppercase}
.brand{font-size:19px}.brand small{letter-spacing:.18em;font-size:8px;color:var(--d-faint);font-weight:400}
.home-boot{background:var(--d-void) url("/domus-onyx-bg.jpg?v=5b7434953cea") center/cover no-repeat;color:var(--d-ink)}
.home-boot-mark{background:none;border:0;box-shadow:none;width:128px;height:128px}.home-boot-mark .domus-stone{width:100%;height:100%}
.home-boot-word{font-size:22px}.home-boot-line:after{background:var(--d-onyx)}
.login-house{width:76px;height:76px;border:0;box-shadow:none;margin-bottom:20px}.login-house .domus-stone{width:100%;height:100%}
.login-page{background:none}.login-card{padding:30px}.startup{color:var(--d-muted);font-family:var(--d-font)}

/* Panels: the same material on every screen */
.room-mode{--p-bg:var(--d-void);--p-card:#ffffff10;--p-raised:#ffffff0d;--p-line:var(--d-line);--p-line-strong:var(--d-line-strong);--p-ink:var(--d-ink);--p-muted:var(--d-muted);--p-faint:var(--d-faint);--p-green:var(--d-onyx);--p-font:var(--d-font);--glass-shadow:var(--d-rim),var(--d-shadow)}
:is(body,.room-mode) :is(.room-row,.room-hero,.device-card,.console-box,.scene-card,.request-panel,.glass-surface,.overview-packages,.office-pc-entry,.room-console,.login-card,.setup-note,.mapping-guide,.room-hardware-note,.office-control,.office-activity,.overview-note,.agent-layout,.empty-state,.filtered-empty){background:var(--d-glass);border:1px solid var(--d-line);box-shadow:var(--d-rim),var(--d-shadow);-webkit-backdrop-filter:var(--d-blur);backdrop-filter:var(--d-blur)}
:is(body,.room-mode) .device-popover .device-card{background:#ffffff0d;box-shadow:var(--d-rim);-webkit-backdrop-filter:none;backdrop-filter:none}
.room-mode .room-row{border-radius:24px}
.room-mode .room-row:hover{border-color:var(--d-line-strong)}
.room-mode .room-row:has([aria-checked=true]){background:linear-gradient(145deg,#f4f1eaf5,#d6d3ccec);border-color:#ffffff80;box-shadow:inset 0 1px 0 #fff,0 18px 44px #0000006b}
:is(body,.room-mode) :is(.overview-stage .model-card,#room-map-section .model-card,.model-card){background:radial-gradient(ellipse at 50% 35%,#ffffff14,#05050799 78%);border:1px solid var(--d-line);box-shadow:var(--d-rim),var(--d-shadow)}
.city-haze{display:none}
.scene-tile{--tile:linear-gradient(145deg,#ffffff1f,#ffffff0a 55%,#ffffff10);background:var(--tile);box-shadow:var(--d-rim);-webkit-backdrop-filter:none;backdrop-filter:none}
.scene-tile.add-scene{--tile:#ffffff0a;box-shadow:inset 0 0 0 1px var(--d-line)}
.scene-tile.day,.scene-tile.is-done{--tile:linear-gradient(145deg,#f4f1eaf5,#d6d3ccec);color:var(--d-void);box-shadow:inset 0 1px 0 #fff}
.room-mode #room-picker .status-chip,.room-mode .status-chip{background:var(--d-glass);border:1px solid var(--d-line);box-shadow:var(--d-rim)}
.room-mode #room-picker .status-chip.is-active:first-child .icon{stroke:var(--d-warm)}

/* Controls */
:is(body,.room-mode) :is(.button,.room-action,.icon-button,.popover-close,.temperature-step,.quick-command input,select,textarea),:is(body,.room-mode) input:where(:not([type=range],[type=checkbox],[type=radio])){background:var(--d-fill);border-color:transparent;color:var(--d-ink);box-shadow:inset 0 1px 0 #ffffff1f}
:is(body,.room-mode) :is(.primary-button,.button.primary-button){background:var(--d-onyx);color:var(--d-void);box-shadow:inset 0 1px 0 #fff,0 8px 22px #0006}
:is(body,.room-mode) .room-action.subtle{background:#ffffff0d}
select option{background:var(--d-obsidian);color:var(--d-ink)}
.deck-nav,.room-mode .room-section-nav{background:var(--d-glass-chrome);border:1px solid var(--d-line);box-shadow:var(--d-rim);-webkit-backdrop-filter:var(--d-blur);backdrop-filter:var(--d-blur);border-radius:16px}
.deck-nav button{color:var(--d-muted)}
:is(.deck-nav button.active,.room-mode .room-section-nav button.active){background:var(--d-onyx);color:var(--d-void);border-color:transparent;box-shadow:0 4px 14px #0007}
.room-tab{border-color:var(--d-line)}.room-tab.active{background:var(--d-onyx);color:var(--d-void);border-color:transparent}.room-tab.active small{color:inherit}
.status-dot,.model-live-dot,.office-machine-dot.online{background:var(--d-ok);box-shadow:0 0 10px #8fd9ae66}
.small-tag,.local-badge,.count-badge{border-color:var(--d-line);color:var(--d-muted);background:#ffffff0a}
.eyebrow,.section-index,.guide-index{color:var(--d-muted)}
.holo-scan{background:linear-gradient(90deg,transparent,#f4f1ea99 18%,#fff 50%,#f4f1ea99 82%,transparent);box-shadow:0 0 22px 5px #f4f1ea40}

/* Chrome */
.topbar,.room-mode .topbar{background:var(--d-glass-chrome);border-color:var(--d-line);-webkit-backdrop-filter:var(--d-blur);backdrop-filter:var(--d-blur)}
.room-mode .topbar{background:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.shain-nav{z-index:305;font-family:var(--d-font);color:var(--d-ink);background:var(--d-glass-chrome);box-shadow:var(--d-rim),var(--d-shadow);-webkit-backdrop-filter:var(--d-blur);backdrop-filter:var(--d-blur)}
.shain-nav-item{color:var(--d-muted)}.shain-nav-item[aria-current=page]{color:var(--d-ink)}
#life-finance-panel{background:transparent}
/* Life OS areas sit on the onyx itself, so the live house behind them stays mounted but unseen. */
body.life-open>:not(.shain-nav,#life-finance-panel,.shain-bubble,dialog,.toast,.screen-sync-indicator,script,style){visibility:hidden}
body:is(:has(#login-screen:not([hidden])),:has(#startup:not([hidden]))){padding-left:0}
.shain-nav-brand .domus-stone{grid-row:1/3;width:38px;height:38px}.shain-nav-brand strong{font-size:15px;letter-spacing:.3em;font-weight:300}.shain-nav-brand small{color:var(--d-faint)}
@media(max-width:949px){
  :root{--shain-nav-h:calc(78px + env(safe-area-inset-bottom,0px))}
  .shain-nav{left:max(10px,env(safe-area-inset-left,0px));right:max(10px,env(safe-area-inset-right,0px));bottom:calc(8px + env(safe-area-inset-bottom,0px));height:62px;padding:5px 6px;border:1px solid var(--d-line);border-radius:31px}
  .shain-nav-item{border-radius:26px;gap:2px;min-height:50px;font-size:9.5px;letter-spacing:-.01em}.shain-nav-item .icon{width:21px;height:21px}
  .shain-nav-item[aria-current=page]{color:var(--d-onyx);background:var(--d-fill-strong);box-shadow:var(--d-rim)}
  #life-finance-panel{bottom:0;padding-bottom:var(--shain-nav-h)}
}
@media(min-width:950px){
  .shain-nav{inset:12px auto 12px 12px;border:1px solid var(--d-line);border-radius:28px;padding:calc(26px + env(safe-area-inset-top,0px)) 14px 20px}
  body{padding-left:242px}#life-finance-panel{left:236px}
  .shain-nav-item{color:var(--d-muted);border-radius:14px}.shain-nav-item:hover{background:var(--d-fill)}
  .shain-nav-item[aria-current=page]{background:var(--d-fill-strong);border-color:transparent;box-shadow:var(--d-rim);color:var(--d-ink)}
  .shain-nav-caption{color:var(--d-faint)}.shain-nav-footer{color:var(--d-faint)}
}
.shain-bubble{border:1px solid var(--d-line-strong);background:var(--d-glass-chrome);box-shadow:var(--d-rim),0 12px 30px #0009;-webkit-backdrop-filter:var(--d-blur);backdrop-filter:var(--d-blur)}
.shain-bubble i{border-color:#f4f1ea66}.shain-bubble i+i{border-color:#f4f1ea38 transparent}
.shain-bubble b{inset:13px;background:url("/domus-onyx.png?v=5b7434953cea") center/contain no-repeat;box-shadow:none;border-radius:0}

/* Sheets and dialogs */
:is(.modal,.room-mode .modal,.room-mode .device-popover,.ios-sheet){background:var(--d-glass-chrome);color:var(--d-ink);border:1px solid var(--d-line);box-shadow:var(--d-rim),0 30px 90px #000a;-webkit-backdrop-filter:var(--d-blur);backdrop-filter:var(--d-blur)}
.ios-sheet{--sheet:transparent;--group:#ffffff14;--sep:#ffffff24;--label:var(--d-muted);--blue:var(--d-onyx)}
:is(.modal,.ios-sheet,.device-popover)::backdrop{background:#00000070;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.chip-row .choice.is-on,.light-row .choice.is-on{background:var(--d-onyx);color:var(--d-void)}
.toast{background:var(--d-glass-chrome);color:var(--d-ink);border:1px solid var(--d-line);box-shadow:var(--d-rim),var(--d-shadow);-webkit-backdrop-filter:var(--d-blur);backdrop-filter:var(--d-blur)}
.toast.error{background:linear-gradient(145deg,#5a1c17d9,#2b0d0bd9);border-color:#ff7a6e55}
.model-toolbar,.spatial-label,.model-card .model-footer{-webkit-backdrop-filter:var(--d-blur);backdrop-filter:var(--d-blur)}
