:root{font-family:Arial,Helvetica,sans-serif;color:#f0eee3;background:#0b171d;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer;color:inherit;background:transparent;border:1px solid #b3c6c12b;border-radius:5px;padding:10px 12px;font-size:12px}button:hover,button:focus-visible{border-color:#c8c4a2;background:#bdc7bc18;outline:none}button:focus-visible{outline:2px solid #ffcb88;outline-offset:3px}#experience{position:relative;height:100svh;min-height:480px;overflow:hidden}#scene{display:block;width:100%;height:100%;outline:none;touch-action:none}header{position:absolute;top:0;left:0;right:0;padding:24px 30px;display:flex;align-items:center;gap:12px;background:linear-gradient(#061116b3,transparent);pointer-events:none}header>*{pointer-events:auto}.mark{font-size:36px;color:#dfc19c}header b{display:block;letter-spacing:3px;font-size:13px}header span{display:block;font-size:9px;letter-spacing:2px;margin-top:7px;color:#bec8c5}.head-actions{display:flex;gap:8px;margin-left:auto}.head-actions button{background:#07171ba8;backdrop-filter:blur(12px)}#controls{position:absolute;right:26px;top:112px;width:242px;background:#0b1b22de;backdrop-filter:blur(18px);border:1px solid #b4c1b525;border-radius:8px;padding:22px;box-shadow:0 16px 50px #00101635}.eyebrow{letter-spacing:2px;font-size:10px;font-weight:bold;color:#c1c9b9;margin:0 0 16px}#controls label{display:flex;justify-content:space-between;font-size:11px;color:#b9c4c5;align-items:center}output{color:#e7ba83;font-size:10px}input[type=range]{width:100%;accent-color:#e0b985;margin:16px 0 2px;cursor:pointer;height:15px}.divider{height:1px;background:#afc0bc25;margin:20px 0}#views{display:flex;flex-direction:column;gap:4px}#views button{text-align:left;border-color:transparent;padding:10px 0;color:#9bb0b4;font-size:10px;display:flex;gap:11px}#views button span{font-size:12px;color:#e1e5dc}#views button.active{color:#f1c187}#views button.active span{color:#f1c187}.wide{width:100%;display:flex;justify-content:space-between;padding:10px 0;border:0;font-size:11px;text-align:left}.wide span{color:#dcbd8f}.guide{font-size:10px;color:#9aacae;line-height:1.8;margin:16px 0 0}#intro{position:absolute;left:30px;bottom:90px;pointer-events:none;text-shadow:0 2px 15px #071318}#intro .eyebrow{font-size:10px;color:#ecd7b9;margin-bottom:14px}h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,3.4vw,48px);font-weight:normal;line-height:1.02;letter-spacing:-1px;margin:0 0 16px}#intro p:not(.eyebrow){font-size:12px;line-height:1.6;color:#d8ddd2}.hint{font-size:10px;color:#c5d0ce;display:block;margin-top:25px}footer{position:absolute;bottom:0;left:0;right:0;padding:19px 30px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:linear-gradient(transparent,#06151dc7);font:10px monospace;letter-spacing:1px;color:#b9cbc8}footer button{font-size:10px;padding:7px 10px}#detail{position:absolute;left:30px;bottom:85px;width:310px;padding:24px;background:#0a1b23ec;border:1px solid #a5c0c035;backdrop-filter:blur(18px);border-radius:8px}#detail h2{font-family:Georgia,serif;font-weight:normal;font-size:27px;margin:10px 0 13px}#detail p:not(.eyebrow){font-size:13px;line-height:1.7;color:#c2d0cf}#detailAction{margin-top:9px;background:#bacebc;color:#122930;border:0;font-size:12px;font-weight:bold}#closeDetail,#closeHelp{float:right;font-size:18px;padding:0 6px;border:0;color:#d7d2bd}.hotspot{position:absolute;transform:translate(-50%,-50%);border:1px solid #e8ce9dc9;background:#0b242bb8;width:29px;height:29px;display:grid;place-items:center;border-radius:50%;padding:0;font:10px monospace;color:#ffe2b1;box-shadow:0 0 0 5px #dbc39010,0 0 20px #dccdaf22;backdrop-filter:blur(4px)}.hotspot:hover{background:#e5c499;color:#112932}.hotspot.seen{border-color:#87cdd4;color:#c1f2ed}.hotspot:after{content:attr(data-name);display:none;position:absolute;left:38px;white-space:nowrap;font:11px Arial;background:#0b202be8;padding:8px 10px;border-radius:4px;color:#e2e6d9}.hotspot:hover:after,.hotspot:focus-visible:after{display:block}#hotspots{position:absolute;inset:0;pointer-events:none}#hotspots button{pointer-events:auto}#toast{position:absolute;left:50%;transform:translateX(-50%);bottom:30px;font-size:12px;color:#f2deb9;background:#102d37ed;border-radius:5px;max-width:80%;padding:12px 18px;z-index:8;pointer-events:none}#toast:empty{display:none}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:15px;background:#10212d;color:#d5daca;z-index:20;font-size:14px}#loading[hidden]{display:none}.load-ring{width:24px;height:24px;border:2px solid #7ea0a555;border-top-color:#dec097;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#reference{position:absolute;inset:0;z-index:12;background:#101c25f7;overflow:auto;padding:28px}.reference-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.reference-bar b{font-family:Georgia,serif;font-size:27px;font-weight:normal}.reference-bar p,.reference-note{font-size:12px;color:#b6c6c7;line-height:1.6}.reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}figure{margin:0;min-width:0}figure img,figure canvas{width:100%;aspect-ratio:4/3;display:block;object-fit:contain;background:#091117;border:1px solid #72868a44}figcaption{font:10px monospace;letter-spacing:1.5px;color:#c3ccbf;margin-top:12px}.reference-note{max-width:800px;margin-top:25px}.reference-slider{max-width:350px;display:flex;gap:12px;align-items:center;font-size:12px}.reference-slider input{margin:0}#help{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:500px;width:90%;background:#112832f5;border:1px solid #a9bdb455;border-radius:8px;padding:25px;z-index:15}#help h2{font-family:Georgia,serif;font-size:27px;font-weight:normal}#help p{font-size:14px;line-height:1.8;color:#c0cdce}#mobileControls{display:none}[hidden]{display:none!important}@media(max-width:850px){header{padding:18px;gap:8px}header b{font-size:11px;letter-spacing:2px}header span{font-size:7px;letter-spacing:1px}.mark{font-size:25px}.head-actions{gap:5px}.head-actions button{padding:8px;font-size:10px}#sound{display:none}#controls{display:none;right:15px;top:75px;width:220px;padding:17px;z-index:10}#controls.open{display:block}#mobileControls{display:block;position:absolute;right:18px;bottom:66px;background:#10232be6;font-size:11px}#intro{left:18px;bottom:105px}h1{font-size:30px}#intro p:not(.eyebrow){font-size:11px}.hint{font-size:9px;margin-top:12px}#intro .eyebrow{font-size:8px}footer{padding:16px;font-size:8px;flex-wrap:wrap}footer button{font-size:9px}#detail{left:16px;bottom:104px;width:280px;padding:20px}#detail h2{font-size:23px}#detail p:not(.eyebrow){font-size:12px}#reference{padding:18px}.reference-grid{grid-template-columns:1fr}.reference-bar{align-items:flex-start;gap:12px}.reference-bar b{font-size:23px}.reference-bar p{font-size:11px}.reference-bar button{font-size:10px;min-width:85px}.hotspot{width:26px;height:26px}#location{display:none}}@media(prefers-reduced-motion:reduce){.load-ring{animation:none}}
#controls{max-height:calc(100svh - 195px);overflow:auto}#controls .object-label{font-size:9px;letter-spacing:1px;margin-top:18px}#objectPicker{width:100%;margin-top:10px;background:#172e38;border:1px solid #a7b7ad44;color:#e1e4d8;border-radius:4px;padding:8px 5px;font-size:11px}#intro h1{font-size:34px}#intro p:not(.eyebrow){max-width:240px}@media(max-width:850px){#intro h1{font-size:28px}#controls{max-height:calc(100svh - 180px)}}