:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--warning:#b45309;--warning-bg:#d977061f;--past-bg:#6b637512;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--warning:#fbbf24;--warning-bg:#fbbf2426;--past-bg:#ffffff0d;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-.96px;margin:16px 0;font-size:32px}@media (width<=1024px){h1{margin:12px 0;font-size:26px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code{font-family:var(--mono);color:var(--text-h);background:var(--code-bg);border-radius:4px;padding:4px 8px;font-size:15px;line-height:135%;display:inline-flex}.page{text-align:left;max-width:800px;margin:0 auto;padding:24px 20px 64px}.page-header,.section-header{justify-content:space-between;align-items:center;gap:16px;margin:24px 0 16px;display:flex}.student-form,.note-form,.lesson-plan-form,.admin-access-form{flex-direction:column;gap:12px;max-width:480px;margin:16px 0;display:flex}.student-form label,.lesson-plan-form label,.admin-access-form label{flex-direction:column;gap:4px;font-size:14px;display:flex}.admin-access-form .checkbox-label{flex-direction:row;align-items:center}.library-section,.dashboard-page section+section{margin-top:32px}.checkbox-group{border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 12px;padding:8px 12px 12px;font-size:14px;display:grid}.student-form .checkbox-group label{flex-direction:row;align-items:center;gap:6px}.weakness-suggestions{margin-top:16px}.suggestion-list{flex-direction:column;gap:10px;max-width:640px;display:flex}.suggestion-list label{align-items:flex-start;gap:8px;display:flex}.suggestion-list input{margin-top:4px}.student-profile-summary p{margin:4px 0}.note-list{flex-direction:column;gap:12px;padding:0;list-style:none;display:flex}.note-list li{border:1px solid var(--border);border-radius:8px;padding:12px}.note-meta{opacity:.7;justify-content:space-between;margin-top:8px;font-size:12px;display:flex}.lesson-history-list{flex-direction:column;gap:12px;padding:0;list-style:none;display:flex}.lesson-history-list li{border:1px solid var(--border);border-radius:8px;padding:12px}.student-overview{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.overview-reminder{opacity:.7;grid-column:1/-1;margin:0}.overview-card{border:1px solid var(--border);border-radius:8px;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;display:flex}.overview-card h2{margin:0;font-size:16px}.overview-card p{margin:0}.student-notes{align-items:stretch;margin-top:16px}.student-notes textarea{box-sizing:border-box;resize:vertical;width:100%}.overview-covered{white-space:pre-wrap;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}.overview-list{flex-direction:column;gap:6px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.lesson-timeline{flex-direction:column;gap:16px;margin:16px 0;padding:0;list-style:none;display:flex}.lesson-entry{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:12px;padding:16px;display:flex}.lesson-entry>header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px;display:flex}.lesson-entry-actions{flex-wrap:wrap;gap:8px;display:flex}.lesson-entry .class-log-item{background:var(--social-bg)}.lesson-history-meta{justify-content:space-between;align-items:center;margin-top:8px;font-size:13px;display:flex}.todo-list{border:1px solid var(--border);border-radius:8px;flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.todo-list li{justify-content:space-between;align-items:center;gap:12px;min-height:40px;padding:10px 12px;display:flex}.todo-list li+li{border-top:1px solid var(--border)}.todo-text{flex:1;min-width:0}.lesson-plan-meta{opacity:.7;font-size:14px}.raw-markdown{white-space:pre-wrap;font-family:inherit}.empty-state{opacity:.7}.error-text{color:#d33}button.danger{color:#d33;background:0 0;border:1px solid #d33}.tab-navigation{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.tab-navigation button{color:var(--text);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:8px 16px;font-weight:500}.tab-navigation button.active{color:var(--accent);border-bottom-color:var(--accent)}.class-log-form{background:var(--social-bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:12px;padding:16px;display:flex}.class-log-form .form-group{text-align:left;flex-direction:column;gap:4px;font-size:14px;display:flex}.class-log-form textarea,.class-log-form input,.class-log-form select{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:4px;padding:8px;font-family:inherit;font-size:14px}.lesson-log-section{margin:16px 0 24px}.class-log-list{flex-direction:column;gap:16px;padding:0;list-style:none;display:flex}.class-log-item{border:1px solid var(--border);text-align:left;border-radius:8px;padding:16px}.class-log-item header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.edit-btn,.delete-btn{color:#d33;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:12px}.edit-btn{color:var(--accent)}.log-content p{white-space:pre-wrap;margin:8px 0;font-size:14px;line-height:1.5}.main-navigation-bar{z-index:10;background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0}.main-navigation{flex-wrap:wrap;justify-content:center;gap:16px;padding:16px 20px;display:flex}.generation-notices{flex-direction:column;align-items:center;gap:6px;margin:0;padding:0 20px 10px;font-size:14px;list-style:none;display:flex}.generation-notice{border:1px solid var(--border);border-radius:6px;align-items:center;gap:10px;max-width:100%;padding:6px 12px;display:flex}.generation-notice.done{background:var(--accent-bg);border-color:var(--accent-border)}.generation-notice.failed,.generation-notice.not-kept{border-color:#d33}.calendar-notice{border:1px solid #d33;border-radius:6px;padding:8px 12px;display:block}.generation-notices.in-page{align-items:flex-start;padding:0 0 10px}.generation-notice .notice-dismiss{cursor:pointer;color:inherit;background:0 0;border:none;padding:0 6px;font-size:16px;line-height:1}.main-navigation a{color:var(--text);border-radius:6px;padding:8px 12px;font-weight:500;text-decoration:none;transition:all .2s}.main-navigation a:hover{background:var(--social-bg)}.main-navigation a.active{background:var(--accent-bg);color:var(--accent)}.template-grid{flex-direction:column;gap:16px;display:flex}.template-card{border:1px solid var(--border);background:var(--bg);border-radius:8px;padding:16px}.template-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.template-card-header h3{margin:0}.template-actions{gap:8px;display:flex}.template-desc{margin-bottom:8px;font-size:14px}.template-meta{opacity:.7;font-size:13px}.template-editor{flex-direction:column;gap:20px;display:flex}.template-sections{background:var(--social-bg);border:1px solid var(--border);border-radius:8px;padding:16px}.section-card{background:var(--bg);border:1px solid var(--border);border-radius:6px;margin-bottom:16px;padding:16px}.section-header{justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:600;display:flex}.section-actions{gap:4px;display:flex}.section-actions button{padding:4px 8px;font-size:14px}.template-editor .form-group{text-align:left;flex-direction:column;gap:6px;font-size:14px;display:flex}.template-editor .form-group label{flex-direction:column;gap:4px;display:flex}.template-editor textarea{box-sizing:border-box;width:100%;font-family:inherit}.list-editor-row{gap:8px;display:flex}.list-editor-row input{flex:1}.status-badge{border:1px solid var(--border);vertical-align:middle;border-radius:999px;padding:2px 8px;font-size:12px;display:inline-block}.status-badge.taught{background:var(--accent-bg);color:var(--accent);border-color:#0000}.activity-regenerate{flex-wrap:wrap;gap:8px;margin:4px 0 12px;display:flex}.activity-regenerate input{flex:1;min-width:200px}.activity-labels{opacity:.75;margin:4px 0;font-size:.85rem}.activity-bank{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 8px;display:flex}.activity-bank-status{background:var(--accent-bg);color:var(--accent);border-radius:999px;padding:2px 10px;font-size:.85rem}.activity-bank .error-text{flex-basis:100%;margin:0}.form-group.row{flex-direction:row;align-items:flex-end}.form-group.row label{flex:1}.form-group.row label:last-child{flex:none}.form-actions{justify-content:flex-end;gap:12px;margin-top:16px;display:flex}.exercise-layout{grid-template-columns:260px 1fr;align-items:start;gap:24px;display:grid}@media (width<=700px){.exercise-layout{grid-template-columns:1fr}}.exercise-form-panel{position:sticky;top:80px}.exercise-form{background:var(--social-bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:12px;padding:16px;display:flex}.exercise-form label{text-align:left;flex-direction:column;gap:4px;font-size:14px;display:flex}.exercise-btn-row{gap:8px;display:flex}.exercise-output-panel{min-height:400px}.exercise-output-header{opacity:.8;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:13px;display:flex}.exercise-save-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;display:flex}.exercise-output{background:var(--social-bg);border:1px solid var(--border);border-radius:8px;margin:0;padding:20px;font-size:14px}.exercise-placeholder{background:var(--social-bg);border:1px dashed var(--border);text-align:center;opacity:.7;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:300px;display:flex}.lesson-calendar{background:var(--social-bg);border:1px solid var(--border);border-radius:8px;margin-bottom:24px;padding:16px 24px}.lesson-calendar h2{margin-top:0}.lesson-calendar h3{margin:16px 0 4px;font-size:16px}.alias-row{flex-wrap:wrap;align-items:center}.alias-row>span{flex:1;min-width:140px}.alias-row select{max-width:100%}.utilities-layout{grid-template-columns:220px 1fr;align-items:start;gap:24px;display:grid}@media (width<=700px){.utilities-layout{grid-template-columns:1fr}}.utilities-nav{flex-direction:column;gap:4px;display:flex;position:sticky;top:80px}.utilities-nav button{text-align:left;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:10px 12px;font-size:14px;transition:all .15s}.utilities-nav button:hover{background:var(--social-bg)}.utilities-nav button.active{background:var(--accent-bg);color:var(--accent);font-weight:600}.utilities-content{background:var(--social-bg);border:1px solid var(--border);border-radius:8px;padding:24px}.utilities-markdown{font-size:14px}.homework-content-container{background:var(--social-bg);border:1px solid var(--border);border-radius:8px;margin:16px 0;padding:20px}.homework-marking-section{border-top:1px solid var(--border);margin-top:24px;padding-top:24px}.homework-marking-section textarea{border:1px solid var(--border);background:var(--bg);color:var(--text-h);box-sizing:border-box;border-radius:4px;width:100%;padding:8px;font-family:inherit;font-size:14px}.answer-key-section h2{color:var(--accent)}.marking-row{align-items:flex-start;gap:12px;min-inline-size:0;margin-inline:0;display:flex}.marking-row>.student-form{flex:1}.markdown{color:var(--text-h);overflow-wrap:anywhere;font-size:15px;line-height:1.6}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p,.markdown ul,.markdown ol,.markdown blockquote,.markdown table{margin:0 0 10px}.markdown ul,.markdown ol{padding-left:22px}.markdown li+li{margin-top:4px}.markdown li>p{margin:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4{margin:20px 0 8px;line-height:1.25}.markdown h1{font-size:24px}.markdown h2{font-size:20px}.markdown h3{font-size:17px}.markdown h4{font-size:15px}.markdown blockquote{border-left:3px solid var(--accent-border);opacity:.9;padding:2px 12px}.markdown code{background:var(--social-bg);border-radius:4px;padding:1px 4px;font-size:.9em}.markdown table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.markdown th,.markdown td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:6px 10px}.markdown th{background:var(--social-bg)}.lesson-plan-view{text-align:left;flex-direction:column;gap:24px;display:flex}.lesson-plan-view h2{margin:0 0 10px;font-size:20px}.plan-list{margin:0;padding-left:22px}.plan-list li+li{margin-top:6px}.why-this-plan-cite{white-space:pre-line}.activity-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.activity-card{border:1px solid var(--border);border-radius:8px;padding:14px 16px}.activity-card-header{align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.activity-number{background:var(--accent-bg);width:24px;height:24px;color:var(--accent);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:inline-flex}.activity-card-header h3{flex:1;margin:0;font-size:16px}.duration-pill{border:1px solid var(--border);white-space:nowrap;border-radius:999px;flex:none;padding:2px 8px;font-size:12px}.activity-card .secondary-btn{margin-top:10px}.lesson-plan-view h2 .duration-pill{vertical-align:middle;font-weight:400}.activity-answer-key{background:var(--accent-bg);border-radius:6px;margin-top:10px;padding:8px 12px}.activity-answer-key summary{cursor:pointer;font-weight:500}.activity-student-material{border:1px dashed var(--accent-border);border-radius:6px;margin-top:10px;padding:8px 12px}.activity-student-material h4{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);margin:0 0 4px;font-size:13px}.answer-check{margin-top:10px;font-size:15px}.answer-check-status{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.activity-card .answer-check .secondary-btn{margin-top:0}.answer-check.has-issues .answer-check-status{color:#b45309;font-weight:500}.answer-check-issue{border:1px solid #f59e0b;border-radius:6px;flex-direction:column;gap:6px;margin-top:8px;padding:8px 12px;display:flex}.answer-check-issue p{margin:0}.answer-check-suggestion{grid-template-columns:auto 1fr;align-items:baseline;gap:2px 8px;display:grid}.answer-check-suggestion .markdown p{margin:0}.answer-check-fix{align-items:center;gap:8px;margin-top:8px;display:flex}.answer-check-fix input{width:70px}.table-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.table-filters input[type=search]{flex:220px;min-width:0}.table-scroll{border:1px solid var(--border);border-radius:8px;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.data-table th,.data-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:10px 12px}.data-table th{white-space:nowrap;background:var(--social-bg);font-weight:600}.data-table td:nth-child(n+3){white-space:nowrap}.data-table td:first-child{min-width:200px}.data-table tbody tr:last-child td{border-bottom:none}.sort-button{color:inherit;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0}.students-table td{white-space:normal}.students-table td:first-child{min-width:140px}.students-table .status-badge{margin-top:4px;display:table}.sort-button{font:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.sort-indicator{min-width:10px;font-size:10px}.student-danger-zone{border-top:1px solid var(--border);margin-top:32px;padding-top:16px}.table-subtext{opacity:.75;margin-top:2px;font-size:12px;display:block}.assign-row td{background:var(--social-bg);white-space:normal}.assign-lesson-form{flex-wrap:wrap;align-items:flex-end;gap:12px 16px;display:flex}.assign-lesson-form>label{flex-direction:column;gap:4px;display:flex}.assign-mode{border:none;flex-direction:column;flex:280px;gap:6px;margin:0;padding:0;display:flex}.assign-mode legend{margin-bottom:4px;padding:0}.assign-mode label{align-items:flex-start;gap:6px;display:flex}.assign-mode-option{font-weight:bolder}.assign-mode-option small{font-weight:400}.assign-lesson-form .form-actions,.assign-lesson-form>p{flex-basis:100%;margin:0}.student-link-panel{border-top:1px solid var(--border);max-width:720px;margin-top:32px;padding-top:16px}.student-link-panel h3{margin:0 0 6px}.student-link-panel .list-editor-row{flex-wrap:wrap;margin:12px 0}.student-link-panel input{min-width:240px}.share-page{text-align:left;max-width:760px;margin:0 auto}.share-header{margin-bottom:24px}.share-header h1{margin-bottom:4px}.share-lesson{border:1px solid var(--border);border-radius:10px;padding:16px 18px}.share-block{margin-top:14px}.share-block h3{text-transform:uppercase;letter-spacing:.04em;opacity:.7;margin:0 0 4px;font-size:13px}.share-block ul{margin:0;padding-left:20px}.share-text{white-space:pre-wrap;margin:0}.share-review{background:var(--accent-bg);border-radius:8px;padding:10px 12px}.share-review h4{margin:10px 0 4px;font-size:15px}.share-other-homework{margin-top:32px}.share-table td:first-child{white-space:nowrap;min-width:0}.share-table td:nth-child(2){white-space:normal;width:100%}.clickable-row{cursor:pointer}.clickable-row:hover td{background:var(--accent-bg)}.badge-row{flex-wrap:wrap;align-items:center;gap:6px 10px;display:inline-flex}.share-also{margin-top:10px}.share-assignment{margin-top:16px}.share-hand-in{margin-top:20px}.share-hand-in textarea{border:1px solid var(--border);background:var(--bg);color:var(--text-h);box-sizing:border-box;resize:vertical;border-radius:8px;width:100%;margin-top:6px;padding:10px;font-family:inherit;font-size:15px}.share-hand-in-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-top:8px;display:flex}.share-block>h3+.table-scroll{margin-top:6px}.share-reflection{border:1px solid var(--accent-border);background:var(--accent-bg);border-radius:10px;margin:0 0 24px;padding:14px 18px}.share-reflection h2{margin:0 0 2px;font-size:18px}.share-reflection-question p{margin:12px 0 6px}.share-reflection-choices{border:0;flex-wrap:wrap;gap:8px;min-width:0;margin:0;padding:0;display:flex}.share-reflection-choices button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);font-weight:600}.share-reflection .error-text{margin:10px 0 0}.status-badge.overdue{color:#d33;border-color:#d33}.teach-page{text-align:left;padding:16px 20px 40px}.teach-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.next-focus-row{gap:8px;display:flex}.next-focus-row input{flex:1;min-width:0}.share-material+.share-material{margin-top:14px}.share-material h4{margin:4px 0}.language-bank h3{margin:24px 0 8px}.bank-tools{flex-direction:column;gap:8px;margin:12px 0;display:flex}.bank-tools summary{cursor:pointer}.bank-entry-form{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.bank-entry-form input{flex:180px}.bank-entry-form .form-actions{margin-top:0}.bank-extract{margin-top:8px}.bank-extract select{flex:1}.bank-list .lesson-history-meta{flex-wrap:wrap;gap:6px 12px}.bank-mistake{opacity:.6}.share-bank{margin-bottom:24px}.share-bank details summary{cursor:pointer}.share-bank details summary h3{display:inline}.share-bank-group h4{margin:12px 0 4px}.share-block .bank-share-list{margin:6px 0 0;padding-left:20px}.bank-share-list li+li{margin-top:4px}.auth-page{max-width:420px}.auth-google{width:100%;max-width:480px}.auth-divider{margin:16px 0 0;font-size:14px}.auth-error,.save-error{color:#d33;margin:0}.auth-message{margin:0}.button-link{box-sizing:border-box;color:#000;font:-moz-button;font:-webkit-small-control;letter-spacing:normal;text-align:center;cursor:default;background-color:#efefef;border:1px solid #767676;border-radius:2px;padding:2px 7px;text-decoration:none;display:inline-block}.button-link:hover{background-color:#e5e5e5;border-color:#4f4f4f}.button-link:active{background-color:#f5f5f5;border-color:#8d8d8d}@media (prefers-color-scheme:dark){.button-link{color:#fff;background-color:#6b6b6b;border-color:#6b6b6b}.button-link:hover{background-color:#7b7b7b;border-color:#7b7b7b}.button-link:active{background-color:#5b5b5b;border-color:#5b5b5b}}.link-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.save-error{text-align:center;padding:8px 20px}.save-error p{margin:0}.import-banner{border:1px solid var(--accent-border);background:var(--accent-bg);border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;margin:8px 20px;padding:8px 12px;display:flex}.import-banner p{margin:0}.nav-account{align-items:center;gap:8px;font-size:14px;display:flex}.ai-usage{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.ai-usage-label{justify-content:space-between;gap:8px;margin-bottom:6px;display:flex}.ai-usage-bar{background:var(--border);border-radius:4px;height:8px;overflow:hidden}.ai-usage-bar>div{background:var(--accent);height:100%}.ai-usage-row.high .ai-usage-bar>div{background:#d97706}.ai-usage-row.full .ai-usage-bar>div{background:#dc2626}.ai-usage-row .template-meta{margin:6px 0 0}.page-header .template-actions{flex:none;align-items:center}button.primary-action{background:var(--accent);color:#fff;border:1px solid var(--accent);font-weight:600}.back-to-app{border:1px solid var(--accent-border);color:var(--accent);white-space:nowrap;border-radius:6px;padding:6px 12px;font-size:14px;font-weight:500;text-decoration:none}.back-to-app:hover{background:var(--accent-bg)}.more-menu{position:relative}.more-menu summary{cursor:pointer;border:1px solid var(--border);-webkit-user-select:none;user-select:none;border-radius:6px;padding:6px 12px;font-size:15px;list-style:none}.more-menu summary::-webkit-details-marker{display:none}.more-menu summary:after{content:" ▾"}.more-menu-items{z-index:10;background:var(--bg);border:1px solid var(--border);min-width:170px;box-shadow:var(--shadow);border-radius:8px;flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.more-menu-items button{text-align:left;font:inherit;color:var(--text-h);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:8px 10px;font-size:15px}.more-menu-items button:hover:not(:disabled){background:var(--accent-bg)}.more-menu-items button:disabled{opacity:.5;cursor:default}.more-menu-items button.danger{color:#d33;border:none}.plan-next-prompt{border:1px solid var(--accent);text-align:left;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:16px 0;padding:12px 16px;display:flex}.tag-confirm-step{border:1px solid var(--border);text-align:left;border-radius:8px;margin:16px 0;padding:12px 16px}.tag-confirm-step p{margin:0 0 8px}.tag-confirm-step ul{margin:0 0 12px;padding:0;list-style:none}.tag-confirm-step li{border-top:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:6px 0;display:flex}.tag-confirm-step li>div{overflow-wrap:anywhere;min-width:0}.tag-confirm-sentence{color:var(--text);white-space:pre-wrap;display:block}.video-call-frame{background:#000;border:none;width:100%;display:block}.video-call-header{color:var(--text-h);justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-weight:600;display:flex}.share-call-banner{box-sizing:border-box;border:1px solid var(--accent-border);background:var(--accent-bg);width:calc(100% - 32px);max-width:760px;color:var(--text-h);text-align:left;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:16px auto 0;padding:12px 16px;display:flex}.class-notes-page{max-width:900px;margin:0 auto}.class-notes-page.with-video{max-width:1320px}.class-notes-page.with-video .class-notes-body{grid-template-columns:minmax(0,1fr) 400px;grid-template-areas:"main dock";align-items:start;gap:20px;display:grid}.class-notes-main{grid-area:main;min-width:0}.video-call-dock{border:1px solid var(--border);background:var(--bg);border-radius:10px;grid-area:dock;position:sticky;top:12px;overflow:hidden}.video-call-dock .video-call-frame{height:300px}@media (width<=900px){.class-notes-page.with-video .class-notes-body{grid-template-columns:minmax(0,1fr);grid-template-areas:"dock""main";gap:12px}.video-call-dock{position:static}.video-call-dock .video-call-frame{height:240px}}.class-notes-page.with-panel{max-width:1240px}.class-notes-page.with-panel.with-video{max-width:1320px}.class-notes-page.with-panel .class-notes-body{grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:"main side";align-items:start;gap:20px;display:grid}.class-notes-page.with-panel.with-video .class-notes-body{grid-template-columns:minmax(0,1fr) 400px;grid-template-areas:"main side"}.class-notes-side{flex-direction:column;grid-area:side;gap:12px;min-width:0;max-height:calc(100svh - 24px);display:flex;position:sticky;top:12px}.class-notes-side .video-call-dock{flex:none;position:static}.class-notes-panel{border:1px solid var(--border);background:var(--bg);text-align:left;border-radius:10px;flex:auto;grid-area:panel;min-height:0;padding:12px 16px;font-size:15px;overflow-y:auto}.class-notes-panel-block+.class-notes-panel-block{margin-top:16px}.class-notes-panel-block>h2{margin:0 0 8px;font-size:1rem}.class-notes-log .class-log-form{gap:10px;padding:12px}.class-notes-log .form-actions{flex-wrap:wrap;margin-top:4px}.class-log-linked-homework{margin:0;padding-left:18px}.class-notes-log-message{margin:0}.class-notes-key>h3{margin:12px 0 4px;font-size:.95rem}.class-notes-warning{color:var(--text-h);margin:0 0 12px;font-weight:600}.class-notes-insert-list{margin:0;padding:0;list-style:none}.class-notes-insert-list li+li{margin-top:8px}.class-notes-insert-list .template-meta{margin:4px 0 0}.class-notes-insert-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.class-notes-insert-row span{overflow-wrap:anywhere;min-width:0}.class-notes-key .markdown{overflow-x:auto}.class-notes-new{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.class-notes-runs{margin:0 0 12px;padding:0;list-style:none}.class-notes-runs li+li{margin-top:8px}.class-notes-runs .error-text{margin:4px 0 0}.class-notes-dialog{background:var(--bg);width:min(440px,100vw - 32px);max-height:calc(100dvh - 32px);color:inherit;border:none;border-radius:8px;padding:0;overflow-y:auto}.class-notes-dialog::backdrop{background:#00000059}.class-notes-dialog .exercise-form{border:none}.class-notes-dialog h2{text-align:left;margin:0;font-size:1.1rem}.homework-card-node{margin:8px 0}.homework-card{border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--code-bg);max-width:100%;color:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;overflow-wrap:anywhere;border-radius:8px;flex-direction:column;gap:2px;padding:10px 14px;text-decoration:none;display:flex}a.homework-card:hover .homework-card-title{text-decoration:underline}.homework-card.removed{cursor:default;font-style:italic}.homework-card-label{text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.homework-card-title{color:var(--text-h);font-weight:600}.homework-card-due{font-size:.9rem}.ProseMirror-selectednode .homework-card{outline:2px solid var(--accent);outline-offset:2px}.class-notes-dialog .student-form{border:none;margin:0;padding:16px}@media (width<=900px){.class-notes-page.with-panel .class-notes-body{grid-template-columns:minmax(0,1fr);grid-template-areas:"main""panel";gap:12px}.class-notes-page.with-panel.with-video .class-notes-body{grid-template-columns:minmax(0,1fr);grid-template-areas:"dock""main""panel"}.class-notes-side{display:contents}.class-notes-panel{overflow:visible}}.class-notes-title{margin:8px 0 4px;font-size:1.5rem}.class-notes-note{margin:0 0 12px}.class-notes-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.class-notes-text{border:1px solid var(--border);background:var(--bg);min-height:60vh;color:var(--text-h);text-align:left;border-radius:10px;outline:none;padding:16px 20px}.class-notes-text:focus-visible{border-color:var(--accent-border)}.class-notes-text p{margin:0 0 .6em}.class-notes-text .tableWrapper{margin:0 0 .6em;overflow-x:auto}.class-notes-text table{border-collapse:collapse}.class-notes-text th,.class-notes-text td{border:1px solid var(--border);vertical-align:top;padding:4px 8px}.class-notes-text th p,.class-notes-text td p{margin:0}.share-past-notes .class-notes-text{background:0 0;border:none;min-height:0;padding:0}.week-calendar-nav{flex-wrap:wrap;gap:8px;display:flex}.week-calendar-page .page-header{flex-wrap:wrap}.week-calendar-import{margin:0 0 12px;display:block}.week-calendar-import:empty{margin:0}.week-calendar-connect{border:1px solid var(--border);background:var(--bg);box-shadow:var(--shadow);border-radius:8px;margin:0 0 12px;padding:12px}.week-calendar-connect input{max-width:100%}.page.week-calendar-page{max-width:1200px}.week-calendar-day-nav{justify-content:space-between;gap:8px;margin-bottom:8px;display:none}.week-calendar-scroll{--wc-hour:64px;--wc-head:68px;border:1px solid var(--border);touch-action:pan-y;border-radius:8px;max-height:70vh;overflow:hidden auto}.week-calendar-body{display:flex}.week-calendar-axis{flex:none;width:48px}.week-calendar-axis-head{z-index:4;height:var(--wc-head);background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0}.week-calendar-axis-hours{height:calc(24 * var(--wc-hour));position:relative}.week-calendar-axis-hours span{font-variant-numeric:tabular-nums;font-size:11px;line-height:1;position:absolute;right:6px;transform:translateY(-50%)}.week-calendar-axis-hours span:first-child{transform:none}.week-calendar-axis-hours span:last-child{transform:translateY(-100%)}.week-calendar{flex:1;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0;margin:0;padding:0;list-style:none;display:grid}.week-calendar-day{border-left:1px solid var(--border);min-width:0}.week-calendar-head{z-index:4;height:var(--wc-head);box-sizing:border-box;background:var(--bg);border-bottom:1px solid var(--border);padding:6px;position:sticky;top:0;overflow:hidden}.week-calendar-day h2{margin:0;font-size:14px;line-height:1.25}.week-calendar-day.today h2{color:var(--accent)}.week-calendar-day .empty-state{text-align:left;margin:2px 0 0;padding:0;font-size:12px;line-height:1.25}.week-calendar-track{height:calc(24 * var(--wc-hour));background-image:repeating-linear-gradient(to bottom, var(--border) 0 1px, transparent 1px var(--wc-hour));position:relative}.week-calendar-past{background:var(--past-bg);pointer-events:none;position:absolute;top:0;left:0;right:0}.week-calendar-classes{margin:0;padding:0;list-style:none}.week-calendar-class,.week-calendar-continuation{left:calc(var(--lane) / var(--lanes) * 100%);width:calc(100% / var(--lanes));box-sizing:border-box;padding:0 2px;position:absolute}.week-calendar-class.open{z-index:3}.week-calendar-block,.week-calendar-continuation:before{background:var(--accent-bg);border:1px solid var(--accent-border);border-left-width:3px;border-radius:4px}.week-calendar-block{box-sizing:border-box;text-align:left;width:100%;height:100%;font:inherit;color:var(--text-h);cursor:pointer;flex-wrap:wrap;align-content:flex-start;column-gap:4px;margin:0;padding:1px 4px;font-size:12px;line-height:1.25;display:flex;overflow:hidden}.week-calendar-block>span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.week-calendar-student{font-weight:600}.week-calendar-tag{opacity:.75}.week-calendar-continuation{pointer-events:none}.week-calendar-continuation:before{content:"";box-sizing:border-box;border-top-style:dashed;height:100%;display:block}.week-calendar-class.past .week-calendar-block,.week-calendar-continuation.past:before{background:var(--bg);border-color:var(--border);border-left-color:var(--accent-border);color:var(--text)}.week-calendar-class.past .week-calendar-tag{opacity:1}.week-calendar-class.clash .week-calendar-block,.week-calendar-continuation.clash:before{background:var(--warning-bg);border-color:var(--warning);color:var(--text-h)}.week-calendar-class.needs-student .week-calendar-block{background:var(--bg);border-color:var(--warning)}.week-calendar-class.needs-student.past .week-calendar-block{border-color:var(--border);border-left-color:var(--warning)}.week-calendar-class.needs-student.clash .week-calendar-block{background:var(--warning-bg);border-color:var(--warning)}.week-calendar-continuation.needs-student:before{background:var(--bg);border-color:var(--warning)}.week-calendar-continuation.needs-student.past:before{border-color:var(--border);border-left-color:var(--warning)}.week-calendar-continuation.needs-student.clash:before{background:var(--warning-bg);border-color:var(--warning)}.week-calendar-needs-student{color:var(--warning);font-weight:600}.week-calendar-class.past .week-calendar-needs-student{color:var(--text)}.week-calendar-clash-label{color:var(--warning);order:-1;font-weight:600}.week-calendar-panel{top:calc(100% + 2px);left:calc(var(--lane) * -100%);width:calc(var(--lanes) * 100%);box-sizing:border-box;background:var(--bg);border:1px solid var(--border);min-width:240px;box-shadow:var(--shadow);border-radius:8px;flex-direction:column;align-items:flex-start;gap:8px;padding:10px 12px;font-size:14px;display:flex;position:absolute}.week-calendar-day:nth-child(n+6) .week-calendar-panel{left:auto;right:calc((var(--lanes) - var(--lane) - 1) * -100%)}.week-calendar-panel .lesson-move-form{margin:0}.week-calendar-new-class{border:1px solid var(--border);background:var(--bg);box-shadow:var(--shadow);border-radius:8px;margin:0 0 12px;padding:12px}.week-calendar-new-class select{max-width:100%}.week-calendar-field{flex-direction:column;gap:4px;max-width:100%;display:flex}.week-calendar-repeat{border:0;flex-wrap:wrap;gap:4px 12px;margin:0;padding:0;display:flex}.week-calendar-repeat legend{margin-bottom:4px;padding:0}.week-calendar-new-class .week-calendar-repeat label{flex-direction:row;align-items:center}.week-calendar-new-class .error-text{flex-basis:100%;margin:0}.week-calendar-track{cursor:copy}.week-calendar-track .week-calendar-class{cursor:auto}.week-calendar-add{appearance:none;cursor:copy;background:0 0;border:0;margin:0;padding:0;position:absolute;inset:0}.week-calendar-add:focus:not(:focus-visible){outline:none}.week-calendar-preview .week-calendar-block,.week-calendar-continuation.week-calendar-preview:before{background:0 0;border-style:dashed}.week-calendar-preview .week-calendar-block{cursor:default}.week-calendar-class.week-calendar-preview.clash .week-calendar-block,.week-calendar-continuation.week-calendar-preview.clash:before{background:color-mix(in srgb, var(--warning-bg) 60%, transparent)}.week-calendar-clash-note{color:var(--warning);margin:0}.week-calendar-plan-title{overflow-wrap:anywhere;margin:0;font-weight:600}.week-calendar-actions{gap:8px;display:flex}.week-calendar-now{z-index:2;pointer-events:none;background:#d33;height:2px;margin-top:-1px;position:absolute;left:0;right:0}.week-calendar-now:before{content:"";background:#d33;border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;left:-4px}@media (width<=700px){.week-calendar-day-nav{display:flex}.week-calendar{grid-template-columns:minmax(0,1fr)}.week-calendar-day:not(.selected){display:none}.week-calendar-head{height:var(--wc-head)}.week-calendar-day h2{font-size:16px}.week-calendar-panel,.week-calendar-day:nth-child(n+6) .week-calendar-panel{left:calc(var(--lane) * -100%);width:calc(var(--lanes) * 100%);min-width:0;right:auto}}.clash-warning{border:1px solid var(--warning);background:var(--warning-bg);border-radius:8px;margin:16px 0;padding:8px 16px}.clash-warning h2{margin:4px 0;font-size:18px}.clash-warning p{margin:4px 0}.clash-warning ul{margin:4px 0 8px;padding-left:20px}.lesson-series-panel{margin:12px 0 20px}.lesson-series-panel ul{padding-left:20px}.lesson-series-form{flex-wrap:wrap;align-items:flex-end;gap:8px 12px;display:flex}.lesson-series-form label{flex-direction:column;gap:4px;display:flex}.curriculum-panel{margin:12px 0 20px}.curriculum-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.curriculum-row,.upcoming-class{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:8px;padding:12px 16px;display:flex}.upcoming-classes-panel{margin:12px 0 20px}.upcoming-classes{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.upcoming-classes-booking{scroll-margin-top:16px}.curriculum-row-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px;display:flex}.assessment-criterion{text-align:left;border:none;flex-direction:column;gap:4px;margin:0;padding:0;display:flex}.assessment-criterion legend{color:var(--text-h);font-weight:600}.assessment-criterion .template-meta{margin:0}.assessment-history{flex-direction:column;gap:12px;margin:16px 0 0;padding:0;list-style:none;display:flex}.assessment-history>li{border:1px solid var(--border);border-radius:8px;padding:12px}.level-suggestion{border:1px solid var(--border);text-align:left;border-radius:8px;margin-top:16px;padding:12px}.level-suggestion p{margin:0}.level-suggestion-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.activity-bank-counts{border:1px solid var(--border);text-align:left;border-radius:8px;margin-top:16px;padding:12px}.activity-bank-counts h3{margin:0 0 8px}.activity-bank-counts p{margin:0}.evidence-panel{border:1px solid var(--border);text-align:left;border-radius:8px;margin-top:16px;padding:12px}.evidence-panel h3{margin:0 0 8px}.evidence-panel h4{margin:12px 0 4px}.evidence-panel ul{margin:0;padding:0;list-style:none}.evidence-group li{overflow-wrap:anywhere;padding:2px 0}.evidence-objectives{margin:12px 0 0}.evidence-to-check li{border-top:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:6px 0;display:flex}.evidence-to-check li>div:first-child{overflow-wrap:anywhere;flex:1 1 0;min-width:0}.evidence-to-check li .template-meta{margin:2px 0 0;display:block}.evidence-tag-actions{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.evidence-to-check .template-actions{margin-top:12px}.evidence-to-check li{flex-wrap:wrap}.evidence-code-picker{flex-basis:100%;min-width:0}.evidence-code-picker input{box-sizing:border-box;width:100%}.evidence-code-choices{border:0;flex-direction:column;gap:4px;min-width:0;max-height:240px;margin:6px 0 0;padding:0;display:flex;overflow-y:auto}.evidence-code-choices button{text-align:left;overflow-wrap:anywhere}.evidence-to-check .evidence-code-choices .template-meta{margin:0 0 0 6px;display:inline}.evidence-code-picker .template-actions{margin-top:6px}.assessment-change{opacity:.7;font-size:13px}.assessment-criteria{text-align:left;flex-direction:column;gap:12px;margin:0;display:flex}.assessment-criteria-row dt{color:var(--text-h);font-weight:600}.assessment-criteria-row dd{margin:0}.assessment-criteria-row dd .template-meta{margin:4px 0 0}.length-mismatch{color:var(--warning);font-size:.9em}.curriculum-row-header .length-mismatch{margin-right:auto}.objective-check{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.objective-check li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;display:flex}.objective-check-options{gap:4px;display:flex}.objective-check-options button{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:13px}.objective-check-options button.active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.progress-summary{text-align:left;overflow-wrap:anywhere;margin:12px 0 0}.progress-summary p,.progress-summary ul{margin:0 0 4px}.progress-summary ul{padding-left:0;list-style:none}.target-status-list>li{border-top:1px solid var(--border);overflow-wrap:anywhere;padding:8px 0}.target-status-list>li:first-child{border-top:none}.target-status-wording,.target-status-state{margin:0 0 4px}.target-status-actions{border:0;flex-wrap:wrap;gap:8px;min-width:0;margin:4px 0;padding:0;display:flex}.target-status-actions button[aria-pressed=true]{font-weight:600}.target-status-events li{padding:2px 0}
