:root{font-family:Arial,Helvetica,sans-serif;color:#181e1c;background:#d6d7d3;font-synthesis:none;--ink:#171e1b;--lime:#d9edac;--paper:rgba(250,251,247,.94)}*{box-sizing:border-box}body{margin:0;overscroll-behavior:none}button{font:inherit;cursor:pointer;border:0;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible,#viewport:focus-visible{outline:3px solid #65832c;outline-offset:4px}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}#gallery,#viewport{position:fixed;inset:0}#viewport{touch-action:none;outline:none}canvas{display:block;width:100%;height:100%}.topbar{position:absolute;top:max(30px,env(safe-area-inset-top));left:38px;right:38px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;gap:15px}.identity{display:flex;flex-direction:column;gap:7px;text-shadow:0 1px 20px white}.wordmark{font-size:28px;letter-spacing:-1.6px;font-weight:800}.period{color:#5b7041}.edition{font-size:12px;letter-spacing:2px;font-weight:600}.edition span{opacity:.4;margin:0 6px}.tools{display:flex;gap:8px;pointer-events:auto}.tool{height:46px;min-width:46px;background:var(--paper);color:var(--ink);display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #ffffffaa;border-radius:50%;box-shadow:0 3px 20px #00000009}.tool:hover,.step:hover{background:var(--lime)}.label-tool{border-radius:30px;padding:0 18px;font-size:14px}.label-tool svg{width:17px;height:17px}.exhibition-note{position:absolute;top:145px;left:40px;pointer-events:none;transition:opacity .7s,transform .7s;max-width:280px;text-shadow:0 1px 16px #fff9}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700}.exhibition-note h1{font-family:Georgia,'Times New Roman',serif;font-size:48px;letter-spacing:-1.7px;font-weight:400;line-height:1.07;margin:16px 0 20px}.note-rule{display:block;width:28px;height:2px;background:#3b483b}.exhibition-note p{font-size:16px;margin:16px 0 8px}.exhibition-note small{display:block;font-size:12px;line-height:1.6;max-width:220px;color:#505a50}body.exploring .exhibition-note{opacity:0;transform:translateY(-12px)}.hint{position:absolute;top:116px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:9px;padding:10px 12px 10px 16px;background:var(--paper);border-radius:28px;font-size:13px;box-shadow:0 3px 20px #00000009;max-width:min(500px,90%);transition:opacity .4s}.hint-dot{width:6px;height:6px;border-radius:50%;background:#587148;flex-shrink:0}.hint button{background:transparent;font-size:22px;width:26px;color:#67715f}.walk-pad{position:absolute;bottom:max(36px,env(safe-area-inset-bottom));left:38px;width:136px;height:94px;display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:44px 44px;gap:3px;touch-action:none}.walk-pad button{background:var(--paper);border:1px solid #fff8;box-shadow:0 2px 12px #00000006;border-radius:9px;display:grid;place-items:center;color:#2e3b30;touch-action:none;user-select:none}.walk-pad button:active,.walk-pad button.pressed{background:var(--lime);transform:scale(.94)}.forward{grid-column:2}.left{grid-row:2;grid-column:1}.back{grid-row:2;grid-column:2}.right{grid-row:2;grid-column:3}.location{position:absolute;bottom:45px;left:196px;display:flex;gap:10px;align-items:center;font-size:11px;letter-spacing:1px;pointer-events:none}.location svg{height:27px;width:27px}.location small{display:block;font-size:11px;letter-spacing:0;margin-top:6px;color:#526054}.tour-controls{position:absolute;bottom:max(35px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;background:var(--paper);border:1px solid #fff9;padding:7px;border-radius:100px;box-shadow:0 5px 30px #121e1520;max-width:calc(100% - 34px);white-space:nowrap}.step{height:44px;width:44px;border-radius:50%;background:transparent;color:var(--ink);display:grid;place-items:center;flex-shrink:0}.step svg{height:18px;width:18px}.current{background:transparent;padding:2px 15px;min-width:163px;text-align:center;color:var(--ink)}.current>span{display:block;font-size:15px;font-weight:600}.current small{display:block;font-size:10px;letter-spacing:1px;margin-top:5px;color:#6d756b}.current:not(:disabled):hover>span{text-decoration:underline}.control-divider{display:block;height:28px;width:1px;background:#cfd5cb;margin:0 9px}.guide{border-radius:40px;background:var(--ink);color:#f0f6e9;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 19px;height:46px;font-size:14px}.guide:hover{background:#304233}.guide svg{height:15px;width:15px;fill:currentColor;stroke-width:1}.guide.active{background:var(--lime);color:var(--ink)}.home-button{position:absolute;bottom:41px;right:38px;display:flex;gap:9px;align-items:center;background:var(--paper);padding:12px 15px;border-radius:25px;font-size:13px;color:var(--ink)}.home-button svg{height:18px;width:18px}#art-tooltip{position:absolute;pointer-events:none;z-index:2;background:#172019e8;color:white;font-size:13px;padding:9px 14px;border-radius:20px}#travel-label{position:absolute;bottom:116px;left:50%;transform:translateX(-50%);font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#374333;text-shadow:0 1px 5px white;white-space:nowrap}.loading{position:fixed;inset:0;z-index:20;background:#e9eae5;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:opacity .6s;pointer-events:auto}.loading-brand{font-size:36px;font-weight:800;letter-spacing:-2px}.loading p{font-family:Georgia,serif;font-size:24px;margin:28px 0 24px}.loading-track{width:180px;height:2px;background:#c9cebf}.loading-track span{height:2px;display:block;background:#6b8648;width:0;transition:width .3s}.loading small{font-size:12px;margin-top:13px;color:#627058}.loading.done{opacity:0;pointer-events:none}dialog{padding:30px;border:0;box-shadow:0 20px 100px #0005;color:var(--ink);background:#f7f8f3;max-height:calc(100dvh - 40px);border-radius:5px;width:calc(100% - 36px);overscroll-behavior:contain}dialog::backdrop{background:#111b178c;backdrop-filter:blur(7px)}.dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.dialog-header h2{font-family:Georgia,serif;font-weight:400;font-size:40px;letter-spacing:-1.2px;margin:12px 0 0}.close{font-size:29px;font-weight:300;line-height:1;width:42px;height:42px;border-radius:50%;background:#e8ecdf;flex-shrink:0;color:var(--ink)}.close:hover{background:var(--lime)}.collection-dialog{max-width:960px}.dialog-intro{font-size:16px;margin:14px 0 24px;color:#5c6658}#art-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.art-card{background:transparent;text-align:left;padding:0;min-width:0;color:var(--ink)}.art-card .thumb{height:133px;width:100%;background:#e8eae2;display:grid;place-items:center;transition:background .2s}.art-card img{max-width:calc(100% - 20px);max-height:110px;object-fit:contain;box-shadow:0 4px 12px #0003}.art-card:hover .thumb{background:#d2dec0}.art-card strong{display:block;font-size:14px;margin-top:10px;font-weight:500}.art-card small{font-size:12px;color:#6b7463}.dialog-footnote{font-size:12px;color:#697362;margin:28px 0 0}.art-dialog{background:#111612;color:#f4f7ed;width:min(1360px,calc(100% - 30px));max-width:none;padding:0;height:min(960px,calc(100dvh - 30px));max-height:none;border:1px solid #ffffff20;overflow:hidden}.art-dialog[open]{display:flex;flex-direction:column}.art-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:40px 65px 22px;overflow:auto;touch-action:pan-x pan-y pinch-zoom}.art-stage img{max-height:100%;max-width:100%;object-fit:contain;box-shadow:0 10px 60px #0005}.art-close{position:absolute;top:16px;right:16px;background:#e7ecdfed;z-index:1}.art-caption{padding:12px 20px 20px;display:flex;justify-content:center;align-items:center;gap:25px}.art-caption>div{text-align:center;min-width:150px}.art-caption span{display:block;font-size:17px}.art-caption small{display:block;font-size:13px;color:#b1bcaa;margin-top:5px}.art-caption .step{color:white;font-size:30px}.art-caption .step:hover{color:#171e1b}.help-dialog{max-width:530px}.help-dialog h2{font-size:32px}.help-row{padding:18px 0;border-bottom:1px solid #dbe0d3}.help-row b{font-size:16px;font-weight:600}.help-row p{font-size:16px;line-height:1.5;margin:6px 0 0;color:#56624f}.primary{background:var(--ink);color:white;border-radius:40px;padding:15px 24px;font-size:16px;margin-top:24px;width:100%}#toast{position:absolute;z-index:50;top:100px;left:50%;transform:translateX(-50%);max-width:90%;background:#172019;color:white;padding:13px 20px;border-radius:20px;font-size:14px;text-align:center}.fallback{position:fixed;inset:0;z-index:25;background:#eef0e8;padding:30px;overflow:auto}.fallback h1{font-family:Georgia,serif;font-size:30px;font-weight:400}.fallback p{font-size:16px}.fallback button{padding:12px 18px;background:#19211b;color:white;border-radius:20px;font-size:16px}#fallback-artworks{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px;margin-top:30px}#fallback-artworks img{max-width:100%;max-height:400px;object-fit:contain}.fallback figure{margin:0}#fallback-artworks figcaption{font-size:16px;margin:10px 0}[hidden]{display:none!important}@media(max-width:1300px){.location{display:none}.tour-controls{left:55%}.exhibition-note h1{font-size:40px}.home-button span{display:none}.home-button{border-radius:50%;width:44px;height:44px;justify-content:center;padding:0}}@media(max-width:800px){.topbar{left:19px;right:19px;top:max(21px,env(safe-area-inset-top))}.wordmark{font-size:24px}.edition{font-size:9px;letter-spacing:1.25px}.tools{gap:6px}.tool{height:39px;min-width:39px}.label-tool{padding:0 12px;font-size:13px}.label-tool span{display:none}.tool svg{width:19px;height:19px}.exhibition-note{top:107px;left:22px;max-width:190px}.exhibition-note h1{font-size:33px;line-height:1.03;margin:13px 0 15px}.exhibition-note p{font-size:14px;margin:12px 0 8px}.exhibition-note small{font-size:11px;max-width:170px}.eyebrow{font-size:10px;letter-spacing:1.5px}.hint{top:auto;bottom:214px;max-width:calc(100% - 40px);font-size:12px;width:max-content}.walk-pad{left:22px;bottom:105px;width:133px;height:91px}.home-button{bottom:116px;right:23px}.tour-controls{left:50%;bottom:max(22px,env(safe-area-inset-bottom));padding:5px;max-width:calc(100% - 28px)}.current{min-width:130px;padding:0 6px}.current>span{font-size:13px}.current small{font-size:9px;letter-spacing:.5px}.step{width:36px;height:40px}.guide{font-size:12px;padding:0 14px;height:43px;gap:6px}.control-divider{margin:0 4px}.guide svg{width:12px;height:12px}#travel-label{bottom:88px;font-size:10px}#art-grid{grid-template-columns:repeat(2,1fr);gap:18px}dialog{padding:23px;max-height:calc(100dvh - 30px)}.dialog-header h2{font-size:32px}.art-stage{padding:55px 15px 15px}.art-dialog{height:calc(100dvh - 20px);width:calc(100% - 20px)}.art-caption{padding:12px 15px 22px}.hint-dot{display:none}}@media(max-width:380px){.current{min-width:116px}.guide{padding:0 10px}.step{width:30px}.tour-controls{max-width:calc(100% - 14px)}.edition{font-size:8px}.wordmark{font-size:22px}.tools{gap:4px}.tool{height:35px;min-width:35px}}@media(max-height:530px) and (orientation:landscape){.exhibition-note{display:none}.hint{top:88px;bottom:auto}.tour-controls{bottom:17px}.walk-pad{bottom:20px;left:22px}.home-button{bottom:23px;right:20px}.topbar{top:15px}.tour-controls{left:56%}#travel-label{bottom:83px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* After Dark — quiet museum controls over the architecture. */
:root{--ink:#ece5d7;--lime:#c6aa76;--paper:rgba(19,21,23,.84);color:#eae3d7;background:#090d14}.topbar{top:max(26px,env(safe-area-inset-top));left:32px;right:32px}.identity{color:#eee7db;text-shadow:0 2px 15px #000}.wordmark{font-family:Georgia,'Times New Roman',serif;font-size:27px;font-weight:400;letter-spacing:4px}.period{color:#bfa273}.edition{font-size:10px;letter-spacing:2.6px;color:#ccbaa0}.tool,.tour-controls,.walk-pad button,.home-button,.hint{border:1px solid #d6c6a42b;box-shadow:0 6px 28px #0004;backdrop-filter:blur(15px)}.tool{color:#e5ddcf}.tool:hover,.step:hover{background:#63533c;color:white}.guide{background:#c6aa76;color:#151714}.guide:hover{background:#ddc697}.guide.active{color:#141615}.current small{color:#b7a88d}.control-divider{background:#91857055}.hint{color:#d4c6ac}.hint button{color:#d4c6ac}.hint-dot{background:#c6aa76}.walk-pad button{color:#d8ceb9}.walk-pad button:active,.walk-pad button.pressed{color:#161a16}.location{color:#d8c9ad}.location small{color:#b4a58b}#travel-label{color:#cbb594;text-shadow:0 2px 12px #000;letter-spacing:2px}.loading{background:#101418;color:#e2d6bd}.loading-brand{font-family:Georgia,serif;font-weight:400;letter-spacing:5px;font-size:32px}.loading p{font-size:21px}.loading-track{background:#43443b}.loading-track span{background:#c6aa76}.loading small{color:#a99b83}dialog{background:#171b1d;color:#e3dbcc;border:1px solid #bbaa8830}dialog::backdrop{background:#03070bac}.close{background:#303431;color:#d9c8a7}.close:hover{color:#191c18}.dialog-intro,.dialog-footnote,.art-card small{color:#b5ac9b}.art-card .thumb{background:#252a2b}.art-card:hover .thumb{background:#3e453f}.help-row{border-color:#9b8d702c}.help-row p{color:#bdb6a6}.primary{background:#c5a774;color:#101510}.credits{font-size:12px;line-height:1.6}.credits a{color:#a79980}.fallback{background:#171d21;color:#e0d7c5}.fallback button{background:#c6aa76;color:#191c17}#art-tooltip{background:#101519ed;color:#e1d2b3;border:1px solid #ccb27a40}.art-caption .step:hover{background:#65553b;color:white}.topbar::before{content:'';position:fixed;inset:0 0 auto;height:110px;background:linear-gradient(#05070c70,transparent);z-index:-1;pointer-events:none}.current>span{font-weight:400}.tour-controls{border-radius:10px}.guide{border-radius:6px}.tool{border-radius:8px}.label-tool{border-radius:8px}.home-button{border-radius:8px}.walk-pad button{border-radius:6px}.hint{border-radius:7px;font-size:12px}#travel-label{bottom:111px}@media(max-width:800px){.topbar{left:17px;right:17px;top:max(20px,env(safe-area-inset-top))}.wordmark{font-size:19px;letter-spacing:2px}.edition{font-size:8px;letter-spacing:1.5px}.tool{height:34px;min-width:34px}.tools{gap:5px}.tool svg{width:17px;height:17px}.label-tool{padding:0 9px}.tour-controls{border-radius:9px}.loading-brand{font-size:26px;letter-spacing:3px}#travel-label{bottom:86px}.hint{bottom:212px}}@media(max-width:390px){.wordmark{font-size:17px}.edition{font-size:7px}.tools{gap:4px}.tool{height:31px;min-width:31px}.label-tool{padding:0 7px}}

.vr-button{border-color:#c6aa7690;color:#ead0a1}.vr-button:disabled{opacity:.55}.vr-button span{white-space:nowrap}body.in-vr .topbar,body.in-vr .tour-controls,body.in-vr .walk-pad,body.in-vr .home-button,body.in-vr .hint,body.in-vr .location,body.in-vr #travel-label,body.in-vr #art-tooltip{display:none!important}
@media(max-width:800px){.topbar{flex-wrap:wrap;align-items:flex-start}.tools{margin-left:auto}.vr-button span{display:inline;font-size:12px}.vr-button{padding:0 8px}.identity{min-width:125px}.tools{flex-wrap:wrap;justify-content:flex-end;max-width:100%}}
/* Collection rooms: lightweight navigation and artwork information. */
.edition { max-width:min(360px,40vw); line-height:1.5; letter-spacing:.06em; font-size:12px; }
.edition span { margin:0;opacity:1; }
.current { max-width:320px; }
.current>span { overflow:hidden;text-overflow:ellipsis;max-width:260px; }
.room-links { position:absolute;left:50%;top:104px;transform:translateX(-50%);display:flex;align-items:center;gap:18px;max-width:calc(100% - 32px);padding:12px 18px;background:#172027e8;border:1px solid #cbb28250;border-radius:8px;font-size:14px; }
.room-links a { color:#f2d6ab;text-decoration:underline;white-space:normal;text-align:center;max-width:240px; }
.room-links span { font-size:10px;letter-spacing:.07em;color:#bcc6ca;text-align:center; }
.hint { top:174px; }
#rooms-list { display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:28px; }
.room-choice { display:flex;flex-direction:column;gap:12px;padding:24px;border:1px solid #cbb28255;color:#efe1ca;text-decoration:none; }
.room-choice[aria-current] { background:#35494e; }
.room-choice strong { font-size:20px; }.room-choice small { font-size:14px;color:#bdb7aa; }
.art-dialog { overflow-y:auto; }.art-stage { min-height:180px; }
.art-stage video { max-width:100%;max-height:100%; }
.art-description { flex-shrink:0;padding:0 30px 25px;max-width:900px;margin:auto;max-height:35vh;overflow:auto; }
.art-description p { font-size:16px;line-height:1.65;color:#dbd6ca;margin:0 0 18px; }
.art-description a { color:#ecd0a4;font-size:16px; }
#fallback-rooms { display:flex;flex-wrap:wrap;gap:18px;margin:24px 0; }
#fallback-rooms a,#fallback-artworks a { color:#e8c391; }
#fallback-artworks p { line-height:1.6; }#fallback-artworks video { max-width:100%;max-height:400px; }
body.in-vr .room-links {display:none!important;}
@media(max-width:800px) { .room-links { top:105px;left:16px;right:16px;transform:none;max-width:none;justify-content:space-between;gap:14px;padding:9px 12px; }.room-links span{display:none;}.room-links a{font-size:12px;max-width:45%;}.hint{top:auto;bottom:215px;}.current{min-width:80px;max-width:40vw;}.current>span{max-width:38vw;font-size:13px;}.edition{max-width:44vw;font-size:10px;}.art-description{padding:0 18px 22px;}.art-caption>div{min-width:0;}.art-caption{gap:12px;}.art-caption span{font-size:15px;} }
@media(max-height:530px) and (orientation:landscape){.room-links{top:65px;}.hint{display:none;}}
/* Rounded gallery typography, artwork actions and quiet architectural captions. */
@font-face{font-family:Quicksand;src:url('./assets/fonts/quicksand-variable.ttf') format('truetype');font-style:normal;font-weight:300 700;font-display:swap}
:root{font-family:Quicksand,Arial,sans-serif;--paper:rgba(24,42,43,.89)}
button,input,select{font-family:inherit}.identity .wordmark{font-family:Quicksand,Arial,sans-serif;font-weight:500;letter-spacing:4px}.tool,.label-tool,.tour-controls,.home-button,.guide,.hint,.room-links{border-radius:28px}.room-links{background:#e9ebe3ee;border-color:#ffffff88;padding:10px 22px;box-shadow:0 8px 32px #1d383326}.room-links a{color:#38524e;text-decoration:none;font-weight:600}.room-links span{color:#6b7e76}.room-links a:hover{text-decoration:underline}.view-caption{position:absolute;top:165px;left:50%;transform:translateX(-50%);display:flex;gap:12px;align-items:center;color:#e9eee8;font-size:12px;letter-spacing:.035em;text-shadow:0 1px 5px #14282c}.view-caption span:first-child{font-weight:600}.view-caption span+span::before{content:'·';margin-right:12px}.hint{top:201px}.art-caption>div{max-width:80%}.art-caption #detail-title{font-family:Quicksand,sans-serif;font-size:clamp(23px,3vw,38px);font-weight:500;line-height:1.3;color:#f4e9d6}.art-caption small{font-size:13px;line-height:1.6}.art-dialog{border-radius:24px;background:#17292b}.art-description{width:100%;max-width:950px;max-height:40vh}.description-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:0 0 10px}.description-actions button{padding:12px 23px;font-size:15px;font-weight:600;border:1px solid #cbb99a55;border-radius:50px;color:#243e3c;background:#e6e7dd;min-height:45px}.description-actions button[aria-pressed=true]{background:#ceb181}.description-actions button:hover{background:#d7c29c}#detail-audio-note{display:block;text-align:center;font-size:12px;color:#c4c7b8;margin:8px 0 20px}.art-description p{font-size:17px;line-height:1.75;color:#e4e7dd}.art-description>a{display:block;text-align:center;font-size:14px;text-decoration:none;padding:8px}.audio-stop{position:absolute;right:30px;top:172px;background:#dbc59c;color:#233b38;padding:12px 20px;border-radius:30px;font-size:14px;box-shadow:0 4px 24px #0003}.dialog-header h2{font-family:Quicksand,sans-serif;font-weight:500}.room-choice{border-radius:18px}.art-card .thumb{border-radius:10px}.art-card strong{font-weight:600}.loading-brand,.loading p{font-family:Quicksand,sans-serif}.loading-brand{font-weight:500}.topbar{align-items:flex-start}.current>span{font-weight:600}
body.in-vr .view-caption,body.in-vr .audio-stop{display:none!important}
@media(max-width:800px){.view-caption{top:161px;width:95%;justify-content:center;font-size:10px;gap:7px}.view-caption span+span::before{margin-right:7px}.hint{top:auto;bottom:215px}.audio-stop{top:187px;right:17px;font-size:12px;padding:10px 15px}.room-links{border-radius:20px}.art-dialog{border-radius:18px}.art-description{max-height:44vh}.art-stage{min-height:210px}.description-actions{gap:8px}.description-actions button{font-size:13px;padding:10px 16px}.art-caption #detail-title{font-size:23px}.art-description p{font-size:15px}}
@media(max-height:530px) and (orientation:landscape){.view-caption{display:none}.audio-stop{top:115px}.art-stage{min-height:120px}}
