:root{--color-app-background:#f7f8fc;--color-surface:#fff;--color-surface-subtle:#f1f3fa;--color-surface-selected:#eef2ff;--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-primary-strong:#3730a3;--color-on-primary:#fff;--color-text:#1e293b;--color-text-strong:#172033;--color-text-muted:#64748b;--color-border:#d8dee9;--color-border-strong:#b9c2d0;--color-focus:#4f46e5;--color-focus-ring:#4f46e52e;--color-reward:#d97706;--color-reward-hover:#b45309;--color-reward-background:#fff7d6;--color-success:#15803d;--color-success-background:#ecfdf3;--color-danger:#b42318;--color-danger-hover:#8f1d14;--color-danger-background:#fef3f2;--color-overlay:#1720338c;--shadow-card:0 1rem 2.5rem #17203314;color:var(--color-text);background:var(--color-app-background);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}a{color:inherit}.app-shell{grid-template:"header header"4.5rem"sidebar content"1fr/15rem 1fr;min-height:100vh;display:grid}.app-header{color:var(--color-on-primary);background:var(--color-primary-strong);grid-area:header;justify-content:space-between;align-items:center;gap:1rem;padding:0 2rem;display:flex}.brand{color:inherit;align-items:center;gap:.75rem;font-size:1.1rem;font-weight:750;text-decoration:none;display:inline-flex}.brand-mark{width:2.25rem;height:2.25rem;color:var(--color-on-primary);flex:none}.account-menu{color:var(--color-surface-selected);align-items:center;gap:.75rem;font-size:.9rem;display:flex}.active-student{color:var(--color-surface-selected);align-items:center;gap:.65rem;margin-left:auto;font-size:.85rem;display:flex}.active-student a{color:var(--color-on-primary);border:1px solid #ffffff47;border-radius:.4rem;padding:.25rem .45rem;font-size:.75rem;font-weight:750;text-decoration:none}.account-menu button{color:var(--color-on-primary);cursor:pointer;background:0 0;border:1px solid #ffffff59;border-radius:.55rem;padding:.55rem .8rem}.account-menu button:hover{background:#ffffff1a}.app-sidebar{border-right:1px solid var(--color-border);background:var(--color-surface-subtle);grid-area:sidebar;padding:2rem 1rem}.app-sidebar nav{gap:.35rem;display:grid}.app-sidebar a{color:var(--color-text-strong);border-radius:.65rem;padding:.8rem 1rem;font-weight:650;text-decoration:none}.app-sidebar a:hover,.app-sidebar a.active{color:var(--color-text-strong);background:var(--color-surface-selected)}.app-sidebar a:focus-visible,.brand:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.app-content{grid-area:content;padding:clamp(1.25rem,3vw,2.5rem)}.page{width:min(56rem,100%);margin:0 auto}.eyebrow{color:var(--color-primary);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .75rem;font-size:.78rem;font-weight:800}h1{max-width:24ch;color:var(--color-text-strong);margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.85rem,3.5vw,3rem);line-height:1.1}.page-intro{max-width:42rem;color:var(--color-text-strong);margin:1.25rem 0 2.5rem;font-size:1.1rem;line-height:1.7}.empty-card{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-card);border-radius:1rem;padding:clamp(1.5rem,4vw,2.5rem)}.empty-card h2{color:var(--color-text-strong);margin-top:0}.empty-card p{color:var(--color-text-muted);margin-bottom:0}.dashboard{width:min(76rem,100%);margin:0 auto}.dashboard-heading,.section-heading{justify-content:space-between;align-items:flex-end;gap:2rem;display:flex}.dashboard-heading>div:first-child>p:last-child{color:var(--color-text-muted);margin:.8rem 0 0;font-size:1.1rem}.dashboard-actions{justify-content:flex-end}.today-assignment{border:1px solid var(--color-border);background:linear-gradient(135deg, var(--color-surface-selected), var(--color-surface));border-radius:1rem;justify-content:space-between;align-items:center;gap:1.25rem;margin-top:1.5rem;padding:clamp(1.15rem,3vw,1.75rem);display:flex}.today-assignment h2{color:var(--color-text-strong);margin:0;font-size:clamp(1.35rem,2.5vw,2rem)}.today-assignment>div:first-child>p:last-child{color:var(--color-text-muted);margin:.45rem 0 0}.today-assignment-actions{align-items:center;gap:.65rem;display:flex}.assignment-menu{position:relative}.assignment-menu summary{border:1px solid var(--color-border-strong);color:var(--color-text-strong);cursor:pointer;border-radius:.6rem;padding:.65rem .9rem;font-weight:750;list-style:none}.assignment-menu summary::-webkit-details-marker{display:none}.assignment-menu>div{z-index:2;border:1px solid var(--color-border);background:var(--color-surface);width:12rem;box-shadow:var(--shadow-card);border-radius:.6rem;margin-top:.4rem;padding:.4rem;display:grid;position:absolute;right:0}.assignment-menu a{color:var(--color-text-strong);border-radius:.4rem;padding:.6rem;text-decoration:none}.assignment-menu a:hover{background:var(--color-surface-selected)}.today-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.today-content{margin-top:1.25rem}.today-content .assignment-card{width:100%}.page-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-heading>div>p:last-child{max-width:40rem;color:var(--color-text-muted);line-height:1.6}.rewards-page{width:min(72rem,100%);margin:0 auto}.reward-total{border:1px solid var(--color-reward);min-width:8rem;color:var(--color-reward-hover);background:var(--color-reward-background);border-radius:1rem;place-items:center;padding:1rem;display:grid}.reward-total>span{font-size:1.5rem}.reward-total strong{font-size:1.8rem}.reward-total small{color:var(--color-reward-hover);font-weight:700}.reward-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1rem;margin-top:1.5rem;display:grid}.reward-badge{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:.9rem;align-items:flex-start;gap:1rem;padding:1.25rem;display:flex}.reward-badge-icon,.rewards-empty>span{width:3rem;height:3rem;color:var(--color-reward-hover);background:var(--color-reward);border-radius:50%;flex:none;place-items:center;font-size:1.4rem;display:grid}.reward-badge h2,.rewards-empty h2{color:var(--color-text-strong);margin:0}.reward-badge p:last-child,.rewards-empty p{color:var(--color-text-muted);line-height:1.5}.rewards-empty{border:1px dashed var(--color-border-strong);text-align:center;background:var(--color-surface);border-radius:1rem;place-items:center;margin-top:1.5rem;padding:2rem;display:grid}.button-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.primary-link,.secondary-link,.secondary-button{border-radius:.6rem;justify-content:center;align-items:center;min-height:2.8rem;padding:.65rem 1rem;font-weight:750;text-decoration:none;display:inline-flex}.primary-link{color:var(--color-on-primary);background:var(--color-primary)}.primary-link:hover{background:var(--color-primary-hover)}.secondary-link,.secondary-button{border:1px solid var(--color-border-strong);color:var(--color-text-strong);background:0 0}.secondary-button{font:inherit;cursor:pointer}.text-link{color:var(--color-primary);font-weight:750}.notice-strip{border:1px solid var(--color-reward);background:var(--color-reward-background);border-radius:.8rem;margin-top:2rem;padding:1.1rem 1.25rem}.notice-strip h2{color:var(--color-reward-hover);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .7rem;font-size:.85rem}.notice-list{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;display:grid}.notice-list article{gap:.2rem;display:grid}.notice-list span,.notice-list p{color:var(--color-reward-hover);margin:0;font-size:.88rem}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.8rem;margin:1.25rem 0;display:grid}.metric{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.8rem;gap:.35rem;padding:1rem 1.1rem;display:grid}.metric span{color:var(--color-text-muted);font-size:.8rem}.metric strong{color:var(--color-text-strong);font-size:1.45rem}.inline-status{border-left:4px solid var(--color-reward);color:var(--color-reward-hover);background:var(--color-reward-background);padding:.75rem 1rem}.assignment-progress{border:1px solid var(--color-border);background:var(--color-surface-selected);border-radius:.8rem;gap:.7rem;margin:0 0 1.25rem;padding:1rem 1.1rem;display:grid}.assignment-progress>div{justify-content:space-between;align-items:center;gap:1rem;display:flex}.assignment-progress span,.completion-label{color:var(--color-text-muted);font-size:.85rem}.assignment-progress progress{width:100%;height:.75rem;accent-color:var(--color-primary)}.dashboard-columns{grid-template-columns:minmax(0,2fr) minmax(16rem,.8fr);gap:1.25rem;display:grid}.assignment-card,.reward-card{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-card);border-radius:1rem;padding:clamp(1.15rem,3vw,1.75rem)}.assignment-card h2,.reward-card h2{color:var(--color-text-strong);margin:0}.assignment-section{margin-top:1.6rem}.assignment-section h3{color:var(--color-text-strong);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .45rem;font-size:.85rem}.item-target{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;min-height:4.25rem;display:flex}.item-target>div:first-child{gap:.2rem;display:grid}.item-target>div:first-child span{color:var(--color-text-muted);font-size:.82rem}.target-progress{align-items:center;gap:.3rem;display:flex}.target-progress>span{border:2px solid var(--color-text-muted);border-radius:50%;width:.85rem;height:.85rem}.target-progress>span.complete{border-color:var(--color-success);background:var(--color-success)}.target-progress b{min-width:2.3rem;color:var(--color-text-strong);margin-left:.35rem;font-size:.85rem}.one-time-state{color:var(--color-text-muted);align-items:center;gap:.4rem;font-size:.85rem;font-weight:750;display:inline-flex}.one-time-state.complete{color:var(--color-success)}.achievement-list{gap:.8rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.achievement-list li{border-top:1px solid var(--color-border);gap:.75rem;padding-top:.8rem;display:flex}.achievement-list li>span{color:var(--color-reward);font-size:1.3rem}.achievement-list p{color:var(--color-text-muted);margin:.25rem 0 0;font-size:.85rem;line-height:1.4}.achievement-list time{color:var(--color-text-muted);margin-top:.35rem;font-size:.75rem;display:block}.dashboard-loading,.dashboard-message{flex-direction:column;justify-content:center;width:min(56rem,100%);min-height:60vh;margin:0 auto;display:flex}.dashboard-loading{color:var(--color-text-strong)}.dashboard-message>p:not(.eyebrow){max-width:42rem;color:var(--color-text-muted);font-size:1.1rem;line-height:1.7}.upload-status{z-index:3;border:1px solid var(--color-border-strong);width:min(24rem,100vw - 2rem);color:var(--color-text-strong);background:var(--color-surface);box-shadow:var(--shadow-card);border-radius:.7rem;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;display:flex;position:fixed;bottom:1rem;right:1rem}.upload-status>div{flex:1;gap:.4rem;display:grid}.upload-status progress{width:100%;accent-color:var(--color-primary)}.upload-status.failed{border-color:var(--color-danger)}.upload-status button{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:0;font-weight:750}.authoring-page{width:min(78rem,100%);margin:0 auto}.authoring-heading{justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:1.5rem;display:flex}.authoring-heading h1{max-width:24ch;font-size:clamp(1.75rem,3vw,2.6rem)}.authoring-heading>div>p:last-child{max-width:48rem;color:var(--color-text-muted);line-height:1.65}.authoring-note{border-left:4px solid var(--color-primary);color:var(--color-text-strong);background:var(--color-surface-selected);margin-bottom:1rem;padding:.9rem 1rem}.authoring-layout{grid-template-columns:minmax(0,1fr) 18rem;gap:1.25rem;display:grid}.authoring-form{gap:1rem;display:grid}.students-page{gap:1.25rem;max-width:72rem;margin:0 auto;display:grid}.student-create-page{gap:1.25rem;max-width:52rem;margin:0 auto;display:grid}.student-create-page .back-link{width:fit-content;color:var(--color-primary);font-weight:700;text-decoration:none}.student-create-page .back-link:hover{text-decoration:underline}.student-create-page .page-heading p:last-child{max-width:42rem}.students-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.students-heading h1{color:var(--color-text-strong);margin:.15rem 0 .35rem}.students-heading p:last-child{max-width:42rem;color:var(--color-text-muted);margin:0}.student-form{max-width:48rem}.student-form-actions,.student-card-actions{justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.student-form-actions{margin-top:1rem}.students-heading .primary-button,.student-form-actions .primary-button,.students-empty .primary-button{width:auto;margin-top:0;padding:.65rem 1rem}.student-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1rem;display:grid}.student-card,.students-empty{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.9rem;padding:1.25rem}.student-card.selected{border-color:var(--color-primary);box-shadow:0 0 0 2px #4f46e529}.student-card h2,.students-empty h2{color:var(--color-text-strong);margin:.15rem 0 .8rem}.student-card dl{gap:.65rem;margin:0 0 1rem;display:grid}.student-card dl div{justify-content:space-between;gap:1rem;display:flex}.student-card dt{color:var(--color-text-muted)}.student-card dd{color:var(--color-text-strong);text-align:right;margin:0;font-weight:700}.students-empty{text-align:center}.students-empty p,.students-status{color:var(--color-text-muted)}.form-card,.authoring-summary{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.9rem;padding:clamp(1.15rem,3vw,1.75rem)}.form-card h2,.authoring-summary h2{color:var(--color-text-strong);margin:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.form-grid label{color:var(--color-text-strong);align-content:start;gap:.4rem;font-size:.88rem;font-weight:720;display:grid}.form-grid label>span{color:var(--color-text-muted);font-weight:500}.wide-field{grid-column:1/-1}.form-card input,.form-card select,.form-card textarea{border:1px solid var(--color-border-strong);width:100%;min-height:2.75rem;color:var(--color-text-strong);background:var(--color-surface);font:inherit;border-radius:.5rem;padding:.65rem .75rem}.form-card textarea{resize:vertical}.form-card input:focus,.form-card select:focus,.form-card textarea:focus{border-color:var(--color-primary);outline:3px solid var(--color-focus-ring)}.form-card input[readonly]{color:var(--color-text-muted);background:var(--color-surface-subtle)}.field-help{color:var(--color-text-muted);margin:.75rem 0 0;font-size:.83rem;line-height:1.5}.form-section-heading,.resource-heading,.editor-actions{justify-content:space-between;align-items:center;gap:1rem;display:flex}.nested-editor{border:1px solid var(--color-border);border-radius:.7rem;margin:1rem 0 0;padding:1rem;position:relative}.nested-editor legend{color:var(--color-text-strong);letter-spacing:.06em;text-transform:uppercase;padding:0 .4rem;font-size:.82rem;font-weight:800}.editor-actions{justify-content:flex-end;margin-bottom:.8rem}.move-buttons{gap:.25rem;display:inline-flex}.move-buttons button,.resource-heading button{border:1px solid var(--color-border-strong);min-width:2rem;min-height:2rem;color:var(--color-text-strong);background:var(--color-surface);cursor:pointer;border-radius:.4rem}.move-buttons button:disabled{cursor:default;opacity:.35}.danger-link,.retry-button{color:var(--color-danger);font:inherit;cursor:pointer;background:0 0;border:0;font-size:.84rem;font-weight:700}.danger-link:hover,.retry-button:hover{color:var(--color-danger-hover)}.retry-button{margin-top:.6rem;padding:0;text-decoration:underline;display:block}.item-editor-list{gap:.75rem;display:grid}.item-editor{background:var(--color-surface-subtle)}.resource-editor{border-top:1px solid var(--color-border);margin-top:1rem;padding-top:1rem}.resource-heading button{padding:.3rem .55rem;font-size:.78rem}.resource-row{grid-template-columns:6rem minmax(8rem,.7fr) minmax(10rem,1fr) auto auto;align-items:center;gap:.5rem;margin-top:.65rem;display:grid}.existing-upload{gap:.35rem;display:grid}.existing-upload span{color:var(--color-text-muted);font-size:.78rem}.resource-kind{color:var(--color-text-muted);text-transform:capitalize;font-size:.75rem;font-weight:750}.authoring-summary{height:fit-content;position:sticky;top:1rem}.authoring-summary dl{gap:.6rem;display:grid}.authoring-summary dl>div{border-bottom:1px solid var(--color-border);justify-content:space-between;padding-bottom:.5rem;display:flex}.authoring-summary dt{color:var(--color-text-muted)}.authoring-summary dd{color:var(--color-text-strong);margin:0;font-weight:800}.action-button,.authoring-summary .primary-button{width:100%;margin-top:.65rem}.authoring-loading{min-height:60vh;color:var(--color-text-strong);place-content:center;display:grid}.practice-player{width:min(82rem,100%);margin:0 auto}.practice-heading{justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:1rem;display:flex}.practice-heading>div>p:last-child{color:var(--color-text-muted)}.practice-notices{border:1px solid var(--color-reward);background:var(--color-reward-background);border-radius:.7rem;margin-bottom:1rem;padding:.8rem 1rem}.practice-notices summary{color:var(--color-reward-hover);cursor:pointer;font-weight:750}.practice-notices article{gap:.2rem;margin-top:.75rem;display:grid}.practice-notices article span,.practice-notices article p{color:var(--color-reward-hover);margin:0;font-size:.86rem}.practice-layout{grid-template-columns:16rem minmax(0,1fr);gap:1rem;display:grid}.practice-outline{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.8rem;align-self:start;padding:.8rem}.practice-outline section+section{margin-top:1rem}.practice-outline h2{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .35rem;padding:0 .45rem;font-size:.75rem}.practice-outline button{width:100%;min-height:2.8rem;color:var(--color-text-strong);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.5rem;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .65rem;display:flex}.practice-outline button:hover,.practice-outline button.selected{color:var(--color-text-strong);background:var(--color-surface-selected)}.practice-outline button small{color:var(--color-text-muted);white-space:nowrap}.item-workspace{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-card);border-radius:.9rem;padding:clamp(1.15rem,3vw,2rem)}.item-workspace>header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.item-workspace h2{color:var(--color-text-strong);margin:0;font-size:clamp(1.6rem,4vw,2.5rem)}.due-date{color:var(--color-reward-hover);background:var(--color-reward-background);white-space:nowrap;border-radius:10rem;padding:.4rem .6rem;font-size:.8rem}.item-instructions{max-width:58rem;color:var(--color-text-strong);line-height:1.7}.item-instructions a{color:var(--color-primary);font-weight:700}.resource-workspace{border:1px solid var(--color-border);border-radius:.75rem;margin-top:1rem;overflow:hidden}.resource-tabs{background:var(--color-surface-subtle);gap:.35rem;padding:.45rem;display:flex;overflow-x:auto}.resource-tabs button{min-height:2.25rem;color:var(--color-text-strong);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:.45rem;padding:.4rem .75rem;font-size:.84rem}.resource-tabs button[aria-selected=true]{color:var(--color-text-strong);background:var(--color-surface);box-shadow:0 .15rem .5rem #1720331a}.resource-viewer{background:var(--color-surface);min-height:16rem;padding:1rem}.resource-frame,.pdf-viewer,.resource-frame iframe{border:0;width:100%;min-height:min(60vh,34rem)}.audio-player{width:100%;margin-top:3rem}.image-resource{object-fit:contain;width:auto;max-width:100%;max-height:36rem;margin:0 auto;display:block}.external-resource,.resource-state{min-height:14rem;color:var(--color-text-strong);text-align:center;justify-content:center;align-items:center;gap:1rem;display:flex}.external-resource>span{color:var(--color-primary);font-size:2rem}.external-resource p{margin:.2rem 0}.external-resource a,.resource-state a,.resource-state button{color:var(--color-primary);font-weight:750}.resource-state{flex-direction:column}.resource-state button{font:inherit;cursor:pointer;background:0 0;border:0;text-decoration:underline}.practice-tools{grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1rem;display:grid}.metronome,.session-timer{border:1px solid var(--color-border);background:var(--color-surface-subtle);border-radius:.7rem;gap:.65rem;padding:1rem;display:grid}.metronome>div,.session-timer{align-content:start}.metronome>div,.session-timer>div:first-child{justify-content:space-between;display:flex}.tool-label{color:var(--color-text-muted);font-size:.8rem;font-weight:720}.session-timer>strong{color:var(--color-text-strong);font-variant-numeric:tabular-nums;font-size:clamp(2rem,6vw,3.75rem)}.tool-button{border:1px solid var(--color-border-strong);min-height:2.5rem;color:var(--color-text-strong);background:var(--color-surface);font:inherit;cursor:pointer;border-radius:.5rem;padding:.45rem .75rem;font-weight:700}.practice-note{color:var(--color-text-strong);grid-column:1/-1;gap:.4rem;font-size:.85rem;font-weight:700;display:grid}.practice-note span{color:var(--color-text-muted);font-weight:500}.practice-note textarea{border:1px solid var(--color-border-strong);font:inherit;resize:vertical;border-radius:.5rem;padding:.65rem}.finish-button{min-height:3rem;color:var(--color-on-primary);background:var(--color-primary);font:inherit;cursor:pointer;border:0;border-radius:.6rem;grid-column:1/-1;font-weight:800}.finish-button:disabled,.tool-button:disabled{cursor:default;opacity:.5}.one-time-action{border:1px solid var(--color-border);background:var(--color-surface-selected);border-radius:.7rem;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:1rem;display:flex}.one-time-action p{color:var(--color-text-muted);margin:.25rem 0 0}.one-time-action button.primary-link{font:inherit;cursor:pointer;border:0}.practice-message{border-left:4px solid var(--color-primary);color:var(--color-text-strong);background:var(--color-surface-selected);padding:.8rem 1rem}.achievement-toast{z-index:4;border:1px solid var(--color-reward);width:min(25rem,100vw - 2rem);color:var(--color-reward-hover);background:var(--color-reward-background);box-shadow:var(--shadow-card);border-radius:.8rem;align-items:flex-start;gap:.8rem;padding:1rem;display:flex;position:fixed;bottom:1rem;right:1rem}.achievement-toast>span{font-size:1.5rem}.achievement-toast p{margin:.2rem 0 0;font-size:.86rem}.achievement-toast button{color:var(--color-reward-hover);cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:1.2rem}.visually-hidden{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.session-loading{min-height:100vh;color:var(--color-text-strong);background:var(--color-surface-subtle);place-content:center;justify-items:center;display:grid}.loading-note{width:3rem;height:3rem;color:var(--color-primary-strong)}.login-page{background:radial-gradient(circle at top, var(--color-surface-selected), transparent 42%), var(--color-app-background);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-panel{border:1px solid var(--color-border);background:var(--color-surface);width:min(30rem,100%);box-shadow:var(--shadow-card);border-radius:1rem;padding:clamp(2rem,6vw,3rem)}.login-panel form{width:100%}.login-mark{width:2.35rem;height:2.35rem;color:var(--color-primary);opacity:.72;margin:0 auto .75rem;display:block}.login-panel h2{color:var(--color-text-strong);text-align:center;margin:0 0 2rem;font-family:Georgia,Times New Roman,serif;font-size:2.4rem}.login-panel label{color:var(--color-text-strong);margin:1.15rem 0 .45rem;font-size:.9rem;font-weight:750;display:block}.login-panel input{border:1px solid var(--color-border-strong);width:100%;min-height:2.9rem;color:var(--color-text-strong);background:var(--color-surface);font:inherit;border-radius:.55rem;padding:.7rem .8rem}.login-panel input:focus{border-color:var(--color-primary);outline:3px solid var(--color-focus-ring)}.login-panel input[aria-invalid=true]{border-color:var(--color-danger)}.field-error{color:var(--color-danger);margin-top:.4rem;font-size:.85rem;display:block}.form-alert{border-left:4px solid var(--color-danger);color:var(--color-danger);background:var(--color-danger-background);border-radius:.35rem;margin:1.25rem 0;padding:.8rem 1rem}.primary-button{width:100%;min-height:3rem;color:var(--color-on-primary);background:var(--color-primary);font:inherit;cursor:pointer;border:0;border-radius:.6rem;margin-top:1.75rem;font-weight:750}.primary-button:hover:not(:disabled){background:var(--color-primary-hover)}.primary-button:disabled{cursor:wait;opacity:.7}@media (width<=700px){.app-shell{grid-template:"header"4rem"content"1fr"sidebar"/1fr}.app-header{padding:0 1rem}.active-student{display:none}.account-menu span{text-overflow:ellipsis;white-space:nowrap;max-width:9rem;overflow:hidden}.app-sidebar{z-index:1;border-top:1px solid var(--color-border);border-right:0;padding:.5rem;position:sticky;bottom:0}.app-sidebar nav{grid-template-columns:repeat(auto-fit,minmax(5rem,1fr));display:grid}.app-sidebar a{text-align:center;padding:.65rem .25rem;font-size:.78rem}}@media (width<=950px){.dashboard-heading,.section-heading,.page-heading{flex-direction:column;align-items:flex-start}.dashboard-actions{justify-content:flex-start}.metric-grid{grid-template-columns:repeat(2,1fr)}.today-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-columns,.authoring-layout{grid-template-columns:1fr}.authoring-summary{order:-1;position:static}.practice-layout{grid-template-columns:1fr}.practice-outline{gap:1rem;display:flex;overflow-x:auto}.practice-outline section{min-width:13rem}.practice-outline section+section{margin-top:0}}@media (width<=480px){.assignment-progress>div,.item-target{flex-direction:column;align-items:flex-start}.brand>span:last-child,.account-menu span{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.metric-grid{grid-template-columns:1fr 1fr}.item-target{flex-direction:column;align-items:flex-start;padding:.85rem 0}.authoring-heading,.students-heading,.today-assignment,.form-section-heading,.resource-heading{flex-direction:column;align-items:flex-start}.today-assignment{align-items:stretch}.today-assignment-actions{justify-content:space-between}.form-grid,.resource-row{grid-template-columns:1fr}.wide-field{grid-column:auto}.practice-heading,.item-workspace>header,.one-time-action{flex-direction:column;align-items:flex-start}.practice-tools{grid-template-columns:1fr}.practice-note,.finish-button{grid-column:auto}.student-card-actions,.student-form-actions{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
