/* Refinement 02: one garden, coherent content trays and native scene proportions. */
:root{--paper:#fcf6e8;--line:#daceb9;--ink:#343b2e;--muted:#777765;--accent:#a4472d}
.scene-record{transform:translate(-50%,-50%) scaleY(var(--disc-tilt,.35));overflow:visible;z-index:1}.scene-record img{border-radius:50%;height:100%;width:100%;box-shadow:0 0 0 1px #2a261e}.scene-record:after{content:'';position:absolute;left:46%;top:46%;height:8%;width:8%;border-radius:50%;background:#24221b}
.host{transform:translate(-50%,-100%);aspect-ratio:auto;transition:left .65s ease,top .65s ease;z-index:2}.host-sprite{background-image:url('./assets/host-idle-v2.webp');background-size:400% 100%;animation:host-life 10s step-end infinite}.host-shadow{left:10%;width:80%;bottom:-1%;height:4%;background:#283b3740;filter:blur(4px)}
body[data-playing=true] .host-sprite{animation:host-life 10s step-end infinite}
body[data-room]:not([data-room='']) .host-sprite{animation-play-state:running}
.host[data-pose=seated] .host-sprite{background-image:url('./assets/host-seated.webp');background-size:300% 100%;animation:pose-breathe 5s step-end infinite}
.host[data-pose=gallery] .host-sprite{background-image:url('./assets/host-gallery.webp');background-size:300% 100%;animation:pose-look 8s step-end infinite}
@keyframes pose-breathe{0%,100%{background-position:0% 0}35%,64%{background-position:50% 0}65%,90%{background-position:100% 0}}
@keyframes pose-look{0%,100%{background-position:0% 0}32%,59%{background-position:50% 0}60%,86%{background-position:100% 0}}
.pose-arrive .host-sprite{animation-duration:7s}.garden-breeze{position:absolute;bottom:-3%;width:24%;height:28%;pointer-events:none;z-index:3;background:url('./assets/garden-foliage.webp') center bottom/contain no-repeat;transform-origin:50% 100%;animation:breeze 8.5s ease-in-out infinite alternate}.breeze-left{left:-6%;--breeze-angle:1.8deg}.breeze-right{right:-7%;width:22%;height:24%;--breeze-angle:-1.4deg;animation-duration:11s;animation-delay:-4s}
@keyframes breeze{0%,20%{transform:rotate(0deg)}80%,100%{transform:rotate(var(--breeze-angle))}}
.places{z-index:4}.place-profile,.place-gallery{font-size:13px}.place{min-height:44px}.masthead{z-index:5}.top-nav button{font-size:14px}.mini-player{z-index:5}
/* Every destination opens as an object-sized tray, leaving the garden visible. */
.room-dialog,.room-dialog[data-room=music]{inset:auto 24px 24px;margin:0 auto;width:min(1080px,calc(100vw - 48px));height:min(560px,80svh);border-radius:24px;background:#fcf6e8;box-shadow:0 24px 80px #25312150;border:1px solid #fff9}
.room-dialog[open]{animation:tray-in .32s cubic-bezier(.2,.8,.2,1)}@keyframes tray-in{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.room-dialog::backdrop{background:#23372320}.room-header{padding:19px 26px 15px;align-items:center;border-bottom:1px solid var(--line)}.room-header h1{font-size:27px;line-height:1.1}.room-header .eyebrow{font-size:10px;margin-bottom:7px;letter-spacing:1.7px}.close-room{width:37px;height:37px}.room-content{min-height:0;scrollbar-gutter:stable}
.music-room{display:grid;grid-template-columns:1fr 240px;min-height:100%;padding:0}.shelf-block{grid-column:2;grid-row:1;border-left:1px solid var(--line);min-width:0}.shelf-heading{padding:19px 18px 13px}.shelf-heading h2{font-size:13px}.shelf-heading small{font-size:12px}.shelf-arrows{display:none}.album-shelf{padding:0 16px 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 12px;overflow:visible}.album-choice{width:100%;min-width:0}.album-choice img{width:100%;height:auto;aspect-ratio:1;border-width:2px;border-radius:6px}.album-choice span{font-size:12px;line-height:1.35;margin-top:7px}.album-choice[aria-pressed=true] img{box-shadow:0 0 0 2px var(--accent),3px 7px 10px #52352320}
#album-selection{grid-column:1;grid-row:1;padding:24px 25px;position:sticky;top:0;align-self:start;min-width:0}.selected-album{display:grid;grid-template-columns:minmax(160px,.88fr) minmax(220px,1.12fr);gap:26px;margin:0;padding:0;border:0}.album-feature{min-width:0}.loaded-cover{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:9px;box-shadow:0 10px 25px #4036212b;animation:none!important;transform:none}.album-text{margin-top:19px}.album-text .eyebrow{font-size:10px;letter-spacing:1.2px;margin-bottom:8px}.album-text h2{font-size:25px;line-height:1.16;letter-spacing:-.5px;margin-bottom:9px}.album-text>p:last-child{font-size:12px;line-height:1.5}.album-controls{min-width:0}.playback{margin:0}.playback-row{gap:9px;flex-wrap:wrap}.primary-play{min-width:109px;min-height:44px;font-size:14px}.play-status{font-size:12px;line-height:1.4;min-width:70px}.volume-button{height:35px;width:30px}.progress-row{margin:10px 0 12px;font-size:11px;gap:7px}.track-list{margin:0;max-height:242px;overflow-y:auto;scrollbar-width:thin;padding-right:4px}.track-button{padding:11px 2px;grid-template-columns:20px 1fr auto;gap:7px;min-height:45px}.track-name{font-size:13px}.track-duration{font-size:11px}.album-story{margin-top:12px;font-size:12px}.album-description{font-size:14px;line-height:1.7}.selection-empty{display:flex;flex-direction:column;justify-content:center;min-height:325px;border:0;margin:0;padding:28px;text-align:left}.selection-empty h2{font-size:34px;max-width:310px;line-height:1.15;margin:8px 0 17px}.selection-empty p{font-size:15px;line-height:1.6}.selection-empty .eyebrow{font-size:11px;color:var(--accent)}
/* Profile: short introduction first, résumé unfolds in place. */
.room-dialog[data-room=profile]{width:min(780px,calc(100vw - 48px));height:auto;max-height:84svh}.profile-room{padding:27px 30px 24px}.profile-lead{display:grid;grid-template-columns:155px 1fr;gap:30px;align-items:center}.profile-portrait{height:230px;background:url('./assets/host-idle-v2.webp') left center/400% 100% no-repeat;align-self:start}.profile-intro{font-size:26px;line-height:1.3;margin:0 0 16px}.profile-role{font-size:13px;margin:0 0 14px}.profile-copy{font-size:15px;line-height:1.65;margin:0 0 18px}.contact-link{font-size:14px}.resume-fold{margin-top:25px;border-top:1px solid var(--line)}.resume-fold summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;padding:18px 0 0;font-size:14px}.resume-fold summary span{font-size:22px;line-height:18px}.resume-fold[open] summary span{transform:rotate(45deg)}.resume-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;margin-top:24px}.resume-list li{padding-bottom:14px}.resume-list h3{font-size:14px}.resume-list p{font-size:12px}
/* Gallery and films share a compact album tray. */
.room-dialog[data-room=gallery]{height:min(660px,84svh);width:min(1000px,calc(100vw - 48px))}.gallery-room{padding:20px 25px 28px}.media-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:21px}.media-heading>p{font-size:13px;color:var(--muted);margin:0}.media-tabs{display:flex;gap:5px;background:#e9e3d4;padding:4px;border-radius:30px;flex-shrink:0}.media-tabs button{background:none;padding:10px 17px;border-radius:25px;font-size:14px}.media-tabs button[aria-pressed=true]{background:var(--paper);box-shadow:0 2px 5px #332d2310}.media-tabs small{font-size:11px;color:var(--muted);margin-left:6px}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.gallery-item{aspect-ratio:4/5;border-radius:8px}.gallery-item span{font-size:12px;padding:25px 11px 11px}.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 18px}.video-card{background:none;padding:0;text-align:left;min-width:0}.video-thumb{position:relative;display:block;aspect-ratio:16/10;background:#dddacb;border:1px solid #c7cbb9;border-radius:9px;overflow:hidden}.video-thumb img{width:100%;height:100%;object-fit:cover}.video-number{font:52px Georgia,serif;color:#798b7180;position:absolute;left:17px;top:17px}.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fcf6e8de;color:var(--accent)}.video-thumb small{position:absolute;bottom:10px;left:12px;font-size:11px;background:#fcf6e8c9;padding:3px 6px;border-radius:4px}.video-card>strong{display:block;font-size:14px;line-height:1.4;margin:10px 0 4px;font-weight:500}.video-card>span:last-child{font-size:12px;color:var(--muted)}#video-stage:empty{display:none}#video-stage{margin-bottom:25px;border-bottom:1px solid var(--line);padding-bottom:20px}.video-stage-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 14px}.video-stage-header h2{font:23px Georgia,serif;margin:0}.video-stage-header button{width:35px;height:35px}#video-stage iframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:9px;background:#20261c}.video-caption{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-top:14px}.video-caption p{font-size:12px;line-height:1.6;white-space:pre-line;flex:1;margin:0;color:var(--muted)}.video-caption a{font-size:12px;flex-shrink:0;color:var(--accent)}
@media(max-width:1050px){.room-dialog,.room-dialog[data-room=music]{height:min(590px,81svh)}.music-room{grid-template-columns:1fr 185px}.album-shelf{gap:15px 10px;padding:0 12px 20px}.selected-album{gap:20px;grid-template-columns:minmax(130px,.85fr) minmax(190px,1.15fr)}#album-selection{padding:23px 20px}.album-text h2{font-size:22px}.shelf-heading{padding:18px 12px 12px}.gallery-grid{gap:12px}.profile-lead{gap:22px}}
@media(max-width:700px){.room-dialog,.room-dialog[data-room=music],.room-dialog[data-room=gallery],.room-dialog[data-room=profile]{inset:auto 0 0;width:100%;height:76svh;max-height:90svh;border-radius:23px 23px 0 0}.room-header,.room-dialog[data-room=music] .room-header{padding:17px 20px 14px}.room-header h1,.room-dialog[data-room=music] .room-header h1{font-size:24px}.room-header .eyebrow{font-size:9px}.music-room{display:flex;flex-direction:column}.shelf-block{order:2;border-left:0;border-top:1px solid var(--line);margin-top:auto}.shelf-heading,.room-dialog[data-room=music] .shelf-heading{padding:13px 20px 7px}.shelf-arrows{display:flex}.album-shelf{display:flex;overflow-x:auto;gap:13px;padding:3px 20px 17px}.album-choice{width:83px;flex:0 0 83px}.album-choice img{width:83px;height:83px}.album-choice span{font-size:11px}.shelf-heading h2{font-size:13px}#album-selection{order:1;position:static;padding:18px 20px;flex:1}.selected-album{display:block}.album-feature{display:grid;grid-template-columns:118px 1fr;gap:18px;align-items:center}.loaded-cover{width:118px;height:118px;border-radius:7px}.album-text{margin:0}.album-text h2{font-size:23px}.album-text .eyebrow{font-size:9px;letter-spacing:1px}.album-text>p:last-child{font-size:12px}.album-controls{margin-top:18px}.playback-row{flex-wrap:nowrap}.play-status{font-size:12px}.primary-play{min-width:110px}.progress-row{margin:8px 0}.track-list{max-height:135px;margin-top:8px}.track-button{padding:10px 2px;min-height:44px}.track-name{font-size:13px}.album-story{margin-top:7px}.selection-empty{min-height:190px;padding:12px 0}.selection-empty h2{font-size:29px}.selection-empty p{font-size:14px}.room-dialog[data-room=profile]{height:auto}.profile-room{padding:24px 21px}.profile-lead{grid-template-columns:90px 1fr;gap:17px}.profile-portrait{height:196px;background-size:400% 100%}.profile-intro{font-size:22px}.profile-role{font-size:12px;line-height:1.5}.profile-copy{font-size:14px}.profile-lead .eyebrow{font-size:9px}.resume-list{grid-template-columns:1fr}.room-dialog[data-room=gallery]{height:83svh}.gallery-room{padding:16px 18px 25px}.media-heading{align-items:start;gap:14px;flex-direction:column;margin-bottom:17px}.media-heading>p{font-size:12px}.media-tabs button{padding:9px 17px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 13px}.video-card>strong{font-size:13px}.video-caption{display:block}.video-caption a{display:inline-block;margin-top:10px}.video-stage-header h2{font-size:20px}.top-nav button{font-size:12px;padding:9px 11px}.top-nav svg{display:none}.garden-breeze{width:34%;height:23%}.breeze-left{left:-12%}.breeze-right{right:-13%}.place{font-size:12px}}
@media(max-height:560px) and (orientation:landscape){.room-dialog,.room-dialog[data-room=music]{height:92svh;bottom:8px}.room-header{padding:12px 22px}.room-header h1{font-size:23px}.selected-album{grid-template-columns:125px 1fr}.album-text h2{font-size:19px}.track-list{max-height:140px}.room-dialog[data-room=profile],.room-dialog[data-room=gallery]{height:92svh;max-height:92svh}.host{transition:none}}
@media(prefers-reduced-motion:reduce){.host{transition:none}.room-dialog[open]{animation:none}}
body[data-still=true] .host{transition:none}body[data-still=true] *,body[data-page-hidden=true] *{animation-play-state:paused!important}
@media(min-width:701px){
.room-dialog[data-room=music]{height:min(535px,85svh)}
.music-room{display:flex;flex-direction:column;min-height:100%}
#album-selection{order:1;position:static;padding:21px 26px;flex:1}
.selected-album{grid-template-columns:1.1fr 1fr;gap:29px}
.album-feature{display:grid;grid-template-columns:minmax(145px,190px) minmax(120px,1fr);gap:22px;align-items:center}
.album-text{margin:0}.album-text h2{font-size:25px}.album-text>p:last-child{font-size:13px}.album-feature .loaded-cover{width:100%;height:auto}
.track-list{max-height:135px}.album-story{margin-top:7px}
.shelf-block{order:2;border-left:0;border-top:1px solid var(--line);margin-top:auto}
.shelf-heading{padding:12px 26px 8px}.shelf-arrows{display:flex}.album-shelf{display:flex;overflow-x:auto;gap:17px;padding:3px 26px 16px}.album-choice{width:87px;flex:0 0 87px}.album-choice img{width:87px;height:87px}.album-choice span{font-size:11px}.selection-empty{min-height:195px;padding:0 12px}.selection-empty h2{max-width:none;font-size:31px;margin:4px 0 10px}.selection-empty p{font-size:14px}
.profile-portrait{width:92px;height:270px;justify-self:center}
}
@media(min-width:701px) and (max-width:950px){.album-feature{grid-template-columns:140px 1fr;gap:16px}.selected-album{gap:20px}.album-text h2{font-size:21px}.album-text>p:last-child{font-size:12px}.play-status{display:none}.volume-button{margin-left:auto}}
@media(max-width:700px){.profile-portrait{width:66px;height:193px;justify-self:center}}
@media(min-width:701px){.room-dialog[data-room=music] .room-header{padding:15px 26px 13px}.track-list{max-height:110px}.shelf-heading{padding:9px 26px 5px}.album-choice{width:76px;flex-basis:76px}.album-choice img{width:76px;height:76px}.album-shelf{padding-bottom:13px}.host-shadow{bottom:6%;height:3%}}
/* A real disc label flies above the tray rather than being clipped by it. */
.room-dialog:has(.flying-cover){overflow:visible}.flying-cover{border-radius:50%;box-shadow:none}
.host{transition:none}.pose-arrive{animation:host-arrive .45s ease}@keyframes host-arrive{from{opacity:0}to{opacity:1}}
@media(max-width:700px){.track-list{max-height:88px}.album-choice{width:70px;flex-basis:70px}.album-choice img{width:70px;height:70px}.album-shelf{padding-bottom:12px}.shelf-heading,.room-dialog[data-room=music] .shelf-heading{padding-top:9px;padding-bottom:5px}}
.video-caption details{flex:1;font-size:12px;color:var(--muted)}.video-caption summary{cursor:pointer;padding-bottom:7px}.video-help{font-size:12px;line-height:1.5;color:var(--muted);margin:12px 0 0}
@media(min-width:701px){.track-list{max-height:90px}}
/* Small existing-water texture patch: feathered edges and subpixel drift only. */
.pond-glint{position:absolute;pointer-events:none;z-index:0;mask-image:radial-gradient(ellipse,#000 25%,transparent 70%);transform-origin:50% 50%;animation:water-glint 9s ease-in-out infinite alternate;opacity:.8}
@keyframes water-glint{from{transform:translateX(-.6px) scaleY(.985);opacity:.45}to{transform:translateX(.6px) scaleY(1.018);opacity:.9}}
/* Turning motion off must leave newly opened trays and poses fully visible. */
body[data-still=true] .room-dialog[open],body[data-still=true] .pose-arrive{animation:none!important;opacity:1}
body[data-still=true] .host-sprite{animation:none!important;background-position:0 0!important}
.room-dialog[data-room=profile]:has(.resume-fold[open]){height:min(720px,84svh)}
