/* Source-sized illustration, with quiet margins on ultrawide displays. */
.site-scene{background:#a7b9b2}
.site-scene-image::before,.site-scene-image::after{display:none}
.site-scene::after{background:linear-gradient(180deg,#f6f4eb08,#f6f4eb18)}
.room-art{position:absolute;width:min(100%,1672px);height:100%;left:50%;transform:translateX(-50%);opacity:var(--scene-strength);overflow:hidden;background:#eee9dc url('/backgrounds/atelier-day.webp') center/cover no-repeat}
html[data-background-style]:not([data-background-style=classic]) .room-art{width:100%;max-width:none;mask-image:none}
html[data-background-style]:not([data-background-style=classic]) .room-weather{display:none}
html[data-background-style]:not([data-background-style=classic])[data-scene-theme=night] .room-art{filter:brightness(.76) saturate(.88)}
html[data-background-style]:not([data-background-style=classic])[data-scene-theme=night][data-room-art=score] .room-art{filter:brightness(.76) saturate(.88)}
.room-art>img,.room-art>.living-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.living-art{pointer-events:none}
.living-art[hidden]{display:none!important}
html[data-scene-theme=night] .site-scene{background:#14232d}
html[data-scene-theme=night][data-room-art=score] .room-art{filter:brightness(.65) saturate(.85)}
.room-sleep{display:none;position:absolute;right:12%;top:27%;color:#e5eafb;text-shadow:0 2px 8px #20364c;font:italic 22px Georgia}
.room-art[data-sleeping=true] .room-sleep{display:flex;gap:9px}
.room-sleep i{animation:dream-rise 4s infinite}.room-sleep i:nth-child(2){animation-delay:1s}.room-sleep i:nth-child(3){animation-delay:2s}
.room-weather{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.room-weather i{position:absolute;left:var(--x);top:-15px;width:var(--size);height:var(--size);border-radius:50%;background:#fff8df;opacity:.6;animation:weather-fall var(--duration) var(--delay) linear infinite}
html[data-weather=stars] .room-weather i{top:calc(var(--x) * .7);animation:star-glimmer 5s var(--delay) ease-in-out infinite;box-shadow:0 0 8px #ffe7aa}
html[data-weather=rain] .room-weather i{width:1px;height:20px;border-radius:0;background:#bbd4e0;animation-duration:2s;opacity:.35}
.companion-person{position:relative;flex:0 0 auto;width:clamp(70px,11vw,135px);height:140px;padding:0;border:0;background:transparent;transform-origin:center bottom;cursor:pointer}
.companion-person img,.companion-person .living-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:bottom;animation:none}
.companion-person:focus-visible{outline:2px solid var(--ink);outline-offset:5px;border-radius:12px}
.companion-person:hover{filter:drop-shadow(0 0 8px #e7d6a0)}
.companion-emote{position:absolute;right:5%;top:5%;font:22px Georgia;color:var(--ink);text-shadow:0 1px 6px var(--paper)}
.companion-person[data-action=peek]{animation:actor-peek 3s ease-in-out}
.companion-person[data-action=write],.companion-person[data-action=nod]{animation:actor-nod 2.8s ease-in-out}
.companion-person[data-action=page],.companion-person[data-action=wave]{animation:actor-wave 3s ease-in-out}
.companion-person[data-action=stretch]{animation:actor-stretch 3.5s ease-in-out}
.companion-person[data-action=sleepy]{animation:actor-nod 5s ease-in-out}
.epilogue-dialogue{max-width:410px;min-height:65px;align-items:center;flex-wrap:wrap;justify-content:center}
.epilogue-dialogue span{line-height:1.65;white-space:normal}
html[data-scene-theme=night] .epilogue-dialogue span{background:#263b43;border-color:#6c8586;color:#ecf1e8}
.room-sound{margin-top:14px;width:100%;padding:9px;border:1px solid var(--line);border-radius:6px;background:var(--pale);color:var(--ink);font-size:12px}
.home-workflow-heading,.archive-controls{padding:14px 18px;background:var(--glass-bg);border:1px solid var(--glass-line);border-radius:9px;backdrop-filter:blur(18px)}
.archive-controls .filters button{background:var(--paper);color:var(--ink)}
.archive-controls .filters button.active{background:var(--ink);color:var(--paper)}
.hero-art .art-number{color:#294237}
.projection-stage{padding:34px 160px 45px 0;min-height:390px}
.projection-witch{left:auto;right:-25px;bottom:0;width:230px;height:340px;transform:none;filter:drop-shadow(0 8px 12px #24190d66)}
.projection-witch>img,.projection-witch>.living-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.projection-witch:after{content:'';position:absolute;bottom:6px;left:15%;width:75%;height:14px;border-radius:50%;background:#eaca7d40;box-shadow:0 0 18px #ffe3a566;z-index:-1}
.wand-light{position:absolute;left:24%;top:24%;width:9px;height:9px;border-radius:50%;background:#fff4cb;box-shadow:0 0 12px 5px #ffe5a3,0 0 38px 14px #ebc07870;animation:star-glimmer 2.5s ease-in-out infinite}
.wand-orbit{position:absolute;left:12%;top:12%;width:70px;height:70px;border:1px dotted #ffe7a8a0;border-radius:50%;animation:wand-orbit 14s linear infinite}
.wand-orbit:after{content:'✦';position:absolute;top:-8px;left:25px;color:#fff0b9}
.witch-caption{position:absolute;bottom:12px;right:3px;font:12px var(--serif);color:#fff0ce;text-shadow:0 2px 5px #261b10}
.projection-sparkles{left:auto;right:0;bottom:60px;transform:none}
html[data-scene-theme=night] .hero-copy,html[data-scene-theme=night] .page-top{background:#17272ee8}
html[data-scene-theme=night] .feature p,html[data-scene-theme=night] .hero-desc{color:#d4e1da}
@keyframes weather-fall{to{transform:translate(24px,110vh)}}
@keyframes star-glimmer{0%,100%{opacity:.2;transform:scale(.7)}50%{opacity:.85;transform:scale(1.15)}}
@keyframes dream-rise{0%{opacity:0;transform:translateY(12px) scale(.7)}50%{opacity:.8}100%{opacity:0;transform:translateY(-25px) scale(1.15)}}
@keyframes actor-peek{30%,70%{transform:translateX(7px) rotate(5deg)}}
@keyframes actor-nod{25%,65%{transform:rotate(3deg) translateY(3px)}45%{transform:rotate(-2deg)}}
@keyframes actor-wave{25%,65%{transform:rotate(-5deg)}45%,80%{transform:rotate(4deg)}}
@keyframes actor-stretch{40%,65%{transform:scaleY(1.05) rotate(-4deg)}}
@keyframes wand-orbit{to{transform:rotate(360deg)}}
@media(min-width:1800px){.room-art{mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}}
@media(max-width:760px){.projection-stage{padding:25px 0 150px;min-height:0}.projection-witch{right:0;bottom:-8px;width:145px;height:215px}.witch-caption{display:none}.projection-display{z-index:4}.room-weather{display:none}.room-art>img,.room-art>.living-art{object-position:65% center}.room-sleep{right:18%}}
@media(max-width:700px){.companion-epilogue{padding-top:100px}.companion-person{height:100px;width:20%;max-width:95px}.epilogue-dialogue{top:12px;width:calc(100% - 24px);max-width:410px;white-space:normal;min-height:65px}.epilogue-dialogue span{font-size:11px}.companion-person img{height:100%}}
@media(prefers-reduced-motion:reduce){.room-weather,.room-sleep,.wand-orbit{display:none}.companion-person,.wand-light{animation:none!important}}
@media print{.room-weather,.room-sound{display:none}}
