:root{color:#26243a;font-synthesis:none;--ink:#26243a;--muted:#777486;--purple:#6f61a8;--purple-dark:#594b93;--purple-soft:#ece8f7;--paper:#fff;--warm:#f7f6f2;--line:#e8e5de;--mint:#dff1e8;--green:#3f8c6a;--peach:#fae6d8;--coral:#d97558;--gold:#f4c95d;--shadow:0 14px 40px #322a4a12;background:#f7f6f2;font-family:Aptos,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--warm);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #6f61a842}.app-shell{grid-template-columns:238px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;z-index:10;background:#29243f;flex-direction:column;width:238px;padding:30px 20px 22px;display:flex;position:fixed;inset:0 auto 0 0}.logo-lockup{letter-spacing:-.5px;align-items:center;gap:10px;font-family:Fraunces,serif;font-size:22px;font-weight:700;display:inline-flex}.logo-mark{color:#fff;background:var(--purple);border-radius:11px 11px 11px 4px;place-items:center;width:35px;height:35px;display:grid}.logo-dot{color:#b9a8ee}.sidebar .logo-lockup{padding:0 9px 33px}.side-nav{flex-direction:column;gap:5px;display:flex}.nav-caption{text-transform:uppercase;letter-spacing:1.5px;color:#8f88ab;padding:0 12px 8px;font-size:10px;font-weight:700}.nav-caption~.nav-caption{padding-top:16px}.side-nav button,.sidebar-bottom>button{appearance:none;color:#aaa5bd;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:11px 12px;font-weight:600;transition:all .18s;display:flex}.side-nav button:hover,.sidebar-bottom>button:hover{color:#fff;background:#ffffff0f}.side-nav button.active{color:#fff;background:#b9a8ee24;box-shadow:inset 3px 0 #a994e8}.mobile-settings{display:none!important}.nav-count{background:#ffffff1a;border-radius:10px;place-items:center;min-width:24px;height:20px;margin-left:auto;font-size:11px;display:grid}.sidebar-class-switcher{margin-top:28px;position:relative}.sidebar-class-card{color:#fff;cursor:pointer;text-align:left;background:#ffffff0a;border:1px solid #ffffff17;border-radius:12px;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;width:100%;padding:13px 12px;display:grid}.sidebar-class-card:hover,.sidebar-class-switcher.open .sidebar-class-card{background:#ffffff14;border-color:#ffffff26}.sidebar-class-switcher.open .sidebar-class-card>svg{transform:rotate(180deg)}.class-card-icon{color:#fff;background:#655895;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.class-card-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.sidebar-class-card strong{text-overflow:ellipsis;font-size:13px;overflow:hidden}.sidebar-class-card small{color:#9f9ab1;white-space:nowrap;font-size:9px}.classroom-menu{z-index:20;overscroll-behavior:contain;width:260px;max-height:calc(100vh - 24px);color:var(--ink);background:#fff;border:1px solid #e5e1eb;border-radius:13px;padding:8px;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto;box-shadow:0 18px 45px #120e1f47}.classroom-menu.drop-up{top:auto;bottom:calc(100% + 8px)}.classroom-menu>span{color:var(--muted);letter-spacing:1px;text-transform:uppercase;padding:6px 8px 8px;font-size:8px;font-weight:800;display:block}.classroom-menu button{width:100%;min-height:44px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;justify-content:space-between;align-items:center;gap:9px;padding:8px;display:flex}.classroom-menu button:hover,.classroom-menu button.active{color:var(--purple);background:#f3f0f8}.classroom-menu button>span{flex-direction:column;gap:2px;min-width:0;display:flex}.classroom-menu strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.classroom-menu small{color:var(--muted);font-size:8px}.classroom-menu .add-classroom-button{border-top:1px solid var(--line);min-height:38px;color:var(--purple);border-radius:0 0 8px 8px;justify-content:flex-start;margin-top:6px;padding-top:9px;font-size:9px;font-weight:800}.sidebar-bottom{flex-direction:column;gap:2px;margin-top:auto;display:flex}.sidebar-bottom>button.active{color:#fff;background:#b9a8ee24;box-shadow:inset 3px 0 #a994e8}.teacher-mini-profile{border-top:1px solid #ffffff14;grid-template-columns:36px 1fr auto;align-items:center;gap:9px;margin-top:15px;padding:14px 4px 0;display:grid}.teacher-mini-profile div{flex-direction:column;gap:2px;display:flex}.teacher-mini-profile strong{font-size:12px}.teacher-mini-profile span{color:#9c96b0;font-size:10px}.mini-signout{color:#aaa4bc;cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.mini-signout:hover{color:#fff;border-color:#ffffff4d}.avatar{border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:12px;font-weight:700;display:inline-grid}.avatar-teacher{background:#f2b897;color:#593527!important}.teacher-workspace{grid-column:2;min-width:0}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:8;background:#ffffffdb;align-items:center;gap:24px;height:80px;padding:0 42px;display:flex;position:sticky;top:0}.topbar h1{letter-spacing:-.4px;margin:2px 0 0;font-family:Fraunces,serif;font-size:23px}.eyebrow{text-transform:uppercase;letter-spacing:1.1px;color:var(--muted);font-size:10px;font-weight:700}.topbar-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.icon-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;place-items:center;width:40px;height:40px;display:inline-grid;position:relative}.icon-button:hover{background:#f6f4fa}.icon-button.small{border-radius:8px;width:32px;height:32px}.notification-dot{box-sizing:content-box;background:#d87062;border:2px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:8px;right:8px}.notification-menu{position:relative}.notification-panel{z-index:20;width:320px;max-height:380px;color:var(--ink);background:#fff;border:1px solid #e5e1eb;border-radius:13px;padding:8px;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 18px 45px #120e1f47}.notification-panel>span{color:var(--muted);letter-spacing:1px;text-transform:uppercase;padding:6px 8px 8px;font-size:8px;font-weight:800;display:block}.notification-empty{color:var(--muted);padding:14px 8px;font-size:10px}.notification-item{border-radius:9px;align-items:flex-start;gap:10px;padding:9px 8px;display:flex}.notification-item:hover{background:#f6f4fa}.notification-item-icon{background:var(--purple-soft);width:28px;height:28px;color:var(--purple);border-radius:8px;flex:none;place-items:center;display:grid}.notification-item-copy{color:#5e596b;font-size:10px;line-height:1.5}.notification-item-copy strong{color:var(--ink)}.notification-item-copy em{color:var(--ink);font-style:normal;font-weight:700}.notification-item-copy time{color:var(--muted);margin-top:1px;font-size:8px;display:block}.mobile-logo{display:none}.teacher-main{max-width:1330px;margin:0 auto;padding:32px 42px 54px}.page-stack{flex-direction:column;gap:22px;display:flex}.welcome-row,.section-intro{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.section-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.welcome-row h2,.section-intro h2{letter-spacing:-.8px;margin:3px 0 8px;font-family:Fraunces,serif;font-size:30px}.welcome-row h2 span{font-family:system-ui;font-size:25px}.welcome-row p,.section-intro p{color:var(--muted);margin:0;font-size:13px}.overline,.panel-kicker{text-transform:uppercase;color:var(--purple);letter-spacing:1.2px;font-weight:700;font-size:10px!important}.primary-button,.secondary-button,.student-primary,.student-secondary{cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 17px;font-size:12px;font-weight:700;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.primary-button,.student-primary{background:var(--purple);color:#fff;box-shadow:0 7px 16px #5b4c932e}.primary-button:hover,.student-primary:hover{background:var(--purple-dark);transform:translateY(-1px)}.primary-button:disabled,.student-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.secondary-button,.student-secondary{border:1px solid var(--line);color:#4b475a;box-shadow:none;background:#fff}.secondary-button:hover,.student-secondary:hover{background:#faf9fd;border-color:#cfc8e2}.danger-button{color:#994f43;cursor:pointer;background:#fff8f6;border:1px solid #e5c7c1;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:0 14px;font-size:11px;font-weight:700;display:inline-flex}.danger-button:hover{background:#fcebe7;border-color:#dca99f}.danger-button:disabled{opacity:.48;cursor:not-allowed}.full-width{width:100%}.text-button{color:var(--purple);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:5px;font-size:11px;font-weight:700;display:inline-flex}.stats-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.stat-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;align-items:center;gap:14px;padding:18px;display:flex;box-shadow:0 5px 20px #302b4509}.stat-icon{border-radius:12px;flex:none;place-items:center;width:43px;height:43px;display:grid}.stat-icon.lavender{background:var(--purple-soft);color:var(--purple)}.stat-icon.mint{background:var(--mint);color:var(--green)}.stat-icon.peach{background:var(--peach);color:var(--coral)}.stat-copy{grid-template-columns:1fr auto;align-items:baseline;width:100%;display:grid}.stat-copy>span{color:var(--muted);grid-column:1/-1;font-size:11px;font-weight:600}.stat-copy strong{margin-top:2px;font-family:Fraunces,serif;font-size:24px}.stat-copy small{color:var(--green);font-size:9px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 6px 22px #332c4b0a}.dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:18px;display:grid}.current-list-panel,.attention-panel,.mastery-chart,.distribution-card{padding:22px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.panel-heading h3,.list-card h3,.student-panel h3,.parent-grid h3{letter-spacing:-.3px;margin:3px 0 0;font-family:Fraunces,serif;font-size:19px}.panel-kicker{display:block}.list-summary{grid-template-columns:116px 1fr;align-items:center;gap:24px;padding:24px 4px 20px;display:grid}.mastery-ring{background:conic-gradient(var(--purple) var(--progress), #eeeaf4 0);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.mastery-ring:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:9px}.mastery-ring.large{width:108px;height:108px}.mastery-ring.small{width:52px;height:52px}.mastery-ring.small:before{inset:5px}.mastery-ring>div{z-index:1;text-align:center;flex-direction:column;display:flex}.mastery-ring strong{font-family:Fraunces,serif;font-size:22px}.mastery-ring span{text-transform:uppercase;letter-spacing:.8px;color:var(--muted);font-size:8px}.mastery-ring.small strong{font-size:11px}.meta-pills{flex-wrap:wrap;gap:6px;display:flex}.meta-pills span,.soft-badge{color:#696376;background:#f5f3f8;border-radius:20px;align-items:center;gap:5px;padding:5px 8px;font-size:9px;font-weight:600;display:inline-flex}.list-summary-copy h4{margin:13px 0 5px;font-size:14px}.list-summary-copy p{color:var(--muted);margin:0 0 13px;font-size:11px;line-height:1.55}.student-face-row{align-items:center;display:flex}.mini-avatar{color:#3f394b;border:2px solid #fff;border-radius:50%;place-items:center;width:30px;height:30px;margin-left:-6px;font-size:8px;font-weight:800;display:inline-grid}.mini-avatar:first-child{margin-left:0}.mini-avatar.c0,.mini-avatar.coral{background:#f5bda8}.mini-avatar.c1,.mini-avatar.blue{background:#b9d5ef}.mini-avatar.c2,.mini-avatar.mint{background:#bfe1d4}.mini-avatar.c3,.mini-avatar.purple{background:#d1c4e8}.mini-avatar.c4,.mini-avatar.gold{background:#f3d795}.more-students{color:var(--muted);margin-left:8px;font-size:9px;font-weight:600}.panel-divider{background:var(--line);height:1px;margin:0 -22px}.list-footer{color:var(--muted);justify-content:space-between;padding-top:13px;font-size:9px;display:flex}.list-footer span{align-items:center;gap:6px;display:flex}.list-footer strong{color:var(--ink)}.tricky-list{flex-direction:column;gap:17px;margin:20px 0 17px;display:flex}.tricky-row{grid-template-columns:32px 1fr 36px;align-items:center;gap:10px;display:grid}.word-rank{width:32px;height:32px;color:var(--purple);background:#f3eff9;border-radius:9px;place-items:center;font-family:Fraunces,serif;font-weight:700;display:grid}.tricky-copy strong{margin-bottom:6px;font-size:11px;display:block}.progress-track{background:#eeecf1;border-radius:6px;height:6px;overflow:hidden}.progress-track span{background:var(--purple);border-radius:inherit;height:100%;display:block}.mastery-value{text-align:right;font-size:10px}.activity-panel{padding:21px 22px 8px}.activity-table,.roster-table{margin-top:13px}.activity-head,.activity-row{grid-template-columns:1.25fr 1.2fr .65fr .6fr;align-items:center;gap:12px;min-height:46px;display:grid}.activity-head,.roster-head{color:#9793a0;text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--line);font-size:9px;font-weight:700}.activity-row{color:var(--muted);border-bottom:1px solid #f0eee9;font-size:10px}.activity-row:last-child{border:0}.activity-row>span{align-items:center;gap:7px;display:flex}.activity-row>strong{color:var(--ink)}.student-name strong{color:var(--ink);font-size:11px}.status-dot{background:var(--green);border-radius:50%;width:6px;height:6px}.activity-empty{min-height:72px;color:var(--muted);justify-content:center;align-items:center;gap:8px;font-size:10px;display:flex}.list-cards{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.list-card{flex-direction:column;gap:17px;padding:20px;display:flex}.list-card-top{justify-content:space-between;display:flex}.list-status{text-transform:capitalize;appearance:none;cursor:pointer;border:none;border-radius:20px;height:fit-content;padding:5px 9px;font-family:inherit;font-size:9px;font-weight:700}.list-status.active{color:#35775b;background:var(--mint)}.list-status.scheduled{color:var(--purple);background:var(--purple-soft)}.list-status.complete{color:#77717d;background:#efeded}.list-card p{color:var(--muted);margin:5px 0 0;font-size:11px}.word-preview{flex-wrap:wrap;align-content:flex-start;gap:5px;min-height:53px;display:flex}.word-preview span{color:#625c6e;background:#f7f5fa;border:1px solid #eeebf3;border-radius:7px;padding:5px 8px;font-size:9px}.audio-ready{border-top:1px solid var(--line);justify-content:space-between;padding-top:12px;font-size:9px;display:flex}.audio-ready span{color:var(--green);align-items:center;gap:5px;display:flex}.audio-ready.generating span{color:var(--purple)}.audio-ready.missing span{color:#9a6c1b}.audio-generation-message{background:var(--mint);color:#35775b;border:1px solid #cde4d7;border-radius:10px;align-items:center;gap:7px;margin-top:-9px;padding:11px 13px;font-size:10px;font-weight:700;display:flex}.audio-generation-message .spinner{border-color:#35775b #35775b3d #35775b3d;flex:none}.roster-panel{padding:20px}.roster-head,.roster-row{grid-template-columns:1.3fr 1fr .65fr .65fr .9fr 68px;align-items:center;gap:12px;min-height:56px;display:grid}.roster-row{color:var(--muted);border-bottom:1px solid #f0eee9;font-size:11px}.roster-row:last-child{border:0}.roster-row>strong{color:var(--ink)}.roster-actions{justify-content:flex-end;gap:6px;display:flex}.roster-actions .table-action-button.danger{color:#b0453a}.roster-actions .table-action-button.danger:hover{background:#f8e0dc;border-color:#edc5bd}.mono{font-family:ui-monospace,monospace;font-size:10px}.student-name-link{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;margin:0;padding:0}.student-name-link:hover strong{text-decoration:underline}.student-status{border-radius:20px;padding:5px 8px;font-size:9px;font-weight:700;display:inline-block}.student-status.good{background:var(--mint);color:#35775b}.student-status.waiting{color:#9a6c1b;background:#f8ecd0}.student-status.support{color:#9b5348;background:#f8e0dc}.table-action-button{border:1px solid var(--line);width:31px;height:31px;color:var(--purple);cursor:pointer;background:#fff;border-radius:8px;place-items:center;display:grid}.table-action-button:hover{background:var(--purple-soft);border-color:#d7cfea}.roster-empty{min-height:230px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.roster-empty>svg{color:var(--purple)}.roster-empty strong{color:var(--ink);font-family:Fraunces,serif;font-size:18px}.roster-empty span{font-size:10px}.roster-empty button{margin-top:8px}.report-grid{grid-template-columns:1.7fr .8fr;gap:18px;display:grid}.trend-chip{color:var(--green);background:var(--mint);border-radius:20px;align-items:center;gap:5px;padding:6px 9px;font-size:9px;font-weight:700;display:flex}.chart-area{grid-template-columns:25px 1fr;height:236px;padding-top:25px;display:grid}.y-labels{color:#aaa5ae;flex-direction:column;justify-content:space-between;padding-bottom:22px;font-size:8px;display:flex}.bars{border-bottom:1px solid var(--line);background:repeating-linear-gradient(#0000 0 24%,#f1efeb 25%);align-items:flex-end;gap:5%;display:flex}.bar-column{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;max-width:80px;height:100%;display:flex;position:relative}.bar{background:#dcd5ee;border-radius:7px 7px 0 0;width:65%;min-width:18px;position:relative}.bar.current{background:var(--purple)}.bar span{opacity:0;font-size:8px;position:absolute;top:-20px;left:50%;transform:translate(-50%)}.bar:hover span,.bar.current span{opacity:1}.bar-column small{height:14px;color:var(--muted);font-size:8px}.distribution-card{text-align:center}.distribution-card>.panel-kicker,.distribution-card h3{text-align:left}.distribution-number{color:var(--purple);margin-top:25px;font-family:Fraunces,serif;font-size:62px;font-weight:700;line-height:.9}.distribution-number span{font-size:24px}.distribution-card>p{color:var(--muted);margin:8px 0 18px;font-size:10px}.distribution-line{background:#eeebf3;border-radius:9px;height:8px}.distribution-line span{background:linear-gradient(90deg,#b5a4e6,var(--purple));border-radius:inherit;width:0;height:100%;display:block}.distribution-meta{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px;display:grid}.distribution-meta span{color:var(--muted);flex-direction:column;gap:3px;font-size:8px;display:flex}.distribution-meta strong{color:var(--ink);font-size:14px}.insight-banner{grid-template-columns:38px 1fr auto;align-items:center;gap:13px;padding:17px 20px;display:grid}.insight-icon{color:#9a6d28;background:#f4e9d1;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.insight-banner strong{font-size:12px}.insight-banner p{color:var(--muted);margin:3px 0 0;font-size:10px}.report-empty{min-height:235px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.report-empty svg{color:#b3a7cb}.report-empty strong{color:var(--ink);font-size:12px}.report-empty span{font-size:9px}.report-empty.compact{min-height:90px}.recent-report{padding:22px}.report-session-list{margin-top:12px;display:grid}.report-session-list>div{border-top:1px solid var(--line);grid-template-columns:1fr 70px 90px;align-items:center;gap:14px;min-height:52px;display:grid}.report-session-list>div>span{flex-direction:column;gap:3px;display:flex}.report-session-list strong{font-size:10px}.report-session-list small,.report-session-list time{color:var(--muted);font-size:9px}.report-session-list time{text-align:right}.student-report-panel{padding:22px}.student-report-grid{grid-template-columns:minmax(160px,.8fr) minmax(0,1.6fr);gap:18px;margin-top:14px;display:grid}.student-picker{flex-direction:column;gap:4px;display:flex}.student-picker button{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:11px;font-weight:600;display:flex}.student-picker button:hover{background:#f6f4fa}.student-picker button.active{background:var(--purple-soft);color:var(--purple);border-color:#d7cfea}.student-report-detail{flex-direction:column;gap:16px;min-width:0;display:flex}.chart-area.compact{height:130px;padding-top:14px}.parent-email-row{flex-wrap:wrap;align-items:flex-end;gap:9px;display:flex}.parent-email-row label{color:#5e596b;flex-direction:column;flex:200px;gap:7px;font-size:10px;font-weight:700;display:flex}.parent-email-row input{width:100%;height:40px;color:var(--ink);background:#fbfaf9;border:1px solid #ddd9e3;border-radius:9px;padding:0 11px}.notify-message{color:var(--muted);margin-top:-4px;font-size:9px;display:block}.notification-history{flex-direction:column;gap:6px;display:flex}.notification-history>div{border:1px solid var(--line);color:var(--muted);border-radius:9px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:9px;display:flex}.badge-report-heading span{color:var(--purple);text-transform:uppercase;letter-spacing:1px;font-size:9px;font-weight:700}.badge-remove{color:inherit;opacity:.55;cursor:pointer;background:0 0;border:0;margin-left:1px;padding:0;display:inline-flex}.badge-remove:hover{opacity:1}.badge-award-row{flex-wrap:wrap;gap:7px;margin-top:11px;display:flex}.badge-award-button{color:#6a6178;cursor:pointer;background:#fff;border:1px dashed #d8d2e5;border-radius:20px;align-items:center;gap:6px;padding:7px 11px;font-size:9px;font-weight:700;display:inline-flex}.badge-award-button:hover{border-color:var(--purple);color:var(--purple)}.badge-award-button:disabled{opacity:.6;cursor:default}.list-insights-panel{padding:22px}.engagement-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.list-insights-section{margin-top:18px}.list-insights-section h4{margin:0 0 10px;font-size:11px}.heatmap-scroll{border:1px solid var(--line);border-radius:10px;overflow-x:auto}.mastery-heatmap{border-collapse:collapse;width:100%;font-size:9px}.mastery-heatmap th,.mastery-heatmap td{text-align:center;white-space:nowrap;padding:7px 9px}.mastery-heatmap thead th{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--line);background:#fbfaf9;font-size:8px;font-weight:700}.mastery-heatmap thead th span{text-overflow:ellipsis;max-width:70px;display:inline-block;overflow:hidden}.mastery-heatmap tbody th{text-align:left;color:var(--ink);border-right:1px solid var(--line);background:#fff;font-weight:600;position:sticky;left:0}.mastery-heatmap td{border-bottom:1px solid #f3f1ec;font-weight:700}.mastery-heatmap td.untried{color:#b3a7cb;background:repeating-linear-gradient(45deg,#f7f6f2,#f7f6f2 4px,#efece6 4px 8px);font-weight:400}.mastery-heatmap td svg{vertical-align:-1px;margin-left:2px}.heatmap-legend{color:var(--muted);align-items:center;gap:8px;margin-top:10px;font-size:8px;display:flex}.heatmap-legend-ramp{background:linear-gradient(90deg,#6f61a81f,#6f61a8e6);border-radius:5px;width:70px;height:8px}.heatmap-legend-mastered{color:var(--purple);align-items:center;gap:4px;margin-left:auto;font-weight:700;display:flex}.misspellings-list{flex-direction:column;gap:10px;display:flex}.misspelling-row{border:1px solid var(--line);border-radius:10px;padding:10px 12px}.misspelling-word{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.misspelling-word strong{font-size:11px}.misspelling-word span{color:var(--muted);font-size:9px}.misspelling-chips{flex-wrap:wrap;gap:6px;display:flex}.misspelling-chip{color:#92564a;background:#f9e4df;border-radius:7px;padding:5px 8px;font-size:9px;font-weight:600}.misspelling-chip b{font-weight:800}.teacher-account-list{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.teacher-account-row{border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.teacher-account-row>div{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.teacher-account-row strong{font-size:11px}.portal-switcher{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#29243feb;border-radius:11px;gap:3px;padding:4px;display:flex;position:fixed;bottom:18px;right:20px;box-shadow:0 12px 30px #1e192d3d}.portal-switcher button{color:#c8c3d5;text-transform:capitalize;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:7px 10px;font-size:9px}.portal-switcher button.active{color:var(--ink);background:#fff;font-weight:700}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1f1b2d75;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:20px;width:min(820px,96vw);max-height:92vh;padding:26px;overflow:auto;box-shadow:0 28px 80px #1a142e3d}.compact-modal{width:min(460px,96vw)}.modal-header{justify-content:space-between;align-items:flex-start;margin-bottom:22px;display:flex}.modal-header h2{margin:3px 0 0;font-family:Fraunces,serif;font-size:25px}.form-grid{grid-template-columns:1.5fr .75fr;gap:14px;display:grid}.modal label,.stacked-label{color:#5e596b;flex-direction:column;gap:7px;font-size:10px;font-weight:700;display:flex}.modal input,.practice-card input{height:43px;color:var(--ink);background:#fbfaf9;border:1px solid #ddd9e3;border-radius:9px;padding:0 12px}.word-fields-heading{justify-content:space-between;align-items:flex-end;margin:24px 0 9px;display:flex}.word-fields-heading div{flex-direction:column;gap:3px;display:flex}.word-fields-heading strong{font-size:13px}.word-fields-heading span{color:var(--muted);font-size:9px}.word-fields-heading>span{color:var(--green);font-weight:700}.word-fields{flex-direction:column;gap:7px;display:flex}.word-field-row{grid-template-columns:26px .55fr 1.45fr 32px;align-items:center;gap:7px;display:grid}.word-number{background:var(--purple-soft);width:24px;height:24px;color:var(--purple);border-radius:7px;place-items:center;font-size:9px;font-weight:800;display:grid}.add-row-button{color:var(--purple);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:11px 33px;font-size:10px;font-weight:700;display:flex}.audio-note{color:var(--purple);background:#f4f1fa;border-radius:10px;align-items:center;gap:10px;margin-top:10px;padding:13px 14px;display:flex}.audio-note div{flex-direction:column;gap:2px;display:flex}.audio-note strong{font-size:10px}.audio-note span{color:#777085;font-size:9px}.modal-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;margin-top:19px;padding-top:19px;display:flex}.spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.audio-speed-control{background:#fcfafd;border:1px solid #e7e1f0;border-radius:12px;margin-top:8px;padding:15px}.audio-speed-control>div:first-child{align-items:center;gap:10px;display:flex}.audio-speed-control>div:first-child>div{flex-direction:column;gap:2px;display:flex}.audio-speed-control strong{font-size:11px}.audio-speed-control span,.audio-speed-control small{color:var(--muted);font-size:9px}.audio-speed-control>small{margin:9px 0 0 46px;display:block}.audio-speed-row{grid-template-columns:minmax(240px,1fr) 48px auto;align-items:center;gap:10px;margin-top:14px;display:grid}.modal .audio-speed-row label{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.modal .audio-speed-row input[type=range]{width:100%;height:22px;accent-color:var(--purple);cursor:pointer;background:0 0;border:0;padding:0}.audio-speed-row output{color:var(--purple);text-align:center;font-family:Fraunces,serif;font-size:17px;font-weight:700}.preview-audio-button{min-height:36px;padding-inline:12px;font-size:10px}.privacy-copy{color:#716985;background:#f4f1fa;border-radius:10px;gap:8px;margin:16px 0 0;padding:13px;font-size:10px;line-height:1.5;display:flex}.credential-card{text-align:center}.success-check{background:var(--mint);width:46px;height:46px;color:var(--green);border-radius:50%;place-items:center;margin:0 auto 12px;display:grid}.credential-card h3{margin:0;font-family:Fraunces,serif;font-size:21px}.credential-card>p{color:var(--muted);margin-bottom:18px;font-size:11px}.credential-card>div{border:1px solid var(--line);justify-content:space-between;align-items:center;padding:11px 13px;display:flex}.credential-card>div:first-of-type{border-radius:10px 10px 0 0}.credential-card>div:last-of-type{border-top:0;border-radius:0 0 10px 10px}.credential-card div span{color:var(--muted);font-size:10px}.credential-card .pin{letter-spacing:3px;font-family:ui-monospace,monospace}.credential-card button{margin-top:18px}.reset-pin-copy{color:var(--muted);font-size:11px;line-height:1.55}.join-code-panel{border:1px solid var(--line);background:#fbfaf9;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.join-code-panel>div{flex-direction:column;gap:4px;display:flex}.join-code-panel>div span{color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-size:9px;font-weight:700}.join-code-panel>div strong{letter-spacing:2px;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:20px}.classroom-form-fields{gap:14px;display:grid}.classroom-form-fields label{color:#5e596b;flex-direction:column;gap:7px;font-size:10px;font-weight:700;display:flex}.classroom-form-fields input,.classroom-form-fields select{width:100%;height:43px;color:var(--ink);background:#fbfaf9;border:1px solid #ddd9e3;border-radius:9px;padding:0 12px}.csv-button{cursor:pointer;white-space:nowrap;background:#faf9fd;border:1px solid #d9d3e5;border-radius:9px;align-items:center;padding:8px 10px;color:var(--purple)!important;flex-direction:row!important;gap:6px!important;display:inline-flex!important}.csv-button input{display:none}.csv-button.disabled{opacity:.6;pointer-events:none}.word-import-actions{flex-wrap:wrap;gap:8px;display:flex}.form-error{color:#92564a;background:#f9e4df;border-radius:9px;margin-top:10px;padding:10px 12px;font-size:10px;font-weight:600}.scan-review-intro{color:var(--muted);margin:-8px 0 16px;font-size:10px;line-height:1.6}.scan-review-list{flex-direction:column;gap:10px;max-height:50vh;display:flex;overflow:auto}.scan-review-row{border:1px solid var(--line);background:#fbfaf9;border-radius:10px;padding:10px}.scan-review-fields{grid-template-columns:1fr 32px;align-items:center;gap:7px;display:grid}.scan-review-flags{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.scan-badge{cursor:default;border:0;border-radius:20px;align-items:center;gap:5px;padding:4px 9px;font-size:9px;font-weight:700;display:inline-flex}.scan-badge.corrected{background:var(--purple-soft);color:var(--purple);cursor:pointer}.scan-badge.low-confidence{color:#9a6c1b;background:#fbeee0}.delete-list-button{color:#9a6e66}.delete-list-button:hover{color:#a64c3e;background:#fbe9e5;border-color:#efd1ca}.empty-state{text-align:center;color:var(--muted);flex-direction:column;grid-column:1/-1;align-items:center;gap:9px;padding:42px;display:flex}.empty-state h3{color:var(--ink);margin:2px 0;font-family:Georgia,serif}.empty-state p{margin:0 0 10px;font-size:11px}.app-error-banner{color:#8c4d42;background:#fbe9e5;border:1px solid #edcfc8;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:17px;padding:11px 14px;font-size:11px;display:flex}.app-error-banner button{color:#8c4d42;cursor:pointer;background:#fff;border:0;border-radius:7px;padding:6px 9px;font-weight:700}.app-loading{min-height:100vh;color:var(--muted);justify-content:center;align-items:center;gap:9px;display:flex}.spinner.dark{border-color:#d8d2e5;border-top-color:var(--purple)}.curriculum-grade-picker{color:#5e596b;flex-direction:column;gap:7px;font-size:10px;font-weight:700;display:flex}.curriculum-grade-picker select{min-width:180px;height:43px;color:var(--ink);font:inherit;background:#fbfaf9;border:1px solid #ddd9e3;border-radius:9px;padding:0 11px}.curriculum-card-actions{gap:8px;display:flex}.curriculum-card-actions button{flex:1}.curriculum-word-preview-list{grid-template-columns:repeat(2,1fr);gap:10px 16px;margin:4px 0 0;padding:0;list-style:none;display:grid}.curriculum-word-preview-list li{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.curriculum-word-preview-list li strong{font-size:12px}.curriculum-word-preview-list li span{color:var(--muted);font-size:10px;line-height:1.4}.local-only-badge{color:var(--purple);background:#fff;border:1px solid #d8d2e5;border-radius:20px;align-items:center;gap:6px;padding:7px 10px;font-size:9px;font-weight:700;display:inline-flex}.settings-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:18px;display:grid}.settings-main,.settings-side{flex-direction:column;gap:16px;display:flex}.settings-card{padding:22px}.settings-card-heading{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;margin-bottom:18px;padding-bottom:18px;display:flex}.settings-card-heading h3,.data-card h3{margin:1px 0 4px;font-family:Fraunces,serif;font-size:19px}.settings-card-heading p,.data-card p,.settings-save-card p{color:var(--muted);margin:0;font-size:10px;line-height:1.5}.settings-section-icon{border-radius:11px;flex:none;place-items:center;width:40px;height:40px;display:grid}.settings-section-icon.lavender{color:var(--purple);background:var(--purple-soft)}.settings-section-icon.peach{color:var(--coral);background:var(--peach)}.settings-section-icon.mint{color:var(--green);background:var(--mint)}.settings-fields{gap:16px;display:grid}.classroom-selector-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;margin-bottom:18px;padding-bottom:18px;display:grid}.classroom-selector-row label{color:#5e596b;flex-direction:column;gap:7px;font-size:10px;font-weight:700;display:flex}.classroom-selector-row select{width:100%;height:43px;color:var(--ink);background:#fbfaf9;border:1px solid #ddd9e3;border-radius:9px;padding:0 11px}.classroom-actions{gap:8px;display:flex}.settings-fields.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-fields label{color:#5e596b;flex-direction:column;gap:7px;font-size:10px;font-weight:700;display:flex}.settings-fields input:not([type=range]),.settings-fields select{width:100%;height:43px;color:var(--ink);background:#fbfaf9;border:1px solid #ddd9e3;border-radius:9px;padding:0 11px}.settings-fields input[type=range]{width:100%;accent-color:var(--purple)}.settings-fields label>span{justify-content:space-between;gap:12px;display:flex}.settings-fields label>span strong{color:var(--purple)}.tts-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.tts-summary>div{border:1px solid var(--line);background:#fbfaf9;border-radius:11px;flex-direction:column;gap:5px;min-height:98px;padding:13px;display:flex}.tts-summary span{color:var(--muted);letter-spacing:.7px;text-transform:uppercase;font-size:8px;font-weight:700}.tts-summary strong{font-family:Fraunces,serif;font-size:16px}.tts-summary small{color:var(--muted);margin-top:auto;font-size:8px;line-height:1.4}.tts-summary .ready-text{color:var(--green)}.tts-summary .needs-text{color:#9a6c1b}.inline-setting{grid-template-columns:minmax(0,1fr) auto;gap:9px;display:grid}.toggle-list{flex-direction:column;display:flex}.toggle-list label{border-bottom:1px solid var(--line);cursor:pointer;justify-content:space-between;align-items:center;gap:24px;min-height:67px;padding:12px 0;display:flex}.toggle-list label:first-child{padding-top:0}.toggle-list label:last-child{border-bottom:0;padding-bottom:0}.toggle-list label>div{flex-direction:column;gap:4px;display:flex}.toggle-list strong{font-size:11px}.toggle-list span{color:var(--muted);font-size:9px;line-height:1.4}.toggle-list input{appearance:none;cursor:pointer;background:#d9d6dd;border-radius:12px;flex:none;width:38px;height:22px;transition:background .18s;position:relative}.toggle-list input:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #28223733}.toggle-list input:checked{background:var(--purple)}.toggle-list input:checked:after{transform:translate(16px)}.data-card{padding:21px}.data-card>.settings-section-icon{margin-bottom:13px}.storage-status{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin:15px 0;padding:12px 0;font-size:9px;display:flex}.storage-status span{color:var(--muted);align-items:center;gap:6px;display:flex}.storage-status i{background:var(--green);width:7px;height:7px;box-shadow:0 0 0 3px var(--mint);border-radius:50%}.storage-status strong{color:var(--green)}.data-card a{text-decoration:none}.data-card small{color:var(--muted);margin-top:10px;font-size:8px;line-height:1.5;display:block}.settings-save-card{background:#f4f1fa;border:1px solid #d8d2e5;border-radius:14px;padding:18px}.settings-save-card>button{margin-top:14px}.save-message{background:var(--mint);color:var(--green);border-radius:8px;align-items:center;gap:6px;margin-top:11px;padding:9px 10px;font-size:9px;font-weight:700;display:flex}.csv-generating{background:var(--mint);color:var(--green);border-radius:8px;align-items:center;gap:6px;margin:0 0 9px;padding:9px 10px;font-size:9px;font-weight:700;display:flex}.csv-generating .spinner{border-color:#3f8c6a40;border-top-color:var(--green)}.student-shell{color:#2c2941;background:#fbfaf5;min-height:100vh}.student-top,.parent-top{background:#ffffffe0;border-bottom:1px solid #ebe7df;justify-content:space-between;align-items:center;height:74px;padding:0 max(5vw,28px);display:flex}.student-top .logo-mark,.parent-top .logo-mark{background:#7159a7}.student-top-right,.parent-top>div{align-items:center;gap:10px;display:flex}.student-top-right>div,.parent-top>div>div{flex-direction:column;display:flex}.student-top-right strong,.parent-top strong{font-size:11px}.student-top-right span,.parent-top span{color:var(--muted);font-size:9px}.student-avatar{background:#f5bda8;color:#60382a!important}.streak-chip{background:#f8eccd;border-radius:20px;padding:7px 10px;font-weight:700;color:#8a5b24!important}.student-signout{border:1px solid var(--line);color:#665f75;cursor:pointer;background:#fff;border-radius:9px;align-items:center;gap:6px;min-height:34px;padding:0 10px;font-size:9px;font-weight:700;display:inline-flex}.student-signout:hover{color:var(--purple);border-color:#cfc8e2}.student-account-button{min-height:48px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;padding:4px 8px 4px 5px;display:flex}.student-account-button:hover,.student-account-button:focus-visible{background:#f6f3fa;border-color:#ded7eb;outline:none}.student-account-button>div{flex-direction:column;gap:2px;display:flex}.student-account-button>div span{color:var(--purple);font-weight:700}.student-account-modal .stacked-label+.stacked-label{margin-top:12px}.student-account-modal input{text-align:center;letter-spacing:7px;font-size:18px}.account-intro{color:var(--muted);margin:-4px 0 18px;font-size:11px;line-height:1.55}.student-login-shell{background:#f6f2ec;min-height:100vh}.student-login-stage{place-items:center;min-height:calc(100vh - 74px);padding:32px 20px 80px;display:grid}.student-login-card{border:1px solid var(--line);width:min(430px,100%);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:21px;padding:36px 38px}.login-icon{background:var(--purple-soft);width:52px;height:52px;color:var(--purple);border-radius:15px;place-items:center;margin:0 auto 15px;display:grid}.student-login-card h1{margin:2px 0 7px;font-family:Fraunces,serif;font-size:29px}.student-login-card>p{color:var(--muted);margin:0 0 22px;font-size:11px;line-height:1.5}.student-login-card form{text-align:left;flex-direction:column;gap:13px;display:flex}.student-login-card label{color:#5e596b;flex-direction:column;gap:7px;font-size:10px;font-weight:700;display:flex}.student-login-card input{width:100%;height:47px;color:var(--ink);background:#fbfaf9;border:1px solid #ddd9e3;border-radius:10px;padding:0 13px}.student-login-card:not(.teacher-access-card) label:nth-child(2) input{text-align:center;letter-spacing:7px;font-size:18px}.student-login-card form button{margin-top:3px}.test-login-tip{color:#716985;text-align:left;background:#f4f1fa;border-radius:10px;align-items:flex-start;gap:8px;margin-top:19px;padding:12px;display:flex}.test-login-tip svg{flex:none}.test-login-tip span{font-size:9px;line-height:1.5}.test-login-tip strong{color:#554b70;display:block}.entry-shell{background:radial-gradient(circle at 83% 14%,#d6ccefb8,#0000 32%),#f8f5ef;flex-direction:column;min-height:100vh;display:flex}.entry-header{border-bottom:1px solid #40384f14;justify-content:space-between;align-items:center;height:78px;padding:0 max(5vw,28px);display:flex}.entry-header>span{color:var(--muted);align-items:center;gap:6px;font-size:10px;font-weight:700;display:inline-flex}.entry-main{grid-template-columns:.85fr 1.15fr;align-items:center;gap:80px;width:min(1080px,100% - 48px);margin:auto;padding:58px 0;display:grid}.entry-copy h1{letter-spacing:-2.5px;margin:7px 0 17px;font-family:Fraunces,serif;font-size:clamp(46px,6vw,72px);line-height:.96}.entry-copy h1 em{color:var(--purple);font-style:normal}.entry-copy p{max-width:440px;color:var(--muted);font-size:13px;line-height:1.7}.persona-grid{gap:15px;display:grid}.persona-card{border:1px solid var(--line);width:100%;min-height:160px;color:var(--ink);text-align:left;cursor:pointer;background:#ffffffeb;border-radius:20px;grid-template-columns:58px 1fr 24px;align-items:center;gap:18px;padding:26px;transition:transform .2s,box-shadow .2s,border-color .2s;display:grid;box-shadow:0 10px 35px #2d264112}.persona-card:hover{border-color:#c9bee2;transform:translateY(-3px);box-shadow:0 18px 42px #2d26411f}.persona-icon{background:var(--purple-soft);width:58px;height:58px;color:var(--purple);border-radius:17px;place-items:center;display:grid}.student-persona .persona-icon{background:var(--mint);color:var(--green)}.parent-persona .persona-icon{background:var(--peach);color:var(--coral)}.persona-card>span:nth-child(2){flex-direction:column;display:flex}.persona-card small{color:var(--purple);letter-spacing:1px;text-transform:uppercase;font-size:9px;font-weight:800}.student-persona small{color:var(--green)}.parent-persona small{color:var(--coral)}.persona-card strong{margin:5px 0 6px;font-family:Fraunces,serif;font-size:22px}.persona-card p{color:var(--muted);margin:0;font-size:10px;line-height:1.55}.persona-card>svg{color:#afa6c0}.join-code-link{justify-self:center;margin-top:2px}.entry-footer{text-align:center;color:var(--muted);padding:18px;font-size:9px}.app-loading{min-height:100vh;color:var(--muted);background:#f7f4ee;place-content:center;justify-items:center;gap:16px;display:grid}.app-loading .spinner{border-color:#ddd5eb;border-top-color:var(--purple)}.app-loading p{margin:0;font-size:10px}.teacher-access-card{width:min(460px,100%)}.teacher-access-card .password-guidance{color:var(--muted);text-align:left;margin-top:-7px;font-size:9px}.access-link{color:var(--purple);cursor:pointer;background:0 0;border:0;margin-top:17px;font-size:10px;font-weight:700}.recovery-card{width:min(510px,100%)}.recovery-code{color:#4f416f;letter-spacing:1px;overflow-wrap:anywhere;background:#f7f4fb;border:1px dashed #aaa0c2;border-radius:12px;margin:20px 0 14px;padding:17px 12px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:17px;font-weight:800}.security-note{background:var(--mint);color:#48735f;text-align:left;border-radius:10px;align-items:flex-start;gap:8px;margin:0 0 18px;padding:11px;font-size:9px;line-height:1.5;display:flex}.security-note svg{flex:none}.student-home{max-width:1080px;margin:0 auto;padding:30px 28px 60px}.student-welcome-card{background:#ddd6f0;border-radius:24px;align-items:center;height:310px;padding:40px 48px;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 40px #49396f17}.student-welcome-card:before{content:"";background:#ffffff52;border-radius:50%;width:360px;height:360px;position:absolute;top:-80px;right:-50px}.student-welcome-card:after{content:"";background:#ffffff30;border-radius:50%;width:180px;height:180px;position:absolute;bottom:-125px;right:270px}.student-welcome-copy{z-index:2;max-width:540px;position:relative}.student-kicker{color:#6a5795;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:7px;font-size:11px;font-weight:800;display:block}.student-welcome-card h1{letter-spacing:-1.2px;margin:0 0 10px;font-family:Fraunces,serif;font-size:39px;line-height:1.06}.student-welcome-card h1 em{color:#665092;font-style:normal}.student-welcome-card p{color:#5f5870;max-width:420px;font-size:12px;line-height:1.5}.student-actions{gap:9px;margin-top:19px;display:flex}.student-primary,.student-secondary{min-height:45px;padding:0 19px}.student-welcome-card .bee-avatar{z-index:1;filter:drop-shadow(0 18px 20px #32223c26);height:330px;position:absolute;bottom:-38px;right:25px}.student-summary-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px;display:grid}.student-summary-grid article{border:1px solid var(--line);background:#fff;border-radius:15px;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;min-height:82px;padding:15px;display:grid}.summary-icon{border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.summary-icon.purple{background:var(--purple-soft);color:var(--purple)}.summary-icon.peach{background:var(--peach);color:var(--coral)}.summary-icon.mint{background:var(--mint);color:var(--green)}.student-summary-grid article>div{flex-direction:column;gap:2px;display:flex}.student-summary-grid small{color:var(--muted);font-size:9px}.student-summary-grid strong{font-family:Fraunces,serif;font-size:18px}.streak-dots{color:#f0ae40;letter-spacing:1px;font-size:9px}.streak-dots i{color:#e8e5de;font-style:normal}.days-left{color:var(--green);background:#f1f6f3;border-radius:20px;padding:5px 7px;font-size:8px;font-weight:700}.days-left.preparing{color:#80641f;background:#fbf1d7}.student-bottom-grid{grid-template-columns:1.45fr .75fr;gap:14px;margin-top:16px;display:grid}.student-panel{border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px}.student-panel-heading{justify-content:space-between;display:flex}.student-panel-heading span{color:var(--purple);text-transform:uppercase;letter-spacing:1px;font-size:9px;font-weight:700}.student-panel-heading strong{color:var(--muted);font-size:10px}.student-word-cloud{flex-wrap:wrap;gap:7px;margin:18px 0 13px;display:flex}.student-word-cloud>span{border-radius:8px;align-items:center;gap:4px;padding:7px 10px;font-size:10px;font-weight:600;display:inline-flex}.student-word-cloud span.mastered{color:#3f755d;background:#eef6f1}.student-word-cloud span.needs-work{color:#665490;background:#f0ebf8}.legend{color:var(--muted);gap:15px;font-size:8px;display:flex}.legend span{align-items:center;gap:4px;display:flex}.legend i{border-radius:50%;width:6px;height:6px}.lavender-dot{background:#aa94d2}.green-dot{background:#80ba9c}.encouragement{background:#f9eadc;border-color:#f0dccb;flex-direction:column;justify-content:center;display:flex;position:relative;overflow:hidden}.encouragement .quote-mark{color:#bc6b4a21;font-family:Fraunces,serif;font-size:90px;position:absolute;top:-17px;left:14px}.encouragement p{margin:8px 0 15px;font-family:Fraunces,serif;font-size:18px;line-height:1.35;position:relative}.encouragement>span:last-child{color:#8b6b5d;font-size:9px}.practice-pickers{grid-template-columns:1fr 1.3fr;gap:8px;max-width:390px;margin-top:14px;display:grid}.practice-pickers label{color:#5d5670;text-transform:uppercase;letter-spacing:.6px;flex-direction:column;gap:4px;font-size:8px;font-weight:700;display:flex}.practice-pickers select{height:38px;color:var(--ink);font:inherit;background:#ffffffb8;border:1px solid #53457333;border-radius:9px;padding:0 28px 0 10px;font-size:10px}.hero-error{color:#8f4f44;margin-top:9px;font-size:9px;font-weight:700}.empty-copy{color:var(--muted);font-size:10px}.result-trophy{color:#a66b1c;background:#f8eccd;border-radius:50%;place-items:center;width:50px;height:50px;margin:6px auto 10px;display:grid}.result-actions{justify-content:center;gap:9px;display:flex}.practice-pickers.single{grid-template-columns:minmax(220px,1fr);max-width:300px}.practice-stage{max-width:800px;min-height:calc(100vh - 74px);margin:0 auto;padding:30px 24px 70px}.back-button{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;font-size:10px;display:flex}.practice-progress{max-width:580px;margin:23px auto 18px}.practice-progress>div:first-child{justify-content:space-between;margin-bottom:9px;font-size:10px;display:flex}.practice-progress span{color:var(--purple);text-transform:uppercase;letter-spacing:.8px;font-weight:700}.practice-card,.result-card{border:1px solid var(--line);max-width:580px;box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:22px;margin:0 auto;padding:34px 54px;position:relative}.practice-mascot-wrap{pointer-events:none;width:80px;height:80px;position:absolute;top:-20px;right:-14px}.practice-mascot{filter:drop-shadow(0 10px 16px #32223c2e);width:100%;height:100%;animation:3.2s ease-in-out infinite bee-idle;display:block}.practice-mascot.celebrate{animation:.7s bee-celebrate}.practice-mascot.encourage{animation:.6s bee-encourage}@keyframes bee-idle{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-6px)rotate(2deg)}}@keyframes bee-celebrate{0%{transform:scale(1)rotate(0)}30%{transform:scale(1.18)rotate(-8deg)}55%{transform:scale(1.05)rotate(6deg)}75%{transform:scale(1.12)rotate(-4deg)}to{transform:scale(1)rotate(0)}}@keyframes bee-encourage{0%,to{transform:translate(0)rotate(0)}20%{transform:translate(-4px)rotate(-4deg)}40%{transform:translate(4px)rotate(3deg)}60%{transform:translate(-3px)rotate(-2deg)}80%{transform:translate(2px)rotate(1deg)}}.mascot-sparkle{pointer-events:none;position:absolute;inset:-10px}.mascot-sparkle i{opacity:0;background:var(--gold);border-radius:50%;width:6px;height:6px;animation:.7s forwards mascot-sparkle-pop;position:absolute}.mascot-sparkle i:first-child{animation-delay:20ms;top:8px;left:-6px}.mascot-sparkle i:nth-child(2){background:var(--coral);animation-delay:80ms;top:-8px;left:38px}.mascot-sparkle i:nth-child(3){background:var(--purple);animation-delay:.14s;top:28px;left:70px}@keyframes mascot-sparkle-pop{0%{opacity:0;transform:scale(.4)translateY(0)}35%{opacity:1;transform:scale(1.1)translateY(-6px)}to{opacity:0;transform:scale(.6)translateY(-18px)}}.audio-button{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:50%;place-items:center;width:104px;height:104px;margin:12px auto 20px;display:grid;position:relative;box-shadow:0 0 0 10px #f0ecf7,0 15px 30px #5e4c9740}.audio-button.playing{animation:1.1s infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 17px #f0ecf7,0 15px 30px #5e4c9740}}.audio-wave{align-items:center;gap:3px;display:flex;position:absolute;right:-53px}.audio-wave i{background:#a895d2;border-radius:3px;width:3px;height:12px;display:block}.audio-wave i:nth-child(2){height:22px}.audio-wave i:nth-child(3){height:16px}.audio-wave i:nth-child(4){height:8px}.practice-card h1{margin:0 0 6px;font-family:Fraunces,serif;font-size:25px}.practice-card>p{color:var(--muted);margin:0 0 24px;font-size:10px}.practice-card form{text-align:left}.practice-card label{color:#605b69;flex-direction:column;gap:8px;font-size:10px;font-weight:700;display:flex}.practice-card input{text-align:center;letter-spacing:.4px;height:53px;font-size:18px}.keyboard-hint{color:var(--muted);text-align:center;margin:7px 0 13px;font-size:8px}.feedback-box{text-align:left;border-radius:10px;align-items:center;gap:10px;margin:10px 0 13px;padding:11px 12px;display:flex}.feedback-box.correct{color:#397b5c;background:var(--mint)}.feedback-box.incorrect{color:#92564a;background:#f9e4df}.feedback-box.pending{color:#5e5870;background:#f4f1fa}.feedback-box div{flex-direction:column;gap:2px;display:flex}.feedback-box strong{font-size:10px}.feedback-box span{opacity:.82;font-size:9px}.test-notice{color:var(--muted);justify-content:center;align-items:center;gap:6px;margin-top:14px;font-size:8px;display:flex}.result-card{padding-top:42px}.result-score{background:var(--purple-soft);width:115px;height:115px;color:var(--purple);border-radius:50%;justify-content:center;align-items:center;margin:10px auto 18px;display:flex}.result-score strong{font-family:Fraunces,serif;font-size:52px}.result-score span{font-size:17px}.result-card h1{margin:0;font-family:Fraunces,serif;font-size:25px}.result-card>p{color:var(--muted);font-size:10px}.missed-words{text-align:left;margin:20px 0}.missed-words>div{border-bottom:1px solid var(--line);justify-content:space-between;padding:11px;font-size:10px;display:flex}.missed-words span{color:#a25d4f;align-items:center;gap:5px;display:flex}.perfect-result{color:var(--green);background:var(--mint);border-radius:10px;justify-content:center!important}.badge-panel{margin-top:16px}.badge-grid{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.badge-chip{color:#8a5b24;background:#fdf3dc;border-radius:20px;align-items:center;gap:6px;padding:8px 12px;font-size:10px;font-weight:700;display:inline-flex}.new-badges-banner{text-align:left;background:#fdf3dc;border-radius:12px;margin:18px 0 -6px;padding:14px}.new-badges-banner>span{color:#8a5b24;text-transform:uppercase;letter-spacing:.6px;margin-bottom:9px;font-size:10px;font-weight:800;display:block}.new-badges-banner .badge-chip{background:#fff}.parent-shell{background:#f5f2ec;min-height:100vh}.parent-avatar{background:#c9d9ed;color:#354c6c!important}.parent-main{max-width:1040px;margin:0 auto;padding:37px 28px 64px}.parent-intro{text-align:center}.parent-kicker{color:var(--purple);letter-spacing:1.3px;text-transform:uppercase;font-size:9px;font-weight:800}.parent-intro h1{margin:5px 0 7px;font-family:Fraunces,serif;font-size:34px}.parent-intro p{color:var(--muted);margin:0 0 25px;font-size:11px}.parent-highlight{color:#fff;background:#2d2942;border-radius:19px;grid-template-columns:155px 1fr 170px;align-items:center;min-height:245px;padding:29px 35px;display:grid;position:relative;overflow:hidden}.parent-score{border-right:1px solid #ffffff1f;flex-direction:column;justify-content:center;height:130px;display:flex}.parent-score>span{color:#b8b2c8;font-size:9px}.parent-score>strong{color:#f5d47b;margin:7px 0 3px;font-family:Fraunces,serif;font-size:59px;line-height:1}.parent-score strong span{font-size:19px}.parent-score small{color:#b8b2c8;font-size:9px}.parent-result-copy{z-index:2;padding-left:28px}.success-pill{color:#a8dabf;background:#69b99126;border-radius:20px;align-items:center;gap:5px;padding:6px 9px;font-size:8px;display:inline-flex}.parent-result-copy h2{margin:9px 0 5px;font-family:Fraunces,serif;font-size:25px}.parent-result-copy>p{color:#b9b5c3;max-width:440px;font-size:10px;line-height:1.5}.parent-stats{gap:23px;margin-top:14px;display:flex}.parent-stats span{color:#aaa5b6;flex-direction:column;font-size:8px;display:flex}.parent-stats strong{color:#fff;font-size:13px}.parent-highlight img{filter:drop-shadow(0 15px 20px #0000002e);opacity:.95;height:220px;position:absolute;bottom:-32px;right:-15px}.parent-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;display:grid}.parent-grid>article{padding:21px}.missed-parent-word{align-items:flex-end;gap:10px;margin:20px 0 15px;display:flex}.missed-parent-word>span,.missed-parent-word div span{color:var(--muted);margin-bottom:4px;font-size:8px;display:block}.missed-parent-word s{color:#b06153;font-size:14px}.missed-parent-word strong{color:var(--green);font-size:18px}.context-sentence{color:var(--muted);background:#f8f6f2;border-radius:9px;padding:11px;font-size:10px;font-style:italic}.upcoming-card>p{color:var(--muted);font-size:10px}.parent-progress{margin:18px 0}.parent-progress>div{justify-content:space-between;margin-bottom:7px;font-size:9px;display:flex}.notification-setting{border-top:1px solid var(--line);color:var(--purple);align-items:center;gap:9px;padding-top:14px;display:flex}.notification-setting div{flex-direction:column;gap:2px;display:flex}.notification-setting strong{font-size:9px}.notification-setting span{color:var(--muted);font-size:8px}.parent-footer-note{color:var(--muted);justify-content:center;align-items:center;gap:6px;margin-top:19px;font-size:8px;display:flex}.coin-report{margin-top:18px}.coin-report-summary{grid-template-columns:64px repeat(4,minmax(0,1fr));align-items:center;gap:10px;margin:8px 0 10px;display:grid}.coin-report-bee{width:64px}.coin-report-summary div{flex-direction:column;gap:2px;display:flex}.coin-report-summary span{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:9px;font-weight:700}.coin-report-summary strong{font-family:Fraunces,serif;font-size:18px}.coin-grant-row{grid-template-columns:110px 1fr auto;align-items:end;gap:10px;margin-top:10px;display:grid}.coin-grant-row label{color:#5e596b;flex-direction:column;gap:6px;font-size:10px;font-weight:700;display:flex}.coin-grant-row input{width:100%;height:40px;color:var(--ink);background:#fbfaf9;border:1px solid #ddd9e3;border-radius:9px;padding:0 11px}.coin-grant-row .secondary-button{height:40px}.shop-settings-fields{margin-top:14px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.bee-avatar{aspect-ratio:1145/1374;display:inline-block;position:relative}.bee-avatar img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.student-welcome-card .bee-avatar{aspect-ratio:1145/1374}.coin-chip{color:#8a5b24;white-space:nowrap;background:#fdf0c9;border-radius:20px;align-items:center;gap:5px;padding:6px 11px;font-size:12px;font-weight:800;display:inline-flex}.coin-chip svg{color:#d99a1c}.shop-panel{flex-direction:column;gap:14px;margin-top:16px;display:flex}.shop-panel .student-panel-heading{align-items:center}.shop-goal{background:#fbf7ec;border-radius:12px;grid-template-columns:70px 1fr;align-items:center;gap:14px;padding:12px;display:grid}.shop-goal-bee{width:70px}.shop-goal>div{flex-direction:column;gap:5px;display:flex}.shop-goal small{color:var(--muted);font-size:10px}.shop-goal strong{font-family:Fraunces,serif;font-size:16px}.shop-goal .progress-track span{background:#e3a92b}.round-coins{color:#7a5020;text-align:left;background:#fdf3dc;border-radius:12px;margin:18px 0 -6px;padding:14px 16px}.round-coins.muted{color:var(--muted);background:#f4f1fa;align-items:center;gap:8px;font-size:11px;display:flex}.round-coins-total{align-items:baseline;gap:6px;display:flex}.round-coins-total svg{color:#d99a1c;align-self:center}.round-coins-total strong{font-family:Fraunces,serif;font-size:28px}.round-coins-total span{font-size:11px;font-weight:700}.round-coins ul{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;font-size:11px;list-style:none;display:flex}.round-coins li{justify-content:space-between;gap:12px;display:flex}.round-coins p{margin:8px 0 0;font-size:11px}.round-coins small{opacity:.8;margin-top:8px;font-size:10px;display:block}.shop-cta{color:#7a5020;background:#fdf3dc;border-color:#efd28e}.result-actions{flex-wrap:wrap}.result-actions>button{white-space:nowrap}.result-actions .shop-cta{flex:100%;order:-1}.shop-stage{max-width:1080px;margin:0 auto;padding:22px 24px 60px}.shop-bar{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:16px;align-items:center;gap:12px;padding:12px 14px;display:flex}.shop-bar-title{color:var(--purple);align-items:center;gap:10px;margin-right:auto;display:flex}.shop-bar-title div{color:var(--ink);flex-direction:column;display:flex}.shop-bar-title strong{font-family:Fraunces,serif;font-size:20px}.shop-bar-title span{color:var(--muted);font-size:10px}.shop-timer{background:var(--purple-soft);color:var(--purple-dark);font-variant-numeric:tabular-nums;border-radius:20px;align-items:center;gap:6px;padding:7px 12px;display:inline-flex}.shop-timer strong{font-size:15px}.shop-bar.warning .shop-timer{color:#a2452f;background:#fbe3dc;animation:1s ease-in-out infinite pulse-soft}@keyframes pulse-soft{50%{transform:scale(1.06)}}.shop-layout{grid-template-columns:minmax(260px,.9fr) 1.4fr;gap:16px;margin-top:16px;display:grid}.shop-preview{border:1px solid var(--line);background:#fff;border-radius:18px;flex-direction:column;align-self:start;align-items:center;gap:12px;padding:20px;display:flex}.shop-preview-bee{filter:drop-shadow(0 16px 18px #32223c24);width:min(100%,290px)}.shop-preview-caption{flex-direction:column;align-items:center;gap:2px;display:flex}.shop-preview-caption strong{font-family:Fraunces,serif;font-size:20px}.shop-preview-caption span{color:var(--muted);font-size:11px;font-weight:700}.shop-hint{color:var(--muted);text-align:center;align-items:center;gap:6px;margin:0;font-size:11px;display:flex}.shop-buy-row{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;display:flex}.shop-buy-row small{text-align:center;color:#a2452f;width:100%;font-size:10px;font-weight:700}.student-secondary.goal-set{color:#c23d6a;background:#fdf0f4;border-color:#f2bfd0}.shop-shelves{border:1px solid var(--line);background:#fff;border-radius:18px;padding:16px}.shop-tabs{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.shop-tabs button{border:1px solid var(--line);color:#5e596b;cursor:pointer;background:#fff;border-radius:20px;padding:7px 13px;font-size:11px;font-weight:700}.shop-tabs button.active{background:var(--purple);border-color:var(--purple);color:#fff}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;display:grid}.shop-tile{border:2px solid var(--line);cursor:pointer;background:#fcfbf8;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;transition:border-color .15s,transform .15s;display:flex;position:relative}.shop-tile:hover{border-color:#cfc8e2;transform:translateY(-1px)}.shop-tile.selected{border-color:var(--purple);background:#f6f3fd}.shop-tile.locked .shop-tile-bee{filter:grayscale(.8);opacity:.6}.shop-tile-bee{width:78px}.shop-tile strong{text-align:center;font-size:11px}.shop-tile-price{color:#8a5b24;align-items:center;gap:4px;font-size:10px;font-weight:800;display:inline-flex}.shop-tile-goal{color:#e0527f;position:absolute;top:7px;right:7px}.shop-confirm,.shop-closing{text-align:center}.shop-confirm h2,.shop-closing h2{margin:6px 0;font-family:Fraunces,serif}.shop-confirm p,.shop-closing p{color:var(--muted);font-size:12px}.shop-confirm-bee{width:130px}.shop-confirm .modal-actions{justify-content:center}.shop-closing .modal-actions{border-top:0}.journey-kicker{color:#8a5b24;letter-spacing:1px;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.journey-card{background:linear-gradient(135deg,#fff8e6,#f4eeff);border-color:#eee0c0;grid-template-columns:96px 1fr auto;align-items:center;gap:18px;margin-top:16px;display:grid}.journey-card-art{background:radial-gradient(circle at 50% 40%,#fff6d6,#f6d77c);border-radius:50%;place-items:center;width:96px;height:96px;display:grid;overflow:hidden;box-shadow:inset 0 -6px #a06e141f}.journey-card-art .bee-avatar{width:66px;margin-top:8px}.journey-card-copy{flex-direction:column;gap:5px;min-width:0;display:flex}.journey-card-copy h3{margin:0;font-family:Fraunces,serif;font-size:19px}.journey-card-copy small{color:var(--muted);font-size:10px}.journey-card-copy p{color:#5e5870;margin:2px 0 0;font-size:11px}.journey-card .progress-track span,.journey-bar .progress-track span,.journey-report .progress-track span{background:linear-gradient(90deg,#f4c037,#e59a1c)}.journey-banner{color:#4d3f7a;text-align:left;background:#f4efff;border-radius:12px;flex-direction:column;align-items:flex-start;gap:5px;margin:16px 0 -6px;padding:14px 16px;font-size:11px;display:flex}.journey-banner.unlocked{color:#5b4520;background:linear-gradient(135deg,#fff3c8,#f1e8ff)}.journey-banner.muted{color:var(--muted);flex-direction:row;align-items:center;gap:8px}.journey-banner-kicker{letter-spacing:.6px;text-transform:uppercase;align-items:center;gap:6px;font-size:10px;font-weight:800;display:inline-flex}.journey-banner strong{font-family:Fraunces,serif;font-size:18px}.journey-banner button{margin-top:6px}.journey-stage{max-width:1080px;margin:0 auto;padding:22px 24px 60px}.journey-bar{z-index:30;border:1px solid var(--line);background:#fff;border-radius:16px;align-items:center;gap:14px;padding:12px 14px;display:flex;position:sticky;top:10px;box-shadow:0 8px 24px #322a4a24}.journey-bar-title{color:#c28a12;align-items:center;gap:10px;min-width:0;display:flex}.journey-bar-title div{color:var(--ink);flex-direction:column;min-width:0;display:flex}.journey-bar-title strong{font-family:Fraunces,serif;font-size:19px}.journey-bar-title span{color:var(--muted);font-size:10px}.journey-bar-progress{flex:1;min-width:80px}.journey-bar-progress .progress-track{height:8px}.journey-loading{place-items:center;padding:80px;display:grid}.journey-layout{grid-template-columns:minmax(280px,440px) minmax(0,1fr);align-items:start;gap:18px;margin-top:16px;display:grid}.journey-map-column{border:1px solid var(--line);box-shadow:var(--shadow);background:#cde8ff;border-radius:20px;overflow:hidden}.journey-map{aspect-ratio:400/2800;width:100%;position:relative}.journey-map-art,.journey-trail{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.journey-trail path{fill:none;stroke-linecap:round;stroke-linejoin:round}.trail-edge{stroke:#8b6a3e;stroke-width:15px}.trail-bed{stroke:#f6e7c8;stroke-width:10px}.trail-dots{stroke:#c9a46a;stroke-width:2.4px;stroke-dasharray:2 9}.trail-walked{stroke:#f4c037;stroke-width:6px;filter:drop-shadow(0 0 3px #ffcd46e6)}.journey-region-label{color:#3d3354;white-space:nowrap;pointer-events:none;z-index:1;background:#ffffffe0;border-radius:14px;padding:4px 11px;font-family:Fraunces,serif;font-size:13px;font-weight:700;position:absolute;transform:translateY(-50%);box-shadow:0 2px 8px #322a4a1f}.journey-region-label.left{left:3%}.journey-region-label.right{right:3%}.journey-stop,.journey-hive{color:#5b4520;cursor:pointer;z-index:2;background:#fff;border:3px solid #8b6a3e;border-radius:50%;place-items:center;width:36px;height:36px;margin:-18px 0 0 -18px;padding:0;font-size:13px;font-weight:800;transition:transform .15s;display:grid;position:absolute;box-shadow:0 3px #5b45204d}.journey-stop:hover,.journey-hive:hover{transform:scale(1.1)}.journey-stop.found{background:radial-gradient(circle at 40% 35%,#ffe79a,#f4c037)}.journey-stop.next{border-color:#e0a62a;animation:1.6s ease-in-out infinite stop-pulse}.journey-stop.locked{color:#9a93ad;box-shadow:none;background:#f1edf7;border-color:#b8aecb}.journey-stop.selected,.journey-hive.selected{outline-offset:2px;outline:4px solid #6f61a899}.journey-stop.just-found{animation:.8s stop-pop}.journey-hive{color:#8a5b24;background:#fff3c4;border-color:#b8791b}@keyframes stop-pulse{0%,to{box-shadow:0 0 #f4c037b3,0 3px #5b45204d}50%{box-shadow:0 0 0 9px #f4c03700,0 3px #5b45204d}}@keyframes stop-pop{0%{transform:scale(1)}35%{transform:scale(1.45)}60%{transform:scale(.92)}to{transform:scale(1)}}.journey-bee{pointer-events:none;z-index:3;width:16%;margin-top:4px;margin-left:-8%;transition:left 1.6s ease-in-out,top 1.6s ease-in-out;position:absolute;transform:translateY(-100%)}.journey-bee .bee-avatar{filter:drop-shadow(0 8px 8px #32223c40);width:100%;animation:3.2s ease-in-out infinite bee-idle}.journey-bee.flying .bee-avatar{animation:.45s ease-in-out infinite bee-fly}@keyframes bee-fly{0%,to{transform:translateY(0)rotate(-6deg)}50%{transform:translateY(-8px)rotate(6deg)}}.journey-reader{max-height:calc(100vh - 110px);box-shadow:var(--shadow);background:#fffdf7;border:1px solid #efe3c7;border-radius:20px;padding:18px 24px 24px;position:sticky;top:96px;overflow:auto}.journey-reader-tools{align-items:center;gap:8px;margin-bottom:14px;display:flex}.journey-reader-tools .icon-button:disabled{opacity:.35;cursor:default}.journey-read-aloud{margin-left:auto;min-height:38px!important}.journey-reader-close{display:none}.journey-reader h2{color:#2c2941;margin:6px 0 12px;font-family:Fraunces,serif;font-size:27px;line-height:1.15}.journey-story p{color:#3b3548;margin:0 0 12px;font-size:16px;line-height:1.7}.golden-word{color:#7a5020;background:linear-gradient(135deg,#fff4cc,#ffe39a);border-radius:14px;align-items:center;gap:8px;margin-top:4px;padding:10px 14px;font-size:13px;display:inline-flex;box-shadow:inset 0 -2px #a06e1426}.golden-word strong{font-family:Fraunces,serif;font-size:18px}.journey-found-note{color:var(--muted);margin-top:10px;font-size:10px;display:block}.journey-hint,.journey-the-end{color:#4d3f7a;background:#f4efff;border-radius:10px;margin-top:12px;padding:10px 12px;font-size:12px}.journey-the-end{color:#7a5020;background:#fff4cc;font-weight:700}.journey-locked{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.journey-locked p{color:#5e5870;font-size:14px;line-height:1.6}.journey-lock-icon{color:#8a80a6;background:#f1edf7;border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.found-words{border-top:1px solid #f0e6cf;margin-top:20px;padding-top:14px}.found-words>span{color:#8a5b24;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px;font-size:9px;font-weight:800;display:block}.found-words>div{flex-wrap:wrap;gap:6px;display:flex}.found-words button{color:#7a5020;cursor:pointer;background:#fff8e1;border:1px solid #efd28e;border-radius:16px;padding:5px 10px;font-size:11px;font-weight:700}.found-words button.active{color:#4a3210;background:#f4c037;border-color:#e0a62a}.journey-report{margin-top:18px}.journey-report-row{grid-template-columns:1fr auto;align-items:center;gap:12px;margin:8px 0 6px;display:grid}.journey-report-row .progress-track{height:8px}.journey-report-row strong{font-size:12px}.journey-report small{color:var(--muted);font-size:10px}@media (width<=1050px){.app-shell{grid-template-columns:76px 1fr}.sidebar{width:76px;padding:26px 12px}.sidebar .logo-lockup{padding:0 7px 32px}.sidebar .logo-lockup>span:last-child,.side-nav span:not(.nav-count),.nav-caption,.class-card-copy,.sidebar-class-card>svg,.sidebar-bottom>button span,.teacher-mini-profile div,.teacher-mini-profile>svg{display:none}.side-nav button,.sidebar-bottom>button{justify-content:center}.nav-count{margin:-25px 0 0 20px;position:absolute}.sidebar-class-card{grid-template-columns:1fr;padding:9px}.class-card-icon{margin:auto}.classroom-menu{top:0;left:55px}.classroom-menu.drop-up{top:auto;bottom:0}.teacher-mini-profile{grid-template-columns:1fr}.teacher-mini-profile .avatar{margin:auto}.teacher-workspace{grid-column:2}.student-welcome-card .bee-avatar{opacity:.86;right:-10px}.student-welcome-copy{max-width:500px}.parent-highlight{grid-template-columns:145px 1fr}.parent-highlight img{opacity:.25}}@media (width<=760px){.journey-card{grid-template-columns:72px 1fr}.journey-card-art{width:72px;height:72px}.journey-card-art .bee-avatar{width:50px}.journey-card>.student-primary{grid-column:1/-1}.journey-stage{padding:16px 12px 50px}.journey-bar{flex-wrap:wrap}.journey-bar-title{width:100%}.journey-layout{grid-template-columns:1fr}.journey-map-column{border-radius:16px}.journey-stop,.journey-hive{width:32px;height:32px;margin:-16px 0 0 -16px;font-size:12px}.journey-region-label{font-size:11px}.journey-reader{visibility:hidden;z-index:40;border-radius:20px 20px 0 0;max-height:74vh;transition:transform .3s,visibility 0s linear .3s;position:fixed;inset:auto 0 0;transform:translateY(105%);box-shadow:0 -12px 40px #1a142e40}.journey-reader.open{visibility:visible;transition:transform .3s;transform:none}.journey-reader-close{display:inline-grid}.journey-reader h2{font-size:23px}.journey-story p{font-size:15px}.coin-report-summary{grid-template-columns:56px repeat(2,minmax(0,1fr))}.coin-grant-row,.shop-layout{grid-template-columns:1fr}.shop-bar{flex-wrap:wrap}.shop-bar-title{width:100%}.shop-stage{padding:16px 16px 50px}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.shop-tile-bee{width:64px}.result-actions{flex-wrap:wrap}.section-actions{width:100%}.section-actions button{flex:1}.tts-summary{grid-template-columns:1fr}.classroom-actions{grid-template-columns:1fr 1fr;display:grid}.audio-speed-row{grid-template-columns:1fr 48px}.preview-audio-button{grid-column:1/3}.audio-speed-control>small{margin-left:0}.entry-header{padding:0 20px}.entry-header>span{display:none}.entry-main{grid-template-columns:1fr;gap:34px;width:min(100% - 36px,560px);padding:38px 0}.entry-copy{text-align:center}.entry-copy h1{font-size:48px}.entry-copy p{margin-inline:auto}.persona-card{grid-template-columns:49px 1fr 18px;gap:13px;min-height:142px;padding:20px}.persona-icon{border-radius:14px;width:49px;height:49px}.persona-card strong{font-size:19px}.app-shell{display:block}.sidebar{z-index:25;flex-direction:row;width:100%;height:65px;padding:7px 12px;position:fixed;inset:auto 0 0}.sidebar .logo-lockup,.sidebar-class-switcher,.sidebar-bottom{display:none}.side-nav{flex-direction:row;justify-content:space-around;width:100%}.side-nav button{flex-direction:column;flex:1;gap:2px;padding:7px 4px;font-size:8px}.side-nav .mobile-settings{display:flex!important}.side-nav span:not(.nav-count){display:block}.side-nav button.active{box-shadow:inset 0 -3px #a994e8}.nav-count{display:none}.teacher-workspace{padding-bottom:62px}.topbar{height:68px;padding:0 18px}.topbar>div:nth-child(2) .eyebrow{display:none}.topbar h1{font-size:20px}.topbar-actions .avatar{display:none}.mobile-logo{display:block}.teacher-main{padding:24px 18px 35px}.welcome-row,.section-intro{flex-direction:column;align-items:flex-start}.welcome-row h2,.section-intro h2{font-size:26px}.stats-grid,.dashboard-grid,.list-cards,.report-grid,.student-report-grid,.student-summary-grid,.student-bottom-grid,.settings-layout,.settings-fields.two-column,.classroom-selector-row,.curriculum-word-preview-list,.inline-setting{grid-template-columns:1fr}.list-summary{grid-template-columns:90px 1fr;gap:15px}.mastery-ring.large{width:86px;height:86px}.activity-head,.activity-row{grid-template-columns:1.25fr .9fr .6fr}.activity-head span:nth-child(2),.activity-row>span:nth-child(2){display:none}.roster-head,.roster-row{grid-template-columns:1.4fr 1fr .8fr 68px}.roster-head span:nth-child(2),.roster-row>span:nth-child(2),.roster-head span:nth-child(4),.roster-row>span:nth-child(4){display:none}.word-field-row{grid-template-columns:24px 1fr 32px}.word-field-row input:nth-of-type(2){grid-column:2/4}.form-grid{grid-template-columns:1fr}.student-top{padding:0 18px}.student-top-right>div,.streak-chip,.student-account-button>div{display:none}.student-account-button{padding-right:5px}.student-welcome-card{align-items:flex-start;height:430px;padding:31px 28px}.student-welcome-card h1{font-size:33px}.student-welcome-card .bee-avatar{height:235px;bottom:-15px;right:10px}.student-welcome-copy{max-width:none}.student-actions{flex-direction:column;align-items:flex-start}.student-actions button{width:170px}.practice-card,.result-card,.student-login-card{padding:29px 23px}.student-signout{padding:0 8px}.student-signout svg{display:none}.practice-card,.result-card{padding:29px 23px}.insight-banner{grid-template-columns:38px 1fr}.insight-banner .text-button{grid-column:2;justify-self:start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.roster-head,.roster-row{grid-template-columns:1.3fr 1fr .6fr .6fr 1.3fr 68px}.subject-toggles{flex-wrap:wrap;gap:5px;display:flex}.subject-toggle{color:#9a95a6;cursor:pointer;background:#fff;border:1px dashed #d4cfdd;border-radius:20px;align-items:center;gap:5px;min-height:28px;padding:0 9px;font-size:9px;font-weight:700;transition:all .15s;display:inline-flex}.subject-toggle:hover{border-color:var(--purple);color:var(--purple)}.subject-toggle.on{background:var(--purple-soft);color:var(--purple-dark);border-style:solid;border-color:#c9bfe6}.subject-toggle.on:hover{background:#e2dcf3}.subject-bulk-panel{grid-template-columns:minmax(200px,1fr) auto;align-items:center;gap:18px;margin-bottom:14px;padding:16px 20px;display:grid}.subject-bulk-panel>div:first-child{flex-direction:column;gap:4px;display:flex}.subject-bulk-panel>div:first-child strong{font-family:Fraunces,serif;font-size:16px}.subject-bulk-panel>div:first-child span{color:var(--muted);font-size:10px;line-height:1.45}.subject-bulk-rows{flex-direction:column;gap:8px;display:flex}.subject-bulk-row{color:var(--muted);grid-template-columns:150px auto auto;align-items:center;gap:8px;font-size:10px;display:grid}.subject-bulk-row strong{color:var(--ink)}.subject-bulk-row .secondary-button{min-height:32px;padding:0 12px;font-size:10px}.subject-hub{max-width:940px}.subject-hub-heading{text-align:center;padding:22px 0 26px}.subject-hub-heading h1{letter-spacing:-1px;margin:0 0 8px;font-family:Fraunces,serif;font-size:38px}.subject-hub-heading p{color:var(--muted);max-width:440px;margin:0 auto;font-size:12px;line-height:1.5}.subject-tiles{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;display:grid}.subject-tile{text-align:left;cursor:pointer;border:0;border-radius:24px;flex-direction:column;min-height:330px;padding:0;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 40px #49396f1a}.subject-tile:hover{transform:translateY(-3px);box-shadow:0 20px 46px #49396f29}.subject-tile:focus-visible{outline-offset:3px;outline:4px solid #6f61a859}.subject-tile:before{content:"";background:#ffffff4d;border-radius:50%;width:260px;height:260px;position:absolute;top:-90px;right:-70px}.subject-spelling{color:#4a3510;background:linear-gradient(160deg,#fbe7a9,#f6cf6b)}.subject-math{color:#123f4a;background:linear-gradient(160deg,#c9eef0,#8fd0da)}.subject-tile-art{justify-content:center;align-items:flex-end;height:180px;padding-top:16px;display:flex;position:relative}.subject-tile-art img,.subject-tile-art .bee-avatar{filter:drop-shadow(0 12px 16px #1e1e3229);width:auto;height:168px}.subject-math .subject-tile-art img{height:150px}.subject-tile-copy{flex-direction:column;gap:5px;padding:14px 24px 0;display:flex;position:relative}.subject-tile-copy strong{letter-spacing:-.5px;font-family:Fraunces,serif;font-size:25px}.subject-tile-copy span{opacity:.85;font-size:12px;line-height:1.4}.subject-tile-copy small{opacity:.7;font-size:10px;font-weight:700}.subject-tile-go{align-items:center;gap:6px;margin:auto 24px 22px;padding-top:16px;font-size:12px;font-weight:800;display:inline-flex;position:relative}.subject-spelling .subject-tile-go{color:#7a4f00}.subject-math .subject-tile-go{color:#0f5c6a}.math-theme{--purple:#23879a;--purple-dark:#1a6c7c;--purple-soft:#def2f4;background:#f6fafa}.math-theme .student-top .logo-mark{background:#23879a}.math-theme .student-kicker{color:#1f7383}.math-theme .progress-track span{background:#2bb3a3}.math-theme .result-trophy{color:#23879a;background:#dff4ef}.math-theme .back-button:hover{color:#1f7383}.math-welcome-card{background:linear-gradient(135deg,#cdeef1 0%,#a3dce2 60%,#8ccfd8 100%);border-radius:24px;align-items:center;min-height:290px;padding:40px 48px;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 40px #195f6e1f}.math-welcome-card:before{content:"";background:#ffffff47;border-radius:50%;width:360px;height:360px;position:absolute;top:-90px;right:-40px}.math-welcome-card:after{content:"";background:radial-gradient(circle at 20px -6px,#0000 22px,#ffffff59 23px) 0 0/44px 46px repeat-x;height:46px;position:absolute;bottom:0;left:0;right:0}.math-welcome-card h1{letter-spacing:-1.2px;color:#143f49;margin:0 0 10px;font-family:Fraunces,serif;font-size:39px;line-height:1.06}.math-welcome-card h1 em{color:#16707f;font-style:normal}.math-welcome-card p{color:#2c5a64;max-width:420px;font-size:12px;line-height:1.5}.math-welcome-manatee{z-index:1;filter:drop-shadow(0 18px 20px #143c462e);height:250px;animation:4.5s ease-in-out infinite manatee-float;position:absolute;bottom:6px;right:22px}@keyframes manatee-float{0%,to{transform:translateY(0)rotate(-1.5deg)}50%{transform:translateY(-8px)rotate(1.5deg)}}.summary-icon.math-teal{color:#23879a;background:#def2f4}.math-domain{margin-top:26px}.math-domain h2{letter-spacing:-.4px;margin:0 0 12px;font-family:Fraunces,serif;font-size:20px}.math-skill-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.math-skill-card{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:9px;padding:16px;display:flex}.math-skill-card.mastered{background:#fbfefc;border-color:#bfe3d2}.math-skill-heading{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.math-skill-heading h3{margin:0;font-size:13px;line-height:1.3}.math-standard{color:#3f7480;letter-spacing:.3px;background:#eef6f7;border-radius:20px;flex:none;padding:3px 7px;font-size:8px;font-weight:800}.math-skill-card p{color:var(--muted);flex:1;margin:0;font-size:10px;line-height:1.45}.math-skill-card .student-secondary{align-self:flex-start;min-height:36px;font-size:11px}.math-mastery{grid-template-columns:1fr auto;align-items:center;gap:9px;display:grid}.math-mastery-track{background:#e9eef0;border-radius:7px;height:7px;overflow:hidden}.math-mastery-track span{border-radius:inherit;background:#5bb8c4;height:100%;transition:width .4s;display:block}.math-mastery-track span.mastered{background:#3f9b72}.math-mastery small{color:var(--muted);justify-content:flex-end;align-items:center;gap:3px;min-width:64px;font-size:9px;font-weight:700;display:inline-flex}.math-card{padding-top:40px}.math-expression{letter-spacing:-.5px;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 .3em;font-family:Fraunces,serif;line-height:1.25;display:flex;margin:14px 0 24px!important;font-size:40px!important}.math-equals{color:#2a9aa8}.practice-card>p.math-sentence{color:var(--ink);max-width:440px;margin:12px auto 22px;font-size:18px;line-height:1.5}.math-card .form-error{margin-bottom:12px}.math-card .practice-mascot-wrap{width:118px;height:104px;top:-40px;right:-36px}.math-answer-row{align-items:center;gap:10px;display:flex}.math-answer-row input{flex:1;min-width:0}.math-unit{color:#2c5a64;flex:none;font-size:13px;font-weight:700}.math-fraction{vertical-align:middle;flex-direction:column;align-items:center;margin:0 .08em;font-size:.78em;line-height:1;display:inline-flex}.math-fraction>span{padding:0 .12em}.math-fraction>span:first-child{border-bottom:.07em solid;padding-bottom:.08em}.math-fraction>span:last-child{padding-top:.08em}.feedback-box .math-fraction,.missed-words .math-fraction{font-size:.9em}.manatee{object-fit:contain;-webkit-user-select:none;user-select:none;display:block}.math-result-skills{text-align:left;flex-direction:column;gap:9px;margin:18px 0 4px;display:flex}.math-result-skills>div{grid-template-columns:1fr 1.1fr;align-items:center;gap:12px;font-size:11px;display:grid}.math-missed{align-items:center;gap:12px}.math-missed>span{color:var(--ink)!important}.math-missed strong{color:#92564a;flex:none;font-size:10px}.math-missed small{color:var(--muted);font-weight:600}@media (width<=760px){.roster-head,.roster-row{grid-template-columns:1.2fr .6fr 1.4fr 60px}.subject-bulk-panel{grid-template-columns:1fr}.subject-bulk-row{grid-template-columns:1fr 1fr}.subject-bulk-row>span{grid-column:1/-1}.subject-hub-heading h1{font-size:30px}.subject-tile{min-height:290px}.math-welcome-card{min-height:0;padding:28px 24px 150px}.math-welcome-card h1{font-size:30px}.math-welcome-manatee{height:150px;bottom:4px;right:12px}.math-expression{font-size:30px!important}.math-card .practice-mascot-wrap{width:78px;height:68px;top:-36px;right:-6px}.math-answer-row{flex-wrap:wrap;justify-content:center}.math-answer-row input{flex-basis:100%}.math-result-skills>div{grid-template-columns:1fr;gap:4px}.math-missed{flex-direction:column;align-items:flex-start!important}}.report-subject-tabs{margin:-4px 0 0}.math-report-totals{grid-template-columns:repeat(4,minmax(0,1fr))}.math-report-totals>div{background:#fff;min-height:76px}.math-heatmap thead th span{max-width:84px}.math-heatmap th.math-heatmap-domain{text-align:left;color:#1f7383;background:#f3f9f9;border-left:2px solid #fff}.math-heatmap th.math-heatmap-domain span{max-width:none;overflow:visible}.math-heatmap .math-off-note{color:var(--muted);font-weight:600}.heatmap-legend-ramp.math-ramp{background:linear-gradient(90deg,#23879a1a,#23879ae6)}.math-reports .heatmap-legend-mastered{color:#1f7383}.math-report-skills{flex-direction:column;gap:4px;margin-top:12px;display:flex}.math-report-skills h4{color:#1f7383;margin:12px 0 4px;font-size:11px}.math-report-skills h4:first-child{margin-top:0}.math-report-skill{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 110px 74px;align-items:center;gap:12px;padding:8px 0;display:grid}.math-report-skill>span{flex-direction:column;gap:2px;min-width:0;display:flex}.math-report-skill>span strong{font-size:11px}.math-report-skill small{color:var(--muted);font-size:9px}.math-report-skill>strong{text-align:right;justify-content:flex-end;align-items:center;gap:3px;font-size:11px;display:inline-flex}.math-report-skill>strong.mastered{color:var(--green)}.math-report-bar{background:#e9eef0;border-radius:7px;height:7px;overflow:hidden}.math-report-bar span{border-radius:inherit;background:#2a9aa8;height:100%;display:block}.math-report-bar span.low{background:#d98a6c}.math-report-missed{flex-direction:column;gap:8px;display:flex}.math-report-missed>div{border:1px solid var(--line);background:#fbfaf9;border-radius:10px;padding:10px 12px}.math-report-missed small{color:#1f7383;letter-spacing:.6px;text-transform:uppercase;font-size:8px;font-weight:800}.math-report-missed p{color:var(--ink);margin:4px 0 6px;font-size:11px;line-height:1.45}.math-report-missed>div>span{color:var(--muted);font-size:10px}.math-report-missed strong{color:var(--ink)}.math-report-missed strong.wrong{color:#a14e40}@media (width<=760px){.math-report-totals{grid-template-columns:1fr 1fr}.math-report-skill{grid-template-columns:minmax(0,1fr) 60px}.math-report-skill .math-report-bar{display:none}}.module-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.module-card{flex-direction:column;gap:12px;padding:20px;display:flex}.module-card.archived{opacity:.72}.module-card-heading h3{letter-spacing:-.3px;margin:3px 0 0;font-family:Fraunces,serif;font-size:19px}.module-card .panel-kicker{color:#1f7383}.module-source{color:#2c4a52;background:#f3f9f9;border-radius:10px;margin:0;padding:11px 13px;font-size:11px;line-height:1.5}.module-stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.module-stats>div{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:3px;padding:9px 10px;display:flex}.module-stats span{color:var(--muted);letter-spacing:.6px;text-transform:uppercase;font-size:8px;font-weight:800}.module-stats strong{font-family:Fraunces,serif;font-size:17px}.module-card-actions{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.module-card-actions .secondary-button{min-height:34px;font-size:11px}.module-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:240px;padding:30px;display:flex}.module-empty>svg{color:#23879a}.module-empty strong{font-family:Fraunces,serif;font-size:19px}.module-empty span{color:var(--muted);max-width:440px;font-size:12px;line-height:1.5}.module-message{background:var(--mint);color:#2f6f52;border-radius:11px;align-items:center;gap:8px;padding:11px 14px;font-size:12px;font-weight:600;display:flex}.module-builder{width:min(760px,96vw)}.module-builder-step{border-top:1px solid var(--line);padding:16px 0}.module-builder-step:first-of-type{border-top:0;padding-top:0}.module-builder-step h3{align-items:center;gap:9px;margin:0 0 12px;font-size:14px;display:flex}.module-builder-step h3 span{color:#1f7383;background:#def2f4;border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;display:grid}.module-capture{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:12px;display:flex}.module-capture small{color:var(--muted);font-size:10px}.module-capture-row.with-photo{grid-template-columns:minmax(0,220px) 1fr;align-items:start;gap:14px;display:grid}.module-photo{object-fit:contain;border:1px solid var(--line);background:#fbfaf9;border-radius:10px;width:100%;max-height:200px}.module-builder textarea{resize:vertical;width:100%;min-height:96px;color:var(--ink);font:inherit;background:#fbfaf9;border:1px solid #ddd9e3;border-radius:9px;padding:10px 12px;font-size:13px;font-weight:400;line-height:1.5}.module-builder select{height:43px;color:var(--ink);background:#fbfaf9;border:1px solid #ddd9e3;border-radius:9px;padding:0 10px;font-weight:500}.module-actions-row{justify-content:flex-end;margin-top:12px;display:flex}.module-reason{color:#4c4366;background:#f4f1fa;border-radius:10px;align-items:flex-start;gap:7px;margin:0 0 14px;padding:10px 12px;font-size:12px;line-height:1.5;display:flex}.module-reason svg{color:var(--purple);flex:none;margin-top:3px}.module-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.module-fields .stacked-label+.stacked-label{margin-top:0}.module-template{background:#f6fbfb;border:1px solid #cfe7ea;border-radius:11px;margin-top:14px;padding:12px 14px}.module-builder label.module-toggle{color:var(--ink);cursor:pointer;flex-direction:row;align-items:center;gap:8px;font-size:12px;font-weight:600}.module-toggle input{accent-color:#23879a;width:16px;height:16px}.module-template-text{color:#2c4a52;margin:10px 0 0;font-size:13px;line-height:1.7}.module-template-text mark{color:#0f5c6a;white-space:nowrap;background:#bfe5ea;border-radius:6px;padding:2px 7px;font-size:11px;font-weight:700}.module-preview{margin:16px 0}.module-preview-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.module-preview-heading strong{font-size:12px}.module-preview-heading .secondary-button{min-height:32px;font-size:11px}.module-preview-list{counter-reset:preview;flex-direction:column;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.module-preview-list li{border:1px solid var(--line);counter-increment:preview;border-radius:9px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 11px;font-size:12px;line-height:1.45;display:grid}.module-preview-list li:before{content:counter(preview);color:var(--muted);font-size:10px;font-weight:800}.module-preview-list li strong{color:#1f7383;white-space:nowrap}.module-preview small{color:var(--muted);font-size:10px}.math-module-card{background:linear-gradient(#f7fcfc,#fff);border-color:#bfe0e5}.math-module-card .student-primary{align-self:flex-start;min-height:38px;font-size:12px}.math-module-source{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;color:#2c4a52!important;font-size:10px!important}@media (width<=760px){.module-capture-row.with-photo,.module-fields{grid-template-columns:1fr}.module-preview-list li{grid-template-columns:18px minmax(0,1fr)}.module-preview-list li strong{grid-column:2}}.math-module-heading{flex-direction:column;gap:3px;display:flex}.math-module-heading h3{margin:0;font-size:13px;line-height:1.3}.math-module-heading small{color:#1f7383;font-size:9px;font-weight:700}.explainer-main{max-width:1120px;margin:0 auto;padding:22px 24px 60px}.explainer-page{flex-direction:column;gap:16px;display:flex}.explainer-loading{place-items:center;min-height:50vh;display:grid}.explainer-bar{grid-template-columns:auto 1fr auto;align-items:center;gap:14px;display:grid}.explainer-title{text-align:center}.explainer-title h1{letter-spacing:-.4px;margin:0;font-family:Fraunces,serif;font-size:26px}.explainer-count{color:var(--muted);font-size:11px;font-weight:700}.explainer-stage{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:stretch;gap:18px;display:grid}.explainer-manatee{background:linear-gradient(#d9f3f5 0%,#a9dde3 70%,#8fcfd8 100%);border-radius:24px;justify-content:center;align-items:flex-end;min-height:340px;padding:18px 10px 0;display:flex;position:relative;overflow:hidden}.explainer-manatee:after{content:"";pointer-events:none;background:radial-gradient(circle at 20px -6px,#0000 22px,#ffffff59 23px) 0 0/44px 40px repeat-x;height:40px;position:absolute;bottom:0;left:0;right:0}.explainer-start{z-index:2;width:max-content;max-width:calc(100% - 24px);min-height:54px;margin:0 auto;padding:0 24px;font-size:15px;position:absolute;bottom:22px;left:0;right:0;box-shadow:0 14px 30px #145a644d}.explainer-start,.explainer-start:hover,.explainer-start:active{transform:none}.reading-manatee{width:min(100%,420px);height:auto;animation:4s ease-in-out infinite rm-bob;display:block}.reading-manatee .rm-mouth-open,.reading-manatee.speaking .rm-mouth-closed{display:none}.reading-manatee.speaking .rm-mouth-open{transform-origin:210px 212px;animation:.26s ease-in-out infinite alternate rm-talk;display:block}.reading-manatee .rm-eyes{transform-origin:210px 142px;animation:5s infinite rm-blink}.reading-manatee .rm-page-turn{opacity:0;transform-origin:213px 290px;animation:.7s ease-out rm-page}.reading-manatee .rm-bubbles circle{animation:6s ease-in infinite rm-rise}.reading-manatee .rm-bubbles circle:nth-child(2){animation-delay:2s}.reading-manatee .rm-bubbles circle:nth-child(3){animation-delay:4s}@media (prefers-reduced-motion:reduce){.reading-manatee,.reading-manatee *{animation:none!important}}@keyframes rm-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes rm-talk{0%{transform:scaleY(.35)}to{transform:scaleY(1)}}@keyframes rm-blink{0%,94%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes rm-page{0%{opacity:1;transform:scaleX(1)}60%{opacity:1}to{opacity:0;transform:scaleX(-1)}}@keyframes rm-rise{0%{opacity:0;transform:translateY(0)}15%{opacity:1}to{opacity:0;transform:translateY(-90px)}}.explainer-board{color:#f2fbfb;background:#20434b;border-radius:24px;flex-direction:column;gap:10px;min-height:340px;padding:22px 24px;display:flex;box-shadow:inset 0 0 0 8px #2e5a63,0 14px 30px #143c462e}.explainer-board-label{color:#9fd6dd;letter-spacing:1.2px;text-transform:uppercase;font-size:10px;font-weight:800}.explainer-problem{margin:0 0 6px;font-size:16px;line-height:1.5}.explainer-problem.expression{font-family:Fraunces,serif;font-size:30px}.explainer-steps{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.explainer-steps li{color:#d5ecee;border-radius:10px;padding:4px 10px;font-family:Fraunces,serif;font-size:21px;animation:.45s explainer-step-in}.explainer-steps li.current{color:#fff;background:#ffffff1a;box-shadow:inset 3px 0 #ffd36b}@keyframes explainer-step-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.explainer-answer{color:#3b2a00;background:#ffd36b;border-radius:12px;align-self:flex-start;align-items:baseline;gap:10px;margin-top:auto;padding:8px 14px;display:inline-flex}.explainer-answer span{text-transform:uppercase;letter-spacing:.8px;font-size:11px;font-weight:800}.explainer-answer strong{font-family:Fraunces,serif;font-size:24px}.explainer-subtitles{border:1px solid var(--line);min-height:96px;box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:18px;justify-content:center;align-items:center;padding:18px 24px;display:flex}.explainer-subtitles p{color:#6f7c83;margin:0;font-size:24px;line-height:1.55}.explainer-subtitles span{border-radius:8px;padding:1px 2px;transition:color .12s,background-color .12s}.explainer-subtitles span.spoken{color:#1d5e6a}.explainer-subtitles span.current{color:#2b1f00;background:#ffd36b;box-shadow:0 0 0 3px #ffd36b}.explainer-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.explainer-controls .icon-button{width:42px;height:42px}.explainer-controls .student-primary,.explainer-controls .student-secondary{min-height:44px}.explainer-note{text-align:center;color:var(--muted);margin:0;font-size:11px}.explainer-script{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:6px;margin:0;padding:14px 18px 14px 36px;display:flex}.explainer-script li{color:var(--ink);font-size:13px;line-height:1.5}.explainer-script li.current{color:#1d5e6a;font-weight:700}.explainer-script button{text-align:left;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.explainer-overlay{z-index:60;background:#f6fafa;padding:24px;position:fixed;inset:0;overflow:auto}.math-choice-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:6px 0 4px;display:grid}.math-choice{color:#1f4f58;cursor:pointer;font:inherit;background:#f6fbfc;border:2px solid #cfe6ea;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;transition:transform .12s,border-color .12s,background .12s;display:flex}.math-choice strong{font-family:Fraunces,serif;font-size:34px;line-height:1}.math-choice span{font-size:12px;font-weight:700}.math-choice:hover:not(:disabled){border-color:#2a8f9c;transform:translateY(-1px)}.math-choice:focus-visible{outline-offset:2px;outline:3px solid #2a8f9c}.math-choice:disabled{cursor:default;opacity:.75}.math-choice.chosen{opacity:1;background:#def2f4;border-color:#2a8f9c}.math-choice.right{opacity:1;background:#e3f5ea;border-color:#3c9a6a}.math-review-card{background:linear-gradient(160deg,#f1fafb,#e4f3f5);border-style:dashed;border-color:#a9d8de}.math-review-progress{color:#1f7383;font-size:11px;font-weight:700}.math-module-actions{flex-wrap:wrap;gap:8px;display:flex}.math-module-actions .student-secondary,.math-module-actions .student-primary{flex:1 1 0;justify-content:center;min-height:38px;padding-inline:12px;font-size:12px}.module-explainer-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.module-explainer-row .secondary-button{min-height:32px;font-size:11px}.module-explainer-status{border-radius:20px;align-items:center;gap:5px;padding:5px 9px;font-size:10px;font-weight:700;display:inline-flex}.module-explainer-status.ready{background:var(--mint);color:#2f6f52}.module-explainer-status.pending{color:#8a5b24;background:#f8ecd0}.module-explainer-status.error{color:#92564a;background:#f9e4df}.skill-explainers{flex-direction:column;gap:14px;padding:20px 22px;display:flex}.skill-explainers-intro h3{margin:0 0 4px;font-size:16px}.skill-explainers-intro p{color:var(--muted);max-width:720px;margin:0;font-size:12px;line-height:1.5}.skill-explainer-group h4{letter-spacing:.6px;text-transform:uppercase;color:#1f7383;margin:4px 0 6px;font-size:11px}.skill-explainer-group ul{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.skill-explainer-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1.4fr) auto auto;align-items:center;gap:12px;padding:10px 0;display:grid}.skill-explainer-group li:first-child{border-top:0}.skill-explainer-name{flex-direction:column;gap:3px;min-width:0;display:flex}.skill-explainer-name strong{font-size:13px}.skill-explainer-example{color:var(--muted);overflow-wrap:anywhere;font-size:11px}.skill-explainer-tags{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.skill-explainer-version{color:#615b70;background:#f1eff4;border-radius:20px;align-items:center;padding:5px 9px;font-size:10px;font-weight:700;display:inline-flex}.skill-explainer-version.customized{color:#1f7383;background:#def2f4}.skill-explainer-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.skill-explainer-actions .secondary-button{min-height:32px;font-size:11px}.skill-explainer-editor textarea{min-height:0}.skill-explainer-hint{color:var(--muted);margin:0 0 10px;font-size:11px;line-height:1.5}.module-actions-row .skill-explainer-hint{margin:0}.skill-explainer-sentences{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.skill-explainer-sentences li{grid-template-columns:24px minmax(0,1fr);align-items:start;gap:8px;display:grid}.skill-explainer-number{color:#1f7383;background:#def2f4;border-radius:50%;place-items:center;width:24px;height:24px;margin-top:8px;font-size:11px;font-weight:700;display:grid}.skill-explainer-sentences li.reworded textarea{background:#f2fafb;border-color:#7cc3cc}.skill-explainer-sentence-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;margin-top:4px;display:flex}.skill-explainer-board{color:var(--muted);font-size:11px}.skill-explainer-reset{margin-right:auto}@media (width<=760px){.skill-explainers{padding:16px}.skill-explainer-row{grid-template-columns:1fr;gap:8px}.skill-explainer-tags,.skill-explainer-actions{justify-content:flex-start}}@media (width<=860px){.explainer-stage{grid-template-columns:1fr}.explainer-manatee,.explainer-board{min-height:0}.explainer-manatee{padding-top:10px}.reading-manatee{width:min(100%,300px)}}@media (width<=760px){.explainer-main{padding:14px 12px 40px}.explainer-bar{grid-template-columns:1fr auto}.explainer-title{text-align:left;grid-area:2/1/auto/-1}.explainer-title h1{font-size:21px}.explainer-subtitles p{font-size:19px}.explainer-steps li{font-size:17px}.explainer-problem.expression{font-size:24px}.explainer-overlay{padding:12px}}.subject-vocabulary{color:#4a2f17;background:linear-gradient(160deg,#f6e3c6,#e3bb8a)}.subject-vocabulary .subject-tile-art img{height:156px}.subject-vocabulary .subject-tile-go{color:#7d4b1f}.vocab-theme{--purple:#9a5f2a;--purple-dark:#7d4b1f;--purple-soft:#f6ead9;background:#fbf8f3}.vocab-theme .student-top .logo-mark{background:#9a5f2a}.vocab-theme .student-kicker{color:#8a5526}.vocab-theme .progress-track span{background:#d39a3e}.vocab-theme .result-trophy{color:#9a5f2a;background:#f8ecd7}.vocab-theme .back-button:hover{color:#8a5526}.summary-icon.vocab-amber{color:#9a5f2a;background:#f8ecd7}.owl{display:block}.vocab-welcome-card{background:linear-gradient(135deg,#f7e7cc 0%,#efd2a5 60%,#e6c08b 100%);border-radius:24px;align-items:center;min-height:290px;padding:40px 48px;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 40px #6e46191f}.vocab-welcome-card:before{content:"";background:#ffffff47;border-radius:50%;width:360px;height:360px;position:absolute;top:-90px;right:-40px}.vocab-welcome-card h1{letter-spacing:-1.2px;color:#3e2610;margin:0 0 10px;font-family:Fraunces,serif;font-size:39px;line-height:1.06}.vocab-welcome-card h1 em{color:#8a5526;font-style:normal}.vocab-welcome-card p{color:#5c4127;max-width:420px;font-size:12px;line-height:1.5}.vocab-welcome-owl{z-index:1;filter:drop-shadow(0 18px 20px #46280a2e);height:250px;animation:4.5s ease-in-out infinite manatee-float;position:absolute;bottom:4px;right:22px}.vocab-notice{color:#6b4219;background:#ffffffb3;border-radius:10px;align-items:center;gap:6px;margin-top:14px;padding:8px 12px;font-size:11px;font-weight:700;display:inline-flex}.vocab-empty{background:#fff;border:1px dashed #e3c9a4;border-radius:18px;align-items:center;gap:16px;margin-top:22px;padding:22px;display:flex}.vocab-empty-owl{height:90px}.vocab-empty strong{font-family:Fraunces,serif;font-size:18px}.vocab-empty p{color:var(--muted);margin:4px 0 0;font-size:12px}.vocab-week{border:1px solid var(--line);background:#fff;border-radius:18px;flex-direction:column;gap:14px;padding:18px;display:flex}.vocab-this-week{flex-direction:column;gap:12px;margin-top:22px;display:flex}.vocab-week.featured{border-color:#ecd4b1;box-shadow:0 10px 28px #78501e14}.vocab-week header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.vocab-week h2{letter-spacing:-.4px;margin:0;font-family:Fraunces,serif;font-size:20px}.vocab-week:not(.featured) h2{font-size:15px}.vocab-week header small{color:var(--muted);font-size:10px}.vocab-week header .vocab-mastery{min-width:210px}.vocab-week-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.vocab-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.vocab-week:not(.featured) .vocab-steps{grid-template-columns:1fr;gap:6px}.vocab-steps li{background:#fbf6ee;border:1px solid #f1e3cd;border-radius:14px;grid-template-columns:30px 1fr;align-items:center;gap:8px 10px;padding:12px;display:grid}.vocab-week:not(.featured) .vocab-steps li{grid-template-columns:26px 1fr auto;padding:8px 10px}.vocab-steps li.done{background:#f1f8f2;border-color:#d3ead8}.vocab-steps li.locked{opacity:.7}.vocab-steps li>div{flex-direction:column;gap:2px;display:flex}.vocab-steps strong{font-size:13px}.vocab-steps small{color:var(--muted);font-size:10px}.vocab-steps button{grid-column:1/-1;justify-content:center;min-height:38px;font-size:12px}.vocab-week:not(.featured) .vocab-steps button{grid-column:auto;min-height:32px;padding:0 12px;font-size:11px}.vocab-step-number{color:#6b4219;background:#ecd6b6;border-radius:50%;place-items:center;width:30px;height:30px;font-size:13px;font-weight:800;display:grid}.vocab-week:not(.featured) .vocab-step-number{width:26px;height:26px;font-size:11px}.vocab-steps li.done .vocab-step-number{color:#fff;background:#3f9b72}.vocab-mastery{grid-template-columns:1fr auto;align-items:center;gap:9px;display:grid}.vocab-mastery-track{background:#f0e6d8;border-radius:7px;height:7px;overflow:hidden}.vocab-mastery-track span{border-radius:inherit;background:#d39a3e;height:100%;transition:width .4s;display:block}.vocab-mastery-track span.complete{background:#3f9b72}.vocab-mastery small{color:var(--muted);white-space:nowrap;font-size:10px;font-weight:700}.vocab-card{padding-top:40px}.vocab-card .practice-mascot-wrap{width:104px;height:96px;top:-42px;right:-34px}.vocab-word-card{text-align:left;flex-direction:column;gap:10px;margin:6px 0 4px;display:flex}.vocab-word-heading{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.vocab-word-card h2{letter-spacing:-.8px;color:#3e2610;margin:0;font-family:Fraunces,serif;font-size:36px}.vocab-word-card.compact h2{letter-spacing:-.2px;font-size:18px}.vocab-pos{color:#8a5526;background:#f6ead9;border-radius:20px;padding:3px 9px;font-size:11px;font-style:italic;font-weight:800}.vocab-hear{color:#fff;cursor:pointer;background:#9a5f2a;border:0;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.vocab-hear:focus-visible{outline-offset:2px;outline:3px solid #d39a3e}.vocab-definition{color:var(--ink);margin:0;font-size:17px;line-height:1.45}.vocab-word-card.compact .vocab-definition{font-size:13px}.vocab-hidden-meaning{color:var(--muted);border:2px dashed #e3cfb2;border-radius:10px;padding:12px 14px;font-size:15px;font-style:italic}.vocab-hidden-meaning strong{color:#7d4b1f;font-style:normal}.vocab-learn-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.vocab-meaning-toggle{color:#7d4b1f;font:inherit;cursor:pointer;background:#fffaf3;border:1px solid #ecdcc6;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.vocab-meaning-toggle:hover{border-color:#c48a45}.vocab-meaning-toggle:focus-visible{outline-offset:2px;outline:3px solid #d39a3e}.vocab-meaning-toggle[aria-pressed=true]{color:#fff;background:#9a5f2a;border-color:#9a5f2a}.vocab-sentence{color:#5c4127;background:#fbf6ee;border-left:4px solid #e3bb8a;border-radius:0 10px 10px 0;margin:0;padding:12px 14px;font-size:15px;font-style:italic;line-height:1.5}.vocab-word-card.compact .vocab-sentence{padding:8px 10px;font-size:12px}.vocab-sentence strong,.vocab-context strong{color:#7d4b1f;font-style:normal}.vocab-related{flex-direction:column;gap:6px;display:flex}.vocab-related>div{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.vocab-related small{color:var(--muted);text-transform:uppercase;letter-spacing:.6px;min-width:64px;font-size:10px;font-weight:800}.vocab-chip{border-radius:20px;padding:4px 10px;font-size:12px;font-weight:600}.vocab-chip.synonym{color:#2f6b4f;background:#eef6f1}.vocab-chip.antonym{color:#8c4a3c;background:#f9e9e4}.vocab-word-card.compact .vocab-chip{padding:2px 8px;font-size:10px}.vocab-card-mastered{color:#3f9b72;align-items:center;gap:4px;font-weight:700;display:inline-flex;margin:6px 0 0!important;font-size:11px!important}.vocab-card-nav{justify-content:space-between;gap:10px;margin-top:20px;display:flex}.vocab-card-strip{flex-wrap:wrap;justify-content:center;gap:6px;max-width:640px;margin:18px auto 0;display:flex}.vocab-card-strip button{color:#6b4a2b;cursor:pointer;background:#fff;border:1px solid #ecdcc6;border-radius:20px;padding:5px 11px;font-size:11px;font-weight:600}.vocab-card-strip button.mastered{color:#2f6b4f;background:#f1f8f2;border-color:#cfe7d6}.vocab-card-strip button.active{color:#fff;background:#9a5f2a;border-color:#9a5f2a}.vocab-question-label{color:var(--muted);margin-top:4px;font-size:13px;font-weight:700;display:block}.vocab-prompt-word{letter-spacing:-.8px;color:#3e2610;font-family:Fraunces,serif;margin:8px 0 10px!important;font-size:40px!important}.vocab-clue{max-width:460px;line-height:1.45;color:var(--ink)!important;margin:10px auto 18px!important;font-size:19px!important}.vocab-context{max-width:460px;font-style:italic;line-height:1.5;color:#5c4127!important;margin:0 auto 18px!important;font-size:15px!important}.vocab-choices{grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 6px;display:grid}.vocab-choice{text-align:left;color:#3e2610;cursor:pointer;min-height:58px;font:inherit;background:#fffaf3;border:2px solid #ecdcc6;border-radius:14px;align-items:center;gap:10px;padding:13px 14px;font-size:15px;font-weight:600;transition:transform .12s,border-color .12s,background .12s;display:flex}.vocab-choice.long{grid-column:1/-1;min-height:50px;font-size:14px;font-weight:500}.vocab-choice kbd{color:#7d4b1f;background:#f1e3cd;border-radius:7px;flex:none;place-items:center;width:24px;height:24px;font:800 12px/1 inherit;display:grid}.vocab-choice:hover:not(:disabled){border-color:#c48a45;transform:translateY(-1px)}.vocab-choice:focus-visible{outline-offset:2px;outline:3px solid #c48a45}.vocab-choice:disabled{cursor:default;opacity:.7}.vocab-choice.chosen{opacity:1;background:#f8ecd7;border-color:#c48a45}.vocab-choice.right{opacity:1;background:#e3f5ea;border-color:#3c9a6a}.vocab-choice.wrong{opacity:1;background:#f9e4df;border-color:#c9775f}.vocab-feedback{align-items:flex-start}.vocab-feedback>div{flex:1;min-width:0;gap:8px!important}.vocab-feedback strong{font-size:13px!important}.vocab-feedback .vocab-word-card{color:var(--ink);margin:0}.feedback-box.vocab-feedback .vocab-word-heading,.feedback-box.vocab-feedback .vocab-related>div{flex-direction:row;align-items:center}.feedback-box.vocab-feedback .vocab-related{align-items:flex-start}.feedback-box.vocab-feedback span.vocab-chip,.feedback-box.vocab-feedback span.vocab-pos{opacity:1;font-size:10px}.feedback-box.vocab-feedback .vocab-sentence strong{font-size:inherit}.vocab-results .vocab-result-row{flex-direction:column;align-items:flex-start;gap:3px}.vocab-results .vocab-result-row>span{font-size:13px;color:var(--ink)!important}.vocab-results .vocab-result-row.right>span svg{color:#3f9b72}.vocab-results .vocab-result-row.wrong>span svg{color:#c9775f}.vocab-results .vocab-result-row small{color:var(--muted);font-size:11px;line-height:1.4}.vocab-assigned-list{flex-direction:column;gap:8px;display:flex}.vocab-assigned-list>div{border:1px solid var(--line);border-radius:12px;grid-template-columns:104px 1fr auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.vocab-assigned-list>div.current{background:#fbf6ee;border-color:#ecd4b1}.vocab-assigned-list span:nth-child(2){flex-direction:column;gap:2px;display:flex}.vocab-assigned-list strong{font-size:13px}.vocab-assigned-list small{color:var(--muted);font-size:11px}.vocab-assigned-badge{white-space:nowrap;color:var(--purple);background:#f1edf8;border-radius:20px;justify-self:start;padding:4px 9px;font-size:10px;font-weight:800}.current .vocab-assigned-badge{color:#fff;background:#9a5f2a}.vocab-intro-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:8px;display:flex}.vocab-teacher-notice{color:#2f6b4f;background:#eef6f1;border-radius:12px;align-items:center;gap:7px;padding:10px 14px;font-size:12px;font-weight:700;display:flex}.vocab-assigned-list.upcoming>div{grid-template-columns:112px 1fr auto}.vocab-assigned-badge.scheduled{color:#3b5f80;white-space:nowrap;background:#eef3f8;align-items:center;gap:4px;display:inline-flex}.vocab-upcoming-actions{align-items:center;gap:4px;display:flex}.vocab-upcoming-actions .secondary-button{min-height:32px;padding:0 12px;font-size:12px}.vocab-show-more{margin-top:8px}.vocab-scheduled-badge{color:#3b5f80;white-space:nowrap;background:#eef3f8}.vocab-curriculum-week.scheduled{border-color:#cfdcea}.vocab-curriculum{flex-direction:column;gap:8px;display:flex}.vocab-curriculum-note{color:var(--muted);margin:0 0 12px;font-size:12px}.vocab-curriculum-week{border:1px solid var(--line);border-radius:12px;overflow:hidden}.vocab-curriculum-week.assigned{border-color:#ecd4b1}.vocab-curriculum-week header{align-items:center;gap:10px;padding:8px 12px 8px 8px;display:flex}.vocab-curriculum-toggle{text-align:left;cursor:pointer;min-width:0;font:inherit;color:var(--ink);background:0 0;border:0;flex:1;grid-template-columns:34px 1fr 18px;align-items:center;gap:10px;padding:4px;display:grid}.vocab-curriculum-toggle>span:nth-child(2){flex-direction:column;gap:2px;min-width:0;display:flex}.vocab-curriculum-toggle strong{font-size:13px}.vocab-curriculum-toggle small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.vocab-week-number{color:#7d4b1f;background:#f6ead9;border-radius:10px;place-items:center;width:34px;height:34px;font-size:13px;font-weight:800;display:grid}.vocab-week-number.bonus{color:#a86a00;background:#fdf0c8}.vocab-bonus-heading{color:#a86a00;align-items:flex-start;gap:10px;margin:18px 0 10px;display:flex}.vocab-bonus-heading>div{flex-direction:column;gap:2px;display:flex}.vocab-bonus-heading strong{color:var(--ink);font-size:14px}.vocab-bonus-heading small{color:var(--muted);font-size:12px}.vocab-curriculum-week .secondary-button{white-space:nowrap;min-height:34px;padding:0 14px;font-size:12px}.vocab-teacher-words{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;padding:4px 12px 14px;display:grid}.vocab-teacher-words>div{background:#fbf9f6;border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;font-size:12px;line-height:1.4;display:flex}.vocab-teacher-words strong{font-size:14px}.vocab-teacher-words strong small{color:#8a5526;font-size:11px;font-style:italic;font-weight:700}.vocab-teacher-words em{color:#5c4127}.vocab-teacher-related{color:var(--muted);font-size:11px}.vocab-report-picker{color:var(--muted);align-items:center;gap:10px;margin-bottom:14px;font-size:12px;font-weight:700;display:flex}.vocab-report-picker select{max-width:100%;min-height:38px}.vocab-report-table{flex-direction:column;padding:0 4px 6px;display:flex}.vocab-report-row{border-bottom:1px solid var(--line);grid-template-columns:1.4fr .6fr .8fr .8fr .9fr;align-items:center;gap:10px;padding:10px 8px;font-size:12px;display:grid}.vocab-report-row.head{color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-size:10px;font-weight:800}.vocab-yes{color:#3f9b72}.vocab-no{color:var(--muted);align-items:center;gap:3px;display:inline-flex}.vocab-report-name{margin:0 0 10px;font-family:Fraunces,serif;font-size:18px}.vocab-report-subhead{margin:18px 0 6px;font-size:13px}.vocab-report-steps{flex-wrap:wrap;gap:5px;margin-top:3px;display:flex!important}.vocab-report-step{color:var(--muted);background:#f3f1f6;border-radius:20px;align-items:center;gap:3px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.vocab-report-step.done{color:#2f6b4f;background:#eef6f1}.vocab-report-missed>div{flex-direction:column;gap:3px}.vocab-report-missed small{color:var(--muted)}@media (width<=760px){.vocab-welcome-card{min-height:0;padding:28px 24px 150px}.vocab-welcome-card h1{font-size:30px}.vocab-welcome-owl{height:150px;bottom:4px;right:12px}.vocab-steps,.vocab-week-grid,.vocab-choices{grid-template-columns:1fr}.vocab-prompt-word{font-size:32px!important}.vocab-word-card h2{font-size:30px}.vocab-card .practice-mascot-wrap{width:74px;height:68px;top:-36px;right:-6px}.vocab-card-nav{flex-direction:column-reverse}.vocab-assigned-list>div,.vocab-assigned-list.upcoming>div{grid-template-columns:1fr auto}.vocab-intro-actions{align-items:flex-start}.vocab-scheduled-badge{display:none!important}.vocab-assigned-badge{grid-column:1/-1}.vocab-report-row{grid-template-columns:1.2fr .5fr .7fr .7fr}.vocab-report-row>:nth-child(5){display:none}}@media (prefers-reduced-motion:reduce){.vocab-welcome-owl{animation:none}}.ov-spelling{--subject:#6f61a8;--subject-ink:#594b93;--subject-soft:#ece8f7;--subject-tint:#f8f7fb}.ov-math{--subject:#23879a;--subject-ink:#1b6878;--subject-soft:#dcf0f3;--subject-tint:#f3f9fa}.ov-vocabulary{--subject:#9a5f2a;--subject-ink:#7d4b1f;--subject-soft:#f6ead9;--subject-tint:#fbf6ef}.ov-class{--subject:#d97558;--subject-ink:#a64a2b;--subject-soft:#fae6d8;--subject-tint:#fdf5f1}.ov-welcome h2{margin-bottom:6px}.ov-welcome p{color:#5f5c6e;max-width:640px;font-size:14px;line-height:1.5}.ov-actions{flex-wrap:wrap;gap:9px;display:flex}.ov-assign{position:relative}.ov-assign-menu{z-index:20;border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;width:270px;padding:7px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 40px #322a4a24}.ov-assign-menu button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;min-height:50px;padding:6px 10px;display:flex}.ov-assign-menu button:hover,.ov-assign-menu button:focus-visible{background:#f6f4fa}.ov-assign-menu span:last-child{flex-direction:column;gap:1px;display:flex}.ov-assign-menu strong{font-size:13px}.ov-assign-menu small{color:var(--muted);font-size:11px}.ov-dot{background:var(--subject);border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}th .ov-dot{width:8px;height:8px;margin-right:6px}.ov-reminder-message{margin-top:-12px}.ov-pulse{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:14px;display:grid}.ov-tile{background:var(--paper);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:6px;padding:17px 18px;display:flex;box-shadow:0 5px 20px #302b4509}.ov-tile>span:first-child{color:var(--muted);font-size:11px;font-weight:700}.ov-tile>strong{font-family:Fraunces,serif;font-size:27px;line-height:1.1}.ov-tile>strong small{color:var(--muted);font-size:17px}.ov-tile>small{color:#5f5c6e;font-size:11px}.ov-tile>small.good,.ov-subject dd.good{color:#2f7556;font-weight:700}.ov-tile>small.warn,.ov-subject dd.warn{color:#a64a2b;font-weight:700}.ov-bar{background:#eeecf1;border-radius:6px;height:6px;display:block;overflow:hidden}.ov-bar>span{border-radius:inherit;background:var(--subject,var(--purple-dark));height:100%;display:block}.ov-bar.good>span{background:var(--green)}.ov-bar-spacer{height:6px;display:block}.ov-split{background:#eeecf1;border-radius:6px;gap:2px;height:6px;display:flex;overflow:hidden}.ov-split>span{background:var(--subject);display:block}.ov-subjects{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.ov-subject{background:var(--paper);border:1px solid var(--line);border-radius:16px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 6px 22px #332c4b0a}.ov-subject-head{background:var(--subject-soft);align-items:center;gap:14px;padding:15px 18px;display:flex}.ov-subject-head img{object-fit:contain;flex:none;width:52px;height:52px}.ov-subject-head>div{min-width:0}.ov-subject-kicker{letter-spacing:1px;text-transform:uppercase;color:var(--subject-ink);font-size:10px;font-weight:800}.ov-subject-head h3{letter-spacing:-.3px;overflow-wrap:anywhere;margin:2px 0 0;font-family:Fraunces,serif;font-size:18px}.ov-subject-body{flex-direction:column;flex:1;gap:14px;padding:17px 18px;display:flex}.ov-subject-stats{align-items:center;gap:16px;display:flex}.ov-subject dl{flex:1;grid-template-columns:1fr auto;gap:6px 12px;margin:0;font-size:12px;display:grid}.ov-subject dt{color:#5f5c6e}.ov-subject dd{text-align:right;margin:0;font-weight:700}.ov-ring{background:conic-gradient(var(--subject) var(--progress), var(--subject-soft) 0);border-radius:50%;flex:none;place-items:center;width:84px;height:84px;display:grid;position:relative}.ov-ring:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:9px}.ov-ring>div{z-index:1;flex-direction:column;align-items:center;display:flex}.ov-ring strong{font-family:Fraunces,serif;font-size:19px}.ov-ring span{letter-spacing:.8px;text-transform:uppercase;color:var(--muted);font-size:8px}.ov-callout{background:var(--subject-tint);border-radius:10px;margin:auto 0 0;padding:10px 12px;font-size:12px;line-height:1.45}.ov-callout span{color:#5f5c6e}.ov-callout em{color:#a64a2b;font-style:normal;font-weight:700}.ov-steps{flex-direction:column;gap:9px;font-size:12px;display:flex}.ov-steps>div{grid-template-columns:70px 1fr 34px;align-items:center;gap:10px;display:grid}.ov-steps>div>span:first-child{color:#5f5c6e}.ov-steps>div>strong{text-align:right}.ov-steps .ov-bar{background:#f3ece2;height:8px}.ov-steps>.ov-steps-total{justify-content:space-between;padding-top:2px;display:flex}.ov-subject-link{border:0;border-top:1px solid var(--line);min-height:46px;color:var(--subject-ink);cursor:pointer;background:0 0;justify-content:space-between;align-items:center;padding:0 18px;font-size:12px;font-weight:700;display:flex}.ov-subject-link:hover{background:var(--subject-tint)}.ov-subject-off{text-align:center;background:#fdfcfa;border:2px dashed #e0dbd2;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:260px;padding:24px;display:flex}.ov-subject-off img{object-fit:contain;opacity:.6;width:64px;height:64px}.ov-subject-off strong{font-family:Fraunces,serif;font-size:17px}.ov-subject-off span{color:#5f5c6e;max-width:260px;font-size:12px;line-height:1.5}.ov-subject-off .secondary-button{color:var(--subject-ink);margin-top:4px}.ov-split-row{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.ov-panel{padding:20px 22px}.ov-roster{flex:999 560px;min-width:0}.ov-attention{flex-direction:column;flex:300px;min-width:0;display:flex}.ov-attention h3,.ov-panel-heading h3{letter-spacing:-.3px;margin:3px 0 8px;font-family:Fraunces,serif;font-size:19px}.ov-panel-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:8px;display:flex}.ov-panel-heading h3{margin-bottom:0}.ov-chips{flex-wrap:wrap;gap:6px;display:flex}.ov-chips button{min-height:34px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #ddd9e3;border-radius:17px;padding:0 13px;font-size:11px;font-weight:600}.ov-chips button:hover{border-color:#c9c2da}.ov-chips button.active{background:var(--purple-dark);border-color:var(--purple-dark);color:#fff;font-weight:700}.ov-table-scroll{margin:0 -4px;overflow-x:auto}.ov-table{border-collapse:collapse;width:100%;min-width:600px;font-size:12px}.ov-table thead th{text-align:left;color:var(--muted);vertical-align:bottom;white-space:nowrap;padding:8px;font-size:11px;font-weight:700}.ov-table thead th small{font-size:10px;font-weight:500;display:block}.ov-table tbody tr{border-top:1px solid #efedf3}.ov-table tbody th,.ov-table td{text-align:left;padding:9px 8px;font-weight:400}.ov-table tbody th{font-weight:600}.ov-student{font:inherit;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;min-height:34px;padding:0;font-weight:600;display:flex}.ov-student:hover{text-decoration:underline}.ov-avatar{background:var(--purple-soft);width:30px;height:30px;color:var(--purple-dark);border-radius:50%;flex:none;place-items:center;font-size:10px;font-weight:800;display:grid}.ov-cell{align-items:center;gap:8px;display:flex}.ov-cell .ov-bar{flex:none;width:64px}.ov-muted{color:var(--muted)}.ov-off{color:var(--muted);background:#f2f1ee;border-radius:10px;padding:3px 9px;font-size:11px}.ov-step-pills{flex-wrap:wrap;gap:4px;display:flex}.ov-step-pills span{color:var(--muted);border:1px dashed #d8d3c9;border-radius:10px;padding:2px 7px;font-size:10px;font-weight:600}.ov-step-pills span.done{color:#7d4b1f;background:#f6ead9;border:1px solid #0000;font-weight:700}.ov-nudge{color:#a64a2b;align-items:center;gap:6px;font-weight:700;display:inline-flex}.ov-nudge:before{content:"";background:var(--coral);border-radius:50%;width:8px;height:8px}.ov-more{min-height:36px;margin-top:8px;font-size:12px}.ov-attention-item{border-top:1px solid #efedf3;flex-direction:column;gap:3px;padding:12px 0 12px 14px;display:flex;position:relative}.ov-attention-item:before{content:"";background:var(--subject);border-radius:4px;width:4px;position:absolute;top:13px;bottom:13px;left:0}.ov-attention-subject{letter-spacing:.6px;text-transform:uppercase;color:var(--subject-ink);font-size:10px;font-weight:800}.ov-attention-item strong{overflow-wrap:anywhere;font-size:13px}.ov-attention-item>span:not(.ov-attention-subject){color:#5f5c6e;font-size:12px;line-height:1.4}.ov-attention-item button{min-height:30px;color:var(--subject-ink);cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:5px;padding:4px 0;font-size:12px;font-weight:700;display:inline-flex}.ov-attention-item button:hover{text-decoration:underline}.ov-subject-chip{background:var(--subject-soft);color:var(--subject-ink);white-space:nowrap;border-radius:10px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}@media (width<=760px){.ov-actions{width:100%}.ov-actions>*,.ov-assign .primary-button{flex:1}.ov-assign-menu{width:min(270px,100vw - 32px);left:0;right:auto}.ov-panel{padding:16px}.ov-pulse{gap:10px}.ov-tile{padding:14px}.ov-tile>strong{font-size:23px}.side-nav span.nav-caption{display:none}}.extra-help-sessions h3{align-items:center;gap:7px;display:flex}.extra-help-summary{color:var(--muted);align-items:center;gap:6px;margin:0 0 6px;font-size:10px;display:flex}.extra-help-recommended{color:#80641f;background:#fbf3e2;border-radius:20px;padding:4px 9px;font-size:9px;font-weight:700}.extra-help-preview{width:min(760px,96vw)}.extra-help-preview .extra-help-heading h1{margin:0;font-family:Fraunces,serif;font-size:24px}.extra-help-practice-heading{margin:24px 0 8px;font-family:Fraunces,serif;font-size:18px}.extra-help-practice-heading small{color:var(--muted);font-family:inherit;font-size:11px;font-weight:400}.extra-help-practice-list{flex-direction:column;gap:6px;margin:0;padding-left:22px;font-size:12px;display:flex}.extra-help-nudge{color:#6d5518;text-align:left;background:#fbf3e2;border-radius:12px;align-items:center;gap:12px;margin:0 0 18px;padding:12px 14px;display:flex}.extra-help-nudge>div{flex-direction:column;flex:1;gap:2px;font-size:11px;display:flex}.extra-help-nudge strong{font-size:12px}.extra-help-steps{flex-direction:column;gap:6px;margin:8px 0 2px;padding-left:20px;font-size:11px;line-height:1.5;display:flex}.extra-help-steps code{color:var(--purple);margin-top:3px;font-family:ui-monospace,monospace;font-size:11px;display:block}.extra-help{max-width:760px}.extra-help-card{text-align:left;padding:30px}.extra-help-heading{align-items:center;gap:14px;display:flex}.extra-help-manatee{flex:none;width:72px;height:72px}.extra-help-overview{line-height:1.6;color:var(--ink)!important;font-size:13px!important}.extra-help-section h2,.extra-help-watch h2{align-items:center;gap:8px;margin:20px 0 6px;font-family:Fraunces,serif;font-size:18px;display:flex}.extra-help-section h2 span{background:var(--purple-soft);width:26px;height:26px;color:var(--purple);border-radius:50%;place-items:center;font-size:12px;display:grid}.extra-help-section p{white-space:pre-line;margin:0;font-size:13px;line-height:1.6}.extra-help-watch ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.extra-help-watch li{background:#fbf3e2;border-radius:10px;flex-direction:column;gap:3px;padding:10px 12px;font-size:12px;line-height:1.5;display:flex}.extra-help-example{border:1px solid var(--line);border-radius:14px;margin-top:20px;padding:16px}.extra-help-example .student-secondary{margin-top:8px}.extra-help-answer{margin:10px 0 0;font-size:13px}@media (width<=640px){.extra-help-nudge{flex-wrap:wrap}.extra-help-card{padding:20px 16px}}.learn-card{padding-top:30px}.learn-word{flex-wrap:wrap;justify-content:center;gap:6px;margin:8px 0 16px;display:flex}.learn-letter{background:var(--purple-soft);min-width:42px;height:54px;color:var(--purple-dark);border-radius:12px;place-items:center;padding:0 6px;font-family:Fraunces,serif;font-size:30px;font-weight:700;transition:transform .15s,background .15s,color .15s;display:grid}.learn-letter.gap,.learn-slot.gap{background:0 0;border-color:#0000;min-width:18px}.learn-letter.whole:not(.gap){background:#ddd6f0}.learn-letter.speaking{background:var(--purple);color:#fff;transform:translateY(-4px)scale(1.08)}.learn-play{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;min-height:42px;margin:0 auto;padding:0 18px;font-size:12px;font-weight:700;display:inline-flex;box-shadow:0 0 0 6px #f0ecf7}.learn-play:hover{background:var(--purple-dark)}.learn-play.playing{animation:1.1s infinite pulse}.learn-play:focus-visible{outline-offset:4px;outline:3px solid #a994e8}.learn-say-prompt{justify-content:center;align-items:center;min-height:46px;margin:18px 0 8px;display:flex}.learn-say{color:#8a5a1c;background:#fdf3e2;border-radius:12px;align-items:center;gap:7px;padding:9px 14px;font-size:13px;animation:.25s learn-pop;display:inline-flex}.learn-say strong{font-size:16px}.learn-say.done{background:var(--mint);color:#397b5c}.learn-say.oops{color:#92564a;background:#f9e4df}@keyframes learn-pop{0%{opacity:.4;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.practice-card label.learn-blank{cursor:text;justify-content:center;margin:0 0 18px;display:flex;position:relative}.learn-slots{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.learn-slot{min-width:42px;height:54px;color:var(--ink);background:#fbfaf9;border:0;border-bottom:3px solid #cfc8e2;border-radius:6px 6px 0 0;place-items:center;padding:0 6px;font-family:Fraunces,serif;font-size:30px;font-weight:700;display:grid}.learn-slot.right{border-bottom-color:var(--green);color:var(--green);background:#f1f8f4}.learn-slot.wrong{border-bottom-color:var(--coral);color:var(--coral);background:#fbeee9}.learn-blank:focus-within .learn-slot.next{border-bottom-color:var(--purple);background:var(--purple-soft);animation:1s step-end infinite learn-caret}@keyframes learn-caret{50%{border-bottom-color:#cfc8e2}}.practice-card input.learn-input{opacity:0;cursor:text;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.learn-actions{justify-content:space-between;gap:9px;display:flex}.learn-note{color:var(--muted);margin:10px 0 0;font-size:11px}.learn-error{max-width:580px;margin:-50px auto 0}@media (width<=760px){.learn-letter,.learn-slot{min-width:32px;height:44px;font-size:23px}.learn-word,.learn-slots{gap:4px}}.collapsible-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;display:flex}.collapsible-heading h3{margin:0}.collapse-toggle{min-height:32px;font-size:11px}.collapse-toggle svg{transition:transform .15s}.collapse-toggle svg.open{transform:rotate(180deg)}.curriculum-library{border-top:1px solid var(--line);flex-direction:column;gap:14px;margin-top:12px;padding-top:26px;display:flex}.curriculum-grade h3{align-items:center;gap:7px;display:flex}.curriculum-grade-actions{flex-wrap:wrap;gap:8px;display:flex}.curriculum-library-locked{margin-top:12px}.math-lessons h3{align-items:center;gap:7px;display:flex}.math-lessons-toolbar,.math-lessons-domain{justify-content:space-between;align-items:center;gap:10px;display:flex}.math-lessons-toolbar .extra-help-summary{margin:0;font-size:11px}.math-lessons-domain h4{margin:4px 0 6px}.math-lessons-domain .text-button,.math-lessons-toolbar .text-button{white-space:nowrap}.math-lessons-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px;display:grid!important}.math-lessons-list label{border:1px solid var(--line);cursor:pointer;color:var(--muted);border-radius:10px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}.math-lessons-list label.on{color:var(--ink);background:#f2fafb;border-color:#7cc3cc}.math-lessons-list label span{flex:1;min-width:0}.math-lessons-list label small{color:var(--muted);font-size:10px}.math-lessons-list li:first-child{border-top:0}.math-lessons-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px}
