/* Álex Quest 3.11.35: visual, onboarding y modo Creador.
   Deliberadamente NO se modifican las medidas del dock corregidas en 3.11.34. */
#appHeader #utilityPanel :is(.header-action,#parentButton,.menu-help-link):is(:focus,:focus-visible,:active){
  outline:0!important;outline-offset:0!important;box-shadow:none!important;
  border:0!important;border-color:transparent!important;
}
#appHeader #utilityPanel :is(.header-action,#parentButton,.menu-help-link):focus-visible :is(span,svg){
  text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;
  box-shadow:none!important;
}
/* New child's onboarding: no active weeks, seasonal banner or navigation. */
body.setup-pending #bottomNav{display:none!important}
body.setup-pending[data-view="home"]{grid-template-rows:minmax(0,1fr)!important}
body.setup-pending[data-view="home"] .app-shell{grid-area:1/1/2/2!important}
body.setup-pending #gamesButton,body.setup-pending #coachButton{filter:saturate(.58);opacity:.7}
body.setup-pending .aq-join-family{display:grid;gap:9px}
body.setup-pending .season-month,body.setup-pending .season-home-title{display:none!important}
/* Two soft atmospheric volumes across the banner/background join, without covering controls. */
body[data-view="home"] #appHeader{isolation:isolate}
body[data-view="home"] #appHeader::after{
  content:"";position:absolute;left:0;right:0;bottom:-30px;height:82px;pointer-events:none;
  background:radial-gradient(ellipse 55% 42% at 19% 70%,#cfe7f29c,transparent),
    radial-gradient(ellipse 56% 38% at 76% 79%,#e5f6fb9a,transparent),
    linear-gradient(to bottom,transparent,#c6ddeb25 72%,transparent);
  filter:blur(13px);opacity:.63;z-index:0;
}
#appHeader .surface-rail{z-index:5;position:relative}
@media(prefers-reduced-motion:no-preference){
 body[data-view="home"] #appHeader::after{animation:aqMistWake 15s ease-in-out infinite alternate}
}
@keyframes aqMistWake{to{opacity:.48;transform:translateX(5px)}}
/* Help and update: dot immediately leads into an inflating floating bubble. */
body[data-view="home"] .pixel-help-thought .pixel-thought-dot{
 animation:aqBubbleSeed 240ms ease-out both!important;transform-origin:center;
}
body[data-view="home"] .pixel-help-thought > .pixel-help-question{
 animation:aqBubbleAppear 500ms cubic-bezier(.16,1.55,.35,1) 90ms both,
           aqBubbleFloat 3900ms ease-in-out 590ms infinite!important;
 transform-origin:50% 75%;
}
body[data-view="home"] .pixel-update-thought > .pixel-update-question{
 animation:aqBubbleAppear 500ms cubic-bezier(.16,1.55,.35,1) 90ms both,
           aqBubbleFloat 3900ms ease-in-out 590ms infinite,
           aqUpdateGlow 2300ms ease-in-out 590ms infinite!important;
}
body[data-view="home"] .pixel-help-thought.aq-thought-pop-exit > .pixel-help-question,
body[data-view="home"] .pixel-help-thought.aq-thought-pop-exit > .pixel-thought-dot{
 animation:aqBubblePop 340ms ease-out both!important;
 pointer-events:none!important;
}
@keyframes aqBubbleSeed{0%{opacity:0;transform:scale(.2)}70%{opacity:1;transform:scale(1.3)}100%{transform:scale(1)}}
@keyframes aqBubbleAppear{0%{opacity:0;transform:scale(.18) translateY(8px)}65%{opacity:1;transform:scale(1.18) translateY(-2px)}85%{transform:scale(.94)}100%{opacity:1;transform:scale(1)}}
@keyframes aqBubbleFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes aqUpdateGlow{0%,100%{filter:brightness(1)}50%{filter:brightness(1.14) drop-shadow(0 0 5px #7fe3ff)}}
@keyframes aqBubblePop{0%{opacity:1;filter:blur(0)}38%{opacity:1;transform:scale(1.27)}100%{opacity:0;transform:scale(1.48);filter:blur(6px)}}
@media(prefers-reduced-motion:reduce){
 body[data-view="home"] .pixel-help-thought > .pixel-help-question,
 body[data-view="home"] .pixel-help-thought .pixel-thought-dot,
 body[data-view="home"] .pixel-help-thought.aq-thought-pop-exit > *{animation:none!important}
}
/* Loading: black background, clear logo and stage progress, never fake percentages. */
html,body{background-color:#040406}
#bootIntro.aq-boot-intro{background:radial-gradient(ellipse at 50% 37%,#17191f 0%,#08090e 62%,#000 100%)!important;gap:clamp(10px,2vh,20px)!important;align-content:center!important;padding:18px 18px max(24px,env(safe-area-inset-bottom))!important}
#bootIntro .aq-boot-video-frame{width:min(74vw,320px)!important;box-shadow:0 12px 32px #0008,0 0 0 1px #cdefff45!important}
#bootIntro #bootLogo{width:clamp(170px,57vw,255px)!important;max-height:90px!important;object-fit:contain!important}
#bootIntro .aq-boot-status{position:static!important;inset:auto!important;font:750 clamp(16px,4.5vw,20px)/1.35 system-ui,-apple-system,sans-serif!important;max-width:90vw!important;color:#f1f7ff!important;margin:2px 0 1px!important;text-shadow:none!important}
#bootIntro .aq-boot-progress{width:min(62vw,240px);height:9px;overflow:hidden;border:1px solid #91c9e9a0;background:#1b2938;border-radius:100px;box-shadow:0 0 0 2px #ffffff0c;position:relative}
#bootIntro #bootProgress{display:block;width:4%;height:100%;background:linear-gradient(90deg,#62c2ff,#b5e9ff);border-radius:inherit;transition:width .35s ease-out;box-shadow:0 0 10px #7dceff73}
@media(max-height:700px){#bootIntro .aq-boot-video-frame{width:min(50vh,245px)!important}#bootIntro #bootLogo{max-height:65px!important}}
/* The active Creator badge never replaces Pixel or changes header dimensions. */
body.aq-creator-active #brandHome::before{content:"";position:absolute;inset:-6px;border:3px solid #c8f4ffb8;border-radius:36px;box-shadow:0 0 12px 3px #66bfffaa,0 0 27px 6px #75c8fe66;pointer-events:none;z-index:4;animation:aqHalo 3s ease-in-out infinite alternate}
body.aq-creator-active #brandHome{position:relative;isolation:isolate}
#brandHome.aq-creator-flash img{animation:aqCreatorFlash 750ms ease-in-out 1!important}
@keyframes aqHalo{to{box-shadow:0 0 15px 4px #a3eaffd8,0 0 32px 9px #64bdff65}}
@keyframes aqCreatorFlash{20%,65%{filter:brightness(1.45) drop-shadow(0 0 12px #fff)}50%{filter:brightness(2)}}
.creator-mode-note{padding:9px 12px;background:#d5f2ff;border-radius:14px;color:#214665;font-weight:800}
@media(prefers-reduced-motion:reduce){body.aq-creator-active #brandHome::before{animation:none!important}}
