:root{font-family:'DM Sans',ui-sans-serif,system-ui,sans-serif;color:#f3eee3;background:#111b1e;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink:#f3eee3;--muted:#c7c6bb;--gold:#edc78f;--stroke:rgba(245,245,225,.16);--glass:rgba(17,30,32,.83)}
*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;min-height:100%;overflow:hidden}button{font-family:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #edc78f;outline-offset:4px}#viewport{position:absolute;inset:0;background:#66717a;overflow:hidden}#three-canvas{width:100%;height:100%;display:block;outline:0}
#app:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(90deg,rgba(9,17,19,.8) 0%,rgba(9,17,19,.32) 30%,transparent 53%,rgba(9,17,19,.38) 100%),linear-gradient(180deg,rgba(9,16,19,.67) 0%,transparent 17%,transparent 66%,rgba(8,15,17,.79) 100%)}
#app:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.2;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' opacity='.13' filter='url(%23n)'/%3E%3C/svg%3E")}
.header{position:absolute;z-index:3;left:35px;right:35px;top:24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--stroke);padding-bottom:19px;gap:20px}.brand{display:flex;align-items:center;gap:14px;min-width:275px}.brand-symbol{font-family:Georgia,serif;font-size:46px;line-height:1;color:var(--ink)}.brand-symbol span{color:var(--gold)}.brand-text{display:grid;gap:4px}.brand-text>span{font-size:9px;letter-spacing:.2em;font-weight:700;color:var(--gold)}.brand-text strong{font-family:'Manrope',sans-serif;font-weight:800;letter-spacing:-.015em;font-size:17px}.brand-text em{font-weight:500;color:#d0ba98;font-size:12px;font-style:normal}.header-middle,.header-right{letter-spacing:.12em;color:#e6e5d6;font-size:10px;font-weight:600}.header-middle span{opacity:.72}.header-right{display:flex;align-items:center;gap:9px}.header-separator{opacity:.3}.online-dot,.status-indicator{width:6px;height:6px;border-radius:50%;display:inline-block;background:#e8c88c;box-shadow:0 0 9px #e8c88c}
.hero-title{z-index:2;position:absolute;left:37px;top:119px;width:min(450px,37vw);pointer-events:none}.eyebrow,.section-id{color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.19em}.eyebrow{display:flex;gap:12px;align-items:center}.eyebrow-line{display:inline-block;width:26px;height:1px;background:var(--gold)}.hero-title h1{margin:18px 0 14px;font:700 clamp(49px,5.6vw,84px)/.94 Georgia,'Times New Roman',serif;letter-spacing:-.055em;text-wrap:balance}.hero-title h1 i{font-weight:400;color:#e9c594}.hero-title p{margin:25px 0 0;font-size:13px;color:#dedcd4;line-height:1.7;max-width:380px}.hero-title p strong{color:#fff}
.scene-status{position:absolute;z-index:2;left:36px;bottom:38px;display:flex;gap:12px;align-items:center;color:#d5d0bf;font-size:10px;letter-spacing:.15em;font-weight:700}.status-dot{color:#d4ab73}
.panel{z-index:3;position:absolute;background:var(--glass);border:1px solid var(--stroke);backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);box-shadow:0 25px 70px rgba(4,9,12,.25)}
.explorer{left:35px;top:47%;width:310px;padding:25px 25px 16px}.panel-top{display:flex;align-items:flex-start;justify-content:space-between}.panel-top h2{font-family:Georgia,serif;font-size:22px;font-weight:400;margin:10px 0 0;letter-spacing:-.025em}.panel-bullet{color:#a9b2a7;font-size:18px}.panel-copy{font-size:11px;color:#bcbfb9;line-height:1.55;margin:11px 0 17px}.location-list{display:grid}.location-row{border:0;background:transparent;border-bottom:1px solid rgba(255,255,255,.075);padding:11px 4px;display:flex;align-items:center;text-align:left;gap:15px;color:#dedfd8;transition:background .2s,color .2s}.location-row:hover,.location-row.selected{color:#f9d8a9;background:rgba(228,181,119,.07)}.location-number{font-size:11px;color:#c2a885;font-variant-numeric:tabular-nums}.location-info{display:flex;flex-direction:column;gap:3px;flex:1}.location-info strong{font-size:12px;font-weight:600}.location-info small{font-size:10px;color:#a8aaa2}.location-arrow{font-size:16px;opacity:.4}.location-row.selected .location-arrow{opacity:1}.divider{height:1px;background:var(--stroke);margin:14px 0}.tour-block{display:flex;align-items:center;gap:13px}.tour-symbol{font-size:25px;color:var(--gold)}.tour-block div:nth-child(2){flex:1;display:grid;gap:3px}.tour-block strong{font-size:11px;font-weight:600}.tour-block span{font-size:10px;color:#b8b9ad}.round-button{width:34px;height:34px;border:1px solid rgba(240,215,180,.5);border-radius:50%;background:transparent;color:var(--gold);font-size:18px}.round-button:hover{background:rgba(238,204,146,.16)}
.inspector{right:35px;top:24%;width:298px;padding:22px 23px 17px}.inspector-top{align-items:center;gap:7px}.inspector-top .section-id{white-space:nowrap}.source-pill{font-size:8px;letter-spacing:.08em;border:1px solid rgba(235,210,164,.25);color:#ccb58c;padding:6px 7px;white-space:nowrap}.inspector-counter{margin-top:33px;color:#bca583;font-family:Georgia,serif;font-size:15px}.inspector h2{font-family:Georgia,serif;font-size:31px;font-weight:400;letter-spacing:-.03em;line-height:1.07;margin:14px 0}.inspector>p{font-size:12px;line-height:1.7;color:#d3d2c9}.heritage-fact{background:rgba(228,213,184,.07);border-left:2px solid var(--gold);padding:12px;margin-top:25px}.heritage-fact span{color:#e5c58b;font-size:9px;letter-spacing:.16em;font-weight:700}.heritage-fact p{font-size:11px;line-height:1.6;color:#dfd8c9;margin:8px 0 0}.smallprint{color:#969e98;font-size:9px;line-height:1.6;margin-top:14px}.inspector-controls{margin-top:24px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--stroke);padding-top:16px}.inspector-controls button{width:36px;height:32px;border:1px solid var(--stroke);background:transparent;color:#f0d8ae;font-size:19px}.inspector-controls button:hover{background:rgba(236,204,148,.13)}.inspector-controls span{font-size:10px;letter-spacing:.15em;color:#d2c4b2}
.bottom-left{position:absolute;z-index:2;bottom:63px;left:35px;display:flex;align-items:center;gap:23px}.bottom-left span{font-size:9px;color:#debc87;letter-spacing:.1em}.bottom-left b{font-weight:600;color:#efebdf;margin-left:3px}
.bottom-right{position:absolute;z-index:3;right:35px;bottom:35px;display:grid;gap:11px;justify-items:end}.tool-heading{font-size:10px;letter-spacing:.17em;font-weight:700;color:#e9d6b6}.tool-heading span{color:#9dafa8;margin-left:9px}.toolbar{display:flex;align-items:stretch;gap:9px;padding:9px;background:rgba(13,28,31,.89);border:1px solid var(--stroke);backdrop-filter:blur(20px)}.segmented{display:flex;background:rgba(255,255,255,.055);padding:3px;gap:3px}.time-button,.tool-button{border:none;background:none;color:#c3c8bf;font-size:13px;letter-spacing:.08em;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 10px;min-height:38px;transition:background .2s,color .2s}.time-button span,.tool-button span:last-child{font-weight:700;font-size:9px}.time-button.active,.time-button:hover,.tool-button.engaged,.tool-button:hover{background:rgba(227,196,143,.16);color:#f0cc93}.toolbar-split{width:1px;background:var(--stroke);margin:5px 0}.tool-icon{font-size:18px}.help-button{z-index:4;position:absolute;right:36px;top:105px;background:transparent;border:1px solid var(--stroke);color:#eee5d2;border-radius:50%;width:32px;height:32px;font-size:14px}.help-button:hover{background:rgba(255,255,255,.09)}
.loading{position:absolute;z-index:10;inset:0;background:#111e20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;transition:opacity .55s}.loading.complete{opacity:0;pointer-events:none}.loading-mark{font:92px/.85 Georgia,serif}.loading-mark span{color:#edc78f}.loading-caption{font-size:10px;letter-spacing:.25em;color:#e6d2b4}.loading-bar{height:2px;width:200px;background:rgba(255,255,255,.16);margin-top:7px}.loading-bar i{display:block;height:100%;width:100%;background:#edc78f;transform-origin:left;animation:loadfill 1.6s forwards}@keyframes loadfill{from{transform:scaleX(0)}to{transform:scaleX(1)}}#webgl-error{position:absolute;z-index:15;top:35%;left:25%;right:25%;padding:30px;background:#3b2425;color:#fff;border:1px solid #c78375;text-align:center}
#notice{z-index:5;position:absolute;left:50%;bottom:38px;transform:translate(-50%,18px);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;padding:11px 17px;background:rgba(14,29,30,.9);border:1px solid rgba(238,202,151,.32);color:#f0d4ab;font-size:11px;letter-spacing:.06em;white-space:nowrap}#notice.visible{opacity:1;transform:translate(-50%,0)}
dialog{color:#f5ecdd;border:1px solid rgba(241,220,178,.34);background:#142124;max-width:min(94vw,570px);padding:34px 40px;box-shadow:0 40px 160px rgba(0,0,0,.65)}dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(7px)}dialog form{display:block}.dialog-close{position:absolute;right:22px;top:18px;font-size:26px;color:#e4d4bc;background:none;border:0}dialog h2{font:43px/1.1 Georgia,serif;letter-spacing:-.03em;margin:18px 0}dialog p{font-size:13px;line-height:1.8;color:#c8cdc4}dialog a{color:#f1cb95}.dialog-source{font-size:11px}.dialog-primary{border:1px solid #d5b485;background:#f0d1a0;color:#1c292b;letter-spacing:.13em;font-weight:700;font-size:10px;padding:14px 18px;margin-top:18px}kbd{font-family:monospace;border:1px solid var(--stroke);border-radius:3px;padding:1px 4px;color:#e6c78f}
@media(max-width:1150px){.header-middle{display:none}.hero-title{width:40vw}.hero-title h1{font-size:58px}.explorer{width:270px;padding:18px;top:49%}.inspector{width:263px;right:20px;top:25%;padding:18px}.inspector h2{font-size:27px}.bottom-left{display:none}.toolbar{gap:4px}.time-button,.tool-button{padding:0 8px}.bottom-right{right:20px}.header{left:22px;right:22px}.hero-title{left:22px}}
@media(max-height:770px) and (min-width:801px){.hero-title{top:100px}.hero-title h1{font-size:51px;margin:10px 0}.hero-title p{margin:9px 0 0}.explorer{top:auto;bottom:110px;padding:16px 19px 10px}.panel-top h2{font-size:19px}.panel-copy{margin:7px 0}.location-row{padding:7px 3px}.inspector{top:24%}.inspector-counter{margin-top:15px}.inspector h2{font-size:24px}.heritage-fact{margin-top:11px}.inspector-controls{margin-top:12px}}
@media(max-width:800px){.header{top:12px;padding-bottom:10px;left:14px;right:14px}.brand{min-width:0}.brand-symbol{font-size:35px}.brand-text>span{font-size:8px}.brand-text strong{font-size:14px}.header-right{display:none}.hero-title{left:16px;top:80px;width:65vw}.hero-title h1{font-size:clamp(34px,9vw,58px);margin:11px 0 7px}.hero-title p{display:none}.eyebrow{font-size:8px}.explorer{left:12px;bottom:120px;top:auto;width:210px;padding:13px;max-height:48vh;overflow-y:auto}.explorer .panel-top h2{font-size:17px;margin-top:6px}.panel-copy{display:none}.location-row{padding:8px 0;gap:8px}.location-info strong{font-size:10px}.location-info small{font-size:9px}.location-number{font-size:9px}.location-arrow{display:none}.tour-block strong{font-size:9px}.tour-block span{font-size:8px}.inspector{top:85px;right:12px;width:205px;padding:13px;max-height:49vh;overflow-y:auto}.inspector-top .section-id{font-size:8px}.source-pill{display:none}.inspector-counter{margin-top:10px}.inspector h2{font-size:23px;margin:8px 0}.inspector>p{font-size:10px;line-height:1.5}.heritage-fact{margin-top:10px;padding:8px}.heritage-fact p{font-size:9px}.smallprint{display:none}.inspector-controls{margin-top:12px;padding-top:10px}.bottom-right{left:12px;right:12px;bottom:14px;justify-items:stretch}.toolbar{justify-content:space-between}.time-button,.tool-button{padding:0 7px}.time-button span,.tool-button span:last-child{font-size:8px}.tool-heading{font-size:8px}.scene-status{bottom:96px;left:15px;font-size:8px}.help-button{right:13px;top:57px}.bottom-left{display:none}#notice{bottom:83px;max-width:96vw;font-size:9px;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:500px){.explorer{width:44vw;bottom:94px;max-height:44vh}.inspector{width:48vw;top:113px;max-height:43vh}.hero-title{top:82px}.hero-title h1{font-size:33px}.eyebrow{font-size:7px}.toolbar{gap:2px;padding:5px}.time-button,.tool-button{min-height:34px;padding:0 5px;gap:2px}.time-button span,.tool-button span:last-child{font-size:7px}.tool-icon{font-size:15px}.scene-status{bottom:78px}.panel-top h2{font-size:16px}.header{padding-bottom:8px}.brand-text>span{font-size:7px}}
@media(prefers-reduced-motion:reduce){.loading-bar i{animation:none}*,*:before,*:after{transition-duration:.01ms!important;scroll-behavior:auto!important}}
