@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Fraunces-Variable.woff2)format("woff2")}@font-face{font-family:TF Lira;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Fraunces-Variable.woff2)format("woff2");unicode-range:U+20BA}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/SchibstedGrotesk-Regular.woff2)format("woff2")}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/SchibstedGrotesk-Bold.woff2)format("woff2")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--tf-canvas:#f6f4ee;--tf-surface:#fff;--tf-surface-sunken:#eeece6;--tf-row-hover:#faf9f5;--tf-text:#1b2421;--tf-text-muted:#5a6661;--tf-line:#e4e0d6;--tf-control:#858c87;--tf-accent:#1f5e52;--tf-accent-hover:#174a41;--tf-on-accent:#fff;--tf-accent-soft:#e3efea;--tf-board:#1f5e52;--tf-on-board:#fff;--tf-chalk:#f2c94c;--tf-on-chalk:#1b2421;--tf-success:#1e6b3e;--tf-success-soft:#e4f1e8;--tf-warning:#8a5300;--tf-warning-soft:#fbefd9;--tf-danger:#b3261e;--tf-danger-soft:#fbe9e7;--tf-on-danger:#fff;--tf-focus:#1f5e52;--tf-scrim:#12181580;--tf-paper-backdrop:#e6e4dd;--tf-avatar-1-bg:#e3efea;--tf-avatar-1-fg:#1f5e52;--tf-avatar-2-bg:#f8ebc4;--tf-avatar-2-fg:#5c4300;--tf-avatar-3-bg:#f3e3da;--tf-avatar-3-fg:#6b3420;--tf-font:"TF Lira", "Schibsted Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--tf-font-display:"Fraunces", Georgia, "Times New Roman", serif;--tf-type-display:700 1.75rem/2.125rem var(--tf-font-display);--tf-type-heading:700 1.25rem/1.625rem var(--tf-font-display);--tf-type-subheading:700 1.0625rem/1.5rem var(--tf-font-display);--tf-type-body:400 1.0625rem/1.5rem var(--tf-font);--tf-type-secondary:400 .9375rem/1.25rem var(--tf-font);--tf-type-label:700 .9375rem/1.25rem var(--tf-font);--tf-type-caption:700 .8125rem/1.125rem var(--tf-font);--tf-space-1:.25rem;--tf-space-2:.5rem;--tf-space-3:.75rem;--tf-space-4:1rem;--tf-space-5:1.5rem;--tf-space-6:2rem;--tf-space-7:3rem;--tf-gutter:1rem;--tf-radius-s:8px;--tf-radius-m:12px;--tf-radius-btn:14px;--tf-radius-l:16px;--tf-radius-xl:20px;--tf-radius-full:999px;--tf-elev-1:0 1px 2px #1b24211f;--tf-elev-2:0 6px 16px #1b242138;--tf-dur-fast:.12s;--tf-dur:.2s;--tf-dur-sheet:.24s;--tf-ease:cubic-bezier(.2, 0, 0, 1);--tf-ease-exit:cubic-bezier(.3, 0, 1, 1);--tf-tabbar-height:4rem;--canvas:var(--tf-canvas);--surface:var(--tf-surface);--surface-soft:var(--tf-surface-sunken);--surface-subtle:var(--tf-surface-sunken);--text:var(--tf-text);--muted:var(--tf-text-muted);--border:var(--tf-line);--border-strong:var(--tf-control);--accent:var(--tf-accent);--accent-strong:var(--tf-accent);--accent-soft:var(--tf-accent-soft);--danger:var(--tf-danger);--danger-soft:var(--tf-danger-soft);--success:var(--tf-success);--warning:var(--tf-warning);font-family:var(--tf-font);color:var(--tf-text);background:var(--tf-canvas);font-synthesis:none;font-size:100%}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--tf-canvas:#121815;--tf-surface:#1b2320;--tf-surface-sunken:#262e2a;--tf-row-hover:#212a26;--tf-text:#eef2ef;--tf-text-muted:#a9b5af;--tf-line:#2e3a35;--tf-control:#6f7d76;--tf-accent:#7fcbb8;--tf-accent-hover:#9ad8c8;--tf-on-accent:#0e1f1a;--tf-accent-soft:#1e3a33;--tf-board:#1e3a33;--tf-on-board:#eef2ef;--tf-success:#7dd3a0;--tf-success-soft:#1f3a2b;--tf-warning:#f0b65a;--tf-warning-soft:#3d2f17;--tf-danger:#ff9c94;--tf-danger-soft:#40221f;--tf-on-danger:#0e1f1a;--tf-focus:#7fcbb8;--tf-scrim:#0009;--tf-paper-backdrop:#2a302d;--tf-avatar-1-bg:#1e3a33;--tf-avatar-1-fg:#7fcbb8;--tf-avatar-2-bg:#3d3217;--tf-avatar-2-fg:#f2c94c;--tf-avatar-3-bg:#3e2a22;--tf-avatar-3-fg:#f0b39a;--tf-elev-2:0 6px 16px #00000073}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--tf-canvas:#121815;--tf-surface:#1b2320;--tf-surface-sunken:#262e2a;--tf-row-hover:#212a26;--tf-text:#eef2ef;--tf-text-muted:#a9b5af;--tf-line:#2e3a35;--tf-control:#6f7d76;--tf-accent:#7fcbb8;--tf-accent-hover:#9ad8c8;--tf-on-accent:#0e1f1a;--tf-accent-soft:#1e3a33;--tf-board:#1e3a33;--tf-on-board:#eef2ef;--tf-success:#7dd3a0;--tf-success-soft:#1f3a2b;--tf-warning:#f0b65a;--tf-warning-soft:#3d2f17;--tf-danger:#ff9c94;--tf-danger-soft:#40221f;--tf-on-danger:#0e1f1a;--tf-focus:#7fcbb8;--tf-scrim:#0009;--tf-paper-backdrop:#2a302d;--tf-avatar-1-bg:#1e3a33;--tf-avatar-1-fg:#7fcbb8;--tf-avatar-2-bg:#3d3217;--tf-avatar-2-fg:#f2c94c;--tf-avatar-3-bg:#3e2a22;--tf-avatar-3-fg:#f0b39a;--tf-elev-2:0 6px 16px #00000073}*{box-sizing:border-box}body{background:var(--tf-canvas);min-width:20rem;min-height:100vh;color:var(--tf-text);font:var(--tf-type-body);margin:0}button,input,select,textarea{font:inherit}button,select,input[type=checkbox],input[type=radio]{cursor:pointer}input[type=checkbox],input[type=radio]{accent-color:var(--tf-accent)}button:disabled,.tf-btn[aria-disabled=true]{cursor:not-allowed;color:var(--tf-text-muted);background:var(--tf-surface-sunken);border-color:#0000}:focus-visible{outline:3px solid var(--tf-focus);outline-offset:2px}h1,h2,h3{font-family:var(--tf-font-display);font-optical-sizing:auto;letter-spacing:0}.startup{text-align:center;max-width:48rem;margin:20vh auto;padding:2rem}.error-state{color:var(--danger)}.editor-page{max-width:90rem;margin:0 auto;padding:0 clamp(1rem,3vw,3rem) 7rem}.dirty-indicator,.status-chip,.optional-label{color:var(--muted);font:var(--tf-type-caption)}.editor-heading{justify-content:space-between;align-items:end;gap:1rem;padding:2.5rem 0 1.5rem;display:flex}.editor-heading h1{font:var(--tf-type-display);margin:.25rem 0}.editor-heading>div>p:last-child{color:var(--muted);margin:0}.dirty-indicator{color:var(--accent);background:var(--accent-soft);border-radius:var(--tf-radius-s);white-space:nowrap;padding:.45rem .75rem}.editor-layout{grid-template-columns:minmax(0,1.7fr) minmax(18rem,.9fr);align-items:start;gap:1.25rem;display:grid}.editor-main,.editor-sidebar{gap:1.25rem;display:grid}.editor-sidebar{position:sticky;top:1rem}.editor-card{background:var(--tf-surface);border:1px solid var(--tf-line);border-radius:var(--tf-radius-l);box-shadow:none;padding:clamp(1rem,2vw,1.5rem)}.section-heading{justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1.25rem;display:flex}.section-heading h2{font:var(--tf-type-heading);margin:.22rem 0 0}.status-chip,.optional-label{background:var(--tf-accent-soft);width:fit-content;color:var(--tf-accent);border-radius:var(--tf-radius-s);white-space:nowrap;justify-self:start;align-items:center;gap:.25rem;padding:2px 10px;display:inline-flex}.field{min-width:0;color:var(--tf-text);font:var(--tf-type-label);gap:.45rem;display:grid}.field-wide{margin-top:.4rem}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:1rem;display:grid}.choice-panel{border:0;gap:.75rem;margin:1.25rem 0 0;padding:0;display:flex}.choice-panel legend{width:100%;margin-bottom:.6rem;font-weight:720}.choice-card{border:1.5px solid var(--tf-control);border-radius:var(--tf-radius-m);background:var(--tf-surface);align-items:center;gap:.55rem;min-width:8rem;padding:.8rem 1rem;font-weight:700;display:flex}.choice-card:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.choice-card input{width:1rem;height:1rem}.align-end{align-self:end;min-height:2.75rem}input,textarea,select{border:1.5px solid var(--tf-control);border-radius:var(--tf-radius-m);width:100%;color:var(--tf-text);background:var(--tf-surface);font:var(--tf-type-body);resize:vertical;padding:.72rem .875rem}input:not([type=checkbox],[type=radio],[type=file],[type=range]),select{min-height:48px;padding-block:.5rem}textarea{padding:.75rem .875rem}select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 1.25rem),calc(100% - .875rem);background-repeat:no-repeat;background-size:.375rem .375rem;padding-right:2.5rem}select[multiple]{background-image:none;padding-right:.875rem}input[type=search]::-webkit-search-cancel-button{appearance:none}@media (hover:hover){input:hover,textarea:hover,select:hover{border-color:var(--tf-text-muted)}}input:focus,textarea:focus,select:focus{border-color:var(--tf-accent)}:is(input,textarea,select):is(:disabled,[readonly]){background-color:var(--tf-surface-sunken);color:var(--tf-text-muted);border-style:dashed}:is(input,textarea,select)[aria-invalid=true]{border:2px solid var(--tf-danger)}.helper-text,.inline-status,.revision-label{color:var(--tf-text-muted);font:var(--tf-type-secondary)}.option-list{border:0;margin:1.4rem 0 .9rem;padding:0}.option-list legend{padding:0 0 .7rem;font-weight:720}.option-row{grid-template-columns:2.4rem minmax(0,1fr) auto;align-items:center;gap:.65rem;margin-bottom:.65rem;display:grid}.answer-radio{background:var(--surface-soft);border:1px solid var(--border);border-radius:.7rem;place-items:center;width:2.35rem;height:2.35rem;font-weight:750;display:grid;position:relative}.answer-radio input{opacity:0;position:absolute;inset:0}.answer-radio:has(input:checked){background:var(--accent);color:var(--tf-on-accent);border-color:var(--accent)}.row-actions{gap:.3rem;display:flex}.rubric-list{gap:.8rem;margin-bottom:.8rem;display:grid}.rubric-criterion{border:1px solid var(--border);background:var(--surface-soft);border-radius:.8rem;gap:.8rem;padding:.9rem;display:grid}.rubric-criterion-heading{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.rubric-criterion-fields{grid-template-columns:minmax(0,1fr) minmax(8rem,.35fr);gap:.8rem;display:grid}.rubric-description{grid-column:1/-1}.writing-planning-space{width:fit-content;margin-top:1rem}.field-help{color:var(--muted);font-size:.85rem;line-height:1.5}.multi-part-list{gap:1.1rem;margin-top:1.25rem;display:grid}.multi-part-child{border:1px solid var(--border-strong);background:var(--surface-soft);border-radius:.9rem;min-width:0;margin:0;padding:1rem}.multi-part-child>legend{padding:0 .4rem;font-weight:750}.multi-part-child-toolbar{grid-template-columns:minmax(12rem,1fr) minmax(9rem,.45fr) auto;align-items:end;gap:.8rem;display:grid}.reading-set-child-toolbar{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.multi-part-child>.editor-card,.multi-part-child>.media-card{box-shadow:none;margin-top:1rem}.multi-part-actions{align-items:center;padding-bottom:.05rem}.multi-part-add{align-items:end;gap:.8rem;margin-top:1.1rem;display:flex}.tf-btn,.icon-button,.text-button,.secondary-button,.primary-button,.upload-button,.insert-blank{border-radius:var(--tf-radius-btn);min-height:44px;color:var(--tf-text);font:var(--tf-type-label);text-align:center;transition:background-color var(--tf-dur-fast) var(--tf-ease), border-color var(--tf-dur-fast) var(--tf-ease), color var(--tf-dur-fast) var(--tf-ease);background:0 0;border:1.5px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.375rem .875rem;text-decoration:none;display:inline-flex}.tf-btn{min-height:48px;padding:.5rem 1.25rem;font-size:1.0625rem;line-height:1.5rem}.tf-btn--compact{min-height:44px;font:var(--tf-type-label);padding:.375rem .875rem}.tf-btn--primary,.primary-button{color:var(--tf-on-accent);background:var(--tf-accent);border-color:var(--tf-accent);padding-inline:1.25rem}.tf-btn--secondary,.secondary-button,.upload-button,.insert-blank{border-color:var(--tf-control);background:var(--tf-surface)}.tf-btn--tonal{color:var(--tf-accent);background:var(--tf-accent-soft)}.tf-btn--quiet,.text-button{color:var(--tf-accent)}.tf-btn--danger{color:var(--tf-danger);border-color:var(--tf-danger);background:var(--tf-surface)}.tf-btn--danger-fill,.primary-button.danger-action{color:var(--tf-on-danger);background:var(--tf-danger);border-color:var(--tf-danger)}.tf-btn--board{width:100%;color:var(--tf-on-chalk);background:var(--tf-chalk)}.tf-icon-btn,.icon-button{border-radius:var(--tf-radius-m);min-width:44px;min-height:44px;color:var(--tf-text);background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.danger{color:var(--tf-danger)}@media (hover:hover){:is(.tf-btn--primary,.primary-button):not(:disabled):hover{background:var(--tf-accent-hover);border-color:var(--tf-accent-hover)}:is(.tf-btn--secondary,.secondary-button,.upload-button,.insert-blank):not(:disabled):hover{background:var(--tf-canvas)}.tf-btn--tonal:not(:disabled):hover{background:color-mix(in srgb, var(--tf-accent-soft) 94%, #000)}:is(.tf-btn--quiet,.text-button):not(:disabled):hover{background:var(--tf-accent-soft);text-decoration:underline}.tf-btn--danger:not(:disabled):hover{background:var(--tf-danger-soft)}.tf-btn--board:not(:disabled):hover{background:color-mix(in srgb, var(--tf-chalk) 92%, #000)}:is(.tf-icon-btn,.icon-button):not(:disabled):hover{background:var(--tf-surface-sunken)}}@media (prefers-reduced-motion:no-preference){:is(.tf-btn,.primary-button,.secondary-button,.text-button,.tf-tile,.tf-fab):not(:disabled):active{transform:scale(.98)}}:is(.tf-btn,.primary-button,.secondary-button,.text-button,.icon-button,.tf-icon-btn):disabled{color:var(--tf-text-muted);background:var(--tf-surface-sunken);border-color:#0000}.metadata-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.metadata-grid .field:nth-child(5),.metadata-grid .field:nth-child(7),.metadata-grid .field:nth-child(9){grid-column:1/-1}.token-editor{gap:.8rem;display:grid}.text-segment{color:var(--muted);gap:.45rem;font-size:.82rem;font-weight:650;display:grid}.insert-blank{color:var(--accent);border-style:dashed;justify-self:start}.blank-card{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 22%, var(--border));border-radius:.8rem;margin:.25rem 0;padding:.9rem}.blank-title,.blank-controls{justify-content:space-between;align-items:center;gap:1rem;display:flex}.answer-stack{gap:.45rem;margin:.55rem 0;display:grid}.answer-row{grid-template-columns:minmax(0,1fr) auto;gap:.45rem;display:grid}.check-label{min-height:44px;font:var(--tf-type-secondary);align-items:center;gap:.625rem;display:flex}.check-label input{flex:none;width:22px;height:22px;min-height:0}.media-actions{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.upload-button{color:var(--accent);position:relative;overflow:hidden}.upload-button input{opacity:0;position:absolute;inset:0}.or-label{color:var(--muted);align-self:center}.media-id-field{flex:16rem}.media-attached{grid-template-columns:minmax(8rem,.55fr) minmax(0,1.45fr);gap:1rem;display:grid}.media-attached img,.preview-placeholder{object-fit:contain;background:var(--surface-soft);border:1px solid var(--border);border-radius:.75rem;width:100%;max-height:15rem}.preview-placeholder{min-height:8rem;color:var(--muted);place-items:center;display:grid}.media-fields{gap:.7rem;display:grid}.error-summary{background:var(--tf-danger-soft);color:var(--tf-text);border:0;border-left:4px solid var(--tf-danger);border-radius:var(--tf-radius-m);margin-bottom:1rem;padding:.75rem .875rem}.error-summary ul{margin:.55rem 0 0;padding-left:1.2rem}.error-summary li button{color:inherit;text-align:left;background:0 0;border:0;padding:.12rem;text-decoration:underline}.revision-label{margin-top:.15rem!important}.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}.equation-blocks,.equation-alternates{border:0;gap:.9rem;min-width:0;margin:0 0 1.25rem;padding:0;display:grid}.equation-blocks>legend,.equation-alternates>legend{margin-bottom:.65rem;font-weight:750}.equation-block,.equation-alternate,.math-region-editor{border:1px solid var(--border);background:var(--surface-soft);border-radius:.85rem;min-width:0;padding:.85rem}.equation-block-heading,.math-region-heading{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.7rem;display:flex}.mathlive-host{min-width:0}.mathlive-host math-field{border:1px solid var(--border-strong);background:var(--surface);border-radius:.65rem;width:100%;min-height:3.25rem;padding:.7rem .8rem;font-size:1.3rem;display:block;overflow-x:auto}.mathlive-host math-field:focus-within{outline:3px solid color-mix(in srgb, var(--accent) 25%, transparent);border-color:var(--accent)}.mathlive-host math-field::part(virtual-keyboard-toggle),.mathlive-host math-field::part(menu-toggle){display:none}.math-toolkit{flex-wrap:wrap;gap:.45rem;margin-top:.55rem;display:flex}.math-toolkit details{position:relative}.math-toolkit summary{cursor:pointer;border:1px solid var(--border);background:var(--surface);border-radius:.6rem;align-items:center;min-height:2.65rem;padding:.45rem .7rem;font-weight:650;display:flex}.math-toolkit-buttons{flex-wrap:wrap;gap:.4rem;max-width:min(34rem,100vw - 3rem);padding:.55rem 0;display:flex}.math-tool-button{border:1px solid var(--border);background:var(--surface);min-height:2.75rem;color:var(--text);border-radius:.55rem;padding:.45rem .7rem}.math-structure-controls{border-top:1px solid var(--border);flex-basis:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;padding-top:.55rem;display:grid}.math-structure-controls label{color:var(--muted);gap:.25rem;font-size:.78rem;display:grid}.math-structure-controls input{min-width:0;min-height:2.65rem}.math-state{color:var(--muted);font-size:.78rem}.math-state-ready{color:var(--tf-success)}.math-state-unsupported{color:var(--danger)}.inline-validation{color:var(--danger);font-size:.88rem}.math-readonly code{white-space:pre-wrap;overflow-wrap:anywhere;max-height:8rem;font-size:.72rem;display:block;overflow:auto}.locked-policy{align-content:center;gap:.3rem;display:grid}.locked-policy span{color:var(--muted);font-size:.85rem}@media (width<=58rem){.editor-layout{grid-template-columns:1fr}.editor-sidebar{position:static}}@media (width<=38rem){.editor-page{padding-inline:.75rem;padding-bottom:9rem}.editor-heading{align-items:start;padding-top:1.5rem}.editor-heading>div>p:last-child{font-size:.9rem}.editor-card{border-radius:.8rem;padding:1rem}.metadata-grid,.media-attached,.field-grid,.rubric-criterion-fields{grid-template-columns:1fr}.rubric-description{grid-column:auto}.multi-part-child-toolbar{grid-template-columns:1fr}.multi-part-actions{flex-wrap:wrap;grid-column:auto}.multi-part-add{flex-direction:column;align-items:stretch}.metadata-grid .field{grid-column:auto!important}.option-row{grid-template-columns:2.4rem minmax(0,1fr)}.row-actions{grid-column:2}.equation-block-heading,.math-region-heading{flex-direction:column;align-items:flex-start}.math-toolkit{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.math-toolkit summary{justify-content:center}.math-structure-controls{grid-template-columns:1fr 1fr}}.import-page{max-width:90rem;margin:0 auto;padding:0 clamp(1rem,3vw,3rem) 4rem}@media (width<=38rem){.import-page{padding-inline:.75rem}}@media (width<=58rem){:is(.import-page,.tf-task) :is(.primary-button,.secondary-button,.text-button,.upload-button,.icon-button,.insert-blank){min-width:2.75rem;min-height:2.75rem}:is(.import-page,.tf-task) summary{min-height:2.75rem;padding-block:.7rem}:is(.import-page,.tf-task) .check-label{min-width:2.75rem;min-height:2.75rem}:is(.import-page,.tf-task) .check-label input{width:1.25rem;height:1.25rem}:is(.import-page,.tf-task) :is(select,input:not([type=checkbox],[type=radio],[type=file])){min-height:2.75rem}:is(.import-page,.tf-task) .answer-radio{width:2.75rem;height:2.75rem}:is(.import-page,.tf-task) .option-row{grid-template-columns:2.75rem minmax(0,1fr) auto}}@media (width<=38rem){.import-page .editor-heading{flex-wrap:wrap}.import-page .editor-heading>div:first-child{flex:100%}.import-page .option-row{grid-template-columns:2.75rem minmax(0,1fr)}}.worksheet-page nav>.helper-text{margin:.5rem 0 1rem}.worksheet-choices{border:0;flex-wrap:wrap;gap:.5rem 1rem;margin:1rem 0 0;padding:0;display:flex}.worksheet-choices legend{margin-bottom:.4rem;font-weight:720}.worksheet-choices>.helper-text{flex-basis:100%;margin:0}.worksheet-choices small{color:var(--muted)}.worksheet-count-grid{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));display:grid}.worksheet-count-grid>.helper-text{grid-column:1/-1}.worksheet-seed{flex-wrap:wrap;align-items:end;gap:.6rem;margin-top:1rem;display:flex}.worksheet-seed .field{flex:10rem}.worksheet-page .editor-card>h3{margin:0 0 .5rem}.worksheet-page .editor-card>.check-label{margin-top:.75rem}.worksheet-items{margin:0;padding:0;list-style:none}.worksheet-item>*{grid-column:1/-1}.worksheet-item-head{justify-content:space-between;align-items:start;gap:.5rem;display:flex}.worksheet-excerpt{overflow-wrap:anywhere}.worksheet-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.35rem .75rem;font-size:.85rem;display:flex}.worksheet-preview ul{overflow-wrap:anywhere;margin:.5rem 0 0;padding-left:1.1rem}.worksheet-preview .preview-heading{font-weight:700;list-style:none}.worksheet-preview .preview-answer{color:var(--success)}.worksheet-page :is(input,select)[aria-invalid=true]{border:2px solid var(--tf-danger)}.worksheet-page fieldset[aria-invalid=true] legend{color:var(--danger)}@media (width<=58rem){.worksheet-review-sidebar{order:-1}}.organize-page>h2{margin:0 0 .75rem}.organize{gap:1rem;min-width:0;display:grid}.organize-toolbar{gap:.6rem;display:grid}.organize-toolbar>p{margin:0}.organize-status{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:.35rem 1rem;margin:0;padding-top:.6rem;display:flex}.organize-status span{color:var(--success);font-size:.85rem;font-weight:650}.organize-status span.danger,.organize-status span[data-save-state=saving]{color:var(--muted)}.organize-status span.danger{color:var(--danger)}.organize-section{gap:.75rem;min-width:0;display:grid}.organize-section-head,.organize-item-head{flex-wrap:wrap;align-items:center;gap:.35rem .75rem;display:flex}.organize-section-total{margin:0}.organize-section-fields{gap:.6rem;display:grid}.organize-field-error{color:var(--danger);margin:-.25rem 0 0}.organize-handle{border:1px dashed var(--border-strong);min-width:2rem;min-height:2rem;color:var(--muted);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:.5rem;justify-content:center;align-items:center;display:inline-flex}.organize-handle:active{cursor:grabbing}.organize-items{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.organize-item{background:var(--surface);min-width:0}.organize-item>*{grid-column:1/-1}.organize-item-title{flex:auto}.organize-item .worksheet-excerpt{margin:0}.organize-item-body{gap:.5rem;display:grid}.organize-points{max-width:9rem}.organize-move-menu{border-top:1px solid var(--border);flex-wrap:wrap;gap:.5rem;padding-top:.5rem;display:flex}.organize-move-menu button{overflow-wrap:anywhere;text-align:left;max-width:100%}.organize-item.dragging,.organize-section.dragging{opacity:.55}.organize-item.drop-before,.organize-section.drop-before{box-shadow:0 -3px 0 0 var(--accent)}.organize-item.drop-after,.organize-section.drop-after{box-shadow:0 3px 0 0 var(--accent)}.organize-drop-end{border:1px dashed var(--border-strong);color:var(--muted);text-align:center;border-radius:.75rem;padding:.9rem;font-size:.85rem}.organize-drop-end.drop-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.organize-quick-add{gap:.75rem;display:grid}.organize-quick-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.organize-quick-head h3{margin:0}.organize-quick-filters{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.6rem;display:grid}.organize-quick-filters select{width:100%;min-width:0}.organize-move-menu-heading{color:var(--muted);flex:100%;font-size:.85rem;font-weight:700}.organize-quick-results{border:0;gap:.5rem;min-width:0;margin:0;padding:0;display:grid}.organize-quick-results legend{margin-bottom:.4rem;font-weight:720}.organize-quick-list{scrollbar-gutter:stable;border-bottom:1px solid var(--border);gap:.4rem;max-height:24rem;margin:0;padding:0 .25rem 0 0;list-style:none;display:grid;overflow:auto}.organize-quick-list li{border:1px solid var(--border);background:var(--surface);overflow-wrap:anywhere;border-radius:.6rem;gap:.2rem;padding:.5rem .6rem;display:grid}.organize-quick-list .check-label{align-items:start;font-size:.9rem}.organize-quick-list small{color:var(--muted);padding-left:1.5rem}.organize-quick-actions{flex-wrap:wrap;align-items:end;gap:.6rem;display:flex}.organize-quick-actions .field{flex:12rem}@media (width<=38rem){.organize-points{max-width:none}.organize-item-controls>*,.organize-more>*{flex:calc(50% - .5rem)}}.organize-more-toggle{display:none}.organize-more{display:contents}@media (width<=29.99rem){.worksheet-page .organize-more-toggle{display:inline-flex}.organize-more-toggle[aria-expanded=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.organize-more:not([data-open]){display:none}.organize-more[data-open]{flex-wrap:wrap;flex:100%;gap:.5rem;display:flex}}.organize-section.drop-end{outline:2px dashed var(--accent);outline-offset:2px}.export-page>h2{margin:0 0 .75rem}.export-view{grid-template-columns:minmax(0,1fr) minmax(18rem,22rem);align-items:start;gap:1.25rem;display:grid}.export-sidebar{grid-area:1/2;gap:1rem;min-width:0;display:grid}.export-main{grid-area:1/1;gap:.75rem;min-width:0;display:grid}.export-panel{min-width:0}.export-pages{justify-items:center;gap:1.25rem;display:grid}.export-page-frame{box-shadow:var(--tf-elev-1), 0 0 0 1px var(--tf-line);background:#fff;position:relative;overflow:hidden}.export-enlarge{cursor:zoom-in;background:0 0;border:0;justify-content:flex-end;align-items:flex-end;padding:.5rem;display:flex;position:absolute;inset:0}.export-enlarge:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.export-enlarge-chip{min-height:2.75rem;color:var(--accent-strong);background:var(--surface);border:1.5px solid var(--tf-control);border-radius:var(--tf-radius-btn);box-shadow:var(--tf-elev-1);font:var(--tf-type-label);align-items:center;padding:0 1rem;display:inline-flex}.export-enlarge-dialog{width:100%;max-width:none;height:100dvh;max-height:none;color:var(--text);background:var(--canvas);border:0;margin:0;padding:0;position:fixed;inset:0}.export-enlarge-dialog[open]{grid-template-rows:auto minmax(0,1fr);display:grid}.export-enlarge-dialog::backdrop{background:var(--tf-scrim)}.export-enlarge-scroll{padding:1rem;overflow:auto}.export-enlarge-scroll:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.export-enlarged-sheet{box-shadow:var(--tf-elev-1), 0 0 0 1px var(--tf-line);margin:0 auto;position:relative;overflow:hidden}.export-fieldset{border:0;gap:.6rem;min-width:0;margin:0;padding:0;display:grid}.export-choices{gap:.35rem;margin:.4rem 0 0;display:grid}.export-choices .check-label{flex-wrap:wrap}.export-choices .check-label small{color:var(--muted);flex-basis:100%;padding-left:1.5rem}.export-save{color:var(--success);margin:.8rem 0 0;font-size:.88rem}.export-save[data-save-state=saving]{color:var(--muted)}.export-save.danger{color:var(--danger)}.export-status-line{margin:0 0 .5rem}.export-check-empty{color:var(--success);margin:.5rem 0 0}@media (width<=58rem){.export-view{grid-template-columns:minmax(0,1fr)}.export-sidebar,.export-main{grid-area:auto}}@media (width<=38rem){.export-actions .import-controls>*{flex:100%}}.ws-measure{visibility:hidden;pointer-events:none;position:absolute;top:0;left:-100000px}.ws-sheet{color:#111;font-family:Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-size:var(--ws-font,16px);-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;line-height:1.4}.ws-sheet p{margin:0}.print-page{transform-origin:0 0;position:absolute;top:0;left:0;overflow:hidden}.print-page:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.print-page-inner{position:absolute}.ws-running-header{box-sizing:border-box;color:#444;white-space:nowrap;border-bottom:1px solid #bbb;justify-content:space-between;gap:1rem;padding-bottom:6px;font-size:11px;line-height:1.3;display:flex;overflow:hidden}.ws-page-content{position:relative}.ws-page-content>.ws-block{position:absolute;left:0;right:0}.ws-page-footer{color:#444;justify-content:center;align-items:flex-end;font-size:11px;display:flex;position:absolute;bottom:0;left:0;right:0}.ws-block{padding-bottom:.9em;display:flow-root}.ws-block.ws-keep{padding-bottom:.4em}.ws-title{border-bottom:2px solid #111;padding-bottom:.5em}.ws-eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:.78em;font-weight:750}.ws-title-text{font-size:1.5em;font-weight:750;line-height:1.25}.ws-fields{flex-wrap:wrap;gap:.6em 1.5em;margin-top:.8em;display:flex}.ws-field{flex:11em;align-items:flex-end;gap:.4em;display:flex}.ws-field-line{border-bottom:1px solid #111;flex:1;min-width:5em;height:1.2em}.ws-total{margin-top:.5em;font-weight:650}.ws-section-title{border-bottom:1px solid #999;padding-bottom:.15em;font-size:1.15em;font-weight:750}.ws-section-instructions{margin-top:.3em;font-style:italic}.ws-wordbank{border:1.5px solid #111;border-radius:6px;padding:.5em .8em}.ws-wordbank-title{font-size:.9em;font-weight:750}.ws-wordbank ul{flex-wrap:wrap;gap:.3em 1.4em;margin:.3em 0 0;padding:0;list-style:none;display:flex}.ws-stem,.ws-answer{align-items:baseline;gap:.5em;display:flex}.ws-number{flex:none;min-width:1.6em;font-weight:750}.ws-stem-body,.ws-answer-body{flex:1;min-width:0}.ws-answer-body{gap:.2em;display:grid}.ws-points{color:#333;white-space:nowrap;flex:none;font-size:.85em}.ws-cue{color:#333;font-style:italic}.ws-text+.ws-text,.ws-cue+.ws-text,.ws-text+.ws-cue{margin-top:.25em}.ws-sentence{border-left:3px solid #999;padding-left:.5em}.ws-blank{vertical-align:baseline;border-bottom:1px solid #111;min-width:5.5em;height:1.1em;margin:0 .2em;display:inline-block}.ws-blank sub{font-size:.65em}.ws-media{padding-left:2.1em}.ws-figure{max-width:100%;margin:0;display:inline-block}.ws-figure img{display:block}.ws-figure figcaption{color:#333;margin-top:.25em;font-size:.85em}.ws-image-missing{border:1px dashed #555;justify-content:center;align-items:center;min-width:12em;height:80px;padding:0 .6em;font-size:.85em;display:flex}.ws-grayscale img{filter:grayscale()}.ws-choices{gap:.2em;margin:0;padding:0 0 0 2.1em;list-style:none;display:grid}.ws-choices li{gap:.5em;display:flex}.ws-choice-label,.ws-part-label{flex:none;font-weight:750}.ws-truefalse{gap:1.5em;padding-left:2.1em;display:flex}.ws-circle{border-radius:var(--tf-radius-s);border:1px solid #111;padding:.05em .8em}.ws-lines,.ws-box,.ws-response-label{margin-left:2.1em}.ws-line{box-sizing:border-box;border-bottom:1px solid #666;align-items:flex-end;display:flex}.ws-answer-label{color:#333;padding-bottom:.15em;font-size:.85em}.ws-box{box-sizing:border-box;border:1px solid #666;border-radius:4px}.ws-response-label{font-size:.85em;font-weight:750}.ws-passage{border-left:3px solid #999;margin-left:2.1em;padding-left:.8em}.ws-passage-title{letter-spacing:.06em;text-transform:uppercase;font-size:.85em;font-weight:750}.ws-matching-grid{gap:.35em;margin-top:.4em;display:grid}.ws-match-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1.5em;display:grid}.ws-match-left,.ws-match-right{align-items:baseline;gap:.45em;min-width:0;display:flex}.ws-match-slot{border-bottom:1px solid #111;flex:none;width:2.2em;height:1.1em;display:inline-block}.ws-match-side{flex-direction:column;gap:.2em;min-width:0;display:inline-flex}.ws-answer-entry{align-items:baseline;gap:.4em;display:flex}.ws-answer-entry>div{min-width:0}.ws-key-note{color:#333;font-size:.9em}.ws-key-list{margin:.1em 0 0 1.2em;padding:0;font-size:.9em}.ws-unavailable,.ws-math-missing{font-style:italic}.ws-math{display:inline-block}.ws-math-latex{font-family:ui-monospace,Consolas,Courier New,monospace;font-size:.9em}@media print{html[data-print-sheet] body{background:#fff;min-width:0;margin:0}html[data-print-sheet] body :not(:has(.export-pages)):not(.export-pages):not(.export-pages *){display:none!important}html[data-print-sheet] body :has(.export-pages){width:auto!important;max-width:none!important;max-height:none!important;box-shadow:none!important;background:0 0!important;border:0!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}html[data-print-sheet] .export-pages{display:block}html[data-print-sheet] .export-page-frame{box-shadow:none;break-after:page;break-inside:avoid;overflow:visible;width:auto!important;height:auto!important}html[data-print-sheet] .export-page-frame:last-child{break-after:auto}html[data-print-sheet] .print-page{position:relative;transform:none!important}.export-enlarge{display:none!important}html[data-print-sheet] .export-pages[data-paper=A4] .print-page{height:296.5mm!important}html[data-print-sheet] .export-pages[data-paper=Letter] .print-page{height:278.9mm!important}html[data-print-sheet] .print-page:focus{outline:none}}.app-shell{min-height:100vh}.tf-content{min-width:0}.tf-toprow{z-index:4;justify-content:flex-end;align-items:center;gap:var(--tf-space-1);max-width:90rem;min-height:56px;padding:var(--tf-space-3) clamp(.5rem, 3vw, 2.5rem) 0;pointer-events:none;margin:0 auto;display:flex;position:relative}.tf-toprow>*{pointer-events:auto}.app-shell:is([data-view=home],[data-view=settings],[data-view=schedule]) .tf-toprow{max-width:72rem;padding-inline:.5rem}.tf-page-head--pull{min-height:56px;margin-top:-56px;padding-right:3.25rem}.tf-page-head--two{padding-right:6.25rem}.tf-page-head{padding-bottom:var(--tf-space-4);gap:2px;display:grid}.tf-page-head.tf-page-head--pull{padding-top:var(--tf-space-3)}.tf-page-head--row{justify-content:space-between;align-items:flex-start;gap:var(--tf-space-3);display:flex}.tf-page-head h1,.tf-identity h1{font:var(--tf-type-display);overflow-wrap:anywhere;margin:0}.tf-page-head h1:focus,.tf-identity h1:focus{outline:none}.tf-page-sub,.tf-page-date{color:var(--tf-text-muted);font:var(--tf-type-secondary);margin:0}.tf-page-actions{align-items:center;gap:var(--tf-space-2);flex:none;display:flex}.tf-page-top{justify-content:space-between;align-items:center;gap:var(--tf-space-2);padding-top:var(--tf-space-3);display:flex}.tf-back a{align-items:center;gap:var(--tf-space-1);min-height:44px;padding-right:var(--tf-space-2);border-radius:var(--tf-radius-m);color:var(--tf-accent);font:var(--tf-type-label);margin-left:-6px;text-decoration:none;display:inline-flex}.tf-status:empty{display:none}.tf-status:not(:empty){margin-bottom:var(--tf-space-4);border-radius:var(--tf-radius-m);background:var(--tf-success-soft);color:var(--tf-text);padding:.75rem .875rem}.tf-section-title{justify-content:space-between;align-items:baseline;gap:var(--tf-space-3);margin:var(--tf-space-5) 0 var(--tf-space-3);font:var(--tf-type-heading);display:flex}.tf-section-count{color:var(--tf-text-muted);font:var(--tf-type-secondary)}.editor-heading{padding-top:var(--tf-space-3)}.tf-tabbar{z-index:20;min-height:var(--tf-tabbar-height);padding:4px 2px env(safe-area-inset-bottom);background:var(--tf-surface);border-top:1px solid var(--tf-line);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.tf-tab{border-radius:var(--tf-radius-m);min-width:0;min-height:56px;color:var(--tf-text-muted);font:700 .75rem/1rem var(--tf-font);text-align:center;align-content:center;justify-items:center;gap:2px;padding:2px 0;text-decoration:none;display:grid}.tf-tab-icon{border-radius:var(--tf-radius-full);width:52px;height:30px;transition:background-color var(--tf-dur) var(--tf-ease);place-items:center;display:grid}.tf-tab-label{overflow-wrap:anywhere;max-width:100%}.tf-tab[aria-current=page]{color:var(--tf-accent)}.tf-tab[aria-current=page] .tf-tab-icon{background:var(--tf-accent-soft)}.tf-tab:focus-visible{outline-offset:-3px}@media (hover:hover){.tf-tab:not([aria-current=page]):hover{color:var(--tf-text)}}.tf-rail{display:none}.tf-rail-brand{margin:0 0 var(--tf-space-4);padding:var(--tf-space-1) var(--tf-space-3);color:var(--tf-accent);font:700 1.25rem/1.625rem var(--tf-font);text-decoration:none;display:block}.tf-rail-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.tf-rail-more{margin-top:var(--tf-space-3);padding-top:var(--tf-space-3);border-top:1px solid var(--tf-line)}.tf-rail-item{align-items:center;gap:var(--tf-space-3);min-height:44px;padding:0 var(--tf-space-3);border-radius:var(--tf-radius-m);color:var(--tf-text);font:var(--tf-type-label);text-decoration:none;display:flex}.tf-rail-item-icon{color:var(--tf-text-muted);display:grid}.tf-rail-item[aria-current=page],.tf-rail-item[aria-current=page] .tf-rail-item-icon{color:var(--tf-accent);background:var(--tf-accent-soft)}.tf-rail-item:focus-visible{outline-offset:-3px}@media (hover:hover){.tf-rail-item:not([aria-current=page]):hover{background:var(--tf-row-hover)}}.tf-rail-foot{padding:var(--tf-space-3);color:var(--tf-text-muted);font:var(--tf-type-secondary);margin:auto 0 0}.tf-rail-foot span,.tf-local span{color:var(--tf-success)}@media (width>=58rem){.app-shell{grid-template-columns:15rem minmax(0,1fr);align-items:start;display:grid}.tf-tabbar,.tf-phone-only{display:none!important}.tf-rail{height:100vh;padding:var(--tf-space-5) var(--tf-space-3);background:var(--tf-surface);border-right:1px solid var(--tf-line);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.tf-page-head h1,.tf-identity h1,.editor-heading h1{font-size:2rem;line-height:2.375rem}}@media (width<=57.99rem){.tf-wide-only{display:none!important}.app-shell:not([data-task]) .tf-content{padding-bottom:calc(var(--tf-tabbar-height) + 16px + env(safe-area-inset-bottom))}}.app-shell:is([data-task],:has(.tf-task:not(.tf-task--root))) .tf-tabbar{display:none}.app-shell:has(.tf-task:not(.tf-task--root)) .tf-toprow{display:none}.tf-home,.tf-settings{max-width:72rem;padding:0 var(--tf-gutter) var(--tf-space-6);margin:0 auto}.tf-page-date+h1{margin-top:2px}.tf-home-grid{display:grid}.tf-board{gap:var(--tf-space-3);padding:var(--tf-space-4);border-radius:var(--tf-radius-xl);color:var(--tf-on-board);background:var(--tf-board);display:grid}.tf-board :focus-visible{outline-color:var(--tf-chalk)}.tf-board p{margin:0}.tf-board-label{font:var(--tf-type-secondary)}.tf-board-title{font:700 1.25rem/1.625rem var(--tf-font-display)}.tf-board-lesson{align-items:baseline;gap:14px;min-width:0;display:flex}.tf-board-lesson>div{min-width:0}.tf-board-time{color:var(--tf-chalk);font:700 2rem/2.25rem var(--tf-font);font-variant-numeric:proportional-nums;flex:none}.tf-board-name{color:inherit;font:700 1.25rem/1.625rem var(--tf-font-display);overflow-wrap:anywhere;text-decoration:none;display:block}.tf-board-name:is(:hover,:focus-visible){text-decoration:underline}.tf-board-meta{font:var(--tf-type-secondary);display:block}@media (width<=24.99rem){.tf-board-lesson{display:block}.tf-board-time{margin-bottom:var(--tf-space-1);display:block}}.tf-tiles{gap:var(--tf-space-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.tf-tile{align-content:start;justify-items:start;gap:var(--tf-space-2);width:100%;height:100%;min-height:96px;padding:var(--tf-space-3);border:1px solid var(--tf-line);border-radius:var(--tf-radius-l);background:var(--tf-surface);color:var(--tf-text);font:var(--tf-type-label);text-align:left;cursor:pointer;text-decoration:none;display:grid}.tf-tile-icon{border-radius:var(--tf-radius-m);width:40px;height:40px;color:var(--tf-accent);background:var(--tf-accent-soft);place-items:center;display:grid}@media (hover:hover){.tf-tile:hover{background:var(--tf-canvas)}}.tf-home-empty{color:var(--tf-text-muted);margin:0}.tf-home-empty a,.tf-home-counts a{color:var(--tf-accent)}.tf-home-counts{margin-top:var(--tf-space-5);color:var(--tf-text-muted);font:var(--tf-type-secondary);text-align:center}.tf-home-counts p{margin:0 0 var(--tf-space-2)}.tf-home-counts a{font-variant-numeric:tabular-nums;min-height:24px;display:inline-block}.tf-local{font:var(--tf-type-caption);font-weight:400}@media (width>=58rem){.tf-home-grid{column-gap:var(--tf-space-6);grid-template:"board quick""today quick""today counts"1fr/minmax(0,1.4fr) minmax(0,1fr);align-items:start}.tf-board{grid-area:board}.tf-home-quick{grid-area:quick}.tf-home-today{grid-area:today}.tf-home-counts{text-align:left;grid-area:counts}.tf-home-quick .tf-section-title{margin-top:0}}.tf-group{background:var(--tf-surface);border:1px solid var(--tf-line);border-radius:var(--tf-radius-l);margin:0;padding:0;list-style:none;overflow:hidden}.tf-group>li{position:relative}.tf-group>li+li:before{content:"";border-top:1px solid var(--tf-line);position:absolute;top:0;left:14px;right:0}.tf-group:has(.tf-avatar)>li+li:before{left:70px}.tf-row{align-items:center;gap:var(--tf-space-3);width:100%;min-height:56px;padding:var(--tf-space-3) 14px;color:var(--tf-text);font:var(--tf-type-body);text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;text-decoration:none;display:grid}.tf-row--button{cursor:pointer;grid-template-columns:44px minmax(0,1fr) 20px}.tf-row:focus-visible{outline-offset:-3px}@media (hover:hover){:is(a,button).tf-row:hover{background:var(--tf-row-hover)}}.tf-row-main{gap:2px;min-width:0;display:grid}.tf-row-main>strong{font:var(--tf-type-subheading);overflow-wrap:anywhere}.tf-row-main>span{color:var(--tf-text-muted);font:var(--tf-type-secondary);overflow-wrap:anywhere}.tf-row-main>span:empty{display:none}.tf-row-time{min-width:56px;font:700 1.0625rem/1.5rem var(--tf-font);font-variant-numeric:proportional-nums}.billing-ledger-list,.payments-totals,.payments-list{font-variant-numeric:tabular-nums}.tf-row-trailing{justify-content:flex-end;align-items:center;gap:var(--tf-space-1) var(--tf-space-2);flex-wrap:wrap;display:flex}.tf-row-trailing:empty{display:none}.tf-row-note{color:var(--tf-text-muted);font:var(--tf-type-secondary);white-space:nowrap}.tf-row-chevron,.tf-students .student-row-chevron{color:var(--tf-text-muted)}.tf-avatar{border-radius:var(--tf-radius-full);width:44px;height:44px;font:700 1rem/1 var(--tf-font);flex:none;place-items:center;display:inline-grid}.tf-avatar-1{color:var(--tf-avatar-1-fg);background:var(--tf-avatar-1-bg)}.tf-avatar-2{color:var(--tf-avatar-2-fg);background:var(--tf-avatar-2-bg)}.tf-avatar-3{color:var(--tf-avatar-3-fg);background:var(--tf-avatar-3-bg)}.tf-avatar-l{width:64px;height:64px;font-size:1.375rem}.tf-badge{border-radius:var(--tf-radius-s);width:fit-content;color:var(--tf-text-muted);background:var(--tf-surface-sunken);font:var(--tf-type-caption);white-space:nowrap;border:0;align-items:center;gap:4px;margin:0;padding:2px 10px;display:inline-flex}.tf-badge--planned{color:var(--tf-accent);background:var(--tf-accent-soft)}.tf-badge--done,.tf-badge--active{color:var(--tf-success);background:var(--tf-success-soft)}.tf-badge--noshow,.tf-badge--paused,.tf-badge--due{color:var(--tf-warning);background:var(--tf-warning-soft)}.tf-badge--due:before{content:"!" / ""}.tf-badge--now{color:var(--tf-on-chalk);background:var(--tf-chalk)}.tf-badges{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.tf-chips{gap:var(--tf-space-2);margin:var(--tf-space-1) calc(-1 * var(--tf-gutter)) 0;padding:2px var(--tf-gutter) 4px;scrollbar-width:none;display:flex;overflow-x:auto}.tf-chip{border:1.5px solid var(--tf-control);border-radius:var(--tf-radius-m);background:var(--tf-surface);min-height:44px;color:var(--tf-text);font:var(--tf-type-label);flex:none;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.tf-chip[aria-pressed=true]{border-color:var(--tf-accent);color:var(--tf-accent);background:var(--tf-accent-soft)}.tf-chip-count{color:var(--tf-text-muted);font-variant-numeric:tabular-nums;font-weight:400}.tf-chip[aria-pressed=true] .tf-chip-count{color:inherit}@media (width>=38rem){.tf-chips{flex-wrap:wrap;margin-inline:0;padding-inline:0}}.tf-segmented{border-radius:var(--tf-radius-btn);background:var(--tf-surface-sunken);scrollbar-width:none;gap:4px;max-width:100%;padding:4px;display:flex;overflow-x:auto}.tf-segmented>button{min-height:44px;color:var(--tf-text-muted);font:var(--tf-type-label);white-space:nowrap;transition:background-color var(--tf-dur) var(--tf-ease);background:0 0;border:0;border-radius:10px;flex:1 0 auto;padding:0 12px}.tf-segmented>[aria-selected=true]{color:var(--tf-text);background:var(--tf-surface);box-shadow:var(--tf-elev-1)}.tf-segmented>button:focus-visible{outline-offset:-3px}.tf-tabpanel{gap:var(--tf-space-4);padding-top:var(--tf-space-4);display:grid}.tf-tabpanel[hidden],.tf-more-filters[hidden]{display:none}.tf-sheet{border-radius:var(--tf-radius-xl) var(--tf-radius-xl) 0 0;width:100%;max-width:100%;max-height:92dvh;color:var(--tf-text);background:var(--tf-surface);box-shadow:var(--tf-elev-2);border:0;margin:auto auto 0;padding:0}.tf-sheet::backdrop{background:var(--tf-scrim)}.tf-sheet-body{grid-template-rows:auto auto minmax(0,1fr) auto;max-height:92dvh;display:grid}.tf-sheet--tall,.tf-sheet--tall .tf-sheet-body{height:92dvh}.tf-sheet-handle{width:36px;height:4px;margin-top:var(--tf-space-2);border-radius:var(--tf-radius-full);background:var(--tf-control);justify-self:center}.tf-sheet-head{justify-content:space-between;align-items:center;gap:var(--tf-space-3);padding:var(--tf-space-2) var(--tf-space-2) var(--tf-space-2) var(--tf-space-4);display:flex}.tf-sheet-head h2{font:var(--tf-type-subheading);overflow-wrap:anywhere;margin:0}.tf-sheet-content{padding:0 var(--tf-space-4) calc(var(--tf-space-4) + env(safe-area-inset-bottom));overflow-y:auto}.tf-sheet-actions{gap:var(--tf-space-2);padding:var(--tf-space-3) var(--tf-space-4) calc(var(--tf-space-3) + env(safe-area-inset-bottom));border-top:1px solid var(--tf-line);display:flex}.tf-menu{margin:0;padding:0;list-style:none;display:grid}.tf-menu-item{align-items:center;gap:var(--tf-space-3);width:100%;min-height:52px;padding:0 var(--tf-space-2);border-radius:var(--tf-radius-m);color:var(--tf-text);font:var(--tf-type-body);text-align:left;cursor:pointer;background:0 0;border:0;text-decoration:none;display:flex}.tf-menu-danger{margin-top:var(--tf-space-1);padding-top:var(--tf-space-1);border-top:1px solid var(--tf-line)}.tf-menu-danger .tf-menu-item{color:var(--tf-danger)}@media (hover:hover){.tf-menu-item:not(:disabled):hover{background:var(--tf-row-hover)}}@media (width>=58rem){.tf-sheet{border-radius:var(--tf-radius-xl);width:min(34rem,100vw - 2rem);margin:auto}.tf-sheet-handle{display:none}.tf-sheet-body{grid-template-rows:auto minmax(0,1fr) auto}.tf-sheet--tall{border-radius:var(--tf-radius-xl) 0 0 var(--tf-radius-xl);width:min(28rem,100vw);height:100dvh;max-height:100dvh;margin:0 0 0 auto}.tf-sheet--tall .tf-sheet-body{height:100dvh;max-height:100dvh}}@media (prefers-reduced-motion:no-preference){.tf-sheet[open]{animation:tf-sheet-in var(--tf-dur-sheet) var(--tf-ease)}}@media (prefers-reduced-motion:reduce){.tf-sheet[open]{animation:tf-fade-in var(--tf-dur-fast) linear}*{scroll-behavior:auto!important;transition-duration:.01ms!important}}@keyframes tf-sheet-in{0%{opacity:0;transform:translateY(24px)}}@keyframes tf-fade-in{0%{opacity:0}}.tf-fab{z-index:15;right:var(--tf-space-4);bottom:calc(var(--tf-tabbar-height) + 16px + env(safe-area-inset-bottom));align-items:center;gap:var(--tf-space-2);min-height:56px;padding:0 var(--tf-space-5) 0 var(--tf-space-4);color:var(--tf-on-accent);background:var(--tf-accent);box-shadow:var(--tf-elev-2);font:700 1.0625rem/1.5rem var(--tf-font);border-radius:18px;text-decoration:none;display:inline-flex;position:fixed}@media (hover:hover){.tf-fab:hover{background:var(--tf-accent-hover)}}.tf-empty{justify-items:center;gap:var(--tf-space-2);padding:var(--tf-space-6) var(--tf-space-4);text-align:center;display:grid}.tf-empty h2{font:var(--tf-type-heading);margin:0}.tf-empty p{max-width:40ch;color:var(--tf-text-muted);font:var(--tf-type-secondary);margin:0}.tf-empty .tf-btn{margin-top:var(--tf-space-2)}.tf-banner{gap:var(--tf-space-3);border-radius:var(--tf-radius-m);color:var(--tf-text);background:var(--tf-accent-soft);justify-items:start;padding:.75rem .875rem;display:grid}.tf-banner p{margin:0}.tf-banner--warning{background:var(--tf-warning-soft)}.tf-search-bar{z-index:3;padding:var(--tf-space-2) 0;background:var(--tf-canvas);position:sticky;top:0}.tf-search{display:block;position:relative}.tf-search-icon{color:var(--tf-text-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.tf-search input{padding-left:46px;padding-right:48px}.tf-search-clear{position:absolute;top:50%;right:4px;transform:translateY(-50%)}.tf-settings .tf-tabpanel>.editor-card{background:0 0;border:0;padding:0}.student-add-link{justify-content:center;align-items:center;min-height:2.75rem;text-decoration:none;display:inline-flex}.student-filters{grid-template-columns:minmax(12rem,2fr) repeat(3,minmax(9rem,1fr)) auto;align-items:end;gap:.9rem;margin-bottom:1rem;display:grid}.student-clear{min-height:2.75rem}.student-results{gap:.75rem;display:grid}.student-count{color:var(--muted);margin:0;font-size:.9rem;font-weight:700}.guardian-list,.trash-list,.student-activity-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.status-chip.student-status-paused{color:var(--warning);background:color-mix(in srgb, var(--warning) 12%, var(--surface))}.status-chip.student-status-archived{color:var(--muted);background:var(--surface-soft);border:1px solid var(--border)}.student-more{justify-self:start}.student-notice{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.student-new{max-width:52rem}.student-field-grid{margin-top:0}.student-field-grid .field{align-content:start}.students-page .field-help{font-size:.8rem;font-weight:450}.student-field-wide{grid-column:1/-1}.student-fieldset{border:0;margin:1.1rem 0 0;padding:0}.student-fieldset legend{color:var(--text);margin-bottom:.75rem;font-weight:750}.student-notes{margin-top:1rem}.field-optional{color:var(--muted);font-weight:500}.field-error{color:var(--danger);font-weight:650}.students-page :is(input,select,textarea)[aria-invalid=true]{border:2px solid var(--tf-danger)}.student-form-actions{flex-wrap:wrap;gap:.6rem;margin-top:1.1rem;display:flex}.student-form-summary{align-self:center;margin:0}.student-details-summary{gap:.75rem;display:grid}.student-details-summary .section-heading{margin-bottom:0}.student-details-lines{gap:.35rem;margin:0;display:grid}.student-details-lines>div{flex-wrap:wrap;gap:0 .5rem;display:flex}.student-details-lines dt{min-width:6.5rem;color:var(--muted);font-size:.85rem}.student-details-lines dd{overflow-wrap:anywhere;margin:0;font-weight:600}.student-details-edit{justify-self:start;min-height:2.75rem}.student-later-line{margin:0}.students-page h1{overflow-wrap:anywhere}.student-status-control{gap:.4rem;max-width:26rem;display:grid}.student-status-label{color:var(--muted);font-size:.82rem;font-weight:650}.student-status-buttons{flex-wrap:wrap;gap:.4rem;display:flex}.student-status-buttons [aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.student-status-control .helper-text{margin:0}.guardian-card,.guardian-form{border:1px solid var(--border);background:var(--surface-soft);border-radius:.75rem;gap:.75rem;padding:1rem;display:grid}.guardian-form h3,.guardian-card h3{overflow-wrap:anywhere;margin:0;font-size:1rem}.guardian-card-heading{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.guardian-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem 1rem;margin:0;display:grid}.guardian-details dt{color:var(--muted);font-size:.78rem;font-weight:700}.guardian-details dd{overflow-wrap:anywhere;margin:.15rem 0 0}.guardian-notes{white-space:pre-line;grid-column:1/-1}.guardian-actions{flex-wrap:wrap;gap:.5rem;display:flex}.student-add-guardian,.guardian-list+.guardian-form{margin-top:.9rem}.student-primary-check{align-self:end;min-height:2.75rem}.student-confirm{color:var(--text);background:var(--danger-soft);border-radius:.65rem;gap:.25rem;padding:.8rem;display:grid}.student-confirm p{margin:0}.student-confirm .student-form-actions{margin-top:.5rem}.student-activity-list li,.trash-row{border:1px solid var(--border);background:var(--surface-soft);border-radius:.65rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem;display:flex}.student-activity-list li>div,.trash-row>div{gap:.2rem;min-width:0;display:grid}.student-activity-list span:not(.optional-label),.trash-row small,.trash-row span{color:var(--muted);overflow-wrap:anywhere;font-size:.82rem}.student-activity-list .optional-label{flex:none}.student-trash .helper-text{margin:1rem 0 0}.student-trash-notice{justify-items:start;gap:.75rem;display:grid}.student-trash-notice p{margin:0}.students-page .danger{color:var(--danger)}@media (width<=58rem){.student-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.student-search{grid-column:1/-1}.students-page :is(select,input:not([type=checkbox],[type=radio],[type=file])){min-height:2.75rem}.students-page .check-label input{width:1.25rem;height:1.25rem}}@media (width<=38rem){.student-filters,.guardian-details{grid-template-columns:1fr}.student-row,.trash-row,.student-activity-list li{flex-direction:column;align-items:stretch}.student-row .status-chip,.student-activity-list .optional-label{align-self:start}.student-row{padding-right:2.5rem;position:relative}.student-row-chevron{position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.guardian-actions>*,.student-form-actions>*,.trash-row>button{flex:auto}}.tf-students{padding-bottom:var(--tf-space-6)}.tf-students-list{padding-bottom:6rem}@media (width<=38rem){.tf-students.import-page{padding-inline:var(--tf-gutter)}}.tf-students .student-filters{margin-bottom:var(--tf-space-2);display:block}.tf-filter-row{gap:var(--tf-space-1);margin-top:var(--tf-space-1);flex-wrap:wrap;display:flex}.tf-more-filters{gap:var(--tf-space-3);margin-top:var(--tf-space-2);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));display:grid}.tf-students .student-results{gap:0}.tf-letter{margin:var(--tf-space-5) 0 6px 4px;color:var(--tf-text-muted);font:var(--tf-type-label)}.tf-letter-group:first-child .tf-letter{margin-top:var(--tf-space-2)}.tf-students .student-row{align-items:center;gap:var(--tf-space-3);background:0 0;border:0;border-radius:0;grid-template-columns:44px minmax(0,1fr) auto 20px;min-height:64px;padding:10px 14px;display:grid;position:static}.tf-students .student-row-main>strong{color:var(--tf-text);font:var(--tf-type-subheading)}.tf-students .student-row-main>span{font:var(--tf-type-secondary)}.tf-students .student-row-chevron{grid-column:4;position:static;transform:none}.tf-students .student-row .tf-row-trailing{grid-column:3}.tf-page-sub.student-count{font-weight:400}.tf-students-list :is(.student-filters,.student-results){max-width:45rem}.tf-students .student-more{margin-top:var(--tf-space-4);justify-self:center}@media (hover:hover){.tf-students .student-row:hover{background:var(--tf-row-hover)}}@media (width<=38rem){.tf-students .student-row{row-gap:var(--tf-space-1);grid-template-columns:44px minmax(0,1fr) 20px}.tf-students .student-row>.tf-avatar,.tf-students .student-row-main{grid-row:1}.tf-students .student-row .tf-row-trailing{grid-area:2/2;justify-content:flex-start}.tf-students .student-row-chevron{grid-area:1/3/span 2}}.tf-profile{gap:var(--tf-space-4);display:grid}.tf-profile>*{min-width:0}.tf-identity{margin-top:var(--tf-space-2);align-items:center;gap:14px;display:flex}.tf-identity>div{min-width:0}.tf-profile-actions{gap:var(--tf-space-2);margin-top:var(--tf-space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.tf-profile-tabs{z-index:3;position:sticky;top:0}@media (width>=58rem){.tf-profile{gap:var(--tf-space-6);grid-template-columns:22rem minmax(0,1fr);align-items:start}.tf-profile-side{top:var(--tf-space-4);position:sticky}}.tf-students .tf-tabpanel :is(.editor-card,.student-details-form){background:0 0;border:0;border-radius:0;padding:0}.tf-students .tf-tabpanel .section-heading{margin-bottom:var(--tf-space-3)}.tf-students .tf-tabpanel :is(.guardian-list,.billing-package-list,.billing-ledger-list,.message-history-list,.schedule-summary-list){background:var(--tf-surface);border:1px solid var(--tf-line);border-radius:var(--tf-radius-l);gap:0;overflow:hidden}.tf-students .tf-tabpanel :is(.guardian-list,.billing-package-list,.billing-ledger-list,.message-history-list,.schedule-summary-list)>li{background:0 0;border:0;border-radius:0}.tf-students .tf-tabpanel :is(.guardian-list,.billing-package-list,.billing-ledger-list,.message-history-list,.schedule-summary-list)>li+li{border-top:1px solid var(--tf-line)}.tf-students .tf-tabpanel .guardian-card,.tf-students .tf-tabpanel .billing-package{background:0 0;border:0;border-radius:0}.tf-students .student-later-line{color:var(--tf-text-muted)}.student-details-lines.tf-group{gap:0}.student-details-lines.tf-group>div{padding:var(--tf-space-3) 14px}.student-details-lines.tf-group>div+div{border-top:1px solid var(--tf-line)}.tf-students .student-status-control{max-width:none}.tf-students .student-status-label{color:var(--tf-text);font:var(--tf-type-label)}.tf-students .student-status-buttons{border-radius:var(--tf-radius-btn);background:var(--tf-surface-sunken);gap:4px;width:fit-content;max-width:100%;padding:4px}.tf-students .student-status-buttons>button{color:var(--tf-text-muted);background:0 0;border:0;border-radius:10px}.tf-students .student-status-buttons>[aria-pressed=true]{color:var(--tf-text);background:var(--tf-surface);box-shadow:var(--tf-elev-1)}.tf-students .student-confirm{gap:var(--tf-space-3);background:0 0;padding:0}.schedule-agenda{gap:1rem;display:grid}.schedule-filter{width:min(100%,18rem)}.schedule-day{gap:.6rem;display:grid}.schedule-day h2{margin:.5rem 0 0;font-size:1.05rem}.schedule-lessons,.schedule-template-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.schedule-panel{gap:.6rem;display:grid}.schedule-panel p{margin:0}.schedule-panel .student-form-actions{margin-top:.25rem}.schedule-panel-grid{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));margin-top:0}.schedule-history h3{margin:0 0 .35rem;font-size:.9rem}.schedule-history ol{color:var(--muted);margin:0;padding-left:1.2rem;font-size:.85rem}.schedule-weekday-list{flex-wrap:wrap;gap:.5rem;display:flex}.schedule-weekday{border:1px solid var(--border-strong);background:var(--surface);min-height:2.75rem;color:var(--text);border-radius:.65rem;padding:.4rem .75rem;font-size:.9rem}.schedule-weekday:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.schedule-templates h2,.schedule-settings h2{margin:0 0 .75rem;font-size:1.15rem}.schedule-template{border:1px solid var(--border);background:var(--surface-soft);border-radius:.65rem;gap:.6rem;padding:.75rem;display:grid}.schedule-template>div:first-child{gap:.25rem;min-width:0;display:grid}.schedule-template>div:first-child span{color:var(--muted);overflow-wrap:anywhere;font-size:.85rem}.schedule-template .status-chip{justify-self:start}.schedule-template a.secondary-button,.schedule-manage-link{text-decoration:none}.schedule-settings,.schedule-summary{gap:.75rem;display:grid}.schedule-summary .section-heading{margin-bottom:0}.schedule-summary .helper-text,.schedule-summary .field-error{margin:0}.schedule-manage-link{justify-self:start;min-height:2.75rem}@media (width<=38rem){.schedule-template .guardian-actions>*{flex:auto}.schedule-weekday{flex:8rem}}.schedule-summary-toggle{justify-self:start;min-height:2.75rem}.action-text-short{display:none}@media (width<=30rem){.action-text-full{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.action-text-short{display:inline}}.reminder-bell{align-items:center;display:flex;position:relative}.reminder-bell-button{border-radius:var(--tf-radius-m);min-width:44px;min-height:44px;color:var(--tf-text);background:0 0;border:0;place-items:center;padding:0;display:inline-grid;position:relative}.reminder-bell-button svg{width:24px;height:24px}.reminder-bell-text{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.reminder-bell-button[aria-expanded=true]{color:var(--tf-accent);background:var(--tf-accent-soft)}@media (hover:hover){.reminder-bell-button:hover{background:var(--tf-surface-sunken)}}.reminder-badge{border-radius:var(--tf-radius-full);min-width:18px;height:18px;color:var(--tf-on-danger);background:var(--tf-danger);font:700 .75rem/18px var(--tf-font);place-items:center;padding:0 5px;display:inline-grid;position:absolute;top:3px;right:1px}.reminder-panel{z-index:30;border:1px solid var(--tf-line);border-radius:var(--tf-radius-xl);background:var(--tf-surface);width:min(26rem,100vw - 1.5rem);max-height:min(34rem,100vh - 6rem);box-shadow:var(--tf-elev-2);gap:.85rem;padding:1rem;display:grid;position:absolute;top:calc(100% + .5rem);right:0;overflow-y:auto}.reminder-panel:focus{outline:none}.reminder-panel-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.reminder-panel h2{margin:0;font-size:1.15rem}.reminder-panel h3,.reminder-settings-panel h3{margin:0 0 .5rem;font-size:.95rem}.reminder-panel-close{min-width:2.75rem;min-height:2.75rem;font-size:1.25rem;line-height:1}.reminder-panel .helper-text,.reminder-settings .helper-text{margin:0}.reminder-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.reminder-item{border:1px solid var(--border);background:var(--surface-soft);border-radius:.65rem;gap:.5rem;padding:.7rem;display:grid}.reminder-item-delivered{border-color:var(--accent)}.reminder-item-text{overflow-wrap:anywhere;gap:.2rem;min-width:0;display:grid}.reminder-item-text>span{color:var(--muted);font-size:.85rem}.reminder-item-meta{font-weight:650}.reminder-item-actions{flex-wrap:wrap;gap:.5rem;display:flex}.reminder-item-actions>*{min-height:2.75rem;text-decoration:none}.reminder-settings{gap:.75rem;display:grid}.reminder-settings h2{margin:0;font-size:1.15rem}.reminder-settings-panel{border:1px solid var(--border);background:var(--surface-soft);border-radius:.65rem;padding:.75rem}.reminder-settings .student-form-actions>*,.reminder-template-field .check-label{min-height:2.75rem}.reminder-settings .student-fieldset{margin-top:0}.reminder-settings .schedule-weekday-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.reminder-outcome:empty{display:none}.reminder-mode{flex-wrap:wrap;gap:.25rem 1rem;margin-bottom:.5rem;display:flex}.reminder-template-field .field-help{margin-top:.5rem;display:block}@media (width<=38rem){.reminder-bell-text{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.reminder-bell{position:static}.reminder-panel{width:auto;top:calc(100% - .25rem);left:.75rem;right:.75rem}}.message-composer .message-choice{flex-wrap:wrap;gap:.35rem 1rem;margin:0;display:flex}.message-composer .message-choice legend{margin-bottom:.4rem}.message-composer .message-missing{flex:100%;margin:0}.message-composer .check-label{min-height:2.75rem;font-size:.88rem}.message-composer .check-label input{flex:none;width:1.25rem;height:1.25rem}.message-body{resize:vertical;width:100%;min-height:8rem}.message-hints{color:var(--muted);gap:.25rem;margin:0;padding-left:1.1rem;font-size:.82rem;display:grid}a.message-open{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.message-status:empty{display:none}.message-history,.message-templates{gap:.75rem;display:grid}.message-history h2,.message-templates h2,.message-history .helper-text,.message-templates .helper-text{margin:0}.message-start{justify-self:start}.message-template-form,.message-sender-form{gap:.6rem;display:grid}.message-templates .student-fieldset{gap:.6rem;margin:0;display:grid}.message-templates :is(input,select,textarea){width:100%;min-height:2.75rem}@media (width<=38rem){.message-composer .student-form-actions>*{flex:auto}.message-start{justify-self:stretch}}.billing-packages,.billing-settings,.billing-form,.billing-ledger{gap:.75rem;display:grid}.billing-packages h2,.billing-settings h2{margin:0}.billing-settings h2{font-size:1.15rem}.billing-packages .helper-text,.billing-packages .field-error,.billing-settings .helper-text,.billing-settings .field-error,.billing-form .helper-text,.billing-form .field-error,.billing-ledger .helper-text{margin:0}.billing-form h3,.billing-ledger h3{margin:0;font-size:1rem}.billing-summary,.billing-money-line{flex-wrap:wrap;align-items:center;gap:.35rem .75rem;margin:0;font-size:1.05rem;display:flex}.billing-summary span:not(.status-chip),.billing-money-line span{color:var(--muted);font-size:.85rem}.status-chip.billing-unpaid,.billing-hint-unpaid{color:var(--warning)}.status-chip.billing-unpaid{background:var(--danger-soft)}.billing-notice{color:var(--success);margin:0;font-size:.88rem}.billing-notice:empty{display:none}.billing-new{justify-self:start;min-height:2.75rem}.billing-form{border:1px solid var(--border);background:var(--surface-soft);border-radius:.65rem;padding:.85rem}.billing-form :is(input,select,textarea),.billing-settings :is(select,input[type=number]){width:100%;min-height:2.75rem}.billing-price-row,.billing-date-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem;display:grid}.billing-package-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.billing-package{border:1px solid var(--border);background:var(--surface);border-radius:.65rem;gap:.4rem;padding:.85rem;display:grid}.billing-package-head{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;display:flex}.billing-package-name{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.9rem}.billing-package-left{margin:0;font-size:1.05rem;font-weight:700}.billing-package-meta{color:var(--muted);overflow-wrap:anywhere;flex-wrap:wrap;gap:.2rem .85rem;margin:0;font-size:.85rem;display:flex}.billing-package-actions{flex-wrap:wrap;gap:.5rem;display:flex}.billing-package-actions>button,.billing-ledger-list button,.billing-settings button,.billing-form button,.billing-archived button{min-height:2.75rem}.status-chip.billing-expired{color:var(--warning)}.billing-archived{justify-items:start;gap:.5rem;display:grid}.billing-archived .student-activity-list{width:100%}.billing-ledger-list li{flex-wrap:wrap}.billing-ledger-list li>div{flex:auto;min-width:min(100%,14rem)}.billing-reverse{flex:100%}.billing-ledger-toggle{justify-self:start;min-height:2.75rem}.billing-settings .check-label{min-height:2.75rem}.billing-settings .check-label input{width:1.25rem;height:1.25rem}.billing-hint{color:var(--muted);text-align:end;flex-basis:100%;font-size:.8rem}.billing-money{gap:.5rem;display:grid}.billing-money .helper-text{margin:0}.billing-money-owed{color:var(--warning)}.billing-money-line .billing-remind{margin-inline-start:auto;padding-inline:.5rem}.billing-settle p{margin:0}.payments-totals{flex-wrap:wrap;gap:.75rem 2rem;margin:0 0 1rem;display:flex}.payments-totals dt{color:var(--muted);font-size:.85rem}.payments-totals dd{overflow-wrap:anywhere;margin:0;font-size:1.1rem;font-weight:700}.payments-filters{gap:.9rem;margin-bottom:1rem;display:grid}.payments-filter-fields{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:.9rem;display:grid}.payments-page :is(select,input:not([type=checkbox])){width:100%;min-height:2.75rem}.payments-filters-toggle{display:none}.payments-list li{flex-wrap:wrap}.payments-list li>div{flex:auto;min-width:min(100%,14rem)}.payments-list button{min-height:2.75rem}.payments-reversed strong{text-decoration:line-through}@media (width<=58rem){.payments-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=40rem){.payments-filters-toggle{justify-self:start;min-height:2.75rem;display:inline-flex}.payments-filter-fields{grid-template-columns:1fr}.payments-filter-fields:not([data-open]){display:none}}@media (width<=38rem){.payments-list li{flex-wrap:nowrap}.billing-price-row,.billing-date-row{grid-template-columns:1fr}.billing-new,.billing-package-actions>button,.billing-form .student-form-actions>*{flex:auto;justify-self:stretch}.billing-hint{text-align:start}}.tf-btn[hidden]{display:none!important}.tf-saved:empty{display:none}.tf-saved{color:var(--tf-success);font:var(--tf-type-label);margin:0}.tf-saved:before{content:"✓ " / ""}.tf-segmented>a{min-height:44px;color:var(--tf-text-muted);font:var(--tf-type-label);white-space:nowrap;transition:background-color var(--tf-dur) var(--tf-ease);border-radius:10px;flex:1 0 auto;place-items:center;padding:0 12px;text-decoration:none;display:inline-grid}.tf-segmented>a[aria-current=page]{color:var(--tf-text);background:var(--tf-surface);box-shadow:var(--tf-elev-1)}.tf-segmented>a:focus-visible{outline-offset:-3px}.tf-sheet-sub{margin:0 0 var(--tf-space-2);color:var(--tf-text-muted);font:var(--tf-type-secondary);overflow-wrap:anywhere}.tf-sheet-choices{gap:var(--tf-space-2);display:grid}.tf-sheet .schedule-panel-grid{margin-top:0}.tf-menu-item>svg{color:var(--tf-text-muted);flex:none}.tf-menu-danger .tf-menu-item>svg{color:inherit}.tf-menu-item:disabled{color:var(--tf-text-muted);background:0 0}@media (width<=38rem){.tf-sheet .schedule-panel-grid{grid-template-columns:1fr}}.tf-program{max-width:72rem;padding:0 var(--tf-gutter) 6rem;margin:0 auto}.tf-program>:is(.tf-page-head,.tf-page-top,.error-summary,[role=status]),.tf-program-controls,.tf-program>.tf-agenda{max-width:45rem}.tf-program-controls{gap:var(--tf-space-3);margin-bottom:var(--tf-space-4);display:grid}.tf-program .schedule-filter{width:100%;max-width:20rem}.tf-agenda{gap:var(--tf-space-5);align-content:start;display:grid}.tf-agenda-layout{gap:var(--tf-space-6);display:grid}@media (width>=58rem){.tf-agenda-layout{grid-template-columns:minmax(0,45rem) 20rem;align-items:start}.tf-agenda-side{top:var(--tf-space-4);position:sticky}}.tf-day{gap:var(--tf-space-2);display:grid}.tf-day>.tf-day-head{z-index:2;padding:var(--tf-space-2) 0;background:var(--tf-canvas);font:var(--tf-type-subheading);margin:0;position:sticky;top:0}@media (width>=58rem){.tf-day>.tf-day-head{font:var(--tf-type-heading)}}.tf-lessons{gap:var(--tf-space-2);margin:0;padding:0;list-style:none;display:grid}.tf-lesson{gap:var(--tf-space-3);padding:var(--tf-space-3) 14px;border:1px solid var(--tf-line);border-radius:var(--tf-radius-l);background:var(--tf-surface);grid-template-columns:minmax(64px,max-content) minmax(0,1fr) auto;align-items:start;display:grid;position:relative}.tf-lesson--now:before{content:"";border-radius:var(--tf-radius-l) 0 0 var(--tf-radius-l);background:var(--tf-chalk);width:4px;position:absolute;top:-1px;bottom:-1px;left:-1px}.tf-lesson-time{font-weight:400;display:grid}.tf-lesson-time .schedule-lesson-time{display:grid}.tf-lesson-start{font:700 1.25rem/1.625rem var(--tf-font);font-variant-numeric:proportional-nums;white-space:nowrap}.tf-lesson-end{color:var(--tf-text-muted);font:var(--tf-type-secondary);font-variant-numeric:proportional-nums;white-space:nowrap}.tf-lesson-main{gap:2px;min-width:0;display:grid}.tf-lesson-main>span{color:var(--tf-text-muted);font:var(--tf-type-secondary);overflow-wrap:anywhere}.tf-lesson-main>.tf-lesson-name{color:var(--tf-text);font:var(--tf-type-subheading)}.tf-lesson-name a{color:inherit;text-decoration:none}.tf-lesson-name a:is(:hover,:focus-visible){text-decoration:underline}.tf-lesson-main>.schedule-lesson-note{white-space:pre-line}.tf-lesson-main .billing-hint{text-align:start}.tf-lesson-badges{align-items:flex-end;gap:var(--tf-space-1);flex-direction:column;display:flex}.tf-badge.schedule-status.tf-badge--done:before{content:"✓" / ""}.tf-badge.schedule-status.tf-badge--noshow:before{content:"!" / ""}.tf-badge.schedule-status.tf-badge--cancel:before{content:"×" / ""}.tf-lesson-actions{gap:var(--tf-space-2);grid-column:1/-1;grid-template-columns:minmax(0,1fr) 48px;display:grid}.tf-lesson-actions>.tf-btn{min-height:48px}.tf-lesson-actions>.tf-lesson-more:only-child{grid-column:2}.tf-lesson-more{border:1.5px solid var(--tf-control);background:var(--tf-surface);width:48px;min-height:48px}@media (width<=38rem){.tf-lesson{row-gap:var(--tf-space-2);grid-template-columns:minmax(56px,max-content) minmax(0,1fr)}.tf-lesson-badges{flex-flow:wrap;grid-column:2;justify-content:flex-start;align-items:center}.tf-program{padding-bottom:7rem}}.tf-agenda-side .editor-card{background:0 0;border:0;padding:0}.tf-settings{padding-bottom:6rem}.tf-settings-form,.tf-settings-section{gap:var(--tf-space-3);display:grid}.tf-settings-section>.helper-text,.tf-settings-form>.helper-text{margin:0}.tf-setting-title{margin:var(--tf-space-3) 0 0;color:var(--tf-text-muted);font:var(--tf-type-label)}.tf-setting-group>li.tf-setting{align-items:center;gap:var(--tf-space-3);min-height:56px;padding:var(--tf-space-3) 14px;grid-template-columns:minmax(0,1fr) auto;display:grid}.tf-setting>label,.tf-setting-label{min-width:0;color:var(--tf-text);font:var(--tf-type-body);overflow-wrap:anywhere}.tf-setting-label{gap:2px;display:grid}.tf-setting-label>p{margin:0}.tf-setting-help{color:var(--tf-text-muted);font:var(--tf-type-secondary)}.tf-setting select{width:auto;max-width:min(14rem,45vw)}.tf-setting input:not([type=checkbox],[type=radio]){width:min(14rem,45vw)}.tf-setting input.tf-setting-number{text-align:end;width:6.5rem}.tf-setting input[type=checkbox]{justify-self:end;margin:0}.tf-setting>label:has(+input[type=checkbox]){cursor:pointer}.tf-setting-control{justify-content:flex-end;gap:var(--tf-space-2);flex-wrap:wrap;display:flex}.tf-row--setting{cursor:pointer;grid-template-columns:minmax(0,1fr) 20px}.tf-actionbar{justify-content:flex-end;gap:var(--tf-space-2);padding:var(--tf-space-3) 0;display:flex}@media (width<=57.99rem){.tf-actionbar{bottom:calc(var(--tf-tabbar-height) + env(safe-area-inset-bottom));z-index:3;margin:0 calc(-1 * var(--tf-gutter));padding:var(--tf-space-3) var(--tf-gutter);border-top:1px solid var(--tf-line);background:var(--tf-surface);position:sticky}.tf-actionbar>.tf-btn{flex:auto}}@media (width<=38rem){.tf-setting-group>li.tf-setting:has(.tf-setting-control){grid-template-columns:1fr}.tf-setting-group>li.tf-setting:has(.tf-setting-control) .tf-setting-control{justify-content:flex-start}}.tf-students .tf-tabpanel .section-heading,.tf-students .tf-tabpanel .student-details-summary>h2{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tf-students .tf-tabpanel .schedule-summary-list>li{align-items:center;gap:var(--tf-space-3);padding:var(--tf-space-3) 14px;grid-template-columns:minmax(0,1fr) auto;display:grid}.tf-students .tf-tabpanel .schedule-summary-list strong{white-space:nowrap;font-variant-numeric:proportional-nums}.tf-students .tf-tabpanel .schedule-summary-list .tf-badge{flex:none}.tf-sheets{padding-bottom:7rem}.tf-sheets>*{max-width:45rem}.tf-sheets .tf-section-title{margin-top:0}.worksheet-list .tf-row{grid-template-columns:minmax(0,1fr) 20px}@media (width<=38rem){.tf-sheets.import-page{padding-inline:var(--tf-gutter)}}.tf-bank{padding-bottom:7rem}.tf-bank>:is(.tf-page-head,.tf-page-top,.error-summary,[role=status]),.tf-bank .bank-filters,.tf-bank .bank-results,.tf-bank .bank-trash{max-width:45rem}@media (width<=38rem){.tf-bank.import-page{padding-inline:var(--tf-gutter)}}.bank-filters{gap:var(--tf-space-2);margin-bottom:var(--tf-space-3);display:grid}.bank-filter-fields{gap:var(--tf-space-4);display:grid}.bank-results{gap:var(--tf-space-3);display:grid}.bank-count-row{justify-content:space-between;align-items:center;gap:0 var(--tf-space-3);flex-wrap:wrap;display:flex}.bank-count{color:var(--tf-text-muted);font:var(--tf-type-label);margin:0}.bank-count:focus{outline:none}.bank-build-link{min-height:44px;color:var(--tf-accent);font:var(--tf-type-label);align-items:center;display:inline-flex}.bank-clear{margin-left:auto}.bank-row{align-items:start;gap:var(--tf-space-3);padding:var(--tf-space-3) var(--tf-space-1) var(--tf-space-3) 14px;grid-template-columns:40px minmax(0,1fr) 20px 44px;display:grid;position:relative}.bank-list>li+li:before{left:66px}@media (hover:hover){.bank-row:hover{background:var(--tf-row-hover)}}.tf-type-glyph{border-radius:var(--tf-radius-m);width:40px;height:40px;color:var(--tf-text);background:var(--tf-surface-sunken);font:var(--tf-type-caption);place-items:center;display:grid}.bank-row-main{gap:2px;min-width:0;display:grid}.bank-row-type{align-items:center;gap:var(--tf-space-1) var(--tf-space-2);color:var(--tf-text-muted);font:var(--tf-type-label);flex-wrap:wrap;display:flex}.bank-row-excerpt{font:var(--tf-type-body);overflow-wrap:anywhere;font-weight:700}.bank-row-link{-webkit-line-clamp:2;line-clamp:2;color:inherit;-webkit-box-orient:vertical;text-decoration:none;display:-webkit-box;overflow:hidden}.bank-row-link:after{content:"";position:absolute;inset:0}.bank-row-link:focus-visible{outline:none}.bank-row-link:focus-visible:after{outline:3px solid var(--tf-focus);outline-offset:-3px}.bank-row-meta{color:var(--tf-text-muted);font:var(--tf-type-secondary);overflow-wrap:anywhere}.bank-tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.bank-tag.tf-badge,.bank-badge.tf-badge{white-space:normal;overflow-wrap:anywhere}.bank-row-chevron{align-self:center}.bank-row-more{z-index:1;align-self:center;position:relative}.bank-trash-button{color:var(--tf-danger)}.bank-more{justify-self:start}.bank-notice{margin-bottom:var(--tf-space-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.bank-trash .helper-text{margin:1rem 0 0}.tf-bank .tf-empty .tf-btn--quiet{margin-top:0}.tf-empty.import-empty{padding:var(--tf-space-6) var(--tf-space-4);color:var(--tf-text);border:0}@media (width<=38rem){.bank-row{column-gap:var(--tf-space-2)}}@media (width>=80rem){:is(.tf-program,.tf-bank,.tf-sheets)>.tf-page-head.tf-page-head--pull{padding-right:0}}.tf-task{max-width:none;padding:0 0 calc(96px + env(safe-area-inset-bottom));margin:0}.tf-taskbar{z-index:6;background:var(--tf-surface);border-bottom:1px solid var(--tf-line);position:sticky;top:0}.tf-taskbar-row{align-items:center;gap:var(--tf-space-2);max-width:90rem;min-height:56px;padding:6px var(--tf-space-2);margin:0 auto;display:flex}.tf-taskbar-row:not(:has(.tf-taskbar-close)){padding-left:var(--tf-gutter)}.tf-taskbar-title{min-width:0;font:var(--tf-type-subheading);white-space:nowrap;text-overflow:ellipsis;flex:auto;margin:0;overflow:hidden}.tf-taskbar-title:focus{outline:none}.tf-taskbar-status{align-items:center;gap:var(--tf-space-2);max-width:50%;padding-right:var(--tf-space-2);color:var(--tf-text-muted);font:var(--tf-type-secondary);text-align:right;flex:0 auto;display:flex}.tf-taskbar-status:empty{display:none}.tf-taskbar-status .dirty-indicator{color:var(--tf-text-muted);font:var(--tf-type-secondary);white-space:normal;background:0 0;padding:0}.tf-taskbar-status .tf-saved{margin:0}.tf-task-body{gap:var(--tf-space-5);max-width:90rem;padding:var(--tf-space-5) var(--tf-gutter) 0;margin:0 auto;display:grid}.tf-task-body>*{min-width:0}.tf-task-intro{max-width:65ch;color:var(--tf-text-muted);font:var(--tf-type-secondary);margin:0}.tf-actionbar--task{z-index:6;justify-content:space-between;align-items:center;gap:var(--tf-space-2) var(--tf-space-4);padding:var(--tf-space-3) var(--tf-gutter) calc(var(--tf-space-3) + env(safe-area-inset-bottom));border-top:1px solid var(--tf-line);background:var(--tf-surface);margin:0;position:fixed;bottom:0;left:0;right:0}.tf-actionbar-status{min-width:0;display:grid}.tf-actionbar-status p{color:var(--tf-text-muted);font:var(--tf-type-secondary);margin:0}.tf-actionbar-buttons{justify-content:flex-end;gap:var(--tf-space-2);flex-wrap:wrap;margin-left:auto;display:flex}@media (width<=57.99rem){.tf-actionbar--task{flex-direction:column;align-items:stretch}.tf-actionbar--task .tf-actionbar-status:empty{display:none}.tf-actionbar-buttons{width:100%;margin-left:0}.tf-actionbar-buttons>*{white-space:nowrap;flex:auto}}@media (width>=38rem){.tf-task-body{padding-inline:var(--tf-space-5)}}@media (width>=58rem){.tf-task-body{gap:var(--tf-space-6);padding:var(--tf-space-6) var(--tf-space-6) 0}.tf-taskbar-row{padding-inline:var(--tf-space-4) var(--tf-space-6)}.app-shell .tf-actionbar--task{padding-inline:var(--tf-space-6);left:15rem}}.tf-banner--error{background:var(--tf-danger-soft)}.tf-banner--success{background:var(--tf-success-soft)}.tf-banner.error-summary{border-left:0;margin:0}.editor-page .editor-layout,.editor-page :is(.editor-main,.editor-sidebar){gap:var(--tf-space-6)}.editor-page .editor-sidebar{position:static}.editor-page .editor-card{background:0 0;border:0;border-radius:0;padding:0}.editor-page .section-heading{margin-bottom:var(--tf-space-3);align-items:center}.editor-page .section-heading h2{font:var(--tf-type-heading);margin:0}.editor-page :is(.editor-main,.editor-sidebar)>*+*{padding-top:var(--tf-space-6);border-top:1px solid var(--tf-line)}.editor-type .field{max-width:28rem}.tf-task :is(.option-list,.multi-part-child){min-width:0;padding:0 14px var(--tf-space-3);border:1px solid var(--tf-line);border-radius:var(--tf-radius-l);background:var(--tf-surface)}.tf-task :is(.option-list,.multi-part-child)>legend{float:left;width:100%;padding:var(--tf-space-3) 0 var(--tf-space-2);font:var(--tf-type-label);margin:0}.tf-task :is(.option-list,.multi-part-child)>legend+*{clear:both}.tf-task .option-row{padding:var(--tf-space-2) 0;margin:0}.tf-task .option-row+.option-row{border-top:1px solid var(--tf-line)}.tf-task :is(.rubric-criterion,.blank-card,.equation-alternate){border:1px solid var(--tf-line);border-radius:var(--tf-radius-l);background:var(--tf-surface)}.tf-task .multi-part-child :is(.editor-card,.media-card){padding-top:var(--tf-space-4);border-top:1px solid var(--tf-line)}.tf-task .answer-radio{border-radius:var(--tf-radius-m);background:var(--tf-surface-sunken);border-color:var(--tf-line);width:44px;height:44px}.tf-task--root{padding-bottom:var(--tf-space-6)}.tf-task--root .tf-taskbar{background:0 0;border:0;margin-top:-56px;position:static}.tf-task--root .tf-taskbar-row{padding:var(--tf-space-3) 3.25rem 0 var(--tf-gutter);align-items:flex-start}.tf-task--root .tf-taskbar-title{font:var(--tf-type-display);white-space:normal;overflow-wrap:anywhere}.import-start-primary{justify-items:start;gap:var(--tf-space-2);display:grid}.import-start-primary .helper-text{margin:0}@media (width<=37.99rem){.import-start-primary{justify-items:stretch}}@media (width>=58rem){.tf-task--root .tf-taskbar-row{padding-inline:var(--tf-space-6)}.tf-task--root .tf-taskbar-title{font-size:2rem;line-height:2.375rem}}.tf-status-empty{position:absolute}.tf-steps{max-width:90rem;padding:0 var(--tf-gutter) var(--tf-space-2);margin:0 auto}.tf-steps ol{gap:var(--tf-space-1);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.tf-step{align-content:center;gap:var(--tf-space-1);border-radius:var(--tf-radius-s);width:100%;min-height:44px;color:var(--tf-text-muted);font:var(--tf-type-label);text-align:left;background:0 0;border:0;padding:0;display:grid}.tf-step:disabled{color:var(--tf-text-muted);background:0 0}.tf-step:focus-visible{outline-offset:0}.tf-step-bar{border-radius:var(--tf-radius-full);background:var(--tf-surface-sunken);height:4px;display:block}.tf-step:is([aria-current=step],[data-done]) .tf-step-bar{background:var(--tf-accent)}.tf-step[aria-current=step]{color:var(--tf-text)}.tf-step-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tf-steps-caption{font:var(--tf-type-label);margin:0}@media (width<=57.99rem){.tf-step-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width>=38rem) and (width<=57.99rem){.tf-steps{padding-inline:var(--tf-space-5)}}@media (width>=58rem){.tf-steps{padding-inline:var(--tf-space-6)}.tf-step{padding-top:var(--tf-space-2);align-content:start}.tf-steps-caption{display:none}}@media (width>=58rem) and (hover:hover){.tf-step:not(:disabled):hover{color:var(--tf-accent)}}.worksheet-page .ws-section{gap:var(--tf-space-2);min-width:0;display:grid}.worksheet-page .import-main{gap:var(--tf-space-6)}.worksheet-page .ws-section>h3,.worksheet-review-head h2{font:var(--tf-type-heading);margin:0}.worksheet-page .ws-section>.check-label{margin-top:var(--tf-space-2)}.worksheet-page .ws-section+.ws-section{padding-top:var(--tf-space-6);border-top:1px solid var(--tf-line)}.worksheet-page .import-sidebar{position:static}.worksheet-build{max-width:45rem}.worksheet-review-head{gap:var(--tf-space-2);display:grid}.worksheet-review-head p{margin:0}.worksheet-review-tools,.worksheet-item-actions{gap:var(--tf-space-2);flex-wrap:wrap;display:flex}.worksheet-items.tf-group{display:block}.worksheet-item{gap:var(--tf-space-2);padding:var(--tf-space-3) 14px;display:grid}.worksheet-item-head>strong{font:var(--tf-type-subheading)}.worksheet-item [aria-pressed=true]{color:var(--tf-accent);border-color:var(--tf-accent);background:var(--tf-accent-soft)}.worksheet-meta{color:var(--tf-text-muted);font:var(--tf-type-secondary);margin:0}.worksheet-excerpt{margin:0}.worksheet-preview summary{min-height:44px;color:var(--tf-accent);font:var(--tf-type-label);cursor:pointer;align-items:center;display:flex}.worksheet-warnings h3{font:var(--tf-type-label);margin:0}.worksheet-warnings ul{margin:0;padding-left:1.2rem}.worksheet-finalized p{margin:0}.worksheet-details-actions{margin-top:var(--tf-space-2)}.worksheet-replace-list{display:block}.worksheet-replace-list li{gap:2px var(--tf-space-3);padding:var(--tf-space-3) 14px;overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.worksheet-replace-list small{color:var(--tf-text-muted);font:var(--tf-type-secondary);grid-column:1}.worksheet-replace-list button{grid-area:1/2/span 2}.tf-sheet-actions>.tf-btn{flex:auto}@media (width<=38rem){.worksheet-replace-list li{grid-template-columns:minmax(0,1fr)}.worksheet-replace-list button{grid-area:auto/1;justify-self:start}}.worksheet-page .organize-toolbar{background:0 0;border:0;padding:0}.worksheet-page .organize-section{padding:var(--tf-space-4) 14px}.organize-section-number{color:var(--tf-text-muted);font:var(--tf-type-secondary);margin:0}.export-page{gap:var(--tf-space-4);display:grid}.export-sidebar{gap:var(--tf-space-5)}.export-sidebar>section{gap:var(--tf-space-2);display:grid}.export-sidebar h3{font:var(--tf-type-subheading);margin:0}.export-sidebar p{margin:0}.export-sidebar section>.tf-btn{justify-self:start}.export-sidebar>section+section{padding-top:var(--tf-space-5);border-top:1px solid var(--tf-line)}.export-warnings{gap:var(--tf-space-2);margin:0;padding:0;list-style:none;display:grid}.export-warning{gap:2px}.export-severity{font:var(--tf-type-caption)}.export-warning-problem .export-severity{color:var(--tf-danger)}.export-warning-warning .export-severity{color:var(--tf-warning)}.export-warning .tf-btn--quiet{padding-inline:0}.export-check-empty{gap:var(--tf-space-2);display:flex}.export-check-empty:before{content:"✓" / "";color:var(--tf-success)}.export-save{color:var(--tf-success);font:var(--tf-type-secondary)}.export-main{gap:var(--tf-space-3)}.export-tabs{justify-self:start;width:min(100%,26rem)}.export-backdrop{min-width:0;padding:var(--tf-space-4);border-radius:var(--tf-radius-l);background:var(--tf-paper-backdrop)}.export-print .tf-actionbar-status p{max-width:40ch}@media (width<=38rem){.export-backdrop{margin-inline:calc(-1 * var(--tf-gutter));padding:var(--tf-space-3) var(--tf-gutter);border-radius:0}.export-print .tf-actionbar-status{display:none}}.export-enlarge-bar{background:var(--tf-surface);border-bottom:1px solid var(--tf-line);max-width:none}.export-enlarge-dialog{background:var(--tf-paper-backdrop)}@media (width>=58rem){.tf-sheet--side{border-radius:var(--tf-radius-xl) 0 0 var(--tf-radius-xl);width:min(26rem,100vw);height:100dvh;max-height:100dvh;margin:0 0 0 auto}.tf-sheet--side .tf-sheet-body{height:100dvh;max-height:100dvh}}.export-settings .export-fieldset{gap:var(--tf-space-4)}.import-layout{gap:var(--tf-space-6);grid-template-columns:minmax(0,1.7fr) minmax(18rem,.75fr);align-items:start;display:grid}.import-main,.import-sidebar{gap:var(--tf-space-5);min-width:0;display:grid}.import-controls{align-items:center;gap:var(--tf-space-2);flex-wrap:wrap;display:flex}.import-empty-actions{justify-content:center;gap:var(--tf-space-1) var(--tf-space-4);flex-wrap:wrap;display:flex}.import-empty-actions a{min-height:44px;padding:0 var(--tf-space-2);border-radius:var(--tf-radius-m);color:var(--tf-accent);font:var(--tf-type-label);align-items:center;text-decoration:none;display:inline-flex}@media (hover:hover){.import-empty-actions a:hover{background:var(--tf-accent-soft)}}@media (width<=57.99rem){.import-layout{grid-template-columns:minmax(0,1fr)}}.import-start>section,.import-main>section{gap:var(--tf-space-3);min-width:0;display:grid}.import-start .tf-section-title,.import-main .tf-section-title,.import-session-actions .tf-section-title{margin:0}.source-chooser{display:block}.source-choice{align-items:center;gap:2px var(--tf-space-3);padding:var(--tf-space-3) 14px;grid-template-columns:minmax(0,1fr) auto;display:grid}.source-choice>strong{font:var(--tf-type-subheading)}.source-choice>small{color:var(--tf-text-muted);font:var(--tf-type-secondary);grid-column:1}.source-choice-actions{justify-content:flex-end;gap:var(--tf-space-2);flex-wrap:wrap;grid-area:1/2/span 2;display:flex}.source-choice-wide{grid-template-columns:minmax(0,1fr)}.source-choice-wide>textarea{min-height:6rem;margin-top:var(--tf-space-2)}.source-choice-wide .source-choice-actions{grid-area:auto/1;justify-content:flex-start}.source-reference{gap:var(--tf-space-2);display:grid}.source-reference h3{font:var(--tf-type-label);margin:0}.source-reference p{margin:0}.source-reference-row{gap:var(--tf-space-2);flex-wrap:wrap;display:flex}.source-reference-row input{flex:16rem;min-width:0}.import-source-list{gap:var(--tf-space-2);display:grid}.import-source-list h3{font:var(--tf-type-label);margin:0}.source-row{padding:var(--tf-space-3) 14px;overflow-wrap:anywhere;gap:2px;display:grid}.source-row>strong{font:var(--tf-type-subheading)}.source-row :is(span,small,p){color:var(--tf-text-muted);font:var(--tf-type-secondary);margin:0}.source-row>button{margin-top:var(--tf-space-2);justify-self:start}.import-session-list{display:block}.import-session-row{cursor:pointer;grid-template-columns:minmax(0,1fr) 20px}.import-session-row>svg{color:var(--tf-text-muted)}.import-progress{gap:var(--tf-space-2);justify-items:stretch}.import-progress h2{font:var(--tf-type-label);margin:0}.import-progress progress{width:100%;accent-color:var(--tf-accent)}.import-session-actions{gap:var(--tf-space-3);display:grid}@media (width>=58rem){.import-page .import-layout{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) 20rem}.import-page .import-sidebar{grid-area:1/2}.import-page .import-session-actions{grid-area:2/2;align-self:start}.import-page .import-main{grid-area:1/1/span 2}}.review-summary{gap:var(--tf-space-2);display:grid}.review-summary p{margin:0}.review-summary-counts{font:var(--tf-type-label)}.review-filter{justify-self:start}.tf-segmented>[aria-pressed=true]{color:var(--tf-text);background:var(--tf-surface);box-shadow:var(--tf-elev-1)}.recovery-toolbar{gap:var(--tf-space-3);border:1px solid var(--tf-line);border-radius:var(--tf-radius-l);background:var(--tf-surface);padding:0 14px;display:grid}.recovery-toolbar[open]{padding-bottom:var(--tf-space-4)}.recovery-toolbar>summary{min-height:48px;font:var(--tf-type-label);cursor:pointer;align-items:center;display:flex}.recovery-toolbar p{margin:0}.recovery-toolbar select{flex:16rem;min-width:min(100%,16rem)}.candidate-list{display:block}.candidate-card{gap:var(--tf-space-1) var(--tf-space-3);padding:var(--tf-space-3) 14px;color:var(--tf-text);grid-template-columns:minmax(0,1fr) auto;display:grid;position:relative}.candidate-card+.candidate-card{border-top:1px solid var(--tf-line)}.candidate-card>:is(p,details,ul,.candidate-actions){grid-column:1/-1;margin:0}.candidate-card>.check-label strong{font:var(--tf-type-subheading)}.candidate-card details>summary{min-height:44px;color:var(--tf-accent);font:var(--tf-type-label);cursor:pointer;align-items:center;display:flex}.candidate-card code{white-space:pre-wrap;overflow-wrap:anywhere;max-height:8rem;display:block;overflow:auto}.candidate-actions{gap:var(--tf-space-2);flex-wrap:wrap;display:flex}.candidate-status{align-items:center;gap:var(--tf-space-1);border-radius:var(--tf-radius-s);color:var(--tf-success);background:var(--tf-surface);font:var(--tf-type-caption);white-space:nowrap;border:1px solid;place-self:start end;padding:2px 10px;display:inline-flex}.candidate-status:before{content:"✓" / ""}.candidate-status.needs-review{color:var(--tf-warning);border-style:dashed}.candidate-status.needs-review:before{content:"!" / ""}.candidate-status.ready-to-confirm{color:var(--tf-accent)}.candidate-status.ready-to-confirm:before{content:"○" / ""}.candidate-reasons{grid-column:1/-1}.candidate-reasons ul{margin:var(--tf-space-1) 0 0;padding-left:1.2rem}.evidence-list{gap:var(--tf-space-2);margin:var(--tf-space-2) 0;padding:0;list-style:none;display:grid}.evidence-list li{padding:var(--tf-space-2) var(--tf-space-3);border:1px solid var(--tf-line);border-radius:var(--tf-radius-m);background:var(--tf-surface-sunken);gap:2px;display:grid}.evidence-list span{overflow-wrap:anywhere}.tf-sheet--task{border-radius:0;height:100dvh;max-height:100dvh}.tf-sheet--task .tf-sheet-body{grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;max-height:100dvh}.tf-sheet--task .tf-sheet-handle{display:none}.tf-sheet--task .tf-sheet-head{border-bottom:1px solid var(--tf-line)}.tf-sheet--task .tf-sheet-content{padding-bottom:0}.candidate-editor{gap:var(--tf-space-5);padding-top:var(--tf-space-4);display:grid}.candidate-editor .editor-card{background:0 0;border:0;padding:0}.tf-sheet .candidate-editor-actions{z-index:2;margin:0 calc(-1 * var(--tf-space-4));padding:var(--tf-space-3) var(--tf-space-4) calc(var(--tf-space-3) + env(safe-area-inset-bottom));border-top:1px solid var(--tf-line);background:var(--tf-surface);justify-content:flex-end;position:sticky;bottom:0}@media (width<=57.99rem){.tf-sheet .candidate-editor-actions>.tf-btn{flex:1 1 0}}@media (width>=58rem){.tf-sheet--task{border-radius:var(--tf-radius-xl) 0 0 var(--tf-radius-xl);width:min(48rem,100vw);margin:0 0 0 auto}}.import-cleanup-dialog{z-index:20;width:min(100% - 2rem,34rem);max-height:calc(100dvh - 2rem);padding:var(--tf-space-5);color:var(--tf-text);background:var(--tf-surface);border-radius:var(--tf-radius-xl);box-shadow:var(--tf-elev-2);border:0;margin:0;position:fixed;inset:50% auto auto 50%;overflow:auto;transform:translate(-50%,-50%)}.import-cleanup-dialog::backdrop{background:var(--tf-scrim)}.import-cleanup-dialog h2{font:var(--tf-type-heading);margin:0}.import-cleanup-summary{gap:var(--tf-space-3);margin:var(--tf-space-4) 0;display:grid}.import-cleanup-summary div{gap:var(--tf-space-3);grid-template-columns:minmax(8rem,.8fr) minmax(0,1.2fr);display:grid}.import-cleanup-summary dt{color:var(--tf-text-muted);font:var(--tf-type-label)}.import-cleanup-summary dd{overflow-wrap:anywhere;margin:0}.cleanup-warning{margin:0 0 var(--tf-space-4)}.import-dialog-actions>*{flex:10rem}.danger-action{color:var(--tf-on-danger);background:var(--tf-danger);border-color:var(--tf-danger)}.import-notice{margin:0}@media (width<=38rem){.source-choice{grid-template-columns:minmax(0,1fr)}.source-choice-actions{margin-top:var(--tf-space-2);grid-area:auto/1;justify-content:flex-start}.candidate-card{grid-template-columns:minmax(0,1fr)}.candidate-status{justify-self:start}.import-cleanup-summary div{grid-template-columns:minmax(0,1fr);gap:2px}}.hw-assign{gap:var(--tf-space-5);padding-top:var(--tf-space-2);display:grid}.hw-fieldset{gap:var(--tf-space-2);border:0;min-width:0;margin:0;padding:0;display:grid}.hw-label{color:var(--tf-text);font:var(--tf-type-label);padding:0}.hw-legend-row{justify-content:space-between;gap:var(--tf-space-3);width:100%;margin-bottom:var(--tf-space-2);display:flex}.hw-count{color:var(--tf-text-muted);font:var(--tf-type-secondary)}.hw-choice-list{max-height:none}.hw-choice{cursor:pointer;grid-template-columns:22px minmax(0,1fr);min-height:56px}.hw-choice--student{grid-template-columns:22px 44px minmax(0,1fr);min-height:64px}.hw-choice input{width:22px;height:22px;min-height:0;accent-color:var(--tf-accent);margin:0}.hw-choice:has(input:checked){background:var(--tf-accent-soft)}.hw-choice:has(input:focus-visible){outline:3px solid var(--tf-focus);outline-offset:-3px}@media (hover:hover){.hw-choice:hover{background:var(--tf-row-hover)}.hw-choice:has(input:checked):hover{background:var(--tf-accent-soft)}}.hw-assign-sheet .tf-sheet-content{padding-bottom:var(--tf-space-4)}@media (width>=58rem){.tf-sheet--task.hw-assign-sheet{width:min(28rem,100vw)}}.hw-assign-draft{margin-top:var(--tf-space-3)}.hw-tab{gap:var(--tf-space-4);display:grid}.hw-tab-actions{justify-content:flex-end;display:flex}.hw-tab-actions .tf-btn svg{width:20px;height:20px}.hw-section{gap:var(--tf-space-2);display:grid}.hw-section-title{justify-content:space-between;align-items:baseline;gap:var(--tf-space-2);font:var(--tf-type-subheading);flex-wrap:wrap;margin:0;display:flex}.hw-section-title .tf-section-count{color:var(--tf-text-muted);font:var(--tf-type-secondary)}.hw-row{padding-right:var(--tf-space-1);grid-template-columns:minmax(0,1fr) auto;align-items:start}.hw-row .tf-row-trailing{max-width:11rem}.hw-row .tf-row-main>.hw-score{color:var(--tf-text);font:var(--tf-type-label);font-variant-numeric:tabular-nums}.hw-empty-title{font:var(--tf-type-heading);margin:0}.hw-confirm{gap:var(--tf-space-3);display:grid}.hw-confirm p{margin:0}.hw-confirm-actions{border-top:0;padding-inline:0}@media (width<=24rem){.hw-row{grid-template-columns:minmax(0,1fr)}.hw-row .tf-row-trailing{justify-content:flex-start;max-width:none}}.hw-results{padding-bottom:calc(168px + env(safe-area-inset-bottom))}.hw-results-body{max-width:45rem}.hw-results-head{justify-content:space-between;align-items:center;gap:var(--tf-space-2);flex-wrap:wrap;display:flex}.hw-results-head .hw-mark-all{min-height:44px;margin-left:auto}.hw-results-head .tf-task-intro{margin:0}.hw-questions{counter-reset:none}.hw-question{gap:var(--tf-space-2);padding:var(--tf-space-3) 14px var(--tf-space-4);display:grid}.hw-question--unmarked{box-shadow:inset 4px 0 0 var(--tf-danger)}.hw-question-head{justify-content:space-between;align-items:baseline;gap:var(--tf-space-2);flex-wrap:wrap;display:flex}.hw-question-head>strong{font:var(--tf-type-subheading)}.hw-points{color:var(--tf-text-muted);font:var(--tf-type-secondary);font-variant-numeric:tabular-nums}.hw-excerpt{color:var(--tf-text);font:var(--tf-type-body);-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.hw-outcomes{border-radius:var(--tf-radius-btn);background:var(--tf-surface-sunken);border:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;min-width:0;margin:0;padding:4px;display:grid}.hw-outcome{min-width:0;min-height:44px;color:var(--tf-text-muted);font:var(--tf-type-label);text-align:center;cursor:pointer;transition:background-color var(--tf-dur) var(--tf-ease);border-radius:10px;place-items:center;padding:0 4px;display:grid;position:relative}.hw-outcome input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.hw-outcome span{overflow-wrap:anywhere}.hw-outcome:has(input:checked){color:var(--tf-text);background:var(--tf-surface);box-shadow:var(--tf-elev-1)}.hw-outcome--correct:has(input:checked){color:var(--tf-success);background:var(--tf-success-soft)}.hw-outcome--partial:has(input:checked){color:var(--tf-warning);background:var(--tf-warning-soft)}.hw-outcome--wrong:has(input:checked){color:var(--tf-danger);background:var(--tf-danger-soft)}.hw-outcome-glyph{font-weight:700}.hw-outcome:has(input:checked) span{font-weight:700}.hw-outcome:has(input:focus-visible){outline:3px solid var(--tf-focus);outline-offset:2px}.hw-earned{max-width:14rem}.hw-earned input{font-variant-numeric:tabular-nums}.hw-parts{gap:var(--tf-space-2);justify-items:start;display:grid}.hw-part-list{gap:var(--tf-space-3);width:100%;padding:0 0 0 var(--tf-space-3);border-left:2px solid var(--tf-line);margin:0;list-style:none;display:grid}.hw-part-list[hidden]{display:none}.hw-part{gap:var(--tf-space-2);display:grid}.hw-saved-outcome{font:var(--tf-type-label);margin:0}.hw-history{gap:var(--tf-space-2);display:grid}.hw-history-row{min-height:0;color:var(--tf-text-muted);font:var(--tf-type-secondary);margin:0;display:block}.hw-results-bar .hw-total{color:var(--tf-text);font:var(--tf-type-label);font-variant-numeric:proportional-nums}@media (width<=22rem){.hw-outcomes{grid-template-columns:repeat(2,minmax(0,1fr))}}.pg-tab,.pg-section{gap:var(--tf-space-4);display:grid}.pg-section{gap:var(--tf-space-2)}.pg-row{grid-template-columns:minmax(0,1fr) auto}.pg-row .tf-row-main{gap:4px}.tf-row-main>.pg-bar{background:var(--tf-surface-sunken);border-radius:3px;height:6px;margin-top:4px;display:block;overflow:hidden}.pg-bar>span{border-radius:inherit;background:var(--tf-accent);height:100%;display:block}.pg-weak .pg-bar>span{background:var(--tf-warning)}.pg-build{justify-self:start}@media (width<=24rem){.pg-build{justify-self:stretch}}.tf-home-homework{margin:var(--tf-space-3) 0 0;color:var(--tf-text-muted);font:var(--tf-type-secondary)}.tf-home-homework a{color:var(--tf-accent);font-weight:700}.bk-actions{gap:var(--tf-space-2);flex-wrap:wrap;display:flex}.bk-last{font:var(--tf-type-label);text-align:end}.bk-suggest{margin:0}.bk-form,.bk-ready,.bk-step{gap:var(--tf-space-4);padding-top:var(--tf-space-2);display:grid}.bk-fieldset{gap:var(--tf-space-2);border:0;min-width:0;margin:0;padding:0;display:grid}.bk-label,.bk-step-title{color:var(--tf-text);font:var(--tf-type-label);margin:0;padding:0}.bk-step-title{font:var(--tf-type-subheading)}.bk-choice{cursor:pointer;grid-template-columns:22px minmax(0,1fr);min-height:56px}.bk-choice input{width:22px;height:22px;min-height:0;margin:0}.bk-choice:has(input:checked){background:var(--tf-accent-soft)}.bk-choice:has(input:focus-visible){outline:3px solid var(--tf-focus);outline-offset:-3px}.bk-help{color:var(--tf-text-muted);font:var(--tf-type-secondary);gap:2px;display:grid}.bk-strength{color:var(--tf-text);font:var(--tf-type-label)}.bk-strength--too-short,.bk-strength--weak{color:var(--tf-warning)}.bk-meaning{color:var(--tf-text)}.bk-strength--strong{color:var(--tf-success)}.bk-note,.bk-size,.bk-what{margin:0}.bk-file-name{overflow-wrap:anywhere;font:var(--tf-type-secondary)}.bk-file{justify-self:start}.bk-file:has(input:focus-visible){outline:3px solid var(--tf-focus);outline-offset:2px}.bk-health-head{align-items:center;gap:var(--tf-space-2);flex-wrap:wrap;display:flex}.bk-fact{grid-template-columns:minmax(0,1fr) auto;min-height:48px}.bk-fact>span{color:var(--tf-text-muted);font:var(--tf-type-secondary)}.bk-fact>strong{text-align:end;overflow-wrap:anywhere}.bk-progress{font:var(--tf-type-label);margin:0}.bk-steps{gap:var(--tf-space-1);color:var(--tf-text-muted);font:var(--tf-type-secondary);margin:0;padding-left:1.5rem;display:grid}.bk-steps-item--done{color:var(--tf-text)}.bk-steps-item--done::marker{content:"✓  ";color:var(--tf-success)}.bk-steps-item--now{color:var(--tf-text);font-weight:700}.bk-task{width:100%;max-width:none;height:100%;max-height:none;color:var(--tf-text);background:var(--tf-canvas);border:0;margin:0;padding:0}.bk-task::backdrop{background:var(--tf-canvas)}.bk-task-body{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);height:100%;display:grid}.bk-task-content{width:100%;min-width:0;max-width:40rem;padding-bottom:var(--tf-space-5);align-content:start;overflow-y:auto}.bk-task .tf-actionbar.bk-task-actions{padding:var(--tf-space-3) var(--tf-gutter) calc(var(--tf-space-3) + env(safe-area-inset-bottom));border-top:1px solid var(--tf-line);background:var(--tf-surface);margin:0;position:static}.bk-task-actions>.tf-btn{flex:auto}@media (width>=58rem){.bk-task-actions>.tf-btn{flex:none}}.bk-settings>.tf-setting-title{margin-top:var(--tf-space-5)}.bk-undo{gap:var(--tf-space-2);justify-items:start;display:grid}.bk-undo>.tf-setting-title,.bk-undo>.helper-text{margin:0}.bk-undo>.tf-setting-title{margin-top:var(--tf-space-3)}.bk-list-empty{margin:0}.tf-row.bk-list-row{gap:var(--tf-space-2);padding-right:var(--tf-space-1);grid-template-columns:minmax(0,1fr) auto}.bk-list-row .tf-row-main>strong{font:var(--tf-type-label)}.bk-list-actions{flex-wrap:wrap;justify-content:flex-end;display:flex}.bk-list-actions>.tf-btn{padding-inline:.625rem}.bk-list-actions>.bk-delete{color:var(--tf-danger)}.tf-home-notice{margin:0 0 var(--tf-space-3)}.tf-banner-glyph{color:var(--tf-success);font-weight:700}.tf-home-backup{margin:0 0 var(--tf-space-2)}.tf-home-backup a{font-weight:700}.tf-notice-slot:empty{display:none}.tf-slot-banner,.tf-page-notice>.tf-banner{margin:0 0 var(--tf-space-3)}.tf-banner--info{background:var(--tf-accent-soft)}.tf-banner-line{align-items:flex-start;gap:var(--tf-space-2);margin:0;display:flex}.tf-banner-icon{color:var(--tf-accent);flex:none;display:inline-flex}.tf-banner-glyph--warning{min-width:1ch;color:var(--tf-warning);flex:none;font-weight:700}.tf-banner-actions{gap:var(--tf-space-1) var(--tf-space-2);margin-left:calc(24px + var(--tf-space-2) - .75rem);flex-wrap:wrap;display:flex}.tf-banner-actions>.tf-btn{padding-inline:.75rem}@media (width<=21.24rem){.tf-banner-actions>.tf-btn{min-height:44px;font:var(--tf-type-label);padding-inline:.5rem}}.tf-page-notice:empty{display:none}.tf-update-done{margin:0 0 var(--tf-space-3)}.tf-local .tf-trial-link{min-height:44px;color:var(--tf-accent);align-items:center;text-decoration:none;display:inline-flex}.tf-local .tf-trial-link:is(:hover,:focus-visible){text-decoration:underline}.tf-install-transfer{margin-bottom:var(--tf-space-4)}.tf-install-steps{margin:0 0 var(--tf-space-4);list-style:none}.tf-install-step{align-items:center;gap:var(--tf-space-3);min-height:56px;padding:var(--tf-space-2) 14px;grid-template-columns:40px minmax(0,1fr);display:grid}.tf-install-step-mark{border-radius:var(--tf-radius-m);width:40px;height:40px;color:var(--tf-accent);background:var(--tf-accent-soft);font:var(--tf-type-label);place-items:center;display:inline-grid}.tf-install-why h3{margin:0 0 var(--tf-space-2);font:var(--tf-type-subheading)}.tf-install-why p{max-width:65ch;color:var(--tf-text-muted);font:var(--tf-type-secondary);margin:0}.tf-about{gap:var(--tf-space-4)}.tf-about-identity{align-items:flex-start;gap:var(--tf-space-4);display:flex}.tf-about-icon{border-radius:12px;flex:none;width:56px;height:56px}.tf-about-name{gap:var(--tf-space-1);min-width:0;display:grid}.tf-about-name h2{font:var(--tf-type-heading);margin:0}.tf-about-version{align-items:center;gap:0 var(--tf-space-2);color:var(--tf-text-muted);font:var(--tf-type-secondary);flex-wrap:wrap;margin:0;display:flex}.tf-about-title{margin:var(--tf-space-3) 0 0;font:var(--tf-type-heading)}.tf-about-text{gap:var(--tf-space-3);max-width:65ch;display:grid}.tf-about-text p{margin:0}.tf-about .tf-group{list-style:none}.tf-row.tf-about-row{grid-template-columns:24px minmax(0,1fr) 20px}.tf-about-row-icon{color:var(--tf-text-muted)}.tf-about-fonts-intro{max-width:65ch;margin:0 0 var(--tf-space-4)}.tf-about-font{gap:var(--tf-space-1);margin-bottom:var(--tf-space-5);display:grid}.tf-about-font h3{font:var(--tf-type-subheading);margin:0}.tf-about-font p{color:var(--tf-text-muted);font:var(--tf-type-secondary);margin:0}.tf-about-font .tf-disclosure>summary{min-height:48px;color:var(--tf-accent);font:var(--tf-type-label);cursor:pointer;justify-content:space-between;align-items:center;list-style:none;display:flex}.tf-about-font .tf-disclosure>summary::-webkit-details-marker{display:none}.tf-about-font .tf-disclosure .tf-disclosure-chevron{transform:rotate(90deg)}.tf-about-font .tf-disclosure[open] .tf-disclosure-chevron{transform:rotate(-90deg)}@media (prefers-reduced-motion:no-preference){.tf-about-font .tf-disclosure-chevron{transition:transform var(--tf-dur) var(--tf-ease)}}.tf-about-licence{margin:var(--tf-space-3) 0 0;padding:var(--tf-space-3);border-radius:var(--tf-radius-m);color:var(--tf-text-muted);background:var(--tf-surface-sunken);font:var(--tf-type-secondary);white-space:pre-wrap;overflow-wrap:anywhere}.tf-blocker{min-height:100dvh;padding:calc(32px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));background:var(--tf-canvas);color:var(--tf-text)}.tf-blocker-column{gap:var(--tf-space-4);max-width:30rem;margin:0 auto;display:grid}.tf-blocker-icon{border-radius:14px;width:64px;height:64px}.tf-blocker h1{font:var(--tf-type-display);margin:0}.tf-blocker h2{margin:var(--tf-space-2) 0 0;font:var(--tf-type-heading)}.tf-blocker p{margin:0}.tf-blocker-tips{gap:12px;margin:0;padding:0;list-style:none;display:grid}.tf-blocker-tips li{padding-left:1.25rem;position:relative}.tf-blocker-tips li:before{content:"•" / "";color:var(--tf-accent);font-weight:700;position:absolute;left:0}.tf-blocker-retry{width:100%;margin-top:var(--tf-space-2)}@media (width>=38rem){.tf-blocker{align-items:center;display:grid}.tf-blocker-retry{justify-self:start;width:auto}}.tf-home-reminders{justify-content:space-between;align-items:center;gap:var(--tf-space-2) var(--tf-space-3);margin:var(--tf-space-3) 0 0;flex-wrap:wrap;display:flex}.tf-home-reminders p{color:var(--tf-text-muted);font:var(--tf-type-secondary);margin:0}.tf-home-reminders strong{color:var(--tf-text)}.tf-reminder-flow{gap:var(--tf-space-3);display:grid}.tf-reminder-days{justify-self:start}.tf-reminder-item{gap:var(--tf-space-2);display:grid}.tf-reminder-progress{color:var(--tf-text-muted);font:var(--tf-type-label);font-variant-numeric:tabular-nums;margin:0}.tf-reminder-name{font:var(--tf-type-subheading);margin:0}.tf-reminder-what{align-items:center;gap:var(--tf-space-2);color:var(--tf-text-muted);font:var(--tf-type-secondary);flex-wrap:wrap;margin:0;display:flex}.tf-reminder-nav{justify-content:space-between;gap:var(--tf-space-2);flex-wrap:wrap;display:flex}.tf-reminder-nav>.tf-btn{min-width:44px}.tf-reminder-finished{gap:var(--tf-space-3);display:grid}.tf-reminder-finished p{margin:0}.tf-reminder-bar{gap:var(--tf-space-2);flex:auto;min-width:0;display:grid}.tf-reminder-bar>.tf-btn{width:100%}.tf-reminder-bar-row{gap:var(--tf-space-2);display:flex}.tf-reminder-bar-row>.tf-btn{flex:auto;min-width:0}.tf-reminder-bar-row>.tf-btn--quiet{flex:none}.tf-sheet-actions:has(>.tf-reminder-bar:empty){display:none}@media (width<=57.99rem){.tf-reminder-sheet--fit{height:fit-content}.tf-reminder-sheet--fit .tf-sheet-body{height:auto}}.pg-summary{margin-top:var(--tf-space-3);justify-self:start}.hw-reminded{color:var(--tf-success);font:var(--tf-type-caption)}@media (width<=24rem){.pg-summary{justify-self:stretch;width:100%}.tf-reminder-nav>.tf-btn{flex:auto}}
