/* One museum, four rooms: carved wood, warm paper, jade night and etched brass. */
:root {
 --museum-head:112px; --museum-navy:#132b2b; --museum-gold:#ddbc80;
 --ink:#413627; --paper:#eee2ca; --muted:#8d795d; --gold:#cba16a;
 --wood:linear-gradient(#331e12df,#281c14ee),url('assets/pearwood-v4.png');
 --warm-paper:radial-gradient(ellipse at 12% 8%,#fff5dd70,transparent 52%),repeating-linear-gradient(110deg,#ab8b5510 0 1px,transparent 1px 5px),linear-gradient(135deg,#f4e8cf,#e8d7b8);
}
html,body { background:#122a2a; color:var(--ink); }
body { overflow-x:hidden; overflow-y:auto; }
button,a,input { outline-color:#e2bd78; }
button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible { outline:2px solid #e6bd75; outline-offset:4px; }
.masthead {
 display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center;
 position:fixed; inset:0 0 auto; width:100%; height:var(--museum-head); gap:20px; padding:0 4%;
 background:radial-gradient(ellipse at 55% 0,#31504966,transparent 75%),linear-gradient(100deg,#0e2223f8,#172f2ef8 65%,#102523fa);
 border-bottom:1px solid #c8a66b99; box-shadow:0 5px 26px #08191d55; color:#ead4a9!important;
}
.masthead:before,.masthead:after {
 content:''; position:absolute; top:0; width:90px; height:57px; background:url('assets/cloud-corner-v18.svg') left top/contain no-repeat; opacity:.45; pointer-events:none;
}
.masthead:before { left:0; }.masthead:after { right:0; transform:scaleX(-1); }
.masthead .brand { display:block; width:max-content; max-width:100%; justify-self:start; padding:0; font-weight:400; letter-spacing:0; }
.brand-lockup { position:relative; display:block; padding-right:24px; }
.masthead .brand-name { font:600 40px/1.15 var(--display); letter-spacing:.035em; color:#efcd91; text-shadow:0 1px 15px #c8a16615; }
.brand-stamp { position:absolute; top:5px; right:0; padding:3px 2px; border:1px solid #b75e43; border-radius:3px; background:#923f30; font:9px/1.1 var(--serif); color:#f2c09a; }
.masthead .brand small { display:block; margin:8px 0 0 2px; font:9px/1.5 var(--serif); letter-spacing:.16em; opacity:.8; white-space:nowrap; }
.masthead nav { grid-column:2; justify-self:center; margin:0; height:100%; gap:12px; }
.masthead nav a,.masthead nav button { padding:25px 22px; display:flex; align-items:center; border:0; background:none!important; font:17px/1 var(--serif); letter-spacing:.12em; color:#d9c5a2; }
.masthead nav a:before,.masthead nav button:before { content:none!important; }
.masthead nav [aria-current=page] { color:#ffe3ac; }
.masthead nav [aria-current=page]:after { width:54px; height:1px; bottom:13px; left:calc(50% - 27px); background:#dbb574; transform:none; border-radius:0; box-shadow:0 0 8px #edc78c60; }
.masthead nav [aria-current=page]:before { content:''!important; position:absolute; width:5px; height:5px; border:0; border-radius:0; bottom:11px; left:calc(50% - 2.5px); background:#f3d299; transform:rotate(45deg); display:block; }
.masthead nav a:hover,.masthead nav button:hover { color:#fff1d1; }
.museum-motto { justify-self:end; margin:0; text-align:right; font:11px/1.8 var(--serif); letter-spacing:.16em; color:#d8ba86; }
.museum-motto small { display:block; font-size:9px; letter-spacing:.18em; color:#ac9672; }
#menu-toggle { display:none; }
.museum-frame { display:block; position:fixed; inset:calc(var(--museum-head) + 8px) 8px 8px; border:1px solid #c5a46c75; z-index:19; box-shadow:inset 0 0 0 4px #13272725; }
.museum-frame:before,.museum-frame:after { width:100px; height:64px; border:0; background:url('assets/cloud-corner-v18.svg') left top/contain no-repeat; opacity:.85; }
.museum-frame:before { top:-1px; left:-1px; }.museum-frame:after { bottom:-1px; right:-1px; transform:rotate(180deg); }
.room,.room:not(.gate) { border:0; height:calc(100svh - var(--museum-head)); min-height:720px; margin-top:var(--museum-head); }
.room-heading { left:4.5%; top:12%!important; width:19%; }
.room-heading h1 { font:500 clamp(31px,3vw,48px)/1.5 var(--display); letter-spacing:.09em; color:#f1d4a0; }
.room-heading .eyebrow { color:#c8aa7d; font:10px/1.8 var(--serif); letter-spacing:.14em; margin-bottom:15px; }
.room-heading>p:not(.eyebrow) { font:12px/2.1 var(--serif); letter-spacing:.06em; color:#e7cfaa; opacity:.86; margin-top:18px; }
.room-heading:after { content:''; display:block; width:70px; height:35px; margin-top:22px; background:url('assets/cloud-corner-v18.svg') left top/contain no-repeat; opacity:.65; }
.room-bottom,.gate-footnote {
 position:absolute; left:0; right:0; bottom:0; min-height:64px; z-index:6; padding:16px 4.5%;
 display:flex; align-items:center; justify-content:space-between; gap:18px;
 background:var(--wood); background-size:auto,700px; border-top:1px solid #cba36b66; box-shadow:0 -8px 25px #07171830;
 color:#d7b885; font:12px/1.8 var(--serif); letter-spacing:.05em;
}
.room-bottom>span { font:10px/1.8 var(--serif); opacity:.85; }.room-bottom button { border-bottom:1px solid #a7895366; padding:5px 0; }
.theatre .room-bottom,.atelier .room-bottom { left:0; right:0; bottom:0; margin:0; }
.soft-button {
 border:1px solid #c4a36e; border-radius:5px 13px 5px 13px; box-shadow:inset 0 0 0 3px #e8cb9325,0 4px 10px #32190b18;
 background:linear-gradient(140deg,#ac5d40,#773d2c); color:#ffead0; padding:14px 24px; font:15px/1.3 var(--serif); letter-spacing:.08em;
}
.soft-button:hover { background:linear-gradient(140deg,#be7050,#8e4932); }
.soft-button[aria-pressed=true] { box-shadow:inset 0 0 0 3px #e8cb9340,0 0 14px #c68c4c35; }
.text-button { color:#786140; border-bottom:1px solid #a88a5938; font:12px/1.5 var(--serif); padding:10px 0; }
/* The portal has one entrance; the door journey remains a real interaction. */
body[data-room=gate] #gate { margin:0; padding-top:var(--museum-head); height:auto; min-height:0; }
.gate-journey { height:calc(100svh - var(--museum-head)); min-height:720px; }
.gate-sticky { position:relative; top:0; height:100%; min-height:720px; }
.gate .gate-image { filter:brightness(1.06) saturate(.94); object-position:61% center; }
.gate-shade { background:linear-gradient(90deg,#102c2c55 0,#102a2b1a 43%,transparent 65%),linear-gradient(0deg,#15272215,transparent 22%); }
.gate .gate-heading { top:18%; left:9%; width:45%; min-width:0; }
.gate .eyebrow { font:10px/1.5 var(--serif); letter-spacing:.26em; color:#d8c7a5; margin-bottom:25px; }
.gate h1 { font:600 clamp(60px,7.1vw,112px)/1.3 var(--display); letter-spacing:.07em; color:#f6d69a; text-shadow:0 3px 26px #0b263a70; }
.gate .gate-subtitle { font:clamp(23px,2.3vw,35px)/1.7 var(--serif); margin:14px 0 0; letter-spacing:.16em; color:#f0d4aa; }
.gate .gate-poem { font:14px/2.1 var(--serif); color:#ebd6b5; letter-spacing:.08em; margin:24px 0 18px; max-width:400px; opacity:1; }
.gate .gate-entry { position:static; transform:none!important; margin-top:20px; }
#enter.light-entry { width:168px; height:112px; font:24px var(--display); color:#ffe3ae; letter-spacing:.13em; }
#enter.light-entry:before { inset:4px 0 9px; border-color:#cead7566; border-top-color:#f1ca82; border-right-color:transparent; border-radius:50%; transform:rotate(-15deg); }
#enter.light-entry:after { left:27px; top:15px; width:5px; height:5px; }
#enter.light-entry:hover:before { transform:rotate(4deg) scale(1.05); }
.gate-threshold i { width:2.3%; background:linear-gradient(90deg,#241c1699,#51402c22,#241c16aa); border-inline:1px solid #be935b55; }
.gate-footnote .footer-verse { font:17px/1.5 var(--display); letter-spacing:.18em; color:#e7c184; max-width:none; white-space:nowrap; }
.gate-footnote>span:nth-child(2) { font-size:9px; opacity:.75; }
.gate-footnote>span:last-child { font-size:11px; letter-spacing:.16em; }
.gate .mist { opacity:.13; }.gate .mist-b { opacity:.08; }
/* The stage backdrop leaves the live GLB scene clear in the centre. */
.theatre { background:#172e31; color:#ebd7b4; }
.theatre-haze { background:linear-gradient(90deg,#112a2b66,transparent 30%,transparent 69%,#0c242969),url('assets/theatre-courtyard-v18.png') center/cover; }
.theatre .mechanism-stage { position:absolute; left:18%; right:27%; top:2%; bottom:193px; width:auto; height:auto; z-index:1; }
.theatre .mechanism-copy {
 position:absolute; top:11%; right:4%; bottom:auto; left:auto; width:25%; max-width:365px; max-height:calc(100% - 210px); overflow-y:auto;
 background:var(--warm-paper); color:#4b3b26; border:1px solid #c5a06c; border-radius:4px 15px 4px 15px;
 box-shadow:inset 0 0 0 5px #fff5df60,inset 0 0 0 7px #ac835d44,0 12px 38px #0004;
 padding:28px 30px; z-index:4;
}
.mechanism-copy:before,.product-panel:before { content:''; display:block; height:29px; width:58px; background:url('assets/cloud-corner-v18.svg') center/contain no-repeat; opacity:.85; margin-bottom:10px; }
.mechanism-copy .step-label { color:#956b42; font:11px var(--serif); letter-spacing:.17em; }
.mechanism-copy h2 { font:500 clamp(22px,2vw,30px)/1.6 var(--display); color:#5f3922; margin:14px 0; }
.mechanism-copy p { min-height:0; font:13px/2 var(--serif); color:#68543b; opacity:1; margin:0 0 12px; }
.mechanism-copy .soft-button { display:flex; width:100%; margin:18px 0 8px; gap:16px; }
.theatre #group-sample { font-size:11px; color:#805434; border-bottom-color:#aa895e55; display:block; margin:0 auto 12px; }
.mechanism-copy .source-line { display:block; font:9px/1.7 var(--serif); color:#887353; margin-top:13px; opacity:.9; }
.theatre-tools { position:absolute; left:22%; right:31%; width:auto; bottom:153px; top:auto; transform:none; justify-content:center; max-width:none; gap:4px 15px; padding:9px 15px; color:#f0d29a; z-index:4; }
.theatre-tools button { font:10px/1.5 var(--serif); padding:8px 2px; border-bottom:1px solid #b8955f66; background:#11272855; }
.theatre-tools span { font-size:9px; margin-top:5px; width:100%; }
.performance-console { position:absolute; left:0; right:0; bottom:64px; height:95px; padding:10px 23%; background:var(--wood); background-size:auto,800px; border-top:1px solid #caa16855; z-index:5; }
.performance-console .step-nav { position:relative; top:auto; bottom:auto; margin:0; display:flex; justify-content:space-between; gap:12px; color:#dfbe8a; }
.performance-console .step-nav:before { content:''; position:absolute; top:22px; left:8%; right:8%; height:1px; background:linear-gradient(90deg,#94734844,#d5b172,#94734844); z-index:-1; }
.performance-console .step-nav button { padding:0; opacity:.78; display:flex; align-items:center; gap:7px; min-height:42px; font:12px var(--serif); border:0; }
.chapter-index { width:35px; height:35px; display:grid; place-items:center; border:1px solid #b79561; border-radius:50%; background:#35271d; box-shadow:inset 0 0 0 3px #b7956125; font:11px var(--serif); }
.performance-console .step-nav [aria-pressed=true] { opacity:1; color:#ffdf9f; }.performance-console .step-nav [aria-pressed=true] .chapter-index { border-color:#efca80; box-shadow:inset 0 0 0 3px #b7956130,0 0 13px #f1be6766; }
.performance-console .performance-seek { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:13px; margin:10px 0 0; font:9px var(--serif); color:#bfa47c; }
.performance-console .performance-seek input { width:100%; accent-color:#e6bd75; }
/* A living workbench, with real model controls in an engraved bottom rail. */
.atelier { color:#e9d0a8; background:#142c2c; }
.atelier-light { background:linear-gradient(90deg,#11292b44,transparent 30%,transparent 68%,#13282430),url('assets/atelier-pavilion-v18.png') center/cover; }
.atelier .room-heading { top:10%!important; left:4.5%; width:20%; }
.atelier .room-heading h1 { font-size:clamp(31px,2.8vw,44px); line-height:1.5; }
.atelier .small-note { color:#c9b08c; font:10px var(--serif); }
.atelier .product-stage { position:absolute; top:2%; bottom:170px; left:20%; right:28%; width:auto; height:auto; z-index:1; }
.atelier .product-panel {
 position:absolute; top:8%; right:4%; bottom:auto; left:auto; width:25%; max-width:355px; max-height:calc(100% - 190px); overflow-y:auto;
 padding:24px 27px; background:var(--warm-paper); color:#4a3825; border:1px solid #c3a16a; border-radius:15px 4px 15px 4px;
 box-shadow:inset 0 0 0 5px #fff5df60,inset 0 0 0 7px #ac835d44,0 12px 38px #0004; z-index:4;
}
.product-panel h2 { font:500 27px/1.6 var(--display); color:#633c25; margin:10px 0; }
.product-panel p { min-height:0; font:12px/1.9 var(--serif); color:#735d42; opacity:1; }
.product-panel>.eyebrow { color:#94704d; font:10px var(--serif); margin:19px 0 5px; }
.variant-switch { display:flex; gap:16px; margin:0 0 12px; border-bottom:1px solid #b38b5d55; padding-bottom:12px; }
.variant-switch button { border:0; padding:5px 0; font:13px var(--serif); opacity:.7; }
.variant-switch [aria-pressed=true] { color:#8b402e; opacity:1; border-bottom:1px solid #9f5a40; background:none; }
#variant-description { font-size:10px; color:#8e795a; margin:0 0 18px; }
.part-list { display:flex; gap:4px 13px; margin:14px 0 7px; }
.part-list button { font:11px var(--serif); min-height:34px; opacity:.75; }
.part-list button[aria-pressed=true] { color:#934a30; border-color:#ac8152; }
.product-panel .soft-button { display:flex; width:100%; margin:12px 0 8px; }
.product-panel .text-button { display:block; margin:0; width:100%; font-size:10px; text-align:center; }
.atelier .product-views { top:20px; left:46%; right:auto; transform:translateX(-50%); display:flex; gap:22px; background:#203532b8; color:#efcf95; border:1px solid #b08d5655; border-radius:3px; padding:4px 22px; backdrop-filter:blur(4px); font:11px var(--serif); }
.product-views button { border-bottom-color:#b5945a55; color:inherit; padding:9px 0; }.product-views button:hover { color:#fff1cf; border-color:#e6c187; }
.atelier .model-controls { position:absolute; top:auto; bottom:64px; left:0; right:0; width:100%; height:90px; transform:none; flex-direction:row; gap:34px; justify-content:center; background:var(--wood); background-size:auto,800px; color:#e7c68e; border-top:1px solid #a77d4c66; padding:10px 0 24px; }
.model-controls button { font:13px var(--serif); padding:11px 4px; border-bottom:1px solid #b6915b55; }.model-controls button:first-child,.model-controls button:nth-child(3) { width:39px; height:39px; border:1px solid #a78555; border-radius:50%; font-size:21px; padding:0; background:#422b1c; box-shadow:inset 0 0 0 3px #ac835626; }
.model-controls [aria-pressed=true] { color:#ffe4ac; border-bottom-color:#f0c777; }.model-controls span { display:block; position:absolute; bottom:9px; top:auto; left:0; right:0; text-align:center; font:9px var(--serif); color:#bba078; }
/* History remains a continuous illustrated scroll, fitted between carved rails. */
.story { background:var(--warm-paper); min-height:820px!important; }
.story .story-intro { left:4.5%; right:122px; top:28px; width:auto; display:flex; align-items:center; gap:25px; color:#695335; background:none; }
.story .story-intro h1 { font:500 28px/1.5 var(--display); color:#725036; margin:0; }
.story .story-intro .eyebrow { font:10px var(--serif); color:#9e7750; }.story .story-intro p { font:11px/1.8 var(--serif); color:#887252; margin:0; }
.story .scroll-chapter-label { top:103px; left:4.5%; font:10px var(--serif); color:#946b43; }
.story .scroll-rail { top:138px; height:calc(100% - 326px); left:0; width:calc(100% - 87px); border-top:1px solid #b18c582f; border-bottom:1px solid #b18c5844; background:#eee2ca; mask-image:linear-gradient(90deg,transparent,#000 2%,#000 99%); }
.scroll-world { min-height:430px; }
.panorama-scenes { opacity:.76; }.panorama-scenes:after { background:linear-gradient(#eee2ca33,transparent 38%,#eee2ca33); }.history-mist { opacity:.1; }
.memory-node button,.memory-node.is-current button,.memory-node button:hover { background:none; border:0; box-shadow:none; padding:22px 30px; max-width:360px; }
.memory-node button { position:relative; isolation:isolate; }
.memory-node button:before { content:''; position:absolute; inset:-8px -20px 10px; z-index:-1; background:radial-gradient(ellipse at 50% 38%,#f3e8d4e0, #f3e8d48c 35%,transparent 73%); pointer-events:none; }
.memory-node h2 { color:#62482e; font:500 27px/1.5 var(--display); text-align:left; }.memory-node time { color:#985333; font:18px/1.4 var(--serif)!important; }
.memory-node p.history-summary { color:#534831; font:13px/2 var(--serif); text-shadow:0 1px 4px #fff3d9; }.memory-node .history-read { color:#825d3c; background:#f4e9d16b; border-bottom:1px solid #ae8855; padding:4px 0; font:10px var(--serif); }
.history-thread path { stroke:#fdf5dc; stroke-width:2; }.memory-node .memory-dot { top:calc(255px - var(--lift)); background:#a16c3e; box-shadow:0 0 0 4px #d9ba8b3b; }
.story .scroll-side-title { right:0; top:0; bottom:0; width:87px; background:var(--wood); background-size:auto,500px; border-left:1px solid #bd9862; color:#e5bd7e; font:30px/1.6 var(--display); letter-spacing:.2em; padding-top:25px; }
.scroll-side-title:before { content:'SCROLL OF MEMORY'; position:absolute; top:38px; font:8px var(--serif); letter-spacing:.13em; color:#b8a079; }
.scroll-side-title:after { background:#c29b6666; }
.story .scroll-footer { left:0; right:87px; bottom:35px; min-height:138px; padding:16px 4.5% 10px; background:var(--wood); background-size:auto,800px; color:#ddbd86; gap:8px; border-top:1px solid #b9966255; }
.story .current-period strong { font:23px/1.4 var(--display); color:#f4d39a; }
.story .scroll-control { font:11px var(--serif); min-width:0; gap:17px; }.scroll-control label { font-size:10px; color:#c9af86; }.scroll-control input { accent-color:#d3ae71; width:100px; }
.story .era-nav { gap:25px; margin:0; padding-top:8px; border-top:1px solid #ad885344; flex-wrap:nowrap; justify-content:center; font:11px var(--serif); overflow-x:auto; }
.era-nav button { min-width:0; padding:7px 0; color:#c6ac82; opacity:1; flex-shrink:0; }.era-nav [aria-current=true] { color:#fff0c8; border-bottom-color:#e2bf7c; }
.story-caption { left:0; right:87px; bottom:0; margin:0; padding:8px 4.5%; height:35px; background:#291e17; color:#b99e77; font:8px/1.7 var(--serif); border-top:1px solid #a8814e33; }
/* Reading labels use the same paper, etched trim, and warm typography. */
dialog,#reader.compact-reader,#reader.archive-reader { background:var(--warm-paper); border:1px solid #cba36e; border-radius:5px 15px 5px 15px; box-shadow:inset 0 0 0 5px #fff5df70,inset 0 0 0 7px #b6916035,0 18px 70px #061e2c66; color:#51402b; }
dialog::backdrop,#reader.compact-reader::backdrop { background:#09232575; backdrop-filter:blur(4px); }
#reader.detail-performance { background:var(--warm-paper); color:#51402b; }
#reader.detail-performance::backdrop { background:#10272510; backdrop-filter:none; }
.detail-text h2 { font:500 29px/1.5 var(--display); color:#70472f; }.detail-summary { font:14px/2 var(--serif); color:#665137; }
.detail-visual>small,.detail-performance .detail-visual>small { background:#d8c3a0; color:#746040; font:9px/1.8 var(--serif); }
.detail-performance .reader-label,.detail-performance .detail-more summary,.detail-performance .reader-note,.reader-label { color:#987046; }
#reader .dialog-close { background:#f1dfbd; color:#7b5538; border:1px solid #b48d5d66; }
.detail-more { border-top-color:#ae89583f; }.detail-more summary { color:#8b603e; }.archive-heading h2 { font:500 38px/1.5 var(--display); color:#754b31; }.archive-heading p,.archive-row p { color:#7a6346; }
.archive-filters { gap:23px; border-bottom:1px solid #b08a5335; }.archive-filters [aria-pressed=true] { color:#8f4832; border-color:#a25e3e; }.archive-row h3 { font:21px/1.5 var(--serif); color:#5e432d; }.archive-kind { color:#a16a42; }
@media(min-width:1700px) { .masthead .brand-name { font-size:46px; }.masthead nav a,.masthead nav button { padding-inline:27px; font-size:19px; }.room-heading { left:5%; }.mechanism-copy p,.product-panel p { font-size:14px; } }
@media(max-width:1240px) and (min-width:1001px) {
 .masthead { padding-inline:3%; gap:12px; }.masthead .brand-name { font-size:33px; }.masthead .brand small { font-size:7px; }
 .masthead nav { gap:4px; }.masthead nav a,.masthead nav button { font-size:15px; padding-inline:15px; }.museum-motto { font-size:9px; }.museum-motto small { font-size:8px; }
 .mechanism-copy,.atelier .product-panel { right:3%; width:27%; padding:22px; }.mechanism-copy h2 { font-size:24px; }.product-panel h2 { font-size:23px; }
 .theatre .mechanism-stage { left:18%; right:29%; }.atelier .product-stage { left:19%; right:29%; }.performance-console { padding-inline:20%; }
}
@media(max-width:1000px) {
 :root { --museum-head:92px; }
 .masthead { display:flex; padding:0 6%; justify-content:space-between; gap:15px; }.masthead .brand-name { font-size:34px; }.masthead .brand small { font-size:8px; }.masthead .brand { width:auto; max-width:80%; }
 .museum-motto { display:none; }#menu-toggle { display:block; margin:0; padding:10px 0 10px 12px; font:13px var(--serif); color:#ebc98e; }
 .masthead nav { display:none; position:absolute; left:0; right:0; top:var(--museum-head); height:auto; margin:0; padding:12px 6%; background:#173330fa; border-bottom:1px solid #cba165; flex-wrap:wrap; justify-content:space-between; gap:0; }
 .menu-open .masthead nav { display:flex; }.masthead nav a,.masthead nav button { min-height:48px; flex:0 0 48%; justify-content:center; font-size:15px; padding:17px 12px; }.masthead nav [aria-current=page]:after { bottom:5px; }.masthead nav [aria-current=page]:before { bottom:3px; }
 .museum-frame { inset:calc(var(--museum-head) + 6px) 6px 6px; }.museum-frame:before,.museum-frame:after { width:67px; height:44px; }
 .room,.room:not(.gate) { min-height:0; height:auto; }.room { overflow:hidden; }.room-heading,.theatre .room-heading,.atelier .room-heading { position:relative; top:auto!important; left:auto; right:auto; width:auto; padding:30px 7% 0; }
 .room-heading h1,.atelier .room-heading h1 { font-size:36px; line-height:1.5; }.room-heading .eyebrow { margin-bottom:10px; }.room-heading>p:not(.eyebrow),.theatre .room-heading>p:not(.eyebrow) { display:block; margin-top:10px; font-size:12px; }.room-heading:after { position:absolute; top:32px; right:7%; width:53px; height:30px; margin:0; }
 .theatre-haze,.atelier-light { background-size:auto,auto 1000px; background-position:center,52% top; background-repeat:no-repeat; background-color:#183231; }
 .room-bottom,.theatre .room-bottom,.atelier .room-bottom { position:relative; inset:auto; min-height:70px; padding:17px 7%; gap:12px; flex-wrap:wrap; margin:0; }.room-bottom>span { font-size:9px; width:auto; flex:1 1 190px; }.room-bottom button { font-size:11px; }
 .gate-journey,.gate-sticky { height:calc(100svh - var(--museum-head)); min-height:720px; }.gate .gate-heading { left:8%; top:16%; width:84%; }.gate h1 { font-size:72px; }.gate .gate-poem { font-size:13px; }.gate .gate-image { object-position:62% center; }.gate-shade { background:linear-gradient(90deg,#15333166,transparent 85%),linear-gradient(0deg,#102b2b22,transparent 30%); }.gate .gate-subtitle { font-size:25px; }.gate .eyebrow { font-size:9px; }.gate-footnote { min-height:65px; padding-inline:7%; }.gate-footnote .footer-verse { font-size:15px; }.gate-footnote>span:nth-child(2) { display:none; }
 .theatre .mechanism-stage { position:relative; inset:auto; width:100%; height:clamp(460px,57svh,650px); }.theatre-tools { position:relative; inset:auto; width:auto; margin:0 7%; padding:8px 0 28px; gap:5px 17px; }.theatre-tools button { font-size:11px; min-height:36px; }.theatre-tools span { position:absolute; left:0; right:0; top:auto; bottom:5px; }
 .theatre .mechanism-copy { position:relative; inset:auto; width:auto; max-width:none; max-height:none; overflow:visible; margin:16px 7% 28px; padding:25px 27px; }.mechanism-copy:before,.product-panel:before { position:absolute; right:17px; top:17px; width:42px; height:25px; margin:0; }.mechanism-copy h2 { font-size:26px; max-width:85%; }.mechanism-copy p { font-size:13px; }.mechanism-copy .soft-button { max-width:260px; width:100%; }.theatre #group-sample { margin-left:0; width:max-content; }.mechanism-copy .source-line { font-size:9px; }
 .performance-console { position:relative; inset:auto; height:auto; min-height:117px; padding:16px 7%; }.performance-console .step-nav { gap:6px; }.performance-console .step-nav button { flex-direction:column; min-width:45px; gap:6px; font-size:11px; }.performance-console .step-nav:before { top:18px; }.performance-console .performance-seek { margin-top:17px; }
 .atelier .product-stage { position:relative; inset:auto; width:100%; height:clamp(450px,59svh,650px); margin-top:8px; }.atelier .product-views { position:relative; inset:auto; transform:none; width:max-content; max-width:86%; margin:22px auto 0; gap:20px; font-size:11px; }.atelier .model-controls { position:relative; inset:auto; height:84px; margin-top:0; gap:27px; }.atelier .product-panel { position:relative; inset:auto; width:auto; max-width:none; max-height:none; overflow:visible; margin:28px 7%; padding:28px; }.product-panel h2 { font-size:27px; }.product-panel p { font-size:13px; }.product-panel>.eyebrow { display:block; }.product-panel .soft-button { max-width:260px; }.product-panel .text-button { display:block!important; width:max-content; max-width:100%; text-align:left; font-size:11px; }.part-list button { font-size:12px; }.variant-switch { padding-right:45px; }
 .story { height:calc(100svh - var(--museum-head))!important; min-height:760px!important; }.story .story-intro { display:block; top:25px; right:60px; left:7%; }.story .story-intro h1 { font-size:26px; margin:8px 0; }.story .story-intro p { display:none; }.story .story-intro .eyebrow { font-size:9px; }.story .scroll-chapter-label { top:118px; left:7%; font-size:9px; }.story .scroll-rail { top:152px; width:calc(100% - 46px); height:calc(100% - 343px); }.scroll-world { min-height:450px; }.story .scroll-side-title { width:46px; font-size:22px; border-left:1px solid #b68a53; }.scroll-side-title:before { font-size:6px; top:20px; letter-spacing:.08em; }
 .memory-node button { padding:20px 24px; max-width:285px; }.memory-node h2 { font-size:24px; }.memory-node time { font-size:16px!important; }.memory-node p.history-summary { font-size:12px; line-height:1.95; }.memory-node .memory-dot { top:calc(285px - var(--lift)); }.history-thread { top:56%; }.story .scroll-footer { right:46px; bottom:48px; min-height:141px; padding:15px 7% 8px; gap:7px; }.story .era-nav { gap:20px; justify-content:flex-start; padding-top:8px; }.story .current-period strong { font-size:22px; }.story .scroll-control { gap:8px; font-size:10px; }.scroll-control input { width:62px; }.story-caption { right:46px; height:48px; padding:9px 7%; font-size:7px; }
 #reader.compact-reader { width:min(520px,92vw); margin:auto; }.detail-text { padding:25px; }.detail-text h2 { font-size:27px; }
}
@media(max-width:600px) {
 :root { --museum-head:86px; }.masthead .brand-name { font-size:32px; }.masthead .brand small { font-size:7px; letter-spacing:.1em; }.masthead { padding-inline:7%; }.masthead:before,.masthead:after { width:59px; height:38px; }
 .gate-journey,.gate-sticky { min-height:700px; }.gate .gate-heading { top:17%; left:9%; width:83%; }.gate h1 { font-size:58px; white-space:nowrap; letter-spacing:.055em; }.gate .gate-subtitle { font-size:23px; letter-spacing:.1em; }.gate .gate-poem { max-width:305px; font-size:12px; line-height:2.2; }.gate .gate-image { object-position:53% center; }.gate-shade { background:linear-gradient(90deg,#0c262cb0,transparent 95%),linear-gradient(0deg,#102a2b22,transparent 25%); }.gate .eyebrow { font-size:8px; margin-bottom:22px; letter-spacing:.2em; }#enter.light-entry { width:150px; height:108px; font-size:23px; }.gate .gate-entry { margin-top:22px; }.gate-footnote .footer-verse { font-size:14px; }.gate-footnote>span:last-child { font-size:8px; }
 .room-heading h1,.atelier .room-heading h1 { font-size:32px; }.room-heading .eyebrow { font-size:9px; }.theatre .mechanism-stage { height:490px; }.atelier .product-stage { height:480px; }.atelier .product-views { gap:20px; padding-inline:16px; }.model-controls button { font-size:12px; }.atelier .model-controls { gap:22px; }.theatre-tools { gap:5px 14px; }.theatre-tools button { font-size:10px; }
 .mechanism-copy h2 { font-size:24px; }.mechanism-copy p { font-size:12px; line-height:2; }.theatre .mechanism-copy,.atelier .product-panel { margin-inline:7%; padding:25px; }.product-panel h2 { font-size:25px; }.product-panel p { font-size:12px; }.product-panel .soft-button { font-size:14px; }.part-list { gap:5px 15px; }.chapter-index { width:33px; height:33px; }.performance-console .step-nav button { min-width:34px; font-size:10px; }
 #reader.archive-reader { padding:32px 25px; }.archive-heading h2 { font-size:29px; }.archive-row { grid-template-columns:33px 1fr 25px; gap:11px; }.archive-row h3 { font-size:17px; }.archive-filters { gap:17px; flex-wrap:wrap; }.archive-filters button { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) {
 .gate-journey,.gate-sticky { min-height:700px; }.gate .gate-image,.gate .mist { animation:none!important; transform:none!important; }.gate-threshold { display:none; }
}
