:root{--bg:#171712;--ink:#eee6d5;--muted:#b4ab97;--gold:#c1a575;--rule:#514a38;--serif:Georgia,'Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.7 var(--sans)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:6px}button,a,input{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,.object:focus{outline:2px solid #dbc28c;outline-offset:5px}header,main{width:min(1280px,calc(100% - 96px));margin:auto}header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:28px 0;border-bottom:1px solid var(--rule)}.wordmark{font:22px var(--serif);letter-spacing:.15em}.wordmark span{font:10px var(--sans);letter-spacing:.06em;margin-left:25px;color:var(--muted)}.direct{font-size:12px;color:#d9cbb0}.direct span{margin-left:12px}.opening{display:flex;justify-content:space-between;gap:60px;padding:48px 0 38px;align-items:end}h1,h2,h3,p{margin:0}h1{font:clamp(40px,5vw,67px)/1.05 var(--serif);letter-spacing:-.045em;margin-bottom:22px}h1 em{font-weight:400;color:#c7b48c}.opening p{font-size:14px;color:var(--muted);max-width:480px}.opening-note{max-width:250px;border-left:1px solid var(--rule);padding-left:22px}.opening-note span{font:11px var(--sans);color:#d9c7a7}.opening-note p{font-size:12px;margin-top:10px}.scene{position:relative;aspect-ratio:3/2;background:#201c16;border:1px solid #4c4330;overflow:hidden}.scene img,.scene canvas{display:block;width:100%;height:100%;object-fit:cover}.scene canvas[hidden]{display:none}.scene img[hidden]{display:none}.load-panel{position:absolute;left:28px;bottom:26px;padding:17px 20px;background:#181812e8;border:1px solid #807050;max-width:310px}.load-panel button{color:#f5e9ce;background:transparent;border:0;padding:0;font:17px var(--serif);cursor:pointer;min-height:35px}.load-panel p{font-size:10px;line-height:1.7;color:#c8bca7;margin-top:6px}.scene-toolbar{border-bottom:1px solid var(--rule);padding:17px 0;color:var(--muted);font-size:11px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}#view-controls{display:flex;align-items:center;gap:16px}#view-controls[hidden]{display:none}input{accent-color:#bd9c5f;max-width:150px}#view-controls button{font:11px var(--sans);color:#daceb5;background:transparent;border:1px solid #6b604a;padding:8px 12px;min-height:38px;cursor:pointer}.hotspot{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:7px;background:#1b1a14ee;color:#efd8aa;border:1px solid #ba9b5b;padding:9px 12px;min-height:44px;font:12px var(--sans);cursor:pointer;white-space:nowrap}.hotspot span{font-size:11px}.works{padding:48px 0 40px}.works-heading{display:flex;justify-content:space-between;align-items:baseline;gap:35px;margin-bottom:30px}.works-heading h2{font:30px/1.25 var(--serif);letter-spacing:-.025em}.works-heading>p{font-size:11px;color:var(--muted)}.object{display:grid;grid-template-columns:250px 1fr;gap:35px;padding:28px 0;border-top:1px solid var(--rule);scroll-margin-top:25px}.number{font-size:10px;color:#b49c73;letter-spacing:.06em}.object h3{font:29px/1.25 var(--serif);margin-bottom:14px}.object p{color:var(--muted);font-size:14px;max-width:680px;margin-top:10px}.object .motto{color:#d5c4a2;font-style:italic}.symbols{font:22px/1.8 'Songti TC',serif;word-spacing:12px;color:#c4a568;margin-top:17px}.object .fine{font-size:11px;max-width:650px}.object a{display:inline-block;color:#e2c99f;border-bottom:1px solid #857047;padding:8px 0;margin-top:13px;font-size:13px}footer{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--rule);padding:24px 0 35px;font-size:10px;color:#a79c86}.skip{position:absolute;top:-100px;left:15px;z-index:10;background:#181812;padding:10px}.skip:focus{top:15px}@media(max-width:700px){header,main{width:calc(100% - 36px)}header{padding-block:22px;align-items:start}.wordmark{font-size:19px}.wordmark span{display:block;margin:8px 0 0;font-size:9px}.direct{max-width:130px;text-align:right;font-size:11px}.opening{padding:33px 0 26px;display:block}.opening h1{font-size:43px}.opening-note{display:none}.opening p{font-size:13px}.scene{aspect-ratio:1/1}.scene img{object-position:48% 50%}.load-panel{display:none}.scene-toolbar{padding:13px 0}.works{padding-block:30px}.works-heading{display:block}.works-heading h2{font-size:28px}.works-heading>p{margin-top:12px}.object{grid-template-columns:1fr;gap:12px;padding-block:24px}.object h3{font-size:26px}.object p{font-size:13px}.symbols{font-size:21px;word-spacing:8px}footer{display:block}footer a{display:block;margin-top:12px}#view-controls{flex-wrap:wrap}.hotspot span{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.scene{max-height:70vh}.scene img{object-fit:contain}.load-panel[hidden]{display:none}@media(max-width:700px){.scene{aspect-ratio:3/2;max-height:none}.scene img{object-fit:contain}}
/* The room remains the opening's main visual, with an optional direct route. */
.opening{padding-block:28px 26px}.opening h1{font-size:clamp(38px,4.2vw,54px);margin-bottom:16px}.scene{max-height:60vh}@media(max-width:700px){.opening{padding-block:28px 24px}.opening h1{font-size:40px}.scene{max-height:none}}

/* Fixed frame dimensions prevent intrinsic canvas size from shrinking the room. */
.scene{width:100%;height:min(64vw,620px);max-height:68vh;aspect-ratio:auto}.scene img,.scene canvas{position:absolute;inset:0;width:100%;height:100%}.load-panel{display:block}.load-panel[hidden]{display:none}.study-breadcrumb{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;padding-top:20px;font-size:11px;color:#bdb5aa}.study-breadcrumb a{border-bottom:1px solid #80786e}.view-help{font-size:10px;max-width:220px}#view-controls{flex-wrap:wrap}.scene-toolbar{background:#242521;padding-inline:16px}.opening-note span{color:#c3c9c8}body{background:linear-gradient(150deg,#1d1914 0%,#1c2022 85%);background-attachment:scroll}@media(max-width:700px){.scene{height:390px;max-height:none}.load-panel{display:block;left:12px;right:12px;bottom:12px;max-width:none;padding:12px 14px}.load-panel[hidden]{display:none}.load-panel button{font-size:17px}.load-panel p{font-size:11px}.scene-toolbar{padding-inline:12px}#view-controls{gap:10px}.view-help{flex-basis:100%;max-width:none}.hotspot{padding:7px;min-width:38px}.opening h1{font-size:38px}}

.scene{height:min(66vw,690px);max-height:none}.study-breadcrumb a{padding:8px 0;font-size:13px}.scene-toolbar #still{border-color:#c1a575;color:#f0dfba}@media(max-width:700px){.scene{height:390px}}
