:root{color-scheme:dark;--bg:#10191b;--panel:#182225ee;--line:#ffffff24;--ivory:#eee7dc;--muted:#9baca9;--accent:#e3b78d;--green:#a0c3b0;--font:'Manrope','DM Sans','Segoe UI',sans-serif;font-family:var(--font);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:#c99e78;color:#0e191c}
.experience{width:100%;height:100dvh;min-height:460px;position:relative;isolation:isolate;background:#7c7367;overflow:hidden;color:var(--ivory)}
.viewer,.viewer canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.viewer canvas{touch-action:none}.noise-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.26'/%3E%3C/svg%3E")}
.top-gradient{position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(0deg,#121d1f4d,transparent 34%),linear-gradient(90deg,#10202588,transparent 62%)}
.loading{position:absolute;inset:0;background:#111b1d;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;letter-spacing:.28em;font-size:11px;text-align:center;transition:opacity .8s,visibility .8s}.loading.loaded{opacity:0;visibility:hidden;pointer-events:none}.loading-mark{font-size:75px;color:var(--accent);font-weight:200;line-height:1}.loading small{color:var(--muted);font-size:11px;letter-spacing:.08em;max-width:400px;line-height:1.6}
.intro-panel{z-index:6;position:absolute;top:24px;left:24px;width:335px;border:1px solid #e9dfcf35;background:linear-gradient(145deg,#172224f2,#172124d9);backdrop-filter:blur(25px);box-shadow:0 14px 55px #07101055;color:var(--ivory);max-height:calc(100dvh - 234px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#a7a9a444 transparent}
.identity{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:18px 19px 17px}.identity-emblem{width:34px;height:34px;border:1px solid #d7b18d78;display:grid;place-items:center;color:var(--accent);font-size:25px}.identity-main,.identity-sub{display:block;letter-spacing:.15em}.identity-main{font-size:10px;font-weight:800}.identity-sub{margin-top:3px;color:var(--muted);font-size:8px;letter-spacing:.10em}.identity-year{font-size:8px;color:#d5cabc93;margin-left:auto;align-self:start;white-space:nowrap}
.intro-copy{padding:23px 22px 20px}.eyebrow{display:flex;align-items:center;gap:8px;letter-spacing:.15em;color:var(--accent);font-size:9px;font-weight:800}.eyebrow-line{width:25px;height:1px;background:var(--accent)}.eyebrow-point{color:#ffffff60}.intro-copy h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:56px;line-height:1;letter-spacing:-.045em;margin:22px 0 3px}.title-period{color:var(--accent)}.title-sub{font-size:11px;letter-spacing:.27em;font-weight:700;margin:8px 0 20px;color:#f0ddc3}.summary{font-family:Georgia,serif;font-size:17px;line-height:1.48;max-width:250px;color:#ddd5cc;margin:0}.intro-rule{height:1px;background:var(--line);margin:24px 0 18px}.history{display:grid;gap:11px}.history div{display:flex;align-items:center;justify-content:space-between;gap:10px}.history span{font-size:9px;letter-spacing:.12em;color:var(--muted)}.history strong{font-size:10px;letter-spacing:.065em;font-weight:700;color:#e9e5df}
.discover-head{display:flex;justify-content:space-between;gap:10px;padding:15px 20px;background:#07111355;border-block:1px solid var(--line);letter-spacing:.16em;font-size:9px;color:var(--accent);font-weight:700}.discover-head span:last-child{color:var(--muted);font-weight:500}.locations{display:flex;flex-direction:column}.location{display:flex;align-items:center;width:100%;text-align:left;border:0;border-bottom:1px solid #ffffff12;background:transparent;color:var(--ivory);padding:12px 20px;gap:13px;transition:background .2s,padding .2s}.location:hover,.location.active{background:#f1c49712;padding-left:23px}.loc-num{font-family:Georgia,serif;color:var(--accent);font-size:13px;opacity:.85}.loc-name{flex:1;display:flex;flex-direction:column;gap:2px}.loc-name strong{font-size:10px;letter-spacing:.1em;font-weight:700}.loc-name small{color:#a5b6b4;font-size:10px}.loc-arrow{font-size:15px;color:var(--accent);opacity:.3;transition:opacity .2s}.location:hover .loc-arrow,.location.active .loc-arrow{opacity:1}.heritage-note{padding:16px 20px;font-size:8px;letter-spacing:.11em;color:#aeb9b4;display:flex;gap:8px;align-items:center}.icon-dot{width:6px;height:6px;border:1px solid var(--accent);transform:rotate(45deg)}
.top-right{position:absolute;right:28px;top:29px;z-index:4;display:flex;align-items:center;gap:20px;color:#ecede7;letter-spacing:.12em;font-weight:700;font-size:10px;text-shadow:0 2px 12px #0005}.top-coordinate{font-weight:500}.seed{padding:10px 13px;background:#162124aa;border:1px solid #dfd0be66}.seed b{color:var(--accent);margin-left:8px}
.compass{position:absolute;z-index:3;top:90px;right:42px;width:90px;height:90px;border:1px solid #fff7;border-radius:50%;display:grid;place-items:center;pointer-events:none;opacity:.85;color:white}.compass:before,.compass:after{content:'';position:absolute;background:#fff8}.compass:before{height:1px;width:110px;left:-11px;top:44px}.compass:after{height:110px;width:1px;top:-11px;left:44px}.compass-needle{position:absolute;top:9px;font-size:13px;font-weight:800;letter-spacing:.1em;color:#f3dbc5}.compass-lines{border:1px dashed #fff6;border-radius:50%;width:60px;height:60px}
.detail-panel{z-index:5;position:absolute;right:27px;bottom:232px;width:290px;background:#132022ed;border:1px solid #e6d6bf49;backdrop-filter:blur(22px);transform:translateX(calc(100% + 55px));opacity:0;visibility:hidden;transition:transform .45s ease,opacity .45s,visibility .45s;box-shadow:0 16px 50px #0b151744}.detail-panel.visible{transform:translateX(0);opacity:1;visibility:visible}.detail-upper{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;border-bottom:1px solid #ffffff20}.detail-kicker{font-size:9px;letter-spacing:.18em;color:var(--accent);font-weight:800}.icon-control{font-size:23px;line-height:1;width:25px;height:26px;color:#fff;background:none;border:0}.detail-illustration{height:95px;background:repeating-linear-gradient(45deg,transparent,transparent 19px,#cbb09109 20px),radial-gradient(circle at center,#bd8f6c30,transparent 70%);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.detail-cross{font-family:Georgia,serif;font-size:90px;font-weight:100;color:#d6b28d80;line-height:1}.detail-number{position:absolute;bottom:9px;right:12px;font-size:8px;color:#c9b7a2a0;letter-spacing:.13em}.detail-category{padding:17px 18px 0;font-size:9px;letter-spacing:.14em;color:var(--accent);font-weight:800}.detail-panel h2{font-family:Georgia,serif;font-size:27px;line-height:1.14;font-weight:400;margin:7px 18px 10px}.detail-panel p{font-size:12px;line-height:1.65;color:#c5ccc8;margin:0 18px 19px}.detail-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:12px 18px;font-size:9px;letter-spacing:.1em;color:#aeb6ae}.detail-bottom span:last-child{color:var(--accent);font-size:17px}
.side-tools{position:absolute;z-index:6;right:27px;top:40%;display:flex;flex-direction:column;gap:8px}.tool-btn{width:42px;height:42px;background:#132022bb;border:1px solid #f7f2e14b;color:#f5f0e9;font-size:23px;display:grid;place-items:center;transition:background .2s,border .2s}.tool-btn:hover,.tool-btn.active{background:#b7866290;border-color:var(--accent)}
.hotspot-layer{pointer-events:none;position:absolute;inset:0;z-index:4}.scene-hotspot{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;border:0;background:transparent;color:#fff;pointer-events:auto;white-space:nowrap;text-shadow:0 2px 10px #000a}.hotspot-symbol{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;border:1px solid #f2ecdfc4;background:#12252fb5;box-shadow:0 0 0 5px #e7c9a21d;color:var(--accent);font-size:21px;line-height:1;font-weight:300;transition:background .2s,transform .2s}.hotspot-legend{background:#172225dd;color:#eee8dc;border:1px solid #ffffff2b;padding:7px 9px;font-size:8px;letter-spacing:.13em;font-weight:800;opacity:0;transform:translateX(-7px);transition:opacity .2s,transform .2s}.scene-hotspot:hover .hotspot-legend,.scene-hotspot:focus .hotspot-legend,.scene-hotspot.selected .hotspot-legend{opacity:1;transform:none}.scene-hotspot:hover .hotspot-symbol,.scene-hotspot.selected .hotspot-symbol{background:#9d7556d9;transform:scale(1.07);color:white}
.control-panel{position:absolute;z-index:8;left:385px;right:25px;bottom:36px;background:#142023ef;border:1px solid #ecdbca4b;backdrop-filter:blur(25px);box-shadow:0 12px 30px #09141666}.control-top{height:37px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff24}.control-title{display:flex;gap:8px;align-items:center;font-size:9px;letter-spacing:.16em;font-weight:800;color:var(--ivory)}.green-pulse{background:#a9dbbd;width:6px;height:6px;border-radius:50%;box-shadow:0 0 9px #a3edbe}.control-hint{font-size:9px;letter-spacing:.09em;color:#a7b4b0}.control-body{display:flex;align-items:center;gap:0;padding:17px 20px 18px;min-height:108px}.control-block{min-width:0}.control-label{font-size:9px;font-weight:800;letter-spacing:.13em;margin-bottom:15px;color:#c6d1c9;white-space:nowrap}.control-divider{height:60px;width:1px;background:#ffffff28;margin:0 20px;flex-shrink:0}.view-block{flex:1.65}.slider-block{flex:1;max-width:170px}.switch-block{flex:1;min-width:148px}.view-selector{display:flex;flex-wrap:wrap;gap:5px}.view{background:#34414494;border:1px solid #e4e4dc30;color:#c3ccc9;padding:10px 9px;font-size:9px;font-weight:800;letter-spacing:.02em;white-space:nowrap;transition:.15s}.view:hover,.view.active{background:#c09169;color:#111b1c;border-color:#f6d2af}.control-label-flex{display:flex;justify-content:space-between;gap:7px}output{font-size:9px;color:var(--accent)}input[type=range]{width:100%;height:3px;background:#7a8d88;accent-color:var(--accent);outline:none;display:block;margin:15px 0 12px;cursor:pointer}.range-caption{display:flex;justify-content:space-between;color:#879d96;font-size:9px;letter-spacing:.04em}.switch-block{display:flex;flex-direction:column;gap:14px}.switch-item{display:flex;align-items:center;justify-content:space-between;gap:10px}.switch-item strong,.switch-item small{display:block;white-space:nowrap}.switch-item strong{font-size:9px;letter-spacing:.095em}.switch-item small{margin-top:4px;font-size:8px;letter-spacing:.07em;color:#9faaa5}.switch{display:block;position:relative;width:35px;height:19px;flex:none}.switch input{opacity:0;width:100%;height:100%;position:absolute;margin:0;z-index:2;cursor:pointer}.switch-slide{position:absolute;inset:0;border-radius:20px;border:1px solid #a4b0a37c;background:#58696366;transition:.22s}.switch-slide:before{content:'';width:11px;height:11px;border-radius:50%;position:absolute;top:3px;left:3px;background:#cdd4ce;transition:.22s}.switch input:checked+.switch-slide{background:#b8906f}.switch input:checked+.switch-slide:before{transform:translateX(16px);background:#fff}
.bottom-corner{z-index:3;position:absolute;right:29px;bottom:12px;font-size:9px;letter-spacing:.07em;color:#c5cfc9;text-shadow:0 2px 6px #0009}.bottom-corner span{color:var(--accent)}
@media(max-width:1440px){.intro-panel{width:304px}.intro-copy h1{font-size:51px}.control-panel{left:338px}.control-divider{margin:0 12px}.control-body{padding:15px 13px}.view{padding:9px 8px;font-size:8px}.detail-panel{width:270px}}
@media(max-width:1130px){.intro-panel{width:282px;max-height:calc(100dvh - 224px)}.intro-copy{padding:17px 17px}.intro-copy h1{font-size:45px}.summary{font-size:15px}.location{padding:10px 15px}.control-panel{left:305px}.control-hint{display:none}.control-body{gap:0}.control-divider{margin:0 9px}.control-label{font-size:8px}.view-block{flex:2}.view{font-size:8px;padding:9px 6px}.slider-block{min-width:100px}.switch-block{min-width:127px}.switch-item strong{font-size:8px}.switch-item small{font-size:7px}.detail-panel{bottom:225px}}
@media(max-width:850px){.intro-panel{top:13px;left:13px;width:265px;max-height:calc(100dvh - 248px)}.identity{padding:11px 13px}.intro-copy{padding:15px}.intro-copy h1{font-size:39px;margin-top:12px}.title-sub{font-size:9px}.summary{font-size:13px}.history{gap:8px}.intro-rule{margin:14px 0}.top-right{top:15px;right:15px}.top-coordinate{display:none}.compass{top:65px;right:32px;width:67px;height:67px}.compass:before{width:82px;left:-8px;top:32px}.compass:after{height:82px;left:32px;top:-8px}.compass-needle{top:5px}.compass-lines{width:45px;height:45px}.side-tools{right:14px;top:36%}.tool-btn{width:36px;height:36px}.control-panel{left:13px;right:13px;bottom:29px}.control-body{overflow-x:auto;align-items:stretch;gap:15px;padding:14px}.control-block{flex:none}.view-block{min-width:240px}.slider-block{min-width:145px}.switch-block{min-width:150px}.control-divider{margin:0}.detail-panel{width:235px;right:13px;bottom:214px}.detail-illustration{height:60px}.detail-cross{font-size:60px}.detail-panel h2{font-size:24px}.detail-panel p{font-size:11px}.bottom-corner{right:15px}}
@media(max-width:580px){.experience{min-height:420px}.intro-panel{left:9px;top:9px;right:9px;width:auto;max-height:215px;overflow-y:hidden}.identity{padding:9px 12px}.identity-emblem{width:29px;height:29px;font-size:21px}.identity-year{font-size:8px}.intro-copy{padding:10px 12px 8px}.eyebrow{font-size:8px}.intro-copy h1{font-size:34px;margin:8px 0 0}.title-sub{font-size:9px;margin:5px 0 0}.summary,.intro-rule,.history,.discover-head,.heritage-note{display:none}.locations{display:flex;flex-direction:row;overflow-x:auto;scrollbar-width:none;border-top:1px solid #ffffff28}.location{flex:0 0 auto;width:auto;min-height:44px;padding:6px 11px;gap:7px;border-bottom:0;border-right:1px solid #ffffff1b}.location:hover,.location.active{padding-left:11px}.loc-num{font-size:10px}.loc-name strong{font-size:8px}.loc-name small{display:none}.loc-arrow{display:none}.top-right{top:18px;right:18px}.seed{font-size:8px;padding:8px 10px}.compass{top:237px;right:16px;opacity:.65;width:52px;height:52px}.compass:before{width:68px;top:25px;left:-9px}.compass:after{height:68px;left:25px;top:-9px}.compass-lines{width:35px;height:35px}.compass-needle{font-size:9px;top:3px}.side-tools{top:309px;right:12px;gap:6px}.tool-btn{width:32px;height:32px;font-size:19px}.control-panel{left:9px;right:9px;bottom:22px}.control-top{height:31px;padding:0 10px}.control-title{font-size:8px}.control-body{padding:11px 10px 12px;min-height:95px}.control-label{margin-bottom:9px}.view{padding:8px 7px}.detail-panel{right:9px;bottom:155px;width:min(220px,60%);max-height:210px;overflow-y:auto}.detail-upper{padding:8px 10px}.detail-illustration{display:none}.detail-category{padding:10px 12px 0;font-size:8px}.detail-panel h2{font-size:20px;margin:4px 12px 7px}.detail-panel p{font-size:10px;line-height:1.45;margin:0 12px 12px}.detail-bottom{display:none}.scene-hotspot .hotspot-legend{display:none}.scene-hotspot .hotspot-symbol{width:26px;height:26px;font-size:17px}.bottom-corner{right:10px;bottom:6px;font-size:7px;white-space:nowrap}}
@media(max-height:750px) and (min-width:581px){.intro-panel{max-height:calc(100dvh - 220px)}.intro-copy{padding:12px 18px}.intro-copy h1{font-size:42px;margin:12px 0 3px}.summary{font-size:14px}.intro-rule{margin:12px 0}.history{gap:6px}.location{padding:7px 15px}.discover-head{padding:10px 15px}.detail-illustration{display:none}.detail-panel{bottom:218px}.detail-panel h2{font-size:22px}.detail-panel p{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
