[data-tour-player]{
&{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;border-radius:10px;background:var(--color-forest-950);box-shadow:0 14px 32px #14251e0a}.panorama-stage{position:relative;min-height:0;overflow:hidden;background:var(--color-forest-950);isolation:isolate;touch-action:none;overscroll-behavior:none}[data-tour-panorama]{position:absolute;inset:0;touch-action:none;overflow:hidden}.pano-host{position:absolute;inset:0;opacity:0;transition:opacity .4s ease;background:var(--color-forest-950)}.pano-host.is-visible{opacity:1}.pnlm-container,.pnlm-dragfix,.pnlm-ui{touch-action:none!important;overscroll-behavior:none!important}.pnlm-container{background:var(--color-forest-950)}.pnlm-controls-container,.pnlm-panorama-info,.pnlm-load-box,.pnlm-load-button{display:none!important}.pnlm-about-msg{font:12px Source Sans,system-ui,sans-serif}
.panorama-stage::before,.panorama-stage::after{content:"";position:absolute;z-index:1;left:0;right:0;pointer-events:none}.panorama-stage::before{top:0;height:180px;background:linear-gradient(#0c1c17a8,transparent)}.panorama-stage::after{bottom:0;height:90px;background:linear-gradient(transparent,#0c1c175c)}
.scene-caption{position:absolute;top:26px;left:28px;right:185px;z-index:2;color:var(--color-white);pointer-events:none;text-shadow:0 2px 8px #0004}.scene-caption>span{font-size:10px;letter-spacing:1.6px;font-weight:600;opacity:.75}.scene-caption h2{font:450 33px/1 Newsreader,Georgia,serif;margin:6px 0;letter-spacing:-.5px}.scene-caption p{margin:0;font-size:13px;line-height:1.35;color:#fffdf8d6;max-width:350px}
.viewer-toolbar{position:absolute;z-index:3;right:18px;top:20px;display:flex;gap:5px}.icon-button,.scene-arrow{width:44px;height:44px;display:grid;place-items:center;border-radius:6px;background:transparent;transition:background .2s ease,color .2s ease}.icon-button{color:var(--color-white);background:#14251e60;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.icon-button:hover,.icon-button[aria-pressed=true]{background:#f6f2e9e6;color:var(--color-forest-950)}.zoom-controls{position:absolute;z-index:3;right:18px;bottom:18px;display:flex;gap:4px}.zoom-controls .icon-button{background:#14251e80}
.pan-hint{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);padding:14px 22px;border-radius:8px;background:#14251edb;color:var(--color-white);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;flex-direction:column;align-items:center;gap:7px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .4s ease}.pan-hint.is-visible{opacity:1}.pan-hint svg{width:37px;height:27px}.pan-hint span{font-size:14px}.pan-hint small{font-size:9px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;opacity:.65}
.loading-indicator{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;gap:12px;background:#14251e82;backdrop-filter:blur(6px);color:var(--color-white);font-size:14px;pointer-events:none}.loading-mark{width:20px;height:20px;border:1px solid #fffdf840;border-top-color:#dfbb8e;border-radius:50%;animation:turn 1s linear infinite}@keyframes turn{to{transform:rotate(360deg)}}.error-message{position:absolute;inset:0;z-index:5;background:var(--color-forest-950);color:var(--color-white);padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px}.error-message p{max-width:430px;line-height:1.5}.error-message button{padding:10px 20px;min-height:44px;background:var(--color-stone-50);border-radius:5px}
.scene-navigation{background:#fdfaf3;display:flex;align-items:center;gap:10px;padding:12px 14px;color:var(--color-forest-950)}.scene-list{display:flex;align-items:stretch;gap:7px;min-width:0;flex:1;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;scroll-behavior:smooth;touch-action:pan-x}.scene-list::-webkit-scrollbar{display:none}.scene-button{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;white-space:nowrap;min-height:49px;padding:8px 16px;background:transparent;border-radius:5px;font-size:14px;transition:background .2s ease,color .2s ease}.scene-button[aria-current=true]{background:var(--color-forest-950);color:var(--color-white)}.scene-button:hover:not([aria-current=true]){background:#e9e4d9}.scene-arrow{flex-shrink:0}.scene-arrow:hover{background:#ebe4d8}

  position:relative;height:clamp(400px,70svh,700px);width:100%;min-width:0;
  button{font:inherit;border:0;cursor:pointer;color:inherit}
  button:disabled{opacity:.35;cursor:default}
  button:focus-visible{outline:2px solid #d6ad7f;outline-offset:-3px}
  svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
  .svg-library{position:absolute;width:0;height:0;overflow:hidden}
  [hidden]{display:none!important}
  .scene-caption h2{font-family:var(--font-serif);text-align:left}
  .icon-button{color:var(--color-white)}
  .icon-button:hover,.icon-button[aria-pressed=true]{color:var(--color-forest-950)}
  .scene-button[aria-current=true]{color:var(--color-white)}
  .scene-list{overflow-y:hidden}
  .scene-navigation,.scene-list,.panorama-stage{min-width:0}
  .toast{position:absolute;z-index:100;bottom:100px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);width:max-content;padding:13px 18px;background:var(--color-stone-50);color:var(--color-forest-950);border-radius:7px;box-shadow:0 8px 35px #0004;font-size:14px;line-height:1.4;text-align:center}
  @media(max-width:700px){
    height:clamp(350px,calc(100svh - 260px),610px);
    .scene-caption{top:19px;left:18px;right:148px}
    .scene-caption h2{font-size:27px;margin:6px 0}
    .scene-caption p{font-size:11px;max-width:190px}
    .scene-caption>span{font-size:9px}
    .viewer-toolbar{right:9px;top:12px;gap:0}
    .viewer-toolbar .icon-button{width:44px;min-height:44px;border-radius:4px}
    .viewer-toolbar svg{width:19px;height:19px}
    .zoom-controls{bottom:12px;right:12px}
    .scene-navigation{gap:3px;padding:8px 5px}
    .scene-list{gap:5px}
    .scene-button{flex:0 0 auto;min-height:47px;font-size:13px;padding:8px 12px}
    .scene-arrow{width:44px;height:47px}
    .pan-hint{padding:14px 19px}
    .pan-hint span{font-size:13px}
  }
  @media(prefers-reduced-motion:reduce){
    &,& *,& *::before,& *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  }
}
[data-tour-player]:fullscreen,[data-tour-player]:-webkit-full-screen,[data-tour-player].is-immersive{
  width:100%;height:100svh;height:100dvh;max-width:none;border-radius:0;position:fixed;inset:0;z-index:10000;padding:0;
  .scene-navigation{padding-bottom:max(12px,env(safe-area-inset-bottom));padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
  .viewer-toolbar{top:max(20px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right))}
  .scene-caption{top:max(26px,calc(env(safe-area-inset-top) + 10px));left:max(28px,calc(env(safe-area-inset-left) + 12px))}
}

[data-tour-player] .error-message a { min-height:44px; padding:10px 18px; text-decoration:underline; }
