@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{color-scheme:light;--ink:#243036;--paper:#f8f6ef;--line:#d1cec2}*{box-sizing:border-box}body{margin:0;overflow:hidden;color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;background:#d9d1c3}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #d6693e;outline-offset:4px}button{border:0;background:transparent}#gallery,canvas{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}header{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:27px 34px;pointer-events:none;z-index:3;background:linear-gradient(#f4f0e5dd,transparent)}header button,header .identity{pointer-events:auto}.identity{display:flex;gap:13px;align-items:center}.mark{font-family:'Libre Caslon Display',Georgia,serif;font-size:46px;line-height:1}.identity strong{display:block;font-size:14px;letter-spacing:.2em}.identity div>span{display:block;font-size:14px;margin-top:4px}.quiet{font-size:14px;background:#f8f6efdc;border:1px solid #ffffff8a;border-radius:24px;padding:12px 17px;backdrop-filter:blur(15px)}.quiet span{margin-left:10px}.intro{position:fixed;top:26%;left:6%;max-width:440px;background:#f8f6efec;border:1px solid #fff9;box-shadow:0 15px 80px #2b22191a;backdrop-filter:blur(12px);padding:32px 36px 27px;border-radius:3px;z-index:2}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:600}.intro h1{font-family:'Libre Caslon Display',Georgia,serif;font-size:64px;line-height:1.02;margin:22px 0}.intro p{font-size:15px;line-height:1.7}.primary{padding:15px 23px;background:#293a40;color:#fff;border-radius:3px;display:flex;gap:28px;justify-content:space-between;align-items:center}.intro .primary{margin:24px 0 18px}.intro small{font-size:12px;color:#697273}.stops{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);display:flex;gap:3px;padding:6px;background:#f8f6eff0;border:1px solid white;border-radius:35px;box-shadow:0 5px 35px #25271c24;z-index:4;white-space:nowrap}.stops button{padding:13px 18px;font-size:14px;border-radius:25px}.stops button.active{background:#2b3c42;color:white}.stops button:hover:not(.active){background:#e7e3d9}.room-tools{position:fixed;right:28px;top:125px;background:#f8f6efed;padding:18px;border-radius:4px;z-index:2;width:171px}.room-tools>span{font-size:12px;letter-spacing:.06em}.swatches{display:flex;gap:9px;margin:15px 0}.swatch{width:24px;height:24px;border-radius:50%;background:var(--swatch);border:2px solid white;box-shadow:0 0 0 1px #0001}.swatch.selected{box-shadow:0 0 0 2px #243036}.room-tools #fire,.room-tools #focus{font-size:13px;border-top:1px solid var(--line);padding:11px 0;width:100%;text-align:left}.room-tools #fire{padding-bottom:0}.location{position:fixed;top:122px;left:34px;pointer-events:none}.location span{display:block}.location #roomName{font-family:'Libre Caslon Display',Georgia,serif;font-size:29px;margin-top:6px}.hint{position:fixed;bottom:102px;left:50%;transform:translateX(-50%);font-size:13px;background:#243036c9;color:#fff;padding:8px 14px;border-radius:20px;pointer-events:none;text-align:center}.movement{position:fixed;bottom:25px;left:27px;display:flex;flex-direction:column;align-items:center;gap:4px;z-index:3}.movement div{display:flex;gap:4px}.movement button{background:#f8f6efdb;border:1px solid #fff9;width:37px;height:35px;border-radius:4px;font-size:18px;touch-action:none}.movement button:active{background:#b7c7c8}#context{position:fixed;bottom:146px;left:50%;transform:translateX(-50%);background:#f8f6eff5;padding:12px 13px 12px 20px;border-radius:5px;display:flex;align-items:center;gap:25px;z-index:4;box-shadow:0 5px 35px #25271c24;font-size:14px}#context button{background:#293a40;color:white;border-radius:3px;padding:10px 16px;white-space:nowrap}[hidden]{display:none!important}#return{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);z-index:5}#vr{position:fixed;bottom:35px;right:25px;background:#f8f6ef;padding:12px 16px;border-radius:25px}#loading{position:fixed;inset:0;background:#f0ede4;z-index:20;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px}#loading h1{font-family:'Libre Caslon Display',Georgia,serif;font-size:42px;font-weight:400}.loader{height:50px;width:50px;border:1px solid #bbc2bb;border-top-color:#243036;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}dialog{border:0;border-radius:5px;max-width:900px;width:90vw;padding:0;color:var(--ink);background:var(--paper);box-shadow:0 30px 100px #0004}dialog::backdrop{background:#14272bd9;backdrop-filter:blur(7px)}#details[open]{display:grid;grid-template-columns:1.2fr 1fr;align-items:center}.detail-media{width:100%;height:100%;max-height:70vh;display:grid;place-items:center;background:#161a1c;overflow:hidden}#detailImage,#detailVideo{width:100%;height:100%;max-height:70vh;object-fit:contain;background:#161a1c}.detail-copy{padding:45px 35px}dialog h2{font-family:'Libre Caslon Display',Georgia,serif;font-size:42px;font-weight:400;line-height:1.08;margin:20px 0}dialog p{font-size:16px;line-height:1.65}dialog .note{font-size:13px;color:#667171}dialog a{display:inline-block;margin-top:22px;color:#2e595e;font-size:14px;line-height:1.5}dialog .close{position:absolute;right:12px;top:8px;background:#f8f6efed;border-radius:50%;font-size:28px;width:38px;height:38px;z-index:5}#instructions{max-width:530px;padding:38px}.toast{position:fixed;top:95px;left:50%;transform:translateX(-50%);background:#253a40;color:white;padding:12px 20px;border-radius:5px;opacity:0;transition:opacity .3s;pointer-events:none;z-index:8}.toast.show{opacity:1}body.dream header{color:#fff;background:linear-gradient(#0a1a30cc,transparent)}body.dream .quiet{color:#243036}body.dream .location{color:#fff}@media(max-width:800px){header{padding:18px}.identity strong{font-size:12px}.identity div>span{font-size:12px}.mark{font-size:37px}.quiet{font-size:12px;padding:10px}.intro{left:20px;top:22%;padding:24px;width:calc(100% - 40px);max-width:370px}.intro h1{font-size:50px}.room-tools{top:99px;right:16px;width:auto;padding:12px}.room-tools>span{display:none}.swatches{margin:0 0 12px;gap:7px}.swatch{width:21px;height:21px}.room-tools #fire{font-size:12px}.location{top:103px;left:18px}.location #roomName{font-size:24px}.stops{bottom:20px;max-width:calc(100vw - 24px);width:max-content;overflow:auto;padding:4px}.stops button{font-size:12px;padding:11px 12px}.movement{bottom:82px;left:17px}.hint{bottom:80px;max-width:55%;font-size:12px}#context{bottom:135px;max-width:calc(100vw - 35px);width:max-content;gap:13px}#contextText{max-width:170px;font-size:13px}#details[open]{display:block;max-height:90vh;overflow:auto}.detail-media,#detailImage,#detailVideo{max-height:40vh}.detail-copy{padding:20px 26px}dialog h2{font-size:34px}#vr{bottom:85px;right:16px}#return{bottom:25px}}@media(prefers-reduced-motion:reduce){.loader{animation:none}}

#animationChoices{position:fixed;left:26px;top:175px;max-width:205px;max-height:36vh;overflow:auto;background:#f0ece3db;padding:5px;border-radius:3px;z-index:4;display:grid;gap:2px}#animationChoices button{text-align:left;padding:7px 9px;border-radius:2px;font-size:11px}#animationChoices button[aria-pressed=true]{background:#58625fcc;color:#fff}
.stops{padding:4px;gap:1px;box-shadow:0 3px 18px #25271c15}.stops button{padding:9px 13px;font-size:12px}.room-tools{width:148px;padding:13px;opacity:.88}.room-tools #fire,.room-tools #focus{font-size:11px;padding:9px 0}.swatch{width:20px;height:20px}.swatches{gap:7px;margin:11px 0}.movement button{width:30px;height:29px;font-size:15px}.quiet{font-size:12px;padding:9px 13px}#context{font-size:12px;padding:9px 12px;gap:15px}#context button{font-size:12px;padding:8px 11px}
body.seated-view .stops{background:transparent;border-color:transparent;box-shadow:none;opacity:.4;transition:opacity .2s}body.seated-view .stops:hover,body.seated-view .stops:focus-within{opacity:1}body.seated-view .stops button{background:transparent;color:#2b3638;text-shadow:0 1px 3px #f8f6ef}body.seated-view .stops button.active{background:#f0ece338}body.seated-view .hint{display:none}body.animation-view .location{display:none}
@media(max-width:700px){#animationChoices{left:12px;top:105px;max-width:165px;max-height:30vh}body.animation-view .room-tools{display:none}.stops button{font-size:11px;padding:8px 10px}}

/* The header identifies the gallery; a second location overlay is unnecessary. */
.location{display:none!important}

body.chance-view #context{top:130px;bottom:auto;left:24px;transform:none;display:grid;gap:6px;padding:10px;font-size:11px}body.chance-view #context button{font-size:11px;padding:7px 9px}body.chance-view .hint{display:none}@media(max-width:700px){body.chance-view #context{top:110px;left:12px;max-width:145px}body.chance-view .room-tools{display:none}}

/* A single small control; the collection panel only occupies space when opened. */
.collection-menu{position:fixed;right:24px;top:76px;z-index:15;font:12px system-ui;color:#293c3c;max-width:calc(100vw - 24px)}
.collection-menu summary{cursor:pointer;list-style:none;background:#f4f0e5de;border:1px solid #8a92866b;border-radius:5px;padding:6px 9px;min-height:30px;width:max-content;margin-left:auto}
.collection-menu summary::after{content:' ▾';font-size:10px}.collection-menu[open] summary::after{content:' ▴'}
.collection-panel{margin-top:5px;padding:12px;background:#f4f0e5;box-shadow:0 6px 22px #0002;border:1px solid #a6ab9a;border-radius:6px;width:230px;max-width:calc(100vw - 24px)}
.collection-panel p{margin:0 0 9px;font-size:12px}.collection-panel select{width:100%;font:12px system-ui;padding:6px;color:inherit;background:#fffaf0;border:1px solid #b6b9aa;border-radius:4px}
.collection-panel button,.collection-browser button{font:12px system-ui;padding:6px 9px;min-height:30px;border:1px solid #b6b9aa;border-radius:4px;background:#fffaf0;color:#293c3c;cursor:pointer}.collection-panel button{margin-top:9px}
.collection-browser{width:min(960px,94vw);max-height:88dvh;overflow:auto;padding:24px;background:#f2eee5;color:#293c3c;border:1px solid #b6b9aa;border-radius:8px}.collection-browser::backdrop{background:#152020b3}.collection-browser h2{font:normal 27px Georgia;margin:0 65px 22px 0}.collection-close{float:right;position:sticky;top:0}.collection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:24px}.collection-grid article{min-width:0}.collection-grid img,.collection-grid video{width:100%;height:210px;object-fit:contain;background:#e7e0d4}.collection-grid h3{font:normal 19px Georgia;margin:10px 0 6px}.collection-grid p,.collection-grid a{font:13px/1.5 system-ui;color:inherit}.collection-menu :focus-visible,.collection-browser :focus-visible{outline:2px solid #9b4d2b;outline-offset:3px}
@media(max-width:700px){.collection-menu{top:70px;right:12px}.collection-browser{padding:16px}.collection-menu summary{min-height:34px;padding:8px 10px}}
