:root{color-scheme:light;--bg: #f1f4f3;--panel: #ffffff;--ink: #17201e;--ink-soft: #35413e;--muted: #68736f;--line: #d9dfdc;--line-strong: #bdc8c3;--surface-subtle: #edf2f0;--accent: #0e766d;--accent-dark: #075b54;--orange: #b45309;--blue: #215f9a;--green: #4d7c0f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 24px;border-bottom:1px solid var(--line);background:#fff}.top-actions{display:flex;align-items:center;gap:10px}.view-switch{display:inline-grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}.view-switch button{min-width:84px;border:0;border-radius:0;color:var(--muted)}.view-switch button+button{border-left:1px solid var(--line)}.view-switch button.active{background:var(--ink);color:#fff}.language-toggle{min-width:82px}.eyebrow{margin:0 0 4px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}h1{margin:0;font-size:28px;line-height:1.15}.status{border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:var(--muted);background:#fff;font-size:13px;white-space:nowrap}.layout{display:grid;grid-template-columns:minmax(320px,460px) minmax(0,1fr);min-height:calc(100vh - 77px)}.sidebar{border-right:1px solid var(--line);background:var(--panel);min-width:0}.filters{display:grid;gap:12px;padding:18px;border-bottom:1px solid var(--line)}.filter-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:grid;gap:6px;min-width:0;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}input:not([type=checkbox]):not([type=radio]),select{width:100%;min-height:38px;border:1px solid var(--line);border-radius:6px;padding:8px 10px;background:#fff;color:var(--ink);font:inherit}input:focus,select:focus,textarea:focus,button:focus{outline:2px solid rgba(14,118,109,.3);outline-offset:2px}.list-heading{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--line)}button{border:1px solid var(--line);border-radius:6px;padding:7px 10px;background:#fff;color:var(--accent-dark);font:inherit;font-weight:700;cursor:pointer}button:hover{border-color:var(--accent)}.topic-list{height:calc(100vh - 272px);margin:0;padding:0;overflow:auto;list-style:none}.topic-item{border-bottom:1px solid var(--line)}.topic-button{width:100%;display:grid;gap:6px;border:0;border-radius:0;padding:13px 18px;text-align:left;background:transparent;color:var(--ink)}.topic-button:hover,.topic-button.active{background:var(--surface-subtle)}.topic-title{font-size:15px;font-weight:800}.topic-meta{display:flex;flex-wrap:wrap;gap:6px;color:var(--muted);font-size:12px;font-weight:600}.pill{display:inline-flex;align-items:center;min-height:22px;border-radius:999px;padding:2px 8px;background:#fff;color:var(--muted);border:1px solid var(--line);font-size:12px;font-weight:700}.pill.subject{color:var(--accent-dark)}.detail{padding:24px;overflow:auto}.topic-card{max-width:980px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px}.empty{margin:0;color:var(--muted)}.topic-card h2{margin:0 0 10px;font-size:34px;line-height:1.1}.description{color:#344046;font-size:17px;line-height:1.6}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.metric{border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff}.metric span{display:block;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.metric strong{display:block;margin-top:4px;font-size:18px}.section{margin-top:24px}.section h3{margin:0 0 10px;font-size:18px}.section ul{margin:0;padding-left:20px}.standard-list{display:grid;gap:10px;padding:0!important;list-style:none}.standard-item{border:1px solid var(--line);border-radius:8px;padding:14px;background:#fff}.standard-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.standard-item p{margin:8px 0;color:#344046;line-height:1.55}.standard-meta{display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--muted);font-size:12px}.section li{margin:7px 0;line-height:1.45}.link-button{display:inline;border:0;padding:0;color:var(--blue);background:transparent;font-weight:700;text-align:left}.link-button:hover{text-decoration:underline}.standard-list li{margin:0}.standard-list code{display:inline-block;border:1px solid var(--line);border-radius:6px;padding:5px 7px;background:#fff;font-size:12px}.learning-tabs{display:flex;min-height:44px;margin-top:26px;overflow-x:auto;border-bottom:1px solid var(--line)}.learning-tab{flex:0 0 auto;min-height:44px;border:0;border-bottom:3px solid transparent;border-radius:0;padding:10px 16px;background:transparent;color:var(--muted)}.learning-tab:hover,.learning-tab.active{border-bottom-color:var(--accent);color:var(--accent-dark)}.learning-panel{padding-top:4px}.learning-section{padding:22px 0;border-bottom:1px solid var(--line)}.learning-section:last-child{border-bottom:0}.learning-section h3{margin:0 0 10px;font-size:18px}.learning-section ul,.learning-section ol{margin:0;padding-left:22px}.learning-section li{margin:8px 0;line-height:1.55}.lesson-copy,.assessment-question{margin:0;color:#344046;font-size:16px;line-height:1.65}.panel-note{margin:18px 0 2px;border-left:3px solid var(--accent);padding:4px 0 4px 12px;color:var(--muted);line-height:1.55}.resource-list{margin-top:16px;border-top:1px solid var(--line)}.resource-item{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;border-bottom:1px solid var(--line);padding:13px 4px;color:var(--ink);text-decoration:none}.resource-item:hover{color:var(--accent-dark);background:#0e766d0a}.resource-main{display:grid;gap:4px}.resource-main span{color:var(--muted);font-size:13px}.resource-meta{display:flex;align-items:center;gap:6px;flex:0 0 auto}.response-label{margin-top:18px}.response-guidance{display:grid;gap:3px;margin-top:14px;border-left:3px solid var(--blue);padding:10px 12px;background:#f4f8fb;color:var(--ink);line-height:1.55}.response-guidance span{color:var(--muted);font-size:14px}textarea{width:100%;min-height:120px;resize:vertical;border:1px solid var(--line);border-radius:6px;padding:11px 12px;background:#fff;color:var(--ink);font:inherit;line-height:1.5}.evidence-requirements{display:grid;gap:8px;margin:0;padding-left:22px;color:var(--ink);font-size:14px;line-height:1.55}.evidence-requirements li::marker{color:var(--accent)}.check-row{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;border-bottom:1px solid var(--line);padding:12px 2px;color:var(--ink);font-size:14px;font-weight:500;line-height:1.5;text-transform:none}.check-row input{width:16px;height:16px;margin:2px 0 0;accent-color:var(--accent)}.human-evidence-confirmation{margin-top:14px;border:1px solid rgba(14,118,109,.35);border-radius:6px;padding:12px;background:#0e766d0f}.status-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.independence-options{grid-template-columns:repeat(3,minmax(0,1fr))}.status-options label{position:relative;text-transform:none}.status-options input{position:absolute;opacity:0;pointer-events:none}.status-options span{display:flex;align-items:center;justify-content:center;min-height:40px;border:1px solid var(--line);border-radius:6px;padding:7px 9px;background:#fff;color:var(--muted);text-align:center;cursor:pointer}.status-options input:checked+span{border-color:var(--accent);background:#0e766d14;color:var(--accent-dark)}.status-options input:focus+span{outline:2px solid rgba(14,118,109,.3);outline-offset:2px}.readiness{margin:14px 0 0;border-left:3px solid var(--orange);padding-left:10px;color:var(--orange);line-height:1.5}.readiness.ready{border-left-color:var(--green);color:var(--green)}.readiness.blocked{border-left-color:#b42318;color:#b42318}.assessment-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}.assessment-buttons{display:flex;gap:8px}.updated-at{color:var(--muted);font-size:13px}.primary-action{border-color:var(--accent);background:var(--accent);color:#fff}.primary-action:hover{border-color:var(--accent-dark);background:var(--accent-dark)}.progress-pill.status-mastered,.status-text.status-mastered{color:var(--green)}.progress-pill.status-needs_practice,.status-text.status-needs_practice{color:var(--orange)}.progress-pill.status-learning,.status-text.status-learning{color:var(--blue)}@media(max-width:1100px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:880px){.topbar{align-items:flex-start;flex-direction:column}.top-actions{width:100%;justify-content:space-between}.view-switch{order:2}.layout{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.topic-list{height:360px}.card-grid{grid-template-columns:1fr}.status-options{grid-template-columns:repeat(2,minmax(0,1fr))}.independence-options{grid-template-columns:1fr}.resource-item,.assessment-actions{align-items:flex-start;flex-direction:column}.assessment-buttons{width:100%}.assessment-buttons button{flex:1}}@media(max-width:520px){.top-actions{align-items:stretch;flex-direction:column}.language-toggle{align-self:flex-end}.view-switch{order:0;width:100%}.status{white-space:normal}.detail{padding:12px}.topic-card{padding:18px}.learning-tab{flex:1 0 auto;padding:10px 8px;font-size:14px}}.ai-assessment-region{margin-top:18px}.ai-assessment-region.loading,.ai-assessment-region.error{border-left:3px solid var(--blue);padding:8px 12px;color:var(--muted)}.ai-assessment-region.error{border-left-color:#b42318;color:#b42318}.review-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;border-left:4px solid var(--orange);padding:12px 14px;background:#fff8ed}.review-banner span{color:var(--muted);font-size:12px}.assessment-difficulty{display:inline-flex;align-items:center;min-height:24px;margin:4px 0 10px;border:1px solid #9bb8b0;border-radius:4px;padding:2px 8px;background:#eef6f3;color:#1f6557;font-size:12px;font-weight:700}.assessment-difficulty-easy{border-color:#b8c9a8;background:#f3f7ef;color:#4b672f}.assessment-difficulty-challenge{border-color:#e0b277;background:#fff6e9;color:#8a5417}.assessment-history>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.assessment-history>header h3,.assessment-history>header p{margin:0}.assessment-history>header p{max-width:680px;margin-top:5px;color:var(--muted);font-size:13px;line-height:1.5}.assessment-history-list{margin:0;padding:0;list-style:none}.assessment-history-list li{display:grid;grid-template-columns:4px minmax(0,1fr) auto;align-items:center;gap:12px;border-top:1px solid var(--line);padding:12px 0}.history-mark{width:4px;height:38px;border-radius:2px;background:var(--orange)}.history-mark.status-learning{background:var(--blue)}.history-mark.status-mastered{background:var(--green)}.history-result time,.history-result strong,.history-meta strong,.history-meta small{display:block}.history-result time,.history-meta small{color:var(--muted);font-size:12px}.history-result strong{margin-top:3px}.history-meta{min-width:150px;text-align:right}.history-meta small{margin-top:3px}.submission-message{min-height:22px;margin-top:12px;color:var(--muted)}.submission-message.error{color:#b42318}.evidence-artifacts>p{margin:-4px 0 14px;color:var(--muted);line-height:1.5}.assessment-item-loading{min-height:64px;margin-top:18px;border-left:3px solid var(--blue);padding:20px 16px;background:#f4f8fb;color:var(--ink-soft);font-weight:700}.assessment-item-source{margin:14px 0 0;color:var(--muted);font-size:13px}.assessment-choice-group{display:grid;gap:10px;margin:18px 0 0;border:0;padding:0}.assessment-choice-group legend,.assessment-fill-label>span{margin-bottom:8px;color:var(--ink-soft);font-size:13px;font-weight:800}.assessment-choice-group label{position:relative;display:block}.assessment-choice-group input{position:absolute;opacity:0;pointer-events:none}.assessment-choice-group span{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:12px;min-height:54px;border:1px solid var(--line-strong);border-radius:6px;padding:8px 14px;background:#fff;color:var(--ink);cursor:pointer;font-size:16px;line-height:1.4}.assessment-choice-group b{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:13px}.assessment-choice-group input:checked+span{border-color:var(--accent);background:#0e766d12}.assessment-choice-group input:checked+span b{border-color:var(--accent);background:var(--accent);color:#fff}.assessment-choice-group input:focus-visible+span{outline:2px solid rgba(14,118,109,.35);outline-offset:2px}.assessment-fill-label{display:grid;max-width:420px;margin-top:18px}.assessment-fill-label input{min-height:54px;border:1px solid var(--line-strong);border-radius:6px;padding:10px 14px;color:var(--ink);font:inherit;font-size:20px}.drawing-board{margin-top:18px}.drawing-board canvas{display:block;width:100%;aspect-ratio:16 / 9;border:1px solid var(--line-strong);border-radius:6px;background:#fff;box-shadow:inset 0 0 0 1px #17232105;cursor:crosshair;touch-action:none}.drawing-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.drawing-toolbar>div{display:flex;gap:8px}.drawing-board [data-drawing-status]{min-height:20px;margin:8px 0 0;color:var(--muted);font-size:13px}@media(max-width:560px){.drawing-toolbar{align-items:stretch;flex-direction:column}.drawing-toolbar>div,.drawing-toolbar button{flex:1}}.artifact-upload{display:inline-flex;align-items:center;min-height:38px;border:1px solid var(--line-strong);border-radius:6px;padding:0 13px;background:#fff;color:var(--ink-soft);cursor:pointer;font-size:13px;font-weight:700}.artifact-upload input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.artifact-message{min-height:20px;margin-top:8px;color:var(--muted);font-size:12px}.artifact-message.error{color:#b42318}.artifact-list{display:grid;gap:10px;margin:8px 0 0;padding:0;list-style:none}.artifact-item{display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:10px}.artifact-preview img{display:block;width:96px;height:64px;object-fit:cover;border:1px solid var(--line);border-radius:4px}.artifact-preview audio{width:96px;height:36px}.artifact-meta{min-width:0}.artifact-meta strong,.artifact-meta small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artifact-meta small{margin-top:3px;color:var(--muted)}@media(max-width:560px){.artifact-item{grid-template-columns:72px minmax(0,1fr)}.artifact-item>button{grid-column:2;justify-self:start}.artifact-preview img,.artifact-preview audio{width:72px}.assessment-history>header{align-items:flex-start;flex-direction:column}.assessment-history-list li{grid-template-columns:4px minmax(0,1fr)}.history-meta{grid-column:2;text-align:left}}.ai-assessment-card{border:1px solid var(--line);border-radius:8px;padding:18px;background:#fff}.ai-assessment-heading,.ai-metrics{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ai-assessment-heading .eyebrow{margin-bottom:6px}.ai-metrics span{min-width:72px;border-left:1px solid var(--line);padding-left:12px}.ai-metrics small,.ai-metrics strong{display:block}.ai-metrics small{color:var(--muted)}.ai-metrics strong{margin-top:2px;font-size:20px}.ai-evidence-list{display:grid;gap:8px;margin:18px 0}.ai-evidence-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 10px;border-left:3px solid var(--orange);padding:10px 12px;background:var(--bg)}.ai-evidence-item.met{border-left-color:var(--green)}.ai-evidence-item p,.ai-evidence-item blockquote{grid-column:2;margin:0;color:var(--muted);line-height:1.45}.ai-evidence-item blockquote{font-style:italic}.ai-feedback h4{margin:15px 0 6px}.ai-feedback p,.ai-feedback ul{margin-top:0;line-height:1.55}.lesson-session-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:20px;border-bottom:1px solid var(--line-strong)}.lesson-session-heading h3{margin:10px 0 6px;font-size:24px}.lesson-session-heading p{max-width:760px;margin:0;color:var(--ink-soft);line-height:1.55}.lesson-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.35fr);gap:28px;padding:18px 0;border-bottom:1px solid var(--line)}.lesson-overview strong{display:block;margin-bottom:8px;font-size:13px}.lesson-overview ul,.lesson-overview .empty{margin:0}.lesson-completion progress{width:100%;height:8px;accent-color:var(--accent)}.lesson-step-list{margin:0;padding:0;list-style:none;border-bottom:1px solid var(--line-strong)}.lesson-step{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:16px;min-height:142px;padding:20px 0;border-top:1px solid var(--line)}.lesson-step.completed{background:linear-gradient(90deg,var(--surface-subtle),transparent 72%)}.lesson-step-number{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line-strong);border-radius:50%;color:var(--muted);font-size:12px;font-weight:800}.lesson-step.completed .lesson-step-number{border-color:var(--accent);background:var(--accent);color:#fff}.lesson-step-content{min-width:0}.lesson-step-content>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.lesson-step-content h4,.lesson-step-content p,.lesson-step-content blockquote{margin:0}.lesson-step-content h4{font-size:18px}.lesson-step-content>div span{color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.lesson-step-content p{margin-top:8px;color:var(--ink-soft);line-height:1.55}.lesson-step-content blockquote{margin-top:10px;border-left:3px solid var(--accent);padding:8px 10px;color:var(--muted);background:var(--surface-subtle);line-height:1.45}.lesson-step-check{align-self:start;display:inline-flex;align-items:center;gap:7px;min-width:108px;color:var(--muted);font-size:12px;text-transform:none}.lesson-step-check input{width:17px;height:17px;accent-color:var(--accent)}.lesson-step-response{grid-column:2 / -1;display:grid;gap:10px;max-width:760px;margin-top:-2px}.lesson-step-response>label,.lesson-step-response.read-only{display:grid;gap:7px;color:var(--ink-soft);font-size:13px;font-weight:700}.lesson-step-response textarea{width:100%;min-height:96px;resize:vertical;border:1px solid var(--line-strong);border-radius:6px;padding:11px 12px;background:var(--surface);color:var(--ink);font:inherit;font-weight:400;line-height:1.5}.lesson-step-response textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 28%,transparent);outline-offset:1px;border-color:var(--accent)}.lesson-response-actions{display:flex;align-items:center;gap:12px}.lesson-response-actions button{min-height:38px;border:1px solid var(--accent);border-radius:6px;padding:0 14px;background:var(--accent);color:#fff;font-weight:750}.lesson-response-actions output{color:var(--muted);font-size:13px}.lesson-step-feedback{border-left:3px solid #b78914;padding:10px 12px;background:var(--surface-subtle)}.lesson-step-feedback.ready{border-left-color:#16805c}.lesson-step-feedback strong,.lesson-step-feedback p{margin:0}.lesson-feedback-language-note{margin:0;border-left:3px solid var(--blue);padding:9px 11px;background:var(--surface-subtle);color:var(--muted);font-size:13px;font-weight:400;line-height:1.45}.lesson-step-feedback p{margin-top:5px;color:var(--ink-soft);font-size:13px;font-weight:400;line-height:1.5}.lesson-step-response.read-only>p{margin:0;white-space:pre-wrap;font-weight:400;line-height:1.5}.ai-lesson-region{margin-top:18px}.ai-lesson-region.loading,.ai-lesson-region.error{border-left:3px solid var(--blue);padding:8px 12px;color:var(--muted)}.ai-lesson-region.error{border-left-color:#b42318;color:#b42318}.ai-lesson-region.fallback{display:flex;align-items:center;justify-content:space-between;gap:12px;border-left:3px solid #b78914;padding:8px 12px;color:var(--muted)}.session-surface{min-height:calc(100dvh - 132px);background:var(--bg)}.session-shell{width:min(100% - 32px,980px);margin:0 auto;padding:28px 0 56px}.session-heading{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;padding-bottom:24px;border-bottom:1px solid var(--line-strong)}.session-back{align-self:start;justify-self:start}.session-context .eyebrow{margin-bottom:10px;color:var(--accent)}.session-context h2{margin:14px 0 8px;font-size:clamp(26px,4vw,40px);letter-spacing:0}.session-context>p{max-width:760px;margin:0;color:var(--ink-soft);line-height:1.6}.session-task{padding-top:26px}@media(max-width:700px){.session-shell{width:min(100% - 24px,980px);padding-top:18px}.session-heading{grid-template-columns:1fr;gap:18px}}.graph-view{position:relative;height:calc(100dvh - 77px);min-height:560px;overflow:hidden;background:#0c1115;color:#f7fafb}#graphCanvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.graph-toolbar,.graph-selection{position:absolute;z-index:2;border:1px solid rgba(255,255,255,.18);background:#0c1115e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.graph-toolbar{top:18px;left:18px;right:18px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:14px 16px}.graph-toolbar .eyebrow{color:#8fcfc8}.graph-toolbar p:last-child{margin:0;color:#a9b5bd;font-size:13px}.graph-toolbar button,.graph-selection button{border-color:#ffffff40;background:#172027;color:#fff}.graph-selection{left:18px;right:18px;bottom:18px;display:flex;align-items:flex-end;justify-content:space-between;gap:22px;min-height:86px;padding:16px}.graph-selection-copy{min-width:0}.graph-selection h2{margin:8px 0 4px;font-size:22px}.graph-selection p{max-width:820px;margin:0;color:#b8c1c7;line-height:1.45}.graph-lineage-count{display:inline-block;margin-top:8px;color:#ffbf47;font-size:13px;font-weight:700}@media(max-width:880px){.graph-view{height:calc(100dvh - 152px);min-height:520px}}@media(max-width:520px){.ai-assessment-heading,.graph-toolbar,.graph-selection{align-items:stretch;flex-direction:column}.ai-metrics{justify-content:flex-start}.lesson-session-heading,.lesson-step-content>div{align-items:stretch;flex-direction:column}.lesson-overview{grid-template-columns:1fr}.lesson-step{grid-template-columns:30px minmax(0,1fr)}.lesson-step-check{grid-column:2;grid-row:2}.graph-view{height:calc(100dvh - 244px);min-height:500px}.graph-toolbar,.graph-selection{left:10px;right:10px}.graph-toolbar{top:10px}.graph-selection{bottom:10px}.graph-selection p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}}.approved-resource-section,.suggested-resource-section,.lesson-approved-resources{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.approved-resource-section:first-child{margin-top:0}.approved-resource-section h3,.suggested-resource-section h3,.lesson-approved-resources h3,.approved-resource-form h3{margin:0 0 6px;font-size:16px}.lesson-approved-resources>p{margin:0 0 12px;color:var(--muted)}.approved-resource-list{margin:10px 0 0;padding:0;list-style:none}.approved-resource-list li{display:flex;align-items:flex-start;gap:10px;border-top:1px solid var(--line);padding:10px 0}.approved-resource-content{min-width:0;flex:1}.approved-resource-list a{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;flex:1;color:inherit;text-decoration:none}.approved-resource-list a>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approved-resource-list a>span{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}.resource-engagement{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;color:var(--muted);font-size:12px}.resource-engagement>strong{font-weight:700}.resource-engagement.status-helpful>strong{color:var(--green)}.resource-engagement.status-needs_help>strong{color:var(--orange)}.resource-feedback-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:6px}.resource-feedback-actions>span{color:var(--muted)}.resource-feedback-actions button{min-height:32px;padding:5px 9px;font-size:12px}.resource-feedback-actions button[aria-pressed=true]{border-color:var(--accent);background:var(--surface-subtle);color:var(--accent-dark)}.approved-resource-form{display:grid;gap:12px;margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.approved-resource-form>label,.approved-resource-form>div>label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.approved-resource-form>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.approved-resource-form input,.approved-resource-form select{width:100%;min-height:40px;border:1px solid var(--line-strong);border-radius:5px;padding:0 10px;background:#fff;color:var(--ink);font:inherit}.approved-resource-form button{justify-self:start}.approved-resource-form output{min-height:18px;color:var(--muted);font-size:12px}.approved-resource-form output.error{color:#b42318}@media(max-width:520px){.approved-resource-list li,.approved-resource-list a{align-items:flex-start}.approved-resource-list a{flex-direction:column;gap:7px}.approved-resource-list a>strong{white-space:normal}.resource-engagement{align-items:flex-start;flex-direction:column}.resource-feedback-actions{justify-content:flex-start}.approved-resource-form>div{grid-template-columns:1fr}}.remediation-focus{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr));gap:1px;margin:18px 0;border:1px solid #cfd9d2;border-radius:6px;overflow:hidden;background:#cfd9d2}.remediation-focus>div,.remediation-focus>article{min-width:0;padding:15px;background:#f8fbf8}.remediation-focus>div{border-left:3px solid #2d6a4f}.remediation-focus p,.remediation-focus ul,.remediation-focus ol{margin:8px 0 0;color:var(--muted);line-height:1.55}.remediation-focus ul,.remediation-focus ol{padding-left:19px}.remediation-focus h4{margin:0;color:var(--ink);font-size:13px}.lesson-checkpoint{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.lesson-checkpoint h3,.lesson-checkpoint p{margin:0}.lesson-checkpoint h3{font-size:17px}.lesson-checkpoint p{margin-top:5px;color:var(--muted)}.lesson-checkpoint button{flex:0 0 auto}@media(max-width:760px){.remediation-focus{grid-template-columns:1fr}.lesson-checkpoint{align-items:stretch;flex-direction:column}.lesson-checkpoint button{width:100%}}.topbar,.familybar,.graph-view,.family-surface,.layout{flex:0 0 auto}body{display:flex;flex-direction:column}.topbar{min-height:72px;padding:12px 24px}.graph-view{flex:1 0 560px;height:auto}.topbar h1{font-size:21px}.topbar .eyebrow{margin-bottom:2px}.view-switch{grid-template-columns:repeat(3,minmax(104px,1fr))}.workspace-switch{display:inline-grid;grid-template-columns:repeat(2,max-content);overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#fff}.workspace-switch button{min-width:120px;border:0;border-radius:0;color:var(--muted)}.workspace-switch button+button{border-left:1px solid var(--line)}.workspace-switch button.active{background:var(--ink);color:#fff}.parent-tools-menu{position:relative}.mobile-menu-only{display:none}.parent-tools-menu summary{min-width:104px;padding:10px 14px;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:#fff;cursor:pointer;font-size:14px;font-weight:650;list-style:none;text-align:center}.parent-tools-menu summary::-webkit-details-marker{display:none}.parent-tools-menu summary:after{content:"";display:inline-block;width:6px;height:6px;margin:0 0 3px 8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}.parent-tools-menu.active summary,.parent-tools-menu[open] summary{border-color:var(--ink);color:var(--ink)}.parent-tools-popover{position:absolute;z-index:30;top:calc(100% + 8px);right:0;display:grid;width:280px;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:0 14px 32px #17201e24}.parent-tools-popover button{border:0;border-radius:0;text-align:left}.parent-tools-popover button+button{border-top:1px solid var(--line)}.parent-tools-status{border:0;border-top:1px solid var(--line);border-radius:0;padding:12px 14px;background:var(--surface-subtle);font-size:12px;line-height:1.45;white-space:normal}.familybar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:58px;padding:9px 24px;border-bottom:1px solid var(--line);background:#fff}.learner-switch,.familybar-actions{display:flex;align-items:center;gap:8px}.familybar-actions{margin-left:auto}.learner-switch{min-width:0;overflow-x:auto}.learner-chip{display:inline-flex;align-items:center;flex:0 0 auto;gap:8px;min-height:38px;border-color:transparent;color:var(--muted)}.learner-chip.active{border-color:var(--line-strong);background:var(--surface-subtle);color:var(--ink)}.learner-avatar{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font-size:11px}.family-surface{min-height:calc(100dvh - 130px);background:var(--bg)}.startup-loading{width:min(760px,calc(100% - 56px));margin:0 auto;padding:44px 0}.startup-loading-copy{display:grid;gap:7px}.startup-loading-copy strong{font-size:22px;line-height:1.3}.startup-loading-copy span{color:var(--muted);line-height:1.5}.startup-loading-lines{display:grid;gap:12px;margin-top:30px}.startup-loading-lines i{display:block;height:12px;border-radius:3px;background:linear-gradient(90deg,var(--line) 25%,#ffffff 50%,var(--line) 75%);background-size:220% 100%;animation:startup-loading-shimmer 1.4s ease-in-out infinite}.startup-loading-lines i:nth-child(2){width:84%}.startup-loading-lines i:nth-child(3){width:62%}@keyframes startup-loading-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.startup-loading-lines i{animation:none}}.family-page{width:min(1280px,100%);margin:0 auto;padding:34px 28px 56px}.family-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:24px}.family-page-heading h2{margin:0;font-size:30px;line-height:1.2}.family-page-heading p{max-width:620px;margin:7px 0 0;color:var(--muted);line-height:1.5}.family-page-heading p span{margin-left:8px;color:var(--ink-soft);font-weight:700}.family-heading-actions{display:flex;align-items:center;gap:8px}.family-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:#fff}.ai-health-strip{display:flex;align-items:center;gap:10px;min-height:52px;padding:9px 12px;border:1px solid var(--line);border-left:4px solid #7b8794;border-radius:6px;background:var(--panel)}.ai-health-strip.status-ready{border-left-color:#25855a}.ai-health-strip.status-model_missing,.ai-health-strip.status-unavailable{border-left-color:#b85f2a}.ai-health-dot{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:#7b8794}.status-ready .ai-health-dot{background:#25855a}.status-model_missing .ai-health-dot,.status-unavailable .ai-health-dot{background:#b85f2a}.ai-health-copy{display:grid;gap:2px;min-width:0;flex:1}.ai-health-copy small{color:var(--muted)}.ai-health-strip button{flex:0 0 auto}.family-metrics div{min-width:0;padding:20px 22px}.family-metrics div+div{border-left:1px solid var(--line)}.family-metrics strong,.family-metrics span{display:block}.family-metrics strong{font-size:27px;font-variant-numeric:tabular-nums}.family-metrics span{margin-top:4px;color:var(--muted);font-size:13px;font-weight:700}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:36px;padding-top:34px}.family-section h3{margin:0 0 14px;font-size:18px}.plan-rows,.activity-list{margin:0;padding:0;list-style:none;background:#fff;border-top:1px solid var(--line)}.plan-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;gap:14px;align-items:center;min-height:78px;padding:12px 14px;border-bottom:1px solid var(--line)}.plan-index,.today-task-number{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line-strong);border-radius:50%;color:var(--ink-soft);font-size:13px;font-weight:800}.plan-copy{display:grid;gap:5px;min-width:0}.plan-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-meta{display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--muted);font-size:12px;font-weight:700}.plan-time{color:var(--muted);font-size:13px;white-space:nowrap}.activity-list li{display:grid;grid-template-columns:10px minmax(0,1fr);gap:10px;align-items:start;padding:13px 4px;border-bottom:1px solid var(--line)}.activity-list strong,.activity-list small{display:block}.activity-list small{margin-top:4px;color:var(--muted)}.activity-mark{width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--muted)}.activity-mark.status-mastered{background:var(--green)}.activity-mark.status-learning{background:var(--blue)}.activity-mark.status-needs_practice{background:var(--orange)}.family-empty{margin:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 4px;color:var(--muted)}.today-page{width:min(1040px,100%)}.today-task-list{display:grid;gap:12px}.today-task{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:18px;align-items:center;min-height:152px;border:1px solid var(--line);border-radius:8px;padding:20px;background:#fff}.today-task-body{min-width:0}.today-task h3{margin:7px 0;font-size:20px}.today-task p{margin:0;color:var(--ink-soft);line-height:1.5}.today-outcome{margin-top:12px;border-left:3px solid var(--accent);padding-left:10px;color:var(--muted);font-size:13px;line-height:1.45}.today-learner.experience-guided{width:min(820px,100%)}.today-learner.experience-guided .today-task{grid-template-columns:42px minmax(0,1fr)}.today-learner.experience-guided .today-task>button{grid-column:2;min-height:44px;width:100%}.today-learner.experience-guided .today-task-body>p{display:none}.today-learner.experience-guided .today-outcome{font-size:15px;line-height:1.6}body[data-family-mode=learner] .parent-only,body[data-family-mode=parent] .learner-only,body[data-has-learner=false] .requires-learner{display:none!important}.onboarding-page{display:grid;min-height:calc(100dvh - 132px);place-items:center}.onboarding-intro{width:min(780px,100%);padding:36px 0}.onboarding-intro h2{margin:0 0 12px;font-size:34px}.onboarding-intro>p:not(.eyebrow){max-width:620px;margin:0 0 24px;color:var(--ink-soft);font-size:17px;line-height:1.65}.onboarding-roles{margin:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0 20px}.onboarding-roles h3{margin:0 0 16px;color:var(--muted);font-size:13px;font-weight:700;text-transform:uppercase}.onboarding-roles ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none}.onboarding-roles li{min-width:0;padding:0 20px}.onboarding-roles li:first-child{padding-left:0}.onboarding-roles li+li{border-left:1px solid var(--line)}.onboarding-roles li>span,.onboarding-roles li>strong{display:block}.onboarding-roles li>span{margin-bottom:7px;color:var(--accent-dark);font-size:12px;font-weight:750}.onboarding-roles li>strong{margin-bottom:5px;font-size:16px}.onboarding-roles li>p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}body[data-family-mode=learner] .view-switch{grid-template-columns:repeat(2,minmax(120px,1fr))}@media(max-width:900px){.topbar,.familybar{align-items:stretch;flex-direction:column}.top-actions,.familybar-actions{width:100%}.workspace-switch{max-width:100%}.view-switch{width:100%;order:0}.language-toggle{flex:0 0 auto}.parent-tools-menu{margin-left:auto}.familybar-actions{justify-content:space-between;margin-left:0}.dashboard-columns{grid-template-columns:1fr}.family-surface{min-height:0}}@media(max-width:640px){.onboarding-roles ol{grid-template-columns:1fr}.onboarding-roles li,.onboarding-roles li:first-child{padding:12px 0}.onboarding-roles li+li{border-top:1px solid var(--line);border-left:0}}@media(max-width:620px){.topbar{position:relative}.topbar,.familybar{padding-left:14px;padding-right:14px}.top-actions{flex-direction:row;flex-wrap:wrap}.workspace-switch{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}.workspace-switch button{min-width:0}.language-toggle{position:absolute;top:14px;right:14px}.view-switch{grid-template-columns:repeat(3,minmax(0,1fr))}body[data-family-mode=learner] .view-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.view-switch button{min-width:0}.familybar-actions{flex-wrap:wrap}.family-page{padding:24px 14px 40px}.family-page-heading,.family-heading-actions{align-items:stretch;flex-direction:column}.family-page-heading h2{font-size:25px}.family-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.family-metrics div:nth-child(n+3){border-top:1px solid var(--line)}.family-metrics div:nth-child(odd){border-left:0}.family-metrics div:nth-child(2n){border-left:1px solid var(--line)}.plan-row{grid-template-columns:32px minmax(0,1fr) auto}.plan-time{display:none}.plan-row button{grid-column:2 / -1}.today-task{grid-template-columns:34px minmax(0,1fr);align-items:start;padding:16px}.today-task>button{grid-column:2}}.profile-dialog,.parent-access-dialog{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 48px);border:1px solid var(--line-strong);border-radius:8px;padding:0;background:#fff;color:var(--ink)}.profile-dialog::backdrop,.parent-access-dialog::backdrop{background:#0c121073}.profile-form{display:grid;gap:18px;padding:22px}.parent-access-dialog{width:min(420px,calc(100% - 32px))}.parent-access-form{display:grid;gap:16px;padding:24px}.parent-access-form header h2{margin:0 0 7px;font-size:22px}.parent-access-form header p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.parent-access-message{min-height:20px;margin:0;color:#a23d33;font-size:13px}.parent-access-remember{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px}.parent-access-remember input{width:18px;height:18px;margin-top:2px}.parent-access-remember span{display:grid;gap:3px}.parent-access-remember small{color:var(--muted);font-size:12px;font-weight:500;line-height:1.45}.dialog-heading,.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-heading h2{margin:0;font-size:22px}.dialog-heading button{width:34px;height:34px;padding:0;font-size:22px}.profile-form fieldset{border:0;margin:0;padding:0}.profile-form>details{border-top:1px solid var(--line);padding-top:4px}.profile-form>details>summary{padding:9px 2px;color:var(--ink-soft);cursor:pointer;font-size:14px;font-weight:700}.profile-form>details[open]>summary{color:var(--ink)}.profile-details-body{display:grid;gap:18px;padding:10px 0 2px}.focus-domain-field{display:grid;gap:6px}.focus-domain-field small{color:var(--muted);font-size:12px;line-height:1.45}.profile-primary-concern{border-left:3px solid var(--accent);padding-left:12px}.profile-form legend{margin-bottom:8px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.subject-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.subject-options label{display:flex;align-items:center;gap:8px;min-height:38px;border:1px solid var(--line);border-radius:6px;padding:7px 9px;color:var(--ink-soft);font-weight:600;text-transform:none}.subject-options input{width:16px;height:16px;accent-color:var(--accent)}.schedule-fieldset{display:grid;gap:10px}.field-caption{color:var(--muted);font-size:12px;font-weight:700}.weekday-options{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekday-options label{display:grid;place-items:center;min-height:38px;border:1px solid var(--line);border-radius:5px;color:var(--muted);cursor:pointer;text-transform:none}.weekday-options label:has(input:checked){border-color:var(--accent);background:var(--surface-subtle);color:var(--accent-dark)}.weekday-options input{position:absolute;width:1px;height:1px;opacity:0}.schedule-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dialog-actions{padding-top:4px}@media(max-width:620px){.subject-options{grid-template-columns:1fr}.weekday-options{grid-template-columns:repeat(4,minmax(0,1fr))}}.family-data-fieldset{display:grid;gap:10px}.family-data-fieldset>p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.family-data-actions{display:flex;flex-wrap:wrap;gap:8px}.file-action{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:1px solid var(--line-strong);border-radius:6px;padding:8px 12px;color:var(--ink-soft);cursor:pointer;font-size:13px;font-weight:700;text-decoration:none;text-transform:none}.file-action:focus-within,.backup-download:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.backup-download[aria-disabled=true]{pointer-events:none;opacity:.5}.file-action input{position:absolute;width:1px;height:1px;opacity:0}.backup-status{min-height:20px}.backup-status[data-state=error]{color:#a23d33}.backup-status[data-state=success]{color:#236a4b}.privacy-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:14px}.privacy-controls p{max-width:560px;margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.privacy-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:8px}.danger-action{border-color:#c98980!important;color:#8f3027!important}.danger-action:hover{background:#fff1ef!important}@media(max-width:620px){.family-data-actions{align-items:stretch;flex-direction:column}.family-data-actions>*{width:100%}.privacy-controls,.privacy-actions{align-items:stretch;flex-direction:column}.privacy-actions>*{width:100%}}.attention-section{margin-top:24px;border-top:1px solid var(--orange);border-bottom:1px solid var(--line);padding:18px 20px 4px;background:#fff}.attention-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.attention-heading h3,.attention-heading p{margin:0}.attention-heading p{margin-top:4px;color:var(--muted);font-size:13px;line-height:1.45}.attention-heading>strong{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--orange);color:#fff;font-size:13px}.attention-list{margin:12px 0 0;padding:0;list-style:none}.attention-list li{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:62px;border-top:1px solid var(--line)}.attention-copy{display:grid;gap:3px;min-width:0}.attention-copy small{color:var(--muted)}.activity-mark.status-review{background:var(--orange)}@media(max-width:620px){.attention-section{padding:16px 14px 4px}.attention-list li{grid-template-columns:10px minmax(0,1fr);padding:10px 0}.attention-list button{grid-column:2}}.weekly-page{width:min(1120px,100%)}.week-section{padding:28px 0;border-top:1px solid var(--line-strong)}.week-section:last-child{border-bottom:1px solid var(--line-strong)}.week-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.week-section-heading h3,.week-section-heading p{margin:0}.week-section-heading h3{font-size:19px}.week-section-heading p{margin-top:5px;color:var(--muted);font-size:13px}.weekly-decision{display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(190px,.8fr) minmax(260px,1fr);margin:24px 0 8px;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:#fff}.weekly-decision>div{min-width:0;padding:20px}.weekly-decision>div+div{border-left:1px solid var(--line)}.weekly-decision p,.weekly-decision h3{margin:0}.weekly-decision-conclusion{border-left:4px solid var(--accent)}.weekly-decision-conclusion p,.weekly-decision-item>span,.weekly-decision-task>span{display:block;margin-bottom:7px;color:var(--muted);font-size:12px;font-weight:750}.weekly-decision-conclusion h3{max-width:420px;font-size:20px;line-height:1.35}.weekly-decision-item>strong{display:block;font-size:14px;line-height:1.45}.weekly-decision-item>p{color:var(--ink-soft);font-size:14px;line-height:1.45}.weekly-decision-task{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px}.weekly-decision-task>span,.weekly-decision-task>strong{min-width:0}.weekly-decision-task>span{grid-column:1;margin:0}.weekly-decision-task>strong{grid-column:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weekly-decision-task>button{grid-column:2;grid-row:1 / 3}.diagnostic-progress{display:block;width:100%;height:8px;overflow:hidden;border:0;-webkit-appearance:none;appearance:none;color:var(--accent);background:var(--line)}.diagnostic-progress::-webkit-progress-bar{background:var(--line)}.diagnostic-progress::-webkit-progress-value{background:var(--accent)}.diagnostic-progress::-moz-progress-bar{background:var(--accent)}.diagnostic-subjects{display:flex;flex-wrap:wrap;gap:8px 18px;padding:12px 0 18px;color:var(--muted);font-size:13px}.diagnostic-subjects span{display:inline-flex;gap:6px}.diagnostic-subjects strong{color:var(--ink-soft)}.diagnostic-method-note{margin:-4px 0 16px;color:var(--muted);font-size:13px;line-height:1.5}.diagnostic-next{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:72px;border-top:1px solid var(--line);padding-top:16px}.diagnostic-next div,.diagnostic-next strong,.diagnostic-next small{display:block;min-width:0}.diagnostic-next small{margin-bottom:5px;color:var(--muted);font-weight:700}.week-schedule{margin:0;padding:0;list-style:none;border-top:1px solid var(--line);background:#fff}.diagnostic-learning-note{margin:0 0 12px;padding:10px 12px;border-left:3px solid var(--accent);background:var(--surface-subtle);color:var(--ink-soft);font-size:13px;line-height:1.45}.week-day{display:grid;grid-template-columns:76px minmax(0,1fr);border-bottom:1px solid var(--line)}.week-day>time{padding:18px 14px;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums;font-weight:800}.week-day-tasks{min-width:0;border-left:1px solid var(--line)}.week-task{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:72px;padding:12px 14px}.week-task+.week-task{border-top:1px solid var(--line)}.week-task div,.week-task strong,.week-task span{display:block;min-width:0}.week-task span{margin-bottom:5px;color:var(--muted);font-size:12px;font-weight:700}.week-task strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.report-metrics div{padding:18px}.report-metrics div+div{border-left:1px solid var(--line)}.report-metrics strong,.report-metrics span{display:block}.report-metrics strong{font-size:25px}.report-metrics span{margin-top:4px;color:var(--muted);font-size:12px;font-weight:700}.report-columns{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding-top:22px}.report-columns h4{margin:0 0 10px;font-size:14px}.report-subjects{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.report-subjects li{border:1px solid var(--line);border-radius:5px;padding:7px 9px;background:#fff;color:var(--ink-soft);font-size:13px;font-weight:700}.family-empty.compact{border:0;padding:0}.report-evidence-heading{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.report-evidence-heading h4,.report-evidence-heading p{margin:0}.report-evidence-heading h4{font-size:14px}.report-evidence-heading p{margin-top:5px;color:var(--muted);font-size:12px}.report-activity{margin:14px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.report-activity li{display:grid;grid-template-columns:104px minmax(0,1fr) auto;align-items:center;gap:18px;min-height:78px;padding:12px 0;border-bottom:1px solid var(--line)}.report-activity-date{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;font-weight:700}.report-activity-detail,.report-activity-detail strong,.report-activity-detail>span{display:block;min-width:0}.report-activity-detail>span{color:var(--muted);font-size:12px;font-weight:700}.report-activity-detail strong{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-activity-detail div{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:6px;color:var(--muted);font-size:12px}@media(max-width:900px){.weekly-decision{grid-template-columns:1fr}.weekly-decision>div+div{border-top:1px solid var(--line);border-left:0}}@media(max-width:620px){.week-section-heading,.diagnostic-next,.week-task{align-items:stretch;flex-direction:column}.week-day{grid-template-columns:58px minmax(0,1fr)}.week-day>time{padding-left:8px;padding-right:8px}.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.report-metrics div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.report-metrics div:nth-child(4){border-top:1px solid var(--line)}.report-columns{grid-template-columns:1fr}.report-activity li{grid-template-columns:1fr auto;gap:10px 14px}.report-activity-date{grid-column:1 / -1}}.growth-page{display:grid;gap:24px}.growth-page-heading{padding-bottom:0}.growth-page-heading .eyebrow{color:var(--accent-dark)}.growth-parent-tabs,.growth-settings-tabs{display:flex;width:fit-content;border-bottom:1px solid var(--line-strong)}.growth-parent-tabs button,.growth-settings-tabs button{min-height:42px;border:0;border-bottom:3px solid transparent;border-radius:0;padding:9px 18px 7px;color:var(--muted);background:transparent}.growth-parent-tabs button.active,.growth-settings-tabs button.active{border-bottom-color:var(--accent-dark);color:var(--accent-dark);background:#fff}.growth-notice{position:fixed;z-index:100;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));width:min(420px,calc(100vw - 28px));border-left:4px solid #25855a;padding:11px 14px;background:#edf7f1;color:#205c3f;font-size:14px;font-weight:700;box-shadow:0 10px 30px #16231d2e;display:flex;align-items:center;justify-content:space-between;gap:14px}.growth-notice button{flex:0 0 auto;border-color:currentColor;padding:6px 10px;color:inherit;background:transparent}.growth-notice.is-error{border-left-color:#b84b3b;background:#fff1ef;color:#8f3025}.growth-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:#fff}.growth-metrics.has-five{grid-template-columns:repeat(5,minmax(0,1fr))}.growth-metrics.has-six{grid-template-columns:repeat(6,minmax(0,1fr))}.growth-metric{display:grid;gap:6px;min-width:0;padding:18px 20px}.growth-metric+.growth-metric{border-left:1px solid var(--line)}.growth-metric span{color:var(--muted);font-size:12px;font-weight:700}.growth-metric strong{font-size:28px;line-height:1}.growth-metric.primary strong{color:var(--accent-dark)}.growth-metric.earned strong{color:var(--green)}.growth-metric.deducted strong{color:#9f3f37}.growth-rule-groups,.growth-learner-tools{display:grid;gap:22px}.growth-rule-group{min-width:0;border-top:1px solid var(--line-strong);padding-top:18px}.growth-rule-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.growth-rule-item{display:grid;align-content:start;min-width:0}.growth-request-overlay{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:18px;background:#141b1975}.growth-request-dialog{display:grid;gap:16px;width:min(100%,420px);max-height:calc(100dvh - 36px);overflow:auto;padding:20px;border:1px solid var(--line-strong);border-radius:8px;background:var(--panel);box-shadow:0 18px 56px #141b1938}.growth-request-dialog header,.growth-request-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.growth-request-dialog header button{min-width:40px;width:40px;padding:7px;font-size:22px}.growth-request-dialog label{display:grid;gap:6px;font-weight:750}.growth-request-total{padding:12px;border-left:3px solid var(--accent);background:var(--surface-subtle);font-size:20px}.growth-request-actions{justify-content:flex-end}.growth-request-actions button{min-width:120px}.growth-rule-button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;min-width:0;padding:9px 11px;text-align:left;width:100%}.growth-rule-button span{min-width:0;overflow-wrap:anywhere}.growth-rule-button strong{flex:0 0 auto;white-space:nowrap}.growth-rule-action{display:grid;flex:0 0 auto;gap:2px;justify-items:end;text-align:right}.growth-rule-action small{font-size:10px;font-weight:750;white-space:nowrap}.growth-rule-button:disabled{cursor:not-allowed;opacity:.68}.growth-rule-button.is-pending{border-left-color:#a87616;color:#72500e;background:#fff9eb}.growth-rule-button.is-complete{border-left-color:#25855a;background:#edf7f1;color:#205c3f}.growth-rule-title{display:grid;gap:3px}.growth-rule-title small{color:#8a5b00;font-size:10px;font-weight:750}.growth-required-toggle{display:flex;align-items:center;gap:7px;min-height:34px;padding:5px 10px 4px 12px;color:var(--muted);font-size:12px;font-weight:700;text-transform:none}.growth-required-toggle input{width:16px;height:16px;margin:0;accent-color:var(--accent-dark)}.growth-daily-status{display:flex;align-items:center;justify-content:space-between;gap:20px;border-left:4px solid;padding:14px 16px}.growth-daily-status.is-pending{border-color:#a87616;background:#fff9eb;color:#72500e}.growth-daily-status.is-complete{border-color:#25855a;background:#edf7f1;color:#205c3f}.growth-daily-status strong{font-size:14px}.growth-daily-status p{margin:3px 0 0;font-size:12px;line-height:1.5}.growth-daily-status>span{flex:0 0 auto;font-size:12px;font-weight:800}.growth-milestones{display:grid;gap:14px}.growth-milestones>.growth-section-heading{margin-bottom:0}.growth-milestone-next{display:grid;gap:10px;border:1px solid var(--line);border-left:4px solid #a87616;border-radius:6px;padding:16px;background:#fffdf7}.growth-milestone-next-heading{display:flex;align-items:end;justify-content:space-between;gap:18px}.growth-milestone-next-heading>div{display:grid;gap:3px}.growth-milestone-next-heading span,.growth-milestone-next p,.growth-milestone-achievement span,.growth-milestone-achievement small{color:var(--muted);font-size:12px}.growth-milestone-next-heading strong{font-size:17px}.growth-milestone-next-heading b{color:#72500e;font-size:13px;white-space:nowrap}.growth-milestone-track{display:block;width:100%;height:9px;overflow:hidden;border:0;border-radius:999px;-webkit-appearance:none;appearance:none;color:#a87616;background:#eee8d8}.growth-milestone-track::-webkit-progress-bar{border-radius:inherit;background:#eee8d8}.growth-milestone-track::-webkit-progress-value{border-radius:inherit;background:#a87616}.growth-milestone-track::-moz-progress-bar{border-radius:inherit;background:#a87616}.growth-milestone-next p{margin:0}.growth-milestone-next-footer,.growth-milestone-achievement-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.growth-milestone-next-footer span,.growth-milestone-achievement-meta b{color:#72500e;font-size:11px;font-weight:800;white-space:nowrap}.growth-milestone-achievements-heading{color:var(--ink-soft);font-size:13px;font-weight:800}.growth-milestone-achievements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.growth-milestone-achievement{display:grid;gap:5px;min-width:0;border:1px solid var(--line);border-left:3px solid #25855a;border-radius:6px;padding:13px 14px;background:#fff}.growth-milestone-achievement strong{overflow-wrap:anywhere;font-size:14px}.growth-rule-button.earn{border-left:3px solid var(--green);color:#315f18}.growth-rule-button.deduct{border-left:3px solid #9f3f37;color:#87362f}.growth-tools{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px}.growth-tools.single{grid-template-columns:1fr}.growth-tool{display:grid;align-content:start;gap:14px;border:1px solid var(--line);border-radius:6px;padding:20px;background:#fff}.growth-tool label{text-transform:none}.growth-tool>button{justify-self:start;min-width:120px;border-color:var(--accent-dark);background:var(--accent-dark);color:#fff}.growth-form-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.reward-form-row{grid-template-columns:minmax(160px,1fr) minmax(120px,.65fr)}.learner-request-form-row{grid-template-columns:minmax(180px,1fr) minmax(120px,.5fr)}.growth-section{min-width:0;border-top:1px solid var(--line-strong);padding-top:18px}.growth-section-heading{margin-bottom:14px}.growth-section-heading h3{margin:0;font-size:17px}.growth-section-heading p{max-width:720px;margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.growth-approval-queue{display:grid;gap:24px}.growth-settings-view{display:grid;gap:22px;min-width:0}.growth-settings-view>.growth-section-heading{margin-bottom:-6px}.growth-config-create{display:grid;gap:14px;border:1px solid var(--line);border-radius:6px;padding:18px;background:#fff}.growth-config-section{min-width:0;border-top:1px solid var(--line-strong);padding-top:18px}.growth-config-list{display:grid;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}.growth-config-row{padding:14px}.growth-config-row+.growth-config-row{border-top:1px solid var(--line)}.growth-config-row.is-inactive{background:var(--surface-subtle)}.growth-config-fields{display:grid;grid-template-columns:minmax(220px,2fr) minmax(140px,1fr) minmax(100px,.6fr) minmax(220px,1.2fr) auto;align-items:end;gap:10px}[data-growth-reward-create-form] .growth-config-fields,[data-growth-reward-config-form] .growth-config-fields,[data-growth-milestone-create-form] .growth-config-fields,[data-growth-milestone-config-form] .growth-config-fields{grid-template-columns:minmax(180px,1.4fr) minmax(120px,.8fr) minmax(80px,.5fr) minmax(100px,.6fr) minmax(160px,1.2fr) minmax(90px,.7fr) auto}.growth-config-fields>label{display:grid;gap:6px;min-width:0;text-transform:none}.growth-config-fields>button{min-width:108px;border-color:var(--accent-dark);background:var(--accent-dark);color:#fff}.growth-config-actions{display:grid;grid-template-columns:auto auto;gap:8px}.growth-config-actions button{min-width:88px}.growth-config-actions button[type=submit]{border-color:var(--accent-dark);background:var(--accent-dark);color:#fff}.growth-config-actions .growth-config-delete{border-color:#b84b3b;background:#fff;color:#8f3025}.growth-config-flags{display:flex;align-items:center;min-height:42px;gap:14px}.growth-automatic-settings{align-items:start}.growth-automatic-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.growth-automatic-fields>label{display:grid;gap:6px;min-width:0;color:var(--ink-soft);font-size:12px;font-weight:700;text-transform:none}.growth-automatic-fields>label>span{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.growth-automatic-fields b{color:var(--muted);font-size:12px}.growth-automatic-progress{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.6}.growth-automatic-settings>button{width:fit-content;min-width:108px;border-color:var(--accent-dark);background:var(--accent-dark);color:#fff}.growth-check{display:inline-flex;align-items:center;gap:7px;min-width:0;color:var(--ink-soft);font-size:12px;font-weight:700;text-transform:none;white-space:nowrap}.growth-check input{width:16px;height:16px;margin:0;accent-color:var(--accent-dark)}.growth-request-list,.growth-record-list{display:grid;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}.growth-request{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 16px}.growth-request+.growth-request,.growth-record-row+.growth-record-row{border-top:1px solid var(--line)}.growth-request h4,.growth-reward h4{margin:5px 0 3px;font-size:15px}.growth-request p,.growth-reward p,.growth-record-row p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.growth-request-times{display:grid;gap:3px;margin-top:7px}.growth-request-times time{color:var(--muted);font-size:12px;line-height:1.45}.growth-request-actions{display:flex;flex:0 0 auto;gap:8px}.growth-request-actions button:first-child{border-color:var(--accent-dark);background:var(--accent-dark);color:#fff}.growth-request-actions .secondary{color:var(--muted)}.growth-reward-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.growth-reward{display:flex;min-width:0;min-height:142px;flex-direction:column;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:6px;padding:16px;background:#fff}.growth-reward.is-archived{background:var(--surface-subtle);opacity:.78}.growth-reward-main .growth-tag+.growth-tag{margin-left:5px}.growth-tag.archived{background:#eee7e7;color:#704949}.growth-reward-action{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.growth-reward-action strong{color:var(--accent-dark);font-size:22px}.growth-reward-action small{color:var(--muted);font-size:11px}.growth-reward-action button{max-width:65%}.growth-reward-action button:disabled{cursor:not-allowed;opacity:.58}.growth-link-action{border:0;padding:4px 0;color:var(--muted);background:transparent;font-size:12px}.growth-tag,.growth-status{display:inline-flex;align-items:center;width:fit-content;min-height:22px;border-radius:999px;padding:3px 8px;background:var(--surface-subtle);color:var(--ink-soft);font-size:11px;font-weight:750}.growth-status.pending{background:#fff6df;color:#8a5b00}.growth-status.approved{background:#eaf6ee;color:#246640}.growth-status.rejected{background:#f4eeee;color:#7c4141}.growth-status.cancelled{background:#eef1f0;color:#52605c}.growth-record-actions{display:grid;justify-items:end;gap:6px}.growth-record-times{display:grid;justify-items:end;gap:3px}.growth-record-actions button{border:0;padding:4px 0;color:var(--accent-dark);background:transparent;font-size:12px}.growth-pagination{display:grid;width:fit-content;grid-template-columns:36px minmax(96px,auto) 36px;align-items:center;gap:8px;margin:12px 0 0 auto}.growth-pagination button{width:36px;height:36px;border-color:var(--line-strong);padding:0;font-size:18px}.growth-pagination button:disabled{cursor:default;opacity:.4}.growth-pagination span{color:var(--muted);font-size:12px;font-weight:700;text-align:center}.growth-category-list{display:grid;gap:11px;border:1px solid var(--line);border-radius:6px;padding:16px;background:#fff}.growth-category-row{display:grid;grid-template-columns:76px minmax(0,1fr) 40px;align-items:center;gap:10px;color:var(--ink-soft);font-size:13px}.growth-category-row strong{text-align:right}.growth-category-track{display:block;width:100%;height:7px;overflow:hidden;border:0;border-radius:999px;-webkit-appearance:none;appearance:none;color:var(--accent);background:var(--surface-subtle)}.growth-category-track::-webkit-progress-bar{border-radius:inherit;background:var(--surface-subtle)}.growth-category-track::-webkit-progress-value{border-radius:inherit;background:var(--accent)}.growth-category-track::-moz-progress-bar{border-radius:inherit;background:var(--accent)}.growth-record-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:66px;padding:11px 14px}.growth-record-row time{color:var(--muted);font-size:11px;white-space:nowrap}.growth-record-sign{font-size:16px;font-weight:800}.growth-record-sign.earn{color:var(--green)}.growth-record-sign.deduct,.growth-record-sign.spend{color:#9f3f37}.growth-record-row.is-held{background:#fffdf6}.growth-record-row.is-forfeited{background:#faf7f7}.growth-record-row.is-forfeited .growth-record-sign{color:#8b6b6b;text-decoration:line-through}.growth-settlement{font-weight:750}.growth-settlement.held{color:#8a5b00}.growth-settlement.forfeited{color:#8f3025}.growth-redemption-row,.growth-point-request-row{grid-template-columns:70px minmax(0,1fr) auto}.growth-empty{margin:0;border:1px dashed var(--line-strong);border-radius:6px;padding:20px;color:var(--muted);background:#ffffff8c;font-size:13px}@media(max-width:900px){.growth-tools{grid-template-columns:1fr}.growth-reward-grid,.growth-milestone-achievements{grid-template-columns:repeat(2,minmax(0,1fr))}.growth-rule-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.growth-form-row,.growth-config-fields,[data-growth-reward-create-form] .growth-config-fields,[data-growth-reward-config-form] .growth-config-fields,[data-growth-milestone-create-form] .growth-config-fields,[data-growth-milestone-config-form] .growth-config-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.growth-page{gap:20px}.growth-metrics,.growth-metrics.has-five,.growth-metrics.has-six{grid-template-columns:repeat(2,minmax(0,1fr))}.growth-metric:nth-child(odd){border-left:0}.growth-metric:nth-child(n+3){border-top:1px solid var(--line)}.growth-tools,.growth-reward-grid,.growth-rule-grid,.growth-form-row,.reward-form-row{grid-template-columns:1fr}.growth-parent-tabs,.growth-settings-tabs{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.growth-settings-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.growth-parent-tabs button,.growth-settings-tabs button{min-width:0;padding-inline:8px}.growth-config-fields,[data-growth-reward-create-form] .growth-config-fields,[data-growth-reward-config-form] .growth-config-fields,[data-growth-milestone-create-form] .growth-config-fields,[data-growth-milestone-config-form] .growth-config-fields{grid-template-columns:1fr}.growth-automatic-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.growth-config-fields>button{width:100%}.growth-automatic-settings>button{width:100%}.growth-config-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.growth-config-actions button{min-width:0;width:100%}.growth-config-flags{min-height:34px;flex-wrap:wrap}.growth-request,.growth-reward-action,.growth-daily-status{align-items:stretch;flex-direction:column}.growth-request-actions button,.growth-reward-action button{width:100%;max-width:none}.growth-record-row,.growth-redemption-row,.growth-point-request-row{grid-template-columns:60px minmax(0,1fr)}.growth-record-row time{grid-column:2}.growth-record-row>.growth-record-actions,.growth-record-row>.growth-record-times{grid-column:2}.growth-record-times{justify-items:start}.growth-pagination{width:100%;grid-template-columns:36px minmax(0,1fr) 36px}.growth-milestone-next-heading{align-items:start;flex-direction:column;gap:8px}.growth-milestone-achievements{grid-template-columns:1fr}}.auth-gate{position:fixed;inset:0;z-index:1000;overflow:auto;background:#f3f6f4;color:#17211d}.auth-gate[hidden]{display:none}.auth-shell{width:min(100% - 32px,520px);margin:7vh auto 32px}.auth-language{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:168px;min-height:38px;margin:0 0 18px auto;border:1px solid #cfd8d3;background:#fff}.auth-language button{min-width:0;border:0;border-radius:0;background:transparent}.auth-language button[aria-pressed=true]{background:#17211d;color:#fff}.auth-brand{margin-bottom:22px}.auth-brand p{margin:0 0 6px;color:#607069;font-size:13px;font-weight:700}.auth-brand h1{margin:0;font-size:32px;letter-spacing:0}.auth-mode{display:grid;grid-template-columns:1fr 1fr;border:1px solid #cfd8d3;background:#fff}.auth-mode button{min-height:44px;border:0;border-radius:0;background:transparent}.auth-mode button[aria-selected=true]{background:#17211d;color:#fff}.auth-panel{border:1px solid #cfd8d3;border-top:0;background:#fff;padding:24px}.auth-form,.auth-family-onboarding{display:grid;gap:16px}.auth-family-options{display:grid;gap:12px}.auth-family-options button{display:grid;gap:5px;min-height:76px;padding:14px 16px;border:1px solid #cfd8d3;border-radius:0;background:#fff;color:#17211d;text-align:left}.auth-family-options button:hover,.auth-family-options button:focus-visible{border-color:#168a4b;background:#f4f8f6}.auth-family-options button strong{font-size:16px}.auth-family-options button span{color:#607069;font-size:13px;font-weight:500;line-height:1.5}.auth-form-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid #dbe2de}.auth-form-heading strong{font-size:18px}.auth-form-heading button{flex:none}.auth-wechat{display:grid;gap:7px;margin-bottom:18px;text-align:center}.auth-wechat-action{display:grid;place-items:center;min-height:46px;border:1px solid #168a4b;background:#168a4b;color:#fff;font-weight:800;text-decoration:none}.auth-wechat small{color:#607069}.auth-qr{display:grid;justify-items:center;gap:8px;text-align:center}.auth-qr>strong{font-size:18px}.auth-qr>p{margin:0 0 4px;color:#607069;font-size:13px;line-height:1.5}.auth-qr-frame{display:grid;place-items:center;width:min(280px,100%);aspect-ratio:1;border:1px solid #cfd8d3;background:#fff}.auth-qr-frame img{display:block;width:100%;height:100%;object-fit:contain}.auth-qr-placeholder{padding:20px;color:#607069;font-size:14px;line-height:1.5}.auth-qr small{min-height:20px;color:#315c48}.auth-qr>button{min-height:40px;margin-top:4px}.auth-divider{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin:0 0 18px;color:#748179;font-size:12px}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#dbe2de}.auth-form label:not(.auth-consent){display:grid;gap:7px}.auth-form label span{font-size:13px;font-weight:700}.auth-form input{width:100%;min-height:44px;box-sizing:border-box}.auth-form>button{min-height:46px}.auth-consent{display:grid;grid-template-columns:20px 1fr;gap:9px;align-items:start}.auth-consent input{width:18px;min-height:18px;margin:1px 0}.auth-form-actions{display:flex;justify-content:space-between;gap:12px}.auth-sent,.auth-development{margin:0;padding:10px 12px;background:#eef5f1;color:#315c48}.auth-development{background:#fff4db;color:#6a4a00}.auth-message{min-height:22px;margin:14px 0 0;color:#a33b31}.auth-message[data-state=info]{color:#315c48}.auth-privacy{margin-top:14px;color:#53635c;font-size:13px}.auth-privacy summary{cursor:pointer;font-weight:700}.auth-privacy p{line-height:1.7}.auth-policy-links{display:flex;flex-wrap:wrap;gap:10px 18px}body.auth-required>:not(.auth-gate){visibility:hidden}body[data-principal-role=child] #workspaceSwitch,body[data-principal-role=child] #learnerSwitch,body[data-principal-role=child] #manageProfiles,body[data-principal-role=child] #parentToolsMenu{display:none}.auth-confirmation-page{position:fixed;overflow:auto}.auth-confirmation{width:min(100% - 40px,520px);margin:18vh auto 40px;padding-top:24px;border-top:3px solid #17211d}.auth-confirmation>p:first-child{color:#607069;font-weight:700}.auth-confirmation h1{margin:12px 0 22px;font-size:32px;letter-spacing:0}.auth-confirmation p{line-height:1.7}.account-dialog{width:min(760px,calc(100% - 24px));max-height:min(86vh,840px);padding:0;border:1px solid #cfd8d3}.account-dialog-shell>header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #dbe2de}.account-dialog-shell h2,.account-dialog-shell h3{margin:0;letter-spacing:0}.account-dialog-shell>header button{width:40px;height:40px;font-size:24px}.account-dialog-body{display:grid;gap:0;max-height:calc(86vh - 78px);overflow:auto}.account-dialog-body>section{padding:20px;border-bottom:1px solid #e3e8e5}.account-dialog-body h3{margin-bottom:14px;font-size:16px}.account-inline-form,.account-child-row,.account-family-code,.account-session{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.account-inline-form label{display:grid;gap:6px}.account-family-code{margin-top:14px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.account-family-code strong{font-size:20px}.account-parent-invite{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;margin-top:14px;padding:12px;border:1px solid #cfd8d3}.account-parent-invite strong{font-size:20px}.account-parent-invite small{color:#66756e}.account-invite-ready{grid-column:1;color:#315c48;font-size:12px;font-style:normal;font-weight:700}.account-parent-invite button{grid-column:2;grid-row:1 / span 2}.account-admin-link{display:inline-flex;min-height:40px;align-items:center;margin-top:8px;color:#00695c;font-weight:800}.account-wechat-reminders{margin-top:12px;border-top:1px solid #dbe2de}.account-wechat-reminder{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #dbe2de}.account-wechat-reminder[data-state=ready]{color:#315c48}.account-wechat-reminder>div{display:grid;gap:3px;min-width:0}.account-wechat-reminder strong{font-size:14px;line-height:1.45}.account-wechat-reminder small{color:#66756e;line-height:1.4}.account-children,.account-sessions{display:grid;gap:10px}.account-child-row{grid-template-columns:minmax(110px,1fr) minmax(160px,1fr) auto;padding:12px 0;border-top:1px solid #edf0ee}.account-child-row div,.account-child-row label,.account-session div{display:grid;gap:4px}.account-child-row small,.account-session small,.account-delete small{color:#66756e}.account-session{padding:10px 0;border-top:1px solid #edf0ee;align-items:center}.account-actions{display:grid;gap:18px}.account-delete{display:grid;gap:8px;color:#8f3028}.account-delete div{display:flex;gap:8px}.account-delete button{border-color:#b8473e;color:#8f3028}.account-message{min-height:22px;margin:0;padding:0 20px 20px;color:#315c48}.sync-toast{position:fixed;right:18px;bottom:18px;z-index:900;min-width:120px;max-width:min(360px,calc(100% - 36px));padding:11px 14px;border:1px solid #cfd8d3;background:#fff;box-shadow:0 8px 24px #1a2a2224}.sync-toast[data-state=error]{border-color:#d79a94;color:#8f3028}.sync-toast[data-state=update]{border-color:var(--accent);border-left-width:4px;color:var(--ink)}.sync-toast button{margin-left:12px}.sync-toast[hidden]{display:none}@media(max-width:640px){.auth-shell{width:min(100% - 24px,520px);margin-top:24px}.auth-brand h1{font-size:26px}.auth-panel{padding:18px}.account-child-row,.account-inline-form,.account-family-code{grid-template-columns:1fr;align-items:stretch}.account-family-code strong{font-size:18px}.account-parent-invite,.account-wechat-reminder{grid-template-columns:1fr}.account-parent-invite strong{font-size:18px;overflow-wrap:anywhere}.account-parent-invite button{grid-column:auto;grid-row:auto}.account-invite-ready{grid-column:auto}}.privacy-page{margin:0;background:#f3f6f4;color:#17211d}.privacy-page main{width:min(100% - 32px,760px);margin:0 auto;padding:48px 0 72px}.privacy-page header{padding-bottom:24px;border-bottom:2px solid #17211d}.privacy-page h1{font-size:36px;letter-spacing:0}.privacy-page h2{margin-top:0;font-size:20px;letter-spacing:0}.privacy-page section{padding:24px 0;border-bottom:1px solid #cfd8d3}.privacy-page p{line-height:1.8}@media(max-width:640px){.privacy-page h1{font-size:28px}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100dvh;overflow-x:hidden}@media(max-width:620px){button:not(.link-button),summary,.file-action,.artifact-upload,input:not([type=checkbox]):not([type=radio]),select{min-height:44px}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}button,summary,.file-action,.artifact-upload{touch-action:manipulation}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;min-height:0;padding:8px 14px}.startup-loading{width:calc(100% - 28px);padding:32px 0}.startup-loading-copy strong{font-size:20px}.topbar>div:first-child{grid-column:1;grid-row:1;min-width:0;padding-right:0}.topbar .eyebrow{display:none}.topbar h1{overflow:hidden;font-size:19px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.top-actions{display:contents}.workspace-switch{grid-column:1 / -1;grid-row:2;width:100%}.language-toggle{position:static;grid-column:2;grid-row:1;min-width:68px;padding-right:10px;padding-left:10px}.session-logout{grid-column:1 / -1;grid-row:2;width:100%}.workspace-switch button,.view-switch button,.learner-chip,.language-toggle{min-height:44px}.learner-switch{grid-column:1;grid-row:1;width:100%;padding-bottom:0;scroll-snap-type:x proximity}.learner-chip{min-height:40px;padding:6px 9px;scroll-snap-align:start}.familybar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:0;padding:8px 14px}.familybar-actions{display:contents}.familybar-actions .view-switch{grid-row:2;grid-column:1 / -1}.parent-tools-menu{grid-column:2;grid-row:1;justify-self:end;width:auto;margin-left:0}.parent-tools-menu summary{width:auto;min-width:60px;padding-right:10px;padding-left:10px}.familybar-actions>#manageProfiles{display:none}.parent-tools-popover{right:0;left:auto;width:min(280px,calc(100vw - 28px));max-width:calc(100vw - 28px)}.parent-tools-popover .mobile-menu-only{display:block}.parent-tools-popover button{min-height:48px}body[data-family-mode=learner] .learner-switch{grid-column:1 / -1}body[data-principal-role=child] .familybar{grid-template-columns:minmax(0,1fr)}body[data-principal-role=child] .familybar-actions .view-switch{grid-row:1}.family-page{padding-top:22px;padding-bottom:calc(36px + env(safe-area-inset-bottom))}.family-page-heading{gap:16px;padding-bottom:18px}.family-page-heading h2{overflow-wrap:anywhere}.family-heading-actions button,.plan-row button,.today-task>button,.attention-list button,.diagnostic-next button,.week-task button{width:100%}.family-metrics div,.growth-metric,.report-metrics div{padding:14px}.family-metrics div:last-child:nth-child(odd),.growth-metrics.has-five .growth-metric:last-child:nth-child(odd){grid-column:1 / -1;border-left:0}.family-metrics strong,.growth-metric strong{font-size:24px}.ai-health-strip{min-width:0}.plan-copy strong,.week-task strong,.weekly-decision-task>strong,.report-activity-detail strong{overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.today-task{gap:14px}.today-task h3{overflow-wrap:anywhere;font-size:18px;line-height:1.35}.onboarding-intro{padding:20px 0}.onboarding-intro h2{font-size:28px}.weekly-decision{margin-top:18px}.weekly-decision>div{padding:16px}.weekly-decision-task{grid-template-columns:1fr;gap:8px}.weekly-decision-task>span,.weekly-decision-task>strong,.weekly-decision-task>button{grid-column:1;grid-row:auto}.weekly-decision-task>button{width:100%}.week-section{padding:22px 0}.growth-tool{gap:12px;padding:16px}.growth-tool>button{width:100%}.growth-reward{min-height:0}.growth-link-action{display:inline-flex;align-items:center;min-height:44px}.growth-category-row{grid-template-columns:68px minmax(0,1fr) 34px;gap:8px}.profile-dialog,.parent-access-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);margin:auto}.profile-form,.parent-access-form{gap:16px;padding:18px}.dialog-heading button{width:44px;height:44px;flex:0 0 44px}.profile-form>details>summary,.subject-options label,.weekday-options label,.status-options span{min-height:44px}.dialog-actions button{min-width:0;flex:1}.filters{gap:10px;padding:14px}.topic-list{height:min(320px,38dvh);min-height:240px}.topic-button{min-height:52px;padding:12px 14px}.list-heading{min-height:52px;padding-right:14px;padding-left:14px}.topic-card{padding:16px}.topic-card h2{overflow-wrap:anywhere;font-size:26px;line-height:1.2}.description{font-size:16px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-tabs{margin-top:20px;scroll-snap-type:x proximity}.learning-tab{min-height:48px;scroll-snap-align:start}.resource-item{width:100%}.check-row{min-height:44px}.session-shell{width:calc(100% - 24px);padding-top:18px;padding-bottom:calc(40px + env(safe-area-inset-bottom))}.session-heading{gap:14px;padding-bottom:18px}.session-context h2{overflow-wrap:anywhere;font-size:24px;line-height:1.28}.session-context>p{line-height:1.55}.session-task{padding-top:20px}.assessment-actions,.assessment-buttons,.lesson-response-actions{align-items:stretch;flex-direction:column}.assessment-buttons button,.lesson-response-actions button{width:100%}.graph-view{flex-basis:500px;min-height:500px}.graph-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px}.graph-toolbar>div{min-width:0}.graph-toolbar p:last-child{line-height:1.4}.graph-toolbar button{align-self:start}.graph-selection{max-height:45%;overflow-y:auto;padding:12px}.graph-selection h2{overflow-wrap:anywhere;font-size:19px}}@media(max-width:420px){.ai-health-strip{align-items:stretch;flex-wrap:wrap}.ai-health-copy{flex-basis:calc(100% - 22px)}.ai-health-strip button{width:100%}}@media(max-width:380px){.filter-row,.schedule-controls,.graph-toolbar{grid-template-columns:1fr}.graph-toolbar button{width:100%}}@media(max-width:340px){.card-grid{grid-template-columns:1fr}}@media(max-width:900px)and (max-height:520px)and (orientation:landscape){.topbar{align-items:center;flex-direction:row;min-height:58px;padding:8px 14px}.topbar .eyebrow{display:none}.top-actions{width:auto;flex-direction:row}.workspace-switch{width:auto}.language-toggle{position:static}.familybar{padding-top:7px;padding-bottom:7px}.graph-view{flex-basis:420px;min-height:420px}}
