/* V15.4 — Gapless Audio + Senior Mobile UX */
#aea5-app.ada154-gapless{--aea154-touch:58px;--aea154-body:18px;--aea154-small:16px;}

/* Desktop/tablet assistant stays compact and non-blocking. */
#aea5-app.ada154-gapless .aea5-angel{
  max-width:520px!important;
  pointer-events:auto!important;
}
#aea5-app.ada154-gapless .aea5-angel-head{
  position:sticky!important;
  top:-1px!important;
  z-index:20!important;
  padding-top:2px!important;
  background:linear-gradient(180deg,rgba(255,250,243,.99) 0%,rgba(255,250,243,.97) 82%,rgba(255,250,243,0) 100%)!important;
}
#aea5-app.ada154-gapless .ada153-close-assistant{
  min-height:52px!important;
  min-width:100px!important;
  font-size:16px!important;
}
#aea5-app.ada154-gapless .ada153-close-assistant strong{font-size:16px!important}

/* Clearer senior controls. */
#aea5-app.ada154-gapless .ada13-start>button,
#aea5-app.ada154-gapless .ada153-senior-actions>button{
  min-height:72px!important;
  font-size:17px!important;
}
#aea5-app.ada154-gapless .ada13-start>button strong,
#aea5-app.ada154-gapless .ada153-senior-actions strong{font-size:17px!important;line-height:1.28!important}
#aea5-app.ada154-gapless .ada13-start>button small,
#aea5-app.ada154-gapless .ada153-senior-actions small{font-size:15px!important;line-height:1.5!important}
#aea5-app.ada154-gapless .ada13-more>summary{min-height:52px!important;font-size:16px!important;font-weight:800!important}

/* Easy-reading / “sin lentes” mode. */
#aea5-app.ada154-gapless.is-reading-clear main p,
#aea5-app.ada154-gapless.is-reading-clear main li,
#aea5-app.ada154-gapless.is-reading-clear main dd,
#aea5-app.ada154-gapless.is-reading-clear main figcaption{font-size:20px!important;line-height:1.72!important}
#aea5-app.ada154-gapless.is-reading-clear main a,
#aea5-app.ada154-gapless.is-reading-clear main button{font-size:18px!important;min-height:54px!important}
#aea5-app.ada154-gapless.is-reading-clear main .aea5-container{max-width:1120px!important}
#aea5-app.ada154-gapless.is-reading-clear .aea5-angel p,
#aea5-app.ada154-gapless.is-reading-clear .aea5-angel small{font-size:17px!important;line-height:1.65!important}
#aea5-app.ada154-gapless.is-reading-clear .aea5-angel button{font-size:18px!important;min-height:60px!important}

/* HUD: precise, visible, never opaque over copy. */
.ada150-hud-line{background:rgba(99,199,225,.035)!important;box-shadow:0 0 0 2px rgba(67,187,214,.045),0 0 18px rgba(67,187,214,.12)!important}
.ada150-hud-marker i{width:12px!important;height:12px!important}
.ada150-hud-marker b{width:34px!important;height:34px!important}
#aea5-app.is-reading-clear~.ada150-hud-layer .ada150-hud-marker i{width:16px!important;height:16px!important}
#aea5-app.is-reading-clear~.ada150-hud-layer .ada150-hud-marker b{width:40px!important;height:40px!important}

/* Floating assistant access on small screens when the panel is closed. */
.aea154-mobile-assistant-trigger{
  display:none;
  position:fixed;
  right:14px;
  bottom:calc(16px + env(safe-area-inset-bottom,0px));
  z-index:2200;
  min-height:58px;
  padding:0 18px;
  border:1px solid rgba(55,88,77,.16);
  border-radius:18px;
  background:#dfece6;
  color:#29433a;
  box-shadow:0 12px 28px rgba(45,64,57,.17);
  font:800 17px/1 Manrope,sans-serif;
}

@media(max-width:640px){
  #aea5-app.ada154-gapless{--aea154-body:18px;--aea154-small:16px;}
  #aea5-app.ada154-gapless .aea5-angel{
    position:fixed!important;
    top:calc(var(--aea-adminbar,0px) + 6px)!important;
    left:6px!important;
    right:6px!important;
    bottom:calc(6px + env(safe-area-inset-bottom,0px))!important;
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    max-height:calc(100dvh - var(--aea-adminbar,0px) - 12px - env(safe-area-inset-bottom,0px))!important;
    padding:calc(14px + env(safe-area-inset-top,0px)) 14px calc(16px + env(safe-area-inset-bottom,0px))!important;
    border-radius:20px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
  }
  #aea5-app.ada154-gapless .aea5-angel-head{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
    margin:-2px -2px 10px!important;
    padding:4px 2px 12px!important;
  }
  #aea5-app.ada154-gapless .aea5-angel-head h2{
    font-size:28px!important;
    line-height:1.03!important;
    max-width:12ch!important;
    margin:1px 0 6px!important;
  }
  #aea5-app.ada154-gapless .aea5-angel-head>div>p:last-child{
    font-size:16px!important;
    line-height:1.48!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  #aea5-app.ada154-gapless .aea5-eyebrow{font-size:14px!important}
  #aea5-app.ada154-gapless .ada153-close-assistant{
    position:sticky!important;
    top:0!important;
    min-width:98px!important;
    min-height:54px!important;
    padding:0 12px!important;
    background:#fffaf3!important;
  }
  /* Mobile first screen is intentionally short. */
  #aea5-app.ada154-gapless:not(.is-companion) .ada13-orientation,
  #aea5-app.ada154-gapless:not(.is-companion) .ada148-reader,
  #aea5-app.ada154-gapless:not(.is-companion) .ada131-speech-progress,
  #aea5-app.ada154-gapless:not(.is-companion) .aea5-live{display:none!important}
  #aea5-app.ada154-gapless .ada13-start{gap:9px!important;margin-top:8px!important}
  #aea5-app.ada154-gapless .ada13-start>button{
    min-height:66px!important;
    padding:11px 12px!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    column-gap:10px!important;
  }
  #aea5-app.ada154-gapless .ada13-start>button>span:first-child{width:40px!important;height:40px!important}
  #aea5-app.ada154-gapless .ada13-start>button strong{font-size:17px!important}
  #aea5-app.ada154-gapless .ada13-start>button small{font-size:15px!important;line-height:1.42!important}
  #aea5-app.ada154-gapless .ada13-more{margin-top:8px!important}
  #aea5-app.ada154-gapless .ada13-more>summary{
    min-height:54px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding:10px 13px!important;
    border-radius:15px!important;
    background:#f5efe7!important;
    border:1px solid rgba(52,72,64,.10)!important;
  }
  #aea5-app.ada154-gapless .ada8-angel-layout>section{padding:14px 0!important}
  #aea5-app.ada154-gapless .ada8-angel-layout h3{font-size:21px!important}
  #aea5-app.ada154-gapless .ada7-voice-controls label>span,
  #aea5-app.ada154-gapless .ada8-page-tone>span{font-size:16px!important;font-weight:700!important}
  #aea5-app.ada154-gapless .ada7-voice-controls select,
  #aea5-app.ada154-gapless .ada8-page-tone select{min-height:56px!important;font-size:17px!important}
  #aea5-app.ada154-gapless .ada153-location-card{padding:14px!important;gap:5px!important}
  #aea5-app.ada154-gapless .ada153-location-card>span{font-size:14px!important}
  #aea5-app.ada154-gapless .ada153-location-card h3{font-size:28px!important;line-height:1.06!important}
  #aea5-app.ada154-gapless .ada153-location-card p{font-size:16.5px!important;line-height:1.5!important}
  #aea5-app.ada154-gapless .ada153-senior-actions>button{min-height:64px!important;padding:10px 12px!important}
  #aea5-app.ada154-gapless .ada153-senior-secondary{gap:4px 12px!important}
  #aea5-app.ada154-gapless .ada153-senior-secondary button{font-size:16px!important;min-height:48px!important}
  #aea5-app.ada154-gapless .ada153-senior-progress{padding:10px 12px!important}
  #aea5-app.ada154-gapless .ada153-senior-progress strong{font-size:16px!important}
  #aea5-app.ada154-gapless .ada153-senior-progress span{font-size:15px!important}
  .aea154-mobile-assistant-trigger{display:flex;align-items:center;justify-content:center}
  #aea5-app.ada153-assistant-open~.aea154-mobile-assistant-trigger,
  body.aea5-panel-open .aea154-mobile-assistant-trigger{display:none!important}
  /* Compact companion controls when panel is closed. */
  #aea5-app.ada154-gapless.is-companion:not(.ada153-assistant-open){padding-bottom:178px!important}
  #aea5-app.ada154-gapless.is-companion:not(.ada153-assistant-open) .ada121-companion-bar{
    display:grid!important;
    grid-template-columns:1fr 1fr 1fr!important;
    grid-template-areas:"where where where" "prev play next" "home exit exit"!important;
    gap:6px!important;
    padding:7px!important;
    bottom:calc(5px + env(safe-area-inset-bottom,0px))!important;
  }
  #aea5-app.ada154-gapless .ada121-companion-bar button{min-height:54px!important;font-size:16px!important}
  #aea5-app.ada154-gapless .ada121-companion-where strong{font-size:16px!important}
  #aea5-app.ada154-gapless .ada121-companion-where small{font-size:14px!important}
  /* Mobile HUD only shows compact progress label. */
  .ada150-hud-label{min-height:26px!important;padding:5px 8px!important;max-width:120px!important;font-size:0!important;gap:5px!important}
  .ada150-hud-label span{display:none!important}
  .ada150-hud-label strong{font-size:13px!important}
  .ada150-hud-marker{width:22px!important;height:22px!important}
}

@media(max-width:380px){
  #aea5-app.ada154-gapless .aea5-angel{left:4px!important;right:4px!important;padding:12px!important}
  #aea5-app.ada154-gapless .aea5-angel-head h2{font-size:25px!important}
  #aea5-app.ada154-gapless .ada13-start>button strong{font-size:16.5px!important}
  #aea5-app.ada154-gapless .ada13-start>button small{font-size:14.5px!important}
}

@media(orientation:landscape) and (max-height:560px){
  #aea5-app.ada154-gapless .aea5-angel{max-height:calc(100dvh - var(--aea-adminbar,0px) - 8px)!important;top:calc(var(--aea-adminbar,0px) + 4px)!important;bottom:4px!important}
  #aea5-app.ada154-gapless .aea5-angel-head h2{font-size:24px!important}
  #aea5-app.ada154-gapless .aea5-angel-head>div>p:last-child{display:none!important}
}

@media(prefers-reduced-motion:reduce){
  #aea5-app.ada154-gapless *, .ada150-hud-layer *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

.aea154-first-visit{
  display:grid;
  gap:8px;
  margin:8px 0 12px;
  padding:14px;
  border-radius:17px;
  background:#eef5f0;
  border:1px solid rgba(69,101,89,.13);
}
.aea154-first-visit>strong{font-size:18px!important;line-height:1.25!important;color:#2b4139!important}
.aea154-first-visit>span{font-size:16px!important;line-height:1.5!important;color:#586a63!important}
.aea154-first-visit>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.aea154-first-visit button{min-height:56px!important;font-size:16.5px!important;font-weight:800!important;border-radius:14px!important}
.aea154-first-visit button:first-child{background:#dcecf2!important;border-color:#a8cbd7!important}
@media(max-width:380px){.aea154-first-visit>div{grid-template-columns:1fr!important}}
