:root{font-family:system-ui,sans-serif;color:#172c35;background:#f5f7f8;color-scheme:light}
header{flex-wrap:wrap}header nav{display:flex;gap:8px;flex-wrap:wrap}
body{max-width:760px;margin:0 auto;padding:20px}header{display:flex;align-items:center;justify-content:space-between;gap:16px}h1{font-size:1.6rem}h2{font-size:1.25rem}h3{font-size:1rem}
section{padding:20px;background:#fff;border:1px solid #d3dfe3;border-radius:14px;margin:20px 0}button{padding:10px 14px;border:1px solid #456978;border-radius:8px;background:#e8f4f6;color:#163846;cursor:pointer;font:inherit}button:disabled{opacity:.6;cursor:wait}
input{display:block;box-sizing:border-box;width:100%;padding:10px;margin:8px 0 12px;border:1px solid #738c97;border-radius:6px;font:inherit}ul{padding-left:20px}li{margin:14px 0}li button{margin-left:10px}summary{cursor:pointer;padding:10px 0}p{line-height:1.5}small{display:block;color:#47616c}[hidden]{display:none!important}

audio{display:block;width:100%;max-width:100%;margin:12px 0}select{max-width:100%;font:inherit}

#lesson-form fieldset,#lesson-preview fieldset{min-width:0;margin:16px 0;border:1px solid #d3dfe3;border-radius:8px;padding:12px}
#lesson-form textarea{display:block;box-sizing:border-box;width:100%;min-height:90px;padding:10px;font:inherit;margin:8px 0 12px}
#lesson-form label,#lesson-preview label{display:block;margin:8px 0}
#lesson-preview input[type=radio]{display:inline-block;width:auto;margin:8px 10px 8px 0}
#lesson-form button{margin:4px 0}
#lesson-version-browser{overflow-wrap:anywhere}#lesson-version-content p,#lesson-version-content li{white-space:pre-wrap}

#lesson-task fieldset{min-width:0;border:1px solid #d3dfe3;border-radius:8px;padding:12px;margin:16px 0}
#lesson-task label{display:block;margin:8px 0}
#lesson-task input[type=radio]{display:inline-block;width:auto;margin:8px 10px 8px 0}
#lesson-task{overflow-wrap:anywhere}

#flashcard-fields fieldset{min-width:0;margin:16px 0;border:1px solid #d3dfe3;border-radius:8px}
#flashcard-fields textarea{box-sizing:border-box;display:block;width:100%;min-height:80px;font:inherit;padding:10px}
#flashcard-front,#flashcard-back{white-space:pre-wrap;overflow-wrap:anywhere;padding:16px;background:#f1f7f8;border-radius:8px}
#flashcards{overflow-wrap:anywhere}#flashcards button{margin:4px}
#flashcard-import-cards p{white-space:pre-wrap}

#study-plan{overflow-wrap:anywhere}#study-plan li{margin:16px 0}#study-plan button{margin:4px}
#study-trails{overflow-wrap:anywhere}#study-trails-list,#study-trails-catalog{list-style:none;padding:0;display:grid;gap:12px}
.study-trail-card,.study-trail-catalog-card{margin:0;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0}
.study-trail-card h4{margin:0 0 12px}.study-trail-actions,.study-trail-save-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0}
.study-trail-actions button,.study-trail-save-actions button{margin:0}.study-trail-items{padding-left:24px}.study-trail-items>li{padding:8px 0;overflow-wrap:anywhere}
.study-trail-catalog-card{display:flex;align-items:center;justify-content:space-between;gap:12px}.study-trail-catalog-card span{min-width:0;overflow-wrap:anywhere}
.study-trail-create{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:end;margin:16px 0}
.study-trail-create label{grid-column:1/-1}.study-trail-create input{width:100%}
.study-trail-rename{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.study-trail-rename input{flex:1 1 220px}
.study-trail-conflict{padding:12px 0}.study-trail-conflict:empty{display:none}.study-trail-conflict>p{font-weight:650}
@media(max-width:520px){.study-trail-create{grid-template-columns:minmax(0,1fr)}.study-trail-create label{grid-column:auto}.study-trail-create button,.study-trail-save-actions button{width:100%}.study-trail-catalog-card{align-items:stretch;flex-direction:column}}
#study-goal{background:var(--canvas);padding:18px}#study-goal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;align-items:end}#study-goal-form label{grid-column:1/-1}#study-goal-form input{margin:0 0 8px}#study-goal-form button{justify-self:start}#study-goal-help{grid-column:1/-1;margin:0 0 8px;color:var(--muted);font-size:.9rem}#study-goal-progress{font-size:1.2rem;font-weight:650}#study-goal-state{color:var(--muted)}

#assignment-recipient-list label{display:block;margin:8px 0}#assignment-recipient-list input{display:inline-block;width:auto;margin:0 10px 0 0}
#assignment-recipients{min-width:0;overflow-wrap:anywhere}
#student-report{overflow-wrap:anywhere}
#profile,#account-display-name,#classroom{overflow-wrap:anywhere}
.report-table{max-width:100%;overflow-x:auto}.report-table table{border-collapse:collapse;width:100%}.report-table th,.report-table td{border:1px solid #d3dfe3;padding:8px;text-align:left;min-width:90px}.report-table td:first-child{min-width:180px;overflow-wrap:anywhere}

#flashcard-editor-preview p { white-space: pre-wrap; overflow-wrap: anywhere; }

#lesson-attempts{overflow-wrap:anywhere}#lesson-attempts-choices{min-width:0}
#lesson-attempts-students label{display:block;margin:10px 0}
#lesson-attempts-students input{display:inline-block;width:auto;margin:0 10px 0 0}
#lesson-attempts button{margin:4px 0}

/* Account workspace: shared controls, distinct navigation areas. */
:root{--ink:#183a36;--muted:#5b6f69;--line:#dbe4de;--paper:#fff;--accent:#146658;--soft:#e9f2ed;--canvas:#f6f7f2;color:var(--ink);background:var(--canvas);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:15px}
*{box-sizing:border-box}body{max-width:1360px;padding:0 32px 48px;margin:auto}main{min-width:0}h1,h2,h3,h4{color:var(--ink);line-height:1.2;letter-spacing:-.025em}h2{font-size:1.55rem}h3{font-size:1.1rem}p{line-height:1.65}a{color:var(--accent);text-underline-offset:3px}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{background:#fff;border:1px solid #b8ccc2;border-radius:9px;color:var(--ink);padding:10px 15px;min-height:44px;line-height:1.35;font-weight:550;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:var(--soft);border-color:var(--accent)}button:disabled{cursor:not-allowed;opacity:.55}.primary,button[type=submit]{background:var(--accent);color:white;border-color:var(--accent)}button[type=submit]:hover:not(:disabled),.primary:hover:not(:disabled){background:#0e5146;color:white}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #ce8b36;outline-offset:3px}
.app-header{min-height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:22px 0;margin-bottom:22px;gap:20px}.brand{display:flex;align-items:center;gap:13px}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--accent);color:white;font-size:1.3rem;font-weight:750;letter-spacing:-.08em}.brand h1{font-size:1.32rem;margin:0}.brand p{font-size:.8rem;margin:4px 0 0;color:var(--muted)}.account-header{display:flex;gap:20px;align-items:center;min-width:0;text-align:right}.account-header>div{min-width:0}#account-display-name{font-size:.9rem;font-weight:650;margin:0;overflow-wrap:anywhere}.role-badge{display:inline-block;color:var(--accent);font-size:.75rem;font-weight:650;margin-top:3px}.eyebrow{font-size:.7rem;letter-spacing:.13em;color:var(--muted);font-weight:750;margin:0 0 12px}.skip-link{position:absolute;top:-80px;background:white;padding:12px;z-index:10}.skip-link:focus{top:12px}#status:empty{display:none}#status:not(:empty){background:#fff5df;border:1px solid #ecd9b6;border-radius:10px;padding:12px 16px;overflow-wrap:anywhere}
section{border-color:var(--line);border-radius:14px;padding:24px;margin:20px 0;background:var(--paper)}.workspace{padding:0;margin:0;border:none;background:transparent}.workspace-shell{display:grid;grid-template-columns:195px minmax(0,1fr);gap:32px}.workspace-sidebar{padding-top:21px}.workspace-sidebar>.eyebrow{padding-left:12px}.workspace-sidebar nav{display:grid;gap:6px}.workspace-sidebar button{display:flex;gap:13px;align-items:center;text-align:left;border:1px solid transparent;background:transparent;padding:13px 12px;font-weight:550;min-width:0}.workspace-sidebar button[aria-current=page]{background:var(--accent);color:#fff;border-color:var(--accent)}.nav-index{font-size:.7rem;opacity:.65;font-variant-numeric:tabular-nums}.sidebar-note{font-size:.8rem;color:var(--muted);padding:24px 12px;border-top:1px solid var(--line);margin-top:32px}.workspace-content{min-width:0}.workspace-heading{padding:18px 0 24px;border-bottom:1px solid var(--line);margin-bottom:24px}.workspace-heading h2{font-size:2.05rem;margin:0}.workspace-heading p:last-child{color:var(--muted);margin:9px 0 0;font-size:.95rem}.workspace-heading h2:focus{outline:none}[data-workspace-view]{min-width:0;overflow-wrap:anywhere}[data-workspace-view]>section:first-child{margin-top:0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.section-heading h2{margin-top:0}
input,select,textarea{font:inherit;color:var(--ink);background:white;border:1px solid #bccdc3;border-radius:8px;padding:11px 12px;max-width:100%;min-width:0}select{display:block;width:100%;margin:8px 0 14px;min-height:44px}input:not([type=checkbox]):not([type=radio]){min-height:44px}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}label{font-size:.9rem;font-weight:550}fieldset{min-width:0;border-color:var(--line);border-radius:10px}summary{font-weight:650}details{border:1px solid var(--line);border-radius:10px;padding:6px 16px;background:white;margin:16px 0}details details{background:var(--canvas)}form{min-width:0}form>button{margin:5px 5px 5px 0}#create-class,#assign-reading,#assign-lesson,#assign-flashcards{background:var(--canvas);border:1px solid var(--line);padding:20px;border-radius:12px;margin-top:16px}#class-teacher-tools>h3{margin-top:28px}
#classes,#lesson-list,#flashcard-list,#assignments,#students,#invites,#report-students,#class-overview-students,#student-report-tasks{list-style:none;padding:0}#classes>li,#lesson-list>li,#flashcard-list>li,#assignments>li,#students>li,#invites>li,#report-students>li,#class-overview-students>li,#student-report-tasks>li{border:1px solid var(--line);background:white;border-radius:12px;padding:18px;margin:12px 0;overflow-wrap:anywhere;line-height:1.65}li button{margin:8px 6px 0 0}#classes>li>p:first-child{font-size:1.05rem;font-weight:650;margin:0 0 8px}#classes>li>details{margin-bottom:0}#classes>li>details>summary{font-size:.85rem}#teacher-tools{border-style:dashed;background:var(--soft)}#class-count,#lesson-count,#flashcard-library-summary,#assignment-count{font-size:.85rem;color:var(--muted)}#profile{margin-top:0}#classroom{margin-top:30px;scroll-margin-top:20px}.report-table{border-radius:10px}.report-table th{background:var(--soft);font-size:.8rem}.report-table td{font-size:.85rem}
.access-panel{max-width:800px;margin:60px auto;padding:clamp(26px,6vw,66px);background:#eaf1e7;border-color:#d7e2d3}.access-panel h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.12;margin:20px 0;max-width:650px}.access-panel>p:not(.eyebrow){color:var(--muted);max-width:440px}.access-panel button{margin-top:18px;min-width:150px}
@media(min-width:1050px){#classes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}#classes>li{margin:0}#classes>li:has(details[open]){grid-column:1/-1}}
@media(max-width:760px){body{padding:0 16px 32px}.app-header{min-height:88px;padding:16px 0;margin-bottom:14px;gap:12px}.brand-mark{width:38px;height:38px;border-radius:12px;font-size:1.1rem}.brand h1{font-size:1.05rem}.brand p{font-size:.7rem}.account-header{gap:10px;max-width:48%}.account-header button{padding:9px 12px}#account-display-name{font-size:.8rem}.workspace-shell{grid-template-columns:minmax(0,1fr);gap:8px}.workspace-sidebar{padding:0}.workspace-sidebar>.eyebrow,.sidebar-note{display:none}.workspace-sidebar nav{display:flex;flex-wrap:wrap;gap:6px;padding:2px 0 12px;border-bottom:1px solid var(--line)}.workspace-sidebar button{font-size:.8rem;padding:10px 12px;gap:6px;min-height:42px;background:white;border-color:var(--line)}.nav-index{display:none}.workspace-heading{padding:12px 0 18px;margin-bottom:18px}.workspace-heading h2{font-size:1.6rem}.workspace-heading p:last-child{font-size:.85rem}section{padding:18px;border-radius:12px}h2{font-size:1.3rem}#classes>li,#lesson-list>li,#flashcard-list>li,#assignments>li{padding:16px}#classroom{padding:16px}.section-heading button{width:100%}#create-class,#assign-reading,#assign-lesson,#assign-flashcards{padding:14px}.access-panel{margin:32px auto}button{max-width:100%;overflow-wrap:anywhere}#lesson-form fieldset,#lesson-task fieldset{padding:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.workspace-heading>div{min-width:0}#workspace-resume{font-size:.8rem}#reports-open{background:var(--accent);color:white}#reports-picker-state{font-size:.85rem;color:var(--muted)}
.workspace-sidebar{position:sticky;top:16px;align-self:start}#study-priorities-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px}#study-priorities-summary>div{padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--canvas)}#study-priorities-summary dt{font-size:.8rem;color:var(--muted);line-height:1.5}#study-priorities-summary dd{font-size:1.8rem;font-weight:700;margin:8px 0 0;line-height:1}#study-priorities-list{padding-left:0;list-style:none}#study-priorities-list>li{padding:16px;border:1px solid var(--line);border-radius:10px}
@media(max-width:760px){.workspace-sidebar{top:0;z-index:2;background:var(--canvas);padding:8px 0 0}#workspace-title,#class-title,#study-title,#lesson-task-title,#flashcard-study-title{scroll-margin-top:150px}#study-priorities{padding:14px}#study-priorities-summary{grid-template-columns:minmax(0,1fr)}#study-priorities-summary>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px}#study-priorities-summary dd{margin:0;font-size:1.6rem;flex-shrink:0}#study-priorities-summary dt{max-width:75%}}
@media(max-width:520px){#study-goal-form{grid-template-columns:minmax(0,1fr)}#study-goal-form label,#study-goal-help{grid-column:auto}#study-goal-form button{width:100%}}

/* Classroom: current work first, teaching controls grouped by purpose. */
.classroom-shortcuts {display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 24px}
.classroom-shortcuts button {margin:0}
.classroom-activities,.classroom-reports,.classroom-panel {border:1px solid var(--line,#dbe4de);border-radius:16px;padding:20px;background:#fff;margin:20px 0;min-width:0;scroll-margin-top:24px}
.classroom-panel>summary {font-size:1.15rem;font-weight:700;color:#183a36;cursor:pointer;padding:4px 0;min-height:32px}
.classroom-panel[open]>summary {margin-bottom:16px}
.classroom-filters {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;align-items:end}
.classroom-filters label {margin:0}
.classroom-filters>label:first-child {grid-column:1/-1}
.classroom-filters button {justify-self:start}
.classroom-proposals {display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));margin-top:20px}
.classroom-proposals form {border:1px solid #dbe4de;background:#f6f7f2;padding:16px;border-radius:12px;min-width:0;margin:0}
.classroom-proposals h3 {margin-top:0}
@media(max-width:760px){
 .classroom-activities,.classroom-reports,.classroom-panel {padding:14px;scroll-margin-top:150px}
 .classroom-filters {grid-template-columns:minmax(0,1fr)}
 .classroom-shortcuts {gap:6px}
 .classroom-shortcuts button {flex:1 1 140px}
}

.assignment-composer {margin-top:20px}
.assignment-composer .classroom-proposals {grid-template-columns:minmax(0,1fr)}
.assignment-draft-summary {background:#eef5ef;border:1px solid #dbe4de;border-radius:12px;padding:16px;margin-top:20px;overflow-wrap:anywhere}
.assignment-draft-summary h4 {margin:0 0 8px;font-size:1.05rem}
.assignment-draft-summary dl {margin:0;display:grid;gap:12px}
.assignment-draft-summary dl>div {display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px}
.assignment-draft-summary dt {font-weight:700}
.assignment-draft-summary dd {margin:0;white-space:pre-wrap}
@media(max-width:760px){.assignment-draft-summary dl>div{grid-template-columns:minmax(0,1fr);gap:4px}}

.report-actions {display:flex;flex-wrap:wrap;gap:8px}
.overview-metrics {display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin:20px 0}
.overview-metrics>div {padding:16px;background:#eef5ef;border-radius:12px;border:1px solid #dbe4de}
.overview-metrics dt {font-size:.9rem;color:#49625a}
.overview-metrics dd {margin:8px 0 0;font-size:1.8rem;font-weight:750;color:#183a36}
#class-overview-students {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;padding:0;list-style:none}
#class-overview-students>li {margin:0;padding:18px;min-width:0;overflow-wrap:anywhere}
#class-overview-students h4 {margin:0 0 8px;font-size:1.15rem}
.overview-progress {font-weight:650;color:#146658}
.overview-student-metrics {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.overview-student-metrics dt {font-size:.85rem;color:#49625a}
.overview-student-metrics dd {margin:4px 0 0;font-size:1.15rem;font-weight:650}
.overview-time {font-size:.9rem;color:#49625a}

#class-activities-rows,#student-report-tasks,#report-students {padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
#class-activities-rows>.report-card,#student-report-tasks>.report-card,#report-students>.report-card {margin:0;padding:18px;min-width:0;overflow-wrap:anywhere}
.report-card h4 {margin:0 0 10px;font-size:1.15rem}
.report-card-status {display:inline-block;padding:6px 10px;border-radius:8px;background:#eef5ef;color:#146658;font-weight:650;margin:0 0 12px}
.report-card-metrics {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.report-card-metrics dt {font-size:.85rem;color:#49625a}
.report-card-metrics dd {margin:4px 0 0;font-weight:650}
.report-card details {padding:12px 0;border-top:1px solid #dbe4de}
.report-card details summary {cursor:pointer;font-weight:650;min-height:30px}
.report-card details ol {padding-left:22px}
.report-card details li {margin:8px 0;padding:0;border:0;background:transparent}

#students,#invites {padding:0;list-style:none;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}
#students>li,#invites>li {margin:0;min-width:0;overflow-wrap:anywhere;padding:16px}
#students h4,#invites h4 {font-size:1.1rem;margin:0 0 8px}
#invites small {display:block;color:#49625a;margin-bottom:12px}
.people-actions {display:flex;gap:8px;flex-wrap:wrap}
.people-actions button {margin:0}
#new-link {border:1px solid #b9d6c8;border-radius:12px;background:#eef5ef;padding:16px;margin:16px 0}
#invite-copy-state:empty {display:none}

.lesson-workflow {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:20px 0}
.lesson-workflow li {padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}
.lesson-workflow strong,.lesson-workflow span {display:block}
.lesson-workflow span {font-size:.9rem;margin-top:6px}
#lesson-list {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
#lesson-list>.lesson-library-card {margin:0;min-width:0}
.lesson-library-card h3 {margin:0 0 12px;font-size:1.15rem}
#lesson-library-summary {font-weight:650}
@media(max-width:760px){.lesson-workflow{grid-template-columns:1fr}}

#flashcard-list {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
#flashcard-list>.flashcard-library-card {margin:0;min-width:0}
.flashcard-library-card h3 {margin:0 0 12px;font-size:1.15rem}
.flashcard-library-actions {display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.flashcard-library-actions button {margin:0}
#flashcard-library-updated {font-size:.85rem;color:var(--muted)}

#study-priorities-list,#study-plan-saved,#study-plan-available {list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
#study-plan-saved {grid-template-columns:1fr}
#study-priorities-list>.study-resource-card,#study-plan-saved>.study-resource-card,#study-plan-available>.study-resource-card {margin:0;min-width:0;padding:18px;border:1px solid var(--line);border-radius:12px;background:white;overflow-wrap:anywhere}
.study-resource-card h4 {margin:0 0 12px;font-size:1.1rem}
.study-sequence-position {margin:0 0 10px;font-size:.85rem;color:var(--muted);font-weight:650}
.study-resource-actions {display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.study-resource-actions button {margin:0}
.study-resource-note {font-weight:650;color:#785219}

#assignments {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px}
#assignments>.assignment-card {margin:0;min-width:0}
.assignment-card h4 {margin:0 0 12px;font-size:1.15rem}
.assignment-card-deadline {font-weight:650}
.assignment-card-actions {display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.assignment-card-actions button {margin:0}
.assignment-card-progress {border-top:1px solid var(--line);padding-top:12px;margin-top:12px}
.assignment-completion {font-weight:650;color:#146658}
#assignment-updated {font-size:.85rem;color:var(--muted)}

#lesson-task {max-width:960px;margin:24px auto}
#lesson-task-questions {display:grid;gap:24px;margin:24px 0}
#lesson-task-questions fieldset {min-width:0;margin:0;padding:20px;border:1px solid var(--line);border-radius:12px;background:white}
#lesson-task-questions legend {font-size:1.15rem;font-weight:650;max-width:100%;overflow-wrap:anywhere;padding:0 6px}
.lesson-question-position {font-size:.85rem;color:var(--muted);margin:0 0 16px}
#lesson-task-questions label:has(input[type=radio]) {display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid var(--line);border-radius:8px;cursor:pointer}
#lesson-task-questions label:has(input[type=radio]:checked) {border-color:var(--accent);background:var(--soft)}
#lesson-task-questions input[type=radio] {flex:none;margin:4px 0;width:18px;height:18px}
#lesson-task-completion,.lesson-question-feedback {padding:14px;border-radius:10px;background:var(--soft);overflow-wrap:anywhere}
.lesson-task-actions {border-top:1px solid var(--line);padding-top:16px;display:flex;flex-wrap:wrap;gap:10px}
.lesson-task-actions p {flex-basis:100%;margin:0 0 8px}
.lesson-task-actions button {margin:0}
#lesson-task-history button {margin:8px 8px 0 0}
#lesson-task-review-content article {padding:16px;border:1px solid var(--line);border-radius:10px;margin:12px 0;overflow-wrap:anywhere}
@media(max-width:760px){#lesson-task-questions fieldset{padding:14px}.lesson-task-actions button{width:100%}}

/* Practice uses the same controls for personal and assigned decks. */
#flashcard-study { max-width: 840px; margin: 24px auto; }
.flashcard-study-guide, .flashcard-rating-help { color: var(--muted); }
#flashcard-front, #flashcard-back {
  padding: 28px; border: 1px solid var(--line); border-radius: 16px;
  background: white; white-space: pre-wrap; overflow-wrap: anywhere;
  font-size: 1.3rem; line-height: 1.6;
}
#flashcard-front:empty, #flashcard-back:empty { display: none; }
#flashcard-front::before, #flashcard-back::before {
  display: block; margin-bottom: 12px; font-size: .85rem; font-weight: 700;
  color: var(--muted);
}
#flashcard-front::before { content: 'FRENTE'; }
#flashcard-back::before { content: 'VERSO · COMPARE SUA RESPOSTA'; }
#flashcard-back { border-left: 4px solid var(--accent); }
#flashcard-ratings { padding: 18px; border: 1px solid var(--line); border-radius: 12px; margin: 18px 0; }
#flashcard-rating-question { font-weight: 700; margin-top: 0; }
#flashcard-ratings button { margin: 4px; }
#flashcard-study > details { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--line); }
@media (max-width: 600px) {
  #flashcard-front, #flashcard-back { padding: 18px; }
  #flashcard-ratings button { width: calc(100% - 8px); }
}

/* Reading keeps prompt navigation separate from recording and analysis. */
#study { max-width: 960px; margin: 24px auto; }
.reading-prompt { background: var(--soft); border: 1px solid var(--line); border-radius: 16px; padding: 24px; margin: 20px 0; }
#study-position { color: var(--muted); font-weight: 700; margin-top: 0; }
#study-text { font-size: clamp(1.4rem, 3vw, 2rem); line-height: 1.6; overflow-wrap: anywhere; white-space: pre-wrap; }
#study-tip { color: var(--muted); margin-bottom: 0; }
.reading-navigation { display: flex; flex-wrap: wrap; gap: 12px; }
#reading-controls { margin: 20px 0; padding: 20px; border: 1px solid var(--line); border-radius: 12px; }
#reading-controls h3 { margin-top: 0; }
#reading-upload { border-top: 1px solid var(--line); padding-top: 18px; margin-top: 18px; }
#reading-file { max-width: 100%; }
#reading-attempts { list-style: none; padding: 0; }
#reading-attempts li { padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); overflow-wrap: anywhere; }
#practice-time { color: var(--muted); }
@media (max-width: 600px) {
  .reading-prompt, #reading-controls { padding: 16px; }
  .reading-navigation button { flex: 1 1 160px; }
}

/* Authoring panels preserve existing fieldsets and action identities. */
#lesson-form, #flashcard-form { margin-top: 24px; padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: var(--canvas); }
#lesson-questions > fieldset, #flashcard-fields > fieldset { background: var(--paper); padding: 20px; border: 1px solid var(--line); border-radius: 12px; margin: 20px 0; min-width: 0; }
#lesson-questions > fieldset > legend, #flashcard-fields > fieldset > legend { font-weight: 700; padding: 0 8px; }
#lesson-questions textarea, #flashcard-fields textarea { box-sizing: border-box; width: 100%; min-height: 110px; resize: vertical; }
#lesson-questions select { max-width: 100%; }
.authoring-add { padding: 18px; border: 1px solid var(--line); border-radius: 12px; margin: 20px 0; background: var(--paper); }
.authoring-add label { display: block; margin-bottom: 12px; }
.authoring-actions { display: flex; flex-wrap: wrap; gap: 10px; border-top: 1px solid var(--line); padding-top: 18px; margin-top: 20px; }
.authoring-actions > p { flex-basis: 100%; color: var(--muted); margin-top: 0; }
@media (max-width: 600px) {
  #lesson-form, #flashcard-form { padding: 14px; }
  #lesson-questions > fieldset, #flashcard-fields > fieldset { padding: 12px; }
  .authoring-actions > button { width: 100%; }
}

/* Classroom library shares the card vocabulary used by study resources. */
#classes { list-style: none; padding: 0; display: grid; gap: 18px; }
#classes > .class-library-card { margin: 0; padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); min-width: 0; overflow-wrap: anywhere; }
.class-library-card h3 { margin: 0 0 12px; font-size: 1.15rem; }
.class-library-meta { display: flex; flex-wrap: wrap; gap: 8px; }
.class-library-meta span { background: var(--soft); border-radius: 6px; padding: 4px 10px; font-size: .9rem; font-weight: 600; }
.class-library-hint { color: var(--muted); }
#classes > li > button { margin-left: 0; }
.class-library-card > details { border-top: 1px solid var(--line); padding-top: 10px; margin-top: 18px; }
.class-library-card form { max-width: 620px; }
.class-library-card form p { color: var(--muted); }
@media (max-width: 600px) {
  #classes > .class-library-card { padding: 16px; }
  .class-library-card form button { width: 100%; }
}

/* Entry panels explain the existing report and profile flows. */
.report-reading-guide { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin: 24px 0; }
.report-reading-guide > div, .profile-current { background: var(--soft); border: 1px solid var(--line); border-radius: 12px; padding: 18px; min-width: 0; overflow-wrap: anywhere; }
.report-reading-guide dt { font-weight: 700; margin-bottom: 10px; }
.report-reading-guide dd { margin: 0; color: var(--muted); line-height: 1.6; }
.entry-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.reports-entry select { display: block; width: 100%; margin-top: 10px; }
.profile-current { margin: 20px 0; }
.profile-current h3 { margin-top: 0; }
#profile-form { border-top: 1px solid var(--line); padding-top: 18px; }
#profile-form > p { color: var(--muted); }
@media (max-width: 760px) {
  .report-reading-guide { grid-template-columns: 1fr; }
  .entry-actions > button { width: 100%; }
}

/* Account access and explicit classroom invitation. */
.access-guide { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin: 26px 0; }
.access-guide > div { min-width: 0; border-top: 1px solid #bccdc3; padding-top: 16px; }
.access-guide h3 { font-size: 1rem; margin: 0 0 8px; }
.access-guide p, .access-action p { color: var(--muted); font-size: .9rem; line-height: 1.65; margin: 0; }
.access-action { border-top: 1px solid #bccdc3; padding-top: 18px; }
.access-action > button { margin: 0 0 14px; }
#invitation { border: 1px solid var(--line); border-left: 4px solid var(--accent); }
#invite-description { font-weight: 650; overflow-wrap: anywhere; }
#invite-help { color: var(--muted); line-height: 1.65; }
@media (max-width: 760px) {
  .access-guide { grid-template-columns: 1fr; gap: 16px; }
  .access-action > button { width: 100%; }
}

/* Fixed lesson versions: content and author resources. */
.version-picker { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin: 20px 0; }
.version-picker > label { flex: 1 1 200px; }
.version-picker select { margin-bottom: 0; }
.version-resources { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 24px; }
.version-resources > section, .version-reuse { min-width: 0; border: 1px solid var(--line); border-radius: 12px; background: var(--soft); padding: 18px; margin: 0; }
.version-resources h5, .version-reuse h5 { font-size: 1rem; margin: 0 0 10px; }
.version-resources p, .version-reuse p { color: var(--muted); line-height: 1.65; }
.version-links { display: grid; gap: 12px; }
.version-links a { display: block; padding: 10px 0; overflow-wrap: anywhere; }
.version-reuse { margin-top: 16px; }
#lesson-version-content > article, #lesson-preview-content > article { border: 1px solid var(--line); border-radius: 12px; padding: 18px; margin: 16px 0; overflow-wrap: anywhere; }
#lesson-version-content h5 { font-size: 1rem; margin-top: 0; }
@media (max-width: 760px) {
  .version-resources { grid-template-columns: 1fr; }
  .version-picker > button { width: 100%; }
}
.study-trail-resource-status{display:block;margin-top:4px;color:var(--muted);font-size:.9rem}

.app-footer{margin:24px 0 8px;font-size:.9rem;color:#47616c;overflow-wrap:anywhere}
.terms h3{margin-top:24px}.terms li{margin:8px 0}
