:root{--ink: #efe9df;--ink-dim: #b8b0a2;--bg: #08080a;--gold: #c9a24b;--line: rgba(239, 233, 223, .18);--panel-bg: rgba(8, 8, 10, .55);--serif: "Cormorant Garamond", Georgia, serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;background:var(--bg);color:var(--ink);font-family:var(--sans);overflow:hidden;-webkit-user-select:none;user-select:none}#panorama{position:fixed;inset:0;width:100%;height:100%;z-index:1;overflow:hidden;background:#0b0b0d;cursor:grab;touch-action:none}#panorama:active{cursor:grabbing}#stage{position:absolute;background-position:center center;background-size:cover;background-repeat:no-repeat;will-change:transform;transform:translateZ(0)}#vignette{position:fixed;inset:0;pointer-events:none;z-index:39;background:radial-gradient(ellipse at center,#0000 45%,#0000008c)}#landing{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#1e1a1466,#000000d9 75%),linear-gradient(180deg,#14110d,#050505);text-align:center;transition:opacity 1.4s ease}#landing.fade-out{opacity:0;pointer-events:none}.landing-inner{max-width:560px;padding:0 32px}.landing-logo{display:block;height:34px;margin:0 auto 26px;opacity:.9;mix-blend-mode:screen}.eyebrow{font-family:var(--sans);letter-spacing:.35em;text-transform:uppercase;font-size:12px;color:var(--gold);margin:0 0 18px}#landing h1{font-family:var(--serif);font-weight:500;font-size:84px;line-height:1;margin:0 0 18px;letter-spacing:.01em}.subtitle{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--ink-dim);margin:0 0 40px}#enter-btn{font-family:var(--sans);letter-spacing:.15em;text-transform:uppercase;font-size:13px;padding:16px 48px;background:transparent;border:1px solid var(--gold);color:var(--gold);cursor:pointer;transition:background .3s,color .3s}#enter-btn:hover{background:var(--gold);color:#14110d}.hint{margin-top:28px;font-size:13px;color:var(--ink-dim);line-height:1.6}#ui-overlay{position:fixed;inset:0;z-index:50;pointer-events:none;transition:opacity .8s ease}#ui-overlay.hidden{opacity:0;pointer-events:none}#top-bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:22px 24px;pointer-events:auto}#mute-btn,#menu-btn,#close-menu-btn{background:#08080a80;border:1px solid var(--line);color:var(--ink);width:44px;height:44px;border-radius:50%;font-size:17px;cursor:pointer;backdrop-filter:blur(6px)}.top-bar-center{display:flex;flex-direction:column;align-items:center;gap:8px}.scene-logo{height:32px;opacity:.75;mix-blend-mode:screen}#progress-dots{display:flex;gap:9px}.dot{width:7px;height:7px;border-radius:50%;background:#efe9df4d;cursor:pointer;transition:background .3s,transform .3s}.dot.active{background:var(--gold);transform:scale(1.3)}#drag-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--ink);opacity:.85;font-size:13px;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;transition:opacity 1.2s ease;text-shadow:0 2px 12px rgba(0,0,0,.8)}#drag-hint.fade{opacity:0}.drag-icon{font-size:30px;animation:sway 1.8s ease-in-out infinite}@keyframes sway{0%,to{transform:translate(-10px)}50%{transform:translate(10px)}}#caption-panel{position:absolute;left:0;right:0;bottom:0;padding:100px 40px 130px;background:linear-gradient(180deg,#08080a00,#08080abf 55%,#08080aeb);pointer-events:none}#caption-panel>*{max-width:720px}.scene-era{font-family:var(--sans);letter-spacing:.25em;text-transform:uppercase;font-size:11px;color:var(--gold);margin:0 0 10px}#scene-title{font-family:var(--serif);font-weight:500;font-size:46px;margin:0 0 6px;line-height:1.05}.scene-location{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--ink-dim);margin:0 0 16px}.scene-desc{font-size:15px;line-height:1.7;color:var(--ink);max-width:620px;margin:0}.nav-arrow{position:absolute;bottom:24px;top:auto;transform:none;width:46px;height:46px;border-radius:50%;background:#08080a29;border:1px solid rgba(239,233,223,.12);color:#efe9df80;font-size:22px;cursor:pointer;pointer-events:auto;backdrop-filter:blur(4px);transition:background .25s,color .25s}.nav-arrow:hover{background:#c9a24b4d;color:var(--ink)}#prev-btn{left:calc(50% - 52px);right:auto}#next-btn{left:calc(50% + 6px);right:auto}@media(max-width:640px){.landing-logo{height:26px;margin-bottom:20px}#landing h1{font-size:54px}.subtitle{font-size:18px}#caption-panel{padding:40px 24px 150px}#scene-title{font-size:32px}.nav-arrow{width:42px;height:42px;font-size:20px}#drag-hint{top:40%}}#loading-indicator{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:60;background:#08080a00;transition:background .4s}#loading-indicator.active{background:#08080a59}#loading-indicator.hidden{display:none}.spinner{width:34px;height:34px;border-radius:50%;border:2px solid rgba(239,233,223,.2);border-top-color:var(--gold);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#scene-menu{position:fixed;inset:0;z-index:80;background:#050506eb;backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;transition:opacity .4s ease}#scene-menu.hidden{opacity:0;pointer-events:none}.scene-menu-inner{max-width:520px;width:90%;max-height:80vh;overflow-y:auto;position:relative}.menu-logo{display:block;height:32px;margin:0 0 20px;opacity:.85;mix-blend-mode:screen}.scene-menu-inner h3{font-family:var(--serif);font-size:28px;font-weight:500;margin:0 0 24px;color:var(--gold)}#close-menu-btn{position:absolute;top:-6px;right:-6px}#scene-list{list-style:none;margin:0;padding:0}#scene-list li{padding:16px 0;border-bottom:1px solid var(--line);cursor:pointer;display:flex;align-items:baseline;gap:16px;transition:opacity .2s}#scene-list li:hover{opacity:.7}#scene-list li .num{font-family:var(--serif);color:var(--gold);font-size:15px;width:22px}#scene-list li .info h4{font-family:var(--serif);font-weight:500;font-size:20px;margin:0 0 3px}#scene-list li .info span{font-size:12px;color:var(--ink-dim);letter-spacing:.05em}#epilogue{position:fixed;inset:0;z-index:45;display:flex;align-items:center;justify-content:center;text-align:center;padding:40px 24px;background:radial-gradient(ellipse at center,#1e1a148c,#000000eb 78%),linear-gradient(180deg,#14110d,#050505);opacity:0;pointer-events:none;transition:opacity 1.6s ease}body.epilogue-active #epilogue{opacity:1;pointer-events:auto}body.epilogue-active #caption-panel,body.epilogue-active #drag-hint{display:none}.epilogue-inner{max-width:760px;animation:epilogue-rise 2s ease both}@keyframes epilogue-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.epilogue-era{font-family:var(--sans);letter-spacing:.35em;text-transform:uppercase;font-size:12px;color:var(--gold);margin:0 0 30px}.epilogue-quote{font-family:var(--serif);font-style:italic;font-weight:400;font-size:30px;line-height:1.5;color:var(--ink);margin:0 auto 34px;quotes:none}.epilogue-tribute{font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.8;color:var(--ink-dim);max-width:580px;margin:0 auto 40px}.epilogue-sign{font-family:var(--serif);font-size:24px;color:var(--ink);margin:0 0 8px}.epilogue-honorific{font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;font-size:11px;color:var(--gold);margin:0}@media(max-width:640px){.epilogue-quote{font-size:22px}.epilogue-tribute{font-size:14px}.epilogue-sign{font-size:20px}}#fade-overlay{position:fixed;inset:0;z-index:90;background:#000;opacity:0;pointer-events:none;transition:opacity .6s ease}#fade-overlay.active{opacity:1}
