#atelier{background:#211810;color:#ecddc8;position:relative;z-index:8;padding:58px 0 32px;font-family:Arial,sans-serif}
.atelier-heading,.room-tools,.room-index,.room-bottom{margin-left:auto;margin-right:auto;width:calc(100% - 64px);max-width:1800px}
.atelier-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:32px}.room-kicker{font-size:10px;letter-spacing:.19em;color:#b9946b;margin:0 0 12px}#atelier-title{font:400 clamp(28px,3.4vw,55px)/1.05 Georgia,serif;letter-spacing:-.035em;margin:0}.room-intro{font-size:12px;line-height:1.7;color:#b8a58c;margin:0}
.room-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:#b8a58c;margin-bottom:12px}.room-tools>div{display:flex;gap:8px}.room-tools button{border:1px solid #695038;background:transparent;color:#dac3a3;border-radius:3px;padding:9px 12px;font-size:11px;cursor:pointer;min-height:40px}.room-tools button:hover{background:#3c2a1b}
#room-window{width:100%;overflow:auto;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;scrollbar-color:#9b6c40 #251a12;scrollbar-width:thin}#room-canvas{width:100%;aspect-ratio:16/9;position:relative;isolation:isolate;transform-origin:center;transition:width .35s}#room-window.is-zoomed #room-canvas{width:max(145%,1100px)}#room-window:focus-visible{outline:2px solid #f4cd88;outline-offset:-3px}#room-fallback,#room-svg{width:100%;height:100%;position:absolute;inset:0;display:block}#room-fallback{object-fit:contain}#room-svg{overflow:visible}.scene-object{cursor:pointer;outline:none}.object-pixels{pointer-events:none;transform-origin:var(--cx) var(--cy);transition:transform .4s cubic-bezier(.2,.65,.3,1),filter .4s}.object-hit{fill:transparent;stroke:none;pointer-events:all}.object-halo{fill:none;stroke:#ffe0a0;stroke-width:1.5;opacity:0;pointer-events:none;transition:opacity .35s}.object-label{opacity:0;pointer-events:none;transition:opacity .25s;filter:drop-shadow(0 3px 4px #140b07aa)}.object-label rect{fill:#24160f;fill-opacity:.93;stroke:#d3ac72;stroke-opacity:.45;stroke-width:1}.object-label text{fill:#ffead0;font:20px Arial,sans-serif}.scene-object.is-active .object-label,.scene-object:focus-visible .object-label,.scene-object.is-active .object-halo,.scene-object:focus-visible .object-halo{opacity:1}.scene-object.is-active .object-pixels,.scene-object:focus-visible .object-pixels{filter:brightness(1.09);transform:translateY(-2px) rotate(-.7deg)}.scene-object[data-id="focus"].is-active .object-pixels{transform:translateY(-1.5px) rotate(1.4deg)}.scene-object[data-id="affiches"].is-active .object-pixels,.scene-object[data-id="archives"].is-active .object-pixels{transform:none;filter:brightness(1.14)}
.object-halo{display:none}.scene-object:focus-visible .object-hit{stroke:#e5c18a;stroke-width:2;stroke-dasharray:3 5}.tv-light{opacity:0;transition:opacity .6s;pointer-events:none}.scene-object[data-id="tv"].is-active .tv-light,.scene-object[data-id="tv"]:focus-visible .tv-light{opacity:1;animation:tv-wake .75s ease-out both}@keyframes tv-wake{0%{opacity:0}18%{opacity:.45}25%{opacity:.3}100%{opacity:1}}
.room-index{display:flex;gap:0;flex-wrap:wrap;justify-content:space-between;padding:22px 0;border-bottom:1px solid #4d3824}.room-index a{min-height:44px;display:flex;gap:8px;align-items:center;color:#917454;font-size:9px;padding:9px 12px 9px 0}.room-index span{font-size:11px;color:#d2b896}.room-index a:hover span,.room-index a:focus-visible span{color:#fff0d4}.room-index a:focus-visible,.room-tools button:focus-visible{outline:1px solid #edc486;outline-offset:3px}.room-bottom{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#8f7a60;padding-top:24px}.room-bottom a{color:#d5b48c}.at-atelier #controls{visibility:hidden;pointer-events:none}
#room-dialog{width:min(850px,calc(100% - 36px));max-height:88svh;overflow:auto;padding:48px 30px 28px;background:#241a13;color:#efdcc3;border:1px solid #906f46;border-radius:5px;box-shadow:0 30px 80px #0008}#room-dialog::backdrop{background:#100c09bb;backdrop-filter:blur(5px)}#close-detail{position:absolute;right:18px;top:12px;min-height:34px;background:none;border:0;color:#c7aa84;font-size:12px;cursor:pointer}.detail-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:28px;align-items:center}.detail-image{width:100%;max-height:60svh;object-fit:contain;background:#e2d5be}.detail-image.focus{background:#855b37}.detail-copy h3,#detail-title{font:36px/1.1 Georgia,serif;letter-spacing:-.02em;margin:12px 0 18px}.detail-copy p{color:#bba58a;font-size:13px;line-height:1.65}.detail-link,.choice-link{display:block;border:1px solid #896b46;padding:15px 17px;color:#f1d3a6;font-size:12px;margin-top:24px;min-height:46px}.detail-link:hover,.choice-link:hover{background:#3d2b1a}.choice-link{display:flex;justify-content:space-between;align-items:center;font:24px Georgia,serif;margin-top:12px}.choice-link small{font:11px Arial,sans-serif;color:#b1987a}.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}
@media(max-width:700px){#atelier{padding-top:34px}.atelier-heading,.room-tools,.room-index,.room-bottom{width:calc(100% - 36px)}.atelier-heading{display:block;margin-bottom:20px}.room-intro{margin-top:12px;font-size:11px}.room-kicker{font-size:8px}.room-tools{align-items:start;flex-direction:column;gap:9px}.room-tools>div{justify-content:space-between;width:100%}.room-tools button{min-height:44px;padding:10px 14px;font-size:10px}.room-index{display:grid;grid-template-columns:1fr 1fr;padding:12px 0;gap:0 14px}.room-index a{min-height:44px;padding:8px 0}.room-index span{font-size:11px}.room-bottom{font-size:9px;line-height:1.6}.room-bottom>span{max-width:150px}.detail-grid{grid-template-columns:1fr}.detail-image{max-height:36svh}.detail-copy h3,#detail-title{font-size:30px}.choice-link{font-size:22px}.choice-link small{max-width:100px;text-align:right}.object-label text{font-size:27px}.object-label rect{height:54px}.object-halo{stroke-width:3}}
@media(prefers-reduced-motion:reduce){#atelier *,#atelier *::before,#atelier *::after{animation:none!important;transition:none!important}.scene-object .object-pixels{transform:none!important}.object-halo{opacity:.45}.object-label{transition:none}}
@media(max-width:700px){#room-canvas{width:740px;transition:none}#room-window.is-overview #room-canvas{width:100%}.object-label{display:none}#room-hint{min-height:28px;line-height:1.45;font-size:12px;color:#e1c29a}#room-window{scrollbar-width:thin}#close-detail{min-height:44px}}
.scene-object[data-id="fizzi"] .object-pixels{transform-origin:992px 756px}
.scene-object[data-id="fizzi"].is-active .object-pixels{transform:translateY(-1.2px) rotate(-.5deg);filter:brightness(1.055)}
.scene-object[data-id="focus"].is-active .object-pixels{transform:rotate(.6deg);filter:brightness(1.055)}
.scene-object[data-id="photography"] .object-pixels{transform-origin:382px 543px}
.scene-object[data-id="photography"].is-active .object-pixels{transform:rotate(-.25deg);filter:brightness(1.045)}
.scene-object[data-id="gloomy"].is-active .object-pixels{transform:translateY(-.9px) rotate(-.45deg);filter:brightness(1.06)}
.scene-object[data-id="affiches"].is-active .object-pixels{filter:brightness(1.07);transform:none}
.scene-object[data-id="archives"].is-active .object-pixels{filter:brightness(1.08);transform:none}

/* V9: one brief response per entry; the room remains still at rest. */
.object-effect,.object-effect *{pointer-events:none}
.object-effect>*{opacity:0}
.scene-object[data-id="fizzi"].is-active .object-pixels{transform:none;filter:none;animation:can-answer .68s cubic-bezier(.2,.65,.3,1) both}
.scene-object[data-id="photography"].is-active .object-pixels{transform:none;filter:none;animation:camera-answer .46s ease-out both}
.scene-object[data-id="focus"].is-active .object-pixels{transform:rotate(.8deg);filter:brightness(1.035)}
.scene-object[data-id="affiches"] .object-pixels{transform-origin:1156px 8px}
.scene-object[data-id="affiches"].is-active .object-pixels{filter:none;transform:none;animation:frame-answer 1s ease-out both}
.scene-object[data-id="archives"].is-active .object-pixels{filter:brightness(1.045);transform:translate(-3px,1.6px)}
.scene-object[data-id="gloomy"].is-active .object-pixels{transform:translateY(-1px) rotate(-.55deg);filter:brightness(1.045)}
.scene-object.is-active .fizzi-bubble{animation:small-bubble .64s ease-out var(--delay) both}
.scene-object.is-active .can-tab{transform-origin:992px 612px;animation:tab-answer .7s ease-out both}
.scene-object.is-active .tab-opening{animation:tab-shadow .7s ease-out both}
.scene-object.is-active .lens-flash{animation:lens-answer .42s ease-out both}
.scene-object.is-active .metal-glint{animation:metal-answer .68s ease-out both}
@keyframes can-answer{0%,100%{transform:none}28%{transform:rotate(-.38deg) translateY(-.3px)}58%{transform:rotate(.12deg)}}
@keyframes camera-answer{0%,100%{transform:none}25%{transform:translate(.5px,-.4px) rotate(-.18deg)}}
@keyframes frame-answer{0%,100%{transform:rotate(0)}20%{transform:rotate(1.2deg)}48%{transform:rotate(-.65deg)}72%{transform:rotate(.25deg)}}
@keyframes small-bubble{0%{opacity:0;transform:translate(0,0)}15%{opacity:.64}100%{opacity:0;transform:translate(var(--drift),-23px)}}
@keyframes tab-answer{0%,100%{opacity:0;transform:none}15%{opacity:.9;transform:none}35%,66%{opacity:.9;transform:translateY(-1.8px) rotate(-13deg)}88%{opacity:0}}
@keyframes tab-shadow{0%,100%{opacity:0}30%,70%{opacity:.58}}
@keyframes lens-answer{0%,20%,65%,100%{opacity:0}32%{opacity:.72}44%{opacity:.18}}
@keyframes metal-answer{0%,100%{opacity:0}42%{opacity:.4}}
@media(prefers-reduced-motion:reduce){.object-effect{display:none}.scene-object.is-active .object-pixels{filter:brightness(1.045)}.scene-object .object-pixels{animation:none!important;transform:none!important}}
@media(any-pointer:coarse){.object-hit{stroke:transparent;stroke-width:56;stroke-linejoin:round}.scene-object:focus:not(:focus-visible) .object-hit{stroke:transparent}.object-label{display:none}}
#atelier a,#atelier button{-webkit-tap-highlight-color:transparent}
@media(max-width:700px){.choice-link{display:block}.choice-link span{display:block}.choice-link small{display:block;max-width:none;text-align:left;margin-top:7px}}
