/* Shared application theme. Media and answer colours retain their meaning. */
html.dark-theme{background:#18181b;color-scheme:dark}
body.dark-theme{--ui-accent:#a7c7a0;--ui-focus:#6B8F6B;--ui-ink:#f0f0f2;--ui-muted:#a6a6ad;--ui-border:#414146;--ui-surface:#242427;--ui-soft:#2e2e32;--ui-danger:#ffa79f;--brand-main:#6B8F6B;--brand-ink:#f0f0f2;--brand-bg:#18181b;--brand-border:#414146;--brand-muted:#a6a6ad;--builder-ink:#f0f0f2;--builder-muted:#a6a6ad;--builder-border:#414146;--builder-green:#6B8F6B;--builder-badge:#6B8F6B;background:#18181b!important;color:#f0f0f2!important;color-scheme:dark}
body.dark-theme:not(.live-lesson) :is(.home,.shell-main,.shell-content,.builder-workspace,.lesson-builder,.work-heading,.library-heading,.materials-section,.material-tabs,.section-editor-actions){background:transparent;color:var(--ui-ink)}
body.dark-theme #app-header{background:#202023!important;border-color:var(--ui-border)!important;color:var(--ui-ink)}
body.dark-theme #app-header :is(a,button,summary){color:var(--ui-ink)}
body.dark-theme #app-header :is(.notification-menu>summary,.account-menu>summary){background:var(--ui-soft)!important;color:var(--ui-ink)!important}
body.dark-theme :is(.account-dropdown,.notification-panel,.catalog-dropdown,.block-actions-dropdown,.section-actions-popover,.ui-dialog,.cover-dialog,.inline-gap-popup,.field-help-content,.image-options-popup,dialog){background:var(--ui-surface)!important;color:var(--ui-ink)!important;border-color:var(--ui-border)!important;box-shadow:0 12px 32px #0005}
body.dark-theme dialog::backdrop{background:#09090baa;backdrop-filter:blur(3px)}
body.dark-theme:not(.live-lesson) :is(.ui-card,.catalog-course,.library-module,.admin-course,.editor-block,.builder-outline,.section-editor-header,.student-form,.homework-editor-info,#import-panel,.exercise,.class-card,.material-card,.subscription-current,.subscription-card,.homework-students,.assignment-card-wrap,.homework-summary-card,.profile-editor){background:var(--ui-surface)!important;color:var(--ui-ink)!important;border-color:var(--ui-border)!important;box-shadow:none}
body.dark-theme:not(.live-lesson) :is(h1,h2,h3,h4,label,strong,summary,.work-details,.catalog-course-title,.library-title,.section-nav-button,.block-title-input,.builder-card-heading){color:var(--ui-ink)!important}
body.dark-theme:not(.live-lesson) :is(p,small,time,.form-note,.library-eyebrow,.catalog-description,.catalog-course-meta,.student-latest,.class-presence,.work-date,.editor-field-caption,.editor-options-caption,.block-move-field,.section-breadcrumb,.notification-empty){color:var(--ui-muted)}
body.dark-theme:not(.live-lesson) :is(a,.text-button,.editor-add,.editor-add-question){color:var(--ui-accent)}
body.dark-theme:not(.live-lesson) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),textarea,select,[contenteditable=true]){background:#202023!important;color:var(--ui-ink)!important;border-color:var(--ui-border)!important;caret-color:#c4deb9;box-shadow:none}
body.dark-theme :is(input,textarea,[contenteditable])::placeholder{color:#a6a6ad!important;opacity:1}
body.dark-theme :is(input[type=checkbox],input[type=radio],input[type=range]){accent-color:#6B8F6B}
body.dark-theme:not(.live-lesson) :is(button,.ui-button,.home-actions a,.work-actions a,.catalog-back,.copy-invite){background:var(--ui-soft)!important;color:var(--ui-ink)!important;border-color:var(--ui-border)!important;box-shadow:none}
body.dark-theme:not(.live-lesson) :is(button,.ui-button,.work-actions a,.catalog-back):hover:not(:disabled){background:#39393e!important;border-color:#626269!important}
body.dark-theme:not(.live-lesson) :is(.primary,.ui-primary,button[type=submit],#save-lesson,#auth-submit){background:#6B8F6B!important;color:#fff!important;border-color:#6B8F6B!important}
body.dark-theme:not(.live-lesson) :is(.primary,.ui-primary,button[type=submit],#save-lesson,#auth-submit):hover:not(:disabled){background:#6B8F6B!important}
body.dark-theme:not(.live-lesson) :is(.ui-danger,.danger,.editor-remove,[data-action=delete]){color:#ffaaa3!important}
body.dark-theme:not(.live-lesson) :is(.class-add-card,.student-avatar,.catalog-course-cover,.library-icon,.catalog-module-icon,.gap-chip,.inline-gap-token,.block-ask-ai,.editor-segments,.editor-picture,.editor-picture-add,.choice-question-editor,.column-editor-card,.builder-array-row,.image-editor-card,.gap-editor-card,.rich-toolbar,.rich-editor,.cover-preview,.ui-empty,.embed-access-hint){background:var(--ui-soft)!important;color:var(--ui-ink)!important;border-color:var(--ui-border)!important}
body.dark-theme:not(.live-lesson) :is(.section-nav-button[aria-current=true],.editor-segments [aria-pressed=true],.editor-segments input:checked+label,.correct-option){background:#354d3b!important;color:#d6ebce!important;border-color:#8aaa7e!important}
body.dark-theme:not(.live-lesson) :is(.material-tabs,.admin-course-item,.library-row,.rich-toolbar,.block-move-field,hr){border-color:var(--ui-border)!important}
body.dark-theme:not(.live-lesson) :is(.save-state,.save-status,#save-status){background:#2d4132;color:#c2ddbb}
body.dark-theme :is(.notification-item,.account-dropdown p){color:var(--ui-ink)!important;border-color:var(--ui-border)!important}
body.dark-theme .notification-item.unread{background:#304737!important}
body.dark-theme .profile-theme input{background:#626269!important;border:0!important}
body.dark-theme .profile-theme input:checked{background:#6B8F6B!important}
body.dark-theme .profile-theme input:before{background:#fff}
body.dark-theme:not(.live-lesson) :is(.builder-card-heading,.block-editor-body,.block-editor-toggle,.block-actions-dropdown>button,.section-actions-menu>summary){background:transparent!important}
body.dark-theme:not(.live-lesson) .block-editor-toggle h3{background:#6B8F6B!important;color:#fff!important}
body.dark-theme .builder-design-icon{filter:brightness(1.3) saturate(.7)}

body.dark-theme :is(button,input,select):disabled{opacity:.48}
body.dark-theme .ui-audio-player{background:#2e2e32!important;border-color:var(--ui-border)!important;color:var(--ui-ink)}
body.dark-theme .audio-settings :is(summary,.ui-audio-rates){background:#39393e!important;color:var(--ui-ink)!important}
body.dark-theme:not(.live-lesson) :is([role=alert],.error,#admin-error,#account-status:not(:empty)){color:#ffb7af}
body.dark-theme ::selection{background:#6B8F6B;color:#fff}
/* Authentication uses the same typography, quiet surfaces and spacing in both themes. */
body.auth-screen{font-family:Manrope,system-ui,sans-serif;background:#fafaf7;color:#2c3e2c;min-height:100dvh;margin:0}
.auth-screen #app-header{background:transparent;border:0;padding:28px max(24px,calc((100vw - 1200px)/2));min-height:0}
.auth-screen .auth-layout{max-width:1100px;margin:30px auto 70px;padding:24px;display:grid;grid-template-columns:1fr 440px;align-items:center;gap:90px}
.auth-screen .auth-story{max-width:460px}.auth-screen .auth-eyebrow{font-size:12px;letter-spacing:.1em;font-weight:700;color:#6B8F6B;margin:0 0 24px}
.auth-screen .auth-story h1{font-size:clamp(32px,4vw,48px);font-weight:750;line-height:1.18;letter-spacing:-.045em;margin:0 0 24px}
.auth-screen .auth-story p{font-size:16px;line-height:1.8;color:#6b7a6b;margin:0 0 32px}
.auth-screen .auth-story-list{display:grid;gap:14px;padding:0;list-style:none;font-size:14px;color:#506650}.auth-story-list li{display:flex;align-items:center;gap:12px}.auth-story-list span{display:grid;place-items:center;width:28px;height:28px;background:#eaf0e5;border-radius:9px;color:#6B8F6B}
.auth-screen .auth-card{background:#fff;border:1px solid #e1e6dc;border-radius:28px;padding:36px;box-shadow:0 12px 45px #2d3b2d0a;min-width:0}
.auth-screen .auth-card h2{font-size:28px;letter-spacing:-.03em;line-height:1.25;margin:0 0 10px;color:inherit}
.auth-screen .auth-subtitle{font-size:14px;line-height:1.65;margin:0 0 28px;color:#6b7a6b}
.auth-screen #auth-form label{display:block;font-size:13px;font-weight:600;margin:20px 0 8px}
.auth-screen #auth-form input{width:100%;box-sizing:border-box;padding:13px 15px;height:48px;border:1px solid #dce3d6;border-radius:12px;background:#fafbf8;color:#2c3e2c;font:inherit;font-size:15px;margin:0}
.auth-screen .password-field{position:relative}.auth-screen .password-field input{padding-right:75px!important}
.auth-screen .password-toggle{position:absolute;right:7px;top:7px;height:34px;padding:0 9px;font:inherit;font-size:11px;border:0;border-radius:8px;color:#617b5c;background:transparent;cursor:pointer}
.auth-screen .form-note{font-size:12px;margin:10px 0 24px;line-height:1.5;color:#6b7a6b}
.auth-screen #auth-submit{width:100%;min-height:48px;border:1px solid #6B8F6B;border-radius:12px;background:#6B8F6B;color:white;font:600 14px Manrope,system-ui;cursor:pointer;padding:13px 18px;transition:background .15s}
.auth-screen #auth-submit:hover{background:#6B8F6B}.auth-screen #auth-submit:disabled{opacity:.65;cursor:wait}
.auth-screen #account-status{margin:16px 0 0;padding:12px 14px;background:#fff3f0;color:#9d3932;border-radius:12px;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.auth-screen #account-status:empty{display:none}
.auth-screen .auth-alternate{margin:24px 0 0;text-align:center;font-size:13px}.auth-screen #auth-switch{color:#52734e;text-decoration:none;font-weight:600}.auth-screen #auth-switch:hover{text-decoration:underline}
.auth-screen .auth-back{display:inline-flex;gap:8px;text-decoration:none;color:#6b7a6b;font-size:13px;margin-top:30px}.auth-screen .auth-back:hover{color:#355b37}
body.dark-theme.auth-screen .auth-card{background:var(--ui-surface);border-color:var(--ui-border);box-shadow:none}
body.dark-theme.auth-screen .auth-story-list{color:var(--ui-muted)}body.dark-theme.auth-screen .auth-story-list span{background:var(--ui-soft);color:var(--ui-accent)}
body.dark-theme.auth-screen #account-status:not(:empty){background:#472d2b;color:#ffb7af}
@media(max-width:850px){.auth-screen .auth-layout{gap:36px;grid-template-columns:1fr 390px}.auth-screen .auth-story h1{font-size:34px}}
@media(max-width:680px){.auth-screen #app-header{padding:22px}.auth-screen .auth-layout{display:block;max-width:470px;padding:20px;margin:0 auto 35px}.auth-screen .auth-story{margin-bottom:30px}.auth-screen .auth-story h1{font-size:30px;margin-bottom:14px}.auth-screen .auth-story p{font-size:14px;margin:0}.auth-screen .auth-eyebrow,.auth-screen .auth-story-list{display:none}.auth-screen .auth-card{padding:26px 22px;border-radius:22px}.auth-screen .auth-card h2{font-size:25px}.auth-screen .auth-back{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.auth-screen *{transition:none!important}}
/* Remaining editor surfaces and compact menus. */
body.dark-theme:not(.live-lesson) :is(.section-editor-heading,.text-question-editor,.inline-gap-options,.image-options-popup,.editor-segments,.field-help-content,.block-actions-menu>summary,.catalog-menu>summary,.section-actions-menu>summary){background:var(--ui-surface)!important;color:var(--ui-ink)!important;border-color:var(--ui-border)!important}
body.dark-theme:not(.live-lesson) :is(p,small,time,.catalog-count,.library-count,.library-row-meta,.catalog-course-meta,.section-breadcrumb,.class-presence,.form-note){color:var(--ui-muted)!important}
body.dark-theme:not(.live-lesson) :is(.class-add-card b,.catalog-course-cover:before,.catalog-course-cover>span,.catalog-course-cover svg,.library-row-icon){color:var(--ui-accent)!important}
body.dark-theme:not(.live-lesson) .class-add-card>span{background:#405c43!important;color:#e4eee0!important}
body.dark-theme:not(.live-lesson) #material-list{background:transparent!important;box-shadow:none!important}
body.dark-theme:not(.live-lesson) :is(.block-title-input,#section-title){background:transparent!important;border-color:transparent!important}
body.dark-theme:not(.live-lesson) :is(.block-title-input,#section-title):focus{border-color:#87aa7b!important}
body.dark-theme:not(.live-lesson) :is(.section-editor-heading,.builder-outline){box-shadow:none}
body.dark-theme:not(.live-lesson) .material-tabs a{background:transparent!important}
body.dark-theme:not(.live-lesson) .material-tabs a[aria-current=page]{color:#d6ebce!important}
body.dark-theme:not(.live-lesson) :is(#section-lesson-label,.editor-field-caption,.editor-options-caption,.library-count,.catalog-count){color:var(--ui-muted)!important}
body.dark-theme:not(.live-lesson) #section-name{background:transparent!important;border-color:transparent!important;color:var(--ui-ink)!important}
body.dark-theme:not(.live-lesson) #save-state{color:#b4d3aa!important;background:transparent!important}
body.dark-theme:not(.live-lesson) #save-state[data-dirty=true]{color:#ecd59f!important;background:transparent!important}
body.dark-theme:not(.live-lesson) :is(.primary,.ui-primary,button[type=submit],#save-material,#auth-submit){background:#6B8F6B!important;border-color:#6B8F6B!important;color:#fff!important}
body.dark-theme:not(.live-lesson) .note-color-swatch,body.dark-theme:not(.live-lesson) .note-color-swatch:hover:not(:disabled){background:var(--swatch)!important;border-color:#414146!important;box-shadow:none}
body.dark-theme:not(.live-lesson) .note-color-swatch[aria-pressed=true]{outline:2px solid #b4d3aa;outline-offset:2px}
body.dark-theme:not(.live-lesson) .section-nav-button:not([aria-current=true]){background:transparent!important}
body.dark-theme:not(.live-lesson) .section-nav-row:hover{background:var(--ui-soft)!important}
body.dark-theme:not(.live-lesson) .rich-input{border-radius:10px}
body.dark-theme:not(.live-lesson) .rich-input p{color:var(--ui-ink)!important}
body.dark-theme:not(.live-lesson) :is(.sentence-number,.word-order-index,.editor-array-number){background:var(--ui-soft)!important;color:var(--ui-accent)!important}
body.dark-theme .assignment-status[data-status=submitted]{background:#263e54;color:#c2d7fa}
body.dark-theme :is(.assignment-status[data-status=needs_revision],.assignment-revise-tag){background:#493d24;color:#efd5a4}
body.dark-theme .assignment-status[data-status=accepted]{background:#284531;color:#b8dbbb}
body.dark-theme.builder-screen #editor-fields #editor-blocks button.note-color-swatch,body.dark-theme.builder-screen #editor-fields #editor-blocks button.note-color-swatch:hover:not(:disabled){background:var(--swatch)!important;color:#28452c!important;border-color:#414146!important}
body.dark-theme.builder-screen #editor-fields #editor-blocks .catalog-menu>summary{background:var(--ui-surface)!important;color:var(--ui-muted)!important;border-color:var(--ui-border)!important;box-shadow:none!important}
body.dark-theme.builder-screen #editor-fields #editor-blocks .block-actions-dropdown>button{border:0!important;background:transparent!important;text-align:left}
body.dark-theme.builder-screen #editor-fields #editor-blocks .block-actions-dropdown>button:hover:not(:disabled){background:var(--ui-soft)!important}
body.dark-theme.builder-screen #editor-fields #editor-blocks .block-actions-dropdown>button[data-action=delete]{color:#ffaaa3!important}
body.dark-theme.builder-screen #editor-fields #editor-blocks .block-actions-dropdown>button.block-ask-ai{background:#304737!important;color:#c6dfbe!important}
body.dark-theme .catalog-design{--catalog-ink:#f0f0f2;--catalog-muted:#a6a6ad;--catalog-line:#414146}
body.dark-theme.auth-screen #account-status:not(:empty){color:#ffb7af!important}
body.dark-theme.student-preview-screen .preview-toolbar{background:#202023;border-color:var(--ui-border);color:var(--ui-ink)}
body.dark-theme.student-preview-screen .preview-progress span{color:var(--ui-muted)}
body.dark-theme.student-preview-screen #preview-structure [aria-current=true],body.dark-theme.student-preview-screen .preview-toolbar [aria-pressed=true]{background:#405b43!important;color:#f0f0f2!important}
body.dark-theme.student-preview-screen #student-preview-content .teacher-note[data-note-color=green]{background:#243e2d!important;border-color:#526e59!important}
body.dark-theme.student-preview-screen #student-preview-content .teacher-note[data-note-color=yellow]{background:#423c24!important;border-color:#807243!important}
body.dark-theme.student-preview-screen #student-preview-content .teacher-note[data-note-color=blue]{background:#25394b!important;border-color:#4a728b!important}
body.dark-theme.student-preview-screen #student-preview-content .teacher-note[data-note-color=red]{background:#472d2c!important;border-color:#8c5653!important}
body.dark-theme.student-preview-screen #student-preview-content [data-result=correct]{background:#214b36!important;color:#b9f2cc!important;border-color:#6B8F6B!important}
body.dark-theme.student-preview-screen #student-preview-content [data-result=wrong]{background:#502d2c!important;color:#ffd0cb!important;border-color:#d88177!important}
body.dark-theme.student-preview-screen #student-preview-content :is(.answer-feedback,.attempt-symbols span,.sentence-slot)[data-result]{background:transparent!important;border-color:transparent!important}
body.dark-theme:not(.live-lesson) .catalog-empty{background:var(--ui-surface)!important;color:var(--ui-muted)!important;border-color:var(--ui-border)!important}
body.dark-theme.materials-screen .material-tabs a,body.dark-theme.materials-screen .material-tabs a[aria-current=page]{background:transparent!important;box-shadow:none!important;border-radius:0}
body.dark-theme .catalog-course-cover:not(.has-cover)>img{filter:brightness(1.6) saturate(.5)}
body.dark-theme #admin-dialog{width:min(480px,calc(100vw - 32px));padding:28px;border-radius:20px;border:1px solid var(--ui-border)}
body.dark-theme #admin-fields label{display:flex;flex-direction:column;gap:10px;margin:18px 0}
body.dark-theme #admin-fields input{width:100%}

/* One brand green across light and dark application surfaces. */
:root{--brand-main:#6B8F6B}
body :is(.primary,.ui-primary,.ui-audio-play),body.dark-theme:not(.live-lesson) :is(.primary,.ui-primary,button[type=submit],#save-material,#auth-submit){background:#6B8F6B!important;border-color:#6B8F6B!important;color:#fff!important}
body .app-symbol{background:#6B8F6B;color:#101B13}
body.dark-theme:not(.live-lesson) :is(.primary,.ui-primary,button[type=submit],#save-material,#auth-submit):hover:not(:disabled){background:#6B8F6B!important;filter:brightness(1.08)}

body.auth-screen #auth-submit{color:#fff!important}

/* Structural wrappers stay clear; only cards and floating panels own a surface. */
body.dark-theme{--ui-text:var(--ui-ink);--ui-bg:#18181b;--ui-shadow:none;--catalog-ink:var(--ui-ink);--catalog-muted:var(--ui-muted);--catalog-line:var(--ui-border)}
body.dark-theme #app-header nav :is(a,button),body.dark-theme #app-header nav :is(a,button):hover:not(:disabled){background:transparent!important;box-shadow:none!important;border-radius:0;color:var(--ui-muted)!important;filter:none}
body.dark-theme #app-header nav :is(a[aria-current=page],button[aria-current=page]),body.dark-theme #app-header nav :is(a,button):hover{color:var(--ui-ink)!important}
body.dark-theme #app-header nav a[aria-current=page]{border-bottom-color:var(--ui-accent)!important}
body.dark-theme #app-header .header-soon{background:var(--ui-soft);color:#b0c7ad}
body.dark-theme:not(.live-lesson) :is(.work-row,.room-row,.library-row,.catalog-course-content,.catalog-course-detail,.builder-section-heading,.section-toolbar,.lesson-header,.lesson-sections,#lesson-details,.module-frame-heading,.public-course-heading,.homework-page-heading,.assignment-heading,.section-nav-row){background:transparent!important;box-shadow:none!important;color:var(--ui-ink);border-color:var(--ui-border)!important}
body.dark-theme:not(.live-lesson) :is(.clean-course-detail,.catalog-grid,.library-group,.builder-workspace,.section-editor-actions,.homework-dashboard-layout){box-shadow:none!important;background:transparent!important}
body.dark-theme.app-ui:not(.live-lesson) :is(.block-editor-toggle,.editor-add,.editor-add-question,.editor-remove,.outline-handle,.section-remove,.outline-remove,.profile-edit,.profile-logout,.password-toggle,.assignment-delete,.homework-student,.block-focus-button),body.dark-theme.app-ui:not(.live-lesson) :is(.block-editor-toggle,.editor-add,.editor-add-question,.editor-remove,.outline-handle,.section-remove,.outline-remove,.profile-edit,.profile-logout,.password-toggle,.assignment-delete,.homework-student,.block-focus-button):hover:not(:disabled){background:transparent!important;box-shadow:none!important;filter:none}
body.dark-theme:not(.live-lesson) :is(.profile-edit,.profile-logout,.homework-student):hover:not(:disabled),body.dark-theme:not(.live-lesson) .homework-student[aria-current=true]{background:var(--ui-soft)!important}
body.dark-theme:not(.live-lesson) :is(.material-tabs a,.material-tabs a[aria-current=page]){background:transparent!important;box-shadow:none!important;border-radius:0}
body.dark-theme:not(.live-lesson) .material-tabs a[aria-current=page]{color:var(--ui-ink)!important;border-bottom-color:var(--ui-accent)!important}
body.dark-theme:not(.live-lesson) :is(.rich-editor,.choice-question-editor,.text-question-editor,.column-editor-card,.builder-array-row,.image-editor-card,.gap-editor-card){background:#202023!important;box-shadow:none!important;border-color:var(--ui-border)!important}
body.dark-theme:not(.live-lesson) :is(.rich-toolbar,.rich-input,.rich-input[contenteditable=true]){background:transparent!important;box-shadow:none!important}
body.dark-theme:not(.live-lesson) .rich-input[contenteditable=true]{border-color:transparent!important}
body.dark-theme:not(.live-lesson) :is(.section-editor-heading,.builder-outline,.editor-block,.module-frame,.subscription-card,.subscription-current,.homework-students,.assignment-card-wrap,.auth-card,.class-card,.catalog-course){box-shadow:none!important}
body.dark-theme :is(.catalog-menu,.section-actions-menu,.block-actions-menu,.account-menu,.notification-menu){background:transparent!important;box-shadow:none!important}
body.dark-theme :is(.catalog-menu>summary,.section-actions-menu>summary,.block-actions-menu>summary){border-radius:10px;box-shadow:none!important;background:var(--ui-soft)!important;border-color:var(--ui-border)!important}
body.dark-theme :is(.catalog-dropdown,.section-actions-popover,.account-dropdown,.notification-panel,.teacher-block-menu[open],.selection-translation,.ai-panel){background:var(--ui-surface)!important;color:var(--ui-ink)!important;border-color:var(--ui-border)!important;box-shadow:0 12px 32px #0005!important}
body.dark-theme :is(.catalog-dropdown,.section-actions-popover,.account-dropdown,.notification-panel) button:not(.primary){background:transparent!important;box-shadow:none!important}
body.dark-theme :is(.catalog-dropdown,.section-actions-popover,.account-dropdown,.notification-panel) button:hover:not(:disabled):not(.primary){background:var(--ui-soft)!important}
body.dark-theme :is(.subscription-card,.tariffs-details,.legal-document,.homework-summary-card,.homework-student-info) :is(h1,h2,h3,strong){color:var(--ui-ink)}
body.dark-theme hr{border-color:var(--ui-border)!important;box-shadow:none}
body.dark-theme :is(.student-unread,.homework-student-new,.block-editor-toggle h3,.ai-launcher){box-shadow:none!important}
body.dark-theme :is(.ai-log,.ai-message,.ai-context){background:transparent!important;color:var(--ui-ink)!important;border-color:var(--ui-border)!important}
body.dark-theme .ai-message p{color:var(--ui-ink)!important}
body.dark-theme:not(.live-lesson) :is(.primary,.ui-primary,button[type=submit],#save-material,#auth-submit):hover:not(:disabled){background:#779a77!important;filter:none}
body.dark-theme.live-lesson :is(.call-panel,.exercise,.lesson-sections,.ui-audio-player,.word-bank,.assignment-card-wrap){box-shadow:none!important}
body.dark-theme.live-lesson :is(.lesson-header,.teacher-actions,.section-list,.section-list>button,.student-header nav button){box-shadow:none!important}
body.dark-theme .student-header nav button,body.dark-theme .student-header nav button:hover{background:transparent!important;border-radius:0}

/* Compact actions and separators use the same quiet dark palette. */
body.dark-theme.app-ui:not(.live-lesson) :is(.rich-toolbar button,.section-nav-grip,.section-nav-delete),body.dark-theme.app-ui:not(.live-lesson) :is(.rich-toolbar button,.section-nav-grip,.section-nav-delete):hover:not(:disabled){background:transparent!important;box-shadow:none!important}
body.dark-theme:not(.live-lesson) .rich-toolbar button:hover:not(:disabled){background:var(--ui-soft)!important}
body.dark-theme.builder-screen #homework-outline{border-top-color:var(--ui-border)!important}
body.dark-theme.builder-screen .builder-outline .section-nav-button[aria-current=true]{background:transparent!important;color:var(--ui-ink)!important}
body.dark-theme.builder-screen .section-nav-row:has(.section-nav-button[aria-current=true]){background:var(--ui-soft)!important;border-radius:10px;margin:0 8px;padding-inline:4px}
body.dark-theme :is(.catalog-menu>summary,.section-actions-menu>summary,.block-actions-menu>summary){border-radius:10px!important}
body.dark-theme :is(.exercise-heading>.number,.inline-gap-token,.gap-chip,.matching-item,.sentence-slot,.sentence-slot>button){box-shadow:none!important}

body.dark-theme :is(.teacher-actions,#catalog-top-actions){background:transparent!important;box-shadow:none!important;border-color:var(--ui-border)!important}
body.dark-theme #create-menu>summary{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--ui-border);box-sizing:border-box}
body.dark-theme.app-ui:not(.live-lesson) .public-course-heading .catalog-back{background:transparent!important;padding:8px 0;box-shadow:none!important}
body.dark-theme :is(.module-square-cover:not(.has-cover),.library-icon) img{filter:brightness(2) saturate(.5)}
body.dark-theme.student-preview-screen #preview-structure button:not([aria-current=true]),body.dark-theme.student-preview-screen #preview-structure button:not([aria-current=true]):hover{background:transparent!important;border-color:transparent!important;box-shadow:none!important}
body.dark-theme .ai-launcher{border-radius:24px!important}

/* Choice controls share dark colours in class, homework and preview. */
body.dark-theme :is(#lesson,#student-preview-content) .exercise .choices label{background:var(--ui-soft)!important;color:var(--ui-ink)!important;border-color:var(--ui-border)!important;box-shadow:none!important}
body.dark-theme :is(#lesson,#student-preview-content) .exercise .choices label:has(input:checked){background:#354d3b!important;border-color:#8aaa7e!important}
body.dark-theme :is(#lesson,#student-preview-content) .exercise .choices input:not(:checked){background:#202023!important;border-color:#626269!important;opacity:1!important}
body.dark-theme :is(#lesson,#student-preview-content) .exercise .choices input:checked{background:#6B8F6B!important;border-color:#6B8F6B!important;opacity:1!important}
body.dark-theme :is(#lesson,#student-preview-content) .exercise .choices label[data-result=correct]{background:#214b36!important;color:#b9f2cc!important;border-color:#6B8F6B!important}
body.dark-theme :is(#lesson,#student-preview-content) .exercise .choices label[data-result=wrong]{background:#502d2c!important;color:#ffd0cb!important;border-color:#d88177!important}
body.dark-theme :is(#lesson,#student-preview-content) .exercise :is(.statement-card,.choice-question,.sequence-exercise){border-color:var(--ui-border)!important;box-shadow:none!important}

/* Course actions and first-use cards retain contrast in dark mode. */
body.dark-theme .catalog-design #catalog-top-actions>a,body.dark-theme .catalog-design .library-row .library-row-actions>a,body.dark-theme .catalog-design .library-row .catalog-symbol{background:var(--ui-soft)!important;color:var(--ui-ink)!important;border-color:var(--ui-border)!important;box-shadow:none!important}
body.dark-theme .welcome-state{background:var(--ui-surface)!important;border-color:var(--ui-border)!important;box-shadow:none!important}
body.dark-theme.app-ui .welcome-state .welcome-secondary,body.dark-theme.app-ui .welcome-state .welcome-secondary:hover:not(:disabled){background:transparent!important;color:var(--ui-ink)!important;border-color:var(--ui-border)!important}
body.dark-theme .welcome-state .welcome-primary{background:#6B8F6B!important;color:#fff!important;border-color:#6B8F6B!important}
body.dark-theme .welcome-art,body.dark-theme .welcome-step-number{background:var(--ui-soft)!important;color:#a9c5a5!important}

/* Calm focus states: contained keyboard rings and a single field edge. */
body{--control-focus:#6B8F6B}
body.dark-theme{--control-focus:#9db993}
body :is(button,summary,a,[role=button]):focus:not(:focus-visible){outline:none!important}
body :is(button,summary,[role=button]):focus-visible{outline:1px solid var(--control-focus)!important;outline-offset:-3px!important}
body a:not([role=button]):focus-visible{outline:1px solid var(--control-focus)!important;outline-offset:2px!important}
body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),textarea,select,[contenteditable=true]):focus{outline:none!important;box-shadow:none!important;border-color:var(--control-focus)!important}
body.dark-theme:not(.live-lesson) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),textarea,select,[contenteditable=true]):focus{border-color:var(--control-focus)!important}
body :is(input[type=checkbox],input[type=radio],input[type=range],input[type=color],input[type=file]):focus-visible{outline:1px solid var(--control-focus)!important;outline-offset:1px!important}
body .ui-upload-picker:focus-within{outline:1px solid var(--control-focus)!important;outline-offset:-3px!important}
body.builder-screen #editor-fields #editor-blocks .rich-editor:has(.rich-input:focus){border-color:var(--control-focus)!important;box-shadow:none!important}
body.builder-screen :is(#section-name,#lesson-name,.block-title-input):focus{border-color:transparent!important;border-bottom-color:var(--control-focus)!important;outline:none!important;box-shadow:none!important}
body.builder-screen #editor-fields #editor-blocks .block-title-input:focus{outline:none!important;outline-offset:0!important}
body :is(input,textarea,select,.rich-editor){transition:border-color .14s ease}
@media(prefers-reduced-motion:reduce){body :is(input,textarea,select,.rich-editor){transition:none}}

body :is(.primary,.ui-primary,.ui-audio-play,.welcome-primary,button[type=submit],#save-material,#auth-submit):focus-visible,body .ai-panel form button:focus-visible{outline-color:#fff!important}

/* Lesson editor conversation panel. */
.editor-ai-panel{position:fixed;inset:0 auto 0 16px;z-index:1402;display:flex;flex-direction:column;width:400px;max-width:100vw;background:var(--ui-surface,#fff);color:var(--ui-ink,#20372b);border:0;border-radius:20px;box-shadow:0 8px 24px #2d3b2d14;font:14px/1.6 Manrope,system-ui,sans-serif}
.editor-ai-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px 16px;flex-shrink:0}.editor-ai-head strong{display:block;font-size:17px}.editor-ai-head span{display:block;font-size:12px;color:var(--ui-muted);margin-top:3px}.editor-ai-head button{display:grid;place-items:center;min-height:32px;width:32px;padding:0;border:0;border-radius:9px;background:transparent;color:var(--ui-muted);font-size:24px}.editor-ai-head button:hover{background:var(--ui-soft)}
.editor-ai-section{margin:0 24px;padding:0 0 14px;border-bottom:1px solid var(--ui-border);color:var(--ui-muted);font-size:12px;flex-shrink:0;overflow-wrap:anywhere}
.editor-ai-log{flex:1;min-height:0;overflow:auto;padding:22px 24px;overscroll-behavior:contain}.editor-ai-message{margin:0 0 24px;overflow-wrap:anywhere}.editor-ai-message p{white-space:pre-wrap;margin:6px 0 0;line-height:1.75}.editor-ai-role{font-size:11px;font-weight:650;color:var(--ui-muted)}.editor-ai-user{margin-left:24px;padding:14px 16px;border-radius:16px 16px 4px 16px;background:var(--ui-soft)}.editor-ai-user p{margin-top:3px}.editor-ai-result{display:block;margin-top:12px;font-size:12px;color:var(--ui-accent);border-left:2px solid var(--ui-accent);padding-left:10px}
.editor-ai-welcome{padding:36px 0 20px}.editor-ai-symbol{font-size:26px;color:var(--ui-accent);margin-bottom:16px}.editor-ai-welcome h2{font-size:22px;letter-spacing:-.5px;margin:0 0 12px}.editor-ai-welcome p{font-size:14px;color:var(--ui-muted);margin:0;line-height:1.8}.editor-ai-examples{display:grid;gap:8px;margin-top:24px}.editor-ai-examples button{text-align:left;padding:11px 13px;border:1px solid var(--ui-border);border-radius:12px;background:transparent;color:var(--ui-ink);font:inherit;font-size:12px}.editor-ai-examples button:hover{background:var(--ui-soft)}
.editor-ai-status{flex-shrink:0;margin:0;padding:6px 24px 10px;color:var(--ui-muted);font-size:12px}.editor-ai-compose{flex-shrink:0;margin:0 18px;padding:12px;border:1px solid var(--ui-border);border-radius:16px;background:var(--ui-surface)}.editor-ai-compose:focus-within{border-color:var(--control-focus,var(--ui-accent))}.editor-ai-compose textarea{width:100%;min-height:76px;max-height:180px;resize:vertical;box-sizing:border-box;padding:2px 4px!important;margin:0!important;border:0!important;background:transparent!important;color:var(--ui-ink);font:inherit;line-height:1.6;outline:none!important;box-shadow:none!important}.editor-ai-compose-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.editor-ai-compose-tools span{font-size:10px;color:var(--ui-muted)}.editor-ai-compose-tools button{display:grid;place-items:center;width:32px;min-height:32px;padding:0;border-radius:10px;font-size:20px}.editor-ai-foot{flex-shrink:0;margin:10px 24px 18px;font-size:10px;color:var(--ui-muted);line-height:1.5}
body.editor-ai-open :is(.ai-launcher,.ai-panel){display:none!important}
body.dark-theme .editor-ai-panel{background:var(--ui-surface)}body.dark-theme .editor-ai-panel :is(.editor-ai-head button,.editor-ai-examples button){background:transparent!important;color:var(--ui-ink)!important}body.dark-theme .editor-ai-compose textarea{background:transparent!important}
@media(max-width:800px){.editor-ai-panel{inset:0 0 0;width:100%;border:0}.editor-ai-head{padding:16px 20px 12px}.editor-ai-log{padding:20px}.editor-ai-welcome{padding-top:20px}.editor-ai-compose-tools span{font-size:9px}}




/* Shared card surfaces and header interactions in dark mode. */
body.dark-theme.classes-design #room-list .work-row{background:var(--ui-surface)!important;border:0!important;box-shadow:0 5px 24px #00000012!important}
body.dark-theme.classes-design #room-list .work-row:hover{background:#2e2e32!important}
body.dark-theme.classes-design .class-add-card{background:var(--ui-soft)!important;border:0!important}
body.dark-theme.classes-design .class-add-card:hover{background:#39393e!important}
body.dark-theme :is(.catalog-course,.material-card,.assignment-card-wrap,.shared-material-card){background:var(--ui-surface)!important;color:var(--ui-ink)!important}
body.dark-theme :is(.catalog-course-cover:not(.has-cover),.module-square-cover:not(.has-cover),.catalog-symbol,.course-empty-icon){background:var(--ui-soft)!important;color:var(--ui-muted)!important}
body.dark-theme .catalog-course{border:0!important;box-shadow:0 5px 24px #00000012!important}
body.dark-theme .catalog-course:hover{background:#2e2e32!important}
body.dark-theme #lesson-picker .material-tabs{background:var(--ui-soft)!important;border:0;border-radius:14px;padding:5px}
body.dark-theme #lesson-picker .material-tabs a{background:transparent!important;border-radius:10px!important;color:var(--ui-muted)!important;border:0!important}
body.dark-theme #lesson-picker .material-tabs a[aria-current=page],body.dark-theme #lesson-picker .material-tabs a:hover{background:#39393e!important;color:var(--ui-ink)!important;border-radius:10px!important}
body.dark-theme.app-ui #app-header nav :is(a,button):hover:not(:disabled){background:var(--ui-soft)!important;color:var(--ui-ink)!important;border-radius:12px!important}
body.dark-theme.app-ui #app-header nav :is(a,button)[aria-current=page]{background:var(--ui-soft)!important;color:#bdd4b7!important;border-radius:12px!important}
body.dark-theme.app-ui.live-lesson #app-header.class-header nav .class-change-material{border:1px solid var(--ui-border)!important;border-radius:12px!important;color:var(--ui-ink)!important;background:transparent!important;box-shadow:none!important}
body.dark-theme.app-ui.live-lesson #app-header.class-header nav .class-change-material:hover{background:var(--ui-soft)!important}
body.dark-theme.app-ui #app-header :is(.account-menu>summary,.notification-menu>summary):hover{background:#39393e!important}
body.dark-theme .student-profile-dialog input{background:var(--ui-soft)!important;color:var(--ui-ink)!important;border-color:var(--ui-border)!important}
body.dark-theme .student-profile-dialog .primary{background:#6b8f6b!important;color:#fff!important}
body.dark-theme .call-start-actions #copy-class-link:hover,body.dark-theme .call-panel .controls button:hover{background:#39393e!important}
body.dark-theme #student-sections button:hover,body.dark-theme #homework-nav:hover{background:var(--ui-soft)!important}

body.dark-theme.live-lesson .call-panel #start{color:#fff!important}

body.dark-theme.app-ui.classes-design #room-list .work-actions a.work-continue{background:#6b8f6b!important;color:#fff!important}body.dark-theme.app-ui.classes-design #room-list .work-actions a.work-continue:hover{background:#5c7e5c!important}body.dark-theme.app-ui.classes-design .students-search input{background:transparent!important;border:0!important}body.dark-theme.app-ui.classes-design #room-list .student-menu summary{background:transparent!important}

/* Classroom welcome: a quiet, spacious first step. */
body.live-lesson #empty-material {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:10px;
  min-height:220px;
  margin:0;
  padding:32px;
  border:0;
  border-radius:16px;
  background:var(--ui-surface,#fff);
  box-shadow:0 8px 24px #2d3b2d0d;
  text-align:left;
}
body.live-lesson #empty-material[hidden] { display:none; }
body.live-lesson #empty-material h2 {
  max-width:540px;
  margin:0;
  color:var(--ui-ink,#26332d);
  font-family:Manrope,'Segoe UI',sans-serif;
  font-size:24px;
  font-weight:600;
  line-height:1.35;
  letter-spacing:-.025em;
  text-wrap:balance;
}
body.live-lesson #empty-material #choose-first-material {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  margin-top:14px;
  padding:12px 20px;
  border:0;
  border-radius:12px;
  background:#6b8f6b;
  color:#fff;
  font:600 15px/1.4 Manrope,'Segoe UI',sans-serif;
  cursor:pointer;
  transition:background .18s ease,box-shadow .18s ease;
}
body.live-lesson #empty-material #choose-first-material[hidden] { display:none; }
body.live-lesson #empty-material #choose-first-material:hover { background:#5d7f5d; }
body.live-lesson #empty-material #choose-first-material:focus-visible {
  outline:2px solid var(--ui-accent,#6b8f6b);
  outline-offset:4px;
}
body.live-lesson #empty-material #empty-material-student {
  margin:0;
  max-width:380px;
  color:var(--ui-muted,#758078);
  font:400 15px/1.65 Manrope,'Segoe UI',sans-serif;
}
body.live-lesson.dark-theme #empty-material { background:var(--ui-surface,#242427);border:0; }
@media(max-width:600px) {
  body.live-lesson #empty-material { min-height:220px;margin:0;padding:28px 24px;gap:10px;border-radius:16px; }
}
@media(prefers-reduced-motion:reduce) {
  body.live-lesson #empty-material #choose-first-material { transition:none; }
}

/* Remove the hidden lesson heading's reserved space in the welcome state. */
body.live-lesson #lesson:has(> #empty-material:not([hidden])) > .lesson-header {padding:0;}
body.live-lesson #empty-material-copy {margin:0;color:var(--ui-muted,#758078);font:400 15px/1.6 "Segoe UI",system-ui,sans-serif;}
body.live-lesson #empty-material #choose-first-material {gap:12px;font-family:"Segoe UI",system-ui,sans-serif;font-weight:600;}
body.live-lesson #empty-material #choose-first-material svg {width:18px;height:18px;flex-shrink:0;}
body.live-lesson #empty-material h2 {font-family:"Segoe UI",system-ui,sans-serif;letter-spacing:-.02em;}
body.live-lesson #empty-material h2[hidden],body.live-lesson #empty-material-copy[hidden] {display:none;}
body.live-lesson.dark-theme #empty-material {box-shadow:0 12px 32px #0003;}
body.live-lesson #lesson:has(> #empty-material:not([hidden])) > :is(#homework-error,#lesson-error):empty {display:none;}
@media(min-width:761px) {
  body.live-lesson .workspace:has(> #lesson > #empty-material:not([hidden])) {align-items:stretch;}
  body.live-lesson #lesson:has(> #empty-material:not([hidden])) {display:flex;flex-direction:column;}
  body.live-lesson #lesson > #empty-material:not([hidden]) {flex:1;}
  body.live-lesson .workspace:has(> #lesson > #empty-material:not([hidden])) > .call-panel {min-height:220px;}
}

/* Exercise chips move as whole cards; Alt keeps deliberate text selection. */
.exercise button.drag-source:not(:disabled) {user-select:none;-webkit-user-select:none;cursor:grab;}
.exercise button.drag-source:not(:disabled):active {cursor:grabbing;}
.exercise button.drag-source[data-selecting=true] {user-select:text;-webkit-user-select:text;cursor:text;}
.exercise .letter-space {min-width:42px;}

/* Quiet, borderless welcome cards and an explicit trial invitation. */
body.app-ui .welcome-state{border:0!important;box-shadow:0 8px 30px rgba(30,40,34,.06)!important;padding-bottom:40px}
body.dark-theme.app-ui .welcome-state{border:0!important;box-shadow:0 8px 30px rgba(0,0,0,.2)!important}
body .welcome-steps{display:none!important}
body.app-ui #app-header .trial-promo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;min-width:156px;padding:9px 18px;border:1px solid #759a76;border-radius:14px;background:linear-gradient(120deg,#6b8f6b,#527958);color:#fff;box-shadow:0 4px 14px #52795820,inset 0 1px 0 #ffffff20;font-family:inherit;cursor:pointer;transition:box-shadow .16s,filter .16s}
body.app-ui #app-header .trial-promo strong{font-size:13px;line-height:1.3;font-weight:700;color:#fff;white-space:nowrap}
body.app-ui #app-header .trial-promo>span{font-size:11px;line-height:1.3;font-weight:500;color:#fff;opacity:.88;white-space:nowrap}
body.app-ui #app-header .trial-promo:hover{filter:brightness(1.05);box-shadow:0 6px 18px #52795830,inset 0 1px 0 #ffffff20}
body.app-ui #app-header .trial-promo[hidden]{display:none!important}
body.dark-theme.app-ui #app-header .trial-promo,body.dark-theme.app-ui #app-header .trial-promo:hover{background:linear-gradient(120deg,#6b8f6b,#527958)!important;border-color:#759a76!important;color:#fff!important;box-shadow:inset 0 1px 0 #ffffff20}
body.dark-theme.app-ui #app-header .trial-promo strong{color:#fff!important}
@media(max-width:800px){body.app-ui #app-header .trial-promo{min-width:132px;min-height:46px;padding:8px 12px;border-radius:12px}body.app-ui #app-header .trial-promo strong{font-size:12px}body.app-ui #app-header .trial-promo>span{font-size:10px}}


body.app-ui #create-menu{position:relative;flex-shrink:0}
body.app-ui #create-menu>summary{display:flex;gap:14px;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:0;border-radius:12px;background:#6b8f6b;color:#fff;font-size:14px;font-weight:600;cursor:pointer;list-style:none;transition:background .18s}
body.app-ui #create-menu>summary::-webkit-details-marker{display:none}
body.app-ui #create-menu>summary:hover{background:#5e815e}
body.app-ui #create-menu>summary:focus-visible{outline:3px solid #6b8f6b66;outline-offset:3px}
body.app-ui #create-menu>.catalog-dropdown{position:absolute;top:calc(100% + 10px);right:0;left:auto;width:230px;box-sizing:border-box;padding:8px;border:0;border-radius:16px;background:var(--ui-surface);box-shadow:0 12px 40px #17231c1f;z-index:50;animation:overview-enter .16s ease both}
body.app-ui #create-menu>.catalog-dropdown>button,body.app-ui #create-menu>.catalog-dropdown>a{display:block;box-sizing:border-box;width:100%;padding:13px 14px;margin:0;text-align:left;border:0;border-radius:10px;background:transparent;color:var(--ui-ink);font-size:14px;font-weight:500;text-decoration:none;cursor:pointer}
body.app-ui #create-menu>.catalog-dropdown>button:hover,body.app-ui #create-menu>.catalog-dropdown>a:hover{background:var(--ui-soft)}
body.dark-theme.app-ui #create-menu>.catalog-dropdown{box-shadow:0 12px 40px #0006}
@media(prefers-reduced-motion:reduce){body.app-ui #create-menu>.catalog-dropdown{animation:none}}
body.app-ui #create-menu>summary{line-height:20px;white-space:nowrap;box-sizing:border-box}
body.app-ui #create-menu>summary>span{display:block;flex:0 0 6px;width:6px;height:6px;font-size:0;line-height:0;margin:0 0 3px 0;padding:0;border:solid currentColor;border-width:0 1.8px 1.8px 0;transform:rotate(45deg);align-self:center;position:static}
body.app-ui #create-menu[open]>summary>span{transform:rotate(225deg);margin:3px 0 0}

body .free-class-choice{padding:28px;margin:0 0 24px;background:var(--ui-surface);border-radius:20px;box-shadow:0 8px 30px #263e3209}body .free-class-choice[hidden]{display:none}body .free-class-choice h2{font-size:23px;margin:0 0 12px}body .free-class-choice p{color:var(--ui-muted);line-height:1.65;max-width:780px}body .free-class-choice>div{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}body .free-class-choice select{min-height:46px;min-width:220px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);color:var(--ui-ink);padding:10px 14px;font:inherit}body .plan-paused .work-continue{background:var(--ui-soft)!important;color:var(--ui-ink)!important}

body .free-class-notice{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 24px;padding:17px 18px;border:1px solid var(--ui-border);border-radius:16px;background:var(--ui-soft);color:var(--ui-ink);line-height:1.5}body .free-class-notice-copy{display:grid;gap:3px;min-width:0}body .free-class-notice strong{font-size:15px;font-weight:700}body .free-class-notice span{font-size:13px;color:var(--ui-muted)}body .free-class-notice a{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:38px;padding:9px 14px;border-radius:10px;background:var(--ui-surface);color:var(--ui-accent);font-size:13px;font-weight:650;text-decoration:none;box-shadow:inset 0 0 0 1px var(--ui-border)}body .free-class-notice a:hover{background:var(--ui-border)}@media(max-width:600px){body .free-class-notice{align-items:flex-start;flex-direction:column;gap:12px;padding:15px 16px}body .free-class-notice a{width:100%}}

/* Branded plan link and a deliberately designed student chooser. */
body.app-ui .account-dropdown .profile-plan-card{position:relative;display:flex!important;flex-direction:column;gap:7px;margin:10px 12px;padding:17px 18px!important;border:1px solid var(--ui-border)!important;border-radius:16px;background:var(--ui-soft)!important;text-decoration:none;color:var(--ui-ink)!important;box-shadow:none;transition:box-shadow .18s ease,border-color .18s ease}
body.app-ui .account-dropdown .profile-plan-card.is-pro{background:linear-gradient(125deg,var(--ui-soft),var(--ui-surface))!important;border-color:#6b8f6b66!important}
body.app-ui .account-dropdown .profile-plan-card strong{font-size:16px;letter-spacing:-.02em;color:var(--ui-ink)}
body.app-ui .account-dropdown .profile-plan-card span{font-size:12px;color:var(--ui-muted);line-height:1.4}
body.app-ui .account-dropdown .profile-plan-card::after{content:'↗';position:absolute;right:18px;top:18px;color:var(--ui-accent);font-size:18px}
body.app-ui .account-dropdown .profile-plan-card:hover{border-color:#6b8f6b!important;box-shadow:0 4px 16px #6b8f6b14}
body .free-student-dialog{box-sizing:border-box;width:540px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);padding:28px;border:0;border-radius:24px;background:var(--ui-surface);color:var(--ui-ink);box-shadow:0 24px 80px #0003}
body .free-student-dialog::backdrop{background:#11182766;backdrop-filter:blur(4px)}
body .student-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
body .student-picker-kicker{color:var(--ui-accent);font-size:11px;font-weight:700;letter-spacing:.05em}
body .student-picker-heading h2{font-size:26px;line-height:1.25;letter-spacing:-.025em;margin:8px 0 0}
body .student-picker-close{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:10px;background:var(--ui-soft);color:var(--ui-muted);font-size:24px;cursor:pointer}
body .student-picker-intro{color:var(--ui-muted);font-size:14px;line-height:1.65;margin:18px 0 20px}
body .student-picker-list{display:grid;gap:6px;max-height:340px;overflow-y:auto;padding:2px;scrollbar-width:thin}
body .student-picker-row{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid transparent;border-radius:14px;cursor:pointer;transition:background .15s ease,border-color .15s ease}
body .student-picker-row:hover{background:var(--ui-soft)}body .student-picker-row:has(input:checked){background:var(--ui-soft);border-color:#6b8f6b66}
body .student-picker-row input{width:16px;height:16px;accent-color:#6b8f6b;flex-shrink:0}
body .student-picker-avatar{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:12px;background:var(--ui-soft);color:var(--ui-accent);font-size:13px;font-weight:600}
body .student-picker-row strong{font-size:14px;font-weight:600;min-width:0;overflow-wrap:anywhere}
body .student-picker-status{margin-left:auto;flex-shrink:0;padding:5px 9px;border-radius:8px;background:var(--ui-soft);color:var(--ui-muted);font-size:11px}
body .student-picker-status.is-active{background:#6b8f6b1a;color:var(--ui-accent)}
body .student-picker-note{font-size:12px;line-height:1.6;color:var(--ui-muted);margin:18px 0 0}
body .student-picker-error{color:#b85c55;font-size:13px;margin:8px 0 0}body .student-picker-error:empty{display:none}
body .student-picker-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}body .student-picker-footer button{min-height:44px}
body .free-student-trigger::after{content:'⌄';margin-left:14px}
@media(max-width:540px){body .free-student-dialog{padding:22px 16px}body .student-picker-row{gap:8px;padding:10px 8px}body .student-picker-avatar{flex-basis:32px;height:32px}body .student-picker-footer{flex-wrap:wrap}body .student-picker-footer button{flex:1}}

/* Shared administration rail, isolated from teacher and classroom screens. */
body.admin-navigation-screen .admin-frame{display:grid;grid-template-columns:204px minmax(0,1fr);gap:40px;max-width:1440px;width:calc(100% - 64px);margin:34px auto 72px;align-items:start}
body.admin-navigation-screen .admin-frame>main{width:100%!important;max-width:none!important;min-width:0;margin:0!important;padding:0!important}
body.admin-navigation-screen .admin-navigation{position:sticky;top:104px;padding:14px 0}
body.admin-navigation-screen .admin-navigation-label{margin:0 14px 19px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--ui-muted,#758079)}
body.admin-navigation-screen .admin-navigation-menu{border:0;background:transparent;padding:0;margin:0}
body.admin-navigation-screen .admin-navigation-menu>summary{display:none}
body.admin-navigation-screen .admin-navigation nav{display:flex;flex-direction:column;gap:7px}
body.admin-navigation-screen .admin-navigation nav a{display:flex;align-items:center;gap:12px;padding:13px 14px;min-height:48px;border:0;border-radius:12px;text-decoration:none;color:var(--ui-muted,#68756d);background:transparent;font-size:14px;font-weight:500;line-height:1.4;transition:background .15s,color .15s}
body.admin-navigation-screen .admin-navigation nav a svg{width:20px;height:20px;flex:none}
body.admin-navigation-screen .admin-navigation nav a:hover{color:var(--ui-ink,#17231b);background:var(--ui-soft,#edf3ed)}
body.admin-navigation-screen .admin-navigation nav a[aria-current=page]{color:var(--ui-ink,#17231b);background:var(--ui-surface,#fff);font-weight:650;box-shadow:0 4px 20px #17231b08}
body.admin-navigation-screen .admin-navigation nav a[aria-current=page] svg{color:var(--ui-accent,#6b8f6b)}
body.admin-navigation-screen .admin-navigation nav a:focus-visible{outline:2px solid var(--ui-accent,#6b8f6b);outline-offset:3px}
body.admin-navigation-screen .admin-section-heading .library-eyebrow,body.admin-navigation-screen .support-eyebrow{display:none}
body.admin-navigation-screen .admin-section-heading{margin:0 0 28px}
body.admin-navigation-screen .admin-frame>main>h1{margin-top:0}
body.admin-navigation-screen.dark-theme .admin-navigation nav a[aria-current=page]{box-shadow:0 4px 20px #0002}
@media(max-width:1000px){body.admin-navigation-screen .admin-frame{grid-template-columns:180px minmax(0,1fr);gap:24px;width:calc(100% - 40px)}}
@media(max-width:760px){body.admin-navigation-screen .admin-frame{display:flex;flex-direction:column;gap:24px;width:calc(100% - 32px);margin-top:20px}body.admin-navigation-screen .admin-navigation{position:static;width:100%;padding:0}body.admin-navigation-screen .admin-navigation-label{display:none}body.admin-navigation-screen .admin-navigation-menu{background:var(--ui-surface,#fff);border-radius:14px;box-shadow:0 4px 20px #17231b06}body.admin-navigation-screen .admin-navigation-menu>summary{display:list-item;padding:14px 18px;font-size:14px;font-weight:600;cursor:pointer;color:var(--ui-ink,#17231b)}body.admin-navigation-screen .admin-navigation-menu[open]>nav{padding:0 8px 8px}body.admin-navigation-screen .admin-navigation nav{gap:3px}}

/* Keep the student picker inside the visible desktop viewport. */
@media(min-width:761px){
 body.homework-dashboard .homework-students{display:flex;flex-direction:column;max-height:var(--homework-students-height,calc(100dvh - 240px));min-height:0;overflow:hidden}
 body.homework-dashboard .homework-sidebar-heading{flex:0 0 auto}
 body.homework-dashboard #homework-students{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--ui-border,#dce5da) transparent;padding-right:4px}
 body.homework-dashboard #homework-students::-webkit-scrollbar{width:5px}
 body.homework-dashboard #homework-students::-webkit-scrollbar-thumb{background:var(--ui-border,#dce5da);border-radius:8px}
}

/* Stable first paint and short native document transitions. */
@font-face{font-family:Manrope;src:url('/design/manrope.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:optional}
html{scrollbar-gutter:stable}
html.dark-theme body{--ui-accent:#a7c7a0;--ui-focus:#6B8F6B;--ui-ink:#f0f0f2;--ui-muted:#a6a6ad;--ui-border:#414146;--ui-surface:#242427;--ui-soft:#2e2e32;--ui-danger:#ffa79f;--brand-main:#6B8F6B;--brand-ink:#f0f0f2;--brand-bg:#18181b;--brand-border:#414146;--brand-muted:#a6a6ad;--builder-ink:#f0f0f2;--builder-muted:#a6a6ad;--builder-border:#414146;--builder-green:#6B8F6B;--builder-badge:#6B8F6B;background:#18181b!important;color:#f0f0f2!important;color-scheme:dark}
html.dark-theme body.app-ui #app-header:not([data-public]){background:#202023;color:var(--ui-ink)}
body.app-ui:not(.live-lesson) #app-header:not([data-public]):empty{min-height:92px}
@media(min-width:681px) and (max-width:1130px){body.app-ui:not(.live-lesson) #app-header:not([data-public]):empty{min-height:144px}}
@media(max-width:680px){body.app-ui:not(.live-lesson) #app-header:not([data-public]):empty{min-height:124px}}
@view-transition{navigation:auto}
::view-transition-old(root){animation-duration:120ms;animation-timing-function:ease-out}
::view-transition-new(root){animation-duration:160ms;animation-timing-function:ease-out}
body.app-ui:not(.live-lesson) #app-header{view-transition-name:lessonok-header}
::view-transition-old(lessonok-header),::view-transition-new(lessonok-header){animation:none;mix-blend-mode:normal}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}::view-transition-old(root),::view-transition-new(root){animation:none}}

/* Quiet cabinet loading: retain layout and never slide finished cards. */
body.classes-design #room-list .work-row,body.homework-dashboard .assignment-list{animation:cabinet-reveal 140ms ease-out both}
@keyframes cabinet-reveal{from{opacity:.92}to{opacity:1}}
body .ui-skeleton:after{animation-duration:1.25s;opacity:.65}
body .cabinet-loading-line{position:fixed;z-index:2300;top:0;left:0;width:100%;height:2px;overflow:hidden;background:transparent;pointer-events:none}
body .cabinet-loading-line:before{content:'';display:block;width:32%;height:100%;background:var(--ui-accent,#6b8f6b);border-radius:2px;animation:cabinet-progress 1.1s ease-in-out infinite}
@keyframes cabinet-progress{from{transform:translateX(-110%)}to{transform:translateX(420%)}}
body .cabinet-loading-line[hidden]{display:none}
body .cabinet-material-skeletons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;min-height:280px}
body .cabinet-material-skeleton{height:280px;padding:28px;display:flex;flex-direction:column;gap:16px}
body .cabinet-material-skeleton span{display:block;height:16px;width:70%;background:var(--ui-soft,#edf3ed);border-radius:6px}
body .cabinet-material-skeleton span:first-child{height:130px;width:100%;margin-bottom:8px}
body .cabinet-chooser-loading{height:var(--chooser-height,170px);overflow:hidden;pointer-events:none}
body .cabinet-chooser-loading:before{content:'';display:block;height:18px;width:160px;background:var(--ui-soft);border-radius:6px;margin-bottom:20px}
body .cabinet-chooser-loading:after{content:'';display:block;height:42px;width:260px;max-width:85%;background:var(--ui-soft);border-radius:10px}
body.app-ui #create-menu{position:relative;flex:0 0 auto;width:auto;min-width:0}
body.app-ui #create-menu>summary,body.dark-theme.app-ui #create-menu>summary{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;width:auto!important;min-width:132px!important;min-height:48px!important;height:auto!important;padding:0 20px!important;border:0!important;border-radius:12px!important;background:#6b8f6b!important;color:#fff!important;box-sizing:border-box!important;white-space:nowrap!important;list-style:none!important}
body.app-ui #create-menu>summary:hover{background:#5c7e5c!important}
body.app-ui #create-menu>summary::-webkit-details-marker{display:none}
body.dark-theme.app-ui #create-menu .catalog-dropdown{background:var(--ui-surface)!important;color:var(--ui-ink)!important;border-color:var(--ui-border)!important}
@media(max-width:800px){body .cabinet-material-skeletons{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){body .cabinet-material-skeletons{grid-template-columns:1fr}body .cabinet-material-skeleton:nth-child(n+2){display:none}}
@media(prefers-reduced-motion:reduce){body .cabinet-loading-line:before,body .ui-skeleton:after,body.classes-design #room-list .work-row,body.homework-dashboard .assignment-list{animation:none}}

/* Cabinet footer styles are available before the first paint. */
body.app-ui:not(.live-lesson){min-height:100dvh;display:flex;flex-direction:column;box-sizing:border-box}
body.app-ui:not(.live-lesson)>main,body.app-ui>.admin-frame{flex:1 0 auto;width:100%;min-width:0;box-sizing:border-box}
.app-legal-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px;padding:24px;min-height:68px;box-sizing:border-box;margin-top:auto;font-size:13px;line-height:20px;color:var(--ui-muted)}
.app-legal-footer a{color:inherit;text-decoration:none}.app-legal-footer a:hover{color:var(--ui-ink)}
/* Action panels float beneath their unchanged trigger. */
.catalog-design .catalog-menu:not(#create-menu){position:relative;flex:none;padding:0;border:0;background:transparent;box-shadow:none}
.catalog-design .catalog-course>.catalog-menu:not(#create-menu){position:absolute;right:10px;top:10px;width:36px}
.catalog-design .catalog-menu:not(#create-menu)>summary{display:grid;place-items:center;box-sizing:border-box;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;margin:0;border:0;border-radius:10px;background:var(--ui-surface);color:var(--ui-ink);font-size:22px;line-height:1;cursor:pointer;list-style:none}
.catalog-design .catalog-menu:not(#create-menu)>summary:hover{background:var(--ui-soft)}
.catalog-design .catalog-menu>.catalog-dropdown{position:absolute;top:calc(100% + 8px);right:0;bottom:auto;box-sizing:border-box;width:232px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;padding:8px;border:0;border-radius:16px;background:var(--ui-surface);color:var(--ui-ink);box-shadow:0 12px 40px #17231c26;z-index:70}
.catalog-design .catalog-menu.opens-up>.catalog-dropdown{top:auto;bottom:calc(100% + 8px)}
.catalog-design .catalog-dropdown>:is(button,a){display:block;box-sizing:border-box;width:100%;padding:12px 14px;margin:0;border:0;border-radius:9px;background:transparent;color:inherit;text-align:left;text-decoration:none;font:inherit;font-size:14px;line-height:20px;white-space:normal;cursor:pointer}
.catalog-design .catalog-dropdown>:is(button,a):hover{background:var(--ui-soft)}
.catalog-design .catalog-menu>summary:focus-visible,.catalog-design .catalog-dropdown>:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}
body.homework-dashboard #lesson{min-height:max(410px,calc(100dvh - 280px))}
body.homework-dashboard #homework-preloader{position:absolute;inset:0;z-index:2;background:var(--ui-bg,#f8f9f6);align-content:start;min-height:0}
body.homework-dashboard #lesson.homework-switching{min-height:var(--homework-content-height,410px)}
body.homework-dashboard #lesson.homework-switching #assignment-panel{visibility:hidden}

body:has(#room-list[aria-busy="true"],#material-list[aria-busy="true"],#homework-preloader:not([hidden]),.cabinet-loading-line)>.app-legal-footer{visibility:hidden}
.app-legal-footer{view-transition-name:lessonok-footer}
::view-transition-old(lessonok-footer),::view-transition-new(lessonok-footer){animation:none}

/* A quieter entry into the existing material transfer flow. */
body.app-ui #catalog-top-actions{align-items:center;gap:12px}
body.app-ui #platform-import{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:48px;padding:10px 16px;border:0;border-radius:12px;background:var(--ui-soft,#eef2eb);color:var(--ui-ink,#24382d);box-shadow:none;font:inherit;font-size:14px;font-weight:500;line-height:20px;text-align:center;cursor:pointer;transition:background .16s,color .16s}
body.app-ui #platform-import:hover{background:color-mix(in srgb,var(--ui-accent,#6b8f6b) 16%,var(--ui-surface,#fff))}
body.app-ui #platform-import:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}
@media(max-width:520px){body.materials-screen #catalog-top-actions{width:100%;flex-wrap:nowrap}body.app-ui #platform-import{flex:1;min-width:0;padding:8px 12px;font-size:13px}}

.platform-transfer-dialog{box-sizing:border-box;width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:36px;border:0;border-radius:24px;background:var(--ui-surface,#fff);color:var(--ui-ink,#24382d);box-shadow:0 24px 80px #17231c30}
.platform-transfer-dialog::backdrop{background:#17231c66;backdrop-filter:blur(4px)}
.platform-transfer-dialog form{display:flex;flex-direction:column;gap:0;margin:0}
.platform-transfer-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:24px;border-radius:16px;background:var(--ui-soft,#eef2eb);color:var(--ui-accent,#6b8f6b);font-size:28px;font-weight:500}
.platform-transfer-dialog h2{margin:0 0 12px;font-size:26px;font-weight:650;line-height:1.25;letter-spacing:-.5px}
.platform-transfer-intro{margin:0 0 28px;color:var(--ui-muted,#718078);font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.platform-transfer-dialog label{margin:0 0 9px;font-size:14px;font-weight:600;line-height:20px}
.platform-transfer-dialog input{box-sizing:border-box;width:100%;height:50px;padding:12px 14px;border:1px solid var(--ui-border,#dce3dc);border-radius:12px;background:var(--ui-surface,#fff);color:var(--ui-ink);font:inherit;font-size:14px}
.platform-transfer-dialog input:focus{outline:2px solid var(--ui-accent,#6b8f6b);outline-offset:2px}
.platform-transfer-dialog .platform-transfer-close{position:absolute;right:18px;top:18px;display:grid;place-items:center;width:32px;height:32px;min-height:0;padding:0;margin:0;border:0;border-radius:10px;background:transparent;color:var(--ui-muted);box-shadow:none;font:inherit;font-size:24px;cursor:pointer}
.platform-transfer-dialog .platform-transfer-close:hover{background:var(--ui-soft)}
.platform-transfer-error{margin:12px 0 0;color:#bd4c43;font-size:13px;line-height:1.5}.platform-transfer-error:empty{display:none}
.platform-transfer-dialog .platform-transfer-submit{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:48px;margin:20px 0 0;padding:12px 16px;border:0;border-radius:12px;background:#6b8f6b;color:#fff!important;box-shadow:none;text-decoration:none;text-align:center;font:inherit;font-size:14px;font-weight:600;line-height:20px;cursor:pointer}
.platform-transfer-dialog .platform-transfer-submit:hover{background:#5e815e}.platform-transfer-dialog .platform-transfer-submit:disabled{opacity:.65;cursor:wait}
.platform-transfer-note{margin:14px 0 0;color:var(--ui-muted);font-size:12px;line-height:1.6;text-align:center}
.platform-transfer-dialog .platform-transfer-done{margin:12px 0 0;padding:10px;border:0;border-radius:12px;background:transparent;color:var(--ui-muted);box-shadow:none;font:inherit;font-size:14px;cursor:pointer}
@media(max-width:520px){.platform-transfer-dialog{padding:28px 24px}.platform-transfer-dialog h2{font-size:24px}}

/* Stable top-level Materials frame, including the board library before deferred scripts run. */
body.materials-screen .home.dashboard:not(.catalog-inside)>.library-heading{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:24px;min-height:var(--cabinet-title-line);margin:0 0 var(--cabinet-heading-gap)}
body.materials-screen .bl-library #new-board{min-height:48px;padding:0 20px;font-size:14px;font-weight:600;line-height:20px;border-radius:12px}
body.materials-screen .bl-library .bl-library-layout{margin-top:0}
body.materials-screen .bl-library .bl-search-label{position:relative;margin:0 0 24px}
body.materials-screen .bl-library .bl-search-label:before{content:'⌕';position:absolute;left:20px;top:13px;font-size:24px;color:var(--ui-muted)}
body.materials-screen .bl-library #boards-search{height:58px;min-height:58px;width:100%;padding:16px 20px 16px 52px;border:1px solid var(--ui-border);border-radius:16px;background:var(--ui-surface);color:var(--ui-ink);font:inherit;font-size:15px}
body.materials-screen .bl-library #boards-search::placeholder{color:var(--ui-muted)}
body.materials-screen .bl-library .bl-grid{margin-top:0}
@media(max-width:800px){body.materials-screen .home.dashboard:not(.catalog-inside)>.library-heading{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 48px;gap:24px;min-height:0;align-items:start;margin-bottom:var(--cabinet-heading-gap)}body.materials-screen .bl-library #new-board{justify-self:end}}


html:not([data-catalog-available="true"]) .material-tabs a[href="/public-lessons"]{display:none}

body .free-student-selected{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border-radius:12px;background:var(--ui-soft);color:var(--ui-ink);font-size:14px;font-weight:600;line-height:24px}
body .free-class-notice-copy{flex:1}

body .ai-panel form button[type="submit"],body.dark-theme .ai-panel form button[type="submit"],body .support-compose button[type="submit"]{color:#fff!important}
body .free-class-choice :is(.ui-button,a.primary){border-radius:12px!important}
body .free-class-choice{border-radius:20px}
body #plan-limit-dialog{width:min(480px,calc(100vw - 32px));padding:30px;border:0;border-radius:24px;background:var(--ui-surface);color:var(--ui-ink);box-sizing:border-box}
body #plan-limit-dialog h2{font-size:27px;line-height:1.25;letter-spacing:-.5px;margin:22px 0 16px}
body #plan-limit-dialog .plan-limit-reason{font-size:14px;line-height:1.75;color:var(--ui-muted);margin:0 0 18px}
body #plan-limit-dialog .plan-limit-benefits{font-size:13px;line-height:1.7;color:var(--ui-muted)}
body #plan-limit-dialog .plan-limit-trial{margin:20px 0 0;padding:16px;border-radius:12px;background:var(--ui-soft);color:var(--ui-ink);font-size:13px;line-height:1.7}
body #plan-limit-dialog .plan-limit-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:24px}
body #plan-limit-dialog .plan-limit-actions a{display:flex;justify-content:center;align-items:center;min-height:48px;padding:12px 18px;border:0;border-radius:12px;background:#6b8f6b;color:#fff!important;text-align:center;text-decoration:none;font-size:14px;font-weight:600;line-height:24px}
body #plan-limit-dialog .plan-limit-later{padding:10px;border:0;background:transparent;color:var(--ui-muted);font:inherit;font-size:13px;cursor:pointer}

.lesson-image-lightbox:has(.image-viewer-drawing){display:flex;flex-direction:column;overflow:hidden}
.lesson-image-lightbox .drawing-toolbar{flex:none;position:relative;z-index:5;margin:0;padding:12px 16px;flex-wrap:wrap;background:var(--ui-surface);border-bottom:1px solid var(--ui-border)}
.lesson-image-lightbox:has(.image-viewer-drawing) .image-viewer-stage{flex:1;min-height:160px;height:auto;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.lesson-image-lightbox .image-viewer-drawing{position:relative;flex:none;margin:0;transform-origin:center;max-width:none;max-height:none;touch-action:none}
.lesson-image-lightbox .image-viewer-drawing>img.lesson-image{display:block;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:fill;margin:0;pointer-events:none}
.lesson-image-lightbox .image-viewer-drawing .drawing-overlay{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none}
.lesson-image-lightbox .image-viewer-drawing :is(.drawing-quick,.image-expand){display:none!important}
.lesson-image-lightbox .image-viewer-hand[aria-pressed=true]{background:var(--ui-accent);color:#fff}
@media(max-width:600px){.lesson-image-lightbox .drawing-toolbar{gap:8px;padding:10px}.lesson-image-lightbox .image-viewer-bar{flex-wrap:wrap}}
.lesson-image-lightbox .image-viewer-bar{height:auto;min-height:60px;flex:none}@media(max-width:600px){.lesson-image-lightbox .image-viewer-bar{min-height:54px}}

/* Cabinet page rhythm. Students defines the shared title and container measurements. */
body:is(.app-ui,.admin-monitoring-screen){--cabinet-width:1248px;--cabinet-gutter:32px;--cabinet-top:36px;--cabinet-bottom:72px;--cabinet-heading-gap:22px;--cabinet-title-font:'Segoe UI',system-ui,sans-serif;--cabinet-title-size:46px;--cabinet-title-line:52px;--cabinet-title-weight:600;--cabinet-title-spacing:-1.8px}
body.app-ui.classes-design .shell-content,
body.app-ui.materials-screen:not(.admin-navigation-screen) main.home.dashboard,
body.app-ui.homework-dashboard main.home,
body.app-ui:not(.admin-navigation-screen) main.home.subscription-page,
body.app-ui.support-screen:not(.admin-navigation-screen) main.support-main{box-sizing:border-box;width:100%;max-width:var(--cabinet-width);margin:0 auto;padding:var(--cabinet-top) var(--cabinet-gutter) var(--cabinet-bottom)}
body.app-ui :is(.work-heading,.library-heading,.homework-page-heading,.support-heading,.admin-section-heading,.public-course-heading) h1,
body.app-ui.materials-screen .home.dashboard>.library-heading h1,
body.app-ui main.subscription-page:not(.public-tariffs)>h1,
body.admin-navigation-screen .admin-frame>main>h1{font-family:var(--cabinet-title-font);font-size:var(--cabinet-title-size);font-weight:var(--cabinet-title-weight);line-height:var(--cabinet-title-line);letter-spacing:var(--cabinet-title-spacing);margin:0;overflow-wrap:anywhere}
body.app-ui.classes-design .work-heading,
body.app-ui.materials-screen .home.dashboard>.library-heading,
body.app-ui.homework-dashboard .homework-page-heading,
body.app-ui.support-screen .support-heading,
body.app-ui.admin-navigation-screen .admin-section-heading{margin-top:0;margin-bottom:var(--cabinet-heading-gap)}
body.app-ui main.subscription-page:not(.public-tariffs)>h1,
body.admin-navigation-screen .admin-frame>main>h1{margin-bottom:var(--cabinet-heading-gap)}
body.app-ui .subscription-page:not(.public-tariffs) .subscription-grid{margin-top:0}
body.app-ui.support-screen .support-eyebrow{display:none}
body.admin-navigation-screen .admin-frame{box-sizing:border-box;width:100%;max-width:var(--cabinet-width);margin:0 auto;padding:var(--cabinet-top) var(--cabinet-gutter) var(--cabinet-bottom)}
@media(max-width:850px){body:is(.app-ui,.admin-monitoring-screen){--cabinet-gutter:20px;--cabinet-bottom:32px}}
@media(max-width:550px){body:is(.app-ui,.admin-monitoring-screen){--cabinet-title-size:36px}}

/* Five courses per desktop row; narrower screens retain the shared responsive grid. */
@media(min-width:1101px){body.materials-screen main.dashboard:not(.catalog-inside) .catalog-grid:has(>.catalog-course){grid-template-columns:repeat(5,minmax(0,1fr))}}
/* Give course artwork more room within the existing card proportions. */
body.app-ui{--course-cover-ratio:1.36}
body .catalog-course-cover{height:auto;aspect-ratio:var(--course-cover-ratio,1.36)}
body.materials-screen main.dashboard:not(.catalog-inside) .catalog-course-content{min-height:110px}

/* Cover composition uses the same aspect ratio as the course card. */
body dialog.cover-editor{width:min(600px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:24px;border:0;border-radius:24px;color:var(--ui-ink,#263c2b);background:var(--ui-surface,#fff);overflow:auto;box-shadow:0 24px 90px #142b2033}
body .cover-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}
body .cover-editor-header h2{margin:0;font-size:23px;font-weight:650;line-height:1.3;letter-spacing:-.5px}
body .cover-editor-header p{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--ui-muted)}
body .cover-editor button{font:600 13px/1.4 'Segoe UI',system-ui,sans-serif;cursor:pointer;box-shadow:none;transition:background .15s,color .15s}
body .cover-editor button:disabled{cursor:default;opacity:.45}
body .cover-editor button:focus-visible,body .cover-editor-stage:focus-visible{outline:2px solid #6b8f6b;outline-offset:3px}
body .cover-editor-close{display:grid;place-items:center;flex:none;width:34px;height:34px;padding:0;border:0;border-radius:10px;color:var(--ui-muted);background:var(--ui-soft,#f1f5f1)}
body .cover-editor-close svg,body .cover-editor-upload svg{width:18px;height:18px;flex:none}
body .cover-editor-stage{position:relative;height:360px;max-height:44dvh;min-height:200px;overflow:hidden;border-radius:16px;background:#202823;touch-action:none;isolation:isolate}
body .cover-editor-stage.has-image{cursor:grab}
body .cover-editor-stage.is-dragging{cursor:grabbing}
body .cover-editor-stage.is-dropping{outline:2px solid #8aaa7e;outline-offset:3px}
body .cover-editor-image{position:absolute;max-width:none;max-height:none;display:block;margin:0;border:0;border-radius:0;object-fit:fill;pointer-events:none;user-select:none;z-index:0}
body .cover-editor-window{position:absolute;box-sizing:border-box;border:1px solid #ffffffed;box-shadow:0 0 0 900px #101a14a8;pointer-events:none;z-index:1}
body .cover-editor-grid{position:absolute;inset:0;background:linear-gradient(to right,transparent calc(33.333% - .5px),#ffffff57 33.333%,transparent calc(33.333% + .5px),transparent calc(66.666% - .5px),#ffffff57 66.666%,transparent calc(66.666% + .5px)),linear-gradient(to bottom,transparent calc(33.333% - .5px),#ffffff57 33.333%,transparent calc(33.333% + .5px),transparent calc(66.666% - .5px),#ffffff57 66.666%,transparent calc(66.666% + .5px))}
body .cover-editor-window:after{content:'';position:absolute;inset:-2px;border:2px solid #fff;clip-path:polygon(0 0,18px 0,18px 2px,2px 2px,2px 18px,0 18px,0 0,100% 0,100% 18px,calc(100% - 2px) 18px,calc(100% - 2px) 2px,calc(100% - 18px) 2px,calc(100% - 18px) 0,100% 0,100% 100%,calc(100% - 18px) 100%,calc(100% - 18px) calc(100% - 2px),calc(100% - 2px) calc(100% - 2px),calc(100% - 2px) calc(100% - 18px),100% calc(100% - 18px),100% 100%,0 100%,0 calc(100% - 18px),2px calc(100% - 18px),2px calc(100% - 2px),18px calc(100% - 2px),18px 100%,0 100%)}
body .cover-editor-badge{position:absolute;left:50%;bottom:7px;transform:translateX(-50%);z-index:2;color:#e6ece7;font-size:10px;line-height:1.4;white-space:nowrap;pointer-events:none;letter-spacing:.02em}
body .cover-editor-empty{position:absolute;inset:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:calc(100% - 32px);border:1px dashed #78917d66;border-radius:12px;background:transparent;color:#e8eee6;padding:20px;text-align:center}
body .cover-editor-empty svg{width:36px;height:36px;color:#a9c3a3;margin-bottom:5px}
body .cover-editor-empty strong{font-size:16px;color:inherit!important}
body .cover-editor-empty span{font-size:12px;color:#a6b5aa}
body .cover-editor-hint{margin:12px 0 0;font-size:12px;line-height:1.5;text-align:center;color:var(--ui-muted)}
body .cover-editor-controls{display:flex;align-items:center;gap:20px;justify-content:space-between;margin:16px 0 20px}
body .cover-editor-zoom{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
body .cover-editor-step{width:32px;height:32px;padding:0;flex:none;border:0;border-radius:9px;color:var(--ui-ink);background:var(--ui-soft,#f1f5f1);font-size:20px!important;font-weight:400!important}
body .cover-editor-zoom input{width:100%;min-width:30px;max-width:180px;margin:0;padding:0;accent-color:#6b8f6b;cursor:pointer}
body .cover-editor-zoom-value{min-width:38px;color:var(--ui-muted);font-size:12px;font-variant-numeric:tabular-nums}
body .cover-editor-reset{border:0;padding:6px 0;background:transparent;color:var(--ui-muted);white-space:nowrap}
body .cover-editor-upload-row{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:16px 0;border-top:1px solid var(--ui-border,#e4e8e1)}
body .cover-editor-upload-row>span{font-size:11px;line-height:1.5;color:var(--ui-muted)}
body .cover-editor-upload{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;min-height:40px;flex:none;border:1px solid var(--ui-border,#e4e8e1);border-radius:11px;background:var(--ui-surface,#fff);color:var(--ui-ink)}
body .cover-editor-status{margin:0;font-size:12px;line-height:1.5;color:var(--ui-muted)}
body .cover-editor-status:not(:empty){padding:0 0 14px}
body .cover-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:18px;border-top:1px solid var(--ui-border,#e4e8e1)}
body .cover-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto}
body .cover-editor-remove{padding:8px 0;border:0;background:transparent;color:var(--ui-muted);font-size:12px!important;text-align:left}
body .cover-editor-cancel,body .cover-editor-save{padding:11px 16px;min-height:42px;border-radius:11px;border:0;background:var(--ui-soft,#f1f5f1);color:var(--ui-ink)}
body .cover-editor-save{background:#6b8f6b;color:#fff!important}
body .cover-editor-save:hover:not(:disabled){background:#5c7e5c}
body .cover-editor [hidden]{display:none!important}
@media(max-width:540px){body dialog.cover-editor{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:20px 16px;border-radius:20px}body .cover-editor-header{margin-bottom:16px}body .cover-editor-header h2{font-size:21px}body .cover-editor-stage{height:310px;max-height:40dvh}body .cover-editor-controls{gap:12px}body .cover-editor-zoom{gap:6px}body .cover-editor-upload-row{align-items:flex-start;flex-direction:column;gap:8px}body .cover-editor-footer{flex-wrap:wrap;gap:12px}body .cover-editor-actions{flex:1}body .cover-editor-cancel,body .cover-editor-save{padding:11px 12px}body .cover-editor-hint{font-size:11px}}
@media(prefers-reduced-motion:reduce){body .cover-editor button{transition:none}}
/* Lesson thumbnails reserve exactly the same space with or without artwork. */
body .catalog-design .library-row.catalog-card>:is(.catalog-symbol,.catalog-lesson-cover){width:64px;height:48px;min-width:64px;max-width:64px;flex:0 0 64px;margin:0;border-radius:10px;object-fit:cover;box-sizing:border-box}
/* AI agent announcement; no generation or provider requests from the teaser. */
body dialog.ai-agent-preview{box-sizing:border-box;width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:28px;border:0;border-radius:28px;background:var(--ui-surface,#fff);color:var(--ui-ink,#203b33);box-shadow:0 24px 100px #142b2033}
.ai-agent-preview::backdrop{background:#14261d80;backdrop-filter:blur(6px)}
.ai-agent-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.ai-agent-label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:750;letter-spacing:-.2px}.ai-agent-label>span{font-size:10px;font-weight:650;letter-spacing:.03em;padding:4px 8px;border-radius:7px;background:var(--ui-soft,#eef4ef);color:var(--ui-accent,#6b8f6b)}
body .ai-agent-close{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;padding:0;border:0;border-radius:10px;background:var(--ui-soft,#eef4ef);color:var(--ui-muted,#64766c);font:24px/1 system-ui;cursor:pointer}
.ai-agent-hero{position:relative;padding:30px 0 22px}.ai-agent-spark{position:absolute;right:5px;top:32px;color:var(--ui-accent,#6b8f6b);font-size:64px;line-height:1;opacity:.2;transform:rotate(-10deg)}
.ai-agent-preview .ai-agent-eyebrow{margin:0 0 12px;color:var(--ui-accent,#6b8f6b);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ai-agent-preview h2{position:relative;margin:0 0 16px;font:650 clamp(27px,3vw,38px)/1.16 'Segoe UI',system-ui,sans-serif;letter-spacing:-1.2px}.ai-agent-preview h2 em{font-style:normal;color:var(--ui-accent,#6b8f6b)}
.ai-agent-preview #ai-agent-description{max-width:590px;margin:0;color:var(--ui-muted,#64766c);font-size:14px;line-height:1.65}
.ai-agent-demo{padding:16px;border:1px solid var(--ui-border,#dce5de);border-radius:18px;background:linear-gradient(130deg,#6b8f6b12,transparent 65%)}
.ai-agent-prompt{display:flex;align-items:flex-start;gap:12px;padding:13px 16px;border-radius:12px;background:var(--ui-surface,#fff);box-shadow:0 3px 15px #142b2006}.ai-agent-prompt>span{color:var(--ui-accent,#6b8f6b);font-size:22px;line-height:1.2}.ai-agent-prompt p{margin:0;font-size:13px;line-height:1.55;color:var(--ui-ink,#203b33)}
.ai-agent-demo-caption{display:block;margin:16px 0 10px;font-size:10px;font-weight:650;color:var(--ui-muted,#64766c);text-transform:uppercase;letter-spacing:.06em}
.ai-agent-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ai-agent-mini-grid>div{display:flex;flex-direction:column;gap:9px;min-width:0;padding:14px;border:1px solid var(--ui-border,#dce5de);border-radius:12px;background:var(--ui-surface,#fff)}.ai-agent-mini-icon{font-size:13px;color:var(--ui-accent,#6b8f6b);font-weight:750}.ai-agent-mini-grid strong{font-size:11px;line-height:1.4}.ai-agent-mini-lines{height:13px;max-width:85%;background:linear-gradient(var(--ui-border,#dce5de),var(--ui-border,#dce5de)) 0 0/100% 2px no-repeat,linear-gradient(var(--ui-border,#dce5de),var(--ui-border,#dce5de)) 0 9px/68% 2px no-repeat;opacity:.8}
.ai-agent-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px;margin:26px 0}.ai-agent-benefits strong{display:block;font-size:14px;line-height:1.4;letter-spacing:-.2px}.ai-agent-benefits p{margin:6px 0 0;color:var(--ui-muted,#64766c);font-size:12px;line-height:1.6}
.ai-agent-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:20px;border-top:1px solid var(--ui-border,#dce5de)}.ai-agent-bottom p{margin:0;max-width:430px}.ai-agent-bottom strong{display:block;font-size:13px;margin-bottom:5px}.ai-agent-bottom p>span{display:block;font-size:10px;line-height:1.6;color:var(--ui-muted,#64766c)}
body .ai-agent-dismiss{flex-shrink:0;min-height:44px;padding:12px 20px;border:0;border-radius:12px;background:#6b8f6b;color:#fff;font:650 13px/1.4 'Segoe UI',system-ui,sans-serif;cursor:pointer}body .ai-agent-dismiss:hover{background:#5d7e5d}
.ai-agent-preview[open]{animation:ai-agent-enter .18s ease-out}@keyframes ai-agent-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1131px) and (max-width:1600px){body.app-ui #app-header:not([data-public]):not(.class-header){grid-template-columns:auto minmax(0,1fr) auto;gap:14px;padding-inline:20px}body.app-ui #app-header:not([data-public]):not(.class-header) .brand-logo{width:145px}body.app-ui #app-header:not([data-public]):not(.class-header) nav{gap:4px}body.app-ui #app-header:not([data-public]):not(.class-header) nav :is(a,.header-discover){font-size:13px;padding-inline:8px;gap:7px}body.app-ui #app-header:not([data-public]):not(.class-header) .trial-promo{min-width:150px;padding:9px 14px}}
@media(max-width:540px){body dialog.ai-agent-preview{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:20px;border-radius:22px}.ai-agent-hero{padding-top:24px}.ai-agent-preview h2{font-size:28px;letter-spacing:-.8px}.ai-agent-spark{font-size:44px;top:30px}.ai-agent-preview #ai-agent-description{font-size:13px}.ai-agent-demo{padding:12px}.ai-agent-prompt{padding:12px}.ai-agent-mini-grid{gap:6px}.ai-agent-mini-grid>div{padding:10px 8px}.ai-agent-mini-grid strong{font-size:10px}.ai-agent-benefits{grid-template-columns:1fr;gap:17px;margin-block:22px}.ai-agent-bottom{flex-direction:column;align-items:stretch;gap:16px}.ai-agent-dismiss{width:100%}}
@media(prefers-reduced-motion:reduce){.ai-agent-preview[open]{animation:none}}

/* Keep the current target beside the prompt, including while chat history scrolls. */
.editor-ai-panel.is-edge{left:0;border-radius:0}
.editor-ai-panel .editor-ai-compose{margin:0 16px;padding:10px;border:1px solid transparent;border-radius:20px;box-shadow:0 4px 24px #2d3b2d12;background:var(--ui-surface)}
.editor-ai-panel .editor-ai-compose:focus-within{border-color:var(--ui-accent);box-shadow:0 4px 24px #2d3b2d12,0 0 0 3px #6b8f6b0d}
.editor-ai-panel .editor-ai-section{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:12px;border:0;border-radius:12px;background:var(--ui-soft);color:var(--ui-ink);box-shadow:none}
.editor-ai-target-number{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:11px;background:var(--ui-surface);color:var(--ui-accent);font-size:15px;font-weight:750}
.editor-ai-target-copy{min-width:0}.editor-ai-target-copy>span{display:block;font-size:11px;line-height:1.5;color:var(--ui-muted)}.editor-ai-target-copy>strong{display:block;margin-top:2px;font-size:14px;line-height:1.5;font-weight:650;overflow-wrap:anywhere}
.editor-ai-panel .editor-ai-compose textarea{padding:2px 6px!important;min-height:86px;resize:vertical}
.editor-ai-panel .editor-ai-compose-tools{padding:2px 2px 2px 6px}.editor-ai-panel .editor-ai-compose-tools button{width:38px;min-height:38px;border:0;border-radius:12px}
.editor-ai-panel .editor-ai-foot{margin:12px 24px 16px}
@media(max-height:650px){.editor-ai-panel .editor-ai-section{padding:9px 10px;margin-bottom:8px}.editor-ai-target-number{flex-basis:34px;height:34px}.editor-ai-panel .editor-ai-compose textarea{min-height:58px}.editor-ai-panel .editor-ai-head{padding-block:14px 10px}}
.editor-ai-confirm{padding:20px;margin:16px 0;border-radius:14px;background:var(--ui-soft);color:var(--ui-ink)}.editor-ai-confirm>strong{font-size:16px}.editor-ai-confirm>p{font-size:14px;line-height:1.6;margin:10px 0 16px}.editor-ai-confirm-actions{display:flex;flex-wrap:wrap;gap:8px}.editor-ai-confirm-actions button{font-family:inherit;font-size:13px;font-weight:600;line-height:1.5;padding:10px 12px;border-radius:9px}.editor-ai-confirm-actions button:first-child{background:#6b8f6b!important;color:#fff!important;border:0}
/* AI panel reserves space by translating the intact editor, never reflowing it. */
body.builder-screen main.home.lesson-builder{transition:transform .28s cubic-bezier(.22,1,.36,1);transform:translateX(0)}
body.builder-screen.editor-ai-open main.home.lesson-builder{transform:translateX(clamp(0px,calc(432px - (100vw - 1180px)/2),432px))}
@media(max-width:800px){body.builder-screen.editor-ai-open main.home.lesson-builder{transform:none}}
@media(prefers-reduced-motion:reduce){body.builder-screen main.home.lesson-builder{transition:none}}
