:root{--paper:#f7f6f2;--ink:#333a31;--muted:#858a7d;--violet:#9573c6;--violet-dark:#73519f;--line:#e6e7df;--olive:#7b8665;--serif:Georgia,'Times New Roman',serif;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled,input:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #9874c3;outline-offset:4px}button[hidden],[hidden]{display:none!important}p{line-height:1.6}h1,h2,p{margin-top:0}.brand{display:inline-flex;align-items:center;gap:9px;font-size:27px;letter-spacing:-1.4px;font-weight:700}.brand-dot{width:13px;height:17px;border-radius:55% 55% 45% 45%;display:inline-block;background:#aa8dd8;transform:rotate(-13deg)}.brand-home{font-size:15px;letter-spacing:0;font-weight:400;color:var(--muted);margin-left:3px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.2px;color:var(--olive)}.small-tag{font-size:11px;color:var(--muted)}.violet{color:var(--violet)}.muted{font-size:12px;color:var(--muted);line-height:1.6}.button{border:0;border-radius:13px;padding:16px 21px;display:inline-flex;align-items:center;justify-content:center;gap:25px;font-size:14px;font-weight:500;transition:background .2s,transform .2s}.button:active{transform:translateY(1px)}.primary{background:#7c5aa7;color:#fff}.primary:hover{background:#6c4b94}.secondary{background:#eeebe5;color:var(--ink)}.secondary:hover{background:#e4dfd7}.text-link{display:inline-flex;align-items:center;gap:14px;background:none;border:0;padding:10px 0;font-size:13px;color:#6b725f}.quiet-button{background:none;border:0;padding:9px 4px;color:#737968;font-size:11px}.site-header{padding:37px 6.3%;display:flex;align-items:center;justify-content:space-between}.landing{min-height:100dvh;background:#f5f3ee}.welcome{display:grid;grid-template-columns:.8fr 1.2fr;gap:5vw;align-items:center;max-width:1450px;margin:0 auto;padding:5vh 6.3% 7vh}.welcome h1{font-family:var(--serif);font-weight:400;font-size:clamp(65px,7vw,112px);line-height:1.03;letter-spacing:-5px;margin:24px 0}.intro{font-size:17px;color:#777d70;line-height:1.8}.welcome-actions{display:flex;flex-direction:column;align-items:flex-start;gap:11px;margin:29px 0 22px}.welcome-actions .primary{padding:19px 22px}.room-preview{border:1px solid #e0ddd2;border-radius:22px;overflow:hidden;background:#f6f5f1;box-shadow:0 20px 70px #5e58400d;transform:rotate(1.2deg)}.preview-label{padding:20px 23px;font-size:9px;letter-spacing:2px;color:#737767;display:flex;align-items:center;gap:9px}.live-dot{width:6px;height:6px;background:#929b73;border-radius:50%;display:inline-block}.mini-room{width:100%;aspect-ratio:1.68}.mini-room svg{width:100%;height:100%;display:block}.preview-foot{padding:21px 24px;font-family:var(--serif);font-size:14px;color:#7a796b;display:flex;justify-content:space-between;align-items:center;background:#f1f0eb}.tiny-spark{font-size:26px;line-height:1;color:#92977d}.landing-footer{padding:26px 6.3%;display:flex;justify-content:space-between;border-top:1px solid #e8e5dc;font-size:11px;color:#8b8d80}.landing-footer a{color:#69725f}
/* Mailo and the chair share one rendered light/shadow solution.
   Only feathered face patches animate; his feet never lift off the cushion. */
.room-working{opacity:0;transition:opacity .5s ease}
.room-coffee{opacity:1;transition:opacity .5s ease}
.expression-blink{opacity:0;animation:seated-blink 9s steps(1,end) infinite}
.expression-speaking{opacity:1}.thinking-dots{opacity:0}
[data-state=listening] .expression-blink{animation:none;opacity:0}
[data-state=thinking] .thinking-dots,[data-state=working] .thinking-dots{opacity:1}
[data-state=thinking] .thinking-dots circle{animation:dot 1s ease-in-out infinite}
[data-state=thinking] .thinking-dots circle:nth-child(2){animation-delay:.15s}
[data-state=thinking] .thinking-dots circle:nth-child(3){animation-delay:.3s}
[data-state=working] .room-working{opacity:0}
[data-state=working] .room-coffee{opacity:1}
[data-voicing=on] .expression-speaking{opacity:1}
@keyframes seated-blink{0%,44%,46%,100%{opacity:0}45%{opacity:1}}
@keyframes dot{50%{opacity:.3;transform:translateY(-4px)}}
.display-page{overflow:hidden;background:#e9d6c1}.apartment{position:relative;width:100vw;height:100dvh;min-height:360px;background:#f6f5f1;isolation:isolate}.full-room{position:absolute;inset:0;z-index:-2}.full-room svg{width:100%;height:100%;display:block}.display-header{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:25px max(32px,env(safe-area-inset-right)) 25px max(32px,env(safe-area-inset-left));background:linear-gradient(#f5e8d766,transparent)}.display-header .brand{font-size:24px}.display-flags{display:flex;align-items:center;gap:19px}.connection{display:flex;align-items:center;gap:6px;font-size:10px;color:#7b816f}.connection i{display:block;width:5px;height:5px;background:#b9ac99;border-radius:100%}.connection.online i{background:#8c9b71}.ambient-note{position:absolute;top:87px;left:33px;display:flex;align-items:center;gap:9px;color:#999784;font-size:11px}.ambient-note .tiny-spark{font-size:17px}.caption-wrap{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));left:12%;right:12%;display:flex;align-items:center;flex-direction:column;gap:7px;text-align:center;pointer-events:none}.milo-caption{background:#fbfaf5b8;border:1px solid #fff8;border-radius:50px;padding:13px 23px;backdrop-filter:blur(12px);display:flex;align-items:center;gap:13px;color:#646653;font-size:13px;box-shadow:0 3px 16px #54402104;max-width:100%}.caption-mark{width:7px;height:7px;border-radius:50%;background:#b9a0d8;flex-shrink:0}.mode-label{margin:0;font-size:9px;color:#7d796c;letter-spacing:.3px}.voice-meter{display:none;gap:3px;align-items:center;height:16px}.voice-meter i{width:2px;height:7px;background:#9984b4;border-radius:3px;animation:meter .7s infinite alternate}.voice-meter i:nth-child(2){height:12px;animation-delay:.2s}.voice-meter i:nth-child(3){height:16px;animation-delay:.4s}.voice-meter i:nth-child(4){height:10px;animation-delay:.1s}[data-state=listening] .voice-meter,[data-state=speaking] .voice-meter{display:flex}@keyframes meter{to{transform:scaleY(.4)}}.voice-panel{position:absolute;z-index:2;right:32px;top:83px;width:340px;max-height:calc(100dvh - 165px);overflow:auto;background:#fbf9f2f5;border:1px solid #ffffffb3;box-shadow:0 20px 70px #55482a20;border-radius:20px;padding:26px;backdrop-filter:blur(15px);pointer-events:auto}.voice-panel h1{font-size:33px;font-family:var(--serif);font-weight:400;letter-spacing:-1px;margin-bottom:12px}.voice-panel>p:not(.eyebrow){font-size:12px;color:#848675}.voice-panel .button{width:100%;margin-bottom:9px;font-size:12px;padding:14px}.voice-panel>.text-link{font-size:11px}.prototype-note{font-size:10px!important;line-height:1.6;margin:14px 0}.prototype-note strong{font-weight:500;color:#6e665d}.voice-panel details{font-size:11px;border-top:1px solid var(--line);padding-top:12px;margin-top:15px}.voice-panel summary{cursor:pointer;color:#6e725f}.voice-panel label{display:block;margin:13px 0 7px}.voice-panel input{width:100%;padding:11px;border:1px solid var(--line);background:#fffdf8;border-radius:8px;font-size:11px;margin-bottom:10px}.setup-message{font-size:11px;color:#92724d!important;margin-bottom:0}.display-error{pointer-events:auto;background:#fff5e7;color:#8a6845;border-radius:9px;padding:8px 15px;font-size:11px;max-width:600px;margin:0}.caption-wrap .quiet-button{pointer-events:auto;background:#f5f1e5;border-radius:20px;padding:8px 16px}.rotate-note{display:none}.night .ambient-note{color:#897c70}
.phone-shell{max-width:490px;margin:auto;padding:max(26px,env(safe-area-inset-top)) 27px max(24px,env(safe-area-inset-bottom));min-height:100dvh}.phone-header{display:flex;align-items:center;justify-content:space-between}.phone-header .brand{font-size:26px}.list-title{margin-top:46px}.list-title .eyebrow{font-size:9px;letter-spacing:1.8px}.list-title h1{font-family:var(--serif);font-size:52px;font-weight:400;letter-spacing:-2px;line-height:1.1;margin-bottom:12px}.list-title>p:last-child{font-size:12px;color:#8c907f;margin-bottom:24px}.milo-note{display:flex;align-items:center;gap:13px;background:#ede9f3;border-radius:14px;padding:14px 16px;margin-bottom:23px}.milo-note img{width:36px;height:36px;flex-shrink:0;border-radius:10px}.milo-note p{font-size:12px;color:#796a8f;line-height:1.5;margin:0}.shopping-items{list-style:none;padding:0;margin:0}.shopping-items li{display:flex;align-items:center;border-bottom:1px solid var(--line);min-height:64px}.item-check{background:none;border:0;display:flex;align-items:center;gap:16px;width:100%;text-align:left;padding:18px 1px;font-size:16px;color:#535b4a}.check-circle{width:23px;height:23px;flex-shrink:0;border:1.5px solid #cccfc1;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px}.item-check[aria-pressed=true]{color:#a4aa99}.item-check[aria-pressed=true] .item-name{text-decoration:line-through}.item-check[aria-pressed=true] .check-circle{background:#89966e;border-color:#89966e;color:#fff}.clear-completed{display:block;margin:10px 0 0 auto;color:#8b917e;font-size:10px}.add-item{margin-top:27px;display:flex;align-items:center;gap:10px;border:1px solid #e1e3d8;border-radius:13px;padding:6px 6px 6px 15px;background:#fbfaf7}.add-item input{width:100%;min-width:0;border:0;padding:10px 0;background:none;font-size:13px;color:#535b4a;outline-offset:1px}.add-item input::placeholder{color:#a2a694}.add-item button{width:38px;height:38px;flex-shrink:0;border:0;border-radius:9px;background:#edece5;color:#828b70;font-size:24px;font-weight:300}.phone-mic{width:100%;margin-top:25px;gap:10px;background:#7e5fa4;font-size:13px}.phone-mic.recording{background:#997852}.mic-symbol{font-size:10px;line-height:1}.phone-mode{text-align:center;font-size:10px;margin-top:11px}.phone-error,.offline-note{font-size:12px;background:#f0e6d7;color:#8a6a43;border-radius:10px;padding:13px}.phone-footer{margin-top:43px;padding-top:19px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#979b8b;gap:12px}.phone-footer .quiet-button{font-size:10px;color:#899272;padding:3px 0}.empty-list{text-align:center;padding:22px 0 27px}.empty-symbol{font-size:36px;color:#b7be9d}.empty-list h2{font-family:var(--serif);font-size:22px;font-weight:400;color:#737b67;margin-top:11px;margin-bottom:9px}.empty-list p{font-size:12px;color:#999e8c;margin:0;line-height:1.8}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.setup-page{background:#f5f3ee}.setup-shell{max-width:760px;margin:auto;padding:46px 28px}.setup-shell>.eyebrow{margin-top:53px}.setup-shell h1{font-family:var(--serif);font-size:60px;letter-spacing:-2.5px;font-weight:400;line-height:1.1;margin-bottom:24px}.setup-shell .intro{font-size:15px;max-width:540px}.setup-steps{list-style:none;counter-reset:steps;padding:0;margin:36px 0}.setup-steps li{counter-increment:steps;border-top:1px solid #dfdfd4;padding:25px 0 10px 43px;position:relative}.setup-steps li:before{content:counter(steps);position:absolute;left:0;top:22px;width:27px;height:27px;border:1px solid #cfcfbd;border-radius:50%;display:grid;place-items:center;font-size:12px;color:#7c8968}.setup-steps h2{font-size:17px;font-weight:500;margin-bottom:11px}.setup-steps p{font-size:13px;color:#818674;line-height:1.9}.setup-steps code,.voice-panel code{font-size:11px;background:#e9e7dd;padding:2px 5px;border-radius:4px}.setup-steps .button{font-size:12px;margin:4px 0 18px}.device-links{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#73559c;margin:15px 0}.setup-callout{background:#eae6ef;color:#82708f;padding:20px 23px;border-radius:14px;font-size:12px;line-height:1.8}
@media(min-width:1500px){.welcome{padding-top:10vh;padding-bottom:12vh}}@media(max-width:850px){.welcome{grid-template-columns:1fr;gap:35px;padding-top:35px;max-width:640px}.welcome h1{font-size:75px}.welcome-copy{padding:0 5px}.room-preview{transform:rotate(.5deg)}.landing-footer{gap:20px;font-size:10px}.site-header{padding:25px 6.3%}}@media(max-height:620px) and (orientation:landscape){.voice-panel{top:60px;max-height:calc(100dvh - 110px);padding:20px;width:310px}.display-header{padding-top:17px}.ambient-note{top:65px}.caption-wrap{bottom:14px}.voice-panel h1{font-size:27px}}@media(max-aspect-ratio:3/4){.display-page .rotate-note{display:block;position:absolute;bottom:9px;left:0;right:0;text-align:center;font-size:10px;color:#8a816b}.display-page .caption-wrap{bottom:35px;left:5%;right:5%}.display-page .voice-panel{right:5%;width:90%;max-width:360px;top:100px}.display-header{padding:24px}.display-flags{gap:8px}.ambient-note{left:25px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.connect-shell{max-width:640px}.connect-shell h1{font-size:58px}.connect-shell form{display:grid;gap:13px;margin:30px 0 22px}.connect-shell label{font-size:13px}.connect-shell input{width:100%;padding:16px;border:1px solid #dcd6e2;border-radius:12px;background:#fff;font-size:16px}.connect-shell #connect-status{color:#73519f;font-size:14px}
.voice-options{display:grid;gap:18px;margin:30px 0}.voice-options article{background:#fff9;border:1px solid #e1d9e7;border-radius:16px;padding:20px}.voice-options h2{font-size:20px;margin-bottom:12px;font-weight:500}.voice-options audio{display:block;width:100%;margin-bottom:12px}.voice-options .button{font-size:12px;padding:12px 16px}
.seated-pointing{opacity:0;transition:opacity .45s ease}[data-view] .seated-pointing{opacity:1}[data-view] .room-working{opacity:0}[data-view] .room-coffee{opacity:1}
.scene-card{position:absolute;top:23%;right:4.5%;width:min(36vw,430px);max-height:64%;overflow:auto;padding:30px 32px 22px;border:1px solid #fff9;border-radius:24px;background:linear-gradient(135deg,#fffdf6f5,#f6f0e8f0);box-shadow:0 18px 50px #67504118;backdrop-filter:blur(14px);animation:card-in .5s cubic-bezier(.2,.75,.2,1);z-index:1}.scene-card h2{font-family:var(--serif);font-weight:400;font-size:42px;letter-spacing:-1.5px;margin-bottom:8px}.scene-card .eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:17px}.card-subtitle{font-size:11px;color:#9b8b85;margin-bottom:17px}.scene-card ul{list-style:none;padding:0;margin:0}.scene-card li{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid #d6c9be55;font-size:17px;color:#5c505a;line-height:1.4}.card-check{width:17px;height:17px;border:1px solid #c6b5c8;border-radius:50%;flex-shrink:0}.card-time{font-size:12px;color:#947c9c;min-width:62px;font-variant-numeric:tabular-nums}.card-footer{margin:19px 0 0;font-size:9px;color:#a28f93}.card-empty{font-family:var(--serif);font-size:22px;color:#9e8d98;padding:15px 0;line-height:1.5}.card-close{position:absolute;right:17px;top:11px;background:none;border:0;color:#b6a6b3;font-size:23px;line-height:1;padding:6px}.phone-nav{display:flex;gap:22px;margin:28px 0 -20px;font-size:12px;color:#9b91a2}.phone-nav .active{color:#795994;border-bottom:1px solid #ad95c2;padding-bottom:8px}@keyframes card-in{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}@media(max-aspect-ratio:1/1){.scene-card{top:15%;left:24px;right:24px;width:auto;max-height:33%;padding:22px 25px 16px}.scene-card h2{font-size:32px}.scene-card li{padding:10px 0;font-size:15px}.scene-card .eyebrow{margin-bottom:10px}.card-subtitle{margin-bottom:8px}.card-footer{margin-top:12px}}@media(prefers-reduced-motion:reduce){.scene-card{animation:none}.seated-pointing{transition:none}}
.calendar-connect{padding:22px;border:1px solid #dfd6e7;background:#f0ebf4;border-radius:18px;margin:24px 0}.calendar-connect h2{font-size:17px;font-weight:500}.calendar-connect p,.calendar-connect details{font-size:11px;color:#8e7c96;line-height:1.8}.calendar-connect form,.calendar-manual form{display:grid;gap:10px;margin:18px 0}.calendar-connect label,.calendar-manual label{font-size:11px;color:#87748f}.calendar-connect input,.calendar-manual input{padding:13px;background:#fff;border:1px solid #ddd4e5;border-radius:10px;width:100%;min-width:0;font-size:14px}.calendar-connect .button{padding:13px;font-size:12px}.calendar-items h2{font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:500;color:#9b8ba2;margin:30px 0 12px}.calendar-row{display:flex;gap:15px;align-items:center;border-bottom:1px solid #e4dee6;padding:16px 0;font-size:14px;color:#635269}.calendar-time{font-size:11px;color:#a18dac;min-width:60px}.calendar-row .quiet-button{margin-left:auto;font-size:19px}.calendar-empty{font-family:var(--serif);font-size:22px;color:#a291a9;margin:32px 0}.calendar-manual{font-size:12px;color:#8f7e96;margin-top:30px}#calendar-error{color:#986245;font-size:12px}

/* The room card is a spoken, read-only presentation. */
.scene-card{background:linear-gradient(135deg,rgba(255,255,255,.52),rgba(245,236,255,.25));border:1px solid rgba(255,255,255,.68);box-shadow:0 24px 70px rgba(63,43,78,.13),inset 0 1px 0 rgba(255,255,255,.8);backdrop-filter:blur(28px) saturate(130%);-webkit-backdrop-filter:blur(28px) saturate(130%);pointer-events:none;overflow:hidden}
.scene-card li{border-bottom-color:rgba(255,255,255,.42);font-weight:400;letter-spacing:.1px}
.card-subtitle,.card-footer{color:#716378}.scene-card .eyebrow{color:#776984}

.input-meter{width:90px;height:7px;opacity:.8;accent-color:#9573c6}.input-meter::-webkit-meter-bar{background:#ffffff70;border:0;border-radius:8px}.input-meter::-webkit-meter-optimum-value{background:#9573c6;border-radius:8px}

.answer-sources{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;pointer-events:auto;max-width:600px}.answer-sources a{font-size:10px;text-decoration:underline;background:#fffc;padding:4px 8px;border-radius:8px;color:#675475}.milo-caption{line-height:1.5}

.weather-label{position:absolute;right:33px;bottom:94px;font-size:10px;color:#6e6a65;background:#fff8;padding:5px 9px;border-radius:10px;pointer-events:none}.weather-shade,.weather-clouds,.weather-night,.weather-rain,.weather-snow{opacity:0;transition:opacity 2s ease}
[data-weather=rain] .weather-shade,[data-weather=storm] .weather-shade,[data-weather=cloudy] .weather-shade,[data-weather=fog] .weather-shade,[data-weather=snow] .weather-shade,[data-weather=unknown] .weather-shade{opacity:.8}
[data-weather=cloudy] .weather-clouds,[data-weather=rain] .weather-clouds,[data-weather=storm] .weather-clouds,[data-weather=fog] .weather-clouds{opacity:.6}
[data-weather=rain] .weather-rain,[data-weather=storm] .weather-rain{opacity:.75;animation:window-rain .85s linear infinite}
[data-weather=snow] .weather-snow{opacity:.85;animation:window-snow 4s ease-in-out infinite}
[data-daylight=night] .weather-night{opacity:.85}
[data-weather=rain] .full-room,[data-weather=storm] .full-room,[data-weather=cloudy] .full-room{filter:saturate(.8) brightness(.93);transition:filter 2s ease}
@keyframes window-rain{from{transform:translate(3px,-14px)}to{transform:translate(-3px,22px)}}@keyframes window-snow{from{transform:translate(0,-15px)}to{transform:translate(7px,20px)}}@media(prefers-reduced-motion:reduce){.weather-rain,.weather-snow{animation:none!important}}

/* Relit assets carry the complete room lighting, including matching eye skin. */
[data-lighting=night] .full-room,[data-lighting=overcast] .full-room,[data-lighting=sunny] .full-room{filter:none}
[data-lighting=night] .closed-eyes,[data-lighting=overcast] .closed-eyes{display:none}
[data-lighting=night] .wall-clock{filter:brightness(.62) saturate(.8)}
[data-lighting=night] .display-header .brand,[data-lighting=night] .ambient-note,[data-lighting=night] .connection,[data-lighting=night] #settings-toggle,[data-lighting=night] .mode-label{color:#e4d9ce}
[data-lighting=night] .weather-night{opacity:0}
[data-lighting=night] .weather-shade{opacity:.12}
[data-lighting=night] .weather-clouds{opacity:.08}
.full-room{opacity:0}
[data-lighting] .full-room{opacity:1;transition:opacity .8s ease}
/* Persistent countdowns are independent of the temporary information card. */
.timer-stack {position:absolute;right:3%;top:104px;z-index:5;display:flex;flex-direction:column;gap:10px;width:210px;pointer-events:none;}
.timer-stack[hidden]{display:none;}
.timer-chip {display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-radius:20px;background:rgba(255,255,255,.7);backdrop-filter:blur(22px);border:1px solid rgba(255,255,255,.7);box-shadow:0 8px 30px #38284614;color:#42344b;}
.timer-chip span {font-size:14px;overflow-wrap:anywhere;}
.timer-chip strong {font-size:27px;font-variant-numeric:tabular-nums;white-space:nowrap;}
.timer-finished {background:rgba(238,225,255,.88);}
.apartment:has(.timer-chip) .scene-card {top:var(--timer-card-top,240px);max-height:calc(100% - var(--timer-card-top,240px) - 120px);overflow:hidden;}
.timer-stack[data-count="5"],.timer-stack[data-count="6"],.timer-stack[data-count="7"],.timer-stack[data-count="8"]{width:430px;display:grid;grid-template-columns:1fr 1fr;}
.phone-timer {padding:20px;margin:14px 0;border-radius:22px;background:white;border:1px solid #e5deeb;}
.phone-timer h2 {margin:0 0 12px;font-size:20px;}
.timer-number {display:block;font-size:42px;font-variant-numeric:tabular-nums;margin-bottom:14px;}
.timer-form {display:grid;gap:12px;margin:30px 0;}
.timer-form input {padding:14px;border:1px solid #ded7e4;border-radius:14px;font:inherit;}
.apartment[data-lighting='night'] .shopping-paper {opacity:.55;}
.apartment[data-lighting='overcast'] .shopping-paper {opacity:.83;}
@media(max-height:650px){.timer-stack{top:80px;width:180px}.timer-chip{padding:9px 12px}.timer-chip strong{font-size:23px}}

.timer-stack{width:280px;max-width:calc(100vw - 48px)}
.timer-chip span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;font-size:14px}
.timer-chip strong{flex-shrink:0}
@media(max-height:650px){.timer-stack{width:250px}}

/* Pairing and device management */
.pair-kind{border:0;padding:0;margin:4px 0 6px;display:grid;gap:8px}.pair-kind legend{font-size:11px;color:#87748f;margin-bottom:8px}.pair-kind label{display:flex;align-items:center;gap:10px;font-size:13px;color:#635269;background:#fff;border:1px solid #ddd4e5;border-radius:10px;padding:12px}.pair-kind input{width:auto;margin:0;accent-color:#7c5aa7}
.pair-code-input{font-size:24px!important;letter-spacing:6px;text-align:center;font-variant-numeric:tabular-nums}
.pair-code{display:flex;flex-direction:column;align-items:center;gap:6px;background:#fff;border:1px solid #ddd4e5;border-radius:14px;padding:18px;margin:6px 0 14px}.pair-code strong{font-size:38px;letter-spacing:8px;color:#5f437f;font-variant-numeric:tabular-nums}.pair-code span{font-size:11px;color:#8e7c96}
.device-list{list-style:none;padding:0;margin:20px 0}.device-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:16px 0;font-size:14px;color:#535b4a}.device-list li div{display:flex;flex-direction:column;gap:3px}.device-list li span{font-size:11px;color:#979b8b}
.phone-nav a{white-space:nowrap}

.calendar-connect form#approve-form{margin-bottom:0}
.device-actions{display:flex;align-items:center;gap:10px}
.listen-toggle{border:1px solid #d9d3df;background:#f3f1ee;color:#8a8590;border-radius:20px;padding:7px 12px;font-size:11px;white-space:nowrap}.listen-toggle.on{background:#e9e1f3;border-color:#c9b6de;color:#5f437f}
/* Pairing on a large display without touch: the code must be readable from the room */
#display-pairing .pair-code strong{white-space:nowrap}@media (min-width:700px){.phone-shell:has(#display-pairing:not([hidden])){max-width:820px}#display-pairing .pair-code{padding:34px}#display-pairing .pair-code strong{font-size:clamp(56px,8vw,96px);letter-spacing:.12em}#display-pairing .pair-code span{font-size:15px}#display-pairing>p{font-size:15px}}

/* Phone navigation scrolls sideways on narrow screens instead of wrapping */
.phone-nav{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px;margin-right:-27px;padding-right:27px}.phone-nav::-webkit-scrollbar{display:none}
/* Memory */
.memory-form textarea,.board-form textarea,.memory-form select{padding:13px;background:#fff;border:1px solid #ddd4e5;border-radius:10px;width:100%;min-width:0;font:inherit;font-size:14px;resize:vertical}
.memory-group h2{font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:500;color:#9b8ba2;margin:30px 0 8px}
.memory-list{list-style:none;padding:0;margin:0}.memory-list li{border-bottom:1px solid var(--line);padding:14px 0;display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center}.memory-list p{margin:0;font-size:15px;color:#535b4a;line-height:1.45;grid-column:1}.memory-list span{font-size:10px;color:#a0a492;grid-column:1}.memory-list div{grid-column:2;grid-row:1/span 2;display:flex;gap:4px}
/* Pin board */
.board-tabs{display:flex;gap:6px;margin:6px 0 -10px}.board-tab{border:1px solid #ddd4e5;background:#faf8fb;color:#87748f;border-radius:20px;padding:8px 14px;font-size:12px}.board-tab.active{background:#7c5aa7;border-color:#7c5aa7;color:#fff}
.board-form input[type=file]{padding:10px;background:#fff;border:1px dashed #cdbfdc;border-radius:10px;width:100%;font-size:12px}
.board-items{display:grid;gap:14px;margin:10px 0 30px}.board-item{background:#fff;border:1px solid #e8e1ec;border-radius:16px;padding:16px;box-shadow:0 2px 10px #5e584008}.board-item img{display:block;width:calc(100% + 32px);margin:-16px -16px 12px;border-radius:16px 16px 0 0;max-height:320px;object-fit:cover}.board-item h2{font-size:16px;font-weight:500;margin:0 0 6px;color:#4f4357}.board-item p{margin:0 0 6px;font-size:14px;color:#5d5a52;white-space:pre-wrap;line-height:1.5}.board-item footer{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#a0a492;margin-top:6px}
/* Shopping suggestions learned from history */
.suggestions{margin:6px 0 4px}.suggestions .eyebrow{margin-bottom:8px}#suggestion-chips{display:flex;flex-wrap:wrap;gap:8px}.suggestion-chip{border:1px dashed #b8a6cc;background:#faf7fd;color:#6f5590;border-radius:20px;padding:8px 13px;font-size:13px}.suggestions .muted{font-size:10px;margin:8px 0 0}
/* Mailo's daily scenes: slow crossfade, gone the moment he is addressed */
.activity-scene{opacity:0;transition:opacity 2.4s ease;pointer-events:none}
[data-scene-visible] .activity-scene{opacity:1}
[data-scene-visible] .seated-pointing,[data-scene-visible] .thinking-dots{opacity:0}
[data-scene-visible][data-activity=tv] .activity-scene{animation:tv-glow 9s ease-in-out infinite}
@keyframes tv-glow{0%,100%{filter:brightness(1)}22%{filter:brightness(1.05) saturate(1.03)}38%{filter:brightness(.97)}61%{filter:brightness(1.04) hue-rotate(-4deg)}80%{filter:brightness(.99)}}
@media(prefers-reduced-motion:reduce){.activity-scene{transition:none}[data-scene-visible][data-activity=tv] .activity-scene{animation:none}}
.card-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin:4px 0 14px}.card-gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;display:block}
.scene-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}

.section-title{font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:500;color:#9b8ba2;margin:34px 0 8px}#reminder-error{color:#986245;font-size:12px}

.setting-row{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:13px;color:#635269;margin:6px 0 14px}.setting-row small{font-size:11px;color:#8e7c96}.setting-row input{width:22px;height:22px;accent-color:#7c5aa7;flex-shrink:0}.setting-label{font-size:11px;color:#87748f;margin:4px 0 6px}.setting-hint{font-size:11px;color:#8e7c96;margin:6px 0 14px;line-height:1.4}

/* Scenes bring their own consistent window; the live weather layer returns with the character */
.weather-window{transition:opacity 2.4s ease}[data-scene-visible]:is([data-activity=tv],[data-activity=sleep],[data-activity=sleepy],[data-activity=reading],[data-activity=coffee]) .weather-window{opacity:0}

.seated-scratch{opacity:0;transition:opacity .7s ease}[data-gesture=scratch] .seated-scratch{opacity:1}@media(prefers-reduced-motion:reduce){.seated-scratch{transition:none}}

.people-section .memory-form{display:grid;gap:8px;margin-top:14px}.people-section .memory-form input,.people-section .memory-form select{padding:12px;background:#fff;border:1px solid #ddd4e5;border-radius:10px;font:inherit;font-size:14px}.people-section .memory-list div{flex-wrap:wrap;justify-content:flex-end}

.card-owner{display:inline-block;font-size:9px;letter-spacing:.3px;color:#fff;border-radius:8px;padding:1px 6px;vertical-align:2px;opacity:.85}
.calendar-connect select,.calendar-manual select{padding:13px;background:#fff;border:1px solid #ddd4e5;border-radius:10px;width:100%;font:inherit;font-size:14px}.calendar-row .card-owner{margin-left:auto}
#person-filter{flex-wrap:wrap;margin:6px 0 10px}#person-filter+.board-tabs{margin:0 0 6px}

.person-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:10px;box-shadow:0 2px 8px #5e584018}.avatar-button{cursor:pointer}
.avatar-drafts{grid-column:1/-1;width:100%;box-sizing:border-box;margin-top:10px;padding:12px;border-radius:16px;background:#f6f1fa}.avatar-drafts p{margin:0 0 8px;font-size:13px;color:#635269}.avatar-draft-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.avatar-draft{padding:0;border:2px solid transparent;border-radius:50%;background:#f3ece2;aspect-ratio:1;overflow:hidden;cursor:pointer;transition:transform .15s ease,border-color .15s ease}.avatar-draft:hover,.avatar-draft:focus-visible{border-color:#7c5aa7;transform:scale(1.03)}.avatar-draft img{width:100%;height:100%;object-fit:cover;display:block}
/* Family picture and holiday decorations in Mailo's room */
.family-frame{display:none}[data-family] .family-frame{display:inline}
[data-lighting=night] .family-frame{filter:brightness(.62) saturate(.85)}[data-lighting=overcast] .family-frame{filter:brightness(.93) saturate(.9)}
.room-deco image[href=""]{display:none}
[data-scene-visible][data-activity=tv] .deco-advent,[data-scene-visible][data-activity=tv] .advent-flames,[data-scene-visible][data-activity=coffee] .deco-advent,[data-scene-visible][data-activity=coffee] .advent-flames,[data-scene-visible]:is([data-activity=tv],[data-activity=coffee]) .deco-easter{display:none}
.flame-core{fill:#ffd27a}.flame-glow{fill:#ffb347;opacity:.28}[data-lighting=night] .flame-glow{opacity:.55}
.flame-inner{transform-box:fill-box;transform-origin:50% 100%;animation:candle-flicker 2.3s ease-in-out infinite}
@keyframes candle-flicker{0%,100%{transform:scale(1,1)}22%{transform:scale(.94,1.06)}47%{transform:scale(1.04,.95)}71%{transform:scale(.97,1.03)}}
@media(prefers-reduced-motion:reduce){.flame-inner{animation:none}}
.speaker-chip{display:flex;align-items:center;gap:8px;width:max-content;margin:0 auto 8px;padding:5px 12px 5px 5px;border-radius:999px;background:#fffaf3e6;box-shadow:0 4px 14px #5e584022;font-size:13px;color:#5b4a63;opacity:0;transform:translateY(6px);transition:opacity .4s ease,transform .4s ease}.speaker-chip.show{opacity:1;transform:none}.speaker-chip img{width:30px;height:30px;border-radius:50%;object-fit:cover}
.card-owner.with-avatar{padding:2px 7px 2px 2px;display:inline-flex;align-items:center;gap:5px;font-size:10px}.card-owner img{width:19px;height:19px;border-radius:50%;object-fit:cover;background:#f3ece2}
.card-title-avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;vertical-align:-6px;margin-right:8px;background:#f3ece2}
.setup-question{margin:0 0 14px;padding:16px;border-radius:18px;background:#f6f1fa;border:1px solid #e6dcf0}.setup-question p{margin:0 0 12px;font-size:14px;line-height:1.45;color:#4f4057}.setup-question-actions{display:flex;gap:8px;flex-wrap:wrap}.setup-question-actions .button{flex:1;min-width:120px}.setup-question small{display:block;margin-top:8px;font-size:11px;color:#8e7c96}
.people-section .memory-list li{grid-template-columns:1fr}.people-section .memory-list li>div{grid-column:1;grid-row:auto;justify-content:flex-start;margin-top:6px}
.memory-list .avatar-drafts{grid-column:1/-1;grid-row:auto;display:block}.memory-list .avatar-drafts p{font-size:13px;margin:0 0 8px}.memory-list .avatar-draft-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}

/* ── Phone app, v2: calm modern 3D (clay) look matching Mailo's room ───────── */
.list-page{--ink:#2b2431;--muted:#8b8193;--accent:#7a5bb0;--accent-2:#9a7ccf;--card:#fffdfa;--line:#eee8f0;--field:#f8f5f8;
  --clay:0 1px 0 #fff inset,0 14px 30px -18px #4a376654,0 2px 6px #4a37660d;--clay-sm:0 1px 0 #fff inset,0 6px 14px -8px #4a37664d,0 1px 3px #4a37660f;
  font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',system-ui,sans-serif;color:var(--ink);
  background:radial-gradient(120% 60% at 85% -10%,#efe6f7 0%,transparent 60%),linear-gradient(180deg,#f8f4f0 0%,#f3eef3 100%) fixed;min-height:100dvh}
.list-page .phone-shell{padding:max(18px,env(safe-area-inset-top)) 18px calc(118px + env(safe-area-inset-bottom))}
.list-page .phone-header{padding:4px 2px}
.list-page .brand{font-size:21px;letter-spacing:-.6px;gap:8px;color:var(--ink)}
.brand-mailo{width:30px;height:30px;filter:drop-shadow(0 3px 4px #4a376626)}
.list-page .connection{font-size:11px;color:var(--muted);background:#ffffffb3;padding:6px 10px;border-radius:999px;box-shadow:var(--clay-sm)}
/* Large title with the page's 3D object */
.list-page .list-title{position:relative;margin-top:26px;padding-right:86px;min-height:76px}
.title-icon{position:absolute;right:0;top:-2px;width:76px;height:76px;filter:drop-shadow(0 10px 12px #4a37662e)}
.list-page .list-title .eyebrow{font-size:11px;font-weight:600;letter-spacing:1.4px;color:#a194aa;margin-bottom:6px}
.list-page .list-title h1{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','Segoe UI',system-ui,sans-serif;font-size:36px;font-weight:700;letter-spacing:-1.1px;line-height:1.08;margin-bottom:8px;color:var(--ink)}
.list-page .list-title h1 .violet{color:var(--accent-2)}
.list-page .list-title>p:last-child{font-size:14px;line-height:1.45;color:var(--muted);margin-bottom:22px}
/* Floating tab bar with the 3D icons */
.list-page .phone-nav{position:fixed;z-index:20;left:max(12px,calc(50% - 233px));right:max(12px,calc(50% - 233px));bottom:calc(10px + env(safe-area-inset-bottom));margin:0;display:grid;grid-template-columns:repeat(6,1fr);gap:0;padding:7px 4px 6px;border-radius:26px;background:#fffdfacc;backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border:1px solid #ffffffd9;box-shadow:0 18px 40px -16px #4a37665c,0 2px 8px #4a376614}
.list-page .phone-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0 3px;border-radius:18px;font-size:10px;font-weight:500;color:#9a90a2;border:0;transition:background .2s ease,color .2s ease}
.list-page .phone-nav a img{width:30px;height:30px;opacity:.62;filter:saturate(.55);transition:transform .25s cubic-bezier(.2,.8,.2,1),opacity .2s,filter .2s}
.list-page .phone-nav a.active{color:var(--accent);font-weight:650;background:#f1eaf8;padding-bottom:3px}
.list-page .phone-nav a.active img{opacity:1;filter:none;transform:translateY(-1px) scale(1.08)}
.list-page .phone-nav a:active img{transform:scale(.92)}
/* Surfaces */
.list-page .calendar-connect,.list-page .milo-note,.list-page .setup-question,.list-page .add-item,.list-page .board-form{background:var(--card);border:1px solid #fff;border-radius:22px;box-shadow:var(--clay)}
.list-page .calendar-connect{padding:20px;margin:18px 0}
.list-page .calendar-connect h2{font-size:18px;font-weight:650;letter-spacing:-.3px;color:var(--ink);margin-bottom:6px}
.list-page .calendar-connect p,.list-page .calendar-connect details{font-size:13px;line-height:1.5;color:var(--muted)}
.list-page .calendar-connect label,.list-page .calendar-manual label{font-size:12px;font-weight:500;color:#7d7285}
.list-page .milo-note{padding:12px 14px;gap:12px;margin-bottom:18px}
.list-page .milo-note img{width:38px;height:38px;border-radius:12px;background:#f3ecfa;padding:3px}
.list-page .milo-note p{font-size:14px;color:#5f5268}
.list-page .setup-question{padding:18px}.list-page .setup-question p{font-size:14px;color:#4c4154}
/* Fields */
.list-page input:not([type=checkbox]):not([type=file]),.list-page select,.list-page textarea{background:var(--field);border:1px solid #ece4f0;border-radius:14px;box-shadow:inset 0 2px 4px #4a37660a;font-size:16px;color:var(--ink);padding:13px 14px}
.list-page input:focus,.list-page select:focus,.list-page textarea:focus{outline:none;border-color:#c8b5e6;box-shadow:0 0 0 4px #9a7ccf26}
.list-page .add-item{padding:6px 6px 6px 16px;margin-top:18px}.list-page .add-item input{background:none;border:0;box-shadow:none;padding:12px 0}
.list-page .add-item button{width:42px;height:42px;border-radius:14px;background:linear-gradient(180deg,#9a7ccf,#7a5bb0);color:#fff;box-shadow:inset 0 1px 0 #ffffff4d,0 6px 12px -6px #6b4fa0}
/* Buttons */
.list-page .button{border-radius:16px;padding:14px 18px;font-size:15px;font-weight:600;letter-spacing:-.1px}
.list-page .primary{background:linear-gradient(180deg,#9475cc 0%,#7656ad 100%);color:#fff;box-shadow:inset 0 1px 0 #ffffff47,0 10px 20px -10px #6b4fa0cc}
.list-page .primary:hover{background:linear-gradient(180deg,#8a6ac2,#6c4ea2)}
.list-page .secondary{background:#fff;color:var(--ink);box-shadow:var(--clay-sm)}
.list-page .quiet-button{font-size:12px;color:#7b6f86;background:#f4eff7;border-radius:10px;padding:7px 10px}
.list-page .text-link{font-size:14px;color:var(--accent);font-weight:500}
/* Segmented pills */
.list-page .board-tabs,.list-page .scene-buttons{display:flex;flex-wrap:wrap;gap:8px}
.list-page .board-tab{border:0;border-radius:999px;padding:9px 15px;font-size:13px;font-weight:500;background:#fff;color:#6f6378;box-shadow:var(--clay-sm)}
.list-page .board-tab.active{background:linear-gradient(180deg,#9475cc,#7656ad);color:#fff;box-shadow:inset 0 1px 0 #ffffff47,0 8px 16px -10px #6b4fa0}
/* Shopping list as an inset group with soft 3D checkmarks */
.list-page .shopping-items{background:var(--card);border-radius:22px;box-shadow:var(--clay);border:1px solid #fff;padding:0 16px}
.list-page .shopping-items:empty{display:none}
.list-page .shopping-items li{border-bottom:1px solid var(--line);min-height:58px}.list-page .shopping-items li:last-child{border-bottom:0}
.list-page .item-check{padding:15px 0;font-size:17px;color:var(--ink);gap:14px}
.list-page .check-circle{width:26px;height:26px;border:0;background:radial-gradient(circle at 35% 30%,#fff 0%,#f1ecf5 60%,#e3daea 100%);box-shadow:inset 0 -2px 3px #d6cbe0,0 2px 5px #4a37661f;color:transparent}
.list-page .item-check[aria-pressed=true]{color:#a99fb0}
.list-page .item-check[aria-pressed=true] .check-circle{background:radial-gradient(circle at 35% 30%,#c9b4ec 0%,#9877cf 55%,#7656ad 100%);box-shadow:inset 0 -2px 3px #5d4390,0 3px 6px #6b4fa04d;color:#fff}
.list-page .clear-completed{font-size:12px;color:#8a7f93}
.list-page .phone-mic{border-radius:18px;padding:16px;font-size:15px;background:linear-gradient(180deg,#9475cc,#7656ad);box-shadow:inset 0 1px 0 #ffffff47,0 12px 24px -12px #6b4fa0}
.list-page .empty-list h2{font-family:inherit;font-weight:650;font-size:20px;color:var(--ink)}
.list-page .phone-footer{border-top:0;color:#a69cae;font-size:11px}
/* Rows in calendar, memory, devices */
.list-page .calendar-items h2{font-size:12px;letter-spacing:1px;color:#a194aa;margin:24px 4px 10px}
.list-page .calendar-row{background:var(--card);border:1px solid #fff;border-radius:18px;box-shadow:var(--clay-sm);padding:14px 16px;margin:8px 0;font-size:15px;color:var(--ink)}
.list-page .calendar-time{font-size:13px;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums}
.list-page .calendar-empty{font-family:inherit;font-size:16px;color:var(--muted);text-align:center;margin:26px 0}
.list-page .memory-list li,.list-page .device-list li{border-bottom:1px solid var(--line)}
.list-page .memory-list li:last-child,.list-page .device-list li:last-child{border-bottom:0}
.list-page .memory-list p,.list-page .device-list li{font-size:15px;color:var(--ink)}
.list-page .memory-list span,.list-page .device-list li span{font-size:12px;color:var(--muted)}
.list-page .person-avatar{width:44px;height:44px;box-shadow:0 4px 10px -4px #4a376655}
.list-page .setting-row{font-size:15px;color:var(--ink)}.list-page .setting-row small{font-size:12px;color:var(--muted)}.list-page .setting-label{font-size:12px;font-weight:600;color:#7d7285;margin-top:14px}
.list-page .setting-row input{width:24px;height:24px;accent-color:var(--accent)}
.list-page details summary{font-size:14px;color:var(--accent);font-weight:500}
.list-page .phone-error,.list-page .offline-note{border-radius:14px;font-size:13px}
@media(prefers-reduced-motion:reduce){.list-page .phone-nav a img{transition:none}}
.list-page .timer-form,.list-page .board-form{display:grid;gap:8px;padding:18px;margin:14px 0;background:var(--card);border:1px solid #fff;border-radius:22px;box-shadow:var(--clay)}
.list-page .timer-form label,.list-page .board-form label{font-size:12px;font-weight:500;color:#7d7285;margin-top:4px}
.list-page .timer-form .button,.list-page .board-form .button{margin-top:8px;width:100%}
.list-page #timer-empty{font-size:14px;color:var(--muted);text-align:center;margin:6px 0 4px}
.list-page .section-title{font-size:12px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:#a194aa;margin:30px 4px 6px}
.list-page .reminders>.memory-list:not(:empty),.list-page #memory-list:not(:empty),.list-page #people-list:not(:empty),.list-page .device-list:not(:empty){background:var(--card);border:1px solid #fff;border-radius:22px;box-shadow:var(--clay);padding:2px 16px}
.list-page .calendar-connect .memory-list,.list-page .calendar-connect .device-list{background:none;box-shadow:none;border:0;padding:0}
.list-page .muted{font-size:13px;color:var(--muted)}
.list-page form .button{width:100%}
[data-easter] .shopping-paper{display:none}
[data-scene-visible][data-activity=window] :is(.deco-advent,.advent-flames,.deco-easter){display:none}
[data-scene-visible][data-activity=tv] :is(.deco-tree,.shopping-paper){display:none}
[data-scene-visible][data-activity=stretch] :is(.deco-advent,.advent-flames,.deco-easter){display:none}
.tour-label{position:fixed;left:28px;bottom:28px;z-index:50;display:grid;gap:2px;max-width:min(420px,80vw);padding:14px 18px;border-radius:18px;background:#fffdfaeb;backdrop-filter:blur(14px);box-shadow:0 14px 34px -14px #4a37665c;font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif;color:#2b2431}.tour-label small{font-size:11px;color:#9a8fa3;font-variant-numeric:tabular-nums}.tour-label strong{font-size:20px;letter-spacing:-.3px}.tour-label span{font-size:13px;color:#7d7285}
/* Room layers: SVG room · scene video · details on top */
.full-room>svg{position:absolute;inset:0;width:100%;height:100%}
.full-room>.scene-video{position:absolute;object-fit:fill;opacity:0;transition:opacity 1.2s ease;pointer-events:none;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 9%,#000 91%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 9%,#000 91%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000);mask-composite:intersect}
[data-scene-visible][data-video-ready] .scene-video{opacity:1}
.room-top{pointer-events:none}
