/* IEO 2026 student UI. Original brand palette, familiar mobile patterns, no third-party trade dress. */
:root{--ieo-brand:#786294;--ieo-brand-strong:#68517f;--ieo-ink:#241f27;--ieo-sub:#68636d;--ieo-line:#eee8ec;--ieo-soft:#f8f5fb;--ieo-shadow:0 18px 48px rgba(50,28,42,.065)}
body:has(#login:not([hidden])){background:linear-gradient(180deg,#f8f5fb 0,#fff 42%)!important;color:var(--ieo-ink)}
body:has(#login:not([hidden]))>header{background:transparent!important;border:0!important;box-shadow:none!important}
body:has(#login:not([hidden]))>header .brand-lockup img{width:132px;height:auto}
body:has(#login:not([hidden])) main{max-width:500px!important;padding:8px 20px 24px!important}
body:has(#login:not([hidden])) #login{max-width:none!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
body:has(#login:not([hidden])) .auth-hero{display:flex!important;flex-direction:column-reverse;align-items:flex-start!important;gap:8px!important;margin:4px 0 18px;min-height:0!important}
body:has(#login:not([hidden])) .auth-mascot{width:144px!important;height:144px!important;aspect-ratio:auto!important;align-self:center!important;display:grid;place-items:center;border-radius:35px;background:radial-gradient(circle at 50% 50%,#e7dced 0,#f4eef8 68%,transparent 70%)}
body:has(#login:not([hidden])) .auth-mascot img{width:138px!important;height:138px!important;filter:drop-shadow(0 13px 13px #6327371c)}
body:has(#login:not([hidden])) .auth-hero-copy .eyebrow{display:none}
body:has(#login:not([hidden])) #authTitle{font-size:clamp(31px,8vw,38px)!important;font-weight:800!important;line-height:1.16!important;letter-spacing:-.065em;margin:4px 0 8px!important;color:var(--ieo-ink)!important}
body:has(#login:not([hidden])) #authIntro{font-size:15px!important;color:var(--ieo-sub)!important;margin:0!important;line-height:1.55!important}
body:has(#login:not([hidden])) .auth-tabs{display:flex;gap:8px;padding:0!important;margin:0 0 18px!important;border:0!important;background:transparent!important}
body:has(#login:not([hidden])) .auth-tabs button{width:auto!important;min-height:42px!important;padding:9px 14px!important;border:1px solid var(--ieo-line)!important;border-radius:999px!important;background:white!important;color:var(--ieo-sub)!important;box-shadow:none!important;font-size:13px!important;font-weight:700!important}
body:has(#login:not([hidden])) .auth-tabs button[aria-pressed=true]{border-color:#a08db5!important;background:var(--ieo-soft)!important;color:var(--ieo-brand-strong)!important;box-shadow:none!important}
body:has(#login:not([hidden])) #authForm{display:grid;gap:12px}
body:has(#login:not([hidden])) #authIdentityFields{display:grid;gap:13px}
body:has(#login:not([hidden])) #authForm label{display:grid;gap:7px;font-size:13px!important;color:#554f58!important}
body:has(#login:not([hidden])) #authForm input:not([type=checkbox]),body:has(#login:not([hidden])) #authForm select{width:100%;box-sizing:border-box;min-height:54px!important;margin:0!important;padding:0 16px!important;border:1px solid #e7e0ec!important;border-radius:15px!important;background:#fff!important;color:var(--ieo-ink)!important;box-shadow:none!important;font-size:16px!important}
body:has(#login:not([hidden])) #authForm input:focus-visible,body:has(#login:not([hidden])) #authForm select:focus-visible{outline:3px solid #d5c8e0!important;outline-offset:1px}
body:has(#login:not([hidden])) #authForm .password-control{position:relative;display:block}
body:has(#login:not([hidden])) #authForm .password-control input{width:100%!important;min-width:0!important;flex:none!important;padding-right:66px!important}
body:has(#login:not([hidden])) #showPassword{position:absolute;right:7px;top:50%;transform:translateY(-50%);min-height:39px!important;padding:6px 10px!important;background:transparent!important;border:0!important;box-shadow:none!important;color:var(--ieo-sub)!important;font-size:12px!important}
body:has(#login:not([hidden])) #passwordHint{margin:-6px 0 0!important;font-size:12px;color:#807a83}
body:has(#login:not([hidden])) #inviteSignup{margin:0;padding:12px 15px;border:1px solid var(--ieo-line);border-radius:15px;background:#fff}
body:has(#login:not([hidden])) #inviteSignup summary{min-height:28px;font-size:13px;font-weight:650;color:#5e5360;cursor:pointer}
body:has(#login:not([hidden])) #authSubmit{width:100%;min-height:55px!important;margin:5px 0 0!important;border-radius:16px!important;background:var(--ieo-brand)!important;color:#fff!important;font-size:16px!important;font-weight:800!important;box-shadow:0 8px 16px rgba(190,48,75,.18)!important}
body:has(#login:not([hidden])) #authSubmit:active{transform:scale(.99)}
body:has(#login:not([hidden])) #authBack{min-height:44px!important}
body:has(#login:not([hidden])) .auth-session-note{text-align:center;color:#867880;font-size:12px;margin:8px 0 0}
body:has(#login:not([hidden])) #googleOptions{margin-top:13px;border:0;text-align:center;font-size:12px;color:#82777e}
body:has(#login:not([hidden])) #googleOptions summary{cursor:pointer}
body:has(#login:not([hidden])) .legal-footer{color:#898089!important}
@media(max-width:600px){body:has(#login:not([hidden])) main{padding:2px 22px 24px!important}body:has(#login:not([hidden])) .auth-mascot{width:122px!important;height:122px!important}body:has(#login:not([hidden])) .auth-mascot img{width:120px!important;height:120px!important}body:has(#login:not([hidden])) #authTitle{font-size:34px!important}}
/* A single visual language for the student journey. It changes presentation only. */
body[data-student-mode=true]{background:#fff!important;color:var(--ieo-ink)!important;--ink:var(--ieo-ink);--muted:var(--ieo-sub);--brand:var(--ieo-brand);--brand-pressed:var(--ieo-brand-strong);--brand-soft:var(--ieo-soft);--stroke:var(--ieo-line);--lavender:#f8f5fb}
body[data-student-mode=true]>header{background:#fffdfd!important;border-bottom:1px solid #f4edf0!important;box-shadow:none!important}
body[data-student-mode=true] #workspace>article{max-width:820px!important}
body[data-student-mode=true] :is(#studentExperience,#aiPanel,#aiReview,#progressPanel,#practicePanel,#studentPanel,.settings-page,#schoolPanel,#schoolSettingsPanel,#profileSettingsPanel,#accessSettingsPanel,#accountSettingsPanel){box-sizing:border-box}
body[data-student-mode=true] :is(#studentExperience,#aiPanel,#aiReview,#progressPanel,#practicePanel,#studentPanel,.settings-page,#schoolPanel,#schoolSettingsPanel,#profileSettingsPanel,#accessSettingsPanel,#accountSettingsPanel)>h2{color:var(--ieo-ink)!important;font-weight:800!important;letter-spacing:-.045em!important}
body[data-student-mode=true] #oneHome h2{color:var(--ieo-ink)!important;font-weight:800!important}
body[data-student-mode=true] #oneHome h2 em{color:var(--ieo-brand)!important}
body[data-student-mode=true] .one-hero{border-radius:28px!important;background:radial-gradient(circle at 82% 22%,#f4eef8 0,#eee7f4 38%,transparent 64%),linear-gradient(135deg,#faf8fc,#f6f1fa)!important}
body[data-student-mode=true] .one-hero :is(h3,.one-hero-tag){color:var(--ieo-brand-strong)!important}
body[data-student-mode=true] .one-hero-copy p{color:#6e5962!important}
body[data-student-mode=true] .one-primary{background:var(--ieo-brand)!important;border-radius:16px!important;box-shadow:0 9px 20px #7862942a!important}
body[data-student-mode=true] :is(.one-map-island,.subject-timeline,.settings-link,.subject-manager){border-color:var(--ieo-line)!important;background:#fff!important;box-shadow:var(--ieo-shadow)!important}
body[data-student-mode=true] .one-map-island.one-map-featured{background:var(--ieo-soft)!important;border-color:#dcd0e7!important}
body[data-student-mode=true] :is(.one-map-intro h3,.one-map-island strong,.settings-link strong){color:var(--ieo-ink)!important}
body[data-student-mode=true] #bottomNav{background:#fff!important;border:1px solid #e9e0ef!important;border-radius:22px!important;box-shadow:0 12px 36px #3d263018!important;backdrop-filter:none!important}
body[data-student-mode=true] #studentFlowNav a{color:#79717b!important}
body[data-student-mode=true] #studentFlowNav a[aria-current=page]{background:var(--ieo-soft)!important;color:var(--ieo-brand-strong)!important}
body[data-student-mode=true] :is(button,a,summary){-webkit-tap-highlight-color:transparent}
body[data-student-mode=true] :is(button,a,summary):focus-visible{outline:3px solid #a08db5!important;outline-offset:3px}
@media(prefers-reduced-motion:reduce){body:has(#login:not([hidden])) #authSubmit:active{transform:none}}
body[data-student-mode=true] :is(#aiPanel,#aiReview,#conceptPanel,#progressPanel,#practicePanel,#studentPanel,#schoolPanel,#schoolSettingsPanel,#profileSettingsPanel,#accessSettingsPanel,#accountSettingsPanel,#resourcePanel,#questionInbox,.settings-page){background:#fff!important;border:0!important;box-shadow:none!important;padding:8px 6px 26px!important}
body[data-student-mode=true] :is(#aiPanel,#aiReview,#conceptPanel,#progressPanel,#practicePanel,#studentPanel,#schoolPanel,#schoolSettingsPanel,#profileSettingsPanel,#accessSettingsPanel,#accountSettingsPanel,#resourcePanel,#questionInbox,.settings-page) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){box-sizing:border-box;max-width:100%;border:1px solid #e7e0ec;border-radius:14px;background:#fff;color:var(--ieo-ink);font-size:16px}
body[data-student-mode=true] :is(#aiPanel,#aiReview,#conceptPanel,#progressPanel,#practicePanel,#studentPanel,#schoolPanel,#schoolSettingsPanel,#profileSettingsPanel,#accessSettingsPanel,#accountSettingsPanel,#resourcePanel,#questionInbox,.settings-page) :is(input:not([type=checkbox]):not([type=radio]),select){min-height:48px}
body[data-student-mode=true] :is(#aiPanel,#aiReview,#conceptPanel,#progressPanel,#practicePanel,#studentPanel,#schoolPanel,#schoolSettingsPanel,#profileSettingsPanel,#accessSettingsPanel,#accountSettingsPanel,#resourcePanel,#questionInbox,.settings-page) h3{color:var(--ieo-ink);letter-spacing:-.035em}
body[data-student-mode=true] :is(#aiPanel,#aiReview,#conceptPanel,#progressPanel,#practicePanel,#studentPanel,#schoolPanel,#schoolSettingsPanel,#profileSettingsPanel,#accessSettingsPanel,#accountSettingsPanel,#resourcePanel,#questionInbox,.settings-page) :is(p,.helper){line-height:1.6}
body[data-student-mode=true] :is(#aiPanel,#aiReview,#conceptPanel,#progressPanel,#practicePanel,#studentPanel,#schoolPanel,#schoolSettingsPanel,#profileSettingsPanel,#accessSettingsPanel,#accountSettingsPanel,#resourcePanel,#questionInbox,.settings-page) .secondary-action{background:#fff!important;border:1px solid var(--ieo-line)!important;color:var(--ieo-brand-strong)!important;border-radius:14px!important;box-shadow:none!important}
/* Keep the first signup action within a common 390 × 844 phone viewport. */
body:has(#login:not([hidden])) #authIdentityFields>label{margin:0!important}
body:has(#login:not([hidden])) #inviteSignup{min-height:0!important;margin:0!important;padding:5px 0!important;border:0!important;border-radius:0!important;background:transparent!important}
body:has(#login:not([hidden])) #inviteSignup summary{min-height:30px!important}
@media(max-width:600px){body:has(#login:not([hidden])) .auth-mascot{width:98px!important;height:98px!important}body:has(#login:not([hidden])) .auth-mascot img{width:98px!important;height:98px!important}body:has(#login:not([hidden])) .auth-tabs{margin-bottom:8px!important}}
@media(max-width:600px){
 body:has(#login:not([hidden])) .auth-hero{margin:0 0 10px!important}
 body:has(#login:not([hidden])) .auth-mascot{width:80px!important;height:80px!important}
 body:has(#login:not([hidden])) .auth-mascot img{width:80px!important;height:80px!important}
 body:has(#login:not([hidden])) #authTitle{font-size:31px!important;margin:0 0 6px!important}
 body:has(#login:not([hidden])) #authIdentityFields{gap:8px!important}
 body:has(#login:not([hidden])) #authForm{gap:7px!important}
 body:has(#login:not([hidden])) #authForm input:not([type=checkbox]){min-height:48px!important}
}
