/* Local refinements: original night pavilion outside, calm paper reading inside. */
.gate .gate-sticky { padding-block:24px 94px; }
.gate .gate-entry { margin-top:10px; }
@media(min-width:1001px) and (max-height:760px) {
 .gate .gate-sticky { padding-block:20px 88px; }
 .gate .gate-entry { margin-top:6px; }
}
@media(max-width:600px) {
 .gate .gate-sticky { padding-block:25px 88px; }
 .gate .gate-entry { margin-top:10px; }
}

/* Place the comparison beside the explanation, with the same controls as the card. */
#theatre .theatre-reading { position:static; inset:auto; display:block; margin:0 0 20px; padding:0 0 18px; text-align:left; background:none; border-bottom:1px solid #b79a6355; border-top:0; }
#theatre .theatre-reading #mechanism-read {
 display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%;
 min-height:48px; padding:9px 13px; color:#2e513e; background:#eee0bd;
 border:1px solid #bda374; border-radius:3px; box-shadow:none; font:14px/1.65 'Songti SC',SimSun,serif;
}
#theatre .theatre-reading #mechanism-read:hover { background:#f8edcf; border-color:#947247; }
#theatre .theatre-reading #mechanism-read>span:first-child { display:flex; flex-direction:column; margin:0; }
#theatre .theatre-reading #mechanism-read strong { font-weight:600; }
#theatre .theatre-reading #mechanism-read small { font:11px/1.7 'FangSong','STFangsong',serif; color:#806c49; }
#theatre .theatre-reading #mechanism-read>span:last-child { margin:0; font-size:18px; }

/* Limit the workspace rather than scaling or stretching canvases. */
#keepsake[data-experience=assembly] .diy-heading,
#keepsake:not([data-experience=assembly]) .diy-heading { max-width:880px; }
#keepsake[data-experience=assembly] .diy-layout {
 max-width:1200px; grid-template-columns:minmax(195px,220px) minmax(0,1fr) minmax(250px,290px);
 gap:20px;
}
#keepsake .visitor-workshop-v37 { max-width:780px; }
#keepsake:not([data-experience=assembly]) .keepsake-extra-panel { max-width:1120px; }
#keepsake #blessing-main { max-width:980px; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:38px; margin-inline:auto; }
#keepsake #blessing-main canvas { width:min(100%,350px); }
@media(max-width:1000px) {
 #keepsake[data-experience=assembly] .diy-layout { max-width:740px; }
 #keepsake #blessing-main { gap:24px; }
}
@media(max-width:600px) {
 #keepsake #blessing-main { grid-template-columns:1fr; }
 #keepsake #blessing-main canvas { width:min(100%,290px); }
}

body[data-room=archive] .museum-frame { display:block; }
#archive.room.archive-room {
 background:#17342f; background-image:linear-gradient(#15372edf,#16352fe8),url('assets/archive-pavilion-v34.png');
 background-size:cover; background-position:center top;
}
#archive.room.archive-room::before {
 content:''; position:fixed; inset:var(--museum-head,112px) 0 0; z-index:-1;
 background:linear-gradient(#173e3260,#16332dc4),url('assets/archive-pavilion-v34.png') center/cover no-repeat;
 pointer-events:none;
}
#archive .memory-layout-v38 { max-width:1200px; padding:36px 40px 42px; }
#archive .memory-directory-heading { border-color:#bca27166; }
#archive .memory-directory-heading h1 { color:#f7ddb0; }
#archive .memory-directory-heading .memory-eyebrow { color:#cfaf76; }
#archive .memory-directory-heading p:not(.memory-eyebrow) { color:#e2d5bb; }
#archive .memory-directory-heading .memory-all { background:#163d33dc; color:#f1d7aa; border-color:#b89a62; }
#archive .memory-directory-heading .memory-all:hover { background:#285240; }
#archive .memory-topic-choice {
 background:#f6efde; border-color:#c4a576; box-shadow:0 6px 16px #061e1933;
}
#archive .memory-topic-choice:hover { background:#fbf4e5; border-color:#dec48f; }
#archive #topic-reading {
 max-width:1040px; margin-inline:auto; padding:28px 36px 34px;
 background:#f6efde; border:1px solid #bca271; border-radius:3px; box-shadow:0 10px 30px #051c1a55;
}
#archive .memory-contribution {
 max-width:1040px; margin:30px auto 0; padding:22px 26px;
 background:#f6efde; border:1px solid #c4a576; border-radius:3px;
}
#archive .memory-review-foot { color:#d3c6a8; max-width:1040px; margin-inline:auto; }
#archive #catalog-loading,#archive #catalog-error { color:#f1dbb8; }
@media(max-width:900px) { #archive .memory-layout-v38 { padding-inline:28px; } }
@media(max-width:600px) {
 #archive .memory-layout-v38 { padding:28px 20px 34px; }
 #archive #topic-reading { padding:22px 18px 28px; }
 #archive .memory-contribution { padding:20px 18px; }
}
