/* Studio Tomorrow · PASS 8 v8.0.0 · Mobile Interaction + Unified App Shell */
:root{--studio-pass8-shell-z:32880}
html,body{overscroll-behavior-y:auto}

/* Public utility rail stays available. Collapse is manual only. */
html body #pageTools.page-tools{z-index:var(--studio-pass8-shell-z)!important}
html body:not(.studio-pass8-tools-manual-hidden) #pageTools.page-tools{opacity:1!important;visibility:visible!important;pointer-events:none!important;transform:none!important}
html body:not(.studio-pass8-tools-manual-hidden) #pageTools.page-tools>*{pointer-events:auto!important}
html body.studio-pass8-tools-manual-hidden #pageTools.page-tools>*:not(#studioMainToolsToggle){opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateX(-8px)!important}
html body.studio-pass8-tools-manual-hidden #pageTools.page-tools>#studioMainToolsToggle{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
html body #pageTools.page-tools>.studio-pass8-tap{transform:scale(.91)!important;transition:transform .08s ease!important}

/* Feed shell. The old live-activity strip represented synthetic activity and is retired. */
#feedModal .feed-modal-live{display:none!important}
#feedModal .feed-pop-page .feed-modal-scroll{inset:0!important}
#feedModal .feed-page-carousel{inset:76px 0 0!important}
#feedModal .review-community-reply,#feedModal .review-post-community{display:none!important}
#feedModal .feed-page-rail{transition:opacity .16s ease,transform .16s ease}
#feedModal .feed-page-rail.studio-pass8-nav-confirmed{opacity:.24;transform:scale(.985)}
#feedModal .feed-wall-card.studio-pass8-post-pressed{transform:scale(.988)!important;filter:brightness(.985);transition:transform .08s ease,filter .08s ease!important}

/* Studio Access: the upgraded app bar already owns close/status. Remove the obsolete 3D-specific footer. */
#studioLabPopout .studio-lab-popout-foot{display:none!important}
#studioLabPopout .studio-lab-popout-window{grid-template-rows:auto minmax(0,1fr)!important}

/* Booking/free-direction modal owns its mobile scroll surface. */
@media(max-width:760px){
  #bookingModal.modal-backdrop{align-items:flex-start!important;justify-content:center!important;padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))!important;overflow:hidden!important;overscroll-behavior:contain!important}
  #bookingModal .modal{width:100%!important;max-height:calc(100dvh - max(16px,env(safe-area-inset-top) + env(safe-area-inset-bottom)))!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;border-radius:18px!important;padding:22px 18px 24px!important}
  #bookingModal .modal-close{position:sticky!important;float:right!important;right:0!important;top:0!important;z-index:5!important;margin:0 0 -36px auto!important}

  /* Remove mobile Feed docking/minimize. Full Feed or close are the two mobile states. */
  #feedModalMinimize,.feed-modal-minimize{display:none!important}

  /* Personal Feed is a light foreground application on mobile. Custom visual state remains stored, but isn't painted/executed. */
  body.studio-personal-feed-mobile-focus #studioPersonalFeedPage{
    background:#f5f2ec!important;background-image:none!important;background-attachment:scroll!important;
    contain:layout paint style!important;isolation:isolate!important
  }
  body.night-mode.studio-personal-feed-mobile-focus #studioPersonalFeedPage{background:#11131a!important;background-image:none!important}
  body.studio-personal-feed-mobile-focus #studioPersonalFeedPage::before,
  body.studio-personal-feed-mobile-focus #studioPersonalFeedPage::after{background-image:none!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  body.studio-personal-feed-mobile-focus #studioPersonalFeedPage .st-v1654-custom-code,
  body.studio-personal-feed-mobile-focus #studioPersonalFeedPage .st-v1657-custom,
  body.studio-personal-feed-mobile-focus #studioPersonalFeedPage [data-st-v1654-code],
  body.studio-personal-feed-mobile-focus #studioPersonalFeedPage [data-st-profile-custom-html]{display:none!important}
  body.studio-personal-feed-mobile-focus #studioPersonalFeedPage .st-v1657-profile-bubble{animation:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:0 8px 28px rgba(9,7,47,.12)!important}
  body.studio-personal-feed-mobile-focus #studioPersonalFeedPage .st-pf-topbar,
  body.studio-personal-feed-mobile-focus #studioPersonalFeedPage .st-v1653-topbar,
  body.studio-personal-feed-mobile-focus #studioPersonalFeedPage .st-v1653-hero,
  body.studio-personal-feed-mobile-focus #studioPersonalFeedPage .st-v1653-post{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  body.studio-personal-feed-mobile-focus #studioPersonalFeedPage .st-v1657-profile-post,
  body.studio-personal-feed-mobile-focus #studioPersonalFeedPage .st-v1653-post{content-visibility:auto;contain-intrinsic-size:520px}

  /* Messages geometry: compact title, fixed header, one scrolling message surface, safe composer. */
  body.studio-personal-feed-mobile-focus.studio-personal-feed-mobile-messages .studio-dm-shell{
    height:48dvh!important;min-height:270px!important;max-height:48dvh!important;border-radius:16px 16px 0 0!important;overflow:hidden!important
  }
  body.studio-personal-feed-mobile-focus.studio-personal-feed-mobile-messages .studio-dm-main{display:flex!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important}
  body.studio-personal-feed-mobile-focus.studio-personal-feed-mobile-messages .studio-dm-room-head{
    flex:0 0 46px!important;height:46px!important;min-height:46px!important;padding:5px max(8px,env(safe-area-inset-right)) 5px max(8px,env(safe-area-inset-left))!important;gap:7px!important;overflow:hidden!important
  }
  body.studio-personal-feed-mobile-focus.studio-personal-feed-mobile-messages .studio-dm-room-person{min-width:0!important;max-width:calc(100vw - 86px)!important}
  body.studio-personal-feed-mobile-focus.studio-personal-feed-mobile-messages .studio-dm-room-person strong,
  body.studio-personal-feed-mobile-focus.studio-personal-feed-mobile-messages .studio-dm-room-person span{max-width:calc(100vw - 116px)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.studio-personal-feed-mobile-focus.studio-personal-feed-mobile-messages .studio-dm-messages{
    flex:1 1 0%!important;height:auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;padding:8px 9px!important
  }
  body.studio-personal-feed-mobile-focus.studio-personal-feed-mobile-messages .studio-dm-composer{
    position:relative!important;flex:0 0 auto!important;min-height:50px!important;padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))!important;background:rgba(248,246,241,.96)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important
  }
  body.night-mode.studio-personal-feed-mobile-focus.studio-personal-feed-mobile-messages .studio-dm-composer{background:rgba(18,20,27,.97)!important}
  body.studio-personal-feed-mobile-focus.studio-personal-feed-mobile-messages .studio-dm-composer-row{grid-template-columns:auto minmax(0,1fr) 40px!important;gap:6px!important;align-items:end!important}
  body.studio-personal-feed-mobile-focus.studio-personal-feed-mobile-messages .studio-dm-composer textarea{min-height:38px!important;max-height:76px!important;font-size:16px!important;line-height:1.25!important;padding:8px 10px!important}
  body.studio-personal-feed-mobile-focus.studio-personal-feed-mobile-messages .studio-dm-send{width:38px!important;height:38px!important;min-width:38px!important}

  /* Native ranges remain vertical-page-safe while the thumb owns horizontal drag. */
  input[type="range"]{touch-action:none}
}

/* Shared shell for checkout, Studio Admin and 404. */
.studio-pass8-external-tools{position:fixed;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));z-index:32880;display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",Inter,system-ui,sans-serif}
.studio-pass8-external-tools a,.studio-pass8-external-tools button{appearance:none;width:42px;height:42px;border:1px solid rgba(17,18,39,.12);border-radius:14px;background:rgba(250,248,244,.94);color:#111227;display:grid;place-items:center;text-decoration:none;cursor:pointer;box-shadow:0 10px 30px rgba(9,7,47,.10);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font:850 9px/1 inherit;transition:transform .1s ease,opacity .15s ease,width .18s ease}
.studio-pass8-external-tools a:active,.studio-pass8-external-tools button:active,.studio-pass8-external-tools .studio-pass8-tap{transform:scale(.92)}
.studio-pass8-external-tools .studio-pass8-radio.is-playing{background:#111227;color:#fff}
.studio-pass8-external-tools .studio-pass8-label{position:absolute;left:50px;padding:7px 9px;border-radius:9px;background:#111227;color:#fff;opacity:0;pointer-events:none;white-space:nowrap;font-size:7px;transform:translateX(-4px);transition:.15s}
@media(hover:hover){.studio-pass8-external-tools>*:hover .studio-pass8-label{opacity:1;transform:none}}
.studio-pass8-external-tools.is-collapsed>*:not(.studio-pass8-tools-toggle){display:none}.studio-pass8-external-tools.is-collapsed>.studio-pass8-tools-toggle{display:grid}
.studio-pass8-radio-readout{position:fixed;left:max(64px,calc(env(safe-area-inset-left) + 64px));bottom:max(14px,env(safe-area-inset-bottom));z-index:32879;max-width:min(300px,calc(100vw - 90px));padding:8px 10px;border:1px solid rgba(17,18,39,.10);border-radius:12px;background:rgba(250,248,244,.93);color:#111227;box-shadow:0 10px 30px rgba(9,7,47,.08);font:750 7px/1.25 -apple-system,BlinkMacSystemFont,"SF Pro Text",Inter,system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transform:translateY(5px);pointer-events:none;transition:.18s}
.studio-pass8-radio-readout.show{opacity:1;transform:none}
@media(max-width:760px){.studio-pass8-external-tools{top:50dvh;bottom:auto;transform:translateY(-50%)}}
@media(prefers-reduced-motion:reduce){#feedModal .feed-page-rail,.studio-pass8-external-tools *,html body #pageTools.page-tools>*{transition:none!important}}
