/* Aperture Home V23 — Android phone / tablet overrides.
   TV-specific rules are intentionally kept in platform-tv.css. */

/* ===== AHEI V22 — Adaptive Android / Android TV foundation ===== */
.android-app body{overscroll-behavior:none}
.android-app button,.android-app a,.android-app input,.android-app select{touch-action:manipulation}
.android-app.android-mobile .shell{display:block!important;min-height:100dvh!important;width:100%!important}
.android-app.android-mobile .sidebar{position:fixed!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;width:100%!important;height:68px!important;z-index:120!important;border:0!important;border-top:1px solid color-mix(in srgb,var(--line) 80%,transparent)!important;background:color-mix(in srgb,var(--panel) 94%,#080a0c 6%)!important;display:block!important;box-shadow:0 -10px 30px rgba(0,0,0,.12)!important}
.android-app.android-mobile .brand,.android-app.android-mobile .sidebarfoot,.android-app.android-mobile .sidebar-collapse-btn{display:none!important}
.android-app.android-mobile .nav{height:68px!important;display:flex!important;align-items:stretch!important;gap:2px!important;padding:4px 6px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;scroll-snap-type:x proximity!important}
.android-app.android-mobile .nav::-webkit-scrollbar{display:none!important}
.android-app.android-mobile .nav button{flex:0 0 78px!important;min-width:78px!important;height:58px!important;padding:6px 5px!important;border-radius:10px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;scroll-snap-align:center!important}
.android-app.android-mobile .nav button.active{background:color-mix(in srgb,var(--orange) 12%,var(--panel2))!important;border-color:color-mix(in srgb,var(--orange) 45%,var(--line))!important}
.android-app.android-mobile .nav .code{width:auto!important;font-size:9px!important;line-height:1!important}
.android-app.android-mobile .nav .nav-label{display:block!important;font-size:8px!important;line-height:1.05!important;white-space:nowrap!important}
.android-app.android-mobile .main{width:100%!important;min-width:0!important;padding-bottom:76px!important}
.android-app.android-mobile .topbar{position:sticky!important;top:0!important;z-index:80!important;height:52px!important;padding:0 12px!important;backdrop-filter:none!important}
.android-app.android-mobile .topbar h2{font-size:13px!important}
.android-app.android-mobile .topactions .pill{display:none!important}
.android-app.android-mobile .content{padding:10px!important;max-width:none!important;width:100%!important;overflow-x:hidden!important}
.android-app.android-mobile .footerstamp{display:none!important}
.android-app.android-mobile .homeportal,.android-app.android-mobile .category-homeportal,.android-app.android-mobile .media-homeportal{padding:0!important;min-height:0!important}
.android-app.android-mobile .homeportal-inner{max-width:none!important;margin:0!important}
.android-app.android-mobile .home-toprow,.android-app.android-mobile .media-home-toprow{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;margin-bottom:10px!important}
.android-app.android-mobile .home-ident,.android-app.android-mobile .media-home-ident{grid-column:1/2!important;min-width:0!important}
.android-app.android-mobile .home-ident .brand-logo,.android-app.android-mobile .media-home-ident .brand-logo{max-width:180px!important;max-height:42px!important}
.android-app.android-mobile .portal-search,.android-app.android-mobile .media-home-search{grid-column:1/-1!important;grid-row:auto!important;width:100%!important;min-width:0!important}
.android-app.android-mobile .portal-search input,.android-app.android-mobile .media-home-search input{min-height:44px!important;font-size:16px!important}
.android-app.android-mobile .home-actions,.android-app.android-mobile .media-home-actions{grid-column:2/3!important;gap:5px!important}
.android-app.android-mobile .home-action{width:42px!important;height:42px!important;min-height:42px!important}
.android-app.android-mobile .home-quickstrip{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
.android-app.android-mobile .grid.g4,.android-app.android-mobile .grid.g3,.android-app.android-mobile .grid.g2,.android-app.android-mobile .servicegrid,.android-app.android-mobile .devicegrid,.android-app.android-mobile .profilegrid{grid-template-columns:1fr!important}
.android-app.android-mobile .quick{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.android-app.android-mobile .service{min-height:72px!important}
.android-app.android-mobile .media-home-library-grid,.android-app.android-mobile .media-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.android-app.android-mobile .media-row{grid-auto-columns:minmax(128px,42vw)!important;gap:10px!important}
.android-app.android-mobile .media-row:has(.media-card.wide){grid-auto-columns:minmax(230px,72vw)!important}
.android-app.android-mobile .media-category-head{align-items:flex-start!important;gap:10px!important;padding:8px 0 12px!important}
.android-app.android-mobile .media-category-head h3{font-size:22px!important}
.android-app.android-mobile .media-detail-page{padding:0!important;width:100%!important;overflow:visible!important}
.android-app.android-mobile .media-detail-page-hero{min-height:0!important}
.android-app.android-mobile .media-detail-page-content{grid-template-columns:108px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;padding:18px 12px!important}
.android-app.android-mobile .media-detail-page-poster{width:108px!important;height:auto!important}
.android-app.android-mobile .media-detail-page-info{padding:0!important;max-width:none!important;background:transparent!important;border:0!important;backdrop-filter:none!important}
.android-app.android-mobile .media-detail-page-info h3{font-size:26px!important;line-height:1.05!important;margin:2px 0 8px!important}
.android-app.android-mobile .media-detail-page-info>p{font-size:13px!important;line-height:1.45!important}
.android-app.android-mobile .media-stream-options{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
.android-app.android-mobile .media-stream-options select,.android-app.android-mobile .media-play-main{width:100%!important;min-height:46px!important}
.android-app.android-mobile .media-user-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
.android-app.android-mobile .admin-layout,.android-app.android-mobile .profile-layout,.android-app.android-mobile .downloads-layout{grid-template-columns:1fr!important}
.android-app.android-mobile .table{display:block!important;overflow-x:auto!important;white-space:nowrap!important}
.android-app.android-mobile .login{grid-template-columns:1fr!important;min-height:100dvh!important}
.android-app.android-mobile .loginleft{display:none!important}
.android-app.android-mobile .loginright{min-height:100dvh!important;padding:24px 16px 92px!important}
.android-app.android-mobile .loginbox{width:100%!important;max-width:480px!important}
.android-app.android-mobile .auth-input,.android-app.android-mobile .pref-select,.android-app.android-mobile .btn,.android-app.android-mobile .loginbtn{min-height:46px!important;font-size:14px!important}
@media (min-width:700px) and (max-width:1100px){
 .android-app.android-mobile .content{padding:16px!important}
 .android-app.android-mobile .media-home-library-grid,.android-app.android-mobile .media-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 .android-app.android-mobile .grid.g4,.android-app.android-mobile .grid.g3,.android-app.android-mobile .servicegrid,.android-app.android-mobile .devicegrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .android-app.android-mobile .media-detail-page-content{grid-template-columns:minmax(150px,210px) minmax(0,1fr)!important;gap:24px!important;padding:24px!important}
 .android-app.android-mobile .media-detail-page-poster{width:100%!important;max-width:210px!important}
}

/* V23 mobile baseline */
.android-app.android-mobile body{min-width:0!important;overflow-x:hidden!important}
.android-app.android-mobile .sidebar{
  height:calc(68px + env(safe-area-inset-bottom,0px))!important;
  padding-bottom:env(safe-area-inset-bottom,0px)!important;
}
.android-app.android-mobile .main{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}
.android-app.android-mobile .content{padding-left:max(10px,env(safe-area-inset-left,0px))!important;padding-right:max(10px,env(safe-area-inset-right,0px))!important}
.android-app.android-mobile button,
.android-app.android-mobile a,
.android-app.android-mobile select,
.android-app.android-mobile input{max-width:100%}
.android-app.android-mobile .portal-search>button,
.android-app.android-mobile .media-home-search>button{display:none!important}
.android-app.android-mobile .portal-search input,
.android-app.android-mobile .media-home-search input{border-radius:8px!important}
.android-app.android-mobile .media-card,.android-app.android-mobile .media-library-tile{min-width:0!important}
.android-app.android-mobile .media-art img,.android-app.android-mobile .media-library-tile img{width:100%!important;height:100%!important;object-fit:cover!important}
.android-app.android-mobile .media-player-page{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;z-index:500!important;background:#000!important}
@media (max-width:520px){
  .android-app.android-mobile .home-quickstrip{grid-template-columns:1fr!important}
  .android-app.android-mobile .quick{grid-template-columns:1fr!important}
  .android-app.android-mobile .media-detail-page-content{grid-template-columns:1fr!important;padding:12px!important}
  .android-app.android-mobile .media-detail-page-poster{width:150px!important;max-width:42vw!important;justify-self:center!important}
  .android-app.android-mobile .media-detail-page-info h3{text-align:center!important;font-size:24px!important}
  .android-app.android-mobile .media-facts,.android-app.android-mobile .media-genres{justify-content:center!important}
  .android-app.android-mobile .media-user-actions{grid-template-columns:1fr!important}
  .android-app.android-mobile .media-home-library-grid,.android-app.android-mobile .media-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* V23.1 — phone navigation uses the page-title dropdown instead of the horizontal dock. */
@media(max-width:760px){
  .android-app.android-mobile .sidebar{display:none!important}
  .android-app.android-mobile .main{padding-bottom:env(safe-area-inset-bottom,0px)!important}
  .android-app.android-mobile .mobile-page-nav-backdrop{inset:52px 0 0!important}
  .android-app.android-mobile .mobile-page-nav-menu{top:58px!important;left:max(8px,env(safe-area-inset-left,0px))!important;right:max(8px,env(safe-area-inset-right,0px))!important}
}


/* V23.2 — Mobile media density + landscape dropdown navigation.
   Phones keep the page-title category menu in both orientations.
   Media category pages use 4 columns in portrait and 5 in landscape. */
.android-app.android-mobile .desktop-titlewrap{display:none!important}
.android-app.android-mobile .mobile-page-nav{display:block!important;min-width:0!important}
.android-app.android-mobile .sidebar{display:none!important}
.android-app.android-mobile .main{padding-bottom:env(safe-area-inset-bottom,0px)!important}
.android-app.android-mobile .mobile-page-nav-backdrop{inset:52px 0 0!important}
.android-app.android-mobile .mobile-page-nav-menu{
  top:58px!important;
  left:max(8px,env(safe-area-inset-left,0px))!important;
  right:max(8px,env(safe-area-inset-right,0px))!important;
}

@media (orientation:portrait){
  .android-app.android-mobile .media-category-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:7px!important;
    margin-top:12px!important;
  }
  .android-app.android-mobile .media-category-grid .media-card-meta{padding-top:5px!important}
  .android-app.android-mobile .media-category-grid .media-card-meta strong{font-size:10px!important;line-height:1.15!important}
  .android-app.android-mobile .media-category-grid .media-card-meta span{font-size:8px!important}
}

@media (orientation:landscape){
  .android-app.android-mobile .media-category-grid{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:6px 8px!important;
    margin-top:10px!important;
  }
  .android-app.android-mobile .media-category-head{
    padding:4px 0 8px!important;
    gap:8px!important;
  }
  .android-app.android-mobile .media-category-head h3{font-size:18px!important}
  .android-app.android-mobile .media-category-grid .media-card-meta{padding-top:4px!important}
  .android-app.android-mobile .media-category-grid .media-card-meta strong{font-size:10px!important;line-height:1.1!important}
  .android-app.android-mobile .media-category-grid .media-card-meta span{font-size:8px!important}
}

/* Keep the V23.1 dropdown fully styled when a phone is wider than 760px in landscape. */
.android-app.android-mobile .mobile-page-nav-toggle{
  min-height:44px!important;max-width:min(74vw,360px)!important;display:flex!important;align-items:center!important;
  gap:12px!important;padding:0 4px!important;border:0!important;background:transparent!important;color:var(--text)!important;
  text-align:left!important;cursor:pointer!important;
}
.android-app.android-mobile .mobile-page-nav-toggle .sectionno{flex:0 0 auto!important}
.android-app.android-mobile .mobile-page-nav-label{font-size:14px!important;font-weight:800!important;letter-spacing:.09em!important;text-transform:uppercase!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.android-app.android-mobile .mobile-page-nav-chevron{margin-left:2px!important;font-size:17px!important;line-height:1!important;color:var(--muted)!important;transition:transform .16s ease!important}
.android-app.android-mobile .mobile-page-nav-toggle[aria-expanded="true"] .mobile-page-nav-chevron{transform:rotate(180deg)!important}
.android-app.android-mobile .mobile-page-nav-backdrop{position:fixed!important;z-index:118!important;border:0!important;background:rgba(0,0,0,.38)!important;padding:0!important}
.android-app.android-mobile .mobile-page-nav-menu{position:fixed!important;z-index:119!important;max-height:min(70dvh,520px)!important;overflow:auto!important;padding:7px!important;background:color-mix(in srgb,var(--panel) 97%,#000 3%)!important;border:1px solid var(--line)!important;box-shadow:0 18px 46px rgba(0,0,0,.34)!important}
.android-app.android-mobile .mobile-page-nav-menu[hidden],.android-app.android-mobile .mobile-page-nav-backdrop[hidden]{display:none!important}
.android-app.android-mobile .mobile-page-nav-menu button{width:100%!important;min-height:48px!important;display:grid!important;grid-template-columns:34px minmax(0,1fr) auto!important;align-items:center!important;gap:9px!important;padding:8px 10px!important;border:1px solid transparent!important;border-bottom-color:var(--line)!important;background:transparent!important;color:var(--text)!important;text-align:left!important}
.android-app.android-mobile .mobile-page-nav-menu button:last-child{border-bottom-color:transparent!important}
.android-app.android-mobile .mobile-page-nav-menu button.active{background:color-mix(in srgb,var(--orange) 12%,var(--panel2))!important;border-color:color-mix(in srgb,var(--orange) 42%,var(--line))!important}
.android-app.android-mobile .mobile-page-nav-menu .code{font:10px "Cascadia Code",monospace!important;color:var(--muted)!important}
.android-app.android-mobile .mobile-page-nav-menu .nav-label{font-size:13px!important;font-weight:750!important;letter-spacing:.04em!important}
.android-app.android-mobile .mobile-page-nav-current{font:9px "Cascadia Code",monospace!important;color:var(--orange)!important;letter-spacing:.08em!important}
.android-app.android-mobile.mobile-nav-open,.android-app.android-mobile.mobile-nav-open body{overflow:hidden!important}


/* ===== V23.11.2.2 — Fold/tablet responsive stabilization ===== */
.android-app.android-mobile .home-mainportal .home-toprow{
  position:relative!important;
  grid-template-columns:minmax(0,1fr) auto!important;
}
.android-app.android-mobile .home-mainportal .home-ident{
  grid-column:1/-1!important;
  grid-row:1!important;
  width:100%!important;
  min-width:0!important;
  justify-content:center!important;
  pointer-events:none;
}
.android-app.android-mobile .home-mainportal .home-ident .brand-home{
  width:min(205px,56vw)!important;
  margin-inline:auto!important;
}
.android-app.android-mobile .home-mainportal .home-ident .brand-logo{
  width:100%!important;
  max-width:205px!important;
  object-position:center center!important;
  margin-inline:auto!important;
}
.android-app.android-mobile .home-mainportal .home-actions{
  grid-column:2/3!important;
  grid-row:1!important;
  position:relative!important;
  z-index:2!important;
}
.android-app.android-mobile .home-mainportal .portal-search{
  grid-column:1/-1!important;
  grid-row:2!important;
}

/* Foldables can report a portrait orientation while exposing tablet-like CSS
   widths. Width controls density; orientation only refines the widest case. */
@media (min-width:600px) and (max-width:899px){
  .android-app.android-mobile .media-home-library-grid,
  .android-app.android-mobile .media-category-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:8px!important;
  }
}
@media (min-width:900px){
  .android-app.android-mobile .media-home-library-grid,
  .android-app.android-mobile .media-category-grid{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:9px!important;
  }
}
.android-app.android-mobile .media-home-library-grid,
.android-app.android-mobile .media-category-grid{
  grid-auto-flow:row!important;
  align-items:start!important;
}


/* ===== V23.11.2.2 — Android media density + footer info strip ===== */
.android-app.android-mobile .media-quickstrip-bottom{margin-top:14px!important;margin-bottom:8px!important}
@media (max-width:599px){
  .android-app.android-mobile .media-home-library-grid,
  .android-app.android-mobile .media-category-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .android-app.android-mobile .media-home-library-grid .media-custom-category-meta strong,
  .android-app.android-mobile .media-category-grid .media-card-meta strong{font-size:10px!important;line-height:1.1!important}
  .android-app.android-mobile .media-home-library-grid .media-custom-category-meta span,
  .android-app.android-mobile .media-category-grid .media-card-meta span{font-size:8px!important}
}


/* ===== V23.14.3 — Assistant Android: dense layout, complete controls ===== */
.android-app.android-mobile .assistant-workspace{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;height:auto!important;min-height:0!important}
.android-app.android-mobile .assistant-conversations{display:flex!important;max-height:172px!important;min-height:0!important}.android-app.android-mobile .assistant-conv-head{padding:9px 10px!important}.android-app.android-mobile .assistant-conv-head strong{font-size:11px!important}
.android-app.android-mobile .assistant-conv-head .btn{width:34px!important;min-width:34px!important;min-height:30px!important;height:30px!important;padding:0!important;font-size:12px!important}.android-app.android-mobile .assistant-conv-list{padding:5px!important;gap:3px!important;max-height:88px!important}
.android-app.android-mobile .assistant-conv-item{min-height:34px!important;padding:7px 9px!important}.android-app.android-mobile .assistant-conv-item span{font-size:9px!important}.android-app.android-mobile .assistant-conv-item small{font-size:7px!important}.android-app.android-mobile .assistant-conv-actions{padding:6px!important;gap:5px!important}.android-app.android-mobile .assistant-conv-actions .btn{min-height:32px!important;padding:6px!important;font-size:8px!important}
.android-app.android-mobile .assistant-chatpanel{display:flex!important;flex-direction:column!important;height:min(62dvh,660px)!important;min-height:420px!important;overflow:hidden!important}.android-app.android-mobile .assistant-chatpanel .chathead{min-height:54px!important;padding:9px 11px!important}.android-app.android-mobile .assistant-chatpanel .chathead strong{font-size:13px!important}.android-app.android-mobile .assistant-chatpanel .chathead .small{font-size:7px!important}.android-app.android-mobile .assistant-live-status{font-size:7px!important;padding:4px 6px!important}
.android-app.android-mobile .assistant-chatpanel .chatscroll{min-height:0!important;flex:1!important;padding:10px!important}.android-app.android-mobile .assistant-welcome{gap:5px!important;padding:12px!important}.android-app.android-mobile .assistant-welcome strong{font-size:16px!important}.android-app.android-mobile .assistant-welcome span{font-size:11px!important;line-height:1.45!important;max-width:92%!important}
.android-app.android-mobile .assistant-chatpanel .compose{grid-template-columns:40px minmax(0,1fr) auto!important;gap:6px!important;padding:8px!important}.android-app.android-mobile .assistant-chatpanel .compose .ptt-btn{width:40px!important;min-width:40px!important;min-height:40px!important;height:40px!important}.android-app.android-mobile .assistant-chatpanel .compose textarea{min-height:40px!important;max-height:92px!important;padding:9px 10px!important;font-size:13px!important;line-height:1.3!important}.android-app.android-mobile .assistant-chatpanel .compose .btn{min-height:40px!important;height:40px!important;padding:0 12px!important;font-size:9px!important}
.android-app.android-mobile .assistant-workspace>.assistant-module{display:block!important;min-width:0!important;margin:0!important}.android-app.android-mobile .assistant-module .cardbody{padding:10px!important}.android-app.android-mobile .assistant-portrait{height:132px!important;margin:-10px -10px 10px!important}.android-app.android-mobile .assistant-portrait img{max-height:128px!important}.android-app.android-mobile .assistant-portrait.glados img{max-height:148px!important;transform:translateY(10px)!important}.android-app.android-mobile .assistant-name{font-size:18px!important;margin:0 0 7px!important}.android-app.android-mobile .assistant-module .personality-kicker,.android-app.android-mobile .assistant-module .personality-role{font-size:8px!important}.android-app.android-mobile .assistant-module p.small{font-size:9px!important;margin:6px 0!important}.android-app.android-mobile .assistant-vumeter{height:20px!important;margin:2px 0!important}.android-app.android-mobile .assistant-module .modrow{min-height:28px!important;padding:6px 0!important}.android-app.android-mobile .assistant-module .modrow span{font-size:7px!important}.android-app.android-mobile .assistant-module .btn{min-height:32px!important;padding:6px 8px!important;font-size:8px!important}.android-app.android-mobile .assistant-module .sectionlabel{margin-top:12px!important;font-size:9px!important}
@media (min-width:700px){.android-app.android-mobile .assistant-workspace{grid-template-columns:180px minmax(0,1fr) 230px!important;gap:8px!important;height:calc(100dvh - 76px)!important;min-height:500px!important}.android-app.android-mobile .assistant-conversations{max-height:none!important}.android-app.android-mobile .assistant-conv-list{max-height:none!important}.android-app.android-mobile .assistant-chatpanel{height:auto!important;min-height:0!important}.android-app.android-mobile .assistant-module .cardbody{height:100%;overflow:auto!important}.android-app.android-mobile .assistant-portrait{height:112px!important}.android-app.android-mobile .assistant-portrait img{max-height:108px!important}.android-app.android-mobile .assistant-portrait.glados img{max-height:128px!important}}
