/* UI colors derived from the approved pi-03-v1 artwork; original PNGs remain unchanged. */
:root,body.message-page{--brand-primary:#6652bf;--brand-primary-deep:#51409c;--brand-ink:#2d2756;--brand-muted:#756f8b;--brand-cyan:#55d4ee;--brand-lilac:#ede7fc;--brand-surface:#ffffff;--brand-background:#f7f5fc;--green:var(--brand-primary);--ink:var(--brand-ink);--muted:var(--brand-muted);--paper:var(--brand-surface);--line:#e5dfee;--bg:var(--brand-background);--purple:var(--brand-primary)}
body,body.levels-page,body.message-page{background:var(--brand-background);color:var(--brand-ink)}
.topbar,.levels-page .topbar,.message-page .topbar{background:#fff;border-color:#eae5f2}.brand{color:#30265d;gap:9px;letter-spacing:0;font-size:25px}.brand>img{border-radius:12px}.brand .brand-mark,.brand .level-brand,.message-page .brand>img{width:38px;height:38px;border-radius:12px}.brand-english{font-size:17px;letter-spacing:-.3px;font-weight:600}.brand .brand-label{font-size:11px;color:#6f6080;border-color:#e4ddf0;padding-left:17px;letter-spacing:0}.topbar .text-button{color:#6f6080}.topbar a{color:#514575}
.primary{background:var(--brand-primary);box-shadow:0 4px 12px #6652bf14}.primary:hover{background:var(--brand-primary-deep)}.secondary{border-color:#ded5ee;color:#625080;background:#fff}.secondary:hover{background:#f3effc}.text-button{color:#75688e}.eyebrow{color:#6f6080}.student-heading p,.student-muted{color:#6f6080}.student-footnote{color:#6f6080}.card-kicker{color:#6f6080}.student-card,.card,.test-layout,.record-dialog{border-color:#e6dff0;background:#fff}.soft-tag{background:#f0eafa;color:#6f6080}.student-nav{background:#ede8f5}.student-nav button{color:#6f6080}.student-nav button.active{color:#6652bf;background:#fff;box-shadow:0 3px 10px #6251880d}.brand-icon{background:transparent;border-radius:0;display:block;width:28px;height:28px;fill:none;stroke:#7761be;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.student-nav .brand-icon{width:23px;height:23px}.student-nav button:not(.active) .brand-icon{opacity:.7}.brand-mascot{display:block;flex-shrink:0;aspect-ratio:1;width:180px;background-image:url('/static/brand/pi-03-v1/mascot-poses.webp');background-repeat:no-repeat;background-size:300% 200%;mix-blend-mode:multiply;pointer-events:none}.pose-welcome{background-position:0% 0%}.pose-thinking{background-position:50% 0%}.pose-explaining{background-position:100% 0%}.pose-encouraging{background-position:0% 100%}.pose-celebrating{background-position:50% 100%}.pose-reading{background-position:100% 100%}.brand-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(112deg,#f0eafa 0%,#faf8ff 62%,#eafaff 100%);border:1px solid #e8e0f6;border-radius:28px;padding:22px 36px;margin-bottom:26px;min-height:222px;overflow:hidden}.brand-hero h1{font-size:35px;margin:9px 0}.brand-hero-copy{position:relative;min-width:0;z-index:1}.brand-hero .brand-mascot{width:218px;margin:-18px 6px -20px}.brand-hero .eyebrow{color:#6f6080;letter-spacing:2px}.brand-slogan{font-size:14px;color:#6f5c95;margin:0 0 12px;letter-spacing:.6px}.brand-hero #student-greeting{font-size:12px;color:#6f6080}.growth-card{background:linear-gradient(120deg,#e9e0fb,#f5effd);border:1px solid #e5d8fa}.growth-card h2{color:#48356e}.growth-card p{color:#6f6080}.growth-card a{color:#735594}.growth-card .growth-state{color:#6f6080}.growth-stars{color:#6f6080}.realm-decoration{color:#6f6080}.next-card{background:linear-gradient(140deg,#fff,#fbf9ff)}.next-card p{color:#6f6080}.ability-card>.section-title h2,.student-card h2{color:#45365d}.ability-row{color:#5d4a78}.ability-row span{color:#6f6080}.ability-row:hover{background:#f6f0fd}.ability-card summary{color:#70607f}.student-event{border-color:#efeaf5;color:#5b4974}.student-event span{color:#6f6080}.student-event small{color:#6f6080}.student-event:hover strong{color:#6652bf}.today-shortcuts .secondary{background:#f8f5fd;border-color:#e5dcf1;color:#75648b}.student-empty{color:#6f6080;padding:8px 0 26px}.empty-mascot{width:112px;margin:0 auto}.practice-options>button{background:#fff;border-color:#e5dfee;color:#4c3c68}.practice-options>button:hover{border-color:#b59bd8}.practice-options>button.selected{background:#f1eafa;border-color:#9c80c1}.practice-options>button:last-child{background:linear-gradient(145deg,#f1e9ff,#faf5ff)}.practice-options strong{color:#514168}.practice-options small{color:#6f6080}.practice-options>button>span:last-child{color:#6f6080}.practice-options .option-icon .brand-icon{width:31px;height:31px}.practice-options>button:last-child .option-icon{color:#6f6080}.practice-settings{background:#f6f2fb}.practice-settings summary,#practice-description,#practice-start>p{color:#6f6080}.topic-sidebar{border-color:#e6dff0}.topic-choice small,.topic-tags{color:#6f6080}.selected-topics{color:#75618d}#tests-room input[type=checkbox],#tests-room input[type=radio],#record-topic-options input{accent-color:var(--brand-primary)}.topic-row:hover{background:#f3edf9}#tests-room input:not([type=checkbox]):not([type=radio]),#tests-room select{border-color:#dfd5ec;color:#564565}.test-modes button[aria-selected=true]{border-color:var(--brand-primary);color:var(--brand-primary)}.student-fold>summary{color:#6f6080}.topic-column-head,.topic-chapter summary,.chapter-learned{color:#6f6080!important}#library-summary{color:#6f6080!important}.journal-capture .dropzone,.dropzone{background:#f5effd;border-color:#d6c5ed}.upload-card .primary,.journal-capture .upload-card .primary{background:var(--brand-primary)}.upload-card .section-title h2,.journal-capture .upload-card .section-title h2{color:#776188}.dropzone h3{color:#7c6592}.dropzone p{color:#6f6080}.camera-icon{color:#6f6080}.camera-icon .brand-icon{width:40px;height:40px;margin:0 auto 10px}.welcome .brand-mascot{width:210px;margin:-4px 0 10px}.welcome h2{color:#75618b;font-size:27px}.welcome p{color:#6f6080}.welcome .eyebrow{font-size:10px}.history-item{color:#6c557e}.history-item.active{background:#f0e9f8}.badge{background:#f0e9f8;color:#6f6080}.badge.warning{background:#fff0d6;color:#6f6080}.badge.error-badge{background:#fbe9ee;color:#a8465e}.originals img{background:#faf7fe;border-color:#e5d9f1}.solution-section h3{color:#6f6080}.answer-box{background:#f3ecfa;border-color:#e2d3f1}.answer-box h3{color:#6f6080}.progress-track{background:#efe8f7}.progress-fill{background:linear-gradient(90deg,#ac90e5,#6e55bd)}.progress-complete-label,.progress-meta strong{color:#6f6080}.assessment-score{background:linear-gradient(120deg,#eee4fc,#eefbff)}.assessment-score strong{color:#71539a}.assessment-score span{color:#6f6080}.graded-item{border-color:#e7ddf0}.insights-card{background:#fcfaff}#assessment-fields{background:#f8f3fc}.mastery-actions button.chosen{background:var(--brand-primary);border-color:var(--brand-primary)}.status-box .brand-mascot{width:150px;margin:0 auto 10px}.status-box h3{color:#7b628d}.challenge-celebration{width:140px;margin:18px auto}.record-dialog::backdrop{background:#21183966}.record-dialog{color:#604872}.record-dialog fieldset{border-color:#e4d8ef}.student-fold{border-color:#e7ddf0}.student-fold>summary .muted{color:#6f6080}.notice{background:#fff6e9;border-color:#f1dfc7;color:#6f6080}.login-card{max-width:480px;background:#fff;border:1px solid #e8dff2;border-radius:26px;padding:28px 36px;margin:24px auto}.auth-brand-presentation{display:block;width:100%;height:auto;margin:0 0 12px;border-radius:16px}.login-card h1{font-size:24px;color:#645079;text-align:center}.login-card .account-tabs{justify-content:center}.login-card form{margin-top:20px}.login-card .account-tabs button{color:#6f6080}.login-card .account-tabs button[aria-selected=true]{border-color:#8360b5;color:#7854a7}.login-card label{color:#6f6080}.login-card input{background:#fdfbff;border-color:#e7dcef}.login-card .primary{justify-content:center}.login-card p{color:#6f6080}.levels-page .level-heading{position:relative;padding-right:190px;min-height:170px}.levels-page .level-heading .brand-mascot{position:absolute;right:0;top:-20px;width:175px}.levels-page .level-kicker{color:#6f6080}.levels-page .realm-list li.current{border-left-color:#8964b4;background:#f0e9fa}.levels-page .realm-title{color:#67507d}.levels-page .realm-number{color:#6f6080}.levels-page .realm-copy p,.levels-page .level-muted,.levels-page .star-list p,.levels-page .level-rules p{color:#6f6080}.levels-page .realm-label,.levels-page .realm-list .current-mark{color:#6f6080}.levels-page .star-list li{border-top-color:#c0a4df}.levels-page .level-jumps a,.levels-page .level-back{color:#8158a2}.levels-page .level-personal,.levels-page .level-jumps,.levels-page .level-section{border-color:#e4d8ef}.message-page .contact.selected,.message-page .chat-message.mine{background:#f0e9fb;border-color:#dccbec}.message-page .chat-message{border-color:#e6ddf1;border-radius:15px}.message-page .chat-message.ai{border-left-color:#b99bd9}.message-page input,.message-page textarea,.message-page select,.message-page button.primary,.message-page button.secondary{border-radius:12px}.message-page .contact.selected{border-left-color:#9970bd}.message-page #ai-contact{position:relative;min-height:75px;padding-left:67px}.message-page #ai-contact .brand-mascot{width:55px;position:absolute;left:5px;top:6px}.message-page .message-heading{color:#624775}.message-page #peer-title{color:#6c517f}.data-table th{background:#f1ebf7}.review-notice{background:#f0edfc;border-color:#ac96cf}.account-tabs button[aria-selected=true]{color:var(--brand-primary);border-color:var(--brand-primary)}.account-section{border-color:#e6deee}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #baa3e4;outline-offset:3px}
@media(max-width:1050px){.brand-hero{padding:22px 26px}.brand-hero h1{font-size:30px}.brand-hero .brand-mascot{width:185px;margin-right:-12px}.brand .brand-label{display:none}}
@media(max-width:760px){.brand{font-size:23px;gap:7px}.brand-english{font-size:13px}.brand .brand-mark{width:33px;height:33px;border-radius:10px}.topbar .brand{font-size:22px}.student-nav{background:#fffffff2;border-color:#e6dff0}.student-nav button.active{background:#eee6fa}.brand-hero{padding:24px 21px;min-height:218px;gap:0;position:relative;margin-bottom:20px}.brand-hero .brand-hero-copy{max-width:calc(100% - 80px)}.brand-hero h1{font-size:26px;max-width:240px;line-height:1.45}.brand-slogan{font-size:11px;letter-spacing:0;max-width:175px;line-height:1.8}.brand-hero .brand-mascot{width:132px;position:absolute;right:5px;bottom:9px;margin:0;opacity:.96}.brand-hero #student-greeting{font-size:11px;line-height:1.7;max-width:190px}.brand-hero .eyebrow{font-size:9px;letter-spacing:1px}.welcome .brand-mascot{width:172px;margin-bottom:0}.welcome h2{font-size:24px}.practice-options .option-icon .brand-icon{width:28px;height:28px}.login-card{padding:24px;margin:16px auto}.auth-brand-presentation{margin-bottom:8px}.login-card h1{font-size:23px}.levels-page .level-heading{padding-right:115px;min-height:155px}.levels-page .level-heading .brand-mascot{width:120px;right:-10px;top:14px}.levels-page .level-heading h1{font-size:24px}.levels-page .level-heading p{font-size:12px}.message-page .brand{font-size:21px}.message-page .brand-english{font-size:14px}}
@media(max-width:360px){.brand-hero{padding:22px 17px;min-height:232px}.brand-hero h1{font-size:24px;max-width:160px}.brand-hero .brand-mascot{width:116px;bottom:17px;right:3px}.brand-hero .brand-hero-copy{max-width:calc(100% - 58px)}.brand-hero #student-greeting{max-width:168px}.brand-hero .brand-slogan{max-width:168px}.brand .brand-english{font-size:11px}.brand .brand-mark{width:29px;height:29px}.topbar .brand{font-size:20px}.user-tools .text-button{padding:5px}.levels-page .level-heading{padding-right:90px}.levels-page .level-heading .brand-mascot{width:100px;top:25px}.levels-page .level-heading h1{font-size:22px}}
@media(max-width:460px){.ability-layout{grid-template-columns:1fr;gap:4px}#ability-chart svg{max-width:280px;margin:auto}.ability-list{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.ability-row{font-size:13px;gap:4px}.ability-row span{font-size:11px}.brand-hero #student-greeting{font-size:12px}.brand-slogan{font-size:12px}}
@media print{.brand-mascot,.brand-hero,.brand-icon{display:none!important}}

.subject-chip{background:#f0eafa;border-color:#e2d8f0;color:#6f6080}input::placeholder,textarea::placeholder{color:#756f8b;opacity:1}.dropzone small,footer{color:#756f8b}

/* Live wordmark: editable text paired with the original pi mascot. */
.auth-brand-lockup{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 0}.auth-brand-lockup .brand-mascot{width:46%;max-width:180px}.auth-brand-wordmark{display:flex;flex-direction:column;color:var(--brand-ink);line-height:1.1}.auth-brand-wordmark strong{font-size:64px;font-weight:800;letter-spacing:1px}.auth-brand-wordmark>span{font-size:25px;font-weight:700;margin-top:8px;letter-spacing:-.7px}.brand-pi{font-family:Arial,sans-serif;font-style:normal;font-size:1.1em}.login-card .auth-brand-slogan{text-align:center;color:var(--brand-ink);font-size:15px;line-height:1.8;margin:0 0 16px}.auth-brand-presentation{padding-bottom:1px}
@media(max-width:360px){.auth-brand-wordmark strong{font-size:49px}.auth-brand-wordmark>span{font-size:20px}.login-card .auth-brand-slogan{font-size:13px}}
