:root{font-family:Arial,Helvetica,sans-serif;color:#343d33;background:#ede9df;font-synthesis:none;--ink:#343d33;--muted:#62685b;--paper:#f3f0e8;--line:#c9cabc;--olive:#626e50;--serif:Georgia,"Times New Roman",serif}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button{border:0;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #626e50;outline-offset:5px}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}#app{position:relative}#world{position:absolute;width:100%;height:100%;inset:0;display:block;touch-action:none;outline:none}#world.grabbing{cursor:grabbing}#world.walking{cursor:crosshair}.masthead{position:absolute;z-index:3;left:46px;right:40px;top:30px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.masthead>*{pointer-events:auto}.identity{display:flex;gap:13px;align-items:center;font-size:16px;font-weight:600;letter-spacing:.2em}.brand-mark{width:35px;height:38px}.identity-sub{display:block;font-size:8px;font-weight:400;letter-spacing:.17em;margin-top:7px}.header-actions{display:flex;gap:30px;align-items:center}.location{font-size:12px;display:flex;gap:8px;align-items:center}.location-dot{width:5px;height:5px;border-radius:50%;background:#687758}.text-button{font-size:12px;display:flex;gap:14px;align-items:center;padding:9px 0;border-bottom:1px solid transparent;transition:border-color .2s}.text-button:hover{border-color:var(--ink)}.icon-button{width:36px;height:36px;display:grid;place-items:center;transition:background .2s;border-radius:50%}.icon-button svg{width:21px;height:21px}.icon-button:hover{background:#343d3310}.icon-button[aria-pressed=true]{background:#343d33;color:#f3f0e8}.introduction{position:absolute;z-index:2;top:145px;left:48px;max-width:375px;pointer-events:none;transition:opacity .6s,transform .6s}.introduction h1{font-family:var(--serif);font-size:clamp(56px,5.8vw,87px);letter-spacing:-.035em;font-weight:400;line-height:1.1;margin:0 0 18px}.title-period{color:#7e896b}.place-date{font-size:11px;color:var(--muted);margin:0;letter-spacing:.015em;line-height:1.7}.place-date span{padding:0 6px}.intro-rule{width:34px;height:1px;background:#7e856f;margin:32px 0 24px}.intro-copy{font-family:var(--serif);font-size:22px;line-height:1.45;margin:0 0 15px;letter-spacing:-.01em}.intro-detail{font-size:12px;line-height:1.8;color:var(--muted);max-width:255px;margin:0 0 23px}.explore-button{font-size:12px;display:flex;gap:25px;align-items:center;padding:10px 0;border-bottom:1px solid #858e77;pointer-events:auto;transition:gap .2s}.explore-button svg{width:21px;height:21px}.explore-button:hover{gap:35px}.introduction.quiet{opacity:0;transform:translateY(-10px);pointer-events:none}.introduction.quiet .explore-button{pointer-events:none}.viewpoints{position:absolute;right:38px;top:50%;transform:translateY(-47%);z-index:3;display:flex;flex-direction:column;gap:10px;align-items:center}.rail-label{font-size:8px;letter-spacing:.12em;color:var(--muted);margin-bottom:8px}.view-button{width:84px;padding:11px 5px 10px;color:#6f7565;border:1px solid transparent;border-radius:4px;transition:background .2s,color .2s,border-color .2s}.view-button svg{width:39px;height:28px;fill:none;stroke:currentColor;stroke-width:1;display:block;margin:0 auto 7px}.view-button span{font-size:9px}.view-button:hover{background:#f3f0e866;color:var(--ink)}.view-button.active{border-color:#777e6660;background:#f3f0e85c;color:var(--ink)}.scene-caption{position:absolute;bottom:107px;right:155px;z-index:2;display:flex;gap:13px;align-items:center;pointer-events:none}.caption-index{font-family:var(--serif);font-size:30px;color:#79806b;border-right:1px solid #92977b70;padding-right:13px;font-weight:400;line-height:1}.scene-caption strong{font-size:10px;font-weight:400;display:block;margin-bottom:6px}.scene-caption>span>span{font-size:9px;color:var(--muted)}.interaction-hint{position:absolute;bottom:111px;left:48px;z-index:2;display:flex;align-items:center;gap:11px;color:var(--muted);pointer-events:none;font-size:10px}.interaction-hint svg{width:15px;height:23px}.hint-dot{padding:0 7px}.control-bar{height:70px;position:absolute;left:0;right:0;bottom:0;z-index:5;background:#f3f0e8ef;border-top:1px solid #c4c6b58c;display:flex;gap:26px;align-items:center;padding:0 46px}.mode-control{display:flex;align-items:center;gap:6px}.mode-button{display:flex;gap:8px;align-items:center;border-radius:4px;padding:9px 13px;font-size:11px;transition:background .2s,color .2s;color:var(--muted)}.mode-button svg{width:19px;height:19px}.mode-button.active{background:var(--ink);color:var(--paper)}.mode-button:not(.active):hover{background:#343d3310;color:var(--ink)}.control-divider{width:1px;height:24px;background:#c9ccbf}.sun-control{display:flex;gap:13px;align-items:center;font-size:10px}.sun-icon{width:20px;height:20px}.sun-control label{margin-right:9px}.sun-control input{width:118px;height:3px;accent-color:#626e50;cursor:pointer}.sun-control output{font-size:10px;min-width:35px;font-variant-numeric:tabular-nums}.quality-control{font-size:10px;display:flex;gap:12px;align-items:center}.quality-control select{background:transparent;color:var(--muted);font-size:10px;border:none;cursor:pointer;padding:5px 16px 5px 0}.utility-controls{display:flex;gap:5px}.render-status{display:flex;gap:7px;font-size:8px;letter-spacing:.11em;margin-left:auto;align-items:center;color:var(--muted);white-space:nowrap}.render-status>span{width:5px;height:5px;background:#758261;border-radius:50%}.about-panel{position:absolute;right:0;top:0;bottom:70px;z-index:6;width:395px;background:#f3f0e8;box-shadow:-15px 0 40px #31392616;padding:28px 35px;overflow:auto;animation:panel-enter .35s cubic-bezier(.16,1,.3,1)}.panel-heading{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.12em;margin-bottom:24px}.about-panel h2{font-family:var(--serif);font-size:48px;font-weight:400;letter-spacing:-.025em;line-height:1.1;margin:0 0 23px}.about-panel p{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 18px}.monument-facts{margin:26px 0;display:grid;gap:12px;padding:20px 0;border-block:1px solid var(--line)}.monument-facts>div{display:flex;justify-content:space-between;font-size:11px}.monument-facts dt{color:var(--muted)}.monument-facts dd{margin:0}.about-panel h3{font-family:var(--serif);font-size:21px;font-weight:400;margin:22px 0 10px}.model-note{font-size:10px;line-height:1.7;padding-top:19px;border-top:1px solid var(--line);color:var(--muted);margin-top:22px}.source-link{display:flex;gap:10px;font-size:10px;align-items:center;margin-top:22px;text-decoration:underline;text-underline-offset:4px}.source-link span{margin-left:auto}.toast{position:absolute;left:50%;bottom:92px;transform:translate(-50%,8px);z-index:7;padding:11px 19px;font-size:11px;line-height:1.6;background:var(--ink);color:var(--paper);opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;border-radius:4px;text-align:center;max-width:calc(100% - 32px)}.toast.visible{opacity:1;transform:translate(-50%)}.walk-controls{position:absolute;left:35px;bottom:150px;z-index:4;text-align:center}.walk-controls button{width:38px;height:38px;border:1px solid #343d3350;background:#f3f0e8ad;margin:3px;border-radius:3px;font-size:20px;touch-action:none}.walk-controls button:active{background:var(--ink);color:var(--paper)}.loading-screen{position:absolute;inset:0;background:#ede9df;z-index:20;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:30px;font-family:var(--serif);font-size:23px;transition:opacity .7s}.loading-screen.done{opacity:0;pointer-events:none}.loading-arch{width:45px;height:60px}.loading-caption{font-family:Arial,Helvetica,sans-serif;font-size:8px;letter-spacing:.13em;color:var(--muted);margin-top:-14px}.loading-line{width:140px;height:1px;background:#c9ccbf;overflow:hidden}.loading-line span{display:block;width:50%;height:1px;background:var(--ink);animation:loading 1.4s ease-in-out infinite}.error-screen{position:absolute;inset:0;background:var(--paper);z-index:21;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:30px;text-align:center}.error-screen h2{font-family:var(--serif);font-size:38px;font-weight:400}.error-screen p{font-size:14px;max-width:420px;line-height:1.7;color:var(--muted)}.error-screen button{margin-top:15px;padding:12px 20px;border:1px solid var(--line);border-radius:3px}@keyframes loading{0%{transform:translate(-100%)}to{transform:translate(300%)}}@keyframes panel-enter{0%{transform:translate(35px);opacity:0}to{transform:translate(0);opacity:1}}@media(min-width:1600px){.introduction{top:18%;left:65px}.masthead{left:65px;right:55px}.introduction h1{font-size:96px}.control-bar{padding-inline:65px}.interaction-hint{left:65px}}@media(max-height:720px)and (min-width:800px){.introduction{top:118px}.introduction h1{font-size:68px}.intro-rule{margin:22px 0 18px}.intro-copy{font-size:19px}.intro-detail{max-width:240px}.scene-caption{bottom:95px}.interaction-hint{bottom:97px}.control-bar{height:62px}.about-panel{bottom:62px}}@media(max-width:1100px){.masthead{left:30px;right:25px}.introduction{left:30px;max-width:330px}.introduction h1{font-size:66px}.intro-detail{max-width:210px}.header-actions{gap:20px}.control-bar{padding:0 25px;gap:16px}.sun-control{gap:8px}.sun-control label{margin-right:3px}.sun-control input{width:95px}.render-status{display:none}.viewpoints{right:22px}.interaction-hint{left:30px}.scene-caption{right:125px}}@media(max-width:760px){.masthead{left:22px;right:17px;top:22px}.brand-mark{width:28px;height:32px}.identity{font-size:12px;gap:9px;letter-spacing:.16em}.identity-sub{font-size:6px;margin-top:5px}.header-actions{gap:16px}.location{display:none}.text-button{font-size:10px;gap:7px}.header-actions>.icon-button{display:none}.introduction{top:105px;left:23px;max-width:300px}.introduction h1{font-size:57px;margin-bottom:9px}.place-date{font-size:9px}.intro-rule{margin:20px 0 14px}.intro-copy{font-size:18px;line-height:1.4;margin-bottom:10px}.intro-detail{display:none}.explore-button{font-size:10px;gap:20px;padding:5px 0}.explore-button svg{width:18px}.viewpoints{top:auto;bottom:149px;right:15px;transform:none;flex-direction:row;gap:3px}.rail-label{display:none}.view-button{width:61px;padding:7px 4px}.view-button svg{height:22px;width:33px;margin-bottom:4px}.view-button span{font-size:8px}.scene-caption{left:23px;right:auto;bottom:160px}.caption-index{font-size:26px}.scene-caption strong{font-size:9px}.scene-caption>span>span{font-size:8px;max-width:135px;display:block;line-height:1.5}.interaction-hint{bottom:132px;left:23px;font-size:8px;gap:8px}.interaction-hint svg{height:17px;width:12px}.control-bar{height:110px;padding:12px 19px;display:grid;grid-template-columns:1fr auto;gap:9px 17px;align-content:center}.mode-control{gap:3px;justify-self:start}.mode-button{font-size:10px;padding:8px 11px}.mode-button svg{width:17px;height:17px}.control-divider{display:none}.sun-control{grid-column:1;grid-row:2;gap:7px;font-size:9px}.sun-control label{margin:0 5px 0 0}.sun-control input{width:85px}.sun-control output{font-size:9px}.sun-icon{height:17px;width:17px}.quality-control{grid-column:2;grid-row:2;gap:6px;font-size:9px}.quality-control select{font-size:9px;padding-right:3px;max-width:85px}.utility-controls{grid-column:2;grid-row:1;justify-self:end}.utility-controls .icon-button{width:29px;height:29px}.utility-controls .icon-button svg{width:18px}.about-panel{width:min(100%,395px);bottom:110px;padding:22px 28px}.about-panel h2{font-size:40px}.toast{bottom:123px;font-size:10px;min-width:230px}.walk-controls{left:20px;bottom:190px}.walking-scene .viewpoints,.walking-scene .scene-caption{display:none}.loading-screen{font-size:19px}}@media(max-width:760px){.scene-caption{bottom:220px}}@media(max-width:380px){.scene-caption{display:none}.introduction h1{font-size:50px}.sun-control input{width:65px}.quality-control{gap:3px}.control-bar{padding-inline:15px}.sun-control label{margin-right:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.loading-line span{width:100%}}
