
/* Installed iOS can initially report a short dynamic viewport. Keep the document canvas full-height; dock rules stay unchanged. */
@media(display-mode:standalone){html:root:root,html:root:root body:is(.studentApp,.athvCoach){min-height:100vh!important;min-height:100lvh!important}}
html:root:root[data-av-entry],html:root:root[data-av-entry] body{overflow:visible!important}html:root:root #athvEntry{min-height:100lvh!important;overscroll-behavior:none;touch-action:none}/* Aura entry only. No app layout, header or dock rules. */
html[data-av-entry],html[data-av-entry] body::after{background:#111411!important}
html[data-av-entry] #athvEntry,html #athvEntry{position:fixed!important;inset:0!important;z-index:100000!important;box-sizing:border-box!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;max-width:none!important;padding:0!important;margin:0!important;border:0!important;display:block!important;overflow:hidden!important;background:#111411!important;color:#f5f6f2!important;transform:none!important;isolation:isolate;transition:opacity 320ms ease!important}
html #athvEntry[hidden]{display:none!important}
html #athvEntry::before{content:""!important;position:absolute!important;inset:-10%!important;z-index:-1!important;pointer-events:none!important;background:radial-gradient(ellipse at 70% 28%,rgba(186,255,50,.17),transparent 43%),radial-gradient(ellipse at 14% 83%,rgba(134,173,22,.11),transparent 48%)!important;animation:avAuraDrift 3s ease-in-out both!important}
html #athvEntry::after{content:none!important;display:none!important}
html #athvEntry #athvEntryLogo{position:absolute!important;left:50%!important;top:calc(50% - 76px)!important;transform:translate(-50%,-50%)!important;width:220px!important;height:147px!important;max-width:calc(100% - 48px)!important;object-fit:contain!important;display:block!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;filter:brightness(0) invert(1)!important;opacity:1!important;animation:avAuraLogo 800ms cubic-bezier(.2,.7,.2,1) both!important}
html #athvEntry .avAuraBrand{position:absolute;top:calc(50% - 12px);left:max(24px,env(safe-area-inset-left,0px));right:max(24px,env(safe-area-inset-right,0px));font:700 23px/1.3 Inter,Arial,sans-serif;letter-spacing:3px;text-align:center;animation:avAuraText 700ms 200ms ease both}
html #athvEntry #athvEntryContent,html #athvEntry #athvEntryError{position:absolute;box-sizing:border-box;top:calc(50% + 57px);left:50%;transform:translateX(-50%);width:calc(100% - 48px);max-width:420px;margin:0;padding:0;text-align:center}
html #athvEntry #athvEntryContent{animation:avAuraWelcome 2200ms ease both!important}
html #athvEntry #athvEntryContent[hidden],html #athvEntry #athvEntryError[hidden]{display:none!important}
html #athvEntry h2{font:500 20px/1.3 Inter,Arial,sans-serif;margin:0 0 10px;overflow-wrap:anywhere}
html #athvEntry p{color:#b4bdb0!important;margin:0;font:400 13px/1.5 Inter,Arial,sans-serif}
html #athvEntry #athvEntryError button{margin-top:16px}
@keyframes avAuraLogo{from{opacity:0;transform:translate(-50%,calc(-50% + 12px)) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes avAuraText{from{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}
@keyframes avAuraWelcome{0%{opacity:0;translate:0 9px}25%,72%{opacity:1;translate:0 0}100%{opacity:0;translate:0 -4px}}
@keyframes avAuraDrift{from{opacity:.2;transform:translate(-12px,12px) scale(.95)}60%{opacity:1}to{opacity:.75;transform:translate(16px,-14px) scale(1.08)}}
@media(max-height:420px){html #athvEntry #athvEntryLogo{top:calc(50% - 55px)!important;width:156px!important;height:105px!important}html #athvEntry .avAuraBrand{top:calc(50% - 8px);font-size:19px}html #athvEntry #athvEntryContent,html #athvEntry #athvEntryError{top:calc(50% + 35px)}html #athvEntry h2{font-size:18px;margin-bottom:6px}}
@media(prefers-reduced-motion:reduce){html #athvEntry,html #athvEntry *,html #athvEntry::before{animation:none!important;transition:none!important}}
