/* Keep the moving homepage out of the compositor while its full-screen entry is shown. */
body[data-journey] .gate-journey { visibility:hidden; }
body[data-journey] :is(.gate-image,.gate-world::after,.mist-a,.mist-b) { animation-play-state:paused!important; }
.product-sound-v36 { display:flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap; padding:10px 20px; color:#e3cba4; font:12px/1.7 var(--serif); }
.product-sound-v36 button { min-height:44px; padding:8px 17px; border:1px solid #b8935c; border-radius:22px; color:#efd2a0; background:#193e34; }
.product-sound-v36 button:focus-visible { outline:2px solid #e0bd7d; outline-offset:3px; }
.product-sound-v36 small { max-width:33em; }
@media(prefers-reduced-motion:reduce) { .product-sound-v36 * { transition:none; } }
.guide-icon { display:inline-block; flex-shrink:0; width:42px; height:42px; background:url('assets/guide-icons-v36.png') no-repeat; background-size:300% 200%; }
.icon-puppet { background-position:0 0; }.icon-tree { background-position:50% 0; }.icon-scroll { background-position:100% 0; }.icon-box { background-position:0 100%; }.icon-assembly { background-position:50% 100%; }.icon-slip { background-position:100% 100%; }
.puppet-guide-v36 { padding-bottom:18px; margin-bottom:18px; border-bottom:1px solid #b79a6366; }
.guide-avatar { display:flex; align-items:center; gap:10px; }.guide-avatar .guide-icon { width:53px;height:53px; }.guide-avatar small { color:#866745; font:11px/1.7 var(--serif); }
.mechanism-copy .guide-avatar h2 { font:700 20px/1.6 'Songti SC',SimSun,serif; color:#2c2b20; margin:4px 0 0; }.mechanism-copy .guide-intro { font:15px/1.85 'FangSong','STFangsong',var(--serif); color:#354d3d; margin:15px 0; }
.puppet-guide-v36 button { min-height:44px; padding:8px 14px; color:#f5ddb0; background:#214b3d; border:1px solid #b49661; border-radius:3px; font:13px/1.7 var(--serif); }
.puppet-guide-v36 button:hover { background:#35634e; }.puppet-guide-v36 :focus-visible { outline:2px solid #a88043; outline-offset:3px; }
.guide-voice-state { display:block; font:10px/1.8 var(--serif); margin-top:7px; color:#856c48; }.guide-questions { padding-top:10px; margin-top:12px; border-top:1px solid #b79a6344; }.guide-questions summary { cursor:pointer; min-height:44px; display:flex; align-items:center; justify-content:space-between; font:14px var(--serif); color:#2c5643; list-style:none; }.guide-questions summary::after { content:'＋'; }.guide-questions[open] summary::after { content:'－'; }.guide-questions summary::-webkit-details-marker { display:none; }
.guide-voice-row { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }.guide-voice-row button { padding:8px 10px; font-size:11px; }.puppet-guide-v36 #performance-sound-status { display:block; font:10px/1.7 var(--serif); color:#856c48; }.mechanism-copy .puppet-guide-v36 #demo-play { justify-content:center; margin:13px 0 5px; font-size:14px; background:#8f6539; }.puppet-guide-v36 .visitor-next-v36 { margin-top:10px; padding-top:10px; }.puppet-guide-v36 .visitor-next-v36 small { display:none; }.puppet-guide-v36 .visitor-next-v36 a { min-height:44px; font-size:12px; }.puppet-guide-v36 .visitor-next-v36 .guide-icon { width:34px;height:34px; }
.mechanism-copy .puppet-guide-v36 #performance-music { color:#f5ddb0; background:#214b3d; width:auto; margin:0; font-size:11px; }
.guide-mobile-entry { display:none; }.puppet-guide-v36,#mechanism-stage { scroll-margin-top:110px; }
@media(max-width:1000px) { .theatre .room-heading .guide-mobile-entry { pointer-events:auto; display:flex; align-items:center; gap:7px; min-height:44px; padding:3px 12px; color:#f4dba7; background:#204d3cee; border:1px solid #b39960; border-radius:3px; font:12px var(--serif); margin-top:14px; }.guide-mobile-entry .guide-icon { width:32px;height:32px; } }
.guide-shortcuts { display:flex; flex-wrap:wrap; gap:6px; margin:6px 0 12px; }.guide-shortcuts button { min-height:40px; font-size:11px; padding:5px 8px; background:#e6d6b5; color:#2d523f; }.guide-questions label { display:block;font:12px/1.7 var(--serif);color:#665335;margin-bottom:7px; }.guide-input { display:flex; gap:6px; }.guide-input input { min-width:0; width:100%; padding:8px 10px; border:1px solid #b49866; background:#fff9e9; font:13px/1.6 var(--serif); color:#293b2e; }.guide-input button { padding:8px 10px; white-space:nowrap; }.mechanism-copy .guide-answer-state { font:10px/1.7 var(--serif); color:#836b42; margin-top:10px; }.mechanism-copy .guide-answer-copy { font:14px/1.95 'FangSong','STFangsong',var(--serif);color:#303e30; }.guide-answer-sources a { display:block; min-height:44px; font:11px/1.7 var(--serif); padding:9px 0; color:#32604b; text-decoration:underline;text-underline-offset:4px; }.guide-read-answer { margin-top:9px; }
.visitor-next-v36 { border-top:1px solid #b69b6666; padding-top:13px; margin-top:19px; }.visitor-next-v36 small { display:block; font:11px/1.75 var(--serif); color:#877046; margin-bottom:9px; }.visitor-next-v36 a { display:flex; align-items:center; gap:10px; min-height:52px; padding:6px 13px; color:#f4dba7; background:#204d3c; border:1px solid #b39960; border-radius:4px; font:13px/1.7 var(--serif); }.visitor-next-v36 a:hover { background:#34604a; }
.story-intro .visitor-next-v36 { border:0; padding:0; margin:0 0 0 20px; max-width:250px; }.story-intro .visitor-next-v36 small { font-size:10px; }.story-intro .visitor-next-v36 a { min-height:44px; font-size:12px; padding:3px 10px; }.story-intro .visitor-next-v36 .guide-icon { width:32px;height:32px; }
.diy-howto-v36 { display:flex; align-items:center; gap:12px; width:max-content; max-width:94%; margin:18px auto 0; padding:9px 15px; border:1px solid #b89c5b88; background:#153e33dd; border-radius:4px; }.diy-heading .diy-howto-v36 p { margin:0; max-width:39em; font:13px/1.8 var(--serif);color:#f0dbb1; }.diy-howto-v36 button { min-height:44px; flex-shrink:0; padding:8px 15px; color:#fcdfac; border:1px solid #b79b61; background:#835d36; font:13px/1.5 var(--serif);border-radius:3px; }
@media(max-width:1000px) { .story-intro .visitor-next-v36 { margin:15px 0 0; max-width:none; }.story .scroll-rail { margin-top:15px; }.diy-howto-v36 { flex-wrap:wrap; justify-content:center; width:auto; max-width:88%; }.diy-heading .diy-howto-v36 p { flex:1;min-width:180px;text-align:left; } }
@media(max-width:600px) { .atelier .model-controls { gap:8px; }.atelier .model-controls #model-music { padding-inline:10px;font-size:11px; }.diy-howto-v36 { gap:8px;padding:10px; }.diy-howto-v36 .guide-icon { width:35px;height:35px; }.diy-heading .diy-howto-v36 p { font-size:12px; }.diy-howto-v36 button { width:100%; }.visitor-next-v36 a { font-size:13px; }.guide-avatar .guide-icon { width:50px;height:50px; } }
@media(max-width:1000px) { .story .scroll-chapter-label { top:198px; }.story .scroll-rail { top:226px; height:calc(100% - 417px); margin-top:0; }.story-intro .visitor-next-v36 small { display:none; } }
@media(max-width:600px) { .atelier .model-controls { height:auto; min-height:90px; flex-wrap:wrap; padding:12px 12px 30px; row-gap:8px; }.atelier .model-controls button { flex-shrink:0; min-width:44px; }.atelier .model-controls #model-left,.atelier .model-controls #model-right { width:46px; }.atelier .model-controls #model-sound-status { white-space:normal; padding-inline:8px; } }
/* The heading is decorative, but its new next-station link must receive clicks. */
.story-intro .visitor-next-v36 { pointer-events:auto; }

/* Keep controls in document flow as instructions grow or the experience changes. */
body[data-room=keepsake] { overflow-y:auto; }
#keepsake[data-experience=assembly] { height:auto!important; min-height:calc(100svh - var(--museum-head))!important; padding:28px 4% 0; overflow:visible; }
#keepsake[data-experience=assembly] .diy-heading { position:relative; inset:auto; width:auto; max-width:1000px; margin:0 auto; }
#keepsake .diy-heading .diy-intro { font:11px/1.9 var(--serif); color:#f4dfbc; margin:10px auto 0; max-width:55em; text-shadow:0 1px 5px #14362b; }
#keepsake .keepsake-experience-tabs { position:relative; inset:auto; width:max-content; max-width:100%; margin:18px auto 0; flex-wrap:wrap; }
#keepsake .keepsake-experience-tabs button { min-height:44px; }
#keepsake .diy-howto-v36 { width:max-content; max-width:min(94%,900px); margin:16px auto 0; }
#keepsake .diy-howto-v36 p { margin:0; max-width:39em; font:12px/1.8 var(--serif); color:#f0dbb1; }
#keepsake:not([data-experience=assembly]) .keepsake-extra-panel { margin-top:24px; }
#keepsake[data-experience=assembly] .diy-variant-switch { position:relative; inset:auto; width:max-content; max-width:100%; margin:18px auto 0; }
#keepsake .diy-variant-switch button { min-height:44px; }
#keepsake[data-experience=assembly] .diy-layout { position:relative; inset:auto; max-width:1600px; margin:22px auto 0; grid-template-columns:minmax(190px,.85fr) minmax(320px,2fr) minmax(245px,1fr); align-items:start; }
#keepsake[data-experience=assembly] .diy-table { margin-top:0; min-height:560px; }
#keepsake[data-experience=assembly] .diy-drop { min-height:470px; }
#keepsake[data-experience=assembly] .diy-shelf,#keepsake[data-experience=assembly] .diy-guide { align-self:start; }
#keepsake[data-experience=assembly] .diy-guide { max-height:620px; }
#keepsake[data-experience=assembly] .diy-progress-rail { position:relative; inset:auto; height:auto; min-height:104px; margin:24px 0 0; }
#keepsake[data-experience=assembly] .room-bottom { position:relative; inset:auto; min-height:64px; margin:24px -4.35% 0; padding:16px 5%; }
@media(max-width:1000px) {
 #keepsake[data-experience=assembly] { padding:28px 6% 0; }
 #keepsake[data-experience=assembly] .diy-layout { display:flex; }
 #keepsake .diy-howto-v36 { width:auto; max-width:94%; }
 #keepsake .diy-howto-v36 p { flex:1; min-width:180px; }
 #keepsake[data-experience=assembly] .diy-table { min-height:0; }
 #keepsake[data-experience=assembly] .diy-drop { min-height:0; height:460px; }
 #keepsake[data-experience=assembly] .diy-guide { max-height:none; }
 #keepsake[data-experience=assembly] .diy-progress-rail { margin-inline:-6.82%; }
 #keepsake[data-experience=assembly] .room-bottom { margin-inline:-6.82%; }
}
