/* Public, no-login PWA install surface. No regular student view uses these styles. */
.install-site-header{height:64px;background:#0F1B3C;border-bottom:1px solid rgba(255,255,255,.12)}.install-site-header__inner{width:min(100% - 32px,1040px);height:100%;margin:0 auto;display:flex;align-items:center}.install-site-header__logo{display:inline-flex;align-items:center}.install-site-header__logo img{display:block;width:176px;height:auto;max-height:36px;object-fit:contain}
.install-page{min-height:calc(100dvh - 64px);display:grid;place-items:center;padding:30px 16px 42px;overflow:hidden;background:radial-gradient(circle at 92% 5%,rgba(255,107,26,.28),transparent 31%),radial-gradient(circle at 2% 100%,rgba(255,168,72,.21),transparent 30%),linear-gradient(145deg,#0F1B3C 0%,#172A57 60%,#0F1B3C 100%)}.install-page__card{width:min(100%,430px);padding:25px 18px 22px;border:1px solid rgba(255,255,255,.52);border-radius:24px;background:rgba(255,255,255,.98);box-shadow:0 28px 64px rgba(4,13,36,.32);color:#0F1B3C;text-align:center}.install-page__identity{display:flex;align-items:center;justify-content:center;gap:11px;margin:0 auto}.install-page__brand{position:relative;width:58px;height:58px;flex:0 0 auto;display:grid;place-items:center}.install-page__brand-wave{position:absolute;inset:0;border:1.5px solid rgba(185,71,11,.47);border-radius:50%}.install-page__brand-wave::before,.install-page__brand-wave::after{display:none}.install-page__brand img{position:relative;z-index:1;width:47px;height:47px;object-fit:contain}.install-page__app-name{margin:0;color:#B9470B;font-size:14px;line-height:1.25;letter-spacing:.04em;text-align:left}.install-page h1{margin:18px 0 0;color:#0F1B3C;font-size:clamp(21px,6vw,24px);line-height:1.24;letter-spacing:-.02em;white-space:nowrap}.install-page__resources{margin:18px 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;list-style:none;text-align:left}.install-page__resources li{min-height:45px;padding:7px 8px;display:flex;align-items:center;gap:7px;border:1px solid #E6ECF5;border-radius:11px;background:#FAFCFF;color:#253752;font-size:12px;font-weight:700;line-height:1.18}.install-page__resources img{width:25px;height:25px;flex:0 0 auto;object-fit:contain}.install-page__resources span{min-width:0}.install-page__button{width:100%;min-height:50px;padding:10px 16px;border:0;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#FF6B1A;box-shadow:0 8px 18px rgba(255,107,26,.24);color:#0F1B3C;font:inherit;font-weight:700;cursor:pointer}.install-page__button:active{transform:translateY(1px);box-shadow:0 4px 10px rgba(255,107,26,.2)}.install-page__button:disabled{cursor:wait;opacity:.75}.install-page__guide{margin:14px 0 0;padding:11px 12px;border-radius:12px;background:#FFF8F3;color:#5B4A3E;text-align:left}.install-page__guide p{margin:0;font-size:12px;font-weight:600;line-height:1.45}.install-page__guide ol{margin:7px 0 0;padding-left:19px;color:#64748B;font-size:12px;line-height:1.5}.install-page__guide li+li{margin-top:2px}.install-page__open{display:inline-block;margin-top:15px;color:#3C628E;font-size:13px;font-weight:700;text-decoration:none}.install-page__open:active{color:#0F1B3C}.install-page__installed{margin-top:15px;padding:12px;border-radius:12px;display:flex;align-items:center;gap:10px;background:#F5FBF8;color:#163D2C;text-align:left}.install-page__installed-mark{width:28px;height:28px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:#DDF5E8;color:#23734A;font-weight:700}.install-page__installed strong{display:block;font-size:14px;line-height:1.3}.install-page__installed p{margin:2px 0 0;color:#547265;font-size:12px;line-height:1.35}.install-page__installed[hidden],.install-page__guide[hidden],.install-page__button[hidden]{display:none!important}
@media(min-width:720px){install-site-header{height:70px}.install-site-header__logo img{width:195px;max-height:39px}.install-page{min-height:calc(100dvh - 70px);padding:38px 24px}.install-page__card{padding:30px 28px 26px}}
@media(prefers-reduced-motion:reduce){.install-page__button:active{transform:none}}