/* One optional mobile shell; desktop, permissions and content routes keep their owners. */
.mobile-app-dock,.mobile-app-back,.mobile-app-quick-links,.mobile-app-navigation-feedback{display:none}
@media(max-width:820px),(max-width:1024px) and (max-height:500px){
  body.has-mobile-app-shell{
    --mobile-app-dock-height:calc(66px + env(safe-area-inset-bottom,0px));
    padding-bottom:var(--mobile-app-dock-height)!important;
    scroll-padding-bottom:calc(var(--mobile-app-dock-height) + 16px);
    -webkit-tap-highlight-color:rgba(31,166,228,.2);
  }
  /* Native :active releases on scroll/cancel; no delayed clicks or sticky touch classes. */
  body.has-mobile-app-shell :is(a[href],button,[role="button"]):not(:disabled):not([aria-disabled="true"]):active{filter:brightness(.85)}
  body.has-mobile-app-shell .mobile-app-navigation-pending{outline:2px solid var(--studio-color-accent,#1fa6e4);outline-offset:-2px;filter:brightness(.9)}
  .has-mobile-app-shell .mobile-app-navigation-feedback{position:fixed;inset:calc(env(safe-area-inset-top,0px) + 74px) 12px auto;z-index:12000;display:flex;align-items:center;justify-content:center;gap:8px;width:max-content;max-width:calc(100% - 24px);box-sizing:border-box;margin-inline:auto;padding:9px 15px;border:1px solid var(--studio-color-border,#315264);border-radius:24px;background:var(--studio-color-surface,#10293d);color:var(--studio-color-text,#edf6ff);box-shadow:0 4px 18px #0002;font-family:inherit;font-size:13px;line-height:1.6;font-weight:600;pointer-events:none;visibility:hidden;opacity:0}
  .mobile-app-navigation-feedback::before{content:"";width:14px;height:14px;flex:none;border:2px solid var(--studio-color-border,#315264);border-top-color:var(--studio-color-accent,#1fa6e4);border-radius:50%}
  .mobile-app-navigating .mobile-app-navigation-feedback{visibility:visible;opacity:1}
  .mobile-app-navigating .mobile-app-navigation-feedback::before{animation:mobile-app-navigation-spin .8s linear infinite}
  .mobile-app-navigating::after{content:"";position:fixed;inset:env(safe-area-inset-top,0px) 0 auto;height:3px;z-index:12000;pointer-events:none;background:linear-gradient(90deg,transparent,var(--studio-color-accent,#1fa6e4),transparent);background-size:45% 100%;background-repeat:no-repeat;animation:mobile-app-navigation-line 1.2s ease-in-out infinite}
  body.mobile-app-profile{--studio-color-surface:var(--paper);--studio-color-border:var(--line);--studio-color-text-muted:var(--muted);--studio-color-text:var(--ink);--studio-color-accent:var(--accent);--studio-color-on-accent:var(--on-accent);--studio-color-link:var(--accent)}
  .mobile-app-profile .site-header{height:68px;gap:8px}
  .mobile-app-profile .site-header .brand{margin-inline-end:auto}
  .mobile-app-profile .brand-caption,.mobile-app-profile .header-sign,.mobile-app-profile .breadcrumb{display:none}
  .mobile-app-profile .hero{padding-top:16px;gap:22px}
  .mobile-app-profile .art{height:250px}
  .mobile-app-profile .hero-line{font-size:16px;line-height:1.8;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .mobile-app-profile .mobile-app-back{display:grid}
  .has-mobile-app-shell .mobile-app-dock{
    position:fixed;inset:auto 0 0;z-index:900;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
    box-sizing:border-box;height:var(--mobile-app-dock-height);padding:6px max(8px,env(safe-area-inset-right,0px)) max(6px,env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));
    border-top:1px solid var(--studio-color-border);background:var(--studio-color-surface);box-shadow:0 -8px 32px #00000012;
    color:var(--studio-color-text-muted);isolation:isolate;
  }
  .mobile-app-dock>a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:52px;min-width:0;text-decoration:none;color:inherit;border-radius:14px;font:inherit;font-size:11px;font-weight:700;line-height:1.2;touch-action:manipulation}
  .mobile-app-dock svg,.mobile-app-back svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .mobile-app-dock>a:is([aria-current="page"],[aria-expanded="true"]){color:var(--studio-color-accent);background:color-mix(in srgb,var(--studio-color-accent) 12%,transparent)}
  .mobile-app-dock .mobile-app-search svg{background:var(--studio-color-accent);color:var(--studio-color-on-accent,#06101d);border-radius:12px;padding:7px;box-sizing:content-box;margin-top:-6px}
  .mobile-app-dock>a:focus-visible,.mobile-app-back:focus-visible,.mobile-app-quick-links>a:focus-visible{outline:2px solid var(--studio-color-link);outline-offset:-2px}
  body.studio-theme.has-mobile-app-shell .studio-site-header{padding-top:env(safe-area-inset-top,0px)!important;background:var(--studio-color-surface)!important;border-bottom:1px solid var(--studio-color-border)!important}
  body.studio-theme.has-mobile-app-shell .studio-site-header .studio-exact-head{min-height:58px!important;height:auto!important;gap:8px!important;padding:4px 16px!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
  body.studio-theme.has-mobile-app-shell .studio-header-nav-group{min-width:0;display:flex!important;align-items:center!important;gap:8px!important}
  body.studio-theme.has-mobile-app-shell .studio-site-header .studio-exact-logo{width:106px!important;min-width:0!important;margin:0!important}
  body.studio-theme.has-mobile-app-shell .studio-site-header .studio-exact-logo img{max-width:106px!important;max-height:36px!important;object-fit:contain}
  body.studio-theme.has-mobile-app-shell .studio-exact-actions{width:auto!important;gap:4px!important;flex:0 0 auto!important}
  body.studio-theme.has-mobile-app-shell .studio-exact-actions>:is(.studio-trend-rotator,.studio-account-menu,.studio-hamburger,[data-studio-search-open],.studio-membership-card,.site-language-switch,.studio-tools-menu){display:none!important}
  body.studio-theme.has-mobile-app-shell .studio-exact-actions>.studio-notification-menu{display:block!important}
  body.studio-theme.has-mobile-app-shell .studio-notification-trigger{border:0!important;background:transparent!important;width:44px!important;height:44px!important}
  body.has-mobile-app-shell [data-notification-badge][hidden]{display:none!important}
  .has-mobile-app-shell .mobile-app-back{display:grid;place-items:center;flex:none;width:40px;height:44px;color:var(--studio-color-text);border:0;text-decoration:none}
  [dir="rtl"] .mobile-app-back svg{transform:rotate(180deg)}
  /* Browse destinations have their own space after the hero, without a second header. */
  .has-mobile-app-shell .mobile-app-quick-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;position:relative;margin:24px 16px 12px;padding:16px 0;border-block:1px solid var(--studio-color-border)}
  .mobile-app-quick-links>a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:76px;padding:10px 3px;border:1px solid var(--studio-color-border);border-radius:16px;color:var(--studio-color-text);background:var(--studio-component-control-bg);font-size:11px;font-weight:700;text-align:center;text-decoration:none;line-height:1.6}
  .mobile-app-quick-links svg{width:24px;height:24px;fill:none;stroke:var(--studio-color-accent);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
  body.studio-theme.has-mobile-app-shell .studio-header-nav-group>nav[data-studio-exact-nav]{max-height:calc(100dvh - var(--studio-mobile-header-popover-top,76px) - var(--mobile-app-dock-height) - 12px)!important;border-radius:20px!important}
  body.studio-theme.has-mobile-app-shell .studio-navigation-frame>.studio-compact-shortcuts{display:grid!important;position:relative!important;inset:auto!important;grid-template-columns:repeat(var(--studio-shortcut-count,2),minmax(0,1fr));height:auto!important;min-height:0!important;gap:8px;padding:4px 12px 12px;visibility:visible;pointer-events:auto}
  body.studio-theme.has-mobile-app-shell .studio-compact-shortcuts>[data-mobile-app-shortcut]{display:block!important;position:relative;min-width:0;margin:0!important;width:auto!important}
  body.studio-theme.has-mobile-app-shell .studio-compact-shortcuts>[data-mobile-app-shortcut]>button{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:100%!important;min-width:0!important;min-height:44px!important;height:auto!important;padding:10px 6px!important;border:1px solid var(--studio-color-border)!important;border-radius:12px!important;background:var(--studio-component-control-bg)!important;color:var(--studio-color-text)!important;transform:none!important}
  body.studio-theme.has-mobile-app-shell .studio-compact-shortcuts>[data-mobile-app-shortcut]>button svg{width:19px!important;height:19px!important;flex:none;order:0}
  body.studio-theme.has-mobile-app-shell .studio-compact-shortcuts .studio-compact-shortcut-label{display:block!important;position:static!important;inset:auto!important;transform:none!important;font-size:12px!important;font-weight:700;line-height:1.4;order:1;white-space:nowrap}
  body.studio-theme.has-mobile-app-shell .studio-compact-shortcuts .site-language-switch>button>span:not(.studio-compact-shortcut-label){order:2;font-size:10px!important;color:var(--studio-color-text-muted)!important}
  body.studio-theme.has-mobile-app-shell .studio-compact-shortcuts .studio-tools-trigger>i{display:none!important}
  body.has-mobile-app-shell:is(.mobile-app-keyboard,:has([data-studio-search].is-visible)) .mobile-app-dock,
  body.has-mobile-app-shell:has([data-studio-search].is-visible) .a2-support-widget{visibility:hidden;pointer-events:none}
  body.has-mobile-app-shell .a2-support-widget{bottom:calc(var(--mobile-app-dock-height) + 12px)!important}
  /* The restore button is fixed independently of its widget, so it needs the same clearance. */
  body.has-mobile-app-shell .a2-support-widget[data-launcher-version] .a2-support-restore{bottom:calc(var(--mobile-app-dock-height) + 12px)!important}
  body.has-mobile-app-shell.mobile-app-menu-open .a2-support-widget{visibility:hidden;pointer-events:none}
  body.has-mobile-app-shell.mobile-app-menu-open .mobile-app-dock>a[aria-current="page"]{background:transparent;color:inherit}
  body.has-mobile-app-shell .a2-support-widget.is-open{bottom:calc(var(--mobile-app-dock-height) + 8px)!important}
  body.has-mobile-app-shell .a2-support-panel{max-height:calc(100dvh - var(--mobile-app-dock-height) - env(safe-area-inset-top,0px) - 24px)!important}
  body.has-mobile-app-shell:has(:fullscreen) .mobile-app-dock{display:none}
  /* The mobile footer contains only essential links and copyright; navigation lives in the dock. */
  body.studio-theme.has-mobile-app-shell .studio-exact-footer.studio-footer-responsive{margin-top:24px!important;padding:0!important;border-block-start:1px solid var(--studio-color-border)!important}
  body.studio-theme.has-mobile-app-shell .studio-footer-responsive :is(.site-footer__waves,.site-footer__hearts,.site-footer__main,.site-footer__tagline){display:none!important}
  body.studio-theme.has-mobile-app-shell .studio-footer-responsive .site-footer__shell{padding:14px 16px 20px!important}
  body.studio-theme.has-mobile-app-shell .studio-footer-responsive .site-footer__legal{display:flex!important;flex-direction:column;align-items:center;gap:8px;margin:0!important;padding:0!important;border:0!important}
  body.studio-theme.has-mobile-app-shell .studio-footer-responsive .site-footer__legal-links{display:flex!important;justify-content:center;flex-wrap:wrap;gap:4px 16px}
  body.studio-theme.has-mobile-app-shell .site-footer__legal-links>a:not(.site-footer__mobile-link){display:none!important}
  body.studio-theme.has-mobile-app-shell .site-footer__legal-links>.site-footer__mobile-link{min-height:44px;font-size:12px!important}
  body.studio-theme.has-mobile-app-shell .site-footer__legal .site-footer__rights{text-align:center!important;font-size:10px!important;line-height:1.8}
  /* Content comes before repeated hero decoration on the optional compact Home. */
  body.studio-theme.mobile-app-compact-home .studio-page .studio-exact-hero-in{gap:12px!important;padding:12px 16px 46px!important}
  body.studio-theme.mobile-app-compact-home .studio-page .studio-exact-grid{height:clamp(180px,49vw,245px)!important}
  body.studio-theme.mobile-app-compact-home .studio-page .studio-exact-grid>[data-studio-slide]{width:clamp(125px,34vw,165px)!important}
  body.studio-theme.mobile-app-compact-home .studio-page .studio-exact-copy{width:100%!important}
  body.studio-theme.mobile-app-compact-home .studio-page .studio-exact-copy h1{font-size:clamp(23px,6vw,30px)!important;line-height:1.4!important}
  body.studio-theme.mobile-app-compact-home .studio-page .studio-exact-copy .studio-hero-work-story{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:8px!important;font-size:12px!important}
  body.studio-theme.mobile-app-compact-home .studio-page :is(.studio-hero-work-genres,.studio-cine-proof,.studio-cine-community,.studio-cine-next-card,.studio-exact-mosaic-label){display:none!important}
  body.studio-theme.mobile-app-compact-home .studio-hero-work-facts>div:nth-child(n+4){display:none!important}
  body.studio-theme.mobile-app-compact-home .studio-page .studio-exact-buttons{margin-top:12px!important}
  body.studio-theme.mobile-app-compact-home .studio-page .studio-exact-dots{bottom:17px!important}
  body.studio-theme.mobile-app-compact-home .studio-page.studio-member-home .studio-responsive-section .studio-cine-slider{height:auto!important;min-height:0!important}
  body.studio-theme.mobile-app-compact-home .studio-page.studio-member-home .studio-responsive-section .studio-cine-inner{height:auto!important;min-height:0!important;width:100%!important;padding:18px 16px 58px!important;gap:14px!important}
  body.studio-theme.mobile-app-compact-home .studio-member-home .studio-cine-cards{height:210px!important;width:162px!important}
  body.studio-theme.mobile-app-compact-home .studio-member-home .studio-cine-card{height:210px!important;width:162px!important}
  body.studio-theme.mobile-app-compact-home .studio-member-home .studio-cine-card-copy{display:none!important}
  body.studio-theme.mobile-app-compact-home .studio-member-home .studio-cine-work-title{font-size:clamp(24px,6vw,30px)!important;line-height:1.4!important}
  body.studio-theme.mobile-app-compact-home .studio-page.studio-member-home .studio-cine-copy>p.studio-cine-synopsis{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical;overflow:hidden;margin-block:8px 14px!important}
  body.studio-theme.mobile-app-compact-home .studio-page .studio-cine-dots{bottom:22px!important}
  /* Page-local navigation stays useful while the shared app dock owns primary navigation. */
  body.has-mobile-app-shell.studio-title-detail .title-local-nav{position:relative!important;top:auto!important}
  body.has-mobile-app-shell.studio-title-detail .title-local-nav a{min-height:44px;font-size:12px}
  body.has-mobile-app-shell.studio-watch-page .w146-title nav{display:none!important}
  body.has-mobile-app-shell.studio-watch-page .w146-head{margin-bottom:12px!important}
  body.has-mobile-app-shell .a2-workspace-identity{display:none!important}
  body.has-mobile-app-shell .a2-workspace-nav a small{display:none!important}
  body.has-mobile-app-shell .a2-workspace-shell{padding-block:10px!important;gap:8px!important}
  body.has-mobile-app-shell .a2-workspace-nav a{min-height:44px!important}
}
@keyframes mobile-app-navigation-spin{to{transform:rotate(360deg)}}
@keyframes mobile-app-navigation-line{from{background-position:-90% 0}to{background-position:190% 0}}
@media(prefers-reduced-motion:reduce){.mobile-app-dock *,.mobile-app-navigation-feedback::before,.mobile-app-navigating::after{transition:none!important;animation:none!important}.mobile-app-navigating::after{background-position:center}}
