.presentation-start { min-height:40px; padding:0 16px; border:1px solid #9ae4d35c; border-radius:6px; color:#b5eee0; white-space:nowrap; }
.presentation-start:disabled { opacity:.45; cursor:wait; }
.presentation { position:fixed; inset:0; z-index:20; pointer-events:none; }
.presentation-toolbar { position:absolute; top:24px; right:24px; display:flex; align-items:center; gap:8px; pointer-events:auto; padding:4px 8px; background:#0d1c29; border:1px solid var(--line); border-radius:8px; }
.presentation-toolbar button, .presentation-toolbar select { min-height:40px; padding:0 12px; font:inherit; font-size:13px; color:#eaf4fb; background:#0d1c29; border:0; border-radius:4px; }
.presentation-toolbar select { border:1px solid var(--line); }
#tour-count { padding:0 12px; font-size:13px; color:#b7cddd; font-variant-numeric:tabular-nums; }
#tour-exit { color:#b5eee0; }
.tour-card { position:absolute; right:32px; top:112px; bottom:64px; width:clamp(320px,25vw,460px); padding:28px; background:#0d1c29f5; border:1px solid var(--line); border-radius:12px; overflow:auto; pointer-events:auto; }
.tour-card h2 { font-size:clamp(28px,2.4vw,44px); line-height:1.3; margin:0 0 12px; overflow-wrap:anywhere; }
#tour-location { color:#b7cddd; margin-bottom:20px; }
.tour-card h3 { margin:32px 0 12px; font-size:14px; color:#b7cddd; font-weight:400; }
#tour-summary, #tour-milestone, .tour-issue { font-size:clamp(16px,1.3vw,24px); line-height:1.8; overflow-wrap:anywhere; white-space:pre-wrap; }
.tour-issue { margin-top:24px; }
.tour-issue.warning { color:#f7ba5f; }
.tour-meta { display:flex; flex-wrap:wrap; gap:12px; border-top:1px solid var(--line); margin-top:32px; padding-top:20px; font-size:13px; color:#b7cddd; }
.tour-note { margin-top:20px; color:#b7cddd; font-size:11px; }
.dashboard.presenting { overflow:hidden; height:100dvh; min-height:0; }
.presenting .workspace, .presenting .bottom-bar, .presenting .directory-toggle, .presenting .presentation-start, .presenting .top-meta { display:none; }
.presenting #globe { top:0; left:0; right:calc(clamp(320px,25vw,460px) + 48px); bottom:0; height:auto; border-radius:0; }
.presenting .edge-shade { inset:0; height:auto; border-radius:0; background:linear-gradient(#03080ec9,transparent 25%,transparent 80%,#03080e80); }
.presenting .topbar { z-index:21; pointer-events:none; right:auto; }
.presenting .topbar .brand { pointer-events:none; }
@media (max-width:1100px) {
  .presenting .page-title { display:none; }
  .tour-card { right:16px; top:100px; bottom:48px; padding:24px; }
  .presentation-toolbar { right:16px; }
}
@media (max-width:700px) {
  .presentation-start { font-size:12px; padding:0 10px; margin-left:auto; }
  .topbar { gap:10px; }
  .top-meta .demo-badge { display:none; }
  .presenting .topbar { height:64px; }
  .presenting #globe { top:64px; right:0; bottom:auto; height:36dvh; }
  .presentation-toolbar { top:auto; bottom:8px; left:8px; right:8px; gap:2px; flex-wrap:wrap; justify-content:center; }
  .presentation-toolbar button, .presentation-toolbar select { padding:0 8px; font-size:12px; }
  #tour-count { padding:0 8px; }
  .tour-card { top:calc(64px + 36dvh); bottom:110px; left:12px; right:12px; width:auto; padding:20px; }
  .tour-card h2 { font-size:26px; }
  .tour-card h3 { margin-top:24px; }
  #tour-summary, #tour-milestone, .tour-issue { font-size:16px; }
}

/* Orbital presentation: the factory lands at the center of the full globe canvas. */
.presenting #globe { inset:0; height:100dvh; }
.presenting .edge-shade { background:linear-gradient(180deg,#03080e99,transparent 18%,transparent 70%,#03080e80); }
.tour-card { top:auto; left:32px; right:auto; bottom:56px; width:clamp(300px,25vw,400px); max-height:calc(100dvh - 180px); background:#0a1722ed; transition:opacity 900ms ease, transform 900ms cubic-bezier(.16,1,.3,1); }
.tour-card.travelling { opacity:0; transform:translateY(12px); pointer-events:none; }
.tour-card h2 { font-size:clamp(26px,2.2vw,38px); }
.tour-card h3 { margin-top:22px; }
#tour-summary, #tour-milestone, .tour-issue { font-size:clamp(15px,1.15vw,20px); }
.tour-meta { margin-top:24px; }
.presentation-toolbar { opacity:.35; transition:opacity 300ms ease; }
.presentation-toolbar:hover, .presentation-toolbar:focus-within { opacity:1; }
@media (max-width:700px) {
  .presenting #globe { top:64px; height:42dvh; bottom:auto; }
  .tour-card { top:calc(64px + 42dvh); bottom:108px; left:12px; right:12px; width:auto; max-height:none; padding:16px 20px; }
  .tour-card h2 { font-size:24px; }
  .presentation-toolbar { opacity:1; }
}
@media (prefers-reduced-motion:reduce) {
  .tour-card, .presentation-toolbar { transition:none; }
}
