:root{
  --bg:#0a0c12;--glass:rgba(12,15,23,.72);--glass-strong:rgba(12,15,23,.9);--line:rgba(255,255,255,.14);
  --text:#fff;--muted:rgba(255,255,255,.65);--radius:22px;--safe-b:env(safe-area-inset-bottom,0px)
}
*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0}body{background:var(--bg);font-family:Tahoma,Arial,sans-serif;color:var(--text);overflow:hidden}.tour-app{position:relative;isolation:isolate}.panorama{position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,#252b38 0,#0a0c12 70%)}.vignette{pointer-events:none;position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(0,0,0,.5),transparent 25%,transparent 60%,rgba(0,0,0,.72));}.topbar{position:absolute;z-index:10;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;gap:16px}.brand{display:flex;align-items:center;gap:11px;min-width:0}.brand-mark{width:44px;height:44px;border-radius:14px;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(18px);display:grid;place-items:center;font-size:12px;font-weight:700}.brand-copy{display:flex;flex-direction:column;min-width:0;text-shadow:0 2px 12px #000}.brand-copy strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-copy span{font-size:11px;color:var(--muted);margin-top:3px}.top-actions,.controls,.setup-actions{display:flex;gap:8px;align-items:center}.icon-btn,.round-btn{border:1px solid var(--line);color:#fff;background:var(--glass);backdrop-filter:blur(18px);cursor:pointer;display:grid;place-items:center;transition:.18s ease}.icon-btn{width:44px;height:44px;border-radius:14px;font-size:18px}.icon-btn.compact{width:34px;height:34px;border-radius:11px}.round-btn{width:42px;height:42px;border-radius:50%;font-size:20px}.icon-btn:hover,.round-btn:hover,.ghost-btn:hover{background:rgba(255,255,255,.15);transform:translateY(-1px)}.drawer{position:absolute;z-index:30;top:0;right:0;height:100%;width:min(390px,92vw);background:var(--glass-strong);backdrop-filter:blur(28px);border-left:1px solid var(--line);padding:22px;transform:translateX(105%);transition:transform .28s ease;overflow:auto}.drawer.open{transform:translateX(0)}.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.drawer-head>div{display:flex;flex-direction:column;gap:5px}.eyebrow{font-size:10px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.scene-group{margin:20px 0 8px;color:var(--muted);font-size:11px}.scene-link{width:100%;border:1px solid transparent;background:transparent;color:#fff;border-radius:15px;padding:12px 13px;display:flex;align-items:center;justify-content:space-between;text-align:right;cursor:pointer}.scene-link:hover{background:rgba(255,255,255,.06)}.scene-link.active{background:rgba(255,255,255,.12);border-color:var(--line)}.scene-index{font-size:10px;color:var(--muted)}.bottom-ui{position:absolute;z-index:12;right:16px;left:16px;bottom:calc(14px + var(--safe-b));display:grid;grid-template-columns:auto auto 1fr;align-items:end;gap:12px}.scene-status{border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(18px);border-radius:16px;padding:10px 13px;min-width:150px;display:flex;flex-direction:column;gap:4px}.scene-status span{font-size:10px;color:var(--muted)}.scene-status strong{font-size:13px}.scene-rail{display:flex;gap:8px;overflow:auto;scrollbar-width:none;padding:2px;direction:rtl}.scene-rail::-webkit-scrollbar{display:none}.rail-btn{flex:0 0 auto;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(18px);color:#fff;border-radius:14px;padding:12px 14px;cursor:pointer;white-space:nowrap;font-size:11px}.rail-btn.active{background:#fff;color:#111}.setup-state{position:absolute;z-index:8;inset:0;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 50% 42%,rgba(45,52,70,.45),rgba(10,12,18,.96) 68%)}.setup-state[hidden]{display:none}.setup-card{width:min(560px,94vw);padding:28px;border:1px solid var(--line);background:rgba(14,17,25,.82);backdrop-filter:blur(28px);border-radius:28px;text-align:center;box-shadow:0 30px 90px rgba(0,0,0,.45)}.setup-card h1{margin:10px 0;font-size:28px}.setup-card p{color:var(--muted);line-height:1.9}.setup-card code{direction:ltr;display:block;padding:12px;border-radius:13px;background:#07090d;border:1px solid var(--line);font:12px ui-monospace,monospace;margin:16px 0;text-align:left}.setup-actions{justify-content:center;flex-wrap:wrap}.primary-btn,.ghost-btn{border-radius:13px;padding:11px 16px;cursor:pointer;font-family:inherit}.primary-btn{background:#fff;color:#111;border:1px solid #fff}.ghost-btn{background:transparent;color:#fff;border:1px solid var(--line)}.editor-panel{position:absolute;z-index:40;left:16px;top:80px;width:min(320px,calc(100vw - 32px));background:var(--glass-strong);border:1px solid var(--line);backdrop-filter:blur(24px);border-radius:18px;padding:14px}.editor-panel[hidden]{display:none}.editor-head{display:flex;align-items:center;justify-content:space-between;font-size:12px}.live-dot{width:8px;height:8px;background:#fff;border-radius:50%;display:inline-block;margin-left:6px;box-shadow:0 0 0 5px rgba(255,255,255,.1)}.editor-panel p{font-size:11px;color:var(--muted);line-height:1.8}.editor-panel pre{direction:ltr;text-align:left;background:#07090d;border:1px solid var(--line);padding:10px;border-radius:12px;white-space:pre-wrap}.toast{position:absolute;z-index:60;left:50%;bottom:100px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#fff;color:#111;border-radius:12px;padding:10px 14px;font-size:11px;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.modal{border:0;padding:0;background:transparent;color:#fff}.modal::backdrop{background:rgba(0,0,0,.66);backdrop-filter:blur(5px)}.modal-card{position:relative;width:min(620px,92vw);max-height:82vh;overflow:auto;background:#10131b;color:#fff;border:1px solid var(--line);border-radius:24px;padding:25px}.modal-close{position:absolute;left:14px;top:14px;background:transparent;border:1px solid var(--line);color:#fff;width:34px;height:34px;border-radius:11px;cursor:pointer}.modal h2{margin-top:0}.modal p{color:var(--muted);line-height:1.9}.modal img,.modal video{max-width:100%;border-radius:16px}.tour-hotspot{width:42px;height:42px;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:rgba(10,12,18,.6);backdrop-filter:blur(10px);display:grid;place-items:center;box-shadow:0 8px 30px rgba(0,0,0,.28);cursor:pointer}.tour-hotspot::after{content:'›';font-size:25px;line-height:1;transform:rotate(180deg)}.tour-hotspot.info::after{content:'i';font-size:15px;font-weight:700;transform:none}.hotspot-label{position:absolute;right:50%;bottom:50px;transform:translateX(50%);white-space:nowrap;padding:7px 9px;border-radius:9px;background:rgba(0,0,0,.78);font-size:10px;opacity:0;transition:.15s;pointer-events:none}.tour-hotspot:hover .hotspot-label{opacity:1}.pnlm-controls-container{display:none!important}.pnlm-about-msg{display:none!important}
@media(max-width:700px){.topbar{padding:12px}.brand-mark{width:40px;height:40px}.icon-btn{width:40px;height:40px}.bottom-ui{right:10px;left:10px;grid-template-columns:1fr auto;gap:8px}.scene-rail{grid-column:1/-1;grid-row:1;order:-1}.scene-status{grid-column:1;grid-row:2}.controls{grid-column:2;grid-row:2}.round-btn{width:39px;height:39px}.setup-card{padding:22px}.setup-card h1{font-size:23px}}


/* Tour360 v0.4 — exact spherical hotspot anchor.
   The Pannellum-managed outer element stays 0x0 at the exact pitch/yaw.
   The visible button is centered around that point, preventing visual offset. */
.tour360-hotspot-anchor{
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  background:none!important;
  border:0!important;
  overflow:visible!important;
}
.tour360-hotspot-button{
  position:absolute;
  left:0;
  top:0;
  width:46px;
  height:46px;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(255,255,255,.9);
  border-radius:50%;
  background:rgba(7,9,13,.72);
  color:#fff;
  box-shadow:0 6px 22px rgba(0,0,0,.38),0 0 0 5px rgba(255,255,255,.08);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
  cursor:pointer;
  font-family:inherit;
  z-index:2;
}
.tour360-hotspot-button:hover,.tour360-hotspot-button:focus-visible{
  transform:translate(-50%,-50%) scale(1.08);
  outline:none;
  background:rgba(255,255,255,.94);
  color:#111;
}
.tour360-hotspot-icon{font-size:23px;line-height:1;font-weight:700;transform:translateY(-1px)}
.tour360-hotspot-button.info .tour360-hotspot-icon{font-size:15px;transform:none}
.tour360-hotspot-button .hotspot-label{
  position:absolute;
  left:50%;
  bottom:55px;
  right:auto;
  transform:translateX(-50%);
  opacity:0;
}
.tour360-hotspot-button:hover .hotspot-label,
.tour360-hotspot-button:focus-visible .hotspot-label{opacity:1}


/* v0.5 calibration pin: Pannellum itself positions this element. */
.tour360-debug-pin{
  width:18px!important;
  height:18px!important;
  margin:0!important;
  padding:0!important;
  border:3px solid #fff!important;
  border-radius:50%!important;
  background:#ff2d2d!important;
  box-shadow:0 0 0 5px rgba(255,45,45,.25),0 4px 16px rgba(0,0,0,.5)!important;
  pointer-events:none!important;
}


/* v0.6 editor calibration */
.editor-actions{display:flex;gap:8px;flex-wrap:wrap}.editor-actions .primary-btn,.editor-actions .ghost-btn{flex:1 1 auto}
.editor-reticle{position:absolute;z-index:6;left:50%;top:50%;width:34px;height:34px;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 2px 5px rgba(0,0,0,.85))}
.editor-reticle[hidden]{display:none}.editor-reticle::before,.editor-reticle::after{content:'';position:absolute;background:rgba(255,255,255,.96);border-radius:2px}.editor-reticle::before{width:2px;height:34px;left:16px;top:0}.editor-reticle::after{width:34px;height:2px;left:0;top:16px}.editor-reticle span{position:absolute;left:50%;top:50%;width:7px;height:7px;border:2px solid #ff3434;border-radius:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.35)}

/* Tour360 v0.7 — IMPORTANT: isolate Pannellum's projection layer from RTL.
   Pannellum's hotspot projection assumes a top-left DOM origin. The app is
   Persian / RTL, but the panorama renderer itself must stay LTR. */
#panorama,
#panorama .pnlm-container,
#panorama .pnlm-ui,
#panorama .pnlm-render-container,
#panorama .pnlm-dragfix {
  direction:ltr !important;
}

/* Pannellum applies hotspot screen coordinates through transform:translate().
   Pin the untransformed hotspot origin to (0, 0), so inherited RTL cannot
   alter the absolute-position static origin. */
#panorama .pnlm-hotspot-base {
  left:0 !important;
  right:auto !important;
  top:0 !important;
  direction:ltr !important;
}

/* Tour360 v0.8 — delivery polish, scene loading, editable initial view */
:root{--accent:#fff}
.brand-mark{overflow:hidden}.brand-mark img{width:100%;height:100%;object-fit:contain;padding:6px}
.scene-loader{position:absolute;inset:0;z-index:9;display:grid;place-items:center;pointer-events:none;background:rgba(5,7,11,.16);opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease;backdrop-filter:blur(1.5px)}
.scene-loader.show{opacity:1;visibility:visible}.scene-loader-card{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:rgba(9,12,18,.82);backdrop-filter:blur(18px);border-radius:18px;padding:12px 16px;box-shadow:0 18px 55px rgba(0,0,0,.25)}
.scene-loader-card div{display:flex;flex-direction:column;gap:3px}.scene-loader-card small{font-size:9px;color:var(--muted)}.scene-loader-card strong{font-size:12px}.scene-loader-spinner{width:22px;height:22px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:tour360-spin .8s linear infinite}@keyframes tour360-spin{to{transform:rotate(360deg)}}

.tour360-hotspot-button.scene{width:48px;height:48px;border-color:rgba(255,255,255,.82);background:rgba(12,15,22,.7);transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.tour360-hotspot-button.scene::before{content:'';position:absolute;inset:-7px;border:1px solid rgba(255,255,255,.26);border-radius:50%;animation:tour360-pulse 2s ease-out infinite;pointer-events:none}
@keyframes tour360-pulse{0%{transform:scale(.8);opacity:0}30%{opacity:.8}100%{transform:scale(1.35);opacity:0}}
.tour360-hotspot-button.scene .tour360-hotspot-icon{width:16px;height:18px;position:relative;display:block}
.tour360-hotspot-button.scene .tour360-hotspot-icon::before{content:'';position:absolute;left:50%;top:2px;width:9px;height:9px;border-top:2.5px solid currentColor;border-right:2.5px solid currentColor;transform:translateX(-50%) rotate(-45deg);border-radius:1px}
.tour360-hotspot-button.scene .tour360-hotspot-icon::after{content:'';position:absolute;left:50%;top:7px;width:2.5px;height:10px;background:currentColor;border-radius:3px;transform:translateX(-50%)}
.tour360-hotspot-button .hotspot-label{bottom:60px;font-size:11px;font-weight:700;padding:8px 11px;border:1px solid rgba(255,255,255,.12);box-shadow:0 8px 26px rgba(0,0,0,.28)}
.tour360-hotspot-button:hover,.tour360-hotspot-button:focus-visible{box-shadow:0 9px 30px rgba(0,0,0,.42),0 0 0 6px rgba(255,255,255,.11)}

.scene-status{box-shadow:0 10px 35px rgba(0,0,0,.18)}.rail-btn{transition:.18s ease}.rail-btn:hover{background:rgba(255,255,255,.13);transform:translateY(-1px)}.rail-btn.active{box-shadow:0 7px 24px rgba(0,0,0,.18)}
.drawer{box-shadow:-24px 0 70px rgba(0,0,0,.22)}.scene-link{transition:.16s ease}.scene-link.active{box-shadow:inset 3px 0 0 rgba(255,255,255,.75)}

.editor-panel{width:min(380px,calc(100vw - 32px));max-height:calc(100vh - 100px);overflow:auto}.editor-label{font-size:10px;color:var(--muted);display:block;margin:8px 0 6px}.editor-divider{height:1px;background:var(--line);margin:14px 0}.editor-view-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.saved-badge{font-size:9px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid var(--line)}.saved-badge[hidden]{display:none}.editor-actions-three .primary-btn,.editor-actions-three .ghost-btn{flex:1 1 110px}.editor-panel pre{font-size:11px;line-height:1.55;margin:6px 0 9px}

@media(max-width:700px){.scene-loader-card{transform:translateY(-30px)}.tour360-hotspot-button.scene{width:44px;height:44px}.editor-panel{top:68px;left:10px;width:min(360px,calc(100vw - 20px));max-height:calc(100vh - 150px)}}
@media (prefers-reduced-motion: reduce){.scene-loader-spinner,.tour360-hotspot-button.scene::before{animation:none!important}.rail-btn,.scene-loader,.tour360-hotspot-button{transition:none!important}}

/* Tour360 v0.9 — performance, loaders, typography, hover contrast, auto rotate */
body{
  font-family:"Vazirmatn","IRANSansX","Segoe UI",Tahoma,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Hide Pannellum's own loader; Tour360 owns loading UI. */
#panorama .pnlm-load-box,
#panorama .pnlm-loading-box,
#panorama .pnlm-lbox,
#panorama .pnlm-lbar,
#panorama .pnlm-lmsg{display:none!important}

/* Distinct first-load experience. */
.boot-loader{
  position:absolute;inset:0;z-index:100;display:grid;place-items:center;
  background:radial-gradient(circle at 50% 43%,#1d2330 0,#0b0e14 48%,#05070b 100%);
  color:#fff;transition:opacity .38s ease,visibility .38s ease;overflow:hidden;
}
.boot-loader::before{content:'';position:absolute;width:70vmin;height:70vmin;border-radius:50%;border:1px solid rgba(255,255,255,.055);box-shadow:0 0 110px rgba(255,255,255,.035) inset}
.boot-loader.done{opacity:0;visibility:hidden;pointer-events:none}
.boot-loader[hidden]{display:none}
.boot-loader-inner{position:relative;z-index:1;width:min(360px,82vw);display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}
.boot-orbit{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;position:relative;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);box-shadow:0 20px 55px rgba(0,0,0,.34)}
.boot-orbit::before{content:'';position:absolute;inset:-9px;border-radius:50%;border:2px solid transparent;border-top-color:rgba(255,255,255,.9);border-right-color:rgba(255,255,255,.24);animation:tour360-spin 1.15s linear infinite}
.boot-orbit span{font-weight:800;font-size:20px;letter-spacing:.02em}
.boot-copy{display:flex;flex-direction:column;gap:6px}.boot-copy strong{font-size:18px;line-height:1.65}.boot-copy span{font-size:12px;color:rgba(255,255,255,.66)}
.boot-progress{width:210px;height:3px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden;margin-top:3px}.boot-progress i{display:block;width:42%;height:100%;border-radius:inherit;background:#fff;animation:tour360-boot-progress 1.35s ease-in-out infinite}
@keyframes tour360-boot-progress{0%{transform:translateX(160%)}50%{transform:translateX(10%)}100%{transform:translateX(-160%)}}

/* Scene changes use a small delayed indicator, never a second full-screen loader. */
.scene-loader{inset:auto!important;left:50%!important;top:78px!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-8px);display:block!important;width:auto!important;height:auto!important;background:none!important;backdrop-filter:none!important;opacity:0;visibility:hidden;transition:opacity .16s ease,transform .16s ease,visibility .16s ease}
.scene-loader.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
.scene-loader-card{gap:10px!important;border-radius:999px!important;padding:9px 13px!important;background:rgba(8,11,17,.82)!important;box-shadow:0 12px 36px rgba(0,0,0,.28)!important}
.scene-loader-card small{display:none!important}.scene-loader-card strong{font-size:12px!important;font-weight:700;white-space:nowrap}.scene-loader-spinner{width:17px!important;height:17px!important;border-width:2px!important}

/* Typography: larger and easier to scan. */
.brand-copy strong{font-size:17px;line-height:1.5}.brand-copy span{font-size:12px;line-height:1.5}
.scene-status span{font-size:11px}.scene-status strong{font-size:14px;line-height:1.5}
.rail-btn{font-size:13px;font-weight:600;padding:11px 15px}
.scene-link{font-size:14px;line-height:1.6;padding:13px 14px}.scene-index{font-size:11px}.scene-group{font-size:12px;font-weight:700}
.icon-btn,.round-btn,.primary-btn,.ghost-btn{font-family:inherit}.primary-btn,.ghost-btn{font-size:13px;font-weight:650}
.editor-head{font-size:13px}.editor-panel p{font-size:12px;line-height:1.9}.editor-label{font-size:11px!important}.editor-panel pre{font-size:12px!important}.saved-badge{font-size:10px!important}
.modal h2{font-size:22px}.modal p{font-size:14px}.toast{font-size:12px;font-weight:700}

/* Hotspot label contrast must not inherit the black hover foreground. */
.tour360-hotspot-button .hotspot-label,
.tour360-hotspot-button:hover .hotspot-label,
.tour360-hotspot-button:focus-visible .hotspot-label{
  color:#fff!important;background:rgba(5,7,11,.92)!important;
  border-color:rgba(255,255,255,.16)!important;font-size:13px!important;font-weight:700!important;
  text-shadow:none!important;line-height:1.5;z-index:4;
}
.tour360-hotspot-button:hover,.tour360-hotspot-button:focus-visible{color:#111}
.tour360-hotspot-button:hover .tour360-hotspot-icon,.tour360-hotspot-button:focus-visible .tour360-hotspot-icon{color:#111}

/* Auto rotate state. */
.auto-rotate-btn{font-size:22px;transition:transform .18s ease,background .18s ease,color .18s ease}
.auto-rotate-btn.active{background:#fff;color:#111;border-color:#fff}.auto-rotate-btn.active:hover{background:#fff;color:#111}

/* Small interaction/performance polish. */
.panorama{contain:layout paint size}.vignette{will-change:opacity}.drawer,.scene-loader,.tour360-hotspot-button{will-change:transform,opacity}
button:focus-visible{outline:2px solid rgba(255,255,255,.95);outline-offset:2px}

@media(max-width:700px){
  .brand-copy strong{font-size:15px}.brand-copy span{font-size:11px}.rail-btn{font-size:12px;padding:10px 13px}
  .scene-loader{top:64px!important}.scene-loader-card{padding:8px 11px!important}.scene-loader-card strong{font-size:11px!important}
  .controls{gap:6px}.round-btn{width:38px!important;height:38px!important;font-size:18px}
  .editor-panel p{font-size:11.5px}
}
@media (prefers-reduced-motion: reduce){.boot-orbit::before,.boot-progress i{animation:none!important}}


/* Tour360 v1.0 — progressive multires loading */
.boot-loader{transition:opacity .28s ease,visibility .28s ease}
.boot-progress{opacity:.72}
.scene-loader{pointer-events:none!important}
/* Multires keeps refining after UI is usable; do not imply a blocking transfer. */
.scene-loader-card strong::after{content:'…'}
#panorama .pnlm-preview-img{filter:saturate(.94);}

/* Tour360 v1.1 — cinematic entry gate + original 360-inspired motion */
.boot-loader{
  --boot-image:none;
  background:#05070b;
  isolation:isolate;
  transition:opacity .56s cubic-bezier(.22,1,.36,1),visibility .56s ease;
}
.boot-loader::after{
  content:'';position:absolute;inset:-5%;z-index:-2;
  background-image:linear-gradient(180deg,rgba(3,5,8,.68),rgba(3,5,8,.84)),var(--boot-image);
  background-size:cover;background-position:center;
  filter:blur(18px) saturate(.85);transform:scale(1.08);
  opacity:.46;transition:opacity .65s ease,filter .65s ease,transform .75s cubic-bezier(.22,1,.36,1);
}
.boot-loader::before{
  z-index:-1;width:72vmin;height:72vmin;
  background:radial-gradient(circle,rgba(255,255,255,.035),transparent 62%);
}
.boot-loader.ready::after{opacity:.72;filter:blur(12px) saturate(.95);transform:scale(1.045)}
.boot-loader-inner{width:min(430px,88vw);gap:15px;transition:opacity .42s ease,transform .58s cubic-bezier(.22,1,.36,1)}
.boot-loader.ready .boot-orbit::before{animation-duration:3.4s;border-top-color:rgba(255,255,255,.85);border-right-color:rgba(255,255,255,.45)}
.boot-loader.ready .boot-progress{height:1px;width:118px;opacity:.26}
.boot-loader.ready .boot-progress i{animation:none;width:100%;transform:none}
.boot-footnote{font-size:10.5px;color:rgba(255,255,255,.46);min-height:16px;transition:opacity .25s ease}
.boot-loader.ready .boot-footnote{opacity:.7}
.enter-tour-btn{
  width:min(330px,82vw);min-height:68px;margin-top:2px;padding:10px 13px 10px 11px;
  border:1px solid rgba(255,255,255,.25);border-radius:22px;color:#0b0e14;background:rgba(255,255,255,.96);
  display:grid;grid-template-columns:50px 1fr 34px;align-items:center;gap:10px;text-align:right;font-family:inherit;
  opacity:0;visibility:hidden;transform:translateY(14px) scale(.975);cursor:pointer;
  box-shadow:0 22px 70px rgba(0,0,0,.35),0 0 0 0 rgba(255,255,255,.16);
  transition:opacity .36s ease,visibility .36s ease,transform .48s cubic-bezier(.22,1,.36,1),box-shadow .2s ease;
  overflow:hidden;position:relative;
}
.enter-tour-btn::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(110deg,transparent 15%,rgba(255,255,255,.7) 46%,transparent 72%);
  transform:translateX(120%);animation:tour360-enter-shimmer 3.4s 1.2s ease-in-out infinite;
}
.boot-loader.ready .enter-tour-btn{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.enter-tour-btn:disabled{cursor:wait}
.enter-tour-btn:not(:disabled):hover{transform:translateY(-2px) scale(1.012);box-shadow:0 25px 80px rgba(0,0,0,.42),0 0 0 7px rgba(255,255,255,.08)}
.enter-tour-btn:not(:disabled):active{transform:translateY(0) scale(.99)}
.enter-tour-icon{width:48px;height:48px;border-radius:16px;background:#0a0d13;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;letter-spacing:-.02em;position:relative}
.enter-tour-icon::after{content:'';position:absolute;inset:-5px;border-radius:20px;border:1px solid rgba(10,13,19,.16);animation:tour360-enter-ring 2.2s ease-out infinite}
.enter-tour-copy{display:flex;flex-direction:column;gap:3px}.enter-tour-copy strong{font-size:16px;line-height:1.5}.enter-tour-copy small{font-size:10.5px;color:rgba(8,12,18,.58)}
.enter-tour-arrow{font-size:24px;font-weight:300;transition:transform .2s ease}.enter-tour-btn:hover .enter-tour-arrow{transform:translateX(-4px)}
@keyframes tour360-enter-shimmer{0%,65%{transform:translateX(130%)}85%,100%{transform:translateX(-140%)}}
@keyframes tour360-enter-ring{0%{opacity:.7;transform:scale(.84)}75%,100%{opacity:0;transform:scale(1.25)}}

/* Cinematic reveal: the panorama is already loading under the gate. */
.tour-app:not(.intro-complete) .topbar,.tour-app:not(.intro-complete) .bottom-ui{opacity:0;transform:translateY(8px);pointer-events:none}
.tour-app.intro-complete .topbar{animation:tour360-ui-in .7s .18s both cubic-bezier(.22,1,.36,1)}
.tour-app.intro-complete .bottom-ui{animation:tour360-ui-in .7s .28s both cubic-bezier(.22,1,.36,1)}
.boot-loader.entering{background:rgba(3,5,8,.16)}
.boot-loader.entering::after{opacity:0;filter:blur(0);transform:scale(1)}
.boot-loader.entering .boot-loader-inner{opacity:0;transform:scale(.92) translateY(-8px)}
.boot-loader.entering .boot-orbit{transform:scale(1.45);opacity:0;transition:transform .65s cubic-bezier(.22,1,.36,1),opacity .45s ease}
#panorama{transition:filter .65s ease,transform .8s cubic-bezier(.22,1,.36,1)}
.tour-app:not(.intro-complete) #panorama{filter:brightness(.78) saturate(.86);transform:scale(1.025)}
.tour-app.intro-complete #panorama{filter:none;transform:scale(1)}
@keyframes tour360-ui-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Original 360-style scene transition: a brief lens / radial sweep, not a blocking loader. */
.scene-fx{position:absolute;inset:0;z-index:8;pointer-events:none;overflow:hidden;opacity:0}
.scene-fx::before{content:'';position:absolute;inset:-18%;border-radius:50%;background:radial-gradient(circle at 50% 50%,transparent 0 24%,rgba(255,255,255,.055) 38%,rgba(2,4,8,.42) 68%,rgba(2,4,8,.62) 100%);transform:scale(.72);opacity:0}
.scene-fx.play{animation:tour360-fx-shell .52s ease both}
.scene-fx.play::before{animation:tour360-fx-lens .52s cubic-bezier(.4,0,.2,1) both}
@keyframes tour360-fx-shell{0%{opacity:0}25%{opacity:1}100%{opacity:0}}
@keyframes tour360-fx-lens{0%{opacity:0;transform:scale(.68)}40%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.38)}}

@media(max-width:700px){
  .boot-loader-inner{width:min(390px,90vw)}.boot-copy strong{font-size:17px}.enter-tour-btn{min-height:64px;border-radius:20px;grid-template-columns:46px 1fr 30px}.enter-tour-icon{width:44px;height:44px;border-radius:14px}.enter-tour-copy strong{font-size:15px}
}
@media(prefers-reduced-motion:reduce){
  .enter-tour-btn::before,.enter-tour-icon::after,.scene-fx.play,.scene-fx.play::before{animation:none!important}
  .boot-loader.entering .boot-loader-inner,.boot-loader.entering::after,#panorama{transition:none!important}
}


/* Tour360 v1.2 — live WebGL Tiny Planet intro */
.planet-stage{
  position:relative;width:min(430px,78vw);aspect-ratio:1;margin:-12px auto 0;
  display:grid;place-items:center;isolation:isolate;perspective:900px;
  filter:drop-shadow(0 34px 48px rgba(0,0,0,.34));
}
.tiny-planet-canvas,.tiny-planet-fallback{
  position:absolute;inset:0;width:100%;height:100%;border-radius:50%;
  transform:scale(.86) rotate(-2deg);opacity:0;
  transition:opacity .7s ease,transform .9s cubic-bezier(.16,1,.3,1),filter .8s ease;
}
.tiny-planet-canvas.ready{opacity:1;transform:scale(1) rotate(0)}
.tiny-planet-fallback{
  background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 0 80px rgba(0,0,0,.45);filter:saturate(.92) contrast(1.04);
}
.tiny-planet-fallback.ready{opacity:.62;transform:scale(.96)}
.tiny-planet-fallback.webgl-active{opacity:0}
.tiny-planet-webgl-mode .tiny-planet-fallback{opacity:0!important}
.tiny-planet-fallback-mode .tiny-planet-fallback.ready{opacity:.9;animation:tour360-fallback-orbit 18s linear infinite}
.planet-atmosphere{
  position:absolute;inset:3%;border-radius:50%;pointer-events:none;z-index:2;
  box-shadow:inset -28px -34px 56px rgba(0,0,0,.2),inset 18px 14px 34px rgba(255,255,255,.08),0 0 0 1px rgba(255,255,255,.08),0 0 52px rgba(255,255,255,.06);
  background:radial-gradient(circle at 34% 27%,rgba(255,255,255,.09),transparent 26%);
  mix-blend-mode:screen;opacity:.9;
}
.planet-orbit-ring{position:absolute;inset:2%;border-radius:50%;border:1px solid rgba(255,255,255,.14);z-index:3;pointer-events:none}
.planet-orbit-ring.orbit-a{transform:rotateX(70deg) rotateZ(12deg);animation:tour360-orbit-a 8s linear infinite}
.planet-orbit-ring.orbit-b{inset:14%;border-color:rgba(255,255,255,.08);transform:rotateX(68deg) rotateZ(-26deg);animation:tour360-orbit-b 11s linear infinite reverse}
.planet-stage .boot-orbit{
  position:absolute!important;right:8%!important;bottom:8%!important;top:auto!important;left:auto!important;
  width:58px!important;height:58px!important;z-index:5!important;background:rgba(5,8,13,.66)!important;
  backdrop-filter:blur(12px);box-shadow:0 8px 28px rgba(0,0,0,.28)!important;
}
.planet-stage .boot-orbit::before{inset:-5px!important;animation-duration:4.5s!important}
.boot-loader.ready .planet-stage{animation:tour360-planet-float 5.5s ease-in-out infinite}
.boot-loader.planet-enter .planet-stage{
  animation:none!important;transform:scale(4.6) rotate(8deg);opacity:0;filter:blur(8px) saturate(1.08);
  transition:transform .88s cubic-bezier(.2,.72,.18,1),opacity .52s .24s ease,filter .78s ease;
}
.boot-loader.planet-enter .planet-orbit-ring,.boot-loader.planet-enter .boot-orbit{opacity:0;transition:opacity .24s ease}
.boot-loader.planet-enter::after{transform:scale(1.18);filter:blur(2px) saturate(1.08);opacity:0!important;transition:all .82s ease!important}
.boot-loader.planet-enter .boot-copy,.boot-loader.planet-enter .boot-progress,.boot-loader.planet-enter .enter-tour-btn,.boot-loader.planet-enter .boot-footnote{opacity:0!important;transform:translateY(10px) scale(.97)!important;transition:all .28s ease!important}
@keyframes tour360-planet-float{0%,100%{transform:translateY(0) rotateZ(0)}50%{transform:translateY(-7px) rotateZ(.6deg)}}
@keyframes tour360-orbit-a{to{transform:rotateX(70deg) rotateZ(372deg)}}
@keyframes tour360-orbit-b{to{transform:rotateX(68deg) rotateZ(334deg)}}
@keyframes tour360-fallback-orbit{to{transform:scale(.96) rotate(360deg)}}

/* Slightly stronger cinematic hand-off under the expanding planet. */
.tour-app:not(.intro-complete) #panorama{filter:brightness(.66) saturate(.82) blur(1px);transform:scale(1.04)}
.tour-app.intro-complete #panorama{filter:none;transform:scale(1);transition:filter .9s ease,transform 1.08s cubic-bezier(.16,1,.3,1)}

@media(max-width:700px){
  .planet-stage{width:min(350px,84vw)}
  .planet-stage .boot-orbit{width:52px!important;height:52px!important}
}
@media(max-height:740px){
  .planet-stage{width:min(250px,58vh)}
  .boot-loader-inner{gap:10px!important}.boot-copy span{display:none}
}
@media(prefers-reduced-motion:reduce){
  .planet-orbit-ring,.boot-loader.ready .planet-stage,.tiny-planet-fallback-mode .tiny-planet-fallback.ready{animation:none!important}
  .boot-loader.planet-enter .planet-stage{transform:scale(1.08)!important;filter:none!important;transition:opacity .25s ease!important}
}

/* Tour360 v1.3 — HQ tiny-planet texture + horizon morph */
.tiny-planet-hq .tiny-planet-canvas{filter:saturate(1.035) contrast(1.015)}
.boot-loader.planet-enter .planet-stage{
  opacity:1!important;filter:none!important;transform:scale(5.4) rotate(0deg)!important;
  transition:transform 1.08s cubic-bezier(.16,.82,.18,1),filter .3s ease!important;
}
.boot-loader.planet-enter .tiny-planet-canvas{
  opacity:1!important;border-radius:0!important;filter:saturate(1.04) contrast(1.015)!important;
  transition:border-radius .62s cubic-bezier(.2,.72,.18,1),opacity .2s .92s ease!important;
}
.boot-loader.planet-enter .planet-atmosphere{opacity:0!important;transition:opacity .18s ease!important}
.boot-loader.planet-enter .planet-orbit-ring,.boot-loader.planet-enter .boot-orbit{opacity:0!important;transition:opacity .16s ease!important}
.boot-loader.planet-enter::after{opacity:0!important;filter:blur(0) saturate(1)!important;transform:scale(1.1)!important;transition:all .92s ease!important}
.boot-loader.planet-enter .boot-loader-inner{transform:none!important}
.boot-loader.planet-enter .planet-stage::after{
  content:'';position:absolute;inset:-4%;pointer-events:none;border-radius:50%;
  background:radial-gradient(circle at 50% 50%,transparent 34%,rgba(255,255,255,.05) 62%,transparent 75%);
  opacity:0;animation:tour360-horizon-flash .9s ease both;
}
@keyframes tour360-horizon-flash{0%{opacity:0;transform:scale(.82)}35%{opacity:.8;transform:scale(1.02)}100%{opacity:0;transform:scale(1.4)}}
@media(prefers-reduced-motion:reduce){
  .boot-loader.planet-enter .planet-stage{transform:scale(1.15)!important;opacity:0!important;transition:opacity .25s ease!important}
  .boot-loader.planet-enter .tiny-planet-canvas{border-radius:50%!important}
}


/* Tour360 v1.4 — larger true tiny-planet framing + HQ cache-bust */
.tiny-planet-hq .planet-stage{filter:drop-shadow(0 38px 58px rgba(0,0,0,.42))}
.tiny-planet-hq .tiny-planet-canvas{filter:saturate(1.055) contrast(1.025)}


/* Tour360 v1.5 — true pre-rendered stereographic Tiny Planet */
.tiny-planet-image{
  position:absolute;inset:-7%;width:114%;height:114%;object-fit:cover;z-index:1;
  opacity:0;transform:scale(.9) rotate(-4deg);transform-origin:50% 50%;
  filter:saturate(1.045) contrast(1.025) brightness(.98);
  -webkit-mask-image:radial-gradient(circle at 50% 50%,#000 0 58%,rgba(0,0,0,.98) 66%,rgba(0,0,0,.55) 78%,transparent 94%);
  mask-image:radial-gradient(circle at 50% 50%,#000 0 58%,rgba(0,0,0,.98) 66%,rgba(0,0,0,.55) 78%,transparent 94%);
  transition:opacity .55s ease,transform .9s cubic-bezier(.16,1,.3,1),filter .7s ease;
}
.tiny-planet-image.ready{opacity:1;transform:scale(1) rotate(0)}
.tiny-planet-prerendered .tiny-planet-canvas,.tiny-planet-prerendered .tiny-planet-fallback{opacity:0!important}
.tiny-planet-prerendered .planet-atmosphere{opacity:.58}
.boot-loader.ready .tiny-planet-prerendered .tiny-planet-image{}
.tiny-planet-prerendered .tiny-planet-image.ready{animation:tour360-true-planet-spin 24s linear infinite}
@keyframes tour360-true-planet-spin{to{transform:scale(1) rotate(360deg)}}

/* Horizon-expansion hand-off: the real planet stretches outward, then dissolves into Pannellum. */
.boot-loader.planet-enter .tiny-planet-image.ready{
  animation:tour360-planet-to-horizon 1.08s cubic-bezier(.16,.82,.18,1) both!important;
  -webkit-mask-image:radial-gradient(circle at 50% 50%,#000 0 82%,rgba(0,0,0,.88) 91%,transparent 100%);
  mask-image:radial-gradient(circle at 50% 50%,#000 0 82%,rgba(0,0,0,.88) 91%,transparent 100%);
}
@keyframes tour360-planet-to-horizon{
  0%{opacity:1;transform:scale(1) rotate(0deg);filter:saturate(1.04) contrast(1.02)}
  35%{opacity:1;transform:scale(1.38,1.18) rotate(1deg);filter:saturate(1.07) contrast(1.025)}
  72%{opacity:.98;transform:scale(3.05,2.05) rotate(0deg);filter:saturate(1.04) contrast(1.015) blur(.2px)}
  100%{opacity:0;transform:scale(5.6,3.25) rotate(0deg);filter:blur(1.4px)}
}
.tiny-planet-prerendered.boot-loader.planet-enter .planet-stage,
.boot-loader.planet-enter .planet-stage{overflow:visible}
@media(prefers-reduced-motion:reduce){
  .tiny-planet-prerendered .tiny-planet-image.ready{animation:none!important}
  .boot-loader.planet-enter .tiny-planet-image.ready{animation:none!important;opacity:0!important;transition:opacity .25s ease!important}
}

/* Tour360 v1.6 — circular true Tiny Planet presentation */
.planet-stage{
  width:min(360px,68vw);
  margin:0 auto 10px;
}
.tiny-planet-prerendered .tiny-planet-image{
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:50%!important;
  clip-path:circle(49.25% at 50% 50%)!important;
  -webkit-clip-path:circle(49.25% at 50% 50%)!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  box-shadow:inset 0 0 58px rgba(0,0,0,.18),0 26px 64px rgba(0,0,0,.28);
  backface-visibility:hidden;
  will-change:transform,opacity;
}
.tiny-planet-prerendered .planet-atmosphere{
  inset:1.2%!important;
  opacity:.48!important;
  box-shadow:inset -20px -24px 44px rgba(0,0,0,.18),inset 16px 12px 30px rgba(255,255,255,.07),0 0 0 1px rgba(255,255,255,.075),0 0 42px rgba(255,255,255,.05)!important;
}
.tiny-planet-prerendered .planet-orbit-ring{inset:0!important}
.tiny-planet-prerendered .planet-orbit-ring.orbit-b{inset:12%!important}
.boot-loader.ready .tiny-planet-prerendered.planet-stage,
.boot-loader.ready .planet-stage{animation:tour360-planet-float 5.5s ease-in-out infinite}

/* Keep the planet separate from title / CTA. */
.boot-loader-inner{gap:12px!important}
.boot-copy{margin-top:2px}
.boot-copy strong{font-size:19px!important;line-height:1.55!important}
.boot-copy span{font-size:12.5px!important}
.enter-tour-btn{margin-top:1px}

/* Circular expansion during hand-off; square source edges can never appear. */
.boot-loader.planet-enter .tiny-planet-image.ready{
  border-radius:50%!important;
  clip-path:circle(49.25% at 50% 50%)!important;
  -webkit-clip-path:circle(49.25% at 50% 50%)!important;
}
@keyframes tour360-true-planet-spin{
  from{transform:scale(.995) rotate(0deg)}
  50%{transform:scale(1.012) rotate(180deg)}
  to{transform:scale(.995) rotate(360deg)}
}
@keyframes tour360-planet-to-horizon{
  0%{opacity:1;transform:scale(1) rotate(0deg);filter:saturate(1.04) contrast(1.02)}
  34%{opacity:1;transform:scale(1.32) rotate(1deg);filter:saturate(1.07) contrast(1.025)}
  68%{opacity:.98;transform:scale(2.75) rotate(0deg);filter:saturate(1.04) contrast(1.015) blur(.15px)}
  100%{opacity:0;transform:scale(5.4) rotate(0deg);filter:blur(1.2px)}
}
@media(max-width:700px){
  .planet-stage{width:min(305px,76vw);margin-bottom:7px}
  .boot-copy strong{font-size:17px!important}
}
@media(max-height:740px){
  .planet-stage{width:min(235px,46vh)!important;margin-bottom:2px}
}


/* Tour360 v1.7 — no preview flash before Tiny Planet.
   The normal equirectangular preview stays hidden unless all planet render paths fail. */
.boot-loader:not(.planet-visual-ready) .tiny-planet-image,
.boot-loader:not(.planet-visual-ready) .tiny-planet-canvas,
.boot-loader:not(.planet-visual-ready) .tiny-planet-fallback{opacity:0!important;}
.boot-loader:not(.planet-visual-ready) .planet-atmosphere{opacity:.16;}
.boot-loader:not(.planet-visual-ready) .planet-orbit-ring{opacity:.34;}
.boot-loader.planet-visual-ready .tiny-planet-image.ready{transition:opacity .34s ease,transform .7s cubic-bezier(.16,1,.3,1),filter .5s ease;}

/* Tour360 v1.8 — responsive UX foundation + route-aware navigation */
:root{
  --safe-t:env(safe-area-inset-top,0px);
  --safe-r:env(safe-area-inset-right,0px);
  --safe-l:env(safe-area-inset-left,0px);
  --chrome-transition:260ms cubic-bezier(.2,.8,.2,1);
}
html,body,#app{height:100%;height:100dvh;min-height:100%;}
body{font-family:Vazirmatn,IRANSansX,"Noto Sans Arabic",Tahoma,Arial,system-ui,sans-serif;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}
.panorama{touch-action:none;user-select:none;-webkit-user-select:none}
.topbar,.bottom-ui{transition:opacity var(--chrome-transition),transform var(--chrome-transition);}
.topbar{padding-top:calc(16px + var(--safe-t));padding-right:calc(18px + var(--safe-r));padding-left:calc(18px + var(--safe-l));}
.brand-copy strong{font-size:16px;line-height:1.5}.brand-copy span{font-size:12px;line-height:1.5}
.icon-btn,.round-btn,.rail-btn,.scene-link,.mobile-scenes-btn{touch-action:manipulation}
.tour-app.ui-hidden .topbar{opacity:0;transform:translateY(-14px);pointer-events:none}
.tour-app.ui-hidden .bottom-ui{opacity:0;transform:translateY(16px);pointer-events:none}
.tour-app.drawer-open .topbar,.tour-app.drawer-open .bottom-ui{opacity:1!important;transform:none!important}

.drawer-backdrop{position:absolute;z-index:29;inset:0;background:rgba(0,0,0,.44);opacity:0;pointer-events:none;transition:opacity .25s ease;backdrop-filter:blur(2px)}
.tour-app.drawer-open .drawer-backdrop{opacity:1;pointer-events:auto}
.drawer{padding-top:calc(22px + var(--safe-t));padding-bottom:calc(22px + var(--safe-b));}
.scene-link{min-height:50px;font-size:13px}.scene-index{font-size:11px}
.mobile-scenes-btn{display:none}

.tour360-hotspot-button .hotspot-label{font-size:12px!important;line-height:1.4!important;color:#fff!important;background:rgba(6,8,12,.9)!important;padding:9px 12px!important}
.tour360-hotspot-button:hover .hotspot-label,.tour360-hotspot-button:focus-visible .hotspot-label{color:#fff!important}
.tour360-hotspot-button{touch-action:manipulation}

.editor-target-section{display:grid;gap:8px}.editor-select-label{font-size:11px;color:var(--muted)}
.editor-select{width:100%;min-height:42px;border-radius:12px;border:1px solid var(--line);background:#090c12;color:#fff;padding:8px 10px;font:inherit;font-size:12px;outline:none}
.editor-select:focus{border-color:rgba(255,255,255,.5)}
.editor-actions-two{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
.editor-actions-two button{min-height:44px;padding:9px 10px!important;font-size:11px!important}
.editor-export-wide{width:100%;min-height:42px;margin-top:2px}
.editor-panel button:disabled{opacity:.42;cursor:not-allowed;transform:none!important}

@media(max-width:1100px){
  .scene-rail{max-width:52vw}
  .rail-btn{padding:11px 12px;font-size:12px}
}

@media(max-width:760px){
  .vignette{background:linear-gradient(180deg,rgba(0,0,0,.44),transparent 22%,transparent 64%,rgba(0,0,0,.64))}
  .topbar{padding-top:calc(10px + var(--safe-t));padding-right:calc(10px + var(--safe-r));padding-left:calc(10px + var(--safe-l));gap:8px}
  .brand{gap:8px;max-width:calc(100vw - 150px)}.brand-mark{width:42px;height:42px;border-radius:13px;flex:0 0 auto}
  .brand-copy strong{font-size:15px}.brand-copy span{font-size:11px}.top-actions{gap:6px}.icon-btn{width:44px;height:44px;border-radius:14px}

  .bottom-ui{right:calc(8px + var(--safe-r));left:calc(8px + var(--safe-l));bottom:calc(8px + var(--safe-b));grid-template-columns:1fr auto;align-items:center;gap:8px}
  .scene-status,.scene-rail{display:none!important}
  .mobile-scenes-btn{display:flex;min-width:0;height:58px;border:1px solid var(--line);background:rgba(10,13,19,.78);backdrop-filter:blur(14px);color:#fff;border-radius:18px;padding:8px 13px;align-items:center;justify-content:space-between;gap:10px;text-align:right;font:inherit;cursor:pointer;box-shadow:0 10px 32px rgba(0,0,0,.2)}
  .mobile-scenes-copy{display:flex;flex-direction:column;min-width:0;gap:1px}.mobile-scenes-copy small{font-size:10px;color:var(--muted)}.mobile-scenes-copy strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-scenes-chevron{font-size:18px;opacity:.8}
  .controls{height:58px;gap:4px;padding:6px;border:1px solid var(--line);border-radius:18px;background:rgba(10,13,19,.78);backdrop-filter:blur(14px);box-shadow:0 10px 32px rgba(0,0,0,.2)}
  .round-btn{width:44px!important;height:44px!important;font-size:19px!important;border-radius:14px!important;background:rgba(255,255,255,.06)!important;border-color:transparent!important;backdrop-filter:none!important}
  .round-btn.active{background:#fff!important;color:#10131a!important}

  .drawer{top:auto;right:0;left:0;bottom:0;width:100%;height:min(72dvh,620px);border-left:0;border-top:1px solid var(--line);border-radius:26px 26px 0 0;padding:18px 14px calc(14px + var(--safe-b));transform:translateY(105%);box-shadow:0 -24px 70px rgba(0,0,0,.35)}
  .drawer.open{transform:translateY(0)}
  .drawer::before{content:'';display:block;width:42px;height:4px;border-radius:999px;background:rgba(255,255,255,.25);margin:-5px auto 13px}
  .drawer-head{margin-bottom:10px;padding:0 4px}.drawer-head strong{font-size:16px}.scene-group{font-size:12px;margin:16px 5px 6px}.scene-link{min-height:54px;font-size:14px;border-radius:15px;padding:13px 14px}

  .tour360-hotspot-button.scene{width:54px!important;height:54px!important}.tour360-hotspot-button.scene::before{inset:-5px!important}.tour360-hotspot-button .hotspot-label{bottom:65px!important;font-size:12px!important;max-width:min(230px,72vw);white-space:normal;text-align:center}
  @media(hover:none){.tour360-hotspot-button .hotspot-label{opacity:0}.tour360-hotspot-button:focus-visible .hotspot-label{opacity:1}}

  .modal{max-width:none;max-height:none}.modal-card{width:calc(100vw - 16px);max-height:88dvh;border-radius:24px;padding:22px 18px;margin:auto}.modal h2{font-size:20px}.modal p{font-size:14px}
  .toast{bottom:calc(84px + var(--safe-b));font-size:12px;max-width:calc(100vw - 28px);text-align:center}

  .editor-panel{top:auto!important;right:8px;left:8px!important;bottom:calc(76px + var(--safe-b));width:auto!important;max-height:min(58dvh,560px)!important;overflow:auto;border-radius:22px;padding:14px 12px;overscroll-behavior:contain}
  .editor-panel p{font-size:12px}.editor-panel pre{font-size:11px}.editor-actions-three{grid-template-columns:1fr 1fr!important}.editor-actions-three button:last-child{grid-column:1/-1}
}

@media(max-width:420px){
  .brand-copy span{display:none}.brand{max-width:calc(100vw - 146px)}.brand-mark{width:40px;height:40px}.icon-btn{width:40px;height:40px}.top-actions{gap:4px}
  .bottom-ui{grid-template-columns:minmax(0,1fr) auto}.controls{height:54px;padding:5px}.mobile-scenes-btn{height:54px}.round-btn{width:40px!important;height:40px!important}
  .mobile-scenes-copy strong{font-size:13px}.editor-actions-two{grid-template-columns:1fr!important}
}

@media(max-height:540px) and (orientation:landscape){
  .topbar{padding-top:calc(6px + var(--safe-t))}.brand-copy span{display:none}.bottom-ui{bottom:calc(5px + var(--safe-b))}
  .drawer{height:88dvh}.editor-panel{top:58px!important;bottom:8px!important;right:auto;left:8px!important;width:min(350px,46vw)!important;max-height:none!important}
  .tour360-hotspot-button.scene{width:48px!important;height:48px!important}
}

@media(prefers-reduced-motion:reduce){
  .topbar,.bottom-ui,.drawer,.drawer-backdrop{transition:none!important}
}

/* Mobile performance: expensive blur on multiple moving surfaces can cause frame drops. */
@media(max-width:760px){
  .mobile-scenes-btn,.controls,.topbar .icon-btn,.brand-mark{backdrop-filter:blur(10px)}
  .drawer{backdrop-filter:blur(18px)}
}


/* Tour360 v1.9 — compact mobile hotspots without sacrificing touch target */
@media(max-width:760px){
  .tour360-hotspot-button.scene{
    width:40px!important;
    height:40px!important;
    box-shadow:0 6px 20px rgba(0,0,0,.34),0 0 0 3px rgba(255,255,255,.07)!important;
  }
  .tour360-hotspot-button.scene::before{
    inset:-4px!important;
    border-color:rgba(255,255,255,.22)!important;
    animation-duration:2.25s!important;
  }
  /* Invisible extension keeps an ergonomic ~56px touch target. */
  .tour360-hotspot-button.scene::after{
    content:'';
    position:absolute;
    inset:-8px;
    border-radius:50%;
  }
  .tour360-hotspot-button.scene .tour360-hotspot-icon{width:13px!important;height:15px!important}
  .tour360-hotspot-button.scene .tour360-hotspot-icon::before{
    top:2px!important;width:7px!important;height:7px!important;border-top-width:2px!important;border-right-width:2px!important;
  }
  .tour360-hotspot-button.scene .tour360-hotspot-icon::after{
    top:6px!important;width:2px!important;height:8px!important;
  }
  .tour360-hotspot-button .hotspot-label{bottom:50px!important}
}
@media(max-width:420px){
  .tour360-hotspot-button.scene{width:38px!important;height:38px!important}
  .tour360-hotspot-button.scene::after{inset:-9px}
  .tour360-hotspot-button .hotspot-label{bottom:48px!important}
}
@media(max-height:540px) and (orientation:landscape){
  .tour360-hotspot-button.scene{width:38px!important;height:38px!important}
}

/* Tour360 — ultra-compact mobile hotspot visuals; touch target stays ergonomic */
@media(max-width:760px){
  .tour360-hotspot-button.scene{
    width:34px!important;
    height:34px!important;
    border-width:1px!important;
    background:rgba(10,12,18,.64)!important;
    box-shadow:0 4px 14px rgba(0,0,0,.30),0 0 0 2px rgba(255,255,255,.045)!important;
  }
  .tour360-hotspot-button.scene::before{
    inset:-3px!important;
    border-color:rgba(255,255,255,.16)!important;
    animation-duration:2.5s!important;
  }
  /* 34px visual + 10px each side = ~54px touch target. */
  .tour360-hotspot-button.scene::after{
    inset:-10px!important;
  }
  .tour360-hotspot-button.scene .tour360-hotspot-icon{
    width:10px!important;
    height:12px!important;
  }
  .tour360-hotspot-button.scene .tour360-hotspot-icon::before{
    top:1px!important;
    width:6px!important;
    height:6px!important;
    border-top-width:1.8px!important;
    border-right-width:1.8px!important;
  }
  .tour360-hotspot-button.scene .tour360-hotspot-icon::after{
    top:5px!important;
    width:1.8px!important;
    height:7px!important;
  }
  .tour360-hotspot-button .hotspot-label{bottom:43px!important}
}
@media(max-width:420px){
  .tour360-hotspot-button.scene{width:32px!important;height:32px!important}
  .tour360-hotspot-button.scene::after{inset:-11px!important}
  .tour360-hotspot-button .hotspot-label{bottom:41px!important}
}
@media(max-height:540px) and (orientation:landscape){
  .tour360-hotspot-button.scene{width:32px!important;height:32px!important}
  .tour360-hotspot-button.scene::after{inset:-11px!important}
}

/* Tour360 v2.1 — delivery UX: nadir, media, compact mobile chrome */
.tour360-nadir-anchor{
  width:0!important;height:0!important;margin:0!important;padding:0!important;background:none!important;border:0!important;overflow:visible!important;pointer-events:none!important;
}
.tour360-nadir-mark{
  --nadir-size:88px;--nadir-opacity:.78;
  position:absolute;left:0;top:0;width:var(--nadir-size);height:var(--nadir-size);transform:translate(-50%,-50%);
  border-radius:50%;display:grid;place-items:center;overflow:hidden;pointer-events:none;opacity:var(--nadir-opacity);
  color:#fff;background:radial-gradient(circle at 38% 30%,rgba(255,255,255,.2),rgba(8,11,17,.82) 48%,rgba(4,6,10,.94));
  border:1px solid rgba(255,255,255,.32);box-shadow:0 8px 26px rgba(0,0,0,.38),inset 0 0 24px rgba(255,255,255,.04);
  font-size:14px;font-weight:800;letter-spacing:-.02em;
}
.tour360-nadir-mark::after{content:'';position:absolute;inset:7px;border:1px solid rgba(255,255,255,.13);border-radius:50%}
.tour360-nadir-mark img{width:var(--nadir-image-scale,72%);height:var(--nadir-image-scale,72%);object-fit:contain}.tour360-nadir-mark span{position:relative;z-index:1}

.tour360-hotspot-button.image,.tour360-hotspot-button.gallery,.tour360-hotspot-button.video,.tour360-hotspot-button.audio,.tour360-hotspot-button.link,.tour360-hotspot-button.document,.tour360-hotspot-button.info{
  width:42px;height:42px;background:rgba(8,11,17,.78);border-color:rgba(255,255,255,.72);
}
.tour360-hotspot-button.image .tour360-hotspot-icon,.tour360-hotspot-button.gallery .tour360-hotspot-icon,.tour360-hotspot-button.video .tour360-hotspot-icon,.tour360-hotspot-button.audio .tour360-hotspot-icon,.tour360-hotspot-button.link .tour360-hotspot-icon{font-size:14px;transform:none}
.tour360-hotspot-button.document .tour360-hotspot-icon{font-size:8px;letter-spacing:-.04em;transform:none}
.tour360-hotspot-button.video .tour360-hotspot-icon{padding-right:1px}

.project-info h2,.media-modal h2{font-size:24px;margin:6px 0 10px}.project-about{font-size:15px!important;color:rgba(255,255,255,.82)!important}
.info-scene-chip{display:inline-flex;align-items:center;gap:9px;margin:6px 0 14px;padding:8px 11px;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid var(--line)}
.info-scene-chip span{font-size:11px;color:var(--muted)}.info-scene-chip strong{font-size:13px}
.info-details{display:grid;gap:7px;margin:4px 0 14px}.info-row{display:grid;grid-template-columns:70px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.info-row span{font-size:11px;color:var(--muted)}.info-row strong{font-size:13px;font-weight:500}.info-note{font-size:13px!important}
.modal-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.modal-actions>*{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.media-hero,.media-player{width:100%;max-height:62dvh;object-fit:contain;background:#05070b}.media-audio{width:100%;margin-top:12px}
.media-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}.media-gallery figure{margin:0;min-width:0}.media-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}.media-gallery figcaption{font-size:11px;color:var(--muted);padding:6px 2px}

/* Smaller, calmer compass and bottom controls on phones. */
@media(max-width:760px){
  .mobile-scenes-btn{height:50px!important;border-radius:16px!important;padding:6px 11px!important;box-shadow:0 7px 22px rgba(0,0,0,.18)!important}
  .mobile-scenes-copy{gap:0!important}.mobile-scenes-copy small{font-size:9px!important}.mobile-scenes-copy strong{font-size:13px!important}.mobile-scenes-chevron{font-size:15px!important}
  .controls{height:50px!important;padding:5px!important;border-radius:16px!important;gap:3px!important;box-shadow:0 7px 22px rgba(0,0,0,.18)!important}
  .round-btn{width:38px!important;height:38px!important;font-size:17px!important;border-radius:12px!important}
  #panorama .pnlm-compass{width:34px!important;height:34px!important;right:10px!important;bottom:68px!important;opacity:.68!important;background-size:34px 34px!important}
  .tour360-nadir-mark{font-size:11px}
  .tour360-hotspot-button.image,.tour360-hotspot-button.gallery,.tour360-hotspot-button.video,.tour360-hotspot-button.audio,.tour360-hotspot-button.link,.tour360-hotspot-button.document,.tour360-hotspot-button.info{width:32px!important;height:32px!important}
  .tour360-hotspot-button.image::after,.tour360-hotspot-button.gallery::after,.tour360-hotspot-button.video::after,.tour360-hotspot-button.audio::after,.tour360-hotspot-button.link::after,.tour360-hotspot-button.document::after,.tour360-hotspot-button.info::after{content:'';position:absolute;inset:-11px;border-radius:50%}
  .modal{margin:0!important;width:100%!important;max-width:none!important;top:auto!important;bottom:0!important}
  .modal::backdrop{background:rgba(0,0,0,.55)}
  .modal-card{width:100%!important;max-height:min(82dvh,720px)!important;border-radius:24px 24px 0 0!important;border-bottom:0!important;padding:22px 16px calc(18px + var(--safe-b))!important;margin:0!important}
  .modal-card::before{content:'';display:block;width:42px;height:4px;border-radius:999px;background:rgba(255,255,255,.22);margin:-10px auto 16px}
  .project-info h2,.media-modal h2{font-size:20px}.project-about{font-size:14px!important}.media-gallery{grid-template-columns:1fr 1fr;gap:7px}
}
@media(max-width:420px){
  .mobile-scenes-btn,.controls{height:47px!important}.round-btn{width:35px!important;height:35px!important;font-size:16px!important}.bottom-ui{gap:6px!important}
  #panorama .pnlm-compass{width:31px!important;height:31px!important;bottom:63px!important;background-size:31px 31px!important}
}
@media(max-height:540px) and (orientation:landscape){
  .mobile-scenes-btn,.controls{height:44px!important}.round-btn{width:34px!important;height:34px!important}.bottom-ui{gap:6px!important}
  #panorama .pnlm-compass{width:30px!important;height:30px!important;bottom:55px!important;background-size:30px 30px!important}
}


/* Tour360 v2.2 — Stage 3 UX / responsive polish */
/* Scene transitions: feedback paints immediately while Pannellum swaps / decodes behind it. */
.scene-loader{
  inset:0!important;left:0!important;top:0!important;right:0!important;bottom:0!important;
  width:100%!important;height:100%!important;transform:none!important;display:grid!important;place-items:center!important;
  background:transparent!important;backdrop-filter:none!important;opacity:0;visibility:hidden;pointer-events:none!important;
  transition:opacity .16s ease,visibility .16s ease!important;z-index:9!important;
}
.scene-loader.show{opacity:1!important;visibility:visible!important;transform:none!important}
.scene-transition-glass{position:absolute;inset:0;background:rgba(3,5,9,.20);backdrop-filter:blur(2.5px) saturate(.88);-webkit-backdrop-filter:blur(2.5px) saturate(.88)}
.scene-loader-card{
  position:relative;min-width:min(290px,78vw);max-width:360px;display:grid!important;grid-template-columns:auto 1fr;align-items:center;
  gap:11px!important;border-radius:18px!important;padding:11px 14px 13px!important;background:rgba(7,10,15,.84)!important;
  border:1px solid rgba(255,255,255,.14)!important;box-shadow:0 18px 56px rgba(0,0,0,.34)!important;overflow:hidden;
}
.scene-loader-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.scene-loader-copy small{font-size:9px!important;color:rgba(255,255,255,.58)!important}.scene-loader-copy strong{font-size:13px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-loader-copy span{font-size:9px;color:rgba(255,255,255,.54);margin-top:2px}
.scene-loader-progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(255,255,255,.07);overflow:hidden}.scene-loader-progress i{display:block;width:34%;height:100%;background:rgba(255,255,255,.78);border-radius:999px;animation:tour360-scene-progress .9s ease-in-out infinite}
@keyframes tour360-scene-progress{0%{transform:translateX(210%)}50%{transform:translateX(35%)}100%{transform:translateX(-310%)}}
.tour-app.scene-changing .topbar,.tour-app.scene-changing .bottom-ui{pointer-events:none}.tour-app.scene-changing .scene-fx{opacity:.25}
.scene-link.pending,.rail-btn.pending{opacity:.72;position:relative}.scene-link.pending::after,.rail-btn.pending::after{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.75;animation:tour360-pending-dot .75s ease-in-out infinite alternate}.scene-link.pending::after{margin-right:8px}.rail-btn.pending::after{position:absolute;top:4px;left:4px}
@keyframes tour360-pending-dot{to{opacity:.2;transform:scale(.7)}}

/* Tabbed editor keeps future modules scalable instead of one long debug panel. */
.editor-panel{padding:14px!important;overflow:hidden!important;display:flex;flex-direction:column}
.editor-panel[hidden]{display:none!important}.editor-head{flex:0 0 auto}
.editor-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:10px 0 8px;padding:4px;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(255,255,255,.035);flex:0 0 auto}
.editor-tabs button{min-width:0;min-height:38px;border:0;border-radius:10px;background:transparent;color:rgba(255,255,255,.62);font:inherit;font-size:10.5px;cursor:pointer;padding:7px 5px;transition:background .16s ease,color .16s ease}
.editor-tabs button.active{background:rgba(255,255,255,.13);color:#fff}.editor-tabs button:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:1px}
.editor-tab-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:2px 1px 2px}.editor-tab-panel[hidden]{display:none!important}.editor-tab-panel{animation:tour360-editor-tab-in .18s ease both}.editor-tab-panel>p:first-child{margin-top:4px}
@keyframes tour360-editor-tab-in{from{opacity:.45;transform:translateY(3px)}to{opacity:1;transform:none}}
.editor-target-section{display:grid;gap:8px}.editor-divider{display:none!important}

/* Button / auto-rotate feedback should be immediate and deterministic. */
.round-btn,.icon-btn,.mobile-scenes-btn,.scene-link,.rail-btn,.tour360-hotspot-button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.round-btn:active,.icon-btn:active,.mobile-scenes-btn:active{transform:scale(.94)!important;transition-duration:.06s!important}
.auto-rotate-btn{position:relative}.auto-rotate-btn::after{content:'';position:absolute;inset:4px;border:1px solid transparent;border-radius:inherit;pointer-events:none}.auto-rotate-btn.active::after{border-color:rgba(10,13,19,.18)}

/* A calmer floor badge and cleaner phone chrome. */
@media(max-width:760px){
  .scene-loader{place-items:center!important}.scene-loader-card{min-width:min(260px,76vw);padding:10px 12px 12px!important;transform:translateY(-8px)!important}.scene-transition-glass{backdrop-filter:blur(2px) saturate(.9);-webkit-backdrop-filter:blur(2px) saturate(.9)}
  .editor-panel{padding:10px!important}.editor-tabs{position:sticky;top:0;z-index:2;margin-top:7px;background:rgba(8,11,17,.94);backdrop-filter:blur(12px)}.editor-tabs button{font-size:10px;min-height:36px}
  .tour360-nadir-mark{font-size:10px!important}
}
@media(max-width:420px){
  .scene-loader-card{min-width:min(248px,74vw)}
  .editor-tabs{gap:3px;padding:3px}.editor-tabs button{font-size:9.5px;padding-inline:3px}
  .tour360-nadir-mark{}
}
@media(max-height:540px) and (orientation:landscape){
  .scene-loader-card{transform:none!important;min-width:250px}.editor-tabs{position:sticky;top:0}
}
@media(prefers-reduced-motion:reduce){
  .scene-loader-progress i,.scene-link.pending::after,.rail-btn.pending::after,.editor-tab-panel{animation:none!important}
  .scene-transition-glass{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}

.tour-app.scene-changing #panorama{pointer-events:none}


/* Tour360 v3.0 RC1 — delivery polish */
:root{--accent-text:#111318;--brand-accent:var(--accent)}
::selection{background:color-mix(in srgb,var(--accent) 34%,transparent);color:#fff}
.brand-mark,.round-btn.active,.primary-btn{transition:transform .16s ease,background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}
.brand-mark{border-color:color-mix(in srgb,var(--accent) 44%,rgba(255,255,255,.14))}
.saved-badge.qa-pass{background:rgba(92,211,135,.14);border-color:rgba(92,211,135,.32);color:#bdf1cd}
.saved-badge.qa-review{background:rgba(255,187,92,.12);border-color:rgba(255,187,92,.3);color:#ffe0a8}
.editor-path-hint{display:block;color:var(--muted);font-size:10px;direction:ltr;text-align:left;margin-top:9px;overflow-wrap:anywhere}
.editor-tabs{scrollbar-width:none}.editor-tabs::-webkit-scrollbar{display:none}
.editor-tabs button{min-width:max-content}
.scene-loader{background:rgba(4,6,10,.12);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}
.scene-loader-card{min-width:min(310px,78vw);justify-content:flex-start;background:rgba(8,11,17,.78);border-color:rgba(255,255,255,.13);box-shadow:0 18px 60px rgba(0,0,0,.22)}
.scene-loader-progress i{background:linear-gradient(90deg,rgba(255,255,255,.35),var(--accent),rgba(255,255,255,.35))}
.tour-app.scene-changing #panorama{filter:brightness(.88) saturate(.92);transform:scale(1.006);transition:filter .22s ease,transform .28s ease}
.tour-app:not(.scene-changing) #panorama{transition:filter .24s ease,transform .34s ease}
.modal-card,.drawer,.mobile-scenes-sheet{overscroll-behavior:contain}
@media(max-width:700px){
  .topbar{padding-inline:10px}.brand-copy strong{font-size:12.5px}.brand-copy span{font-size:9.5px}
  .scene-status{display:none!important}
  .mobile-scenes-btn{min-width:132px;max-width:46vw;padding:8px 10px;border-radius:16px}
  .mobile-scenes-copy strong{font-size:12px}.mobile-scenes-copy small{font-size:8.5px}
  .controls{gap:3px;padding:4px;border-radius:15px}.round-btn{width:35px;height:35px;font-size:15px}
  .compass-wrap,.pnlm-compass{transform:scale(.82);transform-origin:bottom right}
  .tour360-nadir-mark{transform:translate(-50%,-50%)!important}
  .scene-loader-card{min-width:min(270px,76vw);padding:10px 12px;border-radius:16px;transform:translateY(-8px)}
  .scene-loader-card strong{font-size:12px}.scene-loader-card span{font-size:9.5px}
  .editor-panel{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .editor-tabs{gap:5px;overflow-x:auto;padding-bottom:2px}.editor-tabs button{font-size:10px;padding:8px 10px}
}
@media(max-width:390px){.mobile-scenes-btn{max-width:43vw}.round-btn{width:34px;height:34px}.tour360-hotspot-button.scene{width:32px;height:32px}}
@media(max-height:480px) and (orientation:landscape){.topbar{padding-top:max(7px,env(safe-area-inset-top))}.bottom-ui{bottom:max(5px,env(safe-area-inset-bottom))}.mobile-scenes-btn{display:flex;min-width:124px}.controls{padding:3px}.round-btn{width:33px;height:33px}}

/* Tour360 v3.2 routing actions + expanded adaptive nadir + content QA */
.content-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.content-editor-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}
.content-editor-grid label>span{font-size:12px;color:var(--muted)}
.content-editor-grid input,.content-editor-grid textarea,.content-editor-grid select{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.28);color:var(--text);border-radius:12px;padding:10px 11px;font:inherit;outline:none}
.content-editor-grid textarea{resize:vertical;min-height:76px}
.content-editor-grid input:focus,.content-editor-grid textarea:focus,.content-editor-grid select:focus{border-color:color-mix(in srgb,var(--accent) 70%,white 10%);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
.content-wide{grid-column:1/-1}
.content-check{flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;padding:9px 4px}
.content-check input{width:18px!important;height:18px!important;accent-color:var(--accent)}
.content-section-title{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);font-weight:700;color:var(--text)}
.content-actions{margin-top:12px}
.content-status{margin-top:12px;border:1px solid rgba(255,255,255,.09);border-radius:14px;overflow:hidden;background:rgba(0,0,0,.16)}
.content-status-row{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border-bottom:1px solid rgba(255,255,255,.07);font-size:12px}
.content-status-row:last-child{border-bottom:0}.content-status-row span{color:var(--muted)}.content-status-row strong{color:var(--text);font-weight:650;overflow-wrap:anywhere;text-align:left}
.qa-dashboard{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.qa-summary{display:flex;flex-direction:column;gap:4px;border-radius:14px;padding:12px 13px;border:1px solid rgba(255,255,255,.1)}
.qa-summary.pass{background:rgba(52,199,89,.10);border-color:rgba(52,199,89,.28)}
.qa-summary.review{background:rgba(255,159,10,.10);border-color:rgba(255,159,10,.28)}
.qa-summary strong{font-size:14px}.qa-summary span{font-size:12px;color:var(--muted)}
.qa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.qa-check{display:flex;gap:9px;align-items:flex-start;padding:10px;border-radius:13px;border:1px solid rgba(255,255,255,.09);background:rgba(0,0,0,.16)}
.qa-check .qa-icon{display:grid;place-items:center;flex:0 0 24px;height:24px;border-radius:50%;font-weight:800}
.qa-check.ok .qa-icon{background:rgba(52,199,89,.18);color:#8ff0a8}.qa-check.bad .qa-icon{background:rgba(255,159,10,.18);color:#ffd28a}
.qa-check div{display:flex;flex-direction:column;gap:3px;min-width:0}.qa-check strong{font-size:12px}.qa-check small{font-size:11px;color:var(--muted);overflow-wrap:anywhere}
.qa-detail{padding:11px;border-radius:13px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.08)}.qa-detail pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px}
@media(max-width:760px){.content-editor-grid,.qa-grid{grid-template-columns:1fr}.content-wide{grid-column:auto}.content-actions{grid-template-columns:1fr 1fr}.content-status-row{flex-direction:column;gap:3px}.content-status-row strong{text-align:right}}


/* Tour360 v3.2 — adaptive Nadir coverage + navigation actions */
.tour360-nadir-mark{
  width:min(var(--nadir-size),46vmin)!important;
  height:min(var(--nadir-size),46vmin)!important;
  transform:translate(-50%,-50%)!important;
}
.content-section-help{margin:5px 0 9px!important;color:var(--muted)!important;font-size:11px!important;line-height:1.8!important}
.content-editor-grid input[type="range"]{padding:0!important;height:34px;background:transparent!important;border:0!important;accent-color:var(--accent)}
.content-editor-grid label>span strong{color:var(--text);font-size:11px;margin-inline-start:5px}
.nadir-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:-1px 0 12px}
.nadir-presets button{min-height:36px;border:1px solid rgba(255,255,255,.11);border-radius:10px;background:rgba(255,255,255,.045);color:var(--text);font:inherit;font-size:9.5px;cursor:pointer;padding:6px}
.nadir-presets button:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.22)}
.routing-section{margin:16px 0 10px;padding-top:15px;border-top:1px solid rgba(255,255,255,.09)}
.routing-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}.routing-head strong{font-size:14px}.routing-head span{font-size:10px;color:var(--muted)}
.routing-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.route-action{display:grid!important;grid-template-columns:36px 1fr auto;align-items:center;gap:9px;min-height:56px!important;padding:8px 10px!important;border-radius:15px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);color:var(--text);text-decoration:none!important;transition:transform .16s ease,background .16s ease,border-color .16s ease}
.route-action:hover{transform:translateY(-1px);background:rgba(255,255,255,.095);border-color:rgba(255,255,255,.22)}
.route-action-mark{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 18%,rgba(255,255,255,.07));border:1px solid color-mix(in srgb,var(--accent) 32%,rgba(255,255,255,.12));font-size:15px;font-weight:800}
.route-action>span:nth-child(2){display:flex;flex-direction:column;gap:1px}.route-action small{font-size:9px;color:var(--muted)}.route-action strong{font-size:13px}.route-action>b{font-size:15px;font-weight:400;color:var(--muted)}
.info-quick-actions{display:flex;gap:7px;flex-wrap:wrap;margin:4px 0 10px}.info-quick-action{min-height:38px;border-radius:11px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);color:var(--text);padding:7px 10px;font:inherit;font-size:11px;text-decoration:none;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.info-quick-action:hover{background:rgba(255,255,255,.09)}
@media(max-width:760px){
  .tour360-nadir-mark{width:min(var(--nadir-size),48vmin)!important;height:min(var(--nadir-size),48vmin)!important}
  .routing-actions{grid-template-columns:1fr}.route-action{min-height:54px!important}.routing-head{align-items:flex-start;flex-direction:column;gap:2px}
  .nadir-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.nadir-presets button{font-size:10px}
}

/* Tour360 v3.3 RC4 — branded loaders, responsive Nadir sizes, Neshan/Balad + social hub */
.boot-brand-lockup{height:44px;display:flex;justify-content:center;align-items:center;margin-bottom:-5px;opacity:.94}
.loader-logo-shell{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(7,10,15,.62);border:1px solid rgba(255,255,255,.14);box-shadow:0 10px 30px rgba(0,0,0,.22);overflow:hidden;opacity:.45;transition:opacity .25s ease,transform .25s ease}
.loader-logo-shell.has-logo{opacity:1;transform:translateY(-1px)}
.loader-logo-shell img{width:82%;height:82%;object-fit:contain;display:block}
.scene-loader-brand{position:relative;width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.10);overflow:visible}
.scene-loader-brand img{width:28px;height:28px;object-fit:contain;border-radius:8px;position:relative;z-index:2}
.scene-loader-brand .scene-loader-spinner{position:absolute;inset:-3px;width:auto!important;height:auto!important;border-width:1.5px!important;border-color:rgba(255,255,255,.13)!important;border-top-color:var(--accent)!important;z-index:1}
.scene-loader-brand:not(.has-logo){background:transparent;border-color:transparent}
.scene-loader-brand:not(.has-logo) .scene-loader-spinner{inset:8px}

.social-section,.communication-section{margin:15px 0 10px;padding-top:15px;border-top:1px solid rgba(255,255,255,.09)}
.social-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.social-action{min-height:54px;border-radius:15px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.05);color:var(--text);text-decoration:none!important;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;transition:transform .16s ease,background .16s ease,border-color .16s ease}
.social-action:hover{transform:translateY(-1px);background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.20)}
.social-mark{width:29px;height:29px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 16%,rgba(255,255,255,.06));border:1px solid color-mix(in srgb,var(--accent) 28%,rgba(255,255,255,.10));font-weight:800}
.social-action strong{font-size:12px}
.communication-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.communication-action{display:grid!important;grid-template-columns:35px 1fr auto;align-items:center;gap:9px;min-height:56px;padding:8px 10px;border-radius:15px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.05);color:var(--text);text-decoration:none!important}
.communication-action>span:nth-child(2){display:flex;flex-direction:column;gap:1px}.communication-action small{font-size:9px;color:var(--muted)}.communication-action strong{font-size:12.5px}.communication-action>b{font-size:14px;font-weight:400;color:var(--muted)}
.communication-mark{width:33px;height:33px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10)}

/* The JS selects 280px on desktop and 150px on mobile by default. */
.tour360-nadir-mark{width:min(var(--nadir-size),46vmin)!important;height:min(var(--nadir-size),46vmin)!important}

@media(max-width:760px){
  .boot-brand-lockup{height:38px}.loader-logo-shell{width:36px;height:36px;border-radius:12px}
  .scene-loader-brand{width:36px;height:36px;border-radius:12px}.scene-loader-brand img{width:25px;height:25px}
  .tour360-nadir-mark{width:min(var(--nadir-size),42vmin)!important;height:min(var(--nadir-size),42vmin)!important}
  .social-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.social-action{min-height:48px;padding:6px;gap:5px}.social-mark{width:25px;height:25px;border-radius:8px}.social-action strong{font-size:10.5px}
  .communication-actions{grid-template-columns:1fr}.communication-action{min-height:52px}
}
@media(max-width:390px){.social-actions{grid-template-columns:1fr 1fr 1fr}.routing-head span{font-size:9px}}


/* Tour360 v3.4 RC5 — tasteful provider / order promotion */
.provider-promo{margin:18px 0 8px;padding:16px;border:1px solid color-mix(in srgb,var(--accent) 26%,rgba(255,255,255,.10));border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 8%,rgba(255,255,255,.035)),rgba(255,255,255,.025));position:relative;overflow:hidden}
.provider-promo::before{content:'';position:absolute;inset:0 auto auto 0;width:46%;height:1px;background:linear-gradient(90deg,var(--accent),transparent);opacity:.75}
.provider-promo-head{display:flex;align-items:center;gap:10px;position:relative}.provider-logo{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;overflow:hidden;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);flex:0 0 auto}.provider-logo img{width:82%;height:82%;object-fit:contain}.provider-logo.logo-error::after{content:'360';font-weight:800;font-size:11px;color:var(--accent)}
.provider-promo-head>div{display:flex;flex-direction:column;min-width:0}.provider-promo-head small{font-size:10px;color:var(--muted)}.provider-promo-head strong{font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.provider-badge{margin-inline-start:auto;border:1px solid color-mix(in srgb,var(--accent) 34%,rgba(255,255,255,.10));background:color-mix(in srgb,var(--accent) 12%,rgba(0,0,0,.18));color:var(--text);border-radius:999px;padding:5px 8px;font-size:10px;font-weight:750}
.provider-promo h3{font-size:15px;line-height:1.75;margin:13px 0 4px;color:var(--text)}.provider-promo p{font-size:11px;line-height:1.9;color:var(--muted);margin:0 0 12px}.provider-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.provider-cta{min-height:43px;border-radius:12px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.045);color:var(--text)!important;text-decoration:none!important;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 10px;font-size:11px;transition:transform .16s ease,background .16s ease,border-color .16s ease}.provider-cta:hover{transform:translateY(-1px);background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.20)}.provider-cta.primary{background:var(--accent);color:var(--accent-text,#111)!important;border-color:transparent}.provider-cta.primary:hover{filter:brightness(1.05)}.provider-footnote{display:block!important;margin-top:10px!important;font-size:9px!important;color:rgba(255,255,255,.42)!important;text-align:center}
@media(max-width:760px){.provider-promo{padding:14px;border-radius:16px}.provider-logo{width:42px;height:42px;border-radius:12px}.provider-promo h3{font-size:14px}.provider-actions{grid-template-columns:1fr}.provider-cta{min-height:46px;font-size:11.5px}}
@media(max-width:390px){.provider-promo{padding:12px}.provider-promo-head strong{font-size:13px}.provider-promo h3{font-size:13px}}

/* Tour360 v3.5 RC6 — premium boot / info redesign + nested content tabs + live motion controls */
:root{--panel-soft:rgba(10,13,19,.72);--panel-line:rgba(255,255,255,.105);--panel-muted:rgba(255,255,255,.58)}
.panorama{cursor:grab}.panorama.tour360-dragging{cursor:grabbing}

/* Separate provider vs client branding in the intro */
.boot-loader{background:radial-gradient(circle at 50% 38%,rgba(42,49,64,.54),rgba(7,9,14,.94) 48%,#05070b 82%)}
.boot-loader::before{width:min(76vmin,760px);height:min(76vmin,760px);border-color:rgba(255,255,255,.045);box-shadow:0 0 160px color-mix(in srgb,var(--accent) 8%,transparent) inset}
.boot-loader-inner{width:min(470px,92vw)!important;gap:13px!important}
.boot-provider-lockup{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:6px 10px 6px 7px;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:rgba(7,10,15,.42);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 12px 45px rgba(0,0,0,.18);color:#fff}
.boot-provider-lockup .loader-logo-shell{width:31px;height:31px;border-radius:10px;margin:0;background:rgba(255,255,255,.07)}
.boot-provider-lockup .loader-logo-shell img{width:78%;height:78%;object-fit:contain}
.boot-provider-copy{display:flex;flex-direction:column;text-align:right;line-height:1.3}.boot-provider-copy small{font-size:8.5px;color:rgba(255,255,255,.46)}.boot-provider-copy strong{font-size:11px;font-weight:700;letter-spacing:.01em}
.boot-client-lockup{width:min(390px,88vw);display:flex;align-items:center;justify-content:center;gap:11px;margin-top:2px;padding:8px 11px;border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.075);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.boot-client-logo{width:54px;height:54px;flex:0 0 auto;border-radius:16px;display:grid;place-items:center;overflow:hidden;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.11)}
.boot-client-logo img{width:84%;height:84%;object-fit:contain}
.boot-copy{margin:0!important;gap:2px!important;text-align:right}.boot-copy small{font-size:9px;color:rgba(255,255,255,.48)}.boot-copy strong{font-size:17px!important;line-height:1.55!important}.boot-copy span{font-size:10.5px!important;color:rgba(255,255,255,.58)!important}
.boot-progress{width:min(240px,66vw)!important;height:2px!important;background:rgba(255,255,255,.08)!important}.boot-progress i{background:linear-gradient(90deg,transparent,var(--accent),rgba(255,255,255,.92),var(--accent),transparent)!important}
.enter-tour-btn{width:min(390px,88vw)!important;box-shadow:0 20px 70px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.055) inset!important}
.boot-footnote{font-size:9px!important;color:rgba(255,255,255,.35)!important}
.scene-loader-card{border-radius:18px!important;background:rgba(7,10,15,.84)!important;box-shadow:0 22px 70px rgba(0,0,0,.30)!important}.scene-loader-brand img{object-fit:contain!important}
@media(max-width:760px){.boot-loader-inner{width:min(360px,92vw)!important}.boot-provider-lockup{min-height:38px;padding:5px 8px 5px 6px}.boot-provider-lockup .loader-logo-shell{width:28px;height:28px}.boot-client-lockup{width:min(330px,88vw);padding:7px 9px;border-radius:16px}.boot-client-logo{width:45px;height:45px;border-radius:14px}.boot-copy strong{font-size:15px!important}.boot-copy span{font-size:9.5px!important}.enter-tour-btn{width:min(330px,88vw)!important}}
@media(max-height:620px) and (orientation:landscape){.boot-provider-lockup{display:none}.boot-client-lockup{padding:5px 8px}.boot-client-logo{width:38px;height:38px}.boot-copy span{display:none!important}}

/* v3.5 project info: modular, card-driven, mobile-first */
.project-info-v35{display:flex;flex-direction:column;gap:11px}.project-info-v35>*{margin-block:0!important}
.info-hero-card{position:relative;padding:17px;border-radius:21px;border:1px solid color-mix(in srgb,var(--accent) 20%,rgba(255,255,255,.095));background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 8%,rgba(255,255,255,.04)),rgba(255,255,255,.025));overflow:hidden}
.info-hero-card::after{content:'';position:absolute;inset:auto -28px -48px auto;width:145px;height:145px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%);pointer-events:none}
.info-hero-brand{display:flex;align-items:center;gap:10px;position:relative;z-index:1}.info-client-logo{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.07);flex:0 0 auto}.info-client-logo img{width:84%;height:84%;object-fit:contain}.info-client-logo.fallback{font-size:10px;font-weight:800;color:var(--accent)}.info-hero-brand>div{display:flex;flex-direction:column;min-width:0}.info-hero-brand small{font-size:9.5px;color:var(--muted)}.info-hero-card h2{font-size:19px!important;line-height:1.55!important;margin:2px 0 0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.info-360-badge{margin-inline-start:auto;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.18);border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800}.info-hero-card>p{position:relative;z-index:1;font-size:12px!important;line-height:1.95!important;color:rgba(255,255,255,.72)!important;margin:12px 0 11px!important}.info-scene-pill{position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:999px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.08)}.info-scene-pill span{font-size:8.5px;color:var(--muted)}.info-scene-pill strong{font-size:10.5px}
.info-smart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.info-smart-card{position:relative;min-height:64px;border:1px solid var(--panel-line);border-radius:16px;background:rgba(255,255,255,.035);display:flex;align-items:center;gap:9px;padding:10px;text-decoration:none!important;color:var(--text)!important;overflow:hidden}.info-smart-card.address{grid-column:1/-1}.info-smart-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--accent) 10%,rgba(255,255,255,.04));border:1px solid color-mix(in srgb,var(--accent) 18%,rgba(255,255,255,.08));font-size:14px;flex:0 0 auto}.info-smart-card>div{display:flex;flex-direction:column;gap:2px;min-width:0}.info-smart-card small{font-size:8.5px;color:var(--muted)}.info-smart-card strong{font-size:10.5px;line-height:1.7;overflow-wrap:anywhere}.info-smart-card>b,.info-smart-card>button{margin-inline-start:auto;background:transparent;border:0;color:var(--accent);font:inherit;font-size:9px;cursor:pointer;padding:5px}
.info-module{padding:13px;border:1px solid var(--panel-line);border-radius:17px;background:rgba(255,255,255,.025)}.info-module-head{display:flex;align-items:center;gap:9px;margin-bottom:10px}.info-module-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:13px}.info-module-head>div{display:flex;flex-direction:column}.info-module-head strong{font-size:12px}.info-module-head small{font-size:8.5px;color:var(--muted);margin-top:2px}.share-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.share-actions button{min-height:43px}.project-info-v35 .routing-actions,.project-info-v35 .social-actions,.project-info-v35 .communication-actions{margin:0!important}.project-info-v35 .route-action,.project-info-v35 .communication-action{border-radius:13px!important}.project-info-v35 .social-action{min-height:42px!important;border-radius:12px!important}.project-info-v35 .provider-promo{margin:0!important}.project-info-v35 .info-note{margin:2px 2px 0!important;padding:0!important;border:0!important;color:rgba(255,255,255,.42)!important;font-size:9.5px!important;line-height:1.8!important;text-align:center}
@media(max-width:760px){.project-info-v35{gap:9px}.info-hero-card{padding:14px;border-radius:18px}.info-client-logo{width:46px;height:46px;border-radius:14px}.info-hero-card h2{font-size:17px!important}.info-hero-card>p{font-size:11.5px!important}.info-smart-grid{grid-template-columns:1fr 1fr}.info-smart-card{min-height:60px;padding:9px}.info-module{padding:11px;border-radius:15px}.share-actions{grid-template-columns:1fr 1fr}}
@media(max-width:390px){.info-smart-grid{grid-template-columns:1fr}.info-smart-card.address{grid-column:auto}.share-actions{grid-template-columns:1fr}.info-hero-card h2{font-size:16px!important}.info-360-badge{display:none}}

/* Nested content editor */
.content-subtabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:5px;margin:10px 0 12px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.075);position:sticky;top:0;z-index:3;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.content-subtabs button{min-width:0;border:0;border-radius:10px;background:transparent;color:var(--muted);font:inherit;font-size:9.5px;padding:8px 5px;cursor:pointer;transition:.15s ease}.content-subtabs button[aria-selected="true"]{background:rgba(255,255,255,.10);color:var(--text);box-shadow:0 0 0 1px rgba(255,255,255,.06) inset}.content-subtabs button:hover{color:var(--text)}
.content-subpanel[hidden]{display:none!important}.content-subpanel{animation:tour360-content-panel .18s ease}.content-section-title.first{margin-top:0;padding-top:0;border-top:0}@keyframes tour360-content-panel{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:none}}
.motion-control-list{display:flex;flex-direction:column;gap:9px}.motion-control{display:grid;grid-template-columns:1fr 70px;gap:6px 9px;align-items:center;padding:10px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.14)}.motion-control>span{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px}.motion-control b{font-size:11px;font-weight:650}.motion-control strong{font-size:10px;color:var(--accent)}.motion-control input[type="range"]{grid-column:1/2;width:100%;accent-color:var(--accent)}.motion-control input[type="number"]{grid-column:2/3;width:100%;border:1px solid rgba(255,255,255,.11);background:rgba(0,0,0,.24);color:var(--text);border-radius:10px;padding:7px 6px;text-align:center;font:inherit;font-size:10px}.motion-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.motion-presets button{border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035);color:var(--text);border-radius:11px;padding:8px;font:inherit;font-size:10px;cursor:pointer}.motion-presets button:hover{background:rgba(255,255,255,.08)}
@media(max-width:760px){.content-subtabs{grid-template-columns:repeat(3,1fr);position:sticky;top:0}.content-subtabs button{font-size:9px;padding:8px 4px}.motion-control{grid-template-columns:1fr 64px}.content-subtab-body{padding-bottom:4px}}
@media(max-width:390px){.content-subtabs{grid-template-columns:repeat(2,1fr)}}

/* Buttons feel quicker but remain calm */
.icon-btn,.round-btn,.primary-btn,.ghost-btn,.route-action,.social-action,.communication-action,.provider-cta,.info-smart-card{transition:transform .14s ease,background .14s ease,border-color .14s ease,opacity .14s ease!important}.icon-btn:active,.round-btn:active,.primary-btn:active,.ghost-btn:active,.route-action:active,.social-action:active,.communication-action:active,.provider-cta:active,.info-smart-card:active{transform:scale(.975)!important}

/* Tour360 v3.6 RC7 — premium details / service branding / typography polish */
:root{
  --tour-font:'Vazirmatn','IRANSansX','Yekan Bakh','IRANYekan',Tahoma,Arial,sans-serif;
  --panel-line:rgba(255,255,255,.10);
  --panel-soft:rgba(255,255,255,.035);
  --panel-soft-2:rgba(255,255,255,.055);
  --info-text:rgba(255,255,255,.94);
  --info-muted:rgba(255,255,255,.60);
}
body,.tour-app,button,input,select,textarea{font-family:var(--tour-font)!important}
body{font-size:14px;font-feature-settings:'ss01' on,'ss02' on;font-variant-numeric:tabular-nums}
.brand-copy strong{font-size:16px}.brand-copy span{font-size:12px}.scene-status strong{font-size:14px}.scene-status span{font-size:11px}.rail-btn{font-size:12px}.scene-link{font-size:13px}.drawer-head strong{font-size:15px}.editor-panel{font-size:12px}.editor-panel p{font-size:12px;line-height:1.95}.editor-label,.content-section-title{font-size:12px!important}.editor-tabs button,.content-subtabs button{font-size:10.5px!important}.content-editor-grid label>span,.motion-control b{font-size:11.5px!important}.content-editor-grid input,.content-editor-grid textarea,.content-editor-grid select,.motion-control input{font-size:12px!important}

/* Modal shell: stronger hierarchy, cleaner scrolling */
.modal::backdrop{background:rgba(3,6,10,.72);backdrop-filter:blur(10px) saturate(.85)}
.modal-card{width:min(720px,94vw);max-height:min(88dvh,900px);padding:22px;border-radius:28px;background:linear-gradient(180deg,#131821 0%,#0d1118 100%);border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 110px rgba(0,0,0,.55);scrollbar-gutter:stable;overscroll-behavior:contain}
.modal-close{z-index:8;width:38px;height:38px;border-radius:13px;background:rgba(6,9,14,.68);backdrop-filter:blur(12px);font-size:20px}
.project-info-v36{display:flex;flex-direction:column;gap:12px}.project-info-v36>*{margin-block:0!important}

/* Project hero */
.info-hero-v36{position:relative;padding:20px;border-radius:23px;border:1px solid color-mix(in srgb,var(--accent) 25%,rgba(255,255,255,.10));background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 11%,rgba(255,255,255,.055)),rgba(255,255,255,.022));overflow:hidden;isolation:isolate}
.info-hero-v36::before{content:'';position:absolute;width:260px;height:260px;left:-110px;top:-150px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 20%,transparent),transparent 70%);filter:blur(4px);z-index:-1}
.info-hero-v36::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.025),transparent 65%);pointer-events:none;z-index:-1}
.info-hero-brand{display:flex;align-items:center;gap:12px}.info-client-logo{width:58px;height:58px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);box-shadow:0 10px 34px rgba(0,0,0,.18)}.info-client-logo img{width:84%;height:84%;object-fit:contain}.info-hero-brand small{font-size:11px;color:var(--info-muted)}.info-hero-v36 h2{font-size:22px!important;line-height:1.6!important;color:var(--info-text);margin:1px 0 0!important;font-weight:800;letter-spacing:-.02em}.info-360-badge{font-size:10px;padding:6px 9px;background:rgba(0,0,0,.24)}
.info-hero-v36>p{font-size:13.5px!important;line-height:2!important;color:rgba(255,255,255,.76)!important;margin:15px 0 13px!important;max-width:64ch}
.info-hero-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.info-scene-pill{padding:7px 11px;background:rgba(0,0,0,.22);border-color:rgba(255,255,255,.09)}.info-scene-pill span{font-size:10px;color:var(--info-muted)}.info-scene-pill strong{font-size:12px}
.info-quick-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.info-quick-action{height:38px;min-width:70px;padding:0 10px;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:rgba(255,255,255,.045);color:var(--text)!important;text-decoration:none!important;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font:inherit;font-size:11px;transition:.16s ease}.info-quick-action:hover{background:rgba(255,255,255,.09);transform:translateY(-1px)}.info-quick-action .ui-svg-icon{width:16px;height:16px}

/* Contact / detail cards */
.info-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.info-detail-card{min-height:76px;border:1px solid var(--panel-line);border-radius:17px;background:linear-gradient(145deg,rgba(255,255,255,.042),rgba(255,255,255,.022));color:var(--text)!important;text-decoration:none!important;display:flex;align-items:center;gap:11px;padding:12px 13px;transition:.16s ease}.info-detail-card:hover{background:rgba(255,255,255,.065);border-color:rgba(255,255,255,.16);transform:translateY(-1px)}.info-address-card{grid-column:1/-1}.info-detail-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,rgba(255,255,255,.035));border:1px solid color-mix(in srgb,var(--accent) 20%,rgba(255,255,255,.07));flex:0 0 auto}.info-detail-icon .ui-svg-icon{width:20px;height:20px}.info-detail-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.info-detail-copy small{font-size:10px;color:var(--info-muted)}.info-detail-copy strong{font-size:13px;line-height:1.8;overflow-wrap:anywhere;color:var(--info-text)}.info-card-action{border:0;background:rgba(255,255,255,.055);color:var(--accent);border-radius:11px;padding:7px 9px;font:inherit;font-size:10px;display:flex;align-items:center;gap:4px;cursor:pointer;flex:0 0 auto}.info-card-action.passive{cursor:default}.info-card-action .ui-svg-icon{width:14px;height:14px}

/* Modular info sections */
.info-module-premium{padding:15px;border-radius:19px;border:1px solid var(--panel-line);background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.018))}.info-module-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.info-module-icon{width:38px;height:38px;border-radius:12px;color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,rgba(255,255,255,.04));border:1px solid color-mix(in srgb,var(--accent) 18%,rgba(255,255,255,.07))}.info-module-icon .ui-svg-icon{width:18px;height:18px}.info-module-head strong{font-size:14px;line-height:1.5}.info-module-head small{font-size:10px;color:var(--info-muted);margin-top:3px;line-height:1.7}
.ui-svg-icon{display:block;width:18px;height:18px;flex:0 0 auto}.route-external,.communication-external{width:16px;height:16px;margin-inline-start:auto;opacity:.55}

/* Service logos */
.service-logo-shell{position:relative;width:42px;height:42px;flex:0 0 auto;border-radius:13px;display:grid;place-items:center;overflow:hidden;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.20);box-shadow:0 5px 18px rgba(0,0,0,.16)}.service-logo-shell img{position:absolute;inset:0;width:100%;height:100%;padding:5px;object-fit:contain;opacity:0;transition:opacity .16s ease;background:#fff}.service-logo-shell.loaded img{opacity:1}.service-logo-shell.loaded .service-logo-fallback{opacity:0}.service-logo-shell.failed img{display:none}.service-logo-fallback{font-weight:900;font-size:15px;color:#252a32;transition:opacity .16s ease}.service-logo-shell.no-image{background:color-mix(in srgb,var(--accent) 12%,#fff)}.bale-fallback .service-logo-fallback{color:#233a64}
.branded-routing{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.branded-routing .route-action{min-height:64px;padding:9px 11px;display:flex!important;align-items:center;gap:10px;background:rgba(255,255,255,.035)!important;border:1px solid rgba(255,255,255,.09)!important}.branded-routing .route-action>span:nth-child(2){display:flex;flex-direction:column;gap:1px;text-align:right}.branded-routing .route-action small{font-size:9.5px;color:var(--info-muted)}.branded-routing .route-action strong{font-size:13px;color:var(--text)}
.branded-socials{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.branded-socials .social-action{min-height:64px!important;padding:9px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;background:rgba(255,255,255,.035)!important;border:1px solid rgba(255,255,255,.09)!important}.branded-socials .social-action>span:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.branded-socials .social-action small{font-size:9px;color:var(--info-muted)}.branded-socials .social-action strong{font-size:12.5px;color:var(--text)}
.communication-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.communication-action{min-height:62px!important;padding:10px 11px!important;display:flex!important;align-items:center!important;gap:10px!important;background:rgba(255,255,255,.035)!important;border:1px solid rgba(255,255,255,.09)!important;color:var(--text)!important;text-decoration:none!important}.communication-mark{width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.05);display:grid;place-items:center;color:var(--accent);flex:0 0 auto}.communication-mark .ui-svg-icon{width:18px;height:18px}.communication-action>span:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0}.communication-action small{font-size:9.5px;color:var(--info-muted)}.communication-action strong{font-size:12.5px}

/* Share */
.share-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.share-actions button{min-height:47px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:650}.share-actions .ui-svg-icon{width:17px;height:17px}

/* Provider: phone is always visible when configured */
.provider-promo-v36{padding:0!important;border-radius:21px!important;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 10%,rgba(255,255,255,.04)),rgba(255,255,255,.018))!important}.provider-promo-v36 .provider-promo-head{padding:14px 15px;border-bottom:1px solid rgba(255,255,255,.075);background:rgba(255,255,255,.025)}.provider-promo-v36 .provider-logo{width:50px;height:50px}.provider-promo-v36 .provider-promo-head small{font-size:10px}.provider-promo-v36 .provider-promo-head strong{font-size:14.5px}.provider-promo-body{padding:15px}.provider-promo-kicker{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:10px;font-weight:650;margin-bottom:5px}.provider-promo-kicker .ui-svg-icon{width:14px;height:14px}.provider-promo-v36 h3{font-size:17px!important;line-height:1.75!important;margin:6px 0 5px!important}.provider-promo-v36 p{font-size:12.5px!important;line-height:1.95!important;color:rgba(255,255,255,.68)!important;margin:0 0 13px!important}.provider-promo-v36 .provider-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.provider-promo-v36 .provider-cta{min-height:48px;font-size:11.5px;padding:8px 11px}.provider-promo-v36 .provider-cta>span{display:flex;flex-direction:column;gap:0;text-align:right}.provider-promo-v36 .provider-cta small{font-size:8.5px;opacity:.7}.provider-promo-v36 .provider-cta strong{font-size:11.5px}.provider-promo-v36 .provider-cta .ui-svg-icon{width:16px;height:16px}

/* Fine type / color polish */
.info-note{font-size:10.5px!important;line-height:1.9!important;color:rgba(255,255,255,.43)!important;text-align:center;margin:1px 4px 0!important}.primary-btn{font-weight:700}.ghost-btn{font-weight:600}.editor-path-hint{font-size:10px!important}.content-section-help{font-size:11px!important;line-height:1.85!important}.saved-badge{font-size:9.5px!important}

@media(max-width:760px){
  body{font-size:13px}
  .modal{width:100%;max-width:none;max-height:none;margin:auto 0 0}
  .modal-card{width:100%!important;max-height:min(90dvh,820px)!important;border-radius:26px 26px 0 0!important;border-bottom:0!important;padding:20px 14px calc(16px + var(--safe-b))!important;margin:0!important}
  .modal-card::before{content:'';display:block;width:44px;height:4px;border-radius:999px;background:rgba(255,255,255,.20);margin:-8px auto 14px}
  .modal-close{top:13px;left:14px}
  .project-info-v36{gap:10px}.info-hero-v36{padding:15px;border-radius:19px}.info-client-logo{width:48px;height:48px;border-radius:15px}.info-hero-v36 h2{font-size:18px!important}.info-hero-v36>p{font-size:12.5px!important;line-height:1.9!important;margin:11px 0!important}.info-hero-footer{align-items:flex-start}.info-quick-actions{width:100%;display:grid;grid-template-columns:repeat(4,1fr)}.info-quick-action{min-width:0;padding:0 5px;height:40px;font-size:10px}.info-quick-action .ui-svg-icon{width:15px;height:15px}
  .info-detail-grid{grid-template-columns:1fr 1fr;gap:7px}.info-detail-card{min-height:68px;padding:10px;border-radius:15px}.info-address-card{grid-column:1/-1}.info-detail-icon{width:38px;height:38px}.info-detail-copy strong{font-size:12px}.info-module-premium{padding:12px;border-radius:16px}.info-module-head{margin-bottom:9px}.info-module-head strong{font-size:13px}.branded-routing,.communication-actions{grid-template-columns:1fr 1fr}.branded-socials{grid-template-columns:repeat(3,1fr)}.service-logo-shell{width:38px;height:38px;border-radius:12px}.branded-socials .social-action,.branded-routing .route-action{min-height:59px}.provider-promo-v36 .provider-actions{grid-template-columns:1fr 1fr}.provider-promo-body{padding:13px}.provider-promo-v36 h3{font-size:15.5px!important}.provider-promo-v36 p{font-size:12px!important}
  .brand-copy strong{font-size:15px}.brand-copy span{font-size:11px}.scene-status strong{font-size:13px}.rail-btn{font-size:11px}
}
@media(max-width:440px){
  .info-quick-actions{grid-template-columns:repeat(2,1fr)}
  .info-detail-grid{grid-template-columns:1fr}.info-address-card{grid-column:auto}.branded-routing,.communication-actions{grid-template-columns:1fr}.branded-socials{grid-template-columns:1fr 1fr}.share-actions{grid-template-columns:1fr}.provider-promo-v36 .provider-actions{grid-template-columns:1fr}.info-hero-v36 h2{font-size:17px!important}.info-360-badge{display:none}.info-card-action.passive{display:none}
}
@media(max-width:350px){.branded-socials{grid-template-columns:1fr}.info-quick-actions{grid-template-columns:1fr 1fr}}


/* ==========================================================================\n   Tour360 v3.7 FINAL — production UX freeze\n   ========================================================================== */
:root{--info-surface:#151922;--info-surface-2:#1b202b;--info-line:rgba(255,255,255,.095);--info-muted:rgba(245,247,251,.62);--info-text:#f8f9fc}
body{font-family:"Vazirmatn","Vazir",Tahoma,Arial,sans-serif;font-size:14px}
button,input,select,textarea{font-family:inherit}
.brand-mark.has-logo{background:linear-gradient(145deg,#fff,#e9edf3);border-color:rgba(255,255,255,.72);box-shadow:0 8px 24px rgba(0,0,0,.22),0 0 0 2px rgba(255,255,255,.07)}
.brand-mark.has-logo img{width:88%;height:88%;padding:5px;filter:none}
.brand-copy strong{font-size:16px;font-weight:800}.brand-copy span{font-size:11.5px}
.icon-btn:focus-visible,.round-btn:focus-visible,.primary-btn:focus-visible,.ghost-btn:focus-visible,.tour360-hotspot-button:focus-visible,a:focus-visible{outline:2px solid var(--accent,#d6b978);outline-offset:3px}

/* Final info modal: fewer boxes, clearer hierarchy */
.modal-card{width:min(690px,94vw);max-height:min(88dvh,900px);padding:18px;border-radius:26px;background:linear-gradient(180deg,rgba(17,20,28,.985),rgba(11,14,20,.985));box-shadow:0 28px 100px rgba(0,0,0,.5)}
.project-info-v37{display:flex;flex-direction:column;gap:12px;color:var(--info-text);padding-top:4px}
.info-cover-v37{padding:20px;border:1px solid var(--info-line);border-radius:23px;background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--accent) 15%,transparent),transparent 38%),linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));position:relative;overflow:hidden}
.info-cover-v37:after{content:"360°";position:absolute;left:-10px;bottom:-31px;font-size:96px;font-weight:900;letter-spacing:-.08em;color:rgba(255,255,255,.022);pointer-events:none}
.info-cover-brand{display:flex;align-items:flex-start;gap:14px}.info-cover-brand>div{min-width:0;flex:1}.info-cover-brand small{font-size:11px;color:var(--info-muted)}.info-cover-brand h2{margin:1px 0 7px!important;font-size:24px!important;line-height:1.5!important;font-weight:900;color:#fff}.info-cover-brand p{margin:0!important;font-size:13.5px!important;line-height:2!important;color:rgba(248,249,252,.74)!important}
.info-client-logo-v37{width:70px;height:70px;border-radius:20px;display:grid;place-items:center;overflow:hidden;flex:0 0 auto;background:linear-gradient(145deg,#fff,#eef1f5);border:1px solid rgba(255,255,255,.75);box-shadow:0 12px 36px rgba(0,0,0,.25)}.info-client-logo-v37 img{width:86%;height:86%;object-fit:contain}.info-client-logo-v37.fallback{color:#151922;font-weight:900;font-size:12px}
.info-current-scene{margin-top:15px;display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;background:rgba(0,0,0,.2);border:1px solid var(--info-line)}.info-current-scene span{font-size:9.5px;color:var(--info-muted)}.info-current-scene strong{font-size:11.5px}
.info-action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.info-action-tile{appearance:none;border:1px solid var(--info-line);background:rgba(255,255,255,.035);color:var(--info-text);border-radius:16px;min-height:66px;padding:10px;display:flex;align-items:center;gap:9px;text-decoration:none;text-align:right;cursor:pointer;transition:.18s ease}.info-action-tile:hover{background:rgba(255,255,255,.075);border-color:color-mix(in srgb,var(--accent) 40%,var(--info-line));transform:translateY(-1px)}.info-action-tile>.ui-svg-icon{width:19px;height:19px;flex:0 0 auto;color:var(--accent)}.info-action-tile span{display:flex;flex-direction:column;min-width:0}.info-action-tile small{font-size:9px;color:var(--info-muted)}.info-action-tile strong{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.info-contact-sheet{border:1px solid var(--info-line);border-radius:19px;background:rgba(255,255,255,.022);overflow:hidden}.info-contact-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;color:var(--info-text);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.065)}.info-contact-row:last-child{border-bottom:0}.info-contact-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,rgba(255,255,255,.04));color:var(--accent)}.info-contact-icon svg{width:18px;height:18px}.info-contact-row>div{display:flex;flex-direction:column;min-width:0}.info-contact-row small{font-size:9.5px;color:var(--info-muted)}.info-contact-row strong{font-size:12.5px;line-height:1.8}.info-row-btn{border:0;background:rgba(255,255,255,.06);color:var(--info-text);border-radius:11px;padding:7px 9px;font-size:10px;display:flex;align-items:center;gap:5px}.info-row-btn svg{width:14px;height:14px}.info-row-btn.passive{pointer-events:none}
.info-panel-section{border:1px solid var(--info-line);border-radius:19px;padding:13px;background:rgba(255,255,255,.022);scroll-margin-top:10px}.info-panel-section.compact{padding:12px}.info-section-title{display:flex;align-items:center;gap:10px;margin-bottom:10px}.info-section-icon{width:35px;height:35px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.055);color:var(--accent)}.info-section-icon svg{width:17px;height:17px}.info-section-title>div{display:flex;flex-direction:column}.info-section-title strong{font-size:13px}.info-section-title small{font-size:9.5px;color:var(--info-muted);margin-top:2px}
.service-pill-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.service-pill{display:grid;grid-template-columns:42px 1fr 16px;align-items:center;gap:9px;text-decoration:none;color:var(--info-text);border-radius:15px;padding:8px 10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}.service-pill:hover{background:rgba(255,255,255,.075)}.service-pill>span:nth-child(2){display:flex;flex-direction:column}.service-pill small{font-size:9px;color:var(--info-muted)}.service-pill strong{font-size:12px}.service-pill>.ui-svg-icon{width:14px;height:14px;color:var(--info-muted)}
.social-pill-grid{display:flex;flex-wrap:wrap;gap:8px}.social-pill{min-width:110px;flex:1;display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--info-text);border:1px solid rgba(255,255,255,.065);background:rgba(255,255,255,.035);border-radius:14px;padding:8px 10px;font-size:11px;font-weight:700}.social-pill:hover{background:rgba(255,255,255,.07)}
.direct-link-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.direct-link-row{display:grid;grid-template-columns:32px 1fr 15px;gap:8px;align-items:center;color:var(--info-text);text-decoration:none;border-radius:14px;padding:9px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06)}.direct-link-row>span:first-child{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.05);color:var(--accent)}.direct-link-row>span:first-child svg{width:16px;height:16px}.direct-link-row>div{display:flex;flex-direction:column}.direct-link-row small{font-size:8.8px;color:var(--info-muted)}.direct-link-row strong{font-size:11.5px}.direct-link-row>.ui-svg-icon{width:13px;height:13px;color:var(--info-muted)}
.share-clean-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.share-clean-actions button{min-height:42px;display:flex;align-items:center;justify-content:center;gap:7px}.share-clean-actions svg{width:16px;height:16px}
.provider-signature{border-radius:21px;padding:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 13%,#171b25),#10141c);border:1px solid color-mix(in srgb,var(--accent) 26%,rgba(255,255,255,.08));position:relative;overflow:hidden}.provider-signature:after{content:"360";position:absolute;left:-10px;bottom:-34px;font-size:92px;font-weight:900;color:rgba(255,255,255,.025)}.provider-signature-top{display:flex;align-items:center;gap:10px;position:relative;z-index:1}.provider-signature-logo{width:42px;height:42px;border-radius:13px;background:#fff;display:grid;place-items:center;overflow:hidden}.provider-signature-logo img{width:86%;height:86%;object-fit:contain}.provider-signature-top>div{display:flex;flex-direction:column}.provider-signature-top small{font-size:9px;color:var(--info-muted)}.provider-signature-top strong{font-size:13px}.provider-signature-badge{margin-inline-start:auto;font-size:9px;font-weight:900;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:999px;padding:5px 7px}.provider-signature h3{position:relative;z-index:1;margin:13px 0 5px;font-size:16px}.provider-signature>p{position:relative;z-index:1;margin:0 0 12px!important;font-size:11.5px!important;line-height:1.9!important;color:rgba(255,255,255,.66)!important}.provider-btn-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:7px}.provider-btn{min-height:42px;padding:8px 10px;border-radius:13px;text-decoration:none;color:var(--info-text);display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.045);font-size:10.5px}.provider-btn.primary{background:#fff;color:#111;border-color:#fff}.provider-btn svg{width:15px;height:15px}.provider-btn>span{display:flex;flex-direction:column}.provider-btn small{font-size:8px;opacity:.65}.provider-btn strong{font-size:10px}.info-note-v37{font-size:10px!important;line-height:1.8!important;text-align:center;color:rgba(255,255,255,.42)!important;margin:0!important;padding:2px 14px 6px!important}
.qr-modal{text-align:center;padding:20px 4px}.qr-modal h2{font-size:21px!important;margin:8px 0 16px!important}.qr-shell{width:min(280px,76vw);aspect-ratio:1;margin:0 auto 13px;background:#fff;padding:14px;border-radius:22px;box-shadow:0 18px 50px rgba(0,0,0,.28)}.qr-shell img{width:100%;height:100%;object-fit:contain;border-radius:8px!important}.qr-modal p{font-size:12px!important}.qr-modal .ghost-btn{margin-top:6px}

/* Content / info hotspots */
.editor-info-builder{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.09)}.editor-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.editor-info-grid label{display:flex;flex-direction:column;gap:5px;font-size:10px;color:var(--muted)}.editor-info-grid .content-wide{grid-column:1/-1}.editor-info-grid input,.editor-info-grid textarea{width:100%;border:1px solid var(--line);border-radius:11px;background:#090c12;color:#fff;padding:9px 10px;resize:vertical}.info-hotspot-editor-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}.info-hotspot-empty{padding:10px;border:1px dashed rgba(255,255,255,.1);border-radius:11px;color:var(--muted);font-size:10px;text-align:center}.info-hotspot-editor-item{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;padding:8px;border-radius:11px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}.info-editor-dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 18%,#12151c);color:var(--accent);font-weight:900}.info-hotspot-editor-item>div:nth-child(2){display:flex;flex-direction:column;min-width:0}.info-hotspot-editor-item strong{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.info-hotspot-editor-item small{font-size:8.5px;color:var(--muted)}.info-hotspot-item-actions{display:flex;gap:4px}.info-hotspot-item-actions button{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:#fff;border-radius:8px;padding:5px 6px;font-size:8px;cursor:pointer}
.tour360-hotspot-button.info{background:rgba(20,24,32,.82);border-color:color-mix(in srgb,var(--accent) 50%,rgba(255,255,255,.25));box-shadow:0 8px 28px rgba(0,0,0,.25),0 0 0 4px color-mix(in srgb,var(--accent) 10%,transparent)}.tour360-hotspot-button.info .tour360-hotspot-icon{font-weight:900;color:var(--accent)}
.media-info-badge{display:inline-flex;margin:-3px 0 10px;padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,rgba(255,255,255,.04));color:var(--accent);font-size:10px;font-weight:800}.media-info-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.media-info-stats>div{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:10px;background:rgba(255,255,255,.035);display:flex;flex-direction:column;gap:3px}.media-info-stats small{font-size:9px;color:var(--muted)}.media-info-stats strong{font-size:13px;color:#fff}
.qa-network-summary{margin-top:9px;border-radius:12px;padding:10px;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:3px}.qa-network-summary.ok{background:rgba(47,170,104,.08);border-color:rgba(47,170,104,.25)}.qa-network-summary.warn{background:rgba(225,169,58,.08);border-color:rgba(225,169,58,.28)}.qa-network-summary strong{font-size:10px}.qa-network-summary span,.qa-network-summary small{font-size:9px;color:var(--muted)}

@media(max-width:760px){
  .modal-card{width:100%;max-width:none;max-height:88dvh;border-radius:25px 25px 0 0;padding:14px 12px calc(16px + env(safe-area-inset-bottom));margin:0}.modal{width:100%;max-width:none;margin:auto 0 0}
  .info-cover-v37{padding:15px;border-radius:19px}.info-cover-brand{gap:11px}.info-client-logo-v37{width:54px;height:54px;border-radius:16px}.info-cover-brand h2{font-size:18px!important}.info-cover-brand p{font-size:12.2px!important;line-height:1.9!important}.info-current-scene{margin-top:11px}
  .info-action-grid{grid-template-columns:1fr 1fr}.info-action-tile{min-height:58px;padding:8px}.info-action-tile strong{font-size:11px}.info-action-tile small{font-size:8.5px}
  .info-contact-row{grid-template-columns:34px 1fr auto;padding:10px}.info-contact-icon{width:32px;height:32px}.info-contact-row strong{font-size:11.5px}
  .service-pill-grid,.direct-link-list{grid-template-columns:1fr}.social-pill{min-width:calc(50% - 4px)}.share-clean-actions{grid-template-columns:1fr 1fr}.share-clean-actions #modalQr{grid-column:1/-1}.provider-btn-grid{grid-template-columns:1fr}.info-section-title strong{font-size:12px}.info-section-title small{font-size:9px}
  .editor-info-grid{grid-template-columns:1fr}.editor-info-grid .content-wide{grid-column:auto}.media-info-stats{grid-template-columns:1fr 1fr}
  .brand-copy strong{font-size:14px}.brand-mark.has-logo{background:linear-gradient(145deg,#fff,#edf0f5)}
}
@media(max-width:390px){.info-action-grid{gap:6px}.info-action-tile{min-height:54px;border-radius:14px}.info-client-logo-v37{width:50px;height:50px}.info-cover-brand h2{font-size:17px!important}.social-pill{min-width:100%}.media-info-stats{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.info-action-tile,.provider-btn,.service-pill,.social-pill{transition:none!important;transform:none!important}.planet-orbit-ring,.boot-orbit{animation:none!important}}

/* Tour360 v3.8 — Hotspot Studio */
.hotspot-studio{display:flex;flex-direction:column;gap:10px}.editor-subtitle{display:block;margin-top:2px;color:var(--muted);font-size:9px}.hotspot-studio code{font-size:9px;color:#fff;background:rgba(255,255,255,.06);padding:2px 5px;border-radius:5px;direction:ltr;unicode-bidi:plaintext}.hotspot-type-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:7px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(0,0,0,.16)}.hotspot-type-btn{min-width:0;border:1px solid transparent;border-radius:11px;background:rgba(255,255,255,.035);color:rgba(255,255,255,.72);padding:7px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;font:inherit;transition:.16s ease}.hotspot-type-btn b{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.055);font-size:11px;line-height:1}.hotspot-type-btn span{font-size:9px;white-space:nowrap}.hotspot-type-btn:hover{background:rgba(255,255,255,.07);color:#fff}.hotspot-type-btn.active{border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 13%,#11151c);color:#fff}.hotspot-type-btn.active b{background:color-mix(in srgb,var(--accent) 23%,#161a22);color:var(--accent)}.hotspot-specific-panel{display:grid;grid-template-columns:1fr;gap:8px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.025)}.hotspot-specific-panel[hidden]{display:none!important}.studio-field{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:10px}.studio-field>span{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.studio-field small{font-size:8.5px;opacity:.78}.studio-field input,.studio-field textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:11px;background:#090c12;color:#fff;padding:9px 10px;font:inherit;font-size:10.5px;outline:none;resize:vertical}.studio-field input:focus,.studio-field textarea:focus{border-color:color-mix(in srgb,var(--accent) 65%,#fff 5%);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}.studio-hint{color:var(--muted);font-size:8.5px}.hotspot-studio-summary{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:11px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);font-size:9px;color:var(--muted)}.hotspot-studio-summary strong{color:#fff;font-size:10px}.editor-list-head{display:flex;align-items:center;justify-content:space-between;margin-top:3px;color:#fff;font-size:10px}.editor-list-head small{color:var(--muted);font-size:8.5px}.info-hotspot-editor-item{grid-template-columns:32px minmax(0,1fr) auto}.info-hotspot-editor-item small b{color:var(--accent);font-weight:700}.info-editor-dot{font-size:10px}.info-editor-dot.type-image,.info-editor-dot.type-gallery{color:#8dd8ff}.info-editor-dot.type-video{color:#ff9c9c}.info-editor-dot.type-audio{color:#b5a7ff}.info-editor-dot.type-link,.info-editor-dot.type-document{color:#ffd58d}.media-info-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.media-info-stats>div{padding:11px 12px;border-radius:13px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);display:flex;flex-direction:column;gap:4px}.media-info-stats small{font-size:10px;color:var(--muted)}.media-info-stats strong{font-size:13px;color:#fff;line-height:1.5}.media-gallery figure{cursor:pointer}.media-gallery img{transition:transform .18s ease,filter .18s ease}.media-gallery figure:hover img{transform:scale(1.018);filter:brightness(1.05)}.media-image-focus{text-align:center}.media-hero-expanded{max-height:62vh;object-fit:contain;background:#07090d}.media-image-focus .ghost-btn{margin-top:12px}.media-player{width:100%;max-height:58vh;border-radius:14px;background:#000}.media-audio{width:100%;margin-top:12px}
@media(max-width:760px){.hotspot-type-picker{grid-template-columns:repeat(4,1fr);gap:5px}.hotspot-type-btn{padding:8px 3px}.hotspot-type-btn b{width:30px;height:30px}.hotspot-type-btn span{font-size:9px}.editor-info-grid{grid-template-columns:1fr}.editor-info-grid .content-wide{grid-column:auto}.media-info-stats{grid-template-columns:1fr 1fr}.studio-field input,.studio-field textarea{font-size:12px}.studio-field{font-size:11px}.info-hotspot-editor-item{grid-template-columns:34px minmax(0,1fr);}.info-hotspot-item-actions{grid-column:1/-1;justify-content:flex-end}.info-hotspot-item-actions button{font-size:9.5px;padding:7px 9px}}
@media(max-width:390px){.hotspot-type-picker{grid-template-columns:repeat(3,1fr)}.media-info-stats{grid-template-columns:1fr}}
\n\n/* Tour360 v3.9 RC9 — premium intro hierarchy + modal-aware UX */\n.boot-loader{background:\n  radial-gradient(circle at 50% 32%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 32%),\n  radial-gradient(circle at 50% 46%,rgba(40,48,64,.46),rgba(7,9,14,.96) 56%,#04060a 88%)!important}\n.boot-loader::before{border-color:rgba(255,255,255,.055)!important;box-shadow:0 0 180px color-mix(in srgb,var(--accent) 10%,transparent) inset!important}\n.boot-provider-lockup{order:0;background:rgba(7,10,15,.56)!important;border-color:rgba(255,255,255,.11)!important;box-shadow:0 16px 48px rgba(0,0,0,.26)!important}\n.boot-client-lockup.premium{position:relative;width:min(430px,90vw)!important;align-items:center!important;justify-content:flex-start!important;padding:11px 13px!important;gap:13px!important;border-radius:22px!important;background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.035))!important;border:1px solid rgba(255,255,255,.11)!important;box-shadow:0 18px 60px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.05)!important;overflow:hidden}\n.boot-client-lockup.premium::after{content:'';position:absolute;inset:auto -20% -70% auto;width:190px;height:190px;border-radius:50%;background:color-mix(in srgb,var(--accent) 13%,transparent);filter:blur(35px);pointer-events:none}\n.boot-client-logo{position:relative;z-index:1;width:70px!important;height:70px!important;border-radius:20px!important;background:linear-gradient(145deg,#fff,#eef0f4)!important;border:1px solid rgba(255,255,255,.88)!important;box-shadow:0 10px 30px rgba(0,0,0,.24),inset 0 0 0 1px rgba(0,0,0,.035)!important}\n.boot-client-logo img{width:82%!important;height:82%!important;object-fit:contain!important;filter:contrast(1.04)}\n.boot-copy{position:relative;z-index:1;min-width:0;flex:1;align-items:flex-start;text-align:right!important;gap:3px!important}\n.boot-organization-title{display:block;max-width:100%;font-size:10px!important;line-height:1.7;color:color-mix(in srgb,var(--accent) 78%,#fff 22%)!important;font-weight:650;white-space:normal}\n.boot-copy strong{font-size:20px!important;line-height:1.55!important;font-weight:850;letter-spacing:-.015em}\n.boot-project-meta{display:flex;align-items:center;gap:7px;margin-top:2px;color:rgba(255,255,255,.52);font-size:9.5px;font-weight:550}\n.boot-project-meta i{width:3px;height:3px;border-radius:50%;background:var(--accent);opacity:.85}\n.boot-copy #bootStatus{margin-top:3px;font-size:10px!important;color:rgba(255,255,255,.5)!important}\n.boot-progress{margin-top:-2px!important}\n.enter-tour-btn{box-shadow:0 16px 50px rgba(0,0,0,.22),0 0 0 1px rgba(255,255,255,.06)!important}\n.boot-footnote{font-size:9px!important;letter-spacing:.005em}\n.info-organization-title{display:block;margin-bottom:2px;font-size:9px;line-height:1.7;color:var(--accent);font-weight:700}\n.modal[open]~*{}\n@media(max-width:760px){\n  .boot-client-lockup.premium{width:min(350px,90vw)!important;padding:9px 10px!important;gap:10px!important;border-radius:19px!important}\n  .boot-client-logo{width:56px!important;height:56px!important;border-radius:17px!important}\n  .boot-organization-title{font-size:9px!important;line-height:1.55}\n  .boot-copy strong{font-size:17px!important}\n  .boot-project-meta{font-size:8.5px;gap:5px}\n  .boot-copy #bootStatus{font-size:9px!important}\n}\n@media(max-width:390px){\n  .boot-client-lockup.premium{width:min(330px,91vw)!important}\n  .boot-client-logo{width:52px!important;height:52px!important}\n  .boot-organization-title{font-size:8.5px!important}\n  .boot-copy strong{font-size:16px!important}\n}\n@media(max-height:650px) and (orientation:landscape){\n  .boot-client-lockup.premium{padding:6px 9px!important}.boot-client-logo{width:43px!important;height:43px!important;border-radius:13px!important}.boot-organization-title{font-size:8px!important}.boot-copy strong{font-size:14px!important}.boot-project-meta{display:none}.boot-copy #bootStatus{display:none!important}\n}\n

/* Tour360 v4.0 RC10 — presentation-ready information experience */
.modal::backdrop{background:rgba(3,5,9,.78)!important;backdrop-filter:blur(16px) saturate(.72)!important;-webkit-backdrop-filter:blur(16px) saturate(.72)!important}
.modal-card{width:min(760px,94vw)!important;max-height:min(90dvh,920px)!important;padding:12px!important;border-radius:30px!important;background:linear-gradient(180deg,rgba(16,20,29,.985),rgba(8,11,17,.992))!important;border:1px solid rgba(255,255,255,.115)!important;box-shadow:0 34px 120px rgba(0,0,0,.58),inset 0 1px rgba(255,255,255,.035)!important;scrollbar-gutter:stable}
.modal-close{left:18px!important;top:18px!important;width:38px!important;height:38px!important;border-radius:14px!important;background:rgba(5,8,13,.62)!important;border-color:rgba(255,255,255,.12)!important;backdrop-filter:blur(12px)!important}
.experience-info{--exp-surface:rgba(255,255,255,.038);--exp-surface-2:rgba(255,255,255,.057);--exp-line:rgba(255,255,255,.09);--exp-muted:rgba(255,255,255,.58);display:flex;flex-direction:column;gap:10px;font-family:"Vazirmatn","Vazir","Yekan Bakh",Tahoma,Arial,sans-serif;color:#fff}
.exp-hero{position:relative;overflow:hidden;padding:20px;border-radius:23px;background:radial-gradient(circle at 82% -18%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 40%),linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.022));border:1px solid rgba(255,255,255,.105)}
.exp-hero::after{content:'360';position:absolute;left:-18px;bottom:-54px;font-size:126px;line-height:1;font-weight:950;letter-spacing:-.08em;color:rgba(255,255,255,.018);pointer-events:none}
.exp-brand-row{position:relative;z-index:1;display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:14px;align-items:start}
.exp-client-logo{width:68px;height:68px;border-radius:19px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#fff,#e9edf3);box-shadow:0 12px 34px rgba(0,0,0,.24),inset 0 0 0 1px rgba(0,0,0,.045)}
.exp-client-logo img{width:84%;height:84%;object-fit:contain}.exp-client-logo.fallback{color:#111;font-size:12px;font-weight:900}
.exp-brand-copy{min-width:0}.exp-org{display:block;margin:1px 0 3px;color:color-mix(in srgb,var(--accent) 82%,#fff 18%);font-size:10.5px;font-weight:720;line-height:1.7}.exp-brand-copy h2{margin:0!important;font-size:23px!important;line-height:1.55!important;font-weight:900;letter-spacing:-.015em}.exp-brand-copy p{margin:6px 0 0!important;max-width:560px;font-size:12.5px!important;line-height:2!important;color:rgba(255,255,255,.68)!important}
.exp-360{font-size:10px;font-weight:900;border:1px solid color-mix(in srgb,var(--accent) 32%,rgba(255,255,255,.1));background:color-mix(in srgb,var(--accent) 10%,rgba(255,255,255,.035));color:color-mix(in srgb,var(--accent) 74%,#fff 26%);padding:6px 8px;border-radius:999px}
.exp-context{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:7px 10px;border-radius:999px;background:rgba(5,8,13,.5);border:1px solid rgba(255,255,255,.07);width:max-content;max-width:100%}.exp-context span{font-size:9px;color:var(--exp-muted)}.exp-context strong{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.exp-quickbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:7px}.exp-quick{min-height:48px;border:1px solid var(--exp-line);border-radius:15px;background:var(--exp-surface);color:#fff;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 11px;cursor:pointer;font:inherit;font-size:11px;font-weight:700;transition:.16s ease}.exp-quick svg{width:17px;height:17px;color:var(--accent)}.exp-quick:hover{transform:translateY(-1px);background:var(--exp-surface-2);border-color:color-mix(in srgb,var(--accent) 34%,var(--exp-line))}.exp-quick.primary{background:#fff;color:#10131a;border-color:#fff}.exp-quick.primary svg{color:#10131a}
.exp-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.exp-section{min-width:0;padding:14px;border:1px solid var(--exp-line);border-radius:19px;background:linear-gradient(145deg,rgba(255,255,255,.044),rgba(255,255,255,.022))}.exp-essentials,.exp-share{grid-column:1/-1}
.exp-section-head{display:flex;align-items:center;gap:9px;margin-bottom:11px}.exp-section-head>div{display:flex;flex-direction:column;gap:1px}.exp-section-head span{font-size:8.5px;color:var(--exp-muted)}.exp-section-head strong{font-size:12px;line-height:1.5}.exp-section-symbol{width:31px;height:31px;flex:0 0 31px;border-radius:10px;display:grid!important;place-items:center;background:color-mix(in srgb,var(--accent) 10%,rgba(255,255,255,.035));color:var(--accent)!important}.exp-section-symbol svg{width:16px;height:16px}
.exp-detail-list{display:flex;flex-direction:column;gap:5px}.exp-detail{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:56px;padding:8px 9px;border-radius:14px;background:rgba(4,7,12,.27);border:1px solid rgba(255,255,255,.055);color:#fff;text-decoration:none}.exp-detail-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.05);color:var(--accent)}.exp-detail-icon svg{width:18px;height:18px}.exp-detail>div{display:flex;flex-direction:column;gap:2px;min-width:0}.exp-detail small{font-size:8.5px;color:var(--exp-muted)}.exp-detail strong{font-size:11.5px;line-height:1.65;overflow-wrap:anywhere}.exp-detail-action{min-height:32px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.04);color:#fff;padding:6px 8px;display:flex;align-items:center;gap:5px;font:inherit;font-size:9px;cursor:pointer}.exp-detail-action svg{width:13px;height:13px}.exp-detail-action.passive{pointer-events:none;color:var(--exp-muted)}
.exp-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.exp-service{min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr) 16px;align-items:center;gap:8px;padding:8px;border-radius:14px;border:1px solid rgba(255,255,255,.065);background:rgba(4,7,12,.25);text-decoration:none;color:#fff}.exp-service>.ui-svg-icon{width:14px;height:14px;color:var(--exp-muted)}.exp-service>div{display:flex;flex-direction:column;min-width:0}.exp-service small{font-size:8px;color:var(--exp-muted)}.exp-service strong{font-size:11px}.exp-service .service-logo-shell{width:42px;height:42px;border-radius:12px}
.exp-social-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.exp-social{min-height:53px;display:flex;align-items:center;justify-content:center;gap:7px;padding:7px;border:1px solid rgba(255,255,255,.065);border-radius:13px;background:rgba(4,7,12,.25);color:#fff;text-decoration:none;font-size:10px;font-weight:720}.exp-social .service-logo-shell{width:31px;height:31px;border-radius:9px}.exp-link-list{display:flex;flex-direction:column;gap:5px;margin-top:7px}.exp-link{display:grid;grid-template-columns:34px minmax(0,1fr) 15px;align-items:center;gap:8px;padding:8px;border-radius:13px;background:rgba(4,7,12,.25);border:1px solid rgba(255,255,255,.055);color:#fff;text-decoration:none}.exp-link-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:var(--accent);background:rgba(255,255,255,.04)}.exp-link-icon svg{width:16px;height:16px}.exp-link div{display:flex;flex-direction:column}.exp-link small{font-size:8px;color:var(--exp-muted)}.exp-link strong{font-size:10.5px}.exp-link>.ui-svg-icon{width:13px;height:13px;color:var(--exp-muted)}
.exp-share-row{display:grid;grid-template-columns:1.3fr 1fr .62fr;gap:7px}.exp-share-btn{min-height:43px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.04);color:#fff;display:flex;align-items:center;justify-content:center;gap:7px;font:inherit;font-size:10.5px;font-weight:700;cursor:pointer}.exp-share-btn svg{width:15px;height:15px}.exp-share-btn.primary{background:#fff;color:#111318;border-color:#fff}
.exp-provider{position:relative;overflow:hidden;padding:14px;border-radius:19px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 12%,#141923),#0d1118);border:1px solid color-mix(in srgb,var(--accent) 25%,rgba(255,255,255,.08))}.exp-provider::after{content:'TOUR';position:absolute;left:-13px;bottom:-38px;font-size:78px;font-weight:950;color:rgba(255,255,255,.018);pointer-events:none}.exp-provider-brand{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.exp-provider-logo{width:45px;height:45px;border-radius:13px;background:#fff;display:grid;place-items:center;overflow:hidden}.exp-provider-logo img{width:86%;height:86%;object-fit:contain}.exp-provider-brand>div{display:flex;flex-direction:column;min-width:0}.exp-provider-brand small{font-size:8.5px;color:rgba(255,255,255,.52)}.exp-provider-brand strong{font-size:13px}.exp-provider-brand p{margin:2px 0 0!important;font-size:9.5px!important;line-height:1.7!important;color:rgba(255,255,255,.5)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exp-provider-mark{font-size:9px;font-weight:900;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);padding:5px 7px;border-radius:999px}.exp-provider-actions{position:relative;z-index:1;display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.exp-provider-cta{min-height:38px;padding:7px 10px;border-radius:11px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.04);color:#fff;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:6px;font-size:9.5px}.exp-provider-cta.primary{background:#fff;color:#111318;border-color:#fff}.exp-provider-cta svg{width:14px;height:14px}.exp-provider-cta>span{display:flex;flex-direction:column}.exp-provider-cta small{font-size:7.5px;opacity:.65}.exp-provider-cta strong{font-size:9px}
.exp-note{margin:0!important;padding:2px 12px 5px!important;text-align:center;font-size:9px!important;line-height:1.7!important;color:rgba(255,255,255,.38)!important}
.experience-info a:focus-visible,.experience-info button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,white 20%);outline-offset:2px}
@media(max-width:760px){.modal-card{width:100%!important;max-height:91dvh!important;border-radius:27px 27px 0 0!important;padding:10px 10px calc(14px + env(safe-area-inset-bottom))!important}.modal-card::before{margin:-2px auto 8px!important}.modal-close{top:12px!important;left:12px!important}.experience-info{gap:8px}.exp-hero{padding:14px;border-radius:20px}.exp-brand-row{grid-template-columns:55px minmax(0,1fr) auto;gap:10px}.exp-client-logo{width:55px;height:55px;border-radius:16px}.exp-org{font-size:8.5px}.exp-brand-copy h2{font-size:18px!important}.exp-brand-copy p{font-size:11px!important;line-height:1.85!important;margin-top:4px!important}.exp-360{font-size:8px;padding:5px 6px}.exp-context{margin-top:10px}.exp-quickbar{grid-template-columns:repeat(4,1fr);gap:5px}.exp-quick{min-height:48px;padding:6px 3px;flex-direction:column;gap:3px;font-size:9px;border-radius:13px}.exp-quick svg{width:16px;height:16px}.exp-layout{grid-template-columns:1fr;gap:7px}.exp-essentials,.exp-share{grid-column:auto}.exp-section{padding:11px;border-radius:17px}.exp-section-head{margin-bottom:8px}.exp-section-head strong{font-size:11px}.exp-detail{grid-template-columns:35px minmax(0,1fr) auto;min-height:52px;padding:7px}.exp-detail-icon{width:35px;height:35px}.exp-detail strong{font-size:10.5px}.exp-service-grid{grid-template-columns:1fr 1fr}.exp-service{grid-template-columns:38px minmax(0,1fr) 14px;padding:7px}.exp-service .service-logo-shell{width:38px;height:38px}.exp-social-grid{grid-template-columns:repeat(3,1fr)}.exp-share-row{grid-template-columns:1fr 1fr .62fr}.exp-provider{padding:11px}.exp-provider-logo{width:39px;height:39px}.exp-provider-actions{display:grid;grid-template-columns:1fr 1fr}.exp-provider-cta{min-width:0}.exp-provider-brand p{display:none}}
@media(max-width:390px){.exp-brand-row{grid-template-columns:50px minmax(0,1fr)}.exp-client-logo{width:50px;height:50px}.exp-360{display:none}.exp-brand-copy h2{font-size:17px!important}.exp-quickbar{grid-template-columns:repeat(2,1fr)}.exp-quick{flex-direction:row;font-size:9.5px}.exp-service-grid,.exp-social-grid{grid-template-columns:1fr}.exp-share-row{grid-template-columns:1fr 1fr}.exp-share-row #modalQr{grid-column:1/-1}.exp-provider-brand{grid-template-columns:auto 1fr}.exp-provider-mark{display:none}.exp-provider-actions{grid-template-columns:1fr}}
@media(max-height:650px) and (orientation:landscape){.modal-card{max-height:94dvh!important}.exp-hero{padding:10px}.exp-brand-row{grid-template-columns:43px 1fr auto}.exp-client-logo{width:43px;height:43px;border-radius:12px}.exp-brand-copy p{display:none}.exp-context{margin-top:7px}.exp-quick{min-height:40px}.exp-section{padding:9px}.exp-provider{padding:9px}}
@media(prefers-reduced-motion:reduce){.exp-quick{transition:none!important}.exp-quick:hover{transform:none!important}}

/* ======================================================================
   Tour360 v4.1 FINAL — presentation freeze / full-screen information UX
   ====================================================================== */
:root{
  --tour-copy-size:15px;
  --tour-small-size:12px;
  --tour-heading-size:26px;
}
body{font-family:"Vazirmatn","Vazir","Yekan Bakh","Segoe UI",Tahoma,Arial,sans-serif;font-size:16px}
.brand-copy strong{font-size:18px!important;font-weight:850}.brand-copy span{font-size:13px!important}
.scene-status span{font-size:11.5px!important}.scene-status strong{font-size:15px!important}
.scene-link{font-size:14px!important}.scene-index{font-size:11px!important}.rail-btn{font-size:13px!important}
.icon-btn,.round-btn{font-weight:700}.drawer-head strong{font-size:18px}.drawer-head .eyebrow,.scene-group{font-size:12px!important}

/* Client identity on first load: always readable, including mobile. */
.boot-client-lockup.premium{width:min(520px,91vw)!important;padding:14px 16px!important;gap:16px!important;border-radius:25px!important;background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.035))!important;border-color:rgba(255,255,255,.14)!important}
.boot-client-logo{width:78px!important;height:78px!important;border-radius:22px!important;background:linear-gradient(145deg,#fff,#eef1f6)!important}
.boot-organization-title{display:block!important;font-size:13px!important;line-height:1.75!important;font-weight:800!important;color:color-mix(in srgb,var(--accent) 82%,#fff 18%)!important;margin-bottom:1px!important}
.boot-copy strong{font-size:24px!important;line-height:1.5!important}.boot-project-meta{font-size:11.5px!important}.boot-copy #bootStatus{font-size:11.5px!important}
.boot-provider-lockup{padding:8px 11px!important}.boot-provider-copy small{font-size:10px!important}.boot-provider-copy strong{font-size:13px!important}

/* ----------------------------------------------------------------------
   Full-screen project information on desktop
   ---------------------------------------------------------------------- */
.modal.info-modal{width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;inset:0!important;background:transparent!important}
.modal.info-modal[open]{display:block}
.modal.info-modal::backdrop{background:rgba(2,4,8,.84)!important;backdrop-filter:blur(20px) saturate(.72)!important;-webkit-backdrop-filter:blur(20px) saturate(.72)!important}
.modal.info-modal .modal-card{width:100%!important;height:100dvh!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:
  radial-gradient(circle at 82% 8%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 30%),
  radial-gradient(circle at 8% 92%,rgba(255,255,255,.035),transparent 30%),
  linear-gradient(160deg,#111722 0,#080c13 54%,#06090e 100%)!important;overflow:auto!important;scrollbar-gutter:stable}
.modal.info-modal .modal-close{position:fixed!important;left:26px!important;top:24px!important;z-index:10;width:46px!important;height:46px!important;border-radius:16px!important;background:rgba(7,11,17,.82)!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:0 12px 40px rgba(0,0,0,.25)!important;font-size:25px!important}
.modal.info-modal #modalBody{min-height:100%}
.modal.info-modal .experience-info{width:min(1380px,calc(100% - 96px));min-height:100dvh;margin:0 auto;padding:56px 0 48px;gap:18px!important;color:#fff}

/* Hero is spacious and readable instead of a compact card. */
.modal.info-modal .exp-hero{padding:28px 30px!important;border-radius:30px!important;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025))!important;border:1px solid rgba(255,255,255,.10)!important;box-shadow:0 28px 90px rgba(0,0,0,.22)!important}
.modal.info-modal .exp-brand-row{grid-template-columns:94px minmax(0,1fr) auto!important;gap:22px!important;align-items:center!important}
.modal.info-modal .exp-client-logo{width:94px!important;height:94px!important;border-radius:26px!important;background:linear-gradient(145deg,#fff,#edf0f5)!important;box-shadow:0 18px 55px rgba(0,0,0,.30),inset 0 0 0 1px rgba(0,0,0,.04)!important}
.modal.info-modal .exp-org{font-size:13.5px!important;line-height:1.9!important;font-weight:800!important;margin-bottom:2px!important}
.modal.info-modal .exp-brand-copy h2{font-size:34px!important;line-height:1.45!important;font-weight:950!important;letter-spacing:-.025em!important}
.modal.info-modal .exp-brand-copy p{font-size:16px!important;line-height:2.05!important;max-width:900px!important;color:rgba(255,255,255,.72)!important;margin-top:8px!important}
.modal.info-modal .exp-360{font-size:13px!important;padding:8px 11px!important}
.modal.info-modal .exp-context{margin-top:18px!important;padding-top:15px!important}.modal.info-modal .exp-context span{font-size:12px!important}.modal.info-modal .exp-context strong{font-size:14.5px!important}

/* Large quick actions — only actions that exist are rendered. */
.modal.info-modal .exp-quickbar{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;gap:10px!important}
.modal.info-modal .exp-quick{min-height:62px!important;border-radius:18px!important;padding:11px 15px!important;font-size:14px!important;gap:9px!important}.modal.info-modal .exp-quick svg{width:21px!important;height:21px!important}

/* Bento layout; auto-flow prevents blank phone / website holes. */
.modal.info-modal .exp-layout{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:14px!important;align-items:start!important}
.modal.info-modal .exp-section{padding:19px!important;border-radius:23px!important;background:rgba(255,255,255,.035)!important;border:1px solid rgba(255,255,255,.085)!important}
.modal.info-modal .exp-section-head{margin-bottom:14px!important}.modal.info-modal .exp-section-head>div>span{font-size:11px!important}.modal.info-modal .exp-section-head strong{font-size:16px!important}.modal.info-modal .exp-section-symbol{width:42px!important;height:42px!important}.modal.info-modal .exp-section-symbol svg{width:20px!important;height:20px!important}
.modal.info-modal .exp-essentials{grid-column:span 7!important}.modal.info-modal #expRoute{grid-column:span 5!important}.modal.info-modal .exp-layout>.exp-section:not(.exp-essentials):not(#expRoute):not(.exp-share){grid-column:span 5!important}.modal.info-modal .exp-share{grid-column:span 7!important}
.modal.info-modal .exp-detail-list{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))!important;gap:9px!important}
.modal.info-modal .exp-detail{min-height:68px!important;padding:10px 11px!important;border-radius:17px!important;grid-template-columns:44px minmax(0,1fr) auto!important;gap:11px!important}.modal.info-modal .exp-detail-icon{width:44px!important;height:44px!important;border-radius:14px!important}.modal.info-modal .exp-detail small{font-size:10.5px!important}.modal.info-modal .exp-detail strong{font-size:13.5px!important;line-height:1.8!important}.modal.info-modal .exp-detail-action{font-size:11px!important}
.modal.info-modal .exp-service-grid{gap:9px!important}.modal.info-modal .exp-service{min-height:68px!important;border-radius:17px!important;padding:10px!important}.modal.info-modal .exp-service .service-logo-shell{width:44px!important;height:44px!important}.modal.info-modal .exp-service small{font-size:10px!important}.modal.info-modal .exp-service strong{font-size:14px!important}
.modal.info-modal .exp-social{min-height:62px!important;border-radius:17px!important;font-size:13px!important}.modal.info-modal .exp-link{min-height:60px!important}.modal.info-modal .exp-link small{font-size:10px!important}.modal.info-modal .exp-link strong{font-size:13px!important}
.modal.info-modal .exp-share-btn{min-height:52px!important;border-radius:15px!important;font-size:13px!important}

/* Provider becomes a real promotional signature instead of a tiny footer. */
.exp-provider-premium{position:relative!important;overflow:hidden!important;padding:27px 28px!important;border-radius:30px!important;background:
  radial-gradient(circle at 86% 18%,color-mix(in srgb,var(--accent) 26%,transparent),transparent 31%),
  linear-gradient(125deg,#17202d,#0c1119 65%)!important;border:1px solid color-mix(in srgb,var(--accent) 31%,rgba(255,255,255,.12))!important;box-shadow:0 24px 80px rgba(0,0,0,.28)!important}
.exp-provider-aura{position:absolute;left:-80px;bottom:-120px;width:330px;height:330px;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,transparent);filter:blur(25px);pointer-events:none}
.exp-provider-top{position:relative;z-index:1;display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:18px;align-items:center}
.exp-provider-premium .exp-provider-logo{width:76px!important;height:76px!important;border-radius:21px!important;background:#fff!important;box-shadow:0 16px 45px rgba(0,0,0,.30)!important}.exp-provider-premium .exp-provider-logo img{width:88%!important;height:88%!important;object-fit:contain!important}
.exp-provider-message{min-width:0}.exp-provider-message>small{display:block;font-size:11px!important;color:color-mix(in srgb,var(--accent) 82%,#fff 18%)!important;font-weight:750!important;margin-bottom:2px}.exp-provider-message h3{margin:0!important;font-size:24px!important;line-height:1.55!important;font-weight:900!important;letter-spacing:-.018em}.exp-provider-message p{margin:6px 0 7px!important;font-size:13.5px!important;line-height:1.95!important;color:rgba(255,255,255,.63)!important;max-width:760px}.exp-provider-credit{font-size:11.5px;color:rgba(255,255,255,.48)}.exp-provider-credit strong{color:#fff;font-size:12px}
.exp-provider-orbit{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 42%,transparent);box-shadow:inset 0 0 0 8px color-mix(in srgb,var(--accent) 7%,transparent);color:var(--accent);font-size:12px;font-weight:900}
.exp-provider-premium .exp-provider-actions{position:relative;z-index:1;display:flex!important;gap:9px!important;flex-wrap:wrap!important;margin-top:20px!important}.exp-provider-premium .exp-provider-cta{min-height:48px!important;padding:10px 14px!important;border-radius:15px!important;font-size:12px!important}.exp-provider-premium .exp-provider-cta svg{width:17px!important;height:17px!important}.exp-provider-premium .exp-provider-cta small{font-size:9px!important}.exp-provider-premium .exp-provider-cta strong{font-size:11px!important}
.modal.info-modal .exp-note{font-size:12px!important;text-align:center!important;color:rgba(255,255,255,.44)!important;margin:2px 0 0!important}

/* Focus / keyboard accessibility. */
.modal.info-modal a:focus-visible,.modal.info-modal button:focus-visible,.drawer button:focus-visible,.topbar button:focus-visible,.bottom-ui button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 78%,#fff 22%)!important;outline-offset:3px!important}

/* Mobile: immersive bottom sheet, larger typography, no desktop bento assumptions. */
@media(max-width:760px){
  body{font-size:15px}
  .brand-copy strong{font-size:16px!important}.brand-copy span{font-size:12px!important}
  .scene-status strong{font-size:14px!important}.scene-status span{font-size:10.5px!important}
  .boot-client-lockup.premium{width:min(390px,92vw)!important;padding:12px!important;gap:12px!important;border-radius:22px!important}
  .boot-client-logo{width:64px!important;height:64px!important;border-radius:19px!important}
  .boot-organization-title{display:block!important;visibility:visible!important;opacity:1!important;font-size:11.5px!important;line-height:1.7!important;font-weight:850!important;white-space:normal!important;overflow:visible!important}
  .boot-copy strong{font-size:19px!important}.boot-project-meta{font-size:9.5px!important}.boot-copy #bootStatus{font-size:10px!important}
  .boot-provider-copy small{font-size:9px!important}.boot-provider-copy strong{font-size:11.5px!important}

  .modal.info-modal{width:100vw!important;height:100dvh!important;max-height:none!important;margin:0!important;inset:0!important}
  .modal.info-modal[open]{display:flex!important;align-items:flex-end!important;justify-content:center!important}
  .modal.info-modal .modal-card{width:100%!important;height:auto!important;max-height:95dvh!important;margin:0!important;border-radius:30px 30px 0 0!important;border:1px solid rgba(255,255,255,.10)!important;border-bottom:0!important;padding:0!important;background:linear-gradient(180deg,#121823,#080c12)!important;overflow:auto!important}
  .modal.info-modal .modal-card::before{content:'';display:block;width:42px;height:4px;border-radius:99px;background:rgba(255,255,255,.25);margin:9px auto 0}
  .modal.info-modal .modal-close{position:sticky!important;float:left!important;left:auto!important;top:10px!important;margin:0 0 -46px 10px!important;width:42px!important;height:42px!important;border-radius:14px!important;z-index:20!important}
  .modal.info-modal .experience-info{width:100%!important;min-height:0!important;padding:15px 12px calc(22px + env(safe-area-inset-bottom))!important;gap:10px!important}
  .modal.info-modal .exp-hero{padding:16px!important;border-radius:22px!important}
  .modal.info-modal .exp-brand-row{grid-template-columns:62px minmax(0,1fr)!important;gap:11px!important;align-items:center!important}.modal.info-modal .exp-client-logo{width:62px!important;height:62px!important;border-radius:18px!important}.modal.info-modal .exp-360{display:none!important}
  .modal.info-modal .exp-org{font-size:10.5px!important;line-height:1.7!important}.modal.info-modal .exp-brand-copy h2{font-size:21px!important;line-height:1.5!important}.modal.info-modal .exp-brand-copy p{font-size:13px!important;line-height:1.9!important;margin-top:5px!important}
  .modal.info-modal .exp-context{margin-top:12px!important;padding-top:11px!important}.modal.info-modal .exp-context span{font-size:10.5px!important}.modal.info-modal .exp-context strong{font-size:12.5px!important}
  .modal.info-modal .exp-quickbar{grid-template-columns:repeat(2,1fr)!important;gap:7px!important}.modal.info-modal .exp-quick{min-height:52px!important;border-radius:15px!important;padding:8px 9px!important;font-size:12.5px!important}.modal.info-modal .exp-quick svg{width:18px!important;height:18px!important}
  .modal.info-modal .exp-layout{display:flex!important;flex-direction:column!important;gap:8px!important}.modal.info-modal .exp-section{width:100%!important;padding:13px!important;border-radius:18px!important}.modal.info-modal .exp-section-head{margin-bottom:10px!important}.modal.info-modal .exp-section-head strong{font-size:13.5px!important}.modal.info-modal .exp-section-symbol{width:36px!important;height:36px!important}
  .modal.info-modal .exp-detail-list{grid-template-columns:1fr!important;gap:7px!important}.modal.info-modal .exp-detail{min-height:58px!important;grid-template-columns:39px minmax(0,1fr) auto!important;padding:8px!important;border-radius:15px!important}.modal.info-modal .exp-detail-icon{width:39px!important;height:39px!important}.modal.info-modal .exp-detail small{font-size:9.5px!important}.modal.info-modal .exp-detail strong{font-size:12px!important}
  .modal.info-modal .exp-service-grid{grid-template-columns:1fr 1fr!important}.modal.info-modal .exp-service{min-height:60px!important;padding:8px!important}.modal.info-modal .exp-service .service-logo-shell{width:39px!important;height:39px!important}.modal.info-modal .exp-social-grid{grid-template-columns:repeat(3,1fr)!important}.modal.info-modal .exp-share-row{grid-template-columns:1fr 1fr!important}.modal.info-modal .exp-share-row #modalQr{grid-column:1/-1!important}
  .exp-provider-premium{padding:18px 15px!important;border-radius:22px!important}.exp-provider-top{grid-template-columns:58px minmax(0,1fr)!important;gap:11px!important}.exp-provider-premium .exp-provider-logo{width:58px!important;height:58px!important;border-radius:17px!important}.exp-provider-orbit{display:none!important}.exp-provider-message>small{font-size:9.5px!important}.exp-provider-message h3{font-size:17.5px!important;line-height:1.55!important}.exp-provider-message p{font-size:11.5px!important;line-height:1.8!important;margin:4px 0 6px!important}.exp-provider-credit{font-size:10px!important}.exp-provider-premium .exp-provider-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;margin-top:13px!important}.exp-provider-premium .exp-provider-cta{min-width:0!important;min-height:45px!important;padding:8px!important;font-size:11px!important}
  .modal.info-modal .exp-note{font-size:10px!important;line-height:1.8!important}
}

@media(max-width:390px){
  .boot-organization-title{font-size:10.5px!important}.boot-copy strong{font-size:18px!important}
  .modal.info-modal .exp-service-grid,.modal.info-modal .exp-social-grid{grid-template-columns:1fr!important}
  .exp-provider-premium .exp-provider-actions{grid-template-columns:1fr!important}
}

@media(max-height:560px) and (orientation:landscape){
  .boot-organization-title{display:block!important;font-size:9px!important}.boot-client-lockup.premium{padding:6px 9px!important}.boot-client-logo{width:46px!important;height:46px!important}.boot-copy strong{font-size:15px!important}
  .modal.info-modal .modal-card{max-height:100dvh!important;border-radius:0!important}.modal.info-modal .experience-info{padding-top:10px!important}
}

@media(prefers-reduced-motion:reduce){
  .modal.info-modal *{scroll-behavior:auto!important}.exp-provider-aura{display:none!important}
}


/* ======================================================================
   Tour360 v4.2 FINAL — presentation-grade project information
   Fewer surfaces, stronger hierarchy, larger Persian typography.
   ====================================================================== */
.toast{
  position:fixed!important;z-index:2147483647!important;left:50%!important;right:auto!important;
  top:24px!important;bottom:auto!important;transform:translate(-50%,-12px)!important;
  min-width:min(360px,calc(100vw - 32px));max-width:min(560px,calc(100vw - 32px));
  padding:13px 18px!important;border-radius:16px!important;
  background:rgba(250,250,252,.97)!important;color:#11151c!important;
  border:1px solid rgba(0,0,0,.06)!important;box-shadow:0 18px 60px rgba(0,0,0,.32)!important;
  font-size:14px!important;font-weight:850!important;line-height:1.7!important;text-align:center!important;
  backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;
  opacity:0!important;pointer-events:none!important;transition:opacity .18s ease,transform .18s ease!important
}
.toast.show{opacity:1!important;transform:translate(-50%,0)!important}

.modal.info-modal .modal-card{
  background:
    radial-gradient(circle at 86% 6%,color-mix(in srgb,var(--accent) 11%,transparent),transparent 30%),
    radial-gradient(circle at 6% 92%,rgba(120,133,160,.08),transparent 34%),
    linear-gradient(155deg,#111722 0%,#090e16 47%,#060a10 100%)!important
}
.modal.info-modal #modalBody{min-height:100%!important}

.tour-info-v42{
  width:min(1280px,calc(100% - 88px));min-height:100dvh;margin:0 auto;
  padding:58px 0 44px;color:#f7f8fb;font-family:var(--tour-font);
  display:flex;flex-direction:column;gap:16px
}
.ti-hero{
  position:relative;overflow:hidden;padding:30px 32px;border-radius:32px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
  box-shadow:0 28px 90px rgba(0,0,0,.25)
}
.ti-hero-glow{
  position:absolute;inset:-80px -80px auto auto;width:360px;height:360px;border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--accent) 22%,transparent),transparent 66%);
  pointer-events:none;filter:blur(5px)
}
.ti-brand-lockup{position:relative;z-index:1;display:grid;grid-template-columns:104px minmax(0,1fr) auto;gap:24px;align-items:center}
.ti-client-logo{
  width:104px;height:104px;border-radius:28px;display:grid;place-items:center;overflow:hidden;
  background:linear-gradient(145deg,#fff,#edf0f5);box-shadow:0 18px 55px rgba(0,0,0,.30),inset 0 0 0 1px rgba(0,0,0,.04)
}
.ti-client-logo img{width:88%;height:88%;object-fit:contain}.ti-client-logo.fallback{color:#111;font-weight:950}
.ti-brand-copy{min-width:0}.ti-org{
  display:block;color:color-mix(in srgb,var(--accent) 82%,#fff 18%);font-size:14px;font-weight:850;line-height:1.9;margin-bottom:2px
}
.ti-brand-copy h1{margin:0;font-size:38px;line-height:1.42;font-weight:950;letter-spacing:-.025em}
.ti-brand-copy p{margin:8px 0 0;max-width:900px;font-size:16.5px;line-height:2;color:rgba(255,255,255,.73)}
.ti-current{
  display:inline-flex;align-items:center;gap:9px;margin-top:16px;padding:8px 12px;border-radius:999px;
  background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.08)
}
.ti-current span{font-size:12px;color:rgba(255,255,255,.52)}.ti-current strong{font-size:14px}
.ti-hero-360{
  align-self:start;margin-top:4px;padding:8px 11px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 36%,rgba(255,255,255,.10));
  background:rgba(0,0,0,.22);color:var(--accent);font-size:13px;font-weight:900
}

.ti-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ti-action{
  min-height:68px;padding:11px 15px;border:1px solid rgba(255,255,255,.09);border-radius:20px;
  background:rgba(255,255,255,.037);color:#fff;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:11px;
  font:inherit;cursor:pointer;text-align:right;transition:transform .17s ease,background .17s ease,border-color .17s ease
}
.ti-action:hover{transform:translateY(-2px);background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16)}
.ti-action.primary{background:#f7f7f8;color:#11151c;border-color:transparent}
.ti-action svg{width:22px;height:22px;flex:0 0 auto}.ti-action span{display:flex;flex-direction:column}.ti-action small{font-size:11.5px;opacity:.62}.ti-action strong{font-size:14.5px;line-height:1.65}

.ti-main-surface{
  display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);border:1px solid rgba(255,255,255,.09);
  border-radius:30px;background:rgba(255,255,255,.03);overflow:hidden
}
.ti-main-surface>.ti-pane:only-child{grid-column:1/-1}
.ti-pane{padding:26px 28px;min-width:0}.ti-pane+.ti-pane{border-right:1px solid rgba(255,255,255,.08)}
.ti-pane-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}
.ti-pane-head>div>small{display:block;font-size:12px;color:color-mix(in srgb,var(--accent) 80%,#fff 20%);font-weight:800;margin-bottom:2px}
.ti-pane-head h2{margin:0!important;font-size:21px!important;line-height:1.55!important;font-weight:900!important}
.ti-pane-head>span{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.05);color:var(--accent)}
.ti-pane-head>span svg{width:21px;height:21px}
.ti-contact-list{display:flex;flex-direction:column}
.ti-contact-row{
  min-height:74px;display:grid;grid-template-columns:48px minmax(0,1fr) 40px;gap:12px;align-items:center;
  padding:12px 2px;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.075)
}
.ti-contact-row:last-child{border-bottom:0}
.ti-contact-icon,.ti-mini-action{
  width:42px;height:42px;border-radius:14px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.085);background:rgba(255,255,255,.045);color:var(--accent)
}
.ti-mini-action{cursor:pointer;font:inherit}.ti-mini-action.passive{color:rgba(255,255,255,.58)}.ti-mini-action svg,.ti-contact-icon svg{width:19px;height:19px}
.ti-contact-copy{min-width:0}.ti-contact-copy small{display:block;font-size:11.5px;color:rgba(255,255,255,.48);margin-bottom:2px}
.ti-contact-copy strong{display:block;font-size:15px;line-height:1.9;font-weight:780;overflow-wrap:anywhere}
.ti-route-block{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.075)}
.ti-subhead{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.ti-subhead span{font-size:12px;color:rgba(255,255,255,.5)}.ti-subhead strong{font-size:14px}
.ti-route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.ti-service-btn{
  min-height:68px;display:grid;grid-template-columns:48px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:9px 11px;
  border-radius:18px;border:1px solid rgba(255,255,255,.085);background:rgba(255,255,255,.035);color:#fff;text-decoration:none
}
.ti-service-btn:hover{background:rgba(255,255,255,.065)}
.ti-service-btn .service-logo-shell{width:48px;height:48px;border-radius:14px}.ti-service-btn>span:not(.service-logo-shell){display:flex;flex-direction:column}
.ti-service-btn small{font-size:10.5px;color:rgba(255,255,255,.46)}.ti-service-btn strong{font-size:15px}.ti-service-btn>svg{width:16px;height:16px;color:rgba(255,255,255,.48)}

.ti-social-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.ti-social-btn{
  min-height:70px;border:1px solid rgba(255,255,255,.085);border-radius:18px;background:rgba(255,255,255,.035);
  color:#fff;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:9px;padding:9px
}
.ti-social-btn:hover{background:rgba(255,255,255,.065)}.ti-social-btn .service-logo-shell{width:44px;height:44px;border-radius:13px}.ti-social-btn strong{font-size:14px}
.ti-direct-list{display:flex;flex-direction:column;gap:7px;margin-top:10px}
.ti-direct-link{
  min-height:60px;display:grid;grid-template-columns:40px minmax(0,1fr) 18px;gap:10px;align-items:center;
  padding:8px 10px;border-radius:16px;border:1px solid rgba(255,255,255,.075);background:rgba(255,255,255,.025);color:#fff;text-decoration:none
}
.ti-direct-link>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.05);color:var(--accent)}
.ti-direct-link small{font-size:10.5px;color:rgba(255,255,255,.45)}.ti-direct-link strong{font-size:14px}.ti-direct-link>svg{width:16px;height:16px;color:rgba(255,255,255,.42)}
.ti-share-inline{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.075);display:flex;align-items:center;justify-content:space-between;gap:16px}
.ti-share-inline>div:first-child{display:flex;flex-direction:column}.ti-share-inline small,.ti-share-only small{font-size:11px;color:rgba(255,255,255,.48)}.ti-share-inline strong,.ti-share-only strong{font-size:14.5px}
.ti-share-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.ti-share-btn{
  min-height:44px;padding:8px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04);
  color:#fff;font:inherit;font-size:12.5px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer
}
.ti-share-btn.primary{background:#f7f7f8;color:#11151c;border-color:transparent}.ti-share-btn.compact{min-width:58px}.ti-share-btn svg{width:17px;height:17px}
.ti-share-only{padding:22px 24px;border-radius:24px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.03);display:flex;align-items:center;justify-content:space-between;gap:18px}

.ti-provider{
  position:relative;overflow:hidden;padding:29px 30px;border-radius:32px;
  border:1px solid color-mix(in srgb,var(--accent) 30%,rgba(255,255,255,.10));
  background:
    radial-gradient(circle at 90% 15%,color-mix(in srgb,var(--accent) 25%,transparent),transparent 28%),
    linear-gradient(125deg,#182230 0%,#0d131c 68%);
  box-shadow:0 26px 85px rgba(0,0,0,.28)
}
.ti-provider-beam{position:absolute;inset:auto -8% -120px auto;width:430px;height:260px;transform:rotate(-10deg);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 12%,transparent),transparent);filter:blur(10px);pointer-events:none}
.ti-provider-core{position:relative;z-index:1;display:grid;grid-template-columns:88px minmax(0,1fr) 72px;gap:20px;align-items:center}
.ti-provider-logo{width:88px;height:88px;border-radius:24px;display:grid;place-items:center;background:#fff;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.30)}
.ti-provider-logo img{width:88%;height:88%;object-fit:contain}
.ti-provider-copy{min-width:0}.ti-provider-kicker{display:block;font-size:12px;color:color-mix(in srgb,var(--accent) 84%,#fff 16%);font-weight:850;margin-bottom:3px}
.ti-provider-copy h2{margin:0!important;font-size:27px!important;line-height:1.5!important;font-weight:950!important}
.ti-provider-copy p{margin:6px 0 8px!important;max-width:800px;font-size:14.5px!important;line-height:1.95!important;color:rgba(255,255,255,.66)!important}
.ti-provider-credit{font-size:12px;color:rgba(255,255,255,.48)}.ti-provider-credit strong{color:#fff;font-size:13px}
.ti-provider-orbit{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 42%,transparent);box-shadow:inset 0 0 0 9px color-mix(in srgb,var(--accent) 7%,transparent);color:var(--accent);font-size:13px;font-weight:950}
.ti-provider-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.ti-provider-cta{
  min-height:50px;padding:9px 14px;border-radius:15px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);
  color:#fff;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12.5px;font-weight:750
}
.ti-provider-cta.primary{background:var(--accent);color:#111;border-color:transparent}.ti-provider-cta svg{width:18px;height:18px}.ti-provider-cta span{display:flex;flex-direction:column}.ti-provider-cta small{font-size:9.5px;opacity:.72}.ti-provider-cta strong{font-size:12px}
.ti-note{margin:0!important;text-align:center;font-size:12px!important;line-height:1.9!important;color:rgba(255,255,255,.42)!important}

.ti-qr-modal{width:min(520px,calc(100vw - 32px));margin:8vh auto 0;text-align:center;padding:28px}.ti-qr-modal h2{font-size:26px!important}.ti-qr-modal p{font-size:14px!important}

@media(max-width:900px){
  .tour-info-v42{width:min(100% - 38px,900px);padding-top:52px}
  .ti-brand-lockup{grid-template-columns:84px minmax(0,1fr) auto;gap:17px}.ti-client-logo{width:84px;height:84px;border-radius:23px}
  .ti-brand-copy h1{font-size:31px}.ti-brand-copy p{font-size:15px}
  .ti-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ti-main-surface{grid-template-columns:1fr}.ti-pane+.ti-pane{border-right:0;border-top:1px solid rgba(255,255,255,.08)}
}
@media(max-width:760px){
  .toast{top:calc(12px + env(safe-area-inset-top))!important;min-width:auto!important;width:calc(100vw - 28px)!important;font-size:13px!important;padding:11px 13px!important}
  .modal.info-modal .modal-card{max-height:96dvh!important}
  .tour-info-v42{width:100%;min-height:0;padding:15px 12px calc(24px + env(safe-area-inset-bottom));gap:10px}
  .ti-hero{padding:16px;border-radius:23px}.ti-brand-lockup{grid-template-columns:64px minmax(0,1fr);gap:12px}.ti-client-logo{width:64px;height:64px;border-radius:18px}.ti-hero-360{display:none}
  .ti-org{font-size:11px;line-height:1.7}.ti-brand-copy h1{font-size:22px;line-height:1.5}.ti-brand-copy p{font-size:14px;line-height:1.85;margin-top:5px}.ti-current{margin-top:10px;padding:6px 9px}.ti-current span{font-size:10.5px}.ti-current strong{font-size:12px}
  .ti-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ti-action{min-height:56px;padding:8px 10px;border-radius:16px;gap:8px}.ti-action svg{width:18px;height:18px}.ti-action small{font-size:9.5px}.ti-action strong{font-size:12.5px}
  .ti-main-surface{display:block;border-radius:22px}.ti-pane{padding:15px}.ti-pane+.ti-pane{border-top:1px solid rgba(255,255,255,.08)}
  .ti-pane-head{margin-bottom:10px}.ti-pane-head>div>small{font-size:10.5px}.ti-pane-head h2{font-size:16px!important}.ti-pane-head>span{width:38px;height:38px;border-radius:13px}
  .ti-contact-row{min-height:62px;grid-template-columns:40px minmax(0,1fr) 36px;gap:9px;padding:9px 0}.ti-contact-icon,.ti-mini-action{width:36px;height:36px;border-radius:12px}.ti-contact-copy small{font-size:10px}.ti-contact-copy strong{font-size:13px;line-height:1.8}
  .ti-route-block{margin-top:12px;padding-top:12px}.ti-route-grid{grid-template-columns:1fr 1fr;gap:7px}.ti-service-btn{min-height:58px;grid-template-columns:40px minmax(0,1fr) 14px;gap:7px;padding:7px;border-radius:15px}.ti-service-btn .service-logo-shell{width:40px;height:40px}.ti-service-btn small{font-size:9px}.ti-service-btn strong{font-size:13px}
  .ti-social-grid{gap:7px}.ti-social-btn{min-height:58px;border-radius:15px;gap:6px;padding:6px}.ti-social-btn .service-logo-shell{width:38px;height:38px}.ti-social-btn strong{font-size:12px}
  .ti-direct-link{min-height:54px;grid-template-columns:36px minmax(0,1fr) 15px;padding:7px;border-radius:14px}.ti-direct-link>span{width:34px;height:34px}.ti-direct-link small{font-size:9px}.ti-direct-link strong{font-size:12px}
  .ti-share-inline{flex-direction:column;align-items:stretch;margin-top:12px;padding-top:12px;gap:9px}.ti-share-inline small{font-size:10px}.ti-share-inline strong{font-size:13px}.ti-share-actions{display:grid;grid-template-columns:1fr 1fr .65fr;gap:6px}.ti-share-btn{min-height:44px;padding:7px;font-size:11.5px}
  .ti-provider{padding:18px 15px;border-radius:23px}.ti-provider-core{grid-template-columns:62px minmax(0,1fr);gap:11px}.ti-provider-logo{width:62px;height:62px;border-radius:18px}.ti-provider-orbit{display:none}.ti-provider-kicker{font-size:10px}.ti-provider-copy h2{font-size:19px!important}.ti-provider-copy p{font-size:12px!important;line-height:1.8!important}.ti-provider-credit{font-size:10px}.ti-provider-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:13px}.ti-provider-cta{min-height:46px;padding:8px;font-size:11px}
  .ti-note{font-size:10.5px!important}
}
@media(max-width:390px){
  .ti-actions{grid-template-columns:1fr 1fr}
  .ti-social-grid{grid-template-columns:1fr}
  .ti-route-grid{grid-template-columns:1fr}
  .ti-share-actions{grid-template-columns:1fr 1fr}.ti-share-actions .compact{grid-column:1/-1}
  .ti-provider-actions{grid-template-columns:1fr}
}

/* Tour360 WhiteLabel v2.1 — scalable scene rail + Navigation Hotspot Studio */
.scene-rail{
  min-width:0;max-width:100%;overflow-x:auto!important;overflow-y:hidden!important;
  touch-action:pan-x!important;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
  scroll-behavior:smooth;scroll-snap-type:x proximity;cursor:grab;user-select:none;-webkit-user-select:none;
  scrollbar-width:none;mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%);
}
.scene-rail.dragging{cursor:grabbing;scroll-behavior:auto}
.scene-rail .rail-btn{scroll-snap-align:center;user-select:none;-webkit-user-select:none}
.bottom-ui>*{min-width:0}

/* Scene icon is now data-driven. Old hard-coded arrow pseudo elements are disabled. */
.tour360-hotspot-button.scene .tour360-hotspot-icon{display:grid!important;place-items:center!important;width:auto!important;height:auto!important;font-size:22px!important;font-weight:900;line-height:1!important;transform:none!important}
.tour360-hotspot-button.scene .tour360-hotspot-icon::before,
.tour360-hotspot-button.scene .tour360-hotspot-icon::after{display:none!important;content:none!important}
.tour360-hotspot-button.scene.nav-style-circle{border-radius:50%}
.tour360-hotspot-button.scene.nav-style-floor{
  width:66px!important;height:38px!important;border-radius:50% 50% 15px 15px/58% 58% 30% 30%!important;
  background:linear-gradient(180deg,rgba(14,18,26,.78),rgba(8,11,17,.88))!important;
  border-color:color-mix(in srgb,var(--accent) 45%,rgba(255,255,255,.55))!important;
  box-shadow:0 10px 26px rgba(0,0,0,.38),0 0 0 3px color-mix(in srgb,var(--accent) 9%,transparent)!important;
}
.tour360-hotspot-button.scene.nav-style-floor::before{inset:-5px -8px!important;border-radius:50%!important;opacity:.65}
.tour360-hotspot-button.scene.nav-style-floor .tour360-hotspot-icon{font-size:24px!important;transform:translateY(-1px)!important}
.tour360-hotspot-button.scene.nav-style-portal{
  width:44px!important;height:52px!important;border-radius:15px 15px 9px 9px!important;
  border-width:2px!important;border-bottom-color:color-mix(in srgb,var(--accent) 60%,#fff)!important;
  background:linear-gradient(180deg,rgba(15,19,28,.9),rgba(8,11,17,.72))!important;
}
.tour360-hotspot-button.scene.nav-style-portal::before{inset:-5px!important;border-radius:18px 18px 11px 11px!important}
.tour360-hotspot-button.scene.nav-style-marker{width:43px!important;height:43px!important;border-radius:50% 50% 50% 12px!important;transform:translate(-50%,-58%) rotate(-45deg)!important}
.tour360-hotspot-button.scene.nav-style-marker .tour360-hotspot-icon{transform:rotate(45deg)!important;font-size:19px!important}
.tour360-hotspot-button.scene.nav-style-marker:hover,.tour360-hotspot-button.scene.nav-style-marker:focus-visible{transform:translate(-50%,-58%) rotate(-45deg) scale(1.08)!important}
.tour360-hotspot-button.scene.nav-style-compact{width:36px!important;height:36px!important;border-radius:12px!important;background:rgba(7,10,15,.76)!important}
.tour360-hotspot-button.scene.nav-style-compact .tour360-hotspot-icon{font-size:17px!important}

.navigation-studio{display:flex;flex-direction:column;gap:10px}
.nav-coordinate-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.035)}
.nav-coordinate-card>div{display:flex;flex-direction:column;gap:3px;min-width:0}.nav-coordinate-card small{font-size:9px;color:var(--muted)}.nav-coordinate-card strong{font-size:11px;direction:ltr;text-align:left;white-space:nowrap}.nav-coordinate-card button{padding:8px 10px;min-height:36px}
.nav-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.nav-editor-grid label{display:flex;flex-direction:column;gap:5px;font-size:10px;color:var(--muted)}.nav-editor-grid .content-wide{grid-column:1/-1}
.nav-editor-grid input{width:100%;min-height:42px;border-radius:12px;border:1px solid var(--line);background:#090c12;color:#fff;padding:8px 10px;font:inherit;font-size:12px;outline:none}.nav-editor-grid input:focus{border-color:color-mix(in srgb,var(--accent) 60%,#fff 10%);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}
.nav-style-preview{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.02))}.nav-style-preview>div{display:flex;flex-direction:column;gap:2px}.nav-style-preview small{font-size:9px;color:var(--muted)}.nav-style-preview strong{font-size:11px}
.nav-preview-hotspot,.nav-list-icon{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border:1px solid rgba(255,255,255,.55);background:rgba(8,11,17,.86);color:#fff;box-shadow:0 7px 20px rgba(0,0,0,.25);font-weight:900}.nav-preview-hotspot.nav-style-circle,.nav-list-icon.nav-style-circle{border-radius:50%}.nav-preview-hotspot.nav-style-floor,.nav-list-icon.nav-style-floor{width:55px;height:32px;border-radius:50% 50% 12px 12px/58% 58% 30% 30%}.nav-preview-hotspot.nav-style-portal,.nav-list-icon.nav-style-portal{width:34px;height:42px;border-radius:11px 11px 7px 7px;border-width:2px}.nav-preview-hotspot.nav-style-marker,.nav-list-icon.nav-style-marker{border-radius:50% 50% 50% 10px;transform:rotate(-45deg)}.nav-preview-hotspot.nav-style-marker b,.nav-list-icon.nav-style-marker{font-style:normal}.nav-preview-hotspot.nav-style-marker b{transform:rotate(45deg)}.nav-preview-hotspot.nav-style-compact,.nav-list-icon.nav-style-compact{width:34px;height:34px;border-radius:10px}
.navigation-hotspot-list{display:flex;flex-direction:column;gap:6px}.navigation-hotspot-item{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}.navigation-hotspot-item>div:nth-child(2){display:flex;flex-direction:column;min-width:0;gap:2px}.navigation-hotspot-item strong{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navigation-hotspot-item small{font-size:8.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navigation-hotspot-item .nav-list-icon{font-size:16px}

@media(max-width:760px){
  .bottom-ui{grid-template-rows:auto auto!important}
  .scene-status{display:none!important}
  .scene-rail{display:flex!important;grid-column:1/-1!important;grid-row:1!important;width:100%!important;max-width:none!important;padding:2px 1px 7px!important;gap:6px!important;mask-image:linear-gradient(90deg,transparent 0,#000 9px,#000 calc(100% - 9px),transparent 100%)}
  .scene-rail .rail-btn{font-size:11px!important;padding:8px 11px!important;border-radius:12px!important;min-height:38px;background:rgba(9,12,18,.76)!important;backdrop-filter:blur(10px)}
  .mobile-scenes-btn{grid-column:1!important;grid-row:2!important}
  .controls{grid-column:2!important;grid-row:2!important}
  .tour360-hotspot-button.scene .tour360-hotspot-icon{font-size:18px!important}
  .tour360-hotspot-button.scene.nav-style-floor{width:50px!important;height:30px!important}.tour360-hotspot-button.scene.nav-style-floor .tour360-hotspot-icon{font-size:19px!important}
  .tour360-hotspot-button.scene.nav-style-portal{width:34px!important;height:42px!important}.tour360-hotspot-button.scene.nav-style-marker{width:34px!important;height:34px!important}.tour360-hotspot-button.scene.nav-style-compact{width:30px!important;height:30px!important}
  .nav-editor-grid{grid-template-columns:1fr}.nav-editor-grid .content-wide{grid-column:auto}.navigation-hotspot-item{grid-template-columns:50px minmax(0,1fr)}.navigation-hotspot-item .info-hotspot-item-actions{grid-column:1/-1;justify-content:flex-end}.navigation-hotspot-item small{white-space:normal;line-height:1.6}
}
@media(max-width:420px){
  .scene-rail .rail-btn{font-size:10.5px!important;padding:8px 10px!important}
  .bottom-ui{bottom:calc(6px + var(--safe-b))!important}
}

/* v2.1: keep the mobile editor clear of the now-visible two-row scene rail. */
@media(max-width:760px) and (orientation:portrait){
  .editor-panel{bottom:calc(126px + var(--safe-b))!important;max-height:min(54dvh,520px)!important}
}


/* Tour360 WhiteLabel v2.2 — reliable scene buttons + optional scene menu + background music */
.scene-rail[hidden],.mobile-scenes-btn[hidden],#btnMenu[hidden],#btnOpenMenuFromSetup[hidden],.music-control[hidden]{display:none!important}
.scene-menu-disabled .scene-rail,.scene-menu-disabled .mobile-scenes-btn,.scene-menu-disabled #btnMenu{display:none!important}
.scene-menu-disabled .bottom-ui{grid-template-columns:auto 1fr!important}
.scene-menu-disabled .controls{justify-self:end}
.music-control{
  position:absolute;z-index:13;left:calc(16px + var(--safe-l));bottom:calc(88px + var(--safe-b));
  display:flex;align-items:center;gap:8px;max-width:min(310px,calc(100vw - 32px));padding:7px 9px;
  border:1px solid var(--line);border-radius:16px;background:rgba(8,11,17,.76);backdrop-filter:blur(16px);
  box-shadow:0 12px 34px rgba(0,0,0,.24);transition:opacity var(--chrome-transition),transform var(--chrome-transition)
}
.tour-app.ui-hidden .music-control{opacity:0;transform:translateY(12px);pointer-events:none}
.music-mute-btn{width:36px;height:36px;flex:0 0 36px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);color:#fff;display:grid;place-items:center;font:700 16px/1 inherit;cursor:pointer}
.music-mute-btn:hover{background:rgba(255,255,255,.14)}
.music-slider-wrap{display:grid;grid-template-columns:minmax(70px,125px) minmax(75px,130px);align-items:center;gap:8px;min-width:0}
.music-slider-wrap small{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.music-slider-wrap input{width:100%;accent-color:var(--accent);cursor:pointer}
@media(max-width:760px){
  .music-control{left:calc(8px + var(--safe-l));bottom:calc(126px + var(--safe-b));padding:6px 7px;border-radius:14px;gap:6px;max-width:210px}
  .music-mute-btn{width:34px;height:34px;flex-basis:34px;border-radius:11px}
  .music-slider-wrap{grid-template-columns:1fr;gap:2px;width:145px}.music-slider-wrap small{font-size:9px}.music-slider-wrap input{height:16px}
  .scene-menu-disabled .bottom-ui{grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto!important}
  .scene-menu-disabled .scene-status{display:flex!important;grid-column:1!important;grid-row:1!important;min-width:0;padding:8px 10px}
  .scene-menu-disabled .scene-status strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .scene-menu-disabled .controls{grid-column:2!important;grid-row:1!important}
  .scene-menu-disabled .music-control{bottom:calc(74px + var(--safe-b))}
}
@media(max-width:390px){.music-control{max-width:188px}.music-slider-wrap{width:124px}}


/* Tour360 v2.3 — Guided Tour / Autoplay Scenario */
.guided-launch-btn{position:absolute;z-index:13;right:calc(16px + var(--safe-r,0px));bottom:calc(88px + var(--safe-b));display:flex;align-items:center;gap:9px;border:1px solid color-mix(in srgb,var(--accent) 55%,rgba(255,255,255,.35));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 18%,rgba(10,12,18,.92)),rgba(10,12,18,.88));color:#fff;padding:8px 11px 8px 9px;border-radius:17px;backdrop-filter:blur(18px);box-shadow:0 14px 40px rgba(0,0,0,.3);cursor:pointer;transition:.2s ease;font-family:inherit}.guided-launch-btn:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 82%,#fff)}.guided-launch-btn[hidden]{display:none!important}.guided-launch-icon{width:35px;height:35px;border-radius:12px;display:grid;place-items:center;background:var(--accent);color:#111;font-size:13px;box-shadow:0 7px 22px color-mix(in srgb,var(--accent) 22%,transparent)}.guided-launch-btn>span:last-child{display:flex;flex-direction:column;align-items:flex-start;line-height:1.3}.guided-launch-btn small{font-size:8.5px;color:rgba(255,255,255,.58)}.guided-launch-btn strong{font-size:11.5px;margin-top:2px}
.guided-controls{position:absolute;z-index:35;left:50%;bottom:calc(88px + var(--safe-b));transform:translateX(-50%);display:grid;grid-template-columns:38px 44px 38px minmax(140px,260px) 38px;align-items:center;gap:6px;padding:7px;border:1px solid rgba(255,255,255,.14);background:rgba(7,10,15,.9);backdrop-filter:blur(22px);border-radius:18px;box-shadow:0 18px 55px rgba(0,0,0,.42)}.guided-controls[hidden]{display:none!important}.guided-controls button{width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.055);color:#fff;cursor:pointer;font:700 20px/1 inherit}.guided-controls .guided-main-control{width:44px;background:var(--accent);color:#111;border-color:transparent}.guided-progress-copy{min-width:0;padding:0 6px;display:flex;flex-direction:column}.guided-progress-copy small{font-size:8.5px;color:rgba(255,255,255,.52);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guided-progress-copy strong{font-size:10.5px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.guided-caption{position:absolute;z-index:34;left:50%;width:min(680px,calc(100vw - 32px));transform:translateX(-50%);pointer-events:none;display:flex;justify-content:center}.guided-caption[hidden]{display:none!important}.guided-caption[data-placement="bottom"]{bottom:calc(160px + var(--safe-b))}.guided-caption[data-placement="center"]{top:50%;transform:translate(-50%,-50%)}.guided-caption[data-placement="top"]{top:100px}.guided-caption>div{max-width:100%;padding:13px 18px;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:rgba(6,9,14,.82);backdrop-filter:blur(18px);box-shadow:0 16px 50px rgba(0,0,0,.38);font-size:15px;font-weight:750;line-height:2;text-align:center;animation:guidedCaptionIn .3s ease both}@keyframes guidedCaptionIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.guided-cinematic-cover{position:absolute;z-index:70;inset:0;background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--accent) 14%,#101621),#030509 72%);display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .45s ease}.guided-cinematic-cover[hidden]{display:none!important}.guided-cinematic-cover.show{opacity:1}.guided-cinematic-cover>div{display:grid;place-items:center;gap:6px;transform:scale(.88);transition:transform .6s cubic-bezier(.2,.8,.2,1)}.guided-cinematic-cover.show>div{transform:scale(1)}.guided-cinematic-cover span{font-size:52px;font-weight:950;letter-spacing:-.05em;color:var(--accent);text-shadow:0 0 60px color-mix(in srgb,var(--accent) 40%,transparent)}.guided-cinematic-cover small{font-size:11px;color:rgba(255,255,255,.58)}
.tour-app.guided-running .scene-rail,.tour-app.guided-running .mobile-scenes-btn,.tour-app.guided-running #btnMenu{opacity:.45}.tour-app.guided-running .guided-launch-btn{display:none!important}

.guided-editor-panel{position:absolute;z-index:48;top:14px;left:14px;bottom:14px;width:min(460px,calc(100vw - 28px));overflow:auto;background:rgba(8,11,17,.95);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(28px);border-radius:22px;padding:14px;box-shadow:0 24px 80px rgba(0,0,0,.5);direction:rtl}.guided-editor-panel[hidden]{display:none!important}.guided-editor-head{position:sticky;top:-14px;z-index:3;margin:-14px -14px 12px;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,rgba(8,11,17,.99),rgba(8,11,17,.93));border-bottom:1px solid rgba(255,255,255,.08);border-radius:22px 22px 0 0}.guided-editor-head>div{display:flex;align-items:center;gap:8px}.guided-editor-head>div>div{display:flex;flex-direction:column}.guided-editor-head strong{font-size:12px}.guided-editor-head small{font-size:8.5px;color:var(--muted);margin-top:2px}.guided-scenario-bar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;align-items:end}.guided-scenario-bar label,.guided-scenario-meta label,.guided-builder label{display:flex;flex-direction:column;gap:5px;font-size:9px;color:var(--muted)}.guided-scenario-bar select,.guided-scenario-meta input,.guided-builder input,.guided-builder select,.guided-builder textarea{width:100%;min-height:38px;border:1px solid rgba(255,255,255,.1);background:#0b0f16;color:#fff;border-radius:11px;padding:8px;font:10.5px inherit;outline:none}.guided-builder textarea{resize:vertical}.guided-scenario-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.guided-wide{grid-column:1/-1}.guided-editor-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0}.guided-editor-toolbar #btnResetGuidedDraft{grid-column:1/-1}.ghost-btn.danger{color:#ffb4b4;border-color:rgba(255,120,120,.25)}.guided-builder{border:1px solid rgba(255,255,255,.1);border-radius:17px;padding:11px;background:rgba(255,255,255,.025)}.guided-builder-head,.guided-timeline-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.guided-builder-head>div,.guided-timeline-head>div{display:flex;flex-direction:column;gap:2px}.guided-builder-head small,.guided-timeline-head small{font-size:8.5px;color:var(--muted)}.guided-step-fields{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.guided-step-fields[hidden]{display:none!important}.guided-current-view{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:11px;background:rgba(255,255,255,.04);font-size:9px;color:var(--muted)}.guided-current-view strong{font-size:9px;color:#fff;direction:ltr}.guided-editor-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}.guided-timeline-head{margin-top:14px}.guided-timeline{display:flex;flex-direction:column;gap:6px}.guided-step-item{display:grid;grid-template-columns:35px minmax(0,1fr) auto;gap:7px;align-items:center;padding:7px;border-radius:13px;border:1px solid rgba(255,255,255,.075);background:rgba(255,255,255,.025)}.guided-step-index{width:35px;height:35px;border-radius:11px;background:rgba(255,255,255,.055);display:grid;place-items:center;font-size:10px;font-weight:900;color:var(--accent)}.guided-step-copy{display:flex;flex-direction:column;min-width:0}.guided-step-copy strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guided-step-copy small{font-size:8px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guided-step-actions{display:flex;gap:3px;flex-wrap:wrap;justify-content:flex-end}.guided-step-actions button{border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035);color:#fff;border-radius:8px;min-width:27px;height:27px;padding:0 6px;cursor:pointer;font:9px inherit}.guided-step-actions button:hover{background:rgba(255,255,255,.1)}
@media(max-width:760px){.guided-launch-btn{right:8px;bottom:calc(126px + var(--safe-b));padding:6px 8px}.guided-launch-icon{width:32px;height:32px}.guided-launch-btn small{display:none}.guided-controls{bottom:calc(126px + var(--safe-b));grid-template-columns:35px 40px 35px minmax(90px,1fr) 35px;width:min(360px,calc(100vw - 16px));gap:4px;padding:6px}.guided-controls button{width:35px;height:35px}.guided-controls .guided-main-control{width:40px}.guided-caption[data-placement="bottom"]{bottom:calc(185px + var(--safe-b))}.guided-caption>div{font-size:13px;line-height:1.9;padding:11px 14px}.guided-editor-panel{inset:8px;width:auto;border-radius:18px}.guided-scenario-meta,.guided-step-fields{grid-template-columns:1fr}.guided-wide{grid-column:auto}.guided-scenario-bar{grid-template-columns:1fr 1fr}.guided-scenario-bar label{grid-column:1/-1}.guided-editor-toolbar{grid-template-columns:1fr}.guided-editor-toolbar #btnResetGuidedDraft{grid-column:auto}.guided-step-item{grid-template-columns:32px minmax(0,1fr)}.guided-step-actions{grid-column:1/-1}.guided-cinematic-cover span{font-size:44px}}
@media(prefers-reduced-motion:reduce){.guided-caption>div,.guided-cinematic-cover,.guided-cinematic-cover>div{animation:none!important;transition:none!important}}
.tour-app.guided-running .scene-rail,.tour-app.guided-running .mobile-scenes-btn,.tour-app.guided-running #btnMenu{pointer-events:none}
.guided-tour-choice-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}.guided-tour-choice-list button{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;text-align:right}.guided-tour-choice-list button>span{width:32px;height:32px;border-radius:10px;background:var(--accent);color:#111;display:grid;place-items:center}.guided-tour-choice-list button strong{font-size:12px}.guided-tour-choice-list button small{font-size:9px;color:var(--muted)}

/* ==========================================================================\n   ANSU Viewer Design System — Generator v2.5.0\n   Space First · Quiet Technology · Explore Beyond\n   ========================================================================== */
:root{
  --ansu-midnight:#0B1020;
  --ansu-deep:#111827;
  --ansu-surface:#171E2E;
  --ansu-soft:#232B3D;
  --ansu-border:#344054;
  --ansu-electric:#5B6CFF;
  --ansu-cyan:#39D5FF;
  --ansu-violet:#8B5CF6;
  --ansu-text:#F7F8FA;
  --ansu-secondary:#AAB2C0;
  --ansu-muted:#737D8C;
  --bg:var(--ansu-midnight);
  --glass:rgba(11,16,32,.74);
  --glass-strong:rgba(11,16,32,.94);
  --line:rgba(170,178,192,.22);
  --text:var(--ansu-text);
  --muted:var(--ansu-secondary);
  --accent:#5B6CFF;
  --accent-text:#F7F8FA;
  --radius:16px;
}
html{background:var(--ansu-midnight)}
body{
  background:var(--ansu-midnight);
  color:var(--ansu-text);
  font-family:"Vazirmatn","Inter","Segoe UI",Tahoma,Arial,sans-serif;
  font-size:16px;
  font-feature-settings:"ss01" 1,"tnum" 1;
  letter-spacing:-.005em;
}
button,input,select,textarea{font:inherit}
.panorama{background:radial-gradient(circle at 50% 40%,#1a2340 0,var(--ansu-midnight) 72%)}
.vignette{background:linear-gradient(180deg,rgba(2,5,14,.58),transparent 24%,transparent 58%,rgba(3,6,15,.78))}

/* Quiet, readable floating chrome */
.topbar{padding:20px 22px;gap:18px}.brand{gap:12px}.brand-mark{width:50px;height:50px;border-radius:14px;background:linear-gradient(145deg,rgba(23,30,46,.86),rgba(11,16,32,.72));border:1px solid rgba(91,108,255,.25);box-shadow:0 12px 40px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.05)}
.brand-mark.has-logo{background:rgba(247,248,250,.96);border-color:rgba(255,255,255,.65)}.brand-mark img{padding:7px;object-fit:contain}
.brand-copy strong{font-size:18px!important;line-height:1.55;font-weight:800;letter-spacing:-.02em}.brand-copy span{font-size:13px!important;line-height:1.6;color:rgba(247,248,250,.7)}
.icon-btn,.round-btn{border-color:rgba(170,178,192,.22);background:rgba(11,16,32,.72);box-shadow:0 10px 32px rgba(0,0,0,.16);transition:transform .22s cubic-bezier(.2,.8,.2,1),background .22s,border-color .22s}
.icon-btn{width:48px;height:48px;border-radius:12px;font-size:19px}.round-btn{width:46px;height:46px;font-size:20px}
.icon-btn:hover,.round-btn:hover,.ghost-btn:hover{background:rgba(35,43,61,.9);border-color:rgba(91,108,255,.5);transform:translateY(-1px)}
.icon-btn:focus-visible,.round-btn:focus-visible,.primary-btn:focus-visible,.ghost-btn:focus-visible,.rail-btn:focus-visible{outline:2px solid var(--ansu-cyan);outline-offset:3px}

/* Bottom navigation is readable but does not dominate the panorama. */
.bottom-ui{right:18px;left:18px;bottom:calc(16px + var(--safe-b));gap:10px;grid-template-columns:auto auto minmax(0,1fr)}
.scene-status{min-width:170px;border-radius:14px;padding:11px 14px;background:rgba(11,16,32,.78);border-color:rgba(170,178,192,.2);box-shadow:0 16px 46px rgba(0,0,0,.2)}
.scene-status span{font-size:12px!important}.scene-status strong{font-size:15px!important;font-weight:750}
.scene-rail{gap:8px;padding:3px 2px 5px;scroll-snap-type:x proximity;overscroll-behavior-inline:contain}
.rail-btn{scroll-snap-align:center;min-height:46px;border-radius:12px;padding:10px 16px!important;font-size:14px!important;font-weight:650;background:rgba(11,16,32,.75);border-color:rgba(170,178,192,.2)}
.rail-btn:hover{background:rgba(35,43,61,.92);border-color:rgba(91,108,255,.42)}
.rail-btn.active{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 74%,var(--ansu-violet)));color:var(--accent-text);border-color:transparent;box-shadow:0 10px 34px color-mix(in srgb,var(--accent) 22%,transparent)}
.mobile-scenes-btn{min-height:50px;border-radius:14px}

/* ANSU hotspot DNA: portal ring + quiet pulse. */
.tour360-hotspot-button{background:rgba(11,16,32,.7)!important;border-color:rgba(247,248,250,.78)!important;box-shadow:0 10px 32px rgba(0,0,0,.28),0 0 0 4px rgba(91,108,255,.11)!important}
.tour360-hotspot-button::before{border-color:color-mix(in srgb,var(--accent) 46%,transparent)!important;animation-duration:2.6s!important}
.tour360-hotspot-button:hover,.tour360-hotspot-button:focus-visible{background:var(--accent)!important;color:var(--accent-text)!important;border-color:rgba(255,255,255,.85)!important;box-shadow:0 12px 38px rgba(0,0,0,.32),0 0 0 6px color-mix(in srgb,var(--accent) 18%,transparent)!important}
.tour360-hotspot-button .hotspot-label{font-size:13px!important;padding:8px 11px!important;border-radius:10px!important;background:rgba(11,16,32,.94)!important;border-color:rgba(170,178,192,.22)!important}
.nav-hotspot-style-floor .tour360-hotspot-button,.tour360-hotspot-button.nav-floor{box-shadow:0 7px 24px rgba(0,0,0,.26),0 0 0 5px rgba(57,213,255,.09)!important}

/* ANSU boot / opening-a-space loader. Client identity remains the hero. */
.boot-loader{background:
  radial-gradient(circle at 50% 34%,rgba(91,108,255,.16),transparent 30%),
  radial-gradient(circle at 28% 68%,rgba(57,213,255,.08),transparent 28%),
  radial-gradient(circle at 74% 72%,rgba(139,92,246,.09),transparent 30%),
  linear-gradient(160deg,#080c18 0,var(--ansu-midnight) 55%,#070b16 100%)!important}
.boot-loader::before{width:72vmin!important;height:72vmin!important;border-color:rgba(91,108,255,.13)!important;box-shadow:0 0 180px rgba(91,108,255,.08) inset!important}
.boot-loader::after{content:'';position:absolute;inset:12%;border:1px solid rgba(57,213,255,.035);border-radius:50%;transform:perspective(600px) rotateX(72deg);pointer-events:none}
.boot-loader-inner{width:min(470px,90vw)!important;gap:15px!important}
.boot-provider-lockup{min-width:188px!important;padding:8px 11px!important;border-radius:12px!important;background:rgba(17,24,39,.58)!important;border-color:rgba(91,108,255,.18)!important;box-shadow:none!important}
.loader-logo-shell{width:94px!important;height:34px!important;border-radius:9px!important;background:transparent!important;border:0!important;box-shadow:none!important}.loader-logo-shell img{width:100%!important;height:100%!important;padding:0!important;object-fit:contain!important}
.boot-provider-copy{border-right:1px solid rgba(170,178,192,.18);padding-right:10px}.boot-provider-copy small{font-size:9px!important;color:var(--ansu-secondary)!important}.boot-provider-copy strong{font-family:"Inter","Vazirmatn",sans-serif;font-size:12px!important;letter-spacing:.06em;color:var(--ansu-text)}
.planet-stage{filter:drop-shadow(0 24px 55px rgba(0,0,0,.3))}.planet-orbit-ring{border-color:rgba(91,108,255,.16)!important}.orbit-b{border-color:rgba(57,213,255,.11)!important}
.boot-orbit{border-color:rgba(91,108,255,.22)!important;background:rgba(11,16,32,.58)!important}.boot-orbit::before{border-top-color:var(--ansu-cyan)!important;border-right-color:var(--ansu-electric)!important}
.boot-orbit span{color:var(--ansu-text)}
.boot-client-lockup.premium{width:min(480px,92vw)!important;padding:14px 15px!important;gap:14px!important;border-radius:16px!important;background:linear-gradient(145deg,rgba(23,30,46,.88),rgba(17,24,39,.68))!important;border-color:rgba(170,178,192,.18)!important;box-shadow:0 20px 70px rgba(0,0,0,.28)!important}
.boot-client-lockup.premium::after{background:radial-gradient(circle,rgba(91,108,255,.18),rgba(57,213,255,.04) 50%,transparent 72%)!important}
.boot-client-logo{width:76px!important;height:76px!important;border-radius:14px!important;background:#F7F8FA!important}.boot-client-logo img{width:84%!important;height:84%!important}
.boot-organization-title{font-size:12px!important;line-height:1.75!important;color:color-mix(in srgb,var(--accent) 68%,#fff)!important;font-weight:650!important}.boot-copy strong{font-size:24px!important;line-height:1.5!important;font-weight:850!important}.boot-project-meta{font-size:11px!important;color:var(--ansu-secondary)!important}.boot-copy #bootStatus{font-size:11px!important;color:rgba(247,248,250,.58)!important}
.boot-progress{height:2px!important;background:rgba(170,178,192,.13)!important}.boot-progress i{background:linear-gradient(90deg,var(--ansu-electric),var(--ansu-violet),var(--ansu-cyan))!important}
.enter-tour-btn{min-height:68px!important;border-radius:14px!important;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 72%,var(--ansu-violet)))!important;color:var(--accent-text)!important;border-color:rgba(255,255,255,.16)!important;box-shadow:0 18px 55px color-mix(in srgb,var(--accent) 22%,transparent)!important}.enter-tour-btn:hover{transform:translateY(-2px) scale(1.005)!important}.enter-tour-icon{border-radius:11px!important;background:rgba(11,16,32,.28)!important;color:#fff!important}.enter-tour-copy strong{font-size:17px!important}.enter-tour-copy small{font-size:11px!important;color:rgba(255,255,255,.76)!important}.boot-footnote{font-size:10px!important;color:rgba(170,178,192,.72)!important}

/* Loader / scene transition follows ANSU Motion Identity: glide, blur -> sharp, portal. */
.scene-loader{top:82px!important}.scene-loader-card{border-radius:13px!important;background:rgba(11,16,32,.86)!important;border-color:rgba(91,108,255,.2)!important;padding:9px 12px!important}.scene-loader-card strong{font-size:13px!important}.scene-loader-progress i{background:linear-gradient(90deg,var(--ansu-electric),var(--ansu-cyan))!important}
.scene-fx{z-index:9;background:transparent;mix-blend-mode:normal}.scene-fx::before{inset:-22%!important;background:radial-gradient(circle at 50% 50%,transparent 0 28%,rgba(57,213,255,.04) 36%,rgba(91,108,255,.15) 43%,rgba(11,16,32,.62) 66%,rgba(5,8,18,.82) 100%)!important;filter:blur(1px)}
.scene-fx::after{content:attr(data-title);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.96);min-width:180px;text-align:center;color:rgba(247,248,250,.88);font-size:15px;font-weight:750;letter-spacing:-.01em;opacity:0;text-shadow:0 4px 30px #000}
.scene-fx.play[data-mode="portal"]{animation:ansuPortalShell .94s cubic-bezier(.2,.8,.2,1) both}.scene-fx.play[data-mode="portal"]::before{animation:ansuPortalLens .94s cubic-bezier(.2,.8,.2,1) both}.scene-fx.play[data-mode="portal"]::after{animation:ansuPortalTitle .94s ease both}
.scene-fx.play[data-mode="cinematic"]{animation:ansuGlideShell .76s ease both}.scene-fx.play[data-mode="cinematic"]::before{animation:ansuGlideLens .76s cubic-bezier(.2,.8,.2,1) both}
@keyframes ansuPortalShell{0%{opacity:0}22%{opacity:1}58%{opacity:1}100%{opacity:0}}@keyframes ansuPortalLens{0%{opacity:0;transform:scale(.62)}38%{opacity:1;transform:scale(.94)}70%{opacity:.72;transform:scale(1.08)}100%{opacity:0;transform:scale(1.34)}}@keyframes ansuPortalTitle{0%,18%{opacity:0;filter:blur(7px);transform:translate(-50%,-50%) scale(.97)}38%,58%{opacity:.92;filter:blur(0);transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-54%) scale(1.015)}}
@keyframes ansuGlideShell{0%{opacity:0}35%{opacity:.72}100%{opacity:0}}@keyframes ansuGlideLens{0%{opacity:0;transform:scale(.8)}45%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(1.2)}}

/* Drawer / panels */
.drawer{width:min(420px,94vw);background:rgba(11,16,32,.95);border-color:rgba(170,178,192,.18);padding:24px;box-shadow:-30px 0 80px rgba(0,0,0,.32)}.drawer-head strong{font-size:20px}.eyebrow{font-family:"Inter","Vazirmatn",sans-serif;font-size:11px!important;letter-spacing:.1em;color:color-mix(in srgb,var(--accent) 72%,#fff)}
.scene-group{font-size:12px!important}.scene-link{min-height:52px;font-size:15px!important;border-radius:12px!important}.scene-link.active{background:rgba(91,108,255,.12)!important;border-color:rgba(91,108,255,.26)!important;box-shadow:inset -3px 0 0 var(--accent)!important}.scene-index{font-size:12px!important}

/* Full-screen information experience re-skinned to ANSU, while client remains first. */
.modal.info-modal[open]{background:rgba(7,11,23,.98)!important}.modal.info-modal .modal-card{background:linear-gradient(160deg,#0B1020,#0E1528)!important;color:var(--ansu-text)!important}.tour-info-v42{color:var(--ansu-text)}
.ti-hero,.ti-main-surface,.ti-share-only,.ti-provider{border-color:rgba(170,178,192,.16)!important;background:linear-gradient(145deg,rgba(23,30,46,.72),rgba(17,24,39,.56))!important}.ti-hero-glow{background:radial-gradient(circle,var(--accent),transparent 66%)!important;opacity:.12!important}.ti-org,.ti-provider-kicker{color:color-mix(in srgb,var(--accent) 70%,#fff)!important}.ti-brand-copy h1{font-size:clamp(30px,3vw,46px)!important;line-height:1.45!important;letter-spacing:-.025em}.ti-brand-copy p{font-size:16px!important;line-height:2!important;color:var(--ansu-secondary)!important}.ti-action,.ti-share-btn,.ti-service-btn,.ti-social-btn,.ti-direct-link,.ti-contact-row{border-color:rgba(170,178,192,.15)!important;background:rgba(11,16,32,.5)!important}.ti-action.primary,.ti-share-btn.primary,.ti-provider-cta.primary{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 72%,var(--ansu-violet)))!important;color:var(--accent-text)!important;border-color:transparent!important}.ti-provider{overflow:hidden;background:linear-gradient(135deg,rgba(11,16,32,.94),rgba(18,24,47,.96))!important;border-color:rgba(91,108,255,.28)!important}.ti-provider::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 15% 35%,rgba(57,213,255,.08),transparent 32%),radial-gradient(circle at 84% 20%,rgba(139,92,246,.12),transparent 30%);pointer-events:none}.ti-provider-logo{width:132px!important;height:58px!important;border-radius:10px!important;background:transparent!important;border:0!important}.ti-provider-logo img{width:100%!important;height:100%!important;object-fit:contain!important;padding:0!important}.ti-provider-copy h2{font-size:26px!important;line-height:1.55!important}.ti-provider-copy p{font-size:14px!important;line-height:1.9!important;color:var(--ansu-secondary)!important}.ti-provider-credit{font-family:"Inter","Vazirmatn",sans-serif;color:var(--ansu-secondary)!important}.ti-provider-orbit{color:var(--ansu-electric)!important;border-color:rgba(91,108,255,.24)!important}

/* Powered by ANSU is deliberately subtle and removable with provider.enabled=false. */
.provider-signature{position:absolute;z-index:13;left:calc(18px + env(safe-area-inset-left,0px));bottom:calc(88px + var(--safe-b));display:flex;align-items:center;gap:6px;text-decoration:none;padding:7px 9px;border-radius:9px;background:rgba(11,16,32,.52);border:1px solid rgba(170,178,192,.12);backdrop-filter:blur(14px);color:rgba(247,248,250,.62);transition:.2s ease}.provider-signature[hidden]{display:none!important}.provider-signature span{font:500 9px/1.2 "Inter","Vazirmatn",sans-serif}.provider-signature strong{font:750 11px/1 "Inter","Vazirmatn",sans-serif;letter-spacing:.08em;color:rgba(247,248,250,.9)}.provider-signature:hover{color:#fff;border-color:rgba(91,108,255,.36);background:rgba(17,24,39,.8)}

/* Music control: one surface for normal or guided soundtrack. */
.music-control{border-radius:12px!important;background:rgba(11,16,32,.78)!important;border-color:rgba(170,178,192,.16)!important;box-shadow:0 14px 42px rgba(0,0,0,.24)!important}.music-mute-btn{background:rgba(91,108,255,.12)!important;border-color:rgba(91,108,255,.2)!important;color:#fff!important}.music-slider-wrap small{font-size:11px!important;color:var(--ansu-secondary)!important}.music-slider-wrap input{accent-color:var(--accent)}

/* Guided Tour 2 */
.guided-launch-btn{right:calc(18px + var(--safe-r,0px));bottom:calc(88px + var(--safe-b));border-radius:13px!important;padding:8px 10px!important;background:linear-gradient(135deg,rgba(19,27,51,.94),rgba(11,16,32,.9))!important;border-color:rgba(91,108,255,.4)!important;box-shadow:0 16px 48px rgba(0,0,0,.28),0 0 34px rgba(91,108,255,.08)!important}.guided-launch-icon{border-radius:10px!important;background:linear-gradient(135deg,var(--accent),var(--ansu-violet))!important;color:#fff!important}.guided-launch-btn small{font-size:10px!important}.guided-launch-btn strong{font-size:13px!important}
.guided-controls{bottom:calc(88px + var(--safe-b));border-radius:14px!important;background:rgba(11,16,32,.92)!important;border-color:rgba(170,178,192,.17)!important}.guided-controls button{border-radius:10px!important;background:rgba(35,43,61,.58)!important}.guided-controls .guided-main-control{background:var(--accent)!important;color:#fff!important}.guided-progress-copy small{font-size:10px!important}.guided-progress-copy strong{font-size:12px!important}
.guided-caption>div{border-radius:14px!important;background:rgba(11,16,32,.88)!important;border-color:rgba(91,108,255,.22)!important;font-size:17px!important;line-height:1.9!important;padding:14px 20px!important;box-shadow:0 18px 60px rgba(0,0,0,.34),0 0 40px rgba(91,108,255,.08)!important}
.guided-cinematic-cover{background:radial-gradient(circle at 50% 45%,rgba(91,108,255,.18),var(--ansu-midnight) 54%,#050914 90%)!important}.guided-cinematic-cover span{font-family:"Inter",sans-serif;color:var(--ansu-electric)!important}.guided-cinematic-cover small{font-size:12px!important;color:var(--ansu-secondary)!important}
.guided-editor-panel{width:min(520px,calc(100vw - 28px))!important;background:rgba(11,16,32,.97)!important;border-color:rgba(170,178,192,.18)!important;border-radius:16px!important;padding:16px!important}.guided-editor-head{background:linear-gradient(180deg,rgba(11,16,32,.995),rgba(11,16,32,.94))!important;border-radius:16px 16px 0 0!important}.guided-editor-head strong{font-size:15px!important}.guided-editor-head small{font-size:10px!important}.guided-scenario-bar label,.guided-scenario-meta label,.guided-builder label,.guided-soundtrack-card label{font-size:11px!important;color:var(--ansu-secondary)!important}.guided-scenario-bar select,.guided-scenario-meta input,.guided-builder input,.guided-builder select,.guided-builder textarea,.guided-soundtrack-card input,.guided-soundtrack-card select{min-height:44px!important;border-radius:10px!important;background:#0D1426!important;border-color:rgba(170,178,192,.16)!important;font-size:12px!important;color:#fff!important}.guided-builder{border-radius:14px!important;background:rgba(17,24,39,.48)!important;border-color:rgba(170,178,192,.15)!important}.guided-step-item{border-radius:11px!important;background:rgba(17,24,39,.48)!important;border-color:rgba(170,178,192,.12)!important}.guided-step-index{border-radius:9px!important;background:rgba(91,108,255,.12)!important;color:color-mix(in srgb,var(--accent) 75%,#fff)!important}.guided-step-copy strong{font-size:12px!important}.guided-step-copy small{font-size:10px!important}.guided-step-actions button{min-width:30px;height:30px;border-radius:8px!important}.guided-soundtrack-card{margin:11px 0;padding:12px;border-radius:14px;border:1px solid rgba(91,108,255,.2);background:linear-gradient(145deg,rgba(91,108,255,.075),rgba(17,24,39,.35))}.guided-soundtrack-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.guided-soundtrack-head>div{display:flex;flex-direction:column}.guided-soundtrack-head .editor-label{margin:0 0 3px!important;font-size:12px!important;color:#fff!important}.guided-soundtrack-head small{font-size:10px;line-height:1.7;color:var(--ansu-secondary)}.guided-soundtrack-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.guided-soundtrack-grid .guided-wide{grid-column:1/-1}

/* Editors are tools: larger type, clearer hierarchy, less visual noise. */
.editor-panel{width:min(440px,calc(100vw - 32px));background:rgba(11,16,32,.96)!important;border-color:rgba(170,178,192,.18)!important;border-radius:16px!important}.editor-head{font-size:14px!important}.editor-panel p,.content-section-help{font-size:12px!important;line-height:1.9!important}.editor-label{font-size:12px!important;color:var(--ansu-secondary)!important}.editor-panel input,.editor-panel select,.editor-panel textarea{font-size:12px!important}.editor-tabs button,.content-tabs button{min-height:39px;font-size:11px!important}.primary-btn{background:var(--accent)!important;color:var(--accent-text)!important;border-color:transparent!important}.ghost-btn{border-color:rgba(170,178,192,.18)!important;background:rgba(17,24,39,.36)!important}.toast{font-size:13px!important;border-radius:10px!important;background:var(--ansu-text)!important;color:var(--ansu-midnight)!important;box-shadow:0 14px 46px rgba(0,0,0,.3)!important}

@media(max-width:760px){
  body{font-size:15px}.topbar{padding:11px 10px}.brand-mark{width:44px;height:44px;border-radius:12px}.brand-copy strong{font-size:16px!important}.brand-copy span{font-size:11px!important}.icon-btn{width:43px;height:43px}
  .bottom-ui{right:8px;left:8px;bottom:calc(8px + var(--safe-b));grid-template-columns:minmax(0,1fr) auto;gap:7px}.scene-rail{grid-column:1/-1}.rail-btn{font-size:13px!important;min-height:44px;padding:9px 13px!important}.scene-status{min-width:0}.scene-status strong{font-size:14px!important}.round-btn{width:42px;height:42px}
  .boot-loader-inner{width:min(390px,94vw)!important;gap:11px!important}.boot-provider-lockup{padding:6px 8px!important;min-width:168px!important}.loader-logo-shell{width:80px!important;height:29px!important}.boot-client-lockup.premium{width:min(370px,94vw)!important;padding:11px!important;gap:10px!important}.boot-client-logo{width:62px!important;height:62px!important}.boot-organization-title{font-size:11px!important}.boot-copy strong{font-size:20px!important}.boot-project-meta{font-size:9.5px!important}.enter-tour-btn{min-height:61px!important}.enter-tour-copy strong{font-size:15px!important}.boot-footnote{font-size:9px!important;max-width:340px}
  .provider-signature{left:8px;bottom:calc(126px + var(--safe-b));padding:6px 8px}.provider-signature span{font-size:8px}.provider-signature strong{font-size:10px}
  .guided-launch-btn{right:8px!important;bottom:calc(126px + var(--safe-b))!important}.guided-controls{bottom:calc(126px + var(--safe-b))!important}.guided-caption[data-placement="bottom"]{bottom:calc(184px + var(--safe-b))!important}.guided-caption>div{font-size:15px!important;padding:12px 14px!important}
  .guided-editor-panel{inset:7px!important;width:auto!important;border-radius:14px!important;padding:12px!important}.guided-soundtrack-grid{grid-template-columns:1fr}.guided-soundtrack-grid .guided-wide{grid-column:auto}.guided-soundtrack-head{flex-direction:column}.guided-step-copy strong{font-size:12px!important}.guided-step-copy small{font-size:9.5px!important}
  .ti-brand-copy h1{font-size:26px!important}.ti-brand-copy p{font-size:14px!important}.ti-provider-logo{width:112px!important;height:48px!important}.ti-provider-copy h2{font-size:21px!important}
}
@media(max-width:390px){.boot-copy strong{font-size:18px!important}.boot-organization-title{font-size:10px!important}.rail-btn{font-size:12px!important}.provider-signature{display:none!important}}
@media(max-height:650px) and (orientation:landscape){.boot-provider-lockup{display:flex!important}.boot-client-lockup.premium{padding:7px 9px!important}.boot-client-logo{width:46px!important;height:46px!important}.boot-copy strong{font-size:15px!important}.boot-organization-title{font-size:9px!important}.boot-footnote{display:none}.planet-stage{transform:scale(.78);margin:-22px 0}}
@media(prefers-reduced-motion:reduce){.scene-fx.play[data-mode="portal"],.scene-fx.play[data-mode="portal"]::before,.scene-fx.play[data-mode="portal"]::after,.scene-fx.play[data-mode="cinematic"],.scene-fx.play[data-mode="cinematic"]::before{animation:none!important}.tour360-hotspot-button::before{animation:none!important}}
.scene-fx.preparing{opacity:1;background:rgba(6,10,22,.22);transition:opacity .18s ease}.scene-fx.preparing::before{opacity:.35;transform:scale(.82);transition:opacity .2s ease,transform .35s cubic-bezier(.2,.8,.2,1)}

/* Powered-by mode: client remains visually dominant; ANSU is a quiet executor signature. */
.ti-provider.compact{padding:16px 18px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px!important}
.ti-provider.compact .ti-provider-core{display:flex;align-items:center;gap:16px;min-width:0}.ti-provider.compact .ti-provider-logo{width:104px!important;height:40px!important;flex:0 0 auto}.ti-provider.compact .ti-provider-copy h2{font-size:18px!important;margin:3px 0!important}.ti-provider.compact .ti-provider-kicker{font-size:10px!important}.ti-provider.compact .ti-provider-credit{font-size:11px!important}.ti-provider.compact .ti-provider-orbit{display:none!important}.ti-provider.compact .ti-provider-actions{margin:0!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important}.ti-provider.compact .ti-provider-actions .ti-provider-cta{min-height:39px!important;padding:8px 11px!important;font-size:11px!important}
@media(max-width:760px){.ti-provider.compact{grid-template-columns:1fr!important;padding:14px!important}.ti-provider.compact .ti-provider-core{align-items:flex-start}.ti-provider.compact .ti-provider-logo{width:92px!important;height:36px!important}.ti-provider.compact .ti-provider-copy h2{font-size:16px!important}.ti-provider.compact .ti-provider-actions{justify-content:stretch!important}.ti-provider.compact .ti-provider-actions .ti-provider-cta{flex:1}}


/* ======================================================================
   ANSU / Tour360 Generator v2.5 — Immersive UX + Mobile Studio
   User branding corrections merged: white ANSU logo surfaces + isolated LTR credit.
   ====================================================================== */
:root{
  --ansu-midnight:#0B1020;--ansu-electric:#5B6CFF;--ansu-cyan:#39D5FF;--ansu-violet:#8B5CF6;
  --ansu-text:#F7F8FA;--ansu-secondary:#B8C0CF;--ansu-muted:#8791A3;--mobile-ui-scale:1;
}
body,.tour-app,button,input,select,textarea{font-family:"Vazirmatn","IRANSansX","Yekan Bakh","Segoe UI",Tahoma,Arial,sans-serif!important}
body{font-size:16px!important;line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.brand-copy strong{font-size:18px!important;line-height:1.55!important}.brand-copy span{font-size:12.5px!important}.rail-btn{font-size:14px!important;font-weight:720!important}.scene-link{font-size:15px!important}.drawer-head strong{font-size:19px!important}.scene-group{font-size:12.5px!important}
.rail-btn.active,.rail-btn.is-current{color:#fff!important;text-shadow:0 1px 12px rgba(0,0,0,.22)!important;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 70%,var(--ansu-violet)))!important;border-color:rgba(255,255,255,.16)!important}.scene-link.active,.scene-link.is-current{color:#fff!important}

/* User-proven brand visibility corrections. */
.loader-logo-shell.has-logo,.scene-loader-brand.has-logo,.ti-provider-logo,.exp-provider-logo,.provider-signature-logo{background:#fff!important;border-color:rgba(255,255,255,.84)!important}
.loader-logo-shell img,.scene-loader-brand img,.ti-provider-logo img,.exp-provider-logo img{background:#fff!important;object-fit:contain!important;filter:none!important}
.provider-signature{direction:ltr!important;unicode-bidi:isolate!important}.provider-signature span,.provider-signature strong{direction:ltr!important;unicode-bidi:isolate!important}
.ti-provider-kicker,.ti-provider.compact .ti-provider-kicker{direction:ltr!important;unicode-bidi:isolate!important;text-align:right!important}

/* ANSU information signature: distinct, luminous, never louder than client identity. */
.ti-provider{position:relative!important;isolation:isolate!important;overflow:hidden!important;border:1px solid rgba(91,108,255,.28)!important;background:linear-gradient(128deg,rgba(13,20,38,.98),rgba(17,24,49,.96) 58%,rgba(11,16,32,.98))!important;box-shadow:0 26px 90px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.05)!important}
.ti-provider::before{content:''!important;position:absolute!important;inset:0!important;z-index:-1!important;background:radial-gradient(circle at 10% 20%,rgba(57,213,255,.10),transparent 30%),radial-gradient(circle at 90% 5%,rgba(139,92,246,.15),transparent 32%),linear-gradient(115deg,transparent 40%,rgba(91,108,255,.055),transparent 72%)!important}
.ti-provider::after{content:'EXPLORE BEYOND'!important;position:absolute!important;left:20px!important;bottom:-2px!important;font:800 11px/1 "Inter","Vazirmatn",sans-serif!important;letter-spacing:.14em!important;color:rgba(247,248,250,.10)!important;direction:ltr!important}
.ti-provider-logo{width:138px!important;height:62px!important;border-radius:14px!important;padding:6px!important;box-shadow:0 12px 36px rgba(0,0,0,.24)!important}.ti-provider-logo img{width:100%!important;height:100%!important;border-radius:8px!important}
.ti-provider-copy h2{font-size:28px!important;line-height:1.55!important}.ti-provider-copy p{font-size:15px!important;line-height:2!important;color:var(--ansu-secondary)!important}.ti-provider-credit{font-size:12px!important;color:var(--ansu-secondary)!important}.ti-provider-cta{font-size:12px!important;min-height:48px!important}

/* Collapsible, self-explanatory normal music control. */
.music-control{left:calc(18px + var(--safe-l))!important;bottom:calc(90px + var(--safe-b))!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;max-width:290px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
.music-panel-toggle{min-width:138px;min-height:46px;display:grid;grid-template-columns:34px minmax(0,1fr) 20px;align-items:center;gap:8px;padding:6px 9px;border:1px solid rgba(170,178,192,.17);border-radius:15px;background:rgba(11,16,32,.82);color:#fff;backdrop-filter:blur(16px);box-shadow:0 12px 38px rgba(0,0,0,.25);font:inherit;cursor:pointer;text-align:right}
.music-panel-glyph{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(91,108,255,.23),rgba(139,92,246,.16));color:#fff;font-size:17px}.music-panel-copy{display:flex;flex-direction:column;min-width:0}.music-panel-copy small{font-size:9.5px;color:var(--ansu-secondary)}.music-panel-copy strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-panel-chevron{font-size:14px;color:var(--ansu-secondary);transition:transform .18s ease}.music-control.expanded .music-panel-chevron{transform:rotate(180deg)}
.music-control-panel{display:grid;grid-template-columns:38px minmax(0,1fr);gap:8px;align-items:center;padding:8px;border:1px solid rgba(170,178,192,.16);border-radius:14px;background:rgba(11,16,32,.90);backdrop-filter:blur(18px);box-shadow:0 16px 44px rgba(0,0,0,.28);opacity:0;visibility:hidden;transform:translateY(6px) scale(.98);transform-origin:left bottom;transition:.18s ease;pointer-events:none}.music-control.expanded .music-control-panel{opacity:1;visibility:visible;transform:none;pointer-events:auto}.music-mute-btn{width:38px!important;height:38px!important}.music-slider-wrap{grid-template-columns:1fr!important;gap:2px!important}.music-slider-wrap small{font-size:10.5px!important}.music-slider-wrap input{height:20px}

/* Manual viewing: chrome quietly disappears, a small reveal handle remains. */
.ui-reveal-handle{position:absolute;z-index:14;left:50%;bottom:calc(12px + var(--safe-b));transform:translateX(-50%);display:flex;align-items:center;gap:5px;border:1px solid rgba(170,178,192,.14);border-radius:999px;padding:6px 10px;background:rgba(11,16,32,.50);color:rgba(247,248,250,.68);backdrop-filter:blur(12px);font:inherit;cursor:pointer;opacity:0;pointer-events:none;transition:.18s ease}.tour-app.ui-hidden .ui-reveal-handle:not([hidden]){opacity:.82;pointer-events:auto}.ui-reveal-handle small{font-size:9px}.ui-reveal-handle span{font-size:13px}.tour-app:not(.ui-hidden) .ui-reveal-handle{opacity:0!important;pointer-events:none!important}

/* Guided Tour becomes truly immersive: normal chrome/hotspots/music disappear. */
.tour-app.guided-immersive .topbar,.tour-app.guided-immersive .bottom-ui,.tour-app.guided-immersive .provider-signature,.tour-app.guided-immersive .music-control,.tour-app.guided-immersive .guided-launch-btn,.tour-app.guided-immersive .ui-reveal-handle{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:none!important}
.tour-app.guided-immersive .tour360-hotspot-button{opacity:0!important;pointer-events:none!important;transition:opacity .25s ease!important}.tour-app.guided-immersive .tour360-nadir-mark{opacity:var(--nadir-opacity)!important}
.guided-stop-btn{position:absolute;z-index:24;left:50%;bottom:calc(18px + var(--safe-b));transform:translateX(-50%);min-height:46px;padding:8px 14px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(11,16,32,.62);color:#fff;backdrop-filter:blur(14px);box-shadow:0 12px 40px rgba(0,0,0,.25);display:flex;align-items:center;gap:8px;font:inherit;cursor:pointer;opacity:.62;transition:.18s ease}.guided-stop-btn:hover,.guided-stop-btn:focus-visible{opacity:1;background:rgba(11,16,32,.88)}.guided-stop-btn span{font-size:10px;color:#ffb4b4}.guided-stop-btn strong{font-size:11px;font-weight:750}.guided-stop-btn[hidden]{display:none!important}
.guided-caption>div{font-size:18px!important;line-height:2!important;max-width:min(760px,88vw)!important}
.guided-cta-card{padding:28px 26px;text-align:center}.guided-cta-eyebrow{display:block;direction:ltr;font:700 10px/1.2 "Inter","Vazirmatn",sans-serif;letter-spacing:.14em;color:var(--ansu-electric);margin-bottom:10px}.guided-cta-card h2{font-size:27px!important;line-height:1.6!important;margin:0 0 8px!important}.guided-cta-card p{font-size:15px!important;line-height:2!important;max-width:58ch;margin:0 auto 20px!important}.guided-cta-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.guided-cta-actions>*{min-width:150px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}

/* Scene transition: Portal is now a softer branded iris / depth reveal. */
.scene-fx[data-mode="portal"]{background:radial-gradient(circle at 50% 50%,transparent 0 20%,rgba(91,108,255,.045) 38%,rgba(11,16,32,.46) 78%,rgba(5,8,17,.72) 100%)}
.scene-fx.play[data-mode="portal"]::before{background:radial-gradient(circle,transparent 0 24%,rgba(57,213,255,.08) 38%,rgba(91,108,255,.11) 49%,rgba(5,8,17,.58) 76%);box-shadow:0 0 90px rgba(91,108,255,.10) inset}
.scene-fx.play[data-mode="portal"]::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.035),transparent);animation:ansu-portal-sweep .92s cubic-bezier(.2,.8,.2,1) both}@keyframes ansu-portal-sweep{0%{opacity:0;transform:scaleX(.35)}42%{opacity:.75;transform:scaleX(1)}100%{opacity:0;transform:scaleX(1.12)}}
.tour-app.guided-running.scene-changing #panorama{filter:brightness(.72) saturate(.86) blur(.7px)!important;transform:scale(1.018)!important}

/* Mobile typography: fewer tiny labels, stronger legibility. */
@media(max-width:760px){
  body{font-size:16px!important}.brand-copy strong{font-size:17px!important}.brand-copy span{font-size:12px!important}.mobile-scenes-copy small{font-size:10px!important}.mobile-scenes-copy strong{font-size:14px!important}.rail-btn{font-size:13px!important;min-height:41px}.scene-link{font-size:15px!important}.drawer-head strong{font-size:18px!important}.drawer .eyebrow,.scene-group{font-size:11.5px!important}
  .tour-app{--ui-scale:var(--mobile-ui-scale,1)}.topbar,.bottom-ui,.music-control,.guided-launch-btn{transform-origin:center bottom}.bottom-ui{font-size:calc(1rem * var(--mobile-ui-scale,1))}
  .music-control{left:calc(8px + var(--safe-l))!important;bottom:calc(116px + var(--safe-b))!important;max-width:220px!important}.music-panel-toggle{min-width:118px;min-height:42px;grid-template-columns:30px minmax(0,1fr) 17px}.music-panel-glyph{width:28px;height:28px}.music-panel-copy small{font-size:8.5px}.music-panel-copy strong{font-size:11px}.music-control-panel{grid-template-columns:34px minmax(0,1fr)}
  .guided-stop-btn{bottom:calc(11px + var(--safe-b));min-height:43px;padding:7px 12px}.guided-stop-btn strong{font-size:10.5px}.guided-caption>div{font-size:16px!important;padding:12px 15px!important}.guided-cta-card{padding:22px 14px}.guided-cta-card h2{font-size:22px!important}.guided-cta-card p{font-size:14px!important}.ti-provider-logo{width:116px!important;height:54px!important}.ti-provider-copy h2{font-size:22px!important}.ti-provider-copy p{font-size:13.5px!important}
}

/* Phone landscape: space-first compact chrome, no two-row scene rail. */
@media(max-height:560px) and (orientation:landscape){
  .topbar{padding:6px max(8px,var(--safe-r))!important}.brand-mark{width:34px!important;height:34px!important;border-radius:10px!important}.brand-copy span{display:none!important}.brand-copy strong{font-size:13px!important}.icon-btn{width:34px!important;height:34px!important;border-radius:10px!important;font-size:15px!important}.top-actions{gap:4px!important}
  .bottom-ui{right:8px!important;left:8px!important;bottom:calc(5px + var(--safe-b))!important;grid-template-columns:minmax(150px,.6fr) auto!important;gap:6px!important}.scene-rail,.scene-status{display:none!important}.mobile-scenes-btn{display:flex!important;height:42px!important;border-radius:13px!important}.mobile-scenes-copy strong{font-size:12px!important}.controls{height:42px!important;padding:3px!important;border-radius:13px!important}.round-btn{width:34px!important;height:34px!important;border-radius:10px!important;font-size:15px!important}.provider-signature{display:none!important}.music-control{bottom:calc(54px + var(--safe-b))!important}.music-panel-toggle{min-height:38px!important}.guided-launch-btn{bottom:calc(54px + var(--safe-b))!important}.drawer{height:100dvh!important;border-radius:0!important;padding-top:10px!important}.drawer-head{margin-bottom:5px!important}.scene-link{min-height:43px!important;font-size:12px!important}.guided-caption[data-placement="bottom"]{bottom:calc(58px + var(--safe-b))!important}
}

/* ----------------------------------------------------------------------
   Mobile Studio (?mobile-editor=1)
   ---------------------------------------------------------------------- */
.mobile-editor-mode{overflow:auto!important;background:#070B16!important}.mobile-editor-mode #app{min-height:100dvh;height:auto!important}.mobile-editor-mode #app>.boot-loader,.mobile-editor-mode #app>.panorama,.mobile-editor-mode #app>.vignette,.mobile-editor-mode #app>.topbar,.mobile-editor-mode #app>.bottom-ui,.mobile-editor-mode #app>.drawer,.mobile-editor-mode #app>.drawer-backdrop,.mobile-editor-mode #app>.music-control,.mobile-editor-mode #app>.provider-signature,.mobile-editor-mode #app>.guided-launch-btn,.mobile-editor-mode #app>.guided-controls,.mobile-editor-mode #app>.guided-stop-btn{display:none!important}
.mobile-editor-studio{position:relative;z-index:200;min-height:100dvh;color:#fff;background:radial-gradient(circle at 82% 8%,rgba(91,108,255,.12),transparent 28%),linear-gradient(145deg,#0B1020,#070B16 72%);padding:20px 24px 32px}.mobile-editor-studio[hidden]{display:none!important}.mobile-studio-head{max-width:1500px;margin:0 auto 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.mobile-studio-brand{display:flex;align-items:center;gap:12px}.mobile-studio-logo{width:100px;height:44px;padding:5px 8px;border-radius:12px;background:#fff;display:grid;place-items:center}.mobile-studio-logo img{width:100%;height:100%;object-fit:contain}.mobile-studio-brand>div{display:flex;flex-direction:column}.mobile-studio-brand small{font:700 10px/1.3 "Inter","Vazirmatn",sans-serif;letter-spacing:.12em;color:var(--ansu-electric)}.mobile-studio-brand strong{font-size:18px}.mobile-studio-actions{display:flex;gap:7px;flex-wrap:wrap}.mobile-studio-actions button{min-height:42px}
.mobile-studio-layout{max-width:1500px;margin:auto;display:grid;grid-template-columns:minmax(340px,430px) minmax(0,1fr);gap:22px;align-items:start}.mobile-studio-panel{position:sticky;top:18px;padding:20px;border:1px solid rgba(170,178,192,.15);border-radius:22px;background:rgba(17,24,39,.58);backdrop-filter:blur(18px);box-shadow:0 24px 80px rgba(0,0,0,.25)}.mobile-studio-intro>span{font:700 10px/1.3 "Inter",sans-serif;letter-spacing:.12em;color:var(--ansu-cyan)}.mobile-studio-intro h2{font-size:24px;line-height:1.55;margin:5px 0}.mobile-studio-intro p{font-size:13px;line-height:1.9;color:var(--ansu-secondary);margin:0 0 14px}.mobile-mode-tabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;border:1px solid rgba(170,178,192,.12);border-radius:13px;background:rgba(11,16,32,.5);margin-bottom:13px}.mobile-mode-tabs button{border:0;border-radius:9px;min-height:38px;background:transparent;color:var(--ansu-secondary);font:inherit;cursor:pointer}.mobile-mode-tabs button.active{background:rgba(91,108,255,.16);color:#fff;box-shadow:inset 0 0 0 1px rgba(91,108,255,.25)}.mobile-setting-grid{display:flex;flex-direction:column;gap:11px}.mobile-setting-grid label{display:flex;flex-direction:column;gap:6px;padding:10px 11px;border-radius:13px;background:rgba(11,16,32,.38);border:1px solid rgba(170,178,192,.09)}.mobile-setting-grid label>span{display:flex;justify-content:space-between;font-size:11.5px;color:var(--ansu-secondary)}.mobile-setting-grid strong{color:#fff;font-size:11.5px}.mobile-setting-grid input[type=range]{width:100%;accent-color:var(--ansu-electric)}.mobile-studio-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:13px 0}.mobile-studio-presets button{min-height:38px;border:1px solid rgba(170,178,192,.12);border-radius:10px;background:rgba(11,16,32,.45);color:#fff;font:inherit;font-size:10.5px;cursor:pointer}.mobile-lock-check{display:flex;align-items:flex-start;gap:8px;font-size:11.5px;line-height:1.7;color:var(--ansu-secondary)}.mobile-lock-check input{margin-top:4px;accent-color:var(--ansu-electric)}.mobile-studio-status{margin-top:14px;padding-top:12px;border-top:1px solid rgba(170,178,192,.10);display:flex;justify-content:space-between;font-size:10.5px;color:var(--ansu-secondary)}.mobile-studio-status strong{color:#fff}.mobile-device-workbench{min-height:calc(100dvh - 120px);display:grid;place-items:center;padding:16px}.mobile-device-frame{position:relative;background:#02040a;border:9px solid #171D2B;box-shadow:0 32px 100px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.10);overflow:hidden;transition:width .3s ease,height .3s ease,border-radius .3s ease}.mobile-device-frame.portrait{width:min(390px,62vw);height:min(844px,calc(100dvh - 160px));aspect-ratio:390/844;border-radius:42px}.mobile-device-frame.landscape{width:min(844px,72vw);height:min(390px,65vh);aspect-ratio:844/390;border-radius:34px}.mobile-device-frame iframe{width:100%;height:100%;border:0;background:#0B1020}.mobile-device-camera{position:absolute;z-index:3;top:7px;left:50%;transform:translateX(-50%);width:74px;height:18px;border-radius:999px;background:#05070C;pointer-events:none}.mobile-device-frame.landscape .mobile-device-camera{width:18px;height:74px;top:50%;left:7px;transform:translateY(-50%)}.mobile-device-note{margin-top:12px;text-align:center;display:flex;flex-direction:column}.mobile-device-note span{font-size:9px;color:var(--ansu-cyan);font-weight:700}.mobile-device-note strong{font-size:11px;color:var(--ansu-secondary)}
@media(max-width:980px){.mobile-studio-layout{grid-template-columns:1fr}.mobile-studio-panel{position:relative;top:auto}.mobile-device-workbench{min-height:620px}.mobile-studio-head{align-items:flex-start;flex-direction:column}.mobile-device-frame.portrait{width:min(390px,88vw);height:min(844px,72vh)}.mobile-device-frame.landscape{width:min(844px,92vw);height:min(390px,48vh)}}

/* Preview mode uses the iframe dimensions as the mobile breakpoint regardless of desktop host. */
html[data-mobile-preview="1"] body{font-size:16px!important}

@media(prefers-reduced-motion:reduce){.music-control-panel,.music-panel-chevron,.guided-stop-btn,.ui-reveal-handle,.mobile-device-frame{transition:none!important}.scene-fx.play[data-mode="portal"]::after{animation:none!important}}


/* v2.5 final interaction safeguards */
.tour-app.guided-immersive #panorama{pointer-events:none!important}
@media(max-width:760px){
  .tour-app .icon-btn,.tour-app .round-btn{width:var(--mobile-control-size,42px)!important;height:var(--mobile-control-size,42px)!important}
  .tour-app .brand-copy strong{font-size:var(--mobile-brand-title-size,17px)!important}
  .tour-app .brand-copy span{font-size:var(--mobile-brand-subtitle-size,12px)!important}
  .tour-app .scene-rail .rail-btn{font-size:var(--mobile-rail-font-size,13px)!important}
}
/* Readability floor for Persian project information. */
.ti-contact-copy small,.ti-service-btn small,.ti-social-btn small,.ti-direct-link small{font-size:11px!important}
.ti-contact-copy strong,.ti-service-btn strong,.ti-social-btn strong,.ti-direct-link strong{font-size:14px!important;line-height:1.85!important}
.ti-pane-head h2{font-size:22px!important}.ti-pane-head small,.ti-subhead{font-size:12px!important}
@media(max-width:760px){
  .ti-contact-copy small,.ti-service-btn small,.ti-social-btn small,.ti-direct-link small{font-size:10.5px!important}
  .ti-contact-copy strong,.ti-service-btn strong,.ti-social-btn strong,.ti-direct-link strong{font-size:13.5px!important;line-height:1.85!important}
  .ti-pane-head h2{font-size:19px!important}.ti-pane-head small,.ti-subhead{font-size:11px!important}
}
