/* Character composition is managed by the shared 2D rig. */
/* Anchor the hips on the cushion, rather than the feet in front of the chair. */
.app.close-view .character{left:51%;bottom:28%;height:50%;width:auto;aspect-ratio:2/3;max-height:none;transform-origin:53% 76%;animation:seated-breathe 4.5s ease-in-out infinite}
.app.close-view.reading-pose .character{left:47%;bottom:29%;height:50%;transform-origin:66% 77%}
.app.close-view .character.touched{animation:seated-nod .8s ease-in-out}
.seat-contact{display:none;position:absolute;z-index:3;left:42%;top:58.3%;width:23%;height:2%;border-radius:50%;background:#46502c38;filter:blur(4px);pointer-events:none}
.close-view .seat-contact{display:block}
.close-view.reading-pose .seat-contact{left:45%;top:57.7%;width:20%}
@keyframes seated-breathe{0%,100%{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.008,1.009)}}
@keyframes seated-nod{0%,100%{transform:translateX(-50%) rotate(0)}45%{transform:translateX(-50%) rotate(-1deg)}}
.app .side-nav{top:23%;gap:8px;z-index:6}
.app .side-nav button{min-height:56px}
.app .expression-picker{top:32%;right:76px;grid-template-columns:repeat(2,minmax(70px,1fr));gap:8px;max-height:calc(65% - 85px);overflow-y:auto;padding:12px}
.app .expression-picker button{min-height:40px}
/* The painted bedside lamp is the switch, in both room views. */
.table-lamp{position:absolute;z-index:5;right:3.5%;top:35%;width:12%;min-width:44px;height:11%;min-height:44px;background:none;padding:0;border-radius:40% 40% 24% 24%;-webkit-tap-highlight-color:transparent}
.app.close-view .table-lamp{right:0;top:39%;width:11%;height:16%}
.table-lamp:focus-visible{outline:2px solid #ad9867;outline-offset:3px;background:#fff3c81a}
.table-lamp::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 35%,#ffe19d60,transparent 72%);opacity:0;transition:opacity 1.4s;pointer-events:none}
.night .table-lamp::after{opacity:1}
.daylight,.ambient-light{position:absolute;inset:0;pointer-events:none;z-index:2;transition:opacity 1.4s,background 1.4s}
.daylight{opacity:.68;background:radial-gradient(ellipse at 73% 27%,#fff6d352,transparent 48%),linear-gradient(119deg,transparent 43%,#ffe8aa24 44%,#fff0bc18 53%,transparent 54%)}
.ambient-light{opacity:.08;background:linear-gradient(135deg,#d5e0e9 8%,transparent 65%)}
.app .room-art{filter:saturate(.96) brightness(1.01);transition:filter 1.4s}
.app.rainy .room-art{filter:saturate(.78) brightness(.94)}
.rainy .daylight{opacity:0}
.rainy .ambient-light{opacity:.32;background:linear-gradient(130deg,#9dadbe80,#c4c7c52e 60%,#d2b18d1a)}
.app .rain{background:linear-gradient(#8197ad91,#9aaab46e);transition:opacity 1.4s}
.app .night-wash{z-index:2;pointer-events:none}
.app.night .night-wash{opacity:.12;background:#354054}
.app.night .room-art{filter:brightness(.87) saturate(.9)}
.app.night.rainy .room-art{filter:brightness(.83) saturate(.76)}
.night .daylight{opacity:.1}
.night .ambient-light{opacity:.13}
.app .lamp-glow,.app.close-view .lamp-glow{z-index:3;pointer-events:none;inset:0;width:100%;height:100%;background:radial-gradient(ellipse 28% 24% at 91% 39%,#ffdc9275,transparent 85%),radial-gradient(ellipse 49% 32% at 75% 64%,#fbd9a132,transparent 90%);transition:opacity 1.4s}
.app.close-view .lamp-glow{background:radial-gradient(ellipse 30% 25% at 98% 44%,#ffdc9280,transparent 85%),radial-gradient(ellipse 55% 33% at 73% 63%,#ffdb9c3d,transparent 90%)}
.app .character{filter:brightness(.99) saturate(.96);transition:filter 1.4s,opacity .24s ease}
.app.rainy .character{filter:brightness(.95) saturate(.87)}
.app.night .character{filter:brightness(.98) saturate(.96) drop-shadow(2px 1px 2px #e8bd5b20)}
@media(max-height:700px){.app .side-nav{top:27%;gap:4px}.app .side-nav button{min-height:43px}.app .expression-picker{top:32%;right:65px;gap:6px;padding:9px}.app .expression-picker button{padding:8px;min-height:36px}}
@media(max-width:350px){.app .expression-picker{right:59px}.view-switch{right:10px}.weather{left:14px}}
@media(prefers-reduced-motion:reduce){.head-group,.room-art,.daylight,.ambient-light,.lamp-glow,.character,.lamp-shade{transition:none!important}}
