/* Interior scenes share the miniature material palette without business-side effects. */
.interior-page{position:fixed;inset:0;width:100%;max-width:none;margin:0;padding:0;overflow:hidden;background:#293a37;color:#f1dfbb}
.interior-page[hidden]{display:none!important}
.interior-toolbar{position:relative;z-index:4;display:flex;align-items:center;gap:22px;min-height:88px;padding:15px 28px;background:linear-gradient(180deg,#3e3027,#2b2520);border-bottom:4px solid #a8844e;box-shadow:0 5px 20px #18130d55}
.interior-toolbar .back-link{flex:none;margin:0;padding:11px 15px;border:1px solid #a78b61;border-radius:7px;color:#f3dfb7;background:#5d4935;box-shadow:inset 0 1px #c4a57555,0 3px 0 #201c18;font-size:13px;text-decoration:none}
.interior-title{display:flex;flex-direction:column;gap:3px;min-width:0}
.interior-title .eyebrow{margin:0;color:#c8ab7b;font-size:10px;letter-spacing:.18em}
.interior-title h1{margin:0;color:#f3e2c1;font-family:Georgia,serif;font-size:27px;line-height:1.15;letter-spacing:-.03em}
.scene-preview-tag{margin-left:auto;flex:none;border:1px dashed #b89c6c;padding:7px 12px;color:#d8c4a1;font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.hall-tools{position:relative;z-index:3;display:flex;align-items:end;gap:13px;margin:0;padding:13px 28px;background:#e6d5af;color:#423a2d;box-shadow:0 4px 12px #16150d33}
.hall-tools label{display:block;font-size:10px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;color:#65543b}
.hall-tools input,.hall-tools select{height:37px;border:1px solid #af9870;border-radius:5px;background:#fff5dc;color:#3f4439;box-shadow:inset 0 2px 4px #80614412;padding:0 11px;font:inherit;font-size:13px;width:100%}
.hall-tools .search-field{width:260px;flex:1;max-width:330px}.hall-tools .tag-field{width:250px}.hall-tools .group-field{width:100px}
.hall-tools button{min-height:37px;border:1px solid #86714c;border-radius:6px;padding:0 12px;color:#fff0cc;background:#52675a;box-shadow:0 3px #3e4c40;font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer}
.hall-tools .text-button{background:none;color:#64543a;border:0;box-shadow:none;text-decoration:underline;padding:0 4px}
.hall-status{position:absolute;z-index:3;top:185px;left:28px;padding:8px 13px;background:#2c3732ed;border:1px solid #9d895d;border-radius:5px;display:flex;align-items:center;gap:16px;font-size:11px;color:#e1d2af;box-shadow:0 3px 12px #21160f44;pointer-events:none}
.hall-status p{margin:0}.hall-status span{color:#b8b9a0;font-size:10px}
.hall-view-tools{position:absolute;right:25px;bottom:22px;display:flex;gap:6px;z-index:4}
.hall-view-tools button{min-width:39px;height:39px;border:1px solid #b59a66;border-radius:6px;background:#3e4f44;color:#f4e4be;font-size:20px;box-shadow:0 4px #27372e;cursor:pointer;padding:0 11px}.hall-view-tools button:last-child{font-size:12px}
#hall-viewport{position:absolute;inset:174px 0 0;overflow:auto;overscroll-behavior:contain;background:radial-gradient(ellipse at 50% 20%,#a98c5c,#51402f);scrollbar-color:#ab8958 #3b3026;touch-action:pan-x pan-y;cursor:grab}
#hall-viewport.is-dragging{cursor:grabbing;user-select:none}
#hall-canvas{position:relative;margin:0 auto;min-width:0}
#hall-floor{position:relative;width:1800px;height:1800px;transform-origin:top left;isolation:isolate;background:repeating-linear-gradient(1deg,transparent 0 8px,#d7ba8440 9px,transparent 10px 45px),repeating-linear-gradient(90deg,#a88759 0 119px,#785a39 120px 122px,#c6a576 123px 240px);box-shadow:inset 0 0 140px 40px #3f2e1b88}
.hall-room-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;z-index:-1}
.hall-back-wall{display:none}
.hall-room-sign{position:absolute;left:505px;top:190px;width:760px;text-align:center;color:#f2dfab;font-family:Georgia,serif;font-size:35px;letter-spacing:.04em;text-shadow:0 3px 4px #192a27;padding:15px;border:4px double #baa36f;background:#30483ae6;border-radius:8px;box-shadow:0 12px 18px #291e1b66}
.hall-room-sign small{display:block;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.3em;margin-top:8px;color:#b9c0a5}
.hall-aisle{position:absolute;top:570px;bottom:70px;left:764px;width:70px;background:#506e66;border-left:3px solid #c0a26a;border-right:3px solid #c0a26a;box-shadow:0 3px 12px #38281855;opacity:.92}
.hall-cross-aisle{position:absolute;left:75px;right:75px;top:1084px;height:42px;background:#506e66;border-block:3px solid #c0a26a;opacity:.92}
.hall-floor-mark{position:absolute;left:777px;top:1180px;color:#cfba85;font-size:16px;font-weight:700;writing-mode:vertical-rl;letter-spacing:.3em}
.hall-wing-label{position:absolute;left:70px;color:#f0dfb4;font-size:15px;font-weight:800;writing-mode:vertical-rl;letter-spacing:.15em;opacity:.8}.hall-wing-label.a{top:680px}.hall-wing-label.b{top:930px}.hall-wing-label.c{top:1225px}.hall-wing-label.d{top:1475px}
.hall-entry-mat{position:absolute;bottom:22px;left:630px;width:530px;padding:24px;text-align:center;background:#36584c;border:5px double #ceb27c;border-radius:50% 50% 4px 4px;color:#dfca99;font-size:15px;letter-spacing:.25em;box-shadow:0 4px 7px #40291855}
.hall-planter{position:absolute;width:70px;height:100px;border-radius:50%;background:radial-gradient(ellipse at 40% 30%,#9aa866 0 17%,transparent 18%),radial-gradient(ellipse at 70% 47%,#65865b 0 28%,transparent 29%),radial-gradient(ellipse at 32% 64%,#496c4c 0 30%,transparent 31%),radial-gradient(ellipse at 50% 80%,#9b6c4a 0 28%,transparent 29%);filter:drop-shadow(8px 13px 5px #362a2266)}
.hall-planter.p1{top:190px;left:25px}.hall-planter.p2{top:190px;right:25px}.hall-planter.p3{bottom:45px;left:45px}.hall-planter.p4{bottom:45px;right:45px}
.hall-lantern{position:absolute;top:125px;width:42px;height:52px;background:linear-gradient(90deg,#ac8548,#f5d68a 45%,#b98e4c);border:5px solid #765a32;border-radius:4px;box-shadow:0 0 30px 10px #ffe1a14d,0 14px 12px #201e1a55;z-index:2}.hall-lantern::before{content:'';position:absolute;left:14px;bottom:100%;height:125px;border-left:3px solid #694c2c}.hall-lantern.l1{left:200px}.hall-lantern.l2{left:900px}.hall-lantern.l3{left:1570px}
#project-grid{display:block;position:absolute;inset:0;margin:0}
.exhibit-booth{position:absolute;width:180px;height:224px;border:0;padding:0;background:none;display:block;color:#3e382d;font:inherit;cursor:pointer;text-align:left;isolation:isolate;transition:filter .18s,opacity .18s;transform:translateZ(0)}
.exhibit-booth:hover,.exhibit-booth:focus-visible{filter:brightness(1.12);outline:3px solid #fff2ba;outline-offset:10px;border-radius:12px;z-index:3}
.exhibit-booth.is-muted{opacity:.22;filter:grayscale(.8);cursor:default}.exhibit-booth.is-muted:hover{filter:grayscale(.8);outline:0}
.booth-backboard{position:absolute;left:4px;top:25px;width:172px;height:125px;background:repeating-linear-gradient(0deg,transparent 0 3px,#5f473414 4px 5px),linear-gradient(120deg,#ddc594,#a58b5e);border:6px solid #695135;border-radius:10px 10px 0 0;box-shadow:6px 8px 0 #4e3a2880,inset 0 0 12px #4b3b2666}
.booth-backboard::before{content:'';position:absolute;top:-3px;left:-10px;right:-10px;height:9px;background:#c4a878;border:1px solid #e7c894;border-radius:6px}
.booth-screen{position:absolute;top:24px;left:10px;width:107px;height:70px;background:#93ad9e;border:7px solid #4c493b;border-radius:5px;box-shadow:0 3px 4px #35251477;overflow:hidden}
.booth-screen svg{display:block;width:100%;height:100%;object-fit:cover;background:#c5c8a7;filter:saturate(.75) sepia(.12)}
.screen-play{position:absolute;left:39px;top:16px;width:23px;height:23px;display:grid;place-items:center;border:1px solid #f2e0bcaa;border-radius:50%;font-size:10px;color:#fff0c4;background:#2b554ae6;padding-left:2px}
.screen-caption{position:absolute;bottom:0;left:0;right:0;background:#2e3d34dc;color:#e8dab5;text-align:center;font-size:6px;line-height:10px;letter-spacing:.1em}
.booth-pinned-note{position:absolute;right:7px;top:27px;width:29px;height:47px;background:#f0dfb7;transform:rotate(5deg);box-shadow:2px 2px 2px #56402655;font-size:13px;text-align:center;color:var(--booth-color);padding-top:6px}.booth-pinned-note::before{content:'';position:absolute;top:-3px;left:12px;width:5px;height:5px;border-radius:50%;background:#93584b}.booth-pinned-note i{display:block;width:18px;height:2px;background:#a99570;margin:4px auto}
.booth-banner{position:absolute;z-index:3;left:25px;top:9px;height:27px;display:flex;align-items:center;gap:8px;padding:3px 9px;background:var(--booth-color);color:#fff1cf;border:1px solid #efda9d77;border-radius:2px;box-shadow:2px 3px 4px #3b2c1e55;font-size:8px;letter-spacing:.08em;transform:rotate(-2deg)}
.booth-banner b{font-size:16px;font-family:Georgia,serif}.booth-light{position:absolute;left:114px;top:-2px;width:39px;height:10px;border-radius:50%;background:#e9c779;box-shadow:0 5px 24px 14px #ffde7a33;z-index:2}
.booth-table{position:absolute;left:-6px;top:133px;width:190px;height:30px;background:linear-gradient(160deg,#dab67b,#ae8151);border:2px solid #e4c18c;transform:skewY(-3deg);box-shadow:0 10px 0 #6b4e33,8px 16px 5px #3b2c2166;z-index:2;border-radius:5px}
.booth-table::after{content:'';position:absolute;top:38px;left:10px;width:9px;height:35px;background:#7a593b;box-shadow:157px 0 #7a593b}
.model-piece{position:absolute;left:28px;top:-18px;width:18px;height:24px;background:var(--booth-color);border-top:4px solid #e9d3a1;box-shadow:5px 3px #3e5c4a,0 6px 4px #6e4e3655;transform:skewY(3deg)}.model-piece.second{left:51px;top:-9px;height:16px;width:13px;background:#d4bb86;box-shadow:4px 3px #958256}.mini-leaf{position:absolute;right:27px;top:-21px;width:13px;height:22px;background:#748a55;border-radius:50%;box-shadow:5px 6px #486943;transform:rotate(15deg)}
.booth-plaque{position:absolute;z-index:4;top:175px;left:0;width:180px;min-height:50px;border:1px solid #ab8a55;border-radius:3px;background:linear-gradient(120deg,#f0dfb5,#d6bf8f);box-shadow:3px 4px 5px #3a2e2066;padding:6px 7px;color:#3b422f;transform:rotate(-1deg)}
.booth-plaque strong{font-family:Georgia,serif;font-size:13px;line-height:1.16;display:block}.booth-plaque>span{display:block;font-size:8px;line-height:1.2;margin-top:4px;color:#695e44}.booth-rug{position:absolute;left:-13px;top:156px;width:209px;height:75px;background:var(--booth-color);border:4px double #d5be8b;border-radius:50% 35% 9px 12px;opacity:.6;z-index:-1;transform:skewX(-12deg)}
.hall-empty{position:absolute;z-index:5;top:215px;left:50%;width:min(420px,90vw);transform:translateX(-50%);padding:24px;background:#e8d7b0;border:8px solid #7e6241;color:#3e493a;text-align:center;box-shadow:0 15px 45px #251b1377;border-radius:8px}.hall-empty h2{font-size:24px}.hall-empty p{font-size:14px}.hall-empty .button{background:#526b5a;color:#f4e5c3}
.building-page .interior-toolbar{height:88px}.building-page #building-body{position:absolute;inset:88px 0 0}.craft-room{position:absolute;inset:0;overflow:auto;isolation:isolate;min-height:0;background:#344a43}.room-diorama{position:absolute;inset:0;width:100%;height:100%;min-height:700px;z-index:-2}.room-light-wash{position:absolute;inset:0;background:linear-gradient(90deg,#1b2a24b3,transparent 68%),linear-gradient(180deg,transparent 40%,#261e1699);pointer-events:none;z-index:-1}
.room-story{position:relative;max-width:510px;margin:55px 0 0 7%;color:#f6e4bc;text-shadow:0 2px 5px #283127}.room-story .eyebrow{font-size:10px;color:#ddc58c;letter-spacing:.2em}.room-story h2{margin:14px 0 18px;font-family:Georgia,serif;font-size:clamp(35px,4.3vw,62px);line-height:1.05;letter-spacing:-.04em}.room-story>p:last-child{max-width:360px;font-size:15px;line-height:1.65;color:#e4dbbf}
.room-props{position:absolute;inset:0;pointer-events:none}.room-object{position:absolute;text-shadow:none}.paper-note{width:230px;padding:26px 22px;background:repeating-linear-gradient(0deg,transparent 0 23px,#a58e6233 24px),#ead9af;color:#514c36;box-shadow:8px 15px 22px #171f1c66;transform:rotate(4deg)}.paper-note::before{content:'';position:absolute;top:-5px;left:110px;width:11px;height:11px;border-radius:50%;background:#ab6850;box-shadow:0 3px 2px #705132}.paper-note>span,.reward-label>span,.blueprint-note>span{font-size:8px;letter-spacing:.1em;display:block}.paper-note strong{display:block;font-family:Georgia,serif;font-size:26px;margin:16px 0 12px;line-height:1.1}.paper-note p{font-size:11px;line-height:1.6;margin:0}.notice-note{left:64%;top:16%}
.passport-object{left:55%;bottom:20%;width:160px;height:205px;border:5px double #b7a064;border-radius:7px 14px 14px 7px;background:repeating-linear-gradient(90deg,#466655 0 2px,#496959 2px 4px);color:#d9c792;padding:20px 13px;transform:rotate(-12deg);box-shadow:9px 14px 12px #17271d88;text-align:center}.passport-object>span{font-size:8px;letter-spacing:.1em}.passport-object strong{display:block;font-family:Georgia,serif;font-size:18px;line-height:1.3;margin-top:13px}.passport-object i{display:block;font-style:normal;font-size:35px;margin:8px}.passport-object small{font-size:9px}
.reward-label{top:44%;width:180px;padding:15px 13px;background:#ead8ac;color:#514730;border:3px double #92794d;box-shadow:2px 8px 7px #231c1466;transform:rotate(-2deg);text-align:center}.reward-label strong{display:block;font:26px Georgia,serif;margin:8px 0}.reward-label small{font-size:10px}.certificate-label{left:23%}.stationery-label{left:48%;transform:rotate(2deg)}.medal-label{left:73%;transform:rotate(-3deg)}
.blueprint-note{right:12%;top:18%;width:300px;padding:28px;background:repeating-linear-gradient(90deg,transparent 0 24px,#dde0bc22 25px),repeating-linear-gradient(0deg,transparent 0 24px,#dde0bc22 25px),#416771;border:4px solid #bc9a60;color:#e1d7ac;transform:rotate(3deg);box-shadow:7px 12px 13px #1d272566}.blueprint-note strong{display:block;font:34px/1.1 Georgia,serif;margin:18px 0}.blueprint-note p{font-size:12px}
.room-preview-note{position:absolute;bottom:25px;left:7%;max-width:550px;display:grid;grid-template-columns:30px 1fr;column-gap:9px;padding:16px 19px;border:1px solid #c3a67180;border-radius:7px;background:#2e3d32ed;color:#e1d7bd;box-shadow:0 4px 20px #15251b44}.room-preview-note>span{font-size:23px;color:#c5a86a}.room-preview-note p{margin:0;font-size:12px;line-height:1.6}.room-preview-note small{grid-column:2;font-size:8px;color:#b3bb9f;letter-spacing:.13em;margin-top:7px}
@media(max-width:900px){.interior-toolbar{gap:12px;padding:14px 16px}.interior-toolbar .back-link{font-size:11px;padding:10px}.interior-title h1{font-size:22px}.scene-preview-tag{font-size:8px;padding:6px 8px}.hall-tools{padding:10px 16px;gap:10px}.hall-tools .search-field{min-width:150px}.hall-tools .tag-field{width:190px}.hall-tools .group-field{width:80px}.hall-tools .text-button{font-size:11px}.hall-status{left:16px;top:185px}.hall-status span{display:none}.room-story{margin-top:45px;max-width:390px}.notice-note{left:65%;width:200px}.room-story>p:last-child{max-width:290px}.room-preview-note{left:5%;max-width:500px}.blueprint-note{right:7%;width:240px}.reward-label{width:150px}.certificate-label{left:12%}.stationery-label{left:40%}.medal-label{left:68%}}
@media(max-width:600px){.interior-toolbar{height:84px;min-height:84px;padding:12px;gap:10px}.interior-title h1{font-size:20px}.interior-title .eyebrow{font-size:8px;letter-spacing:.12em}.scene-preview-tag{display:none}.interior-toolbar .back-link{font-size:0;width:40px;min-width:40px;overflow:hidden;padding:10px}.interior-toolbar .back-link::before{content:'←';font-size:20px;line-height:16px}.hall-tools{display:grid;grid-template-columns:1fr 84px 82px;gap:8px;padding:10px 12px}.hall-tools .search-field{grid-column:1/3;width:auto;max-width:none;min-width:0}.hall-tools .tag-field{grid-column:1;width:auto;min-width:0}.hall-tools .group-field{grid-column:2;width:auto}.hall-tools #find-project{grid-column:3;grid-row:1;align-self:end}.hall-tools #reset-filters{grid-column:3;grid-row:2;align-self:end;white-space:normal}.hall-tools input,.hall-tools select{font-size:12px;height:34px;padding:0 8px}.hall-tools button{height:34px;min-height:34px;font-size:11px;padding:0 7px}.hall-tools label{font-size:8px}.hall-status{top:222px;font-size:9px;left:12px;padding:6px 9px}#hall-viewport{top:213px}.hall-view-tools{right:13px;bottom:17px;gap:5px}.hall-view-tools button{min-width:35px;height:35px}.hall-empty{top:260px}.building-page .interior-toolbar{height:84px}.building-page #building-body{top:84px}.room-diorama{min-height:780px;width:145%;left:-25%}.craft-room{min-height:0}.room-story{margin:28px 24px 0;max-width:310px}.room-story h2{font-size:40px;max-width:300px}.room-story>p:last-child{font-size:12px;max-width:260px;line-height:1.5}.room-story .eyebrow{font-size:8px}.notice-note{left:auto;right:20px;top:290px;width:170px;padding:20px 16px}.paper-note strong{font-size:22px}.paper-note>span{font-size:7px}.paper-note p{font-size:10px}.passport-object{left:26px;bottom:auto;top:355px;width:125px;height:170px;padding:13px 7px}.passport-object strong{font-size:14px}.passport-object i{font-size:24px}.passport-object>span{font-size:6px}.passport-object small{font-size:8px}.room-preview-note{position:relative;bottom:auto;left:auto;margin:340px 18px 20px;max-width:none;padding:12px 14px;grid-template-columns:20px 1fr}.room-preview-note p{font-size:11px}.room-preview-note small{font-size:7px}.room-preview-note>span{font-size:18px}.reward-label{width:103px;padding:10px 7px;top:330px;min-height:112px}.reward-label>span{font-size:7px;line-height:1.6;min-height:24px}.reward-label strong{font-size:20px}.reward-label small{font-size:8px}.certificate-label{left:20px}.stationery-label{left:calc(50% - 51px);top:350px}.medal-label{left:auto;right:20px}.blueprint-note{right:26px;top:290px;width:245px;padding:20px}.blueprint-note strong{font-size:29px}.room-shop .room-preview-note{margin-top:310px}.room-quarter .room-preview-note{margin-top:315px}.room-post .room-preview-note,.room-garden .room-preview-note{margin-top:330px}.room-forum .room-preview-note{margin-top:315px}}
@media(prefers-reduced-motion:reduce){.exhibit-booth{transition:none}}

/* Project Quarter enters its data-backed scene directly; the island toolbar remains. */
.project-quarter-content{height:100%;overflow:hidden;background:#0b162c;color:#f6e9ca}
.building-page[data-venue="quarter"] #building-body{inset:0}
.building-page[data-venue="quarter"]>.interior-toolbar{position:absolute;top:0;left:0;width:auto;height:auto;min-height:0;max-width:calc(100% - 175px);padding:16px 18px;gap:14px;background:none;border:0;box-shadow:none;pointer-events:none}
.building-page[data-venue="quarter"]>.interior-toolbar .back-link{pointer-events:auto}
.building-page[data-venue="quarter"] .interior-title h1{font-size:22px;text-shadow:0 2px 5px #0a172c,0 0 14px #0a172c}
.building-page[data-venue="quarter"] .interior-title .eyebrow,.building-page[data-venue="quarter"] .scene-preview-tag{display:none}
@media(max-width:650px){.building-page[data-venue="quarter"]>.interior-toolbar{padding:12px;gap:8px;max-width:calc(100% - 155px)}.building-page[data-venue="quarter"] .interior-title h1{font-size:17px}}
button.reward-label{pointer-events:auto;cursor:pointer;font-family:inherit;white-space:normal;height:auto;border-radius:0}.reward-label:focus-visible{outline:3px solid #ffe39a;outline-offset:6px}.reward-label:hover{filter:brightness(1.06)}
.shop-views{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.shop-views button[aria-current=true]{background:#36584c;color:#fff0cf}.shop-views button{font-size:12px}

#certificate-dialog .dialog-top{margin-bottom:8px}#certificate-title{margin:8px 0 14px;font-size:26px}#certificate-content .workbench{padding:16px;margin-bottom:14px}#certificate-content .shop-views button{padding:8px 12px;border:1px solid #ae9567;border-radius:6px;background:#f9ebc8;color:#36584c;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer}#certificate-content .shop-views button[aria-current=true]{background:#36584c;color:#fff0cf}
#certificate-content .shop-account{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.shop-account .review-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px 10px;margin:0}.shop-account .review-fields dt{grid-row:1;font-size:11px}.shop-account .review-fields dd{grid-row:2;margin:0;font-size:15px}.shop-account .review-fields dt:nth-of-type(1),.shop-account .review-fields dd:nth-of-type(1){grid-column:1}.shop-account .review-fields dt:nth-of-type(2),.shop-account .review-fields dd:nth-of-type(2){grid-column:2}.shop-account .review-fields dt:nth-of-type(3),.shop-account .review-fields dd:nth-of-type(3){grid-column:3}.shop-hours{font-size:11px}.shop-hours summary{cursor:pointer}.shop-hours[open]{grid-column:1/-1}.shop-account button{padding:6px 9px;font-size:11px}.shop-account #shop-view-message{grid-column:1/-1;margin:0;font-size:12px}.shop-account #shop-view-message:empty{display:none}#certificate-content h2{font-size:21px;margin:0 0 8px}#certificate-content h3{font-size:18px;margin:10px 0}#certificate-content p{font-size:12px;line-height:1.45}
