.pwa-button:focus-visible,.pwa-link:focus-visible{outline:3px solid #1f5a49;outline-offset:3px}.pwa-button,.pwa-link{min-height:44px;padding:10px 16px;border:0;border-radius:12px;font-family:inherit;font-weight:700;font-size:14px;line-height:1.5;cursor:pointer}.pwa-button{background:#1f5a49;color:#fffdf8}.pwa-link{background:transparent;color:#1f5a49;text-decoration:underline;text-underline-offset:3px}.pwa-button:disabled{opacity:.55;cursor:wait}.pwa-status{padding:16px max(20px,env(safe-area-inset-right)) 16px max(20px,env(safe-area-inset-left));color:#183b35;background:#fff0c7}.pwa-status p{max-width:65ch;margin:0 0 8px;line-height:1.65}.pwa-boot{padding:25vh 24px;text-align:center;color:#1f5a49}.pwa-boot strong{font-size:28px}.pwa-boot p{font-size:16px}html.pwa-standalone body{padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}html.pwa-standalone .formal-v3-frame,html.pwa-standalone .app-shell,html.pwa-standalone .app-layout{min-height:calc(100vh - env(safe-area-inset-top))}html.pwa-standalone .side,html.pwa-standalone .workspace{height:calc(100vh - env(safe-area-inset-top))}html.pwa-standalone .mobile-nav{padding-bottom:max(10px,env(safe-area-inset-bottom));padding-left:max(6px,env(safe-area-inset-left));padding-right:max(6px,env(safe-area-inset-right))}html.pwa-standalone .content{padding-bottom:calc(38px + env(safe-area-inset-bottom))}@media(max-width:900px){html.pwa-standalone .content{padding-bottom:calc(100px + env(safe-area-inset-bottom))}html.pwa-standalone .auth-panel{padding-bottom:calc(28px + env(safe-area-inset-bottom))}}@media(max-width:900px){html.pwa-standalone .app-shell:is(.teacher,.family){height:calc(100vh - env(safe-area-inset-top));height:calc(100dvh - env(safe-area-inset-top));min-height:0}html.pwa-standalone .app-shell:is(.teacher,.family) .workspace{height:100%;min-height:0}}.pwa-status.pwa-update-notice:not([hidden]){position:fixed;top:78px;right:20px;left:auto;z-index:150;width:min(420px,calc(100% - 32px));padding:14px 18px;border:1px solid #e4d9ac;border-radius:12px;box-shadow:0 8px 28px #183b3520;font-size:13px}.pwa-update-notice .pwa-button{min-height:36px}.pwa-update-notice p{margin-bottom:10px}@media(max-width:700px){.pwa-status.pwa-update-notice:not([hidden]){top:70px;right:16px}}
