/* Scoped activity play view; ordinary treasure pages keep their layout. */
.indoor-journey [hidden], .indoor-utility-dialog [hidden] { display:none !important; }
.indoor-play-view .hero-banner { min-height:0 !important; height:auto !important; padding:16px !important; }
.indoor-play-view .hero-banner .hero-carousel-bg,
.indoor-play-view .hero-banner .hero-overlay,
.indoor-play-view .hero-banner .hero-badges,
.indoor-play-view .hero-banner .hero-top-row,
.indoor-play-view .hero-banner .hero-hook,
.indoor-play-view .hero-banner .hero-meta,
.indoor-play-view .hero-banner .hero-social-proof,
.indoor-play-view .hero-banner .hero-carousel-dots { display:none !important; }
.indoor-play-view .hero-banner .hero-content { position:static !important; padding:0 !important; }
.indoor-play-view .hero-banner h1 { font-size:clamp(20px,4vw,28px) !important; margin:0 !important; }
.indoor-play-view #stickyBar { display:none !important; }
.indoor-activity-page .activity-tabs-header { overflow-x:auto; align-items:center; }
.indoor-activity-page .activity-tabs-header > .activity-tab-btn { flex:1 0 auto; white-space:nowrap; }
.indoor-journey { --journey-ink:#24332c; --journey-accent:#246748; color:var(--journey-ink); }
.indoor-journey .game-map-header { display:none; }
.indoor-journey-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; }
.indoor-journey-bar strong { display:block; font-size:18px; }
.indoor-journey-progress { display:block; font-size:14px; margin-top:5px; color:#526258; }
.indoor-journey-tools, .iv-current-actions { display:flex; flex-wrap:wrap; gap:8px; }
.indoor-guest-save { display:inline-block; margin-top:5px; font-size:12px; color:#246748; }
.indoor-demo-note { margin:0 0 8px; padding:8px 10px; border-radius:8px; background:#eef4fb; font-size:12px; line-height:1.5; }
body.indoor-map-playing .indoor-journey-bar strong { display:none; }
body.indoor-map-playing .mobile-bottom-nav { display:none !important; }
body.indoor-map-playing { padding-bottom:0 !important; }
.indoor-journey button, .indoor-utility-dialog button { cursor:pointer; }
.indoor-journey-tools button, .iv-current-actions button { min-height:42px; border:1px solid #d7e1d9; border-radius:10px; background:#fff; color:#24332c; padding:8px 12px; font:inherit; font-size:14px; }
.indoor-journey [data-indoor-action="current"] { background:var(--journey-accent); color:#fff; border-color:var(--journey-accent); }
.indoor-journey[data-phase="ready"] { display:flex; flex-direction:column; }
.indoor-journey[data-phase="ready"] > .indoor-activity-tasks { display:none; }
.indoor-journey[data-phase="playing"]:not(.indoor-list-fallback) > .indoor-activity-tasks { display:none; }
.indoor-journey[data-phase="finished"] { display:flex; flex-direction:column; }
.indoor-journey[data-phase="finished"]:not(.indoor-show-results) > .indoor-activity-tasks { display:none; }
.indoor-journey.indoor-show-results > .indoor-activity-tasks { display:block; order:-1; }
.indoor-start-story { padding:10px 12px; margin:0 0 12px; background:#f1f5ef; border-radius:10px; font-size:14px; line-height:1.6; }
.indoor-journey:not([data-phase="ready"]) .indoor-start-story { display:none; }
.indoor-journey .indoor-activity-section { padding:14px; margin-bottom:0; }
.indoor-journey .indoor-map-title, .indoor-journey .room-count { display:none; }
.indoor-journey .indoor-venue-hud .game-map-actions [data-indoor-action="current"] { display:none; }
.indoor-utility-dialog { position:fixed; inset:0; z-index:10060; background:#0007; display:grid; place-items:center; padding:16px; overflow:auto; overscroll-behavior:contain; }
.indoor-utility-card { background:#fffdf8; color:#24332c; border-radius:18px; width:min(560px,100%); max-height:85dvh; overflow:auto; padding:18px; box-sizing:border-box; box-shadow:0 14px 50px #0003; }
.indoor-utility-card header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.indoor-utility-card h2 { font-size:19px; margin:0; }
.indoor-utility-card header button { min-width:44px; min-height:44px; font-size:24px; }
.indoor-utility-body > button { display:block; width:100%; text-align:left; padding:14px; margin-top:8px; border:1px solid #d7e1d9; background:white; border-radius:10px; font:inherit; }
.indoor-utility-body button:disabled { opacity:.55; cursor:not-allowed; }
.indoor-utility-body article { border-top:1px solid #e1e5df; padding:12px 0; line-height:1.7; }
.indoor-utility-body img { max-width:100%; }
.indoor-map-modal.is-venue-driven .modal-body { display:flex; flex-direction:column; }
.indoor-map-modal.is-venue-driven .indoor-room-task { order:-1; margin:0; padding:0; border:0; }
.indoor-map-modal.is-venue-driven .indoor-room-background { margin-top:16px; border-top:1px solid #e1e5df; padding-top:12px; }
.indoor-map-modal:not(.is-venue-driven) .indoor-room-background > summary { display:none; }
.indoor-map-modal:not(.is-venue-driven) .indoor-room-background:not([open]) > #room-info-content { display:block !important; }
.indoor-map-modal.is-venue-driven .room-info-figure img { max-height:140px; object-fit:cover; }
.indoor-map-modal .gte-player { padding:0; box-shadow:none; border:0; }
.indoor-map-modal .gte-player__eyebrow { display:none; }
.indoor-map-modal .gte-player__header { gap:8px; }
.indoor-map-modal .gte-task-heading { margin-top:14px; }
.indoor-map-modal .gte-task-interaction[hidden] { display:none !important; }
.indoor-venue-fs .indoor-journey-bar { flex:none; padding:4px 0 10px; }
.indoor-venue-fs .indoor-journey-bar strong { display:none; }
.indoor-venue-fs .indoor-venue-current { flex:none; margin:0 0 8px; }
.indoor-venue-fs .indoor-journey-progress { margin:0; }
@media(max-width:640px) {
    .indoor-journey-bar { align-items:center; flex-direction:row; flex-wrap:wrap; gap:8px; padding:6px 0 10px; }
    .indoor-journey-tools { gap:5px; }
    .indoor-venue-fs .indoor-journey-bar { flex-direction:row; align-items:center; }
    .indoor-venue-fs .indoor-journey-tools button { padding:6px 8px; font-size:12px; min-height:38px; }
    .indoor-journey .indoor-venue-current { gap:8px; flex-wrap:wrap; }
    .indoor-map-modal.is-venue-driven { height:var(--indoor-viewport-height,100dvh); bottom:auto; }
    .indoor-map-modal.is-venue-driven .modal-content { position:absolute; bottom:0; top:auto; left:0; transform:none; width:100%; max-width:100%; max-height:calc(var(--indoor-viewport-height,100dvh) - 12px); margin:0; border-radius:18px 18px 0 0; display:flex; flex-direction:column; }
    .indoor-map-modal.is-venue-driven .modal-header { flex:none; padding:12px 16px; }
    .indoor-map-modal.is-venue-driven .modal-body { max-height:none; min-height:0; overflow:auto; padding:14px 16px calc(16px + env(safe-area-inset-bottom)); overscroll-behavior:contain; }
    .indoor-map-modal .gte-answer-input { min-width:0; font-size:16px; }
    .indoor-map-modal .gte-level-gallery.is-single .gte-level-gallery__open img { width:100%; height:112px; max-height:112px; object-fit:contain; }
    .indoor-map-modal .gte-level-gallery { margin:8px 0; }
    .indoor-map-modal .gte-level-gallery figure { margin:0; }
    .indoor-map-modal .gte-level-gallery figcaption { font-size:11px; }
    .indoor-map-modal .gte-task-heading { margin-top:10px; }
    .indoor-map-modal .gte-stage-header { margin:6px 0; padding:6px 8px; }
    .indoor-map-modal .gte-task-instruction { line-height:1.65; }
    .indoor-map-modal .gte-player__header { padding-bottom:8px; }
    .indoor-map-modal .gte-progress { margin-bottom:8px; }
    .indoor-map-modal .gte-answer-row { position:sticky; bottom:0; padding:8px 0; background:#fff; z-index:2; }
    .indoor-map-modal .gte-continue-row { position:sticky; bottom:0; padding:10px 0; background:#fffdf8; }
}
