.tour-body { display: flex; flex-direction: column; height: 100vh; height: 100dvh; overflow: hidden; background: #2a2b2e; }
.tour-bar {
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 20px;
  padding: 10px 18px; background: var(--bg);
}
.tour-back { display: inline-flex; align-items: center; gap: 4px; font-weight: 700; font-size: 14px; text-decoration: none; }
.tour-title { min-width: 0; }
.tour-industry { margin: 0; color: var(--ink-sub); font-size: 11px; font-weight: 700; }
.tour-title h1 { margin: 0; font-size: 16px; line-height: 1.4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tour-tools { display: flex; align-items: center; gap: 14px; }
.tour-tools .segmented button { width: auto; padding: 0 14px; font-size: 13px; font-weight: 700; }
.tour-open { font-size: 13px; font-weight: 700; color: var(--ink-sub); white-space: nowrap; }

.tour-stage { position: relative; flex: 1; display: flex; justify-content: center; overflow: hidden; padding: 24px; }
.device-frame {
  position: relative; flex: none; overflow: hidden; background: #fff;
  transform-origin: top center;
  box-shadow: 0 20px 60px rgb(0 0 0 / .45);
}
.device-frame[data-viewport="pc"] { border-radius: 6px; }
.device-frame[data-viewport="tablet"] { border-radius: 22px; border: 10px solid #111; }
.device-frame[data-viewport="sp"] { border-radius: 36px; border: 10px solid #111; }
.device-frame iframe { display: block; width: 100%; height: 100%; border: 0; }

.tour-neighbors {
  display: flex; justify-content: space-between; gap: 12px; padding: 0 24px 14px; color: #c8c9cc; font-size: 13px;
}
.tour-neighbors a { color: inherit; text-decoration: none; }
.tour-neighbors a:hover { color: #fff; }

@media (max-width: 860px) {
  .tour-bar { grid-template-columns: auto 1fr; gap: 8px 12px; }
  .tour-back span { display: none; }
  .tour-tools { grid-column: 1 / -1; justify-content: space-between; gap: 8px; }
  .tour-open { display: none; }
  .tour-tools .primary-button { padding: 8px 14px; font-size: 12.5px; }
  .tour-tools .segmented button { padding: 0 10px; font-size: 12px; }
  .tour-stage { padding: 12px; }
}
