/* Grounding and interaction polish: static color treatment; no WebGL renderer. */
.host-sprite{filter:brightness(.94) saturate(.84) sepia(.12) drop-shadow(1px 2px 1px #6a64302e)}
.host-shadow{left:4%;bottom:0;width:96%;height:5%;background:radial-gradient(ellipse,#29322190 0%,#33422856 35%,transparent 72%);filter:none;transform:rotate(-7deg)}
.host-cast-shadow{position:absolute;left:29%;bottom:-1%;width:137%;height:9%;border-radius:50%;transform:rotate(-20deg);transform-origin:15% 50%;background:radial-gradient(ellipse at 20% 50%,#39472c45,transparent 71%);filter:blur(2px)}
.host-grass{position:absolute;left:-8%;bottom:-1.3%;width:116%;height:5.8%;fill:#7c8847;stroke:#b1b26a;stroke-width:.6;opacity:.88}
.host[data-pose=seated] .host-shadow{left:5%;width:98%;height:6%;bottom:0}.host[data-pose=seated] .host-cast-shadow{width:140%;left:15%;height:11%}.host[data-pose=seated] .host-grass{left:0;width:105%;height:4.5%;opacity:.6}
/* Entire objects are click targets. The small label is the discovery cue. */
.place,.place:hover,.place-music:hover{display:block;padding:0;min-height:44px;min-width:44px;transform:none;background:transparent;border:0;border-radius:0;box-shadow:none;color:#fff8e5;transition:none;white-space:nowrap}
.place:after{display:none}.place:not(:disabled):active{transform:none}.place:focus-visible{outline:none}
.place .place-outline{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;fill:transparent;stroke:#fff1b8;stroke-width:2;filter:drop-shadow(0 0 3px #ffe2a66b);opacity:0;transition:opacity .22s}
.place-outline path{vector-effect:non-scaling-stroke;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .7s cubic-bezier(.2,.7,.2,1)}
.place:hover .place-outline,.place:focus-visible .place-outline{opacity:.95}.place:hover .place-outline path,.place:focus-visible .place-outline path{stroke-dashoffset:0}
.place-label{position:absolute;left:50%;top:84%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:7px;padding:7px 9px;font-size:12px;font-weight:500;line-height:1.2;letter-spacing:.1px;color:#faf7e6;text-shadow:0 1px 5px #172014;border-radius:20px;background:#29372270;box-shadow:inset 0 0 0 1px #fff4;transition:background .22s,transform .22s}
.place-label i{height:5px;width:5px;border-radius:50%;background:#fff2b8;box-shadow:0 0 8px #ffeb96;flex-shrink:0}.place-label>span{font-size:12px;opacity:.65}
.place:hover .place-label,.place:focus-visible .place-label{background:#f7f0dce8;color:#343b2e;text-shadow:none;transform:translateX(-50%) translateY(-2px)}
.place:hover .place-label i,.place:focus-visible .place-label i{background:#a4472d;box-shadow:none}.place-profile .place-label{top:78%}.place-gallery .place-label{top:95%}
/* A warm glass surface. Background decor stops while it sits under a tray. */
.room-dialog,.room-dialog[data-room=music]{background:linear-gradient(135deg,#fffdf5e8,#f6efdfdb);border:1px solid #ffffffe0;box-shadow:inset 0 1px 0 #fff,0 22px 65px #29342045;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.room-header{background:#fffdf029}.room-dialog::backdrop{background:#23372316}
body[data-room]:not([data-room='']) .garden-breeze,body[data-room]:not([data-room='']) .pond-glint,body[data-room]:not([data-room='']) .host-sprite{animation-play-state:paused}
.player-views{display:flex;gap:2px;padding:3px;background:#c9c5b139;border:1px solid #c4bea94a;border-radius:20px;margin-left:auto;flex-shrink:0}
.player-views button{font-size:11px;padding:6px 10px;border-radius:16px;background:transparent;min-height:29px;white-space:nowrap}.player-views button[aria-pressed=true]{background:#fffcf1;box-shadow:0 1px 5px #3b42211c;color:var(--accent)}
.selected-album{animation:album-in .3s ease both}@keyframes album-in{from{opacity:.3;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.album-choice img{transition:transform .22s,box-shadow .22s,border-color .22s}.album-choice:hover img{transform:translateY(-5px) rotate(-2deg);box-shadow:4px 10px 15px #44351e35}.album-choice[aria-pressed=true] img{transform:translateY(-2px)}
@media(min-width:701px){
.room-dialog[data-room=music][data-player-layout=cover]{width:min(1130px,calc(100vw - 48px));height:min(555px,85svh)}
[data-player-layout=cover] .album-feature{grid-template-columns:minmax(160px,205px) minmax(120px,1fr)}
.room-dialog[data-room=music][data-player-layout=compact]{width:min(870px,calc(100vw - 48px));height:min(480px,83svh)}
[data-player-layout=compact] .selected-album{grid-template-columns:minmax(230px,.9fr) minmax(280px,1.1fr);gap:24px}
[data-player-layout=compact] .album-feature{grid-template-columns:116px 1fr;gap:17px;align-items:start}
[data-player-layout=compact] .album-text h2{font-size:23px}[data-player-layout=compact] .album-text>p:last-child{font-size:11px}
[data-player-layout=compact] .track-list{max-height:92px}[data-player-layout=compact] .album-choice{width:62px;flex-basis:62px}[data-player-layout=compact] .album-choice img{width:62px;height:62px}
}
@media(max-width:700px){
.place-label{font-size:10px;gap:5px;padding:6px 8px}.place-label>span{display:none}.place-gallery .place-label{left:30%}.place-profile .place-label{top:79%;left:54%}.place .place-outline{stroke-width:1.4}
.room-dialog,.room-dialog[data-room=music]{backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);background:linear-gradient(135deg,#fffdf5ee,#f6efdfeb)}
.shelf-heading{gap:6px}.shelf-heading h2{font-size:11px}.player-views{padding:2px}.player-views button{font-size:10px;padding:5px 8px}.shelf-arrows{gap:0}.shelf-arrows .round-button{width:28px;height:30px}
.room-dialog[data-room=music][data-player-layout=compact]{height:70svh}
[data-player-layout=compact] .album-feature{grid-template-columns:76px 1fr;gap:14px}[data-player-layout=compact] .loaded-cover{width:76px;height:76px}[data-player-layout=compact] .album-text h2{font-size:21px}[data-player-layout=compact] .album-text>p:last-child{display:none}[data-player-layout=compact] .album-controls{margin-top:13px}
}
body[data-still=true] .selected-album{animation:none;opacity:1;transform:none}
body[data-still=true] .place-outline path,body[data-still=true] .place-outline,body[data-still=true] .place-label{transition:none}
@media(prefers-reduced-motion:reduce){.selected-album{animation:none}.place-outline,.place-outline path,.place-label,.album-choice img{transition:none}}
@media(prefers-reduced-transparency:reduce){.room-dialog,.room-dialog[data-room=music]{background:#fcf6e8;backdrop-filter:none;-webkit-backdrop-filter:none}}

@media(max-width:700px){.place-music .place-label{top:70%}}
@media(min-width:701px){.room-dialog[data-room=music][data-player-layout=compact]{height:min(500px,85svh)}[data-player-layout=compact] #album-selection{padding:16px 26px}}
