:root{
  --black:#080808;--panel:rgba(10,10,10,.86);--gold:#c69a42;--gold-light:#e0bd73;
  --white:#f7f4ed;--muted:rgba(255,255,255,.62);--line:rgba(255,255,255,.16);
}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--black);font-family:Arial,Helvetica,sans-serif;color:#fff}
button,a{font:inherit;color:inherit}button{cursor:pointer}svg{fill:currentColor}.tour-app{position:relative;width:100%;height:100%;isolation:isolate;background:#111}
#panoramaCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}.tour-app.is-dragging #panoramaCanvas{cursor:grabbing}
.scene-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.42),transparent 27%,transparent 70%,rgba(0,0,0,.55)),linear-gradient(90deg,rgba(0,0,0,.28),transparent 34%,transparent 72%,rgba(0,0,0,.18))}
.topbar{position:absolute;z-index:10;left:0;right:0;top:0;min-height:76px;padding:12px clamp(16px,3vw,42px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(0,0,0,.76),rgba(0,0,0,.28),transparent)}
.back-link{justify-self:start;display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.back-link svg{width:18px}.tour-name{text-align:center;line-height:1.12}.tour-name strong{display:block;color:var(--gold-light);font-size:14px;letter-spacing:.16em}.tour-name small{font-size:9px;letter-spacing:.14em;color:var(--muted)}
.top-actions{justify-self:end;display:flex;gap:8px}.icon-button{height:44px;padding:0 13px;border:1px solid var(--line);background:rgba(10,10,10,.42);display:flex;align-items:center;gap:8px}.icon-button:hover,.icon-button[aria-pressed="true"]{background:var(--gold);color:#0a0a08;border-color:var(--gold)}.icon-button svg{width:17px}.icon-button span{font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.scene-heading{position:absolute;z-index:8;left:clamp(18px,4vw,58px);top:clamp(105px,15vh,155px);text-shadow:0 3px 24px #000}.scene-heading small{display:block;color:var(--gold-light);font-size:10px;text-transform:uppercase;letter-spacing:.18em;margin-bottom:7px}.scene-heading h1{font-size:clamp(32px,5vw,72px);line-height:.95;letter-spacing:-.045em;margin:0 0 10px;font-weight:500}.scene-heading span{font-size:10px;color:var(--muted);letter-spacing:.12em}
.scene-nav{position:absolute;z-index:12;left:50%;bottom:24px;transform:translateX(-50%);display:flex;gap:6px;max-width:min(94vw,1050px);padding:7px;background:rgba(5,5,5,.68);border:1px solid var(--line);backdrop-filter:blur(12px);overflow-x:auto}.scene-button{flex:0 0 auto;min-height:42px;padding:0 15px;border:0;background:transparent;color:rgba(255,255,255,.6);font-size:11px;white-space:nowrap}.scene-button:hover,.scene-button.active{background:var(--gold);color:#090907}
.drag-hint{position:absolute;z-index:8;right:clamp(18px,4vw,58px);bottom:98px;display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.72);font-size:11px;transition:opacity .4s}.drag-hint svg{width:20px}.drag-hint.hidden{opacity:0;pointer-events:none}
.hotspots{position:absolute;inset:0;z-index:7;pointer-events:none}.hotspot{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:7px;color:#fff;filter:drop-shadow(0 4px 10px rgba(0,0,0,.7))}.hotspot-marker{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#0b0b09;border:4px solid rgba(255,255,255,.76);animation:pulse 1.8s infinite}.hotspot-marker svg{width:20px}.hotspot-label{padding:6px 9px;background:rgba(0,0,0,.74);font-size:10px;white-space:nowrap}.hotspot:hover .hotspot-marker{transform:scale(1.1);background:var(--gold-light)}@keyframes pulse{50%{box-shadow:0 0 0 10px rgba(198,154,66,.12)}}
.loading,.tour-error{position:absolute;z-index:30;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#090909;text-align:center}.loading.hidden{opacity:0;visibility:hidden;pointer-events:none;transition:.25s}.loading p{font-size:12px;color:var(--muted)}.loading-ring{width:38px;height:38px;border-radius:50%;border:2px solid rgba(255,255,255,.18);border-top-color:var(--gold);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.tour-error{padding:24px}.tour-error strong{font-size:24px}.tour-error p{color:var(--muted);max-width:430px}.tour-error button{min-height:46px;padding:0 22px;border:0;background:var(--gold);color:#090907;font-weight:700;text-transform:uppercase;font-size:11px}
.plan-dialog{width:min(92vw,760px);max-height:88vh;padding:0;border:1px solid var(--line);background:#111;color:#fff}.plan-dialog::backdrop{background:rgba(0,0,0,.82)}.plan-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}.plan-header small{color:var(--gold);letter-spacing:.16em}.plan-header h2{margin:4px 0 0;font-size:24px}.plan-header button{width:42px;height:42px;border:1px solid var(--line);background:transparent;font-size:28px}.plan-dialog img{display:block;max-width:100%;max-height:calc(88vh - 80px);margin:auto;object-fit:contain;background:#fff}
@media(max-width:720px){.topbar{grid-template-columns:auto 1fr auto;min-height:66px;padding:10px 14px}.tour-name{justify-self:center}.icon-button span{display:none}.icon-button{width:40px;padding:0;justify-content:center}.top-actions{gap:5px}.back-link span{display:none}.scene-heading{top:92px}.scene-nav{bottom:12px;max-width:calc(100vw - 20px)}.scene-button{padding:0 12px}.drag-hint{right:16px;bottom:80px}.hotspot-marker{width:42px;height:42px}.hotspot-label{font-size:9px}}


/* FINAL FIX: respect the hidden attribute */
.tour-error[hidden]{display:none!important}
.tour-error{display:none}
.tour-error.is-visible{display:flex}
.loading.hidden{display:none!important}


/* Final minimal tour UI */
.scene-heading,.plan-dialog{display:none!important}
.topbar{grid-template-columns:1fr auto 1fr;min-height:68px;padding:10px clamp(14px,2.5vw,34px)}
.top-actions{gap:6px}
.icon-button{height:40px;padding:0 12px;background:rgba(8,8,8,.48)}
.scene-nav{bottom:18px;padding:5px;gap:3px;background:rgba(5,5,5,.64)}
.scene-button{min-height:38px;padding:0 13px}
.drag-hint{bottom:78px}
@media(max-width:720px){
  .topbar{min-height:60px;padding:8px 12px}
  .tour-name strong{font-size:11px}.tour-name small{font-size:8px}
  .scene-nav{bottom:10px}.drag-hint{bottom:68px}
}
