.portal-main{padding-block:65px 80px}.sign-in{display:grid;grid-template-columns:1fr .9fr;align-items:start;gap:85px;max-width:1000px;margin:auto}.sign-in h1{font-size:clamp(3.8rem,7vw,6rem)}.account-note{font-size:.88rem;color:var(--muted);max-width:390px}.login-form{padding:32px;background:white;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 35px #20252606}.login-form h2{font-size:1.6rem;letter-spacing:-.035em;margin-bottom:23px}.login-form label{display:block;font-size:.92rem;font-weight:600;margin:18px 0 6px}.login-form input{border:1px solid #889191;border-radius:9px;padding:12px;width:100%;background:var(--paper);color:var(--ink)}.login-form button{border:0;width:100%;margin-top:25px;cursor:pointer}.form-note{font-size:.83rem;color:var(--muted);margin:17px 0 0}.error{color:#952616;background:#fff1ea;border:1px solid #e8b1a1;border-radius:8px;padding:12px;font-size:.92rem;margin-block:18px}button:disabled{opacity:.6;cursor:wait}.family-header,.family-section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.family-header{align-items:start;margin-bottom:40px}.family-header h1{font-size:3.5rem;margin-bottom:10px}.family-header .eyebrow{margin-bottom:20px}#parent-email{color:var(--muted)}.plain-button{background:transparent;border:1px solid var(--ink);border-radius:24px;padding:8px 18px;cursor:pointer}.plain-button:hover{background:var(--yellow)}.family-section-heading h2{font-size:1.3rem;margin:0}.children-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}.child-card{padding:26px;border:1px solid var(--line);border-radius:14px;overflow-wrap:anywhere}.child-card h3{font-size:1.4rem;letter-spacing:-.03em;margin:0 0 6px}.child-card p{margin:0;color:var(--muted)}.child-card .grade{display:inline-block;font-size:.85rem;padding:3px 10px;background:var(--yellow);border-radius:20px;color:var(--ink);margin-top:14px}.family-note{border-top:1px solid var(--line);margin-top:45px;padding-top:30px;max-width:740px}.family-note h2{font-size:1.6rem;letter-spacing:-.04em}.family-note p{color:var(--muted)}.family-note a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}@media(max-width:800px){.sign-in{grid-template-columns:1fr;gap:30px;max-width:500px}.portal-main{padding-top:40px}.children-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.children-grid{grid-template-columns:1fr}.login-form{padding:24px}.family-header{flex-wrap:wrap}.family-header h1{font-size:3rem}.site-header>.section-link{display:inline;font-size:.82rem;text-align:right}.site-header{gap:20px}}
.progress-link{display:block;color:var(--blue);margin-top:22px;text-decoration:underline;text-underline-offset:4px}

.voice-control{margin-top:20px;border-top:1px solid var(--line);padding-top:15px}.voice-control label{display:flex;align-items:center;gap:9px;font-size:.95rem}.voice-control input{width:20px;height:20px;accent-color:var(--blue)}.voice-control p{font-size:.8rem;color:var(--muted);margin:8px 0}.voice-control .plain-button{padding:6px 12px;font-size:.8rem;min-height:32px;cursor:pointer}

.challenge-feedback{margin-top:20px;border-top:1px solid var(--line);padding-top:15px}.challenge-feedback h4{margin:0 0 12px}.challenge-feedback label{display:block;font-size:.92rem}.challenge-feedback .feedback-toggle{display:flex;align-items:center;gap:9px}.feedback-toggle input{width:20px;height:20px;accent-color:var(--blue)}.challenge-feedback p{font-size:.8rem;margin:8px 0}.challenge-feedback textarea{box-sizing:border-box;width:100%;margin-top:8px;padding:10px;border:1px solid #889191;border-radius:8px;font:inherit;resize:vertical}.challenge-feedback .plain-button{font-size:.8rem;margin:6px 6px 0 0;padding:6px 12px}
