:root{--brand:#7138d4;--brand-hover:#5b27b7;--brand-soft:#f2ebfc;--brand-border:#dfd1f4;--p300:#b59add;--p400:#7138d4;--p500:#7138d4;--p600:#5b27b7;--navy:#201333;--navy-mid:#2e1c46;--navy-card:#382453;--navy-border:#594071;--blue:var(--brand);--blue-mid:var(--brand-hover);--blue-light:#8451d6;--blue-glow:#7426ea59;--blue-50:var(--brand-soft);--s900:#281c3c;--s800:#382a4c;--s700:#4c3d60;--s600:#695b79;--s500:#786b88;--s400:#94879f;--s300:#c7bcd3;--s200:#e7e0ee;--s100:#f3eff8;--s50:#faf8fd;--white:#fff;--green:#059669;--green-50:#ecfdf5;--amber:#d97706;--amber-50:#fffbeb;--red:#dc2626;--red-50:#fef2f2;--teal:var(--brand);--teal-light:#9b75d7;--teal-50:var(--brand-soft);--purple:#7c3aed;--primary:var(--blue);--primary-hover:var(--brand-hover);--primary-light:var(--blue-light);--primary-50:var(--blue-50);--primary-700:#681dd8;--primary-900:#491e8a;--danger:var(--red);--danger-50:var(--red-50);--warning:var(--amber);--warning-50:var(--amber-50);--success:var(--green);--success-50:var(--green-50);--accent:var(--teal);--accent-50:var(--teal-50);--bg:var(--s50);--surface:var(--white);--text:var(--s900);--text-muted:var(--s600);--ink-muted:var(--s600);--ink-secondary:var(--s600);--text-dim:var(--s400);--border:var(--s200);--border-light:var(--s100);--ink:var(--s900);--paper:var(--white);--line:var(--s200);--muted:var(--s600);--coral:var(--red);--mint:var(--teal-light);--chip:var(--s100);--voice-glow:#7c3aed66;--voice-level:0;--gemini-blue:#8b49ed;--gemini-teal:#430e93;--gemini-rose:#ea4335;--gemini-purple:#7c3aed;--gemini-pink:#d946ef;--progress:0%;--calendar-day-count:7;--font-display:"Sora", system-ui, -apple-system, sans-serif;--font-sans:"DM Sans", system-ui, -apple-system, sans-serif;--font-alt:"Atkinson Hyperlegible", Aptos, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--text-hero:800 46px/1.05 var(--font-display);--text-h1:700 29px/1.15 var(--font-display);--text-h2:600 19px/1.3 var(--font-display);--text-body:400 16px/1.6 var(--font-sans);--text-secondary:400 14px/1.55 var(--font-sans);--text-overline:700 11.5px/1 var(--font-sans);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--r-sm:6px;--r:10px;--r-lg:16px;--r-md:10px;--r-xl:22px;--r-full:9999px;--sh-sm:0 1px 4px #00000014;--sh:0 4px 20px #0000001a;--sh-lg:0 16px 48px #00000024;--sh-xl:0 32px 80px #00000038;--shadow-sm:var(--sh-sm);--shadow:var(--sh);--shadow-lg:var(--sh-lg);--shadow-xl:var(--sh-xl);--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-emphasis:cubic-bezier(.34, 1.12, .64, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--dur-press:.1s;--dur-hover:.14s;--dur-pop:.18s;--dur-panel:.22s;--dur-sheet:.28s;--press-scale:.97;--track-hero:-.028em;--track-h1:-.02em;--track-h2:-.011em;--track-body:0;--track-overline:.06em}:root[data-font=hyperlegible],[data-font=hyperlegible]{--font-display:"Atkinson Hyperlegible", Aptos, system-ui, sans-serif;--font-sans:"Atkinson Hyperlegible", Aptos, system-ui, sans-serif}:root{font-family:var(--font-sans);color:var(--ink);background:var(--surface);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;font-family:var(--font-sans);color:var(--ink);background:var(--surface);margin:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-display)}button,input,select,textarea{letter-spacing:0;font-family:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #7426ea6b}::selection{color:var(--white);background:var(--blue)}.school-authoring{width:100%;min-width:0;color:var(--text-primary,#221930);gap:22px;display:grid}.authoring-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.authoring-heading h2{letter-spacing:-.025em;margin:8px 0;font-size:clamp(23px,3vw,32px)}.authoring-heading p,.authoring-card p,.authoring-ai p{color:var(--text-muted,#586e73);line-height:1.6}.authoring-toolbar,.authoring-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.authoring-toolbar{align-items:end;gap:16px}.school-authoring label{gap:7px;font-size:14px;font-weight:600;display:grid}.school-authoring input:not([type=checkbox]):not([type=radio]):not([type=file]),.school-authoring textarea,.school-authoring select{border:1px solid var(--border);color:#251838;width:100%;min-width:0;max-width:100%;font:inherit;background:#fff;border-radius:10px;padding:11px 13px}.school-authoring textarea{resize:vertical;min-height:100px}.school-authoring button{border:1px solid var(--border);color:#33244a;font:inherit;cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:9px 13px;font-size:14px;display:inline-flex}.school-authoring button.primary-action{background:var(--brand);border-color:var(--brand);color:#fff}.school-authoring button:hover:not(:disabled){border-color:var(--brand-hover);box-shadow:0 2px 8px #163b3b18}.school-authoring button:disabled,.school-authoring .disabled{opacity:.5;cursor:not-allowed}.school-authoring :focus-visible{outline-offset:3px;outline:3px solid #5f359d}.authoring-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;padding-bottom:14px;display:flex}.authoring-tabs button.selected{color:#31135d;background:var(--brand-soft);border-color:var(--brand-border)}.authoring-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:16px;display:grid}.authoring-card,.authoring-block,.authoring-ai{border:1px solid var(--border);overflow-wrap:anywhere;background:#fff;border-radius:16px;padding:22px}.authoring-card h3{margin:10px 0}.authoring-card .authoring-actions{margin-top:16px}.authoring-empty{text-align:center;background:var(--s50);border-radius:16px;padding:40px 20px}.file-action{cursor:pointer;align-items:center;position:relative;overflow:hidden;display:flex!important}.file-action input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.file-action:focus-within{outline:3px solid #5f359d}.authoring-fields{border:0;gap:16px;min-width:0;margin:0;padding:0;display:grid}.authoring-fields .authoring-toolbar>label{flex:1;min-width:145px}.authoring-block>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.authoring-block>header h3{margin:0}.authoring-option{align-items:center;gap:10px;display:flex}.authoring-option input[type=checkbox],.authoring-option input[type=radio],.lesson-answer input{width:18px;height:18px;accent-color:var(--brand);flex:none}.authoring-ai summary{cursor:pointer;font-weight:700}.authoring-ai[open] summary{margin-bottom:18px}.editor-savebar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:3;background:#faf8fdf2;border-radius:12px;padding:14px;position:sticky;top:0}.authoring-error{color:#8b3023;background:#fff1ed;border:1px solid #edc3b9;border-radius:10px;padding:14px}.authoring-overlay{z-index:100;background:#102a3266;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.authoring-dialog{background:#fff;border-radius:20px;gap:18px;width:min(900px,100%);max-height:90dvh;padding:28px;display:grid;overflow:auto;box-shadow:0 18px 80px #12363a30}.authoring-dialog .danger{color:#fff;background:#a6342b}.lesson-content{overflow-wrap:anywhere;width:100%;max-width:820px;margin:0 auto;line-height:1.7}.lesson-content-block{border-bottom:1px solid var(--border);padding:18px 0 28px}.lesson-content-block fieldset{border:0;gap:8px;margin:0;padding:0;display:grid}.school-authoring label.lesson-answer{background:var(--s50);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-weight:400;display:flex}.lesson-video{aspect-ratio:16/9;background:#211533;border:0;border-radius:12px;width:100%;display:block}.lesson-image{object-fit:contain;max-width:100%;max-height:600px}.lesson-transcript{white-space:pre-wrap}@media (width<=640px){.authoring-card,.authoring-block,.authoring-ai{padding:16px}.authoring-toolbar>label{width:100%}.authoring-overlay{padding:10px}.authoring-dialog{padding:18px}.authoring-option{flex-wrap:wrap}.authoring-option input:not([type=checkbox]):not([type=radio]){flex:1;width:60%}.authoring-heading>svg{display:none}.authoring-heading{flex-direction:column}.authoring-heading>[role=status]{font-size:13px;line-height:1.5}.editor-savebar{position:static}}.app-shell{background:linear-gradient(90deg, #1f172a0a 1px, transparent 1px), linear-gradient(180deg, #1f172a0a 1px, transparent 1px), var(--surface);background-size:48px 48px;grid-template-columns:292px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .22s;display:grid}.app-shell.sidebar-collapsed{grid-template-columns:64px minmax(0,1fr)}.messages-page,.ai-page{height:100dvh;min-height:0;overflow:hidden}.messages-page .sidebar,.ai-page .sidebar{height:100dvh;min-height:0;overflow:auto}.sidebar{min-height:100vh;color:var(--paper);background:radial-gradient(120% 60% at 0% 0%, #a278e129, transparent 55%), linear-gradient(180deg, #430e9338, transparent 42%), var(--ink);scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;border-right:1px solid #ffffff0f;flex-direction:column;align-self:start;gap:18px;padding:20px 18px;display:flex;position:sticky;top:0}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:4px}.brand-lockup,.profile-panel,.security-note,.sidebar-nav a,.role-tab,.topbar,.overview-band,.metric-card,.panel,.record-row,.task-card,.ai-card,.ai-chat-workspace,.ai-chat-panel,.ai-chat-bubble,.ai-history-select,.history-delete,.ai-prompt-chip,.progress-card,.feedback-card,.auth-panel,.auth-access-note,.staff-auth-panel,.request-demo-callout,.request-demo-panel,.auth-back-link,.profile-identity,.profile-facts div,.catalog-summary,.generation-console,.unit-group,.lesson-row,.lesson-detail,.select-control{border-radius:8px}.brand-lockup{align-items:center;gap:12px;min-width:0;display:flex}.brand-text{flex-direction:column;min-width:0;display:flex}.brand-text strong{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:1rem;line-height:1.1;overflow:hidden}.brand-lockup strong,.profile-panel h2,.auth-panel h1,.topbar h1,.overview-copy h2,.panel h2,.record-row h3,.task-card h3,.ai-card h3,.progress-card h3,.feedback-card h3,.profile-identity h3,.unit-group h3,.lesson-detail h3{letter-spacing:0;margin:0;line-height:1.08}.topbar h1,.overview-page .topbar h1,.lesson-hero h3,.teachers-stat strong,.overview-copy h2,.metric-card strong{letter-spacing:var(--track-h1);font-optical-sizing:auto}.learner-detail-panel header h3,.learner-profile-info h3,.dashboard-hero-copy h2{letter-spacing:var(--track-hero);font-optical-sizing:auto}.brand-lockup span,.profile-panel p,.profile-identity p,.security-note span{color:#f8faf7ad;margin-top:2px;font-size:.82rem;display:block}.auth-screen{background:linear-gradient(90deg, #1f172a0a 1px, transparent 1px), linear-gradient(180deg, #1f172a0a 1px, transparent 1px), var(--surface);background-size:48px 48px;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{border:1px solid var(--line);background:#ffffffeb;gap:14px;width:min(100%,460px);padding:26px;display:grid;box-shadow:0 24px 70px #1f172a1f}.auth-panel h1{color:var(--ink);font-size:2rem}.auth-panel p{color:var(--muted);margin:0}.auth-error,.error-text{color:var(--red)}.brand-mark,.panel-icon,.task-icon{flex:none;justify-content:center;align-items:center;display:inline-flex}.brand-mark{width:40px;height:40px;color:var(--paper);background:linear-gradient(140deg, var(--teal), var(--primary-700));border-radius:10px;box-shadow:inset 0 0 0 1px #ffffff2e,0 6px 18px #380f7652}.role-switcher{background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:4px;padding:4px;display:grid}.ops-console,.school-lesson-console,.communications-console,.approval-board,.class-board,.calendar-console{gap:18px;display:grid}.calendar-schedule-form,.calendar-board,.calendar-detail{background:var(--white);border:1px solid #1a0f2a1f;border-radius:8px;box-shadow:0 12px 32px #1a0f2a0f}.calendar-board{min-width:0;padding:18px}.calendar-schedule-form{gap:14px;width:min(920px,100vw - 32px);max-height:calc(100dvh - 48px);padding:18px;display:grid;overflow:auto}.calendar-schedule-form header,.calendar-board-header{justify-content:space-between;align-items:center;gap:14px;display:flex}.calendar-board-header{align-items:flex-start}.calendar-schedule-form h3,.calendar-board-header h3,.calendar-detail h3{margin:0}.calendar-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.calendar-form-grid label,.calendar-repeat-row label{color:var(--s600);gap:6px;font-size:.82rem;font-weight:700;display:grid}.calendar-form-grid input,.calendar-form-grid select,.calendar-repeat-row input,.calendar-schedule-form textarea{width:100%;font:inherit;color:var(--s900);background:var(--white);border:1px solid #1a0f2a26;border-radius:8px;padding:10px 11px}.calendar-repeat-row{grid-template-columns:minmax(0,1fr) 220px;align-items:end;gap:12px;display:grid}.calendar-modal-overlay{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1a0f2a6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.calendar-modal-actions,.calendar-board-tools,.calendar-period-nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.calendar-board-tools{justify-content:flex-end}.calendar-period-nav{background:var(--s50);border:1px solid #1a0f2a1f;border-radius:8px;min-height:42px;padding:4px}.calendar-period-nav strong{min-width:220px;color:var(--s900);text-align:center;padding:0 8px;font-size:.9rem}.calendar-period-nav button{width:32px;height:32px;color:var(--s600);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:inline-grid}.calendar-view-toggle{background:var(--s50);border:1px solid #1a0f2a1f;border-radius:8px;gap:4px;padding:4px;display:inline-flex}.calendar-view-toggle button{color:var(--s600);text-transform:capitalize;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 11px}.calendar-view-toggle button.active{background:var(--s900);color:var(--white)}.calendar-layout{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:12px;display:grid}.calendar-layout.detail-open{grid-template-columns:minmax(0,1fr) 312px}.calendar-main{min-width:0}.calendar-week-grid{--calendar-day-count:7;grid-template-columns:58px repeat(var(--calendar-day-count), minmax(96px, 1fr));background:var(--white);border:1px solid #1a0f2a1a;border-radius:8px;display:grid;overflow:auto}.calendar-time-corner,.calendar-day-heading,.calendar-time-label,.calendar-time-slot{border-bottom:1px solid #1a0f2a14;border-right:1px solid #1a0f2a14}.calendar-time-corner,.calendar-day-heading{z-index:4;background:var(--s50);position:sticky;top:0}.calendar-day-heading{min-height:50px;color:var(--s600);text-transform:uppercase;align-content:center;justify-items:center;gap:3px;font-size:.74rem;font-weight:800;display:grid}.calendar-day-heading strong{width:28px;height:28px;color:var(--s900);border-radius:999px;place-items:center;font-size:.95rem;display:inline-grid}.calendar-day-heading.today strong{background:var(--primary-700);color:var(--white)}.calendar-time-label{color:var(--s500);text-align:right;background:var(--s50);padding:8px 8px 0;font-size:.76rem;font-weight:800}.calendar-time-slot{background:var(--white);min-height:54px;padding:4px;position:relative}.calendar-time-slot:hover{background:var(--s50)}.calendar-slot-action{z-index:0;cursor:crosshair;background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.calendar-slot-action:focus-visible{outline-offset:-3px;outline:3px solid #430e9347}.calendar-event-block{z-index:1;border:1px solid #380f7642;border-left:4px solid var(--primary-700);width:100%;min-height:42px;color:var(--s900);background:var(--green-50);text-align:left;cursor:pointer;border-radius:6px;align-content:start;gap:2px;padding:5px 6px;display:grid;position:relative;box-shadow:0 4px 10px #1a0f2a12}.calendar-event-block+.calendar-event-block{margin-top:4px}.calendar-event-block strong{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.76rem;line-height:1.12;display:-webkit-box;overflow:hidden}.calendar-event-block span{color:var(--s600);align-items:center;gap:4px;font-size:.68rem;font-weight:700;display:flex}.calendar-event-block span:not(.calendar-event-time){display:none}.calendar-event-block.video_lesson{border-left-color:var(--blue-mid);background:var(--blue-50)}.calendar-event-block.live{border-color:#7426ea57}.calendar-event-block.cancelled,.calendar-agenda-row.cancelled,.calendar-month-event.cancelled{opacity:.62;text-decoration:line-through}.calendar-event-block.selected,.calendar-agenda-row.selected{border-color:var(--s900);box-shadow:0 0 0 3px #1a0f2a14}.calendar-month-grid{background:var(--white);border:1px solid #1a0f2a1a;border-radius:8px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.calendar-month-day{border-bottom:1px solid #1a0f2a14;border-right:1px solid #1a0f2a14;grid-template-rows:auto 1fr;gap:6px;min-height:108px;padding:8px;display:grid}.calendar-month-day.muted{background:var(--s50);color:var(--s400)}.calendar-month-day.today{box-shadow:inset 0 0 0 2px #430e9347}.calendar-month-date{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:0;display:flex}.calendar-month-date span{color:var(--s500);text-transform:uppercase;font-size:.68rem;font-weight:800}.calendar-month-events{align-content:start;gap:4px;display:grid}.calendar-month-event,.calendar-month-add{min-width:0;color:var(--primary-900);background:var(--teal-50);text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border:0;border-radius:6px;padding:5px 7px;font-size:.72rem;font-weight:800;overflow:hidden}.calendar-month-event.video_lesson{color:var(--blue);background:var(--blue-50)}.calendar-month-add{width:28px;height:28px;color:var(--s500);background:var(--s100);place-items:center;padding:0;display:inline-grid}.calendar-more-count{color:var(--s500);font-size:.72rem;font-weight:800}.calendar-agenda-list{gap:8px;display:grid}.calendar-agenda-row{border:1px solid #1a0f2a1f;border-left:4px solid var(--primary-700);width:100%;color:var(--s900);background:var(--white);text-align:left;cursor:pointer;border-radius:8px;grid-template-columns:54px minmax(0,1fr) minmax(132px,.36fr);align-items:center;gap:10px;padding:9px;display:grid}.calendar-agenda-date{background:var(--s50);color:var(--s500);text-transform:uppercase;border-radius:8px;justify-items:center;gap:2px;padding:6px;font-size:.74rem;font-weight:800;display:grid}.calendar-agenda-date strong{color:var(--s900);font-size:1.05rem}.calendar-agenda-body{gap:3px;display:grid}.calendar-agenda-body strong,.calendar-agenda-body small,.calendar-agenda-meta{overflow-wrap:anywhere}.calendar-agenda-body small,.calendar-agenda-meta{color:var(--s500);font-size:.82rem}.calendar-agenda-meta{align-items:center;gap:6px;display:flex}.calendar-event-meta,.calendar-detail-row{color:var(--s500);align-items:center;gap:7px;font-size:.88rem;display:flex}.calendar-detail{align-content:start;gap:10px;padding:14px;display:grid}.calendar-detail-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.calendar-detail-close{width:30px;height:30px;color:var(--s600);background:var(--s50);cursor:pointer;border:1px solid #1a0f2a1a;border-radius:7px;place-items:center;display:inline-grid}.calendar-detail-close:hover{color:var(--s900);background:var(--s100)}.calendar-rsvp{background:var(--s50);border-radius:8px;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:10px;display:grid}.calendar-rsvp button,.calendar-detail-actions button{white-space:nowrap}.calendar-invite-list{color:var(--s600);border-top:1px solid #1a0f2a1a;gap:7px;padding-top:6px;font-size:.9rem;display:grid}.calendar-detail-actions{flex-wrap:wrap;gap:8px;display:flex}.calendar-empty{min-height:220px}.calendar-week-empty{grid-column:1/-1;margin:12px}.ops-command-strip,.tool-panel-header{border:1px solid var(--line);border-left:4px solid var(--teal);background:linear-gradient(90deg, #430e930a, transparent 40%), var(--paper);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px;display:flex}.ops-command-strip h3,.tool-panel-header h3,.ops-table-row h3,.class-card h3,.school-lesson-card h4,.approval-card h3{letter-spacing:0;margin:0}.ops-command-strip p,.tool-panel-header p,.ops-table-row p,.class-card p,.school-lesson-card p,.approval-card p,.quick-action-card span{color:var(--muted);margin:6px 0 0}.ops-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.ops-list,.ops-table,.school-lesson-grid,.quick-action-grid{gap:10px;display:grid}.ops-row,.ops-table-row,.approval-card,.school-lesson-card,.class-card,.quick-action-card{border:1px solid var(--line);background:var(--paper);border-radius:8px;transition:border-color .13s,box-shadow .13s,transform .13s;box-shadow:0 2px 8px #1f172a0d}.ops-row:hover,.ops-table-row:hover{border-color:#430e933d;box-shadow:0 4px 14px #1f172a14}.ops-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:68px;padding:14px;display:grid}.ops-row span,.ops-table-row>span{color:var(--muted)}.ops-form,.lesson-import-form{border:1px solid var(--line);background:#ffffffe0;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:10px;padding:14px;display:grid}.ops-form label,.lesson-import-form label,.communication-draft-form label{color:var(--muted);gap:6px;font-size:.78rem;font-weight:800;display:grid}.ops-form input,.ops-form select,.ops-form textarea,.lesson-import-form input,.lesson-import-form select,.lesson-import-form textarea{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);background:var(--white);font:inherit;border-radius:8px;padding:10px 12px}.lesson-import-form{grid-template-columns:minmax(150px,.8fr) minmax(180px,1fr) minmax(260px,2fr) auto;align-items:stretch}.lesson-import-form textarea,.communication-draft-form textarea{resize:vertical;min-height:88px}.ops-table-row{grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:14px;padding:16px;display:grid}.communication-row{grid-template-columns:minmax(0,1fr) auto auto auto}.class-board,.school-lesson-grid,.quick-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.class-card,.school-lesson-card,.approval-card,.quick-action-card{padding:16px}.class-card header{justify-content:space-between;gap:12px;display:flex}.class-card-metrics{color:var(--muted);flex-wrap:wrap;gap:8px;margin-top:14px;font-size:.82rem;font-weight:800;display:flex}.class-card-metrics span{align-items:center;gap:5px;display:inline-flex}.class-roster{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.class-roster span,.recipient-picker label{color:var(--ink);background:#430e9317;border-radius:999px;padding:6px 9px;font-size:.78rem;font-weight:800}.quick-action-card{text-align:left;border:1px solid var(--line);cursor:pointer;font:inherit;color:var(--ink);gap:8px;display:grid}.quick-action-card svg{color:var(--teal)}@media (hover:hover) and (pointer:fine){.quick-action-card:hover{background:#a278e10f;border-color:#430e936b;transform:translateY(-2px);box-shadow:0 6px 18px #1f172a17}}.quick-action-card:active{transform:scale(var(--press-scale));box-shadow:none;transition-duration:var(--dur-press)}.approval-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.communication-draft-form{grid-template-columns:140px minmax(180px,1fr) minmax(260px,2fr) auto}.communication-draft-form .wide-field{min-width:0}.recipient-picker{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.recipient-picker label{align-items:center;gap:6px;display:inline-flex}.classes-workspace{gap:20px;display:grid}.class-management-panel{background:var(--white);border:1px solid #1a0f2a1f;border-radius:8px;gap:16px;padding:18px;display:grid;box-shadow:0 12px 32px #1a0f2a0f}.class-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.class-summary-strip span{min-width:0;color:var(--muted);background:var(--s50);text-transform:uppercase;border:1px solid #1a0f2a1a;border-radius:8px;gap:2px;padding:12px;font-size:.76rem;font-weight:900;display:grid}.class-summary-strip strong{color:var(--ink);font-size:1.25rem;line-height:1}.class-management-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.class-management-header h3,.class-management-header p{margin:0}.class-management-header p{color:var(--muted);margin-top:4px;font-size:.9rem}.class-modal-overlay{z-index:320;-webkit-backdrop-filter:blur(7px);background:#20172d8a;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.class-modal-card{background:var(--white);border:1px solid #1a0f2a1f;border-radius:14px;flex-direction:column;width:min(940px,100%);max-height:min(760px,92dvh);display:flex;overflow:hidden;box-shadow:0 32px 80px #20172d3d,0 6px 20px #20172d1f}.class-modal-header{background:linear-gradient(180deg, var(--white) 0%, var(--s50) 100%);border-bottom:1px solid #1a0f2a14;justify-content:space-between;align-items:flex-start;gap:14px;padding:22px 22px 16px;display:flex}.class-modal-header h3,.class-modal-header p{margin:0}.class-modal-header p{color:var(--muted);margin-top:4px;font-size:.88rem}.class-modal-body{gap:14px;padding:18px 22px 22px;display:grid;overflow:auto}.class-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.class-form-grid label,.class-picker{min-width:0}.class-form-grid label,.class-search{color:var(--muted);text-transform:uppercase;gap:6px;font-size:.78rem;font-weight:900;display:grid}.class-form-grid input,.class-form-grid select,.class-search input{width:100%;min-width:0;color:var(--ink);background:var(--s50);font:inherit;text-transform:none;border:1px solid #1a0f2a29;border-radius:8px;padding:10px 12px}.class-form-grid small{color:var(--muted);text-transform:none;font-size:.74rem;font-weight:700}.class-picker{border:1px solid #1a0f2a1a;border-radius:8px;gap:10px;margin:0;padding:12px;display:grid}.class-picker legend{color:var(--ink);align-items:center;gap:6px;padding:0 6px;font-size:.82rem;font-weight:900;display:inline-flex}.class-search{position:relative}.class-search svg{color:var(--muted);position:absolute;bottom:11px;left:12px}.class-search input{padding-left:34px}.class-picker-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;max-height:220px;display:grid;overflow:auto}.class-check-row{background:var(--s50);border:1px solid #1a0f2a1a;border-radius:8px;align-items:flex-start;gap:9px;min-width:0;padding:10px;display:flex}.class-check-row span{gap:2px;min-width:0;display:grid}.class-check-row strong,.class-check-row small{overflow-wrap:anywhere;min-width:0}.class-check-row strong{color:var(--ink);font-size:.88rem}.class-check-row small,.class-picker-empty{color:var(--muted);font-size:.78rem}.class-picker-empty{margin:0}.class-form-notice{border-radius:8px;align-items:center;gap:8px;margin:0;padding:10px 12px;font-size:.86rem;font-weight:800;display:inline-flex}.class-form-notice.success{color:var(--primary-700);background:#5614b81f}.class-form-notice.error{color:var(--red);background:#f43f5e1a}.class-form-actions,.class-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.class-card{gap:14px;display:grid;position:relative;overflow:hidden}.class-card:before{content:"";background:linear-gradient(90deg, var(--teal), var(--amber));height:4px;position:absolute;inset:0 0 auto}.class-card-header{align-items:flex-start}.class-card-title-row{align-items:flex-start;gap:12px;min-width:0;display:flex}.class-icon-tile{width:38px;height:38px;color:var(--primary-700);background:#5614b81f;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.class-schedule-row{min-width:0;color:var(--ink);background:var(--s50);border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-size:.86rem;font-weight:850;display:inline-flex}.class-schedule-row span{overflow-wrap:anywhere;min-width:0}.classes-section{gap:12px;display:grid}.classes-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0;font-size:.82rem;font-weight:900}.classes-empty{text-align:center;color:var(--muted);place-items:center;gap:10px;padding:48px 24px;display:grid}.classes-empty svg{color:#430e9366}.classes-empty h3{color:var(--ink);margin:0;font-size:1.06rem}.classes-empty p{margin:0;font-size:.88rem}.agents-section{gap:10px;margin-top:4px;display:grid}.approval-command-strip{background:linear-gradient(135deg, #430e931f, #ffffffc7 42%), var(--white);border:1px solid #430e9333;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px;display:flex;box-shadow:0 18px 44px #1f172a14}.approval-command-strip h3{color:var(--ink);letter-spacing:0;margin:10px 0 0;font-size:1.18rem}.approval-command-strip p{max-width:680px;color:var(--muted);margin:6px 0 0}.agents-import-form{grid-template-columns:200px minmax(200px,1fr)!important}.agents-section-header{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.agents-section-header p{color:var(--muted);margin:4px 0 0;font-size:.84rem}.approval-card-main{grid-template-columns:auto minmax(0,1fr);gap:12px;min-width:0;display:grid}.approval-type-icon{width:40px;height:40px;color:var(--primary-900);background:#a278e13d;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.approval-card-meta,.approval-card-detail,.approval-card-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.approval-card-meta{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:800}.approval-card-detail{color:var(--muted);margin-top:10px;font-size:.84rem;font-weight:800}.approval-review-panel{background:#f8fcfae0;border:1px solid #430e932e;border-radius:8px;gap:12px;margin-top:14px;padding:14px;display:grid}.approval-review-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.approval-review-header strong{color:var(--ink);margin-top:3px;display:block}.approval-review-kicker{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:900}.approval-review-facts{flex-wrap:wrap;gap:8px;display:flex}.approval-review-facts span{color:var(--primary-900);background:#430e9317;border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-size:.78rem;font-weight:850;display:inline-flex}.approval-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.approval-review-section{background:#ffffffc7;border:1px solid #1f172a14;border-radius:8px;min-width:0;padding:10px}.approval-review-section h4{color:var(--ink);letter-spacing:0;margin:0 0 8px;font-size:.82rem}.approval-review-section ul{color:var(--muted);gap:6px;margin:0;padding-left:18px;font-size:.82rem;display:grid}.approval-review-section li::marker{color:var(--primary)}.approval-publish-note,.approval-message-preview{color:var(--muted);margin:0;font-size:.84rem}.approval-publish-note{border-top:1px solid #1f172a14;padding-top:10px;font-weight:800}.approval-card-actions{justify-content:flex-end}.agents-pending-note{color:var(--muted);font-size:.82rem;font-style:italic}.comms-form-row{grid-column:1/-1;grid-template-columns:180px minmax(0,1fr);gap:12px;display:grid}.comms-title-field{min-width:0}.comms-field-label{color:var(--muted);font-size:.82rem;font-weight:900}.recipient-section{grid-column:1/-1;gap:10px;display:grid}.recipient-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.recipient-quick-actions{flex-wrap:wrap;gap:6px;display:flex}.comms-submit-row{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:14px;display:flex}.comms-approval-note{color:var(--muted);margin:0;font-size:.82rem}.profile-cohort-list{grid-column:1/-1}.profile-facts{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}@media (width<=980px){.ops-grid,.class-board,.class-form-grid,.class-summary-strip,.school-lesson-grid,.quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-form,.lesson-import-form,.communication-draft-form,.ops-table-row,.approval-card{grid-template-columns:1fr}.approval-card-actions{justify-content:flex-start}}@media (width<=640px){.ops-grid,.class-board,.class-form-grid,.class-summary-strip,.school-lesson-grid,.quick-action-grid{grid-template-columns:1fr}.ops-command-strip,.approval-command-strip,.class-management-header,.tool-panel-header{flex-direction:column}.agents-section-header,.approval-card-main{grid-template-columns:1fr}.approval-review-header{flex-direction:column}.approval-review-grid,.request-demo-grid,.request-demo-callout{grid-template-columns:1fr}.request-demo-link{width:100%}.agents-section-header{align-items:start;display:grid}.class-modal-overlay{align-items:flex-end;padding:0}.class-modal-card{border-radius:14px 14px 0 0;max-height:94dvh}.class-modal-header,.class-modal-body{padding-left:16px;padding-right:16px}}.role-tab{color:#f8faf7b8;cursor:pointer;min-height:34px;font:inherit;transition:background-color var(--dur-hover) var(--ease-out), color var(--dur-hover) var(--ease-out), transform var(--dur-press) var(--ease-out);background:0 0;border:0;border-radius:7px;padding:0 8px;font-size:.82rem;font-weight:700}.role-tab:active{transform:scale(var(--press-scale))}.role-tab.active{color:var(--paper);background:#ffffff24;box-shadow:inset 0 0 0 1px #ffffff14}.profile-panel{background:#ffffff0f;border:1px solid #ffffff14;border-radius:10px;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;padding:12px 14px;transition:background .15s,border-color .15s;display:grid}.profile-panel:hover{background:#ffffff17;border-color:#ffffff24}.profile-panel>div{flex-direction:column;justify-content:center;gap:2px;min-width:0;display:flex}.profile-panel .avatar{width:44px;height:44px;font-size:.92rem}.locale-switcher{color:var(--paper);background:#ffffff0f;border:1px solid #ffffff14;border-radius:10px;gap:6px;padding:10px 12px;display:grid}.locale-switcher span{color:#f8faf7b3;text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:7px;font-size:.72rem;font-weight:800;display:inline-flex}.locale-switcher select{min-width:0;min-height:36px;color:var(--paper);font:inherit;cursor:pointer;background:#100a1ab8;border:1px solid #ffffff1f;border-radius:8px;padding:0 10px;font-size:.88rem;transition:border-color .15s,background .15s}.locale-switcher select:hover,.locale-switcher select:focus-visible{background:#100a1ad9;border-color:#a278e18c}.avatar{width:52px;height:52px;color:var(--paper);background:linear-gradient(145deg,#e84a5ff2,#430e93e6);border-radius:50%;place-items:center;font-weight:800;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.eyebrow{color:var(--teal);text-transform:uppercase;letter-spacing:var(--track-overline);align-items:center;gap:6px;font-size:.78rem;font-weight:800;display:inline-flex}.profile-panel .eyebrow{color:var(--mint)}.profile-panel h2{color:var(--paper);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.94rem;font-weight:800;line-height:1.2;overflow:hidden}.sidebar-nav{gap:3px;display:grid}.sidebar-nav a{color:#f8faf7c2;letter-spacing:.005em;min-height:40px;transition:background-color var(--dur-hover) var(--ease-out), color var(--dur-hover) var(--ease-out);border-radius:8px;align-items:center;gap:11px;padding:0 12px;font-size:.9rem;font-weight:600;text-decoration:none;display:flex;position:relative}.sidebar-nav a svg{opacity:.85;transition:opacity var(--dur-hover) var(--ease-out);flex:none}.sidebar-nav .nav-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar-nav a:hover,.sidebar-nav a:focus-visible{color:var(--paper);background:#ffffff14}.sidebar-nav a:focus-visible{outline:2px solid var(--mint);outline-offset:-2px}.sidebar-nav a:hover svg,.sidebar-nav a:focus-visible svg{opacity:1}.sidebar-nav a.active,.sidebar-nav a[aria-current=page]{color:var(--paper);box-shadow:inset 3px 0 0 var(--mint);background:linear-gradient(90deg,#a278e12e,#ffffff0f);font-weight:700}.sidebar-nav a.active svg,.sidebar-nav a[aria-current=page] svg{opacity:1;color:var(--mint)}.security-note{color:var(--paper);background:#430e9329;border:1px solid #a278e13d;grid-template-columns:20px minmax(0,1fr);gap:10px;margin-top:auto;padding:14px;display:grid}.sidebar-top{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.sidebar-toggle{color:#f8faf7b8;cursor:pointer;width:28px;height:28px;transition:background-color var(--dur-hover) var(--ease-out), color var(--dur-hover) var(--ease-out), border-color var(--dur-hover) var(--ease-out), transform var(--dur-press) var(--ease-out);background:#ffffff0a;border:1px solid #ffffff24;border-radius:7px;flex:none;justify-content:center;align-items:center;display:inline-flex}.sidebar-toggle:hover,.sidebar-toggle:focus-visible{color:var(--paper);background:#a278e126;border-color:#a278e166}.sidebar-toggle:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.sidebar-toggle:active{transform:scale(.92)}.sidebar-collapsed .sidebar{align-items:center;padding:16px 10px;overflow:hidden}.sidebar-collapsed .sidebar-top{flex-direction:column;align-items:center;gap:10px;width:100%}.sidebar-collapsed .brand-text,.sidebar-collapsed .role-switcher,.sidebar-collapsed .profile-panel>div,.sidebar-collapsed .locale-switcher,.sidebar-collapsed .nav-label,.sidebar-collapsed .security-note-text{display:none}.sidebar-collapsed .brand-lockup{justify-content:center}.sidebar-collapsed .profile-panel{grid-template-columns:1fr;justify-items:center;padding:10px}.sidebar-collapsed .sidebar-nav{width:100%}.sidebar-collapsed .sidebar-nav a{border-radius:10px;justify-content:center;width:44px;height:44px;margin:0 auto;padding:0}.sidebar-collapsed .sidebar-nav a.active,.sidebar-collapsed .sidebar-nav a[aria-current=page]{box-shadow:none;background:#ffffff29}.sidebar-collapsed .security-note{grid-template-columns:1fr;justify-items:center;padding:10px}.sidebar-collapsed .sidebar-nav a[title]:hover:after{content:attr(title);white-space:nowrap;background:var(--ink);color:var(--paper);pointer-events:none;z-index:200;border-radius:6px;padding:5px 10px;font-size:.78rem;font-weight:700;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%);box-shadow:0 4px 12px #0003}.sidebar-collapsed .sidebar-nav a{position:relative}.workspace{gap:16px;padding:20px;display:grid}.messages-page .workspace,.ai-page .workspace{grid-template-rows:minmax(0,1fr);gap:0;height:100dvh;min-height:0;padding:12px;overflow:hidden}.calls-page .workspace{height:100dvh;min-height:0}.calls-page .workspace:has(.video-room.expanded){grid-template-rows:minmax(0,1fr);overflow:hidden}.calls-page .workspace:has(.video-room.expanded) .workspace-page{align-items:stretch;min-height:0}.workspace-page{align-items:start;gap:16px;min-width:0;display:grid}.persistent-call-view{min-width:0}.persistent-call-view.is-hidden{display:none}.meeting-return-banner{min-height:44px;color:var(--ink);background:linear-gradient(110deg, #a278e12e, #fffffff0 58%), var(--white);border:1px solid #430e9347;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:7px 8px 7px 10px;display:flex;box-shadow:0 8px 22px #1f172a12}.meeting-return-copy{align-items:center;gap:8px;min-width:0;display:flex}.meeting-return-copy>svg{color:var(--teal);flex:none}.meeting-return-copy p{align-items:baseline;gap:7px;min-width:0;margin:0;line-height:1.2;display:flex}.meeting-return-banner strong{color:var(--ink);white-space:nowrap;font-size:.9rem}.meeting-return-copy span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.meeting-return-actions{flex:none;gap:6px;display:flex}.meeting-icon-action{width:32px;height:32px;min-height:32px;color:var(--ink);background:#ffffffdb;border:1px solid #1a0f2a1c;border-radius:8px;padding:0}.meeting-icon-action:first-child{color:var(--paper);background:var(--ink);border-color:var(--ink)}.ai-page .workspace-page,.messages-page .workspace-page{align-items:stretch;gap:0;min-height:0}.topbar{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd1;justify-content:space-between;align-items:center;gap:14px;padding:13px 18px;display:flex}.topbar h1{color:var(--ink);font-size:1.44rem;line-height:1.15}.topbar p,.overview-copy p,.record-row p,.task-card p,.ai-card p,.progress-card p,.feedback-card p,.lesson-detail p,.metric-card p{color:var(--muted);margin:6px 0 0}.topbar p{max-width:68ch;margin-top:3px;font-size:.88rem;line-height:1.35}.overview-page .topbar{padding:14px 20px}.overview-page .topbar h1{font-size:1.48rem}.lessons-page .topbar,.profile-page .topbar,.add-user-page .topbar{padding:10px 16px}.lessons-page .topbar h1,.profile-page .topbar h1,.add-user-page .topbar h1{font-size:1.26rem}.lessons-page .topbar p,.profile-page .topbar p,.add-user-page .topbar p{margin-top:2px;font-size:.84rem}.messages-page .topbar,.ai-page .topbar,.progress-page .topbar,.students-page .topbar,.teachers-page .topbar,.calls-page .topbar,.classes-page .topbar,.agents-page .topbar,.communications-page .topbar{display:none}.progress-page .workspace,.students-page .workspace,.teachers-page .workspace,.calls-page .workspace,.classes-page .workspace,.agents-page .workspace,.communications-page .workspace{gap:0;padding:12px}.lessons-page .workspace,.profile-page .workspace,.add-user-page .workspace{gap:10px;padding:14px}.primary-action,.ghost-action,.link-button,.provider-action,.compact-action,.wide-action,.upload-action,.composer button,.ai-chat-composer button{cursor:pointer;min-height:42px;font:inherit;transition:transform var(--dur-press) var(--ease-out), box-shadow var(--dur-hover) var(--ease-out), border-color var(--dur-hover) var(--ease-out), background-color var(--dur-hover) var(--ease-out);border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:800;text-decoration:none;display:inline-flex}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.primary-action,.composer button,.ai-chat-composer button{color:var(--paper);background:var(--brand);padding:0 16px}.ghost-action,.link-button,.compact-action,.wide-action,.upload-action{color:var(--ink);background:var(--paper);border-color:var(--line);padding:0 14px}@media (hover:hover) and (pointer:fine){.primary-action:hover,.ghost-action:hover,.link-button:hover,.provider-action:hover,.compact-action:hover,.wide-action:hover,.upload-action:hover,.composer button:hover,.ai-chat-composer button:hover{transform:translateY(-1px);box-shadow:0 10px 24px #1f172a1f}}.primary-action:active:not(:disabled),.ghost-action:active:not(:disabled),.link-button:active:not(:disabled),.provider-action:active:not(:disabled),.compact-action:active:not(:disabled),.wide-action:active:not(:disabled),.upload-action:active:not(:disabled),.composer button:active:not(:disabled),.ai-chat-composer button:active:not(:disabled){transform:scale(var(--press-scale));box-shadow:none;transition-duration:var(--dur-press)}button:disabled{cursor:not-allowed;opacity:.62}.auth-login-form{gap:12px;display:grid}.auth-login-form label{gap:7px;display:grid}.auth-login-form input,.auth-login-form select,.auth-login-form textarea{border:1px solid var(--line);width:100%;min-width:0;min-height:46px;color:var(--ink);background:var(--paper);font:inherit;border-radius:8px;padding:0 12px}.auth-login-form textarea{resize:vertical;min-height:84px;padding:11px 12px}.auth-login-form input:focus,.auth-login-form select:focus,.auth-login-form textarea:focus{border-color:#430e9380;outline:2px solid #430e933d}.auth-access-note,.staff-auth-panel,.request-demo-callout,.request-demo-panel{border:1px solid var(--line);background:#f7faf8db;gap:10px;padding:12px;display:grid}.auth-access-note{color:var(--teal);grid-template-columns:18px minmax(0,1fr)}.auth-access-note strong,.auth-access-note span{display:block}.auth-access-note strong{color:var(--ink);font-size:.9rem}.auth-access-note span,.staff-auth-panel p,.request-demo-callout p{color:var(--muted);margin:3px 0 0;font-size:.86rem;line-height:1.4}.request-demo-callout{grid-template-columns:minmax(0,1fr) auto;align-items:center}.request-demo-link{white-space:nowrap}.request-demo-screen{align-items:start;padding-block:48px}.request-demo-page-panel .request-demo-panel{background:0 0;border:0;padding:0}.request-demo-page-panel .auth-back-link{justify-self:start;min-height:36px}.request-demo-panel{background:linear-gradient(135deg,#430e9317,#ffffffbd 42%),#f7faf8eb;gap:12px}.request-demo-heading{gap:4px;display:grid}.request-demo-heading h2{color:var(--ink);letter-spacing:0;margin:0;font-size:1.08rem}.request-demo-heading p{color:var(--muted);margin:0;font-size:.86rem;line-height:1.4}.request-demo-notice{align-items:center;gap:8px;margin:0;font-size:.84rem;font-weight:800;line-height:1.35;display:inline-flex}.request-demo-notice.success{color:var(--green)}.request-demo-notice.error{color:var(--red)}.request-demo-submit{width:100%}.auth-provider-list{gap:10px;margin-top:4px;display:grid}.provider-action{border-color:var(--line);width:100%;min-height:46px;color:var(--ink);background:var(--paper);padding:0 16px}.provider-action.apple{color:var(--paper);background:var(--navy-mid);border-color:var(--navy-mid)}.provider-glyph{width:20px;height:20px;color:var(--paper);background:linear-gradient(135deg, var(--gemini-blue) 0 25%, var(--green) 25% 50%, var(--amber) 50% 75%, var(--gemini-rose) 75%);border-radius:50%;place-items:center;font-size:.78rem;font-weight:900;line-height:1;display:inline-grid}.overview-band{min-height:0;color:var(--ink);border:1px solid var(--line);background:linear-gradient(110deg,#430e931a,#0000 54%),#ffffffeb;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:14px;padding:16px;display:grid;overflow:hidden}.overview-copy{align-self:center}.pulse-label{width:fit-content;color:var(--primary-900);background:#a278e133;border-radius:8px;align-items:center;gap:8px;padding:6px 9px;font-size:.82rem;font-weight:900;display:inline-flex}.overview-copy h2{max-width:720px;color:var(--ink);margin-top:9px;font-size:1.54rem}.overview-copy p{max-width:620px;color:var(--muted);font-size:.92rem;line-height:1.42}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.dashboard-next-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;align-content:center;gap:7px;min-width:0;padding:14px;display:grid}.dashboard-next-card strong{color:var(--ink);font-size:1.06rem;line-height:1.25}.dashboard-next-card>span:not(.eyebrow){color:var(--muted);line-height:1.35}.dashboard-next-card .hero-actions{margin-top:8px}.clinical-visual{background-color:#ffffff1a;background-image:linear-gradient(90deg,#ffffff14 1px,#0000 1px),linear-gradient(#ffffff14 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #ffffff2e;border-radius:8px;align-content:center;align-self:stretch;gap:12px;min-height:172px;padding:14px;display:grid}.monitor-frame{background:#100a1abd;border:1px solid #a278e13d;border-radius:8px;height:104px;position:relative;overflow:hidden}.monitor-line,.wave{background:#a278e138;height:2px;position:absolute;left:18px;right:18px}.monitor-line{top:28px}.monitor-line.short{top:76px;right:42%}.wave{background:linear-gradient(90deg, transparent 0 7%, var(--mint) 7% 13%, transparent 13% 22%, var(--mint) 22% 29%, transparent 29% 35%, var(--coral) 35% 38%, transparent 38% 48%, var(--mint) 48% 62%, transparent 62% 100%);filter:drop-shadow(0 0 10px #a278e180);height:26px;top:51px}.dialogue-strip{gap:8px;display:grid}.dialogue-strip span{width:fit-content;max-width:100%;color:var(--paper);background:#ffffff24;border-radius:8px;padding:8px 10px;display:block}.dialogue-strip span:nth-child(2){background:#a278e12e;justify-self:end}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);min-height:92px;padding:14px;transition:background .14s,box-shadow .14s}.metric-card:hover{background:var(--s50);box-shadow:var(--sh-sm)}.metric-card span{color:var(--muted);text-transform:uppercase;font-size:.82rem;font-weight:800}.metric-card strong{color:var(--ink);margin-top:6px;font-size:1.58rem;line-height:1;display:block}.metric-card p{color:var(--muted);margin:5px 0 0;font-size:.78rem;line-height:1.3}.dashboard-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.dashboard-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:12px;min-width:0;padding:14px;display:grid}.dashboard-card-icon{width:38px;height:38px;color:var(--teal);background:#430e931a;border-radius:8px;place-items:center;display:grid}.dashboard-card h3{color:var(--ink);margin:4px 0 0;font-size:1rem;line-height:1.2}.dashboard-card p{color:var(--muted);margin:5px 0 0;line-height:1.4}.dashboard-shell{gap:14px;display:grid}.dashboard-hero-panel{border:1px solid #1a0f2a1a;border-top:3px solid var(--teal);background:linear-gradient(120deg,#430e931f,#e0b15b12 48%,#0000 72%),#fffffff5;border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(270px,360px);align-items:center;gap:14px;min-width:0;padding:20px;display:grid;overflow:hidden;box-shadow:0 4px 18px #1f172a14}.dashboard-hero-panel.student{z-index:4;border-top-color:var(--mint);background:linear-gradient(120deg,#a278e12e,#e84a5f12 50%,#0000 74%),#fffffff5;position:sticky;top:20px}.dashboard-hero-panel.teacher{border-top-color:var(--teal);background:linear-gradient(120deg,#430e931f,#f5b34212 50%,#0000 74%),#fffffff5}.dashboard-hero-panel.admin{border-top-color:var(--ink);background:linear-gradient(120deg,#20172d1a,#430e9317 48%,#0000 72%),#fffffff5}.dashboard-hero-copy{align-content:center;align-self:center;gap:10px;min-width:0;display:grid}.dashboard-hero-copy h2{color:var(--ink);margin:0;font-size:clamp(1.55rem,2.8vw,2.35rem);line-height:1.04}.dashboard-hero-copy p{max-width:68ch;color:var(--muted);margin:0;font-size:.98rem;line-height:1.45}.dashboard-hero-actions{flex-wrap:wrap;gap:9px;margin-top:4px;display:flex}.dashboard-ai-entry{min-height:44px}.dashboard-priority-card{background:linear-gradient(180deg, #ffffffe0, #f7faf8c7), var(--paper);border:1px solid #1a0f2a1a;border-radius:8px;align-content:center;gap:10px;min-width:0;padding:15px;display:grid}.dashboard-priority-card strong{color:var(--ink);font-size:1.16rem;line-height:1.22}.dashboard-priority-card>span:not(.eyebrow),.dashboard-class-card span,.dashboard-task-card span,.dashboard-feedback-card span,.dashboard-learner-row small{color:var(--muted);line-height:1.35}.dashboard-progress-ring{background:radial-gradient(circle at center, var(--paper) 0 56%, transparent 57%), conic-gradient(var(--teal) var(--progress), #1a0f2a1a 0);border-radius:50%;place-self:end;place-items:center;width:112px;height:112px;display:grid}.dashboard-progress-ring strong,.dashboard-progress-ring span{grid-area:1/1}.dashboard-progress-ring strong{margin-top:-12px;font-size:1.4rem}.dashboard-progress-ring span{color:var(--muted);text-transform:uppercase;margin-top:34px;font-size:.74rem;font-weight:900}.dashboard-mic-orb{width:112px;height:112px;color:var(--paper);background:linear-gradient(135deg, #a278e142, transparent 62%), var(--teal);transition:transform var(--dur-press) var(--ease-out), box-shadow var(--dur-hover) var(--ease-out), border-color var(--dur-hover) var(--ease-out);border:1px solid #380f7638;border-radius:50%;place-self:center;place-items:center;padding:0;display:grid;box-shadow:0 18px 34px #380f7638}.dashboard-mic-orb:focus-visible{border-color:#380f766b;transform:translateY(-1px);box-shadow:0 22px 40px #380f7647}@media (hover:hover) and (pointer:fine){.dashboard-mic-orb:hover{border-color:#380f766b;transform:translateY(-1px);box-shadow:0 22px 40px #380f7647}}.dashboard-mic-orb:active{transform:scale(var(--press-scale))}.dashboard-hero-student-stats{border-top:1px solid #1a0f2a14;flex-wrap:wrap;grid-column:1/-1;gap:10px;padding-top:14px;display:flex}.dashboard-stat-chip{border:1px solid var(--line);background:var(--paper);min-width:100px;color:var(--teal);border-radius:10px;flex:1;align-items:center;gap:9px;padding:11px 14px;display:flex;box-shadow:0 1px 4px #1f172a0d}.dashboard-stat-chip strong{color:var(--ink);font-size:1.18rem;font-weight:900;line-height:1}.dashboard-stat-chip span{color:var(--muted);font-size:.78rem;font-weight:700}.dashboard-metric-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.dashboard-role-grid{grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);align-items:start;gap:14px;display:grid}.dashboard-generated-exercises{grid-template-columns:minmax(0,1fr) minmax(280px,.36fr);align-items:start;gap:14px;display:grid}.dashboard-panel{border:1px solid var(--line);background:var(--paper);border-radius:10px;gap:14px;min-width:0;padding:16px;display:grid;box-shadow:0 2px 8px #1f172a0d}.exercise-current,.exercise-history{align-content:start}.dashboard-panel-header,.dashboard-class-card-top,.dashboard-class-progress>div{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dashboard-panel-header h3{color:var(--ink);margin:4px 0 0;font-size:1.08rem;line-height:1.2}.dashboard-class-list,.dashboard-learner-list,.dashboard-student-stack{gap:10px;display:grid}.dashboard-class-card,.dashboard-task-card,.dashboard-feedback-card,.dashboard-empty,.dashboard-learner-row{border:1px solid var(--line);background:var(--surface);border-radius:9px;min-width:0;padding:13px;transition:border-color .13s,background .13s,box-shadow .13s}.dashboard-class-card:hover,.dashboard-task-card:hover{background:#a278e10f;border-color:#430e9347;box-shadow:0 2px 10px #1f172a0f}.dashboard-class-card{gap:11px;display:grid}.dashboard-class-card strong,.dashboard-task-card strong,.dashboard-feedback-card strong,.dashboard-learner-row strong{color:var(--ink)}.dashboard-class-card-top>div,.dashboard-feedback-card>div{gap:4px;min-width:0;display:grid}.dashboard-learner-row>div{gap:5px;min-width:0;display:grid}.dashboard-class-progress{gap:7px;display:grid}.dashboard-class-progress span{text-transform:uppercase;font-size:.78rem;font-weight:900}.dashboard-class-progress strong{font-size:.95rem}.dashboard-class-meta{flex-wrap:wrap;gap:7px;display:flex}.dashboard-class-meta span{min-height:28px;color:var(--primary-900);background:#a278e129;border-radius:999px;align-items:center;gap:5px;padding:0 9px;font-size:.76rem;font-weight:900;display:inline-flex}.dashboard-learner-row{cursor:pointer;width:100%;color:inherit;font:inherit;text-align:left;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.dashboard-learner-row:hover,.dashboard-learner-row:focus-visible{background:#a278e11f;border-color:#430e934d}.dashboard-learner-row .avatar{width:38px;height:38px;font-size:.78rem}.dashboard-learner-row>span:last-child{color:var(--teal);font-weight:900}.dashboard-task-card{border-left:4px solid var(--coral);gap:5px;display:grid}.dashboard-feedback-card{color:var(--teal);grid-template-columns:22px minmax(0,1fr);gap:9px;display:grid}.dashboard-empty{min-height:110px;color:var(--muted);align-content:center;place-items:center;gap:8px;display:grid}.dashboard-empty.compact{min-height:84px}.ai-practice-panel{gap:16px}.exercise-session-strip{scrollbar-width:thin;scrollbar-color:#430e934d transparent;gap:9px;padding-bottom:4px;display:flex;overflow-x:auto}.exercise-session-strip::-webkit-scrollbar{height:4px}.exercise-session-strip::-webkit-scrollbar-thumb{background:#430e934d;border-radius:999px}.exercise-session-card{border:1px solid var(--line);background:var(--surface);cursor:pointer;min-width:150px;max-width:210px;font:inherit;text-align:left;border-radius:9px;flex:none;gap:3px;padding:10px 12px;transition:border-color .12s,background .12s,box-shadow .12s;display:grid}.exercise-session-card.active{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal);background:#430e9312}.exercise-session-card:hover:not(.active){background:#a278e117;border-color:#430e935c}.exercise-session-card strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:700;line-height:1.3;overflow:hidden}.exercise-session-card span{color:var(--teal);align-items:center;gap:4px;font-size:.74rem;font-weight:800;display:flex}.exercise-session-card .session-pending{color:var(--muted)}.exercise-session-card small{color:var(--muted);font-size:.7rem}.exercise-topic-bar{background:#430e930d;border:1px solid #430e9324;border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:8px;padding:11px 14px;display:flex}.exercise-topic-bar strong{color:var(--ink);font-size:.96rem}.exercise-topic-bar span{color:var(--muted);font-size:.82rem}.exercise-quiz{gap:11px;display:grid}.exercise-question small,.exercise-flashcard small,.exercise-footer span{color:var(--muted);line-height:1.35}.exercise-flashcards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.exercise-flashcard,.exercise-question{border:1px solid var(--line);background:var(--surface);border-radius:9px;gap:8px;min-width:0;padding:13px;transition:border-color .12s,background .12s;display:grid}.exercise-flashcard{border-top:3px solid var(--mint)}.exercise-flashcard span{color:var(--teal);text-transform:uppercase;letter-spacing:.02em;font-size:.84rem;font-weight:900}.exercise-flashcard p{color:var(--ink);margin:0;font-size:.96rem;line-height:1.45}.exercise-question strong{color:var(--ink);line-height:1.3}.exercise-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.exercise-option{min-height:40px;color:var(--ink);font:inherit;text-align:left;background:#ffffffc7;border:1px solid #1a0f2a1f;border-radius:8px;padding:8px 10px;font-size:.88rem;font-weight:800;line-height:1.25}.exercise-option:hover,.exercise-option:focus-visible,.exercise-option.selected{background:#a278e124;border-color:#430e9357}.exercise-option.correct{color:var(--primary-900);background:#a278e138;border-color:#430e9373}.exercise-option.incorrect{color:var(--red);background:#fee2e2e6;border-color:#dc26267a}.exercise-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.exercise-history-row{border:1px solid var(--line);width:100%;min-width:0;color:inherit;background:var(--surface);font:inherit;text-align:left;border-radius:8px;gap:4px;padding:11px;transition:border-color .12s,background .12s;display:grid}.exercise-history-row:hover,.exercise-history-row:focus-visible,.exercise-history-row.active{background:#a278e11a;border-color:#430e9357}.exercise-history-row strong{color:var(--ink);line-height:1.25}.content-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);align-items:start;gap:18px;display:grid}.panel{border:1px solid var(--line);background:#ffffffe6;min-width:0;padding:18px}#messages,#ai{min-height:0}.messages-page #messages{background:0 0;border:none;border-radius:0;grid-template-rows:minmax(0,1fr);height:100%;padding:0;display:grid;overflow:hidden}.ai-page #ai{background:0 0;border:0;grid-template-rows:minmax(0,1fr);height:100%;padding:0;display:grid;overflow:hidden}.panel-header{align-items:center;gap:10px;min-height:40px;margin-bottom:14px;display:flex}.progress-page #progress>.panel-header,.students-page #students>.panel-header,.teachers-page #teachers>.panel-header,.add-user-page #add-user>.panel-header,.lessons-page #lessons>.panel-header,.ai-page #ai>.panel-header,.messages-page #messages>.panel-header,.profile-page #profile>.panel-header,.classes-page #classes>.panel-header,.agents-page #agents>.panel-header,.communications-page #communications>.panel-header{display:none}.progress-page #progress.panel,.students-page #students.panel,.teachers-page #teachers.panel,.add-user-page #add-user.panel,.lessons-page #lessons.panel,.profile-page #profile.panel,.classes-page #classes.panel,.agents-page #agents.panel,.communications-page #communications.panel{padding:14px}.ai-page #ai.panel,.messages-page #messages.panel{background:0 0;border:0;padding:0}.panel-icon,.task-icon{width:36px;height:36px;color:var(--teal);background:#430e931a;border-radius:8px}.panel h2{color:var(--ink);font-size:1.08rem}.stacked-list,.teacher-grid,.student-flow,.ai-list,.catalog-shell,.empty-state{gap:12px;display:grid}.catalog-toolbar{grid-template-columns:minmax(0,1fr) 172px;align-items:center;gap:10px;width:100%;min-width:0;max-width:100%;display:grid}.catalog-shell{grid-template-columns:minmax(0,1fr);width:100%;min-width:0;max-width:100%}#lessons.panel{background:linear-gradient(#430e9314,#0000 260px),#ffffffeb}.lesson-workspace{gap:16px}.lesson-hero{min-width:0;color:var(--paper);background:linear-gradient(135deg, #a278e11a 0%, transparent 50%), var(--navy-card);border:1px solid #a278e11f;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(260px,.4fr);align-items:stretch;gap:16px;padding:18px 20px;display:grid;overflow:hidden;box-shadow:0 14px 34px #0e0a1433}.lesson-hero-copy{align-self:center;min-width:0;padding:2px 0}.lesson-hero .eyebrow{color:var(--mint);opacity:.8}.lesson-hero h3{max-width:720px;color:var(--paper);margin:8px 0 0;font-size:1.45rem;line-height:1.12}.lesson-hero p{color:#f8faf78f;max-width:580px;margin:7px 0 0;font-size:.88rem;line-height:1.42}.lesson-hero-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.lesson-hero-start{min-height:40px;color:var(--paper);cursor:pointer;font:inherit;background:#ffffff1a;border:1px solid #a278e14d;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 18px;font-size:.86rem;font-weight:800;transition:background-color .14s,border-color .14s;display:inline-flex}.lesson-hero-start:hover,.lesson-hero-start:focus-visible{background:#a278e12e;border-color:#a278e17a}.lesson-hero-start:focus-visible{outline-offset:2px;outline:3px solid #7426ea6b}.lesson-hero-start:active{transform:scale(var(--press-scale))}.lesson-hero-progress{background:#ffffff0d;border:1px solid #ffffff14;border-radius:8px;align-content:center;gap:12px;min-width:0;padding:14px;display:grid}.lesson-hero-progress>div:first-child,.path-summary{justify-content:space-between;align-items:center;gap:12px;display:flex}.lesson-hero-progress span{color:#f8faf773;text-transform:uppercase;letter-spacing:0;font-size:.72rem;font-weight:800}.lesson-hero-progress strong{color:var(--paper);letter-spacing:0;font-size:.94rem}.lesson-hero-progress .progress-bar{background:#ffffff1a;border-radius:999px;height:3px}.lesson-hero-progress .progress-bar span{background:var(--mint);opacity:.7}.lesson-hero-metrics{flex-wrap:wrap;gap:10px;display:flex}.lesson-hero-metrics span{color:#f8faf773;white-space:nowrap;align-items:center;gap:5px;font-size:.76rem;font-weight:700;display:inline-flex}.level-selector{scrollbar-width:none;flex-wrap:wrap;gap:6px;width:100%;min-width:0;max-width:100%;padding-bottom:2px;display:flex;overflow-x:auto}.level-selector::-webkit-scrollbar{display:none}.level-button{border:1px solid var(--line);min-height:36px;color:var(--muted);background:var(--paper);cursor:pointer;font:inherit;white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:7px;padding:0 14px;transition:color .14s,border-color .14s,background-color .14s,box-shadow .14s;display:inline-flex}.level-button:hover,.level-button:focus-visible{color:var(--ink);border-color:#430e934d}.level-button.active{color:var(--paper);background:var(--teal);border-color:var(--teal);box-shadow:0 4px 14px #430e9338}.level-button strong{letter-spacing:0;font-size:.84rem;font-weight:800}.level-button span{color:inherit;opacity:.65;font-size:.72rem;font-weight:600}.level-button-bar{background:#1f172a1a;border-radius:999px;width:28px;height:3px;overflow:hidden}.level-button.active .level-button-bar{background:#fff3}.level-button-bar-fill{border-radius:inherit;background:var(--teal);height:100%;transition:width .4s}.level-button.active .level-button-bar-fill{background:#ffffffd9}.select-control{border:1px solid var(--line);background:var(--paper);grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;min-height:48px;padding:0 10px;display:grid}.select-control select{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;font-weight:800}.catalog-summary,.generation-console{border:1px solid var(--line);background:0 0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:9px 14px;display:flex}.catalog-summary span,.generation-console span{color:var(--muted);font-size:.84rem}.path-summary b{color:var(--teal);flex:none;font-size:.82rem;font-weight:800}.generation-console div{gap:3px;display:grid}.game-strip{grid-template-columns:repeat(4,minmax(110px,1fr)) repeat(2,minmax(176px,1.4fr));gap:10px;display:grid}.game-stat,.daily-goal,.activity-overview,.lesson-runner,.activity-card,.answer-feedback,.runner-result-grid div{border-radius:8px}.game-stat,.daily-goal{background:var(--paper);border:1px solid var(--line);min-width:0;min-height:84px;transition:box-shadow var(--dur-hover) var(--ease-out), transform var(--dur-hover) var(--ease-out);border-radius:10px;align-content:center;gap:5px;padding:13px 14px;display:grid;box-shadow:0 8px 24px #1f172a0d}@media (hover:hover) and (pointer:fine){.game-stat:hover{transform:translateY(-1px);box-shadow:0 14px 32px #1f172a17}}.game-stat{grid-template-columns:26px minmax(0,1fr);align-items:center}.game-stat.primary{color:var(--primary-900);background:linear-gradient(145deg, #a278e133, transparent 60%), var(--paper);border-color:#430e9333;box-shadow:0 8px 24px #430e931a}.game-stat svg{color:var(--teal);grid-row:span 2}.game-stat.primary svg{color:var(--primary-900)}.game-stat span,.daily-goal span,.runner-result-grid span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:900}.game-stat strong,.daily-goal strong,.runner-result-grid strong{min-width:0;color:var(--ink);overflow-wrap:anywhere;font-size:1.05rem}.game-stat.primary strong{color:var(--primary-900)}.daily-goal{background:linear-gradient(145deg, #430e930d, transparent 60%), var(--paper);border-color:#430e9329;gap:10px}.daily-goal div:first-child{justify-content:space-between;align-items:center;gap:10px;display:flex}.progress-bar.compact{height:8px;margin-top:0}.lesson-view-tabs{border:1px solid var(--line);background:#1f172a0a;border-radius:10px;gap:2px;padding:4px;display:flex}.lesson-view-tab{min-height:44px;color:var(--muted);cursor:pointer;font:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;flex:1;align-items:center;gap:8px;padding:8px 12px;transition:color .16s,background-color .16s,border-color .16s,box-shadow .16s;display:flex}.lesson-view-tab svg{color:inherit}.lesson-view-tab:hover,.lesson-view-tab:focus-visible{color:var(--ink);background:var(--surface);border-color:var(--line)}.lesson-view-tab strong,.lesson-view-tab small{display:block}.lesson-view-tab strong{color:inherit;font-size:.88rem}.lesson-view-tab small{color:inherit;opacity:.72;margin-top:1px;font-size:.72rem}.lesson-view-tab.active{color:var(--ink);background:var(--paper);border-color:var(--line);box-shadow:0 2px 8px #1f172a0f}.lesson-view-tab.active svg{color:var(--teal)}.lesson-view-tab.active small{opacity:.72;color:var(--teal)}.learning-tool-panel,.authoring-console,.review-card,.notebook-card,.mastery-row{border-radius:8px}.learning-tool-panel,.authoring-console{background:linear-gradient(180deg, #430e930a, transparent 190px), var(--paper);border:1px solid var(--line);gap:14px;padding:16px;display:grid;box-shadow:0 14px 34px #1f172a12}.tool-panel-header,.authoring-summary{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.tool-panel-header h3,.authoring-summary h3,.review-card h4,.notebook-card h4,.mastery-row h4{color:var(--ink);margin:3px 0 0;line-height:1.12}.tool-panel-header p,.authoring-summary p,.review-card p,.notebook-card p,.mastery-row p{color:var(--muted);margin:4px 0 0;font-size:.9rem;line-height:1.4}.review-grid,.notebook-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.review-card,.notebook-card{border:1px solid var(--line);background:#ffffffd1;align-content:start;gap:12px;min-width:0;padding:13px;display:grid}.notebook-card{grid-template-columns:minmax(0,1fr) auto;align-items:start}.notebook-card.favorite{background:#a278e124;border-color:#430e9347}.notebook-search{gap:6px;min-width:min(260px,100%);display:grid}.notebook-search span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:900}.notebook-search input{border:1px solid var(--line);min-width:0;min-height:42px;color:var(--ink);background:var(--paper);font:inherit;border-radius:8px;padding:0 11px}.mastery-list{gap:10px;display:grid}.mastery-row{border:1px solid var(--line);background:#f7faf8db;grid-template-columns:minmax(0,1fr) minmax(160px,.32fr);align-items:center;gap:14px;padding:13px;display:grid}.mastery-meter{gap:8px;display:grid}.mastery-meter strong{text-align:right;color:var(--ink)}.learner-progress-dashboard{background:linear-gradient(180deg, #430e930a, transparent 210px), var(--paper);border:1px solid var(--line);border-radius:8px;gap:14px;padding:16px;display:grid;box-shadow:0 14px 34px #1f172a12}.progress-page .learner-progress-dashboard{gap:10px;padding:12px;box-shadow:0 8px 22px #1f172a0d}.progress-summary-pills{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.progress-summary-pills span{min-height:28px;color:var(--primary-900);background:#a278e133;border-radius:999px;align-items:center;padding:0 10px;font-size:.76rem;font-weight:900;display:inline-flex}.progress-page .progress-summary-pills span{min-height:24px;padding:0 8px;font-size:.72rem}.progress-filters{grid-template-columns:minmax(220px,1fr) minmax(140px,.24fr);gap:10px;display:grid}.progress-filters label{gap:6px;min-width:0;display:grid}.progress-filters span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:900}.progress-filters input,.progress-filters select{border:1px solid var(--line);min-width:0;min-height:42px;color:var(--ink);background:var(--paper);font:inherit;border-radius:8px;padding:0 11px}.progress-dashboard-grid{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:start;gap:12px;display:grid}.progress-dashboard-compact{grid-template-columns:minmax(0,1.08fr) minmax(280px,.72fr);align-items:start;gap:12px;display:grid}.learner-table,.learner-detail-panel,.learner-lesson-list,.recent-attempts{gap:8px;min-width:0;display:grid}.learner-row{border:1px solid var(--line);min-width:0;color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:#f7faf8c7;border-radius:8px;grid-template-columns:36px minmax(0,1fr) minmax(120px,.26fr) minmax(70px,auto) minmax(62px,auto);align-items:center;gap:10px;padding:10px;display:grid}.learner-row:hover,.learner-row:focus-visible,.learner-row.active{background:#a278e11f;border-color:#430e934d}.learner-main,.learner-progress-cell,.learner-stat-cell{gap:4px;min-width:0;display:grid}.learner-main strong,.learner-progress-cell strong,.learner-stat-cell strong,.learner-detail-panel header strong,.learner-lesson-row strong{color:var(--ink)}.learner-main small,.learner-stat-cell small,.learner-lesson-row small{color:var(--muted);font-size:.78rem}.learner-stat-cell{text-align:right}.learner-table.compact .learner-row{grid-template-columns:36px minmax(0,1fr) minmax(108px,.28fr) minmax(64px,auto) minmax(58px,auto)}.learner-detail-panel{background:var(--paper);border:1px solid var(--line);border-radius:8px;gap:12px;padding:14px}.learner-detail-panel.compact{align-content:start}.learner-detail-panel header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;display:flex}.learner-detail-panel header h3{color:var(--ink);margin:6px 0 0}.learner-detail-panel header p{color:var(--muted);margin:4px 0 0}.learner-detail-panel header>strong{font-size:1.7rem}.dashboard-stat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.dashboard-stat-row span{min-width:0;color:var(--muted);border:1px solid var(--line);overflow-wrap:anywhere;background:#f7faf8db;border-radius:8px;gap:3px;padding:10px;font-size:.76rem;font-weight:800;display:grid}.dashboard-stat-row strong{color:var(--ink);font-size:.98rem;line-height:1.15}.learner-lesson-row{border:1px solid var(--line);background:#f7faf8b8;border-radius:8px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;padding:9px;display:grid}.recent-attempts{margin-top:4px}.recent-attempts h4{color:var(--ink);margin:0}.recent-attempts>p{color:var(--muted);margin:0}.attempt-row{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;display:grid}.attempt-row p{color:var(--muted);margin:0;line-height:1.35}.attempt-row small{color:var(--ink);margin-top:3px;font-weight:700;line-height:1.35;display:block}.learner-row-avatar{border-radius:50%;flex-shrink:0;width:32px;height:32px;overflow:hidden}.learner-row-avatar .avatar{width:32px;height:32px;font-size:.72rem}.learner-profile-header{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:12px;display:flex}.learner-profile-avatar{border-radius:50%;flex-shrink:0;width:46px;height:46px;overflow:hidden}.learner-profile-avatar .avatar{width:46px;height:46px;font-size:.95rem}.learner-profile-info{flex:1;gap:2px;min-width:0;display:grid}.learner-profile-info h3{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.95rem;line-height:1.2;overflow:hidden}.learner-profile-info p{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.74rem;overflow:hidden}.learner-profile-level{width:fit-content;height:18px;color:var(--primary-900);background:#a278e138;border-radius:999px;align-items:center;padding:0 7px;font-size:.68rem;font-weight:900;display:inline-flex}.learner-profile-percent{color:var(--teal);flex-shrink:0;align-items:baseline;gap:1px;display:flex}.learner-profile-percent strong{color:var(--teal);font-size:1.9rem;font-weight:800;line-height:1}.learner-profile-percent span{color:var(--teal);font-size:.95rem;font-weight:700}.learner-progress-track{gap:5px;display:grid}.learner-progress-track>span{color:var(--muted);font-size:.74rem}.learner-progress-track-bar{background:var(--line);border-radius:999px;height:6px;overflow:hidden}.learner-progress-track-fill{background:linear-gradient(90deg, var(--primary), var(--teal-light));border-radius:999px;height:100%;transition:width .4s}.attempt-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;margin-top:5px;display:block}.attempt-dot.correct{background:var(--primary)}.attempt-dot.retry{background:var(--red)}.attempts-empty{color:var(--muted);margin:4px 0 0;font-size:.8rem;font-style:italic}.authoring-console{background:linear-gradient(90deg, #430e9314, transparent 58%), var(--paper)}.catalog-layout{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);align-items:start;gap:14px;display:grid}.lesson-card-board,.lesson-unit-section{gap:14px;width:100%;min-width:0;max-width:100%;display:grid}.lesson-card-board{gap:28px}.lesson-question-lines{background:var(--paper);border:1px solid var(--line);border-radius:10px;gap:12px;padding:14px 16px;display:grid;box-shadow:0 4px 16px #1f172a0d}.lesson-question-lines header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.lesson-question-lines h3{color:var(--ink);margin:4px 0 0;font-size:1.02rem;line-height:1.12}.lesson-question-line-list{gap:8px;display:grid}.lesson-question-line{border:1px solid var(--line);background:#f7faf8d1;border-radius:8px;grid-template-columns:minmax(110px,auto) minmax(0,1fr);align-items:start;gap:6px 12px;min-width:0;padding:10px 12px;display:grid}.lesson-question-line p{color:var(--ink);margin:0;font-size:.9rem;line-height:1.35}.lesson-question-line strong{color:var(--muted);grid-column:2;font-size:.82rem;line-height:1.35}.lesson-unit-section{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.lesson-unit-section header,.lesson-focus-topbar{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.lesson-unit-section h3,.lesson-focus-topbar h3{color:var(--ink);letter-spacing:0;margin:4px 0 0;font-size:1.05rem;line-height:1.1}.lesson-unit-section header small{color:var(--muted);flex:none;align-items:center;padding-top:5px;font-size:.76rem;font-weight:700;display:inline-flex}.unit-progress-track{background:var(--line);border-radius:999px;height:2px;margin:10px 0 12px;overflow:hidden}.unit-progress-fill{border-radius:inherit;background:var(--teal);opacity:.5;height:100%;transition:width .5s}.lesson-card-grid{flex-direction:column;gap:1px;width:100%;min-width:0;max-width:100%;display:flex}.lesson-card{width:100%;min-width:0;max-width:100%;color:var(--ink);font:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:row;align-items:center;gap:14px;padding:11px 14px 11px 20px;transition:background-color .14s,border-color .14s;display:flex;position:relative;overflow:hidden}.lesson-card-main{min-width:0;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;flex:auto;align-items:center;gap:12px;padding:0;display:flex}.lesson-card-main:focus-visible,.lesson-card-start:focus-visible{outline-offset:3px;outline:3px solid #430e933d}.lesson-card:before{content:"";background:var(--line);border-radius:999px;width:2px;transition:background-color .14s;position:absolute;inset:6px auto 6px 0}.lesson-card:hover,.lesson-card:focus-visible{border-color:var(--line);background:#f6faf7f2}.lesson-card:hover:before{background:var(--teal);opacity:.6}.lesson-card:active{background:#f0f6f2f2}.lesson-card.completed{background:0 0}.lesson-card.completed:before{background:var(--teal);opacity:.9}.lesson-card.draft:before{background:var(--amber)}.lesson-card.archived:before{background:#1f172a33}.lesson-card-icon{flex:none;justify-content:center;align-items:center;display:flex}.lesson-card-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.lesson-card-labels{align-items:center;gap:5px;display:flex}.lesson-card-body strong{color:var(--ink);letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;font-size:.93rem;line-height:1.2;overflow:hidden}.lesson-card-body small{color:var(--muted);font-size:.78rem;line-height:1.3}.lesson-num-badge{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;opacity:.6;background:0 0;border-radius:4px;align-items:center;padding:0 5px;font-size:.65rem;font-weight:800;display:inline-flex}.lesson-card.completed .lesson-num-badge{color:var(--teal);opacity:.8}.lesson-card-stats{flex-wrap:nowrap;flex:none;justify-content:flex-end;align-items:center;gap:12px;display:flex}.lesson-card-stats span{color:var(--muted);white-space:nowrap;opacity:.7;align-items:center;gap:4px;font-size:.74rem;font-weight:700;display:inline-flex}.lesson-card-start{border:1px solid var(--line);min-height:30px;color:var(--muted);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border-radius:6px;flex:none;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:.74rem;font-weight:800;transition:color .12s,border-color .12s,background-color .12s;display:inline-flex}.lesson-card:hover .lesson-card-start,.lesson-card-start:hover{color:var(--teal);background:#430e930a;border-color:#430e9347}.lesson-focus-page{gap:14px;min-width:0;display:grid}.lesson-focus-topbar{border:1px solid var(--line);box-shadow:none;background:0 0;border-radius:8px;align-items:center;padding:10px 12px}.lesson-focus-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lesson-focus-title{text-align:right;min-width:0}.lesson-focus-topbar h3{font-size:1.05rem}.lesson-focus-page .lesson-detail,.lesson-focus-page .lesson-runner{width:100%;position:static;top:auto}.catalog-list{scrollbar-color:#430e936b transparent;align-content:start;gap:10px;max-height:min(760px,68dvh);padding:2px 5px 2px 2px;display:grid;overflow:auto}.unit-group{border:1px solid var(--line);background:#ffffffdb;overflow:hidden;box-shadow:0 12px 28px #1f172a0f}.unit-group header{border-bottom:1px solid var(--line);background:linear-gradient(90deg,#430e9314,#0000 58%),#20172d08;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px 13px;display:flex}.unit-group header span{color:var(--teal);text-transform:uppercase;font-size:.75rem;font-weight:900}.unit-group h3{color:var(--ink);margin-top:3px;font-size:.95rem}.unit-group header small{color:var(--muted);text-transform:uppercase;flex:none;font-size:.74rem;font-weight:900}.lesson-row{box-sizing:border-box;border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;width:100%;min-height:86px;font:inherit;touch-action:manipulation;background:0 0;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;padding:12px 13px;transition:background-color .16s,box-shadow .16s,transform .16s;display:grid;position:relative}.lesson-row:last-child{border-bottom:0}.lesson-row.selected{box-shadow:inset 4px 0 0 var(--teal);background:linear-gradient(90deg,#430e9329,#0000 72%),#430e930f}.lesson-row.completed{background:#a278e114}.lesson-row:hover,.lesson-row:focus-visible{outline-offset:-2px;background:#430e9312;outline:2px solid #430e933d}.lesson-row:active{transform:translateY(1px)}.lesson-row>*{pointer-events:none}.lesson-row-content{gap:4px;min-width:0;display:grid}.lesson-row strong,.lesson-row small{display:block}.lesson-row strong{color:var(--ink);line-height:1.18}.lesson-row small{color:var(--muted);margin-top:4px;line-height:1.25}.lesson-row-meta{color:var(--teal);flex-wrap:wrap;gap:5px;margin-top:4px;font-size:.75rem;font-weight:900;display:flex}.lesson-row-meta span{min-height:24px;color:var(--primary-900);background:#a278e133;border-radius:999px;align-items:center;padding:0 7px;display:inline-flex}.lesson-row-meta .lesson-row-skill{color:var(--ink);background:var(--chip)}.lesson-check,.status-dot{width:28px;height:28px;color:var(--line);border:1.5px solid var(--line);background:0 0;border-radius:50%;flex-shrink:0;place-items:center;transition:color .14s,border-color .14s;display:inline-grid}.lesson-check.done,.status-dot.published{color:var(--teal);background:#430e930f;border-color:#430e933d}.status-dot.draft{background:#f5b34261}.status-dot.archived{background:#64736d47}.lesson-detail{background:linear-gradient(180deg, #430e930f, transparent 180px), var(--paper);border:1px solid var(--line);align-content:start;gap:12px;min-width:0;padding:14px;display:grid;position:sticky;top:16px;box-shadow:0 18px 44px #1f172a14}.enhanced-lesson-detail{gap:16px}.lesson-detail:focus{outline-offset:3px;outline:3px solid #430e9338}.lesson-detail.empty{place-items:start}.lesson-detail h3{color:var(--ink);margin-top:5px;font-size:1.22rem}.lesson-detail h4{color:var(--ink);text-transform:uppercase;margin:0 0 8px;font-size:.86rem}.lesson-detail ul,.lesson-detail ol{color:var(--muted);margin:0;padding-left:19px}.lesson-detail li+li{margin-top:5px}.lesson-detail-hero{gap:2px;padding-bottom:2px;display:grid}.detail-kicker{flex-wrap:wrap;gap:6px;display:flex}.lesson-detail-section{background:#f7faf8c7;border:1px solid #dae4dec7;border-radius:8px;min-width:0;padding:12px}.lesson-detail-tabs{border:1px solid var(--line);background:#f7faf8e0;border-radius:8px;flex-wrap:wrap;gap:8px;padding:6px;display:flex}.lesson-detail-tab{min-height:40px;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:7px;padding:0 11px;font-weight:900;display:inline-flex}.lesson-detail-tab.active{color:var(--ink);background:#430e931a;border-color:#430e9352}.lesson-detail-tab-panel{min-width:0}.lesson-step-preview,.translation-status-grid{gap:10px;margin:0;padding:0;list-style:none;display:grid}.lesson-step-preview li,.translation-status-card{border:1px solid var(--line);background:#f7faf8db;border-radius:8px;min-width:0;padding:13px}.lesson-step-preview strong,.translation-status-card strong{color:var(--ink);margin-top:7px;display:block}.lesson-step-preview p{color:var(--muted);margin:5px 0 0}.translation-status-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.translation-status-card{gap:8px;display:grid}.activity-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.activity-overview span{min-height:38px;color:var(--ink);background:linear-gradient(#ffffffc7,#a278e11f),#430e9314;border:1px solid #430e932e;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-weight:900;display:inline-flex}.lesson-runner{background:linear-gradient(180deg, #430e931c, transparent 240px), var(--paper);border:1px solid var(--line);align-content:start;gap:14px;min-width:0;padding:18px;display:grid;position:sticky;top:16px;box-shadow:0 18px 44px #1f172a14}.lesson-runner:focus{outline-offset:3px;outline:3px solid #430e9338}.lesson-runner h3{color:var(--ink);margin:8px 0 0;font-size:1.3rem;line-height:1.12}.lesson-runner p{color:var(--muted);margin:6px 0 0}.runner-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.runner-vitals{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.runner-vitals span{min-height:34px;color:var(--ink);background:var(--chip);border-radius:999px;align-items:center;gap:6px;padding:0 9px;font-weight:900;display:inline-flex}.runner-vitals svg{color:var(--coral)}.runner-progress{margin-top:0}.activity-card{border:1px solid var(--line);background:linear-gradient(#ffffffd1,#f7faf8e6),#f7faf8e0;gap:12px;min-width:0;padding:15px;display:grid;box-shadow:inset 0 1px #ffffffb3}.activity-card p{color:var(--ink);margin:0;font-size:1rem;line-height:1.5}.step-type-pill{width:fit-content;min-height:27px;color:var(--primary-900);text-transform:uppercase;background:#a278e142;border-radius:999px;align-items:center;padding:0 9px;font-size:.74rem;font-weight:900;display:inline-flex}.choice-grid{grid-template-columns:1fr}.answer-option,.word-chip{border:1px solid var(--line);min-height:46px;color:var(--ink);background:var(--paper);cursor:pointer;font:inherit;border-radius:8px;font-weight:800}.answer-option{text-align:left;padding:12px;transition:background-color .16s,border-color .16s,box-shadow .16s}.answer-option:hover,.answer-option:focus-visible,.word-chip:hover,.word-chip:focus-visible{background:#430e9314;border-color:#430e9361}.answer-option.selected{border-color:var(--teal);box-shadow:inset 4px 0 0 var(--teal), 0 10px 22px #430e9317}.answer-option.correct{color:var(--primary-900);background:#a278e138;border-color:#430e9361}.answer-option.incorrect{color:var(--red);box-shadow:inset 4px 0 0 var(--red), 0 10px 22px #dc262614;background:#fee2e2e6;border-color:#dc26267a}.dialogue-card{background:linear-gradient(135deg,#20172d0a,#0000 48%),#f7faf8e6}.dialogue-line{gap:5px;max-width:84%;display:grid}.dialogue-line.patient{justify-self:end}.dialogue-line span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:900}.dialogue-line p{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.dialogue-line.patient p{color:var(--primary-900);background:#a278e12e;border-color:#430e932e}.match-card,.fill-card,.reorder-card{align-items:start}.match-row,.fill-card label{gap:7px;display:grid}.match-row{grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);align-items:center}.match-row>span,.fill-card label>span{color:var(--muted);font-size:.82rem;font-weight:900}.match-row select,.fill-card input{border:1px solid var(--line);width:100%;min-width:0;min-height:44px;color:var(--ink);background:var(--paper);font:inherit;border-radius:8px;padding:0 11px}.built-sentence,.word-bank{flex-wrap:wrap;gap:8px;display:flex}.built-sentence{background:#430e930f;border:1px dashed #430e9347;border-radius:8px;align-items:center;min-height:58px;padding:10px}.built-sentence>span{color:var(--muted);font-weight:800}.word-chip{padding:0 12px}.word-chip.selected{color:var(--paper);background:var(--ink);border-color:var(--ink)}.answer-feedback{min-height:44px;color:var(--primary-900);background:#a278e12e;border:1px solid #430e932e;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:9px;padding:10px 12px;display:grid}.answer-feedback.incorrect{color:var(--red);background:#e84a5f1a;border-color:#e84a5f33}.runner-actions{justify-content:space-between;gap:10px;display:flex}.lesson-runner.complete{text-align:center;justify-items:center}.runner-complete-mark{width:78px;height:78px;color:var(--primary-900);background:#a278e147;border:1px solid #430e9338;border-radius:50%;place-items:center;display:grid}.runner-result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;display:grid}.runner-result-grid div{background:var(--paper);border:1px solid var(--line);gap:5px;padding:12px;display:grid}.detail-actions.vertical{grid-template-columns:1fr;display:grid}.tag-row{flex-wrap:wrap;gap:6px;display:flex}.tag-row span{min-height:28px;color:var(--ink);background:var(--chip);border-radius:999px;align-items:center;padding:0 9px;font-size:.78rem;font-weight:800;display:inline-flex}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0;display:grid}.safety-strip{color:var(--primary-900);background:#a278e129;border-radius:8px;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;padding:10px;display:grid}.safety-strip ul{color:var(--primary-900);margin:0;padding-left:16px}.safety-strip li+li{margin-top:4px}.detail-actions{flex-wrap:wrap;gap:8px;display:flex}.status-pill{min-height:26px;color:var(--ink);background:var(--chip);border-radius:999px;align-items:center;padding:0 8px;font-size:.76rem;font-weight:800;display:inline-flex}.status-pill.active{color:var(--primary-900);background:#a278e147}.status-pill.draft{color:var(--amber);background:#f5b34242}.status-pill.archived{color:var(--muted);background:#64736d2e}.record-row,.task-card,.ai-card,.progress-card,.feedback-card{background:var(--paper);border:1px solid var(--line);min-width:0;padding:14px}.record-row,.ai-card,.feedback-card{justify-content:space-between;gap:12px;display:flex}.record-row{align-items:center}.teacher-action-stack{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.admin-row,.guardrail-row{background:#430e9314;border-radius:8px;align-items:center;gap:10px;padding:13px;display:flex}.guardrail-row{color:var(--muted);background:#e84a5f14;align-items:flex-start}.admin-dashboard{gap:14px;display:grid}.admin-dashboard-header{background:linear-gradient(110deg, #430e931f, transparent 52%), var(--paper);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.admin-dashboard-summary{flex-wrap:wrap;gap:18px;display:flex}.admin-summary-stat{gap:3px;display:grid}.admin-summary-stat strong{color:var(--ink);font-size:1.32rem;line-height:1;display:block}.admin-summary-stat span{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:800;display:block}.admin-cohort-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.admin-cohort-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;gap:12px;min-width:0;padding:16px;transition:box-shadow .16s,border-color .16s;display:grid}.admin-cohort-card:hover{border-color:#430e934d;box-shadow:0 6px 20px #1f172a14}.admin-cohort-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.admin-cohort-card h4{color:var(--ink);margin:0;font-size:.96rem;line-height:1.2}.admin-cohort-card p{color:var(--muted);margin:4px 0 0;font-size:.82rem}.admin-cohort-card-meta{gap:14px;display:flex}.admin-cohort-card-meta span{color:var(--muted);align-items:center;gap:5px;font-size:.82rem;font-weight:800;display:inline-flex}.admin-roster-section{gap:12px;display:grid}.admin-roster-section-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-roster-section-header p{color:var(--muted);margin:3px 0 0;font-size:.86rem}.data-map{background:var(--paper);border:1px solid var(--line);border-radius:8px;gap:10px;padding:12px;display:grid}.data-map h3{color:var(--ink);margin:4px 0 0}.data-map-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.data-map-card{border:1px solid var(--line);background:#f7faf8db;border-radius:8px;min-width:0;padding:12px}.data-map-card strong,.data-map-card span{display:block}.data-map-card strong{color:var(--ink);font-size:1.35rem;line-height:1}.data-map-card span{color:var(--teal);margin-top:6px;font-weight:900}.data-map-card p{color:var(--muted);margin:4px 0 0;font-size:.84rem}.task-card{grid-template-columns:36px minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.compact-action{white-space:nowrap;align-self:start;min-height:36px}.wide-action{width:100%}.wide-action.anchor{color:var(--paper);background:var(--teal)}.ai-card{align-items:flex-start}.ai-card.active{box-shadow:inset 4px 0 0 var(--teal);border-color:#430e9361}.ai-card ul{color:var(--muted);margin:10px 0 0;padding-left:18px}.ai-chat-workspace{height:100%;min-height:0;background:var(--paper);border:1px solid var(--line);border-radius:12px;grid-template-columns:272px minmax(0,1fr);min-block-size:0;display:grid;overflow:hidden}.ai-chat-history{border-right:1px solid var(--line);background:linear-gradient(#430e930f,#0000 44%),#f7faf8f0;flex-direction:column;gap:12px;min-width:0;min-height:0;padding:14px;display:flex}.new-chat-action{min-height:40px;color:var(--paper);background:var(--brand);border:1px solid var(--brand);border-radius:var(--r);justify-content:flex-start}.ai-chat-history-list{align-content:start;gap:6px;min-height:0;padding-right:2px;display:grid;overflow-y:auto}.ai-history-row{grid-template-columns:minmax(0,1fr) 34px;align-items:stretch;gap:4px;min-width:0;display:grid}.ai-history-select,.history-delete,.ai-prompt-chip{color:var(--ink);background:0 0;border:1px solid #0000}.ai-history-select{text-align:left;align-content:center;justify-items:start;gap:2px;min-width:0;min-height:52px;padding:8px 10px;display:grid}.ai-history-select span,.ai-history-select small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.ai-history-select span{font-weight:800}.ai-history-select small{color:var(--muted);font-size:.74rem}.ai-history-row.active .ai-history-select,.ai-history-select:hover,.ai-history-select:focus-visible{background:var(--paper);border-color:var(--line)}.history-delete{width:34px;min-height:34px;color:var(--muted);opacity:0;align-self:center;padding:0}.ai-history-row:hover .history-delete,.ai-history-row:focus-within .history-delete{opacity:1}.history-delete:hover,.history-delete:focus-visible{color:var(--red);background:#e84a5f14}.ai-card-actions{justify-items:end;gap:8px;display:grid}.ai-chat-panel{background:var(--paper);grid-template-rows:auto minmax(0,1fr) auto;gap:0;min-width:0;min-height:0;padding:0;display:grid}.ai-chat-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.ai-chat-header h3{color:var(--ink);align-items:center;gap:7px;margin:0;font-size:1rem;display:flex}.ai-chat-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.ai-live-voice-select{min-width:0;color:var(--muted);align-items:center;gap:6px;font-size:.78rem;font-weight:800;display:inline-flex}.ai-live-voice-select span{white-space:nowrap}.ai-live-voice-select select{width:168px;min-width:0;max-width:32vw;height:40px;color:var(--ink);background:var(--paper);font:inherit;border:1px solid #380f7638;border-radius:8px;padding:0 32px 0 10px;font-weight:700}.ai-live-voice-select select:focus{border-color:#380f767a;outline:2px solid #380f7629}.ai-live-call-action{width:40px;height:40px;color:var(--teal);background:#380f7614;border:1px solid #380f7638;border-radius:8px;flex:0 0 40px;place-items:center;padding:0;transition:background .15s,border-color .15s,transform .15s;display:inline-grid}.ai-live-call-action:hover,.ai-live-call-action:focus-visible{background:#380f7624;border-color:#380f766b}.ai-live-call-action:active{transform:translateY(1px)}.ai-chat-stream{overscroll-behavior:contain;scrollbar-gutter:stable;background:var(--surface);scroll-behavior:smooth;flex-direction:column;gap:10px;min-height:0;padding:18px;display:flex;overflow-y:auto}.ai-chat-bubble{border:1px solid var(--line);background:var(--paper);border-radius:16px 16px 16px 4px;width:min(86%,460px);padding:9px 13px}.ai-chat-bubble.user{background:var(--teal);border-color:var(--teal);border-radius:16px 16px 4px;place-self:end}.ai-chat-sender{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:3px;font-size:.7rem;font-weight:800;display:block}.ai-chat-bubble.user .ai-chat-sender{color:#f8faf7a6}.ai-chat-bubble .rich-message,.ai-chat-bubble p{color:var(--ink);margin:0;line-height:1.45}.ai-chat-bubble.user .rich-message,.ai-chat-bubble.user p{color:var(--paper)}.rich-message{color:inherit;word-break:break-word;overflow-wrap:anywhere;gap:8px;line-height:1.5;display:grid;position:relative}.rich-message>*+*{margin-top:0}.rich-message h3,.rich-message h4,.rich-message h5,.rich-message p,.rich-message ul,.rich-message ol,.rich-message blockquote,.rich-message pre,.rich-message table{margin:0}.rich-message h3,.rich-message h4,.rich-message h5{color:inherit;letter-spacing:-.005em;font-weight:800;line-height:1.25}.rich-message h3{margin-top:4px;font-size:1.12rem}.rich-message h4{margin-top:3px;font-size:1.02rem}.rich-message h5{margin-top:2px;font-size:.94rem}.rich-message h3:first-child,.rich-message h4:first-child,.rich-message h5:first-child{margin-top:0}.rich-message strong,.rich-message b{font-weight:800}.rich-message em,.rich-message i{font-style:italic}.rich-message del,.rich-message s{opacity:.7}.rich-message ul,.rich-message ol{gap:4px;padding-left:22px;display:grid}.rich-message ul{list-style:outside}.rich-message ol{list-style:decimal}.rich-message ul ul{list-style:circle}.rich-message ul ul ul{list-style:square}.rich-message li{padding-left:2px}.rich-message li>p{display:inline}.rich-message li+li{margin-top:0}.rich-message li>ul,.rich-message li>ol{margin-top:4px}.rich-message a{color:var(--teal);text-underline-offset:3px;font-weight:700;text-decoration:underline}.ai-chat-bubble.user .rich-message a,.msg-bubble.own .rich-message a{color:var(--white)}.rich-message blockquote{color:inherit;background:#430e930f;border-left:3px solid #430e9357;border-radius:0 6px 6px 0;padding:4px 10px;font-style:italic}.rich-message pre{background:#1a0f2a14;border-radius:8px;padding:10px 12px;font-size:.86em;line-height:1.5;overflow:auto}.rich-message code{background:#1a0f2a14;border-radius:5px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.9em}.rich-message pre code{font-size:inherit;background:0 0;padding:0}.rich-divider{background:#1a0f2a1f;border:0;width:100%;height:1px;margin:4px 0}.ai-chat-bubble.user .rich-message code,.ai-chat-bubble.user .rich-message pre,.msg-bubble.own .rich-message code,.msg-bubble.own .rich-message pre{color:inherit;background:#ffffff2e}.ai-chat-bubble.user .rich-message blockquote,.msg-bubble.own .rich-message blockquote{background:#ffffff1a;border-left-color:#ffffff80}.ai-chat-bubble.user .rich-divider,.msg-bubble.own .rich-divider{background:#ffffff59}.rich-table-scroll{border:1px solid #1a0f2a1a;border-radius:8px;max-width:100%;overflow-x:auto}.rich-message table{border-collapse:collapse;width:100%;min-width:280px;font-size:.88em}.rich-message th,.rich-message td{text-align:left;vertical-align:top;border-bottom:1px solid #1a0f2a1a;padding:7px 9px}.rich-message th{white-space:nowrap;background:#430e9314;font-weight:800}.rich-message tbody tr:nth-child(2n) td{background:#1a0f2a08}.rich-message tbody tr:last-child td{border-bottom:0}.rich-message td:first-child{font-weight:700}.rich-message *+h3,.rich-message *+h4,.rich-message *+h5{margin-top:8px}.ai-chat-bubble.assistant:has(.rich-table-scroll){width:min(96%,640px)}.ai-chat-bubble.user .rich-table-scroll,.msg-bubble.own .rich-table-scroll{border-color:#ffffff4d}.ai-chat-bubble.user .rich-message th,.msg-bubble.own .rich-message th{background:#ffffff29}.ai-chat-bubble.user .rich-message th,.ai-chat-bubble.user .rich-message td,.msg-bubble.own .rich-message th,.msg-bubble.own .rich-message td{border-bottom-color:#ffffff38}.ai-chat-bubble.user .rich-message tbody tr:nth-child(2n) td,.msg-bubble.own .rich-message tbody tr:nth-child(2n) td{background:#ffffff12}.selection-popup{z-index:95;background:var(--paper);border:1px solid #1a0f2a24;border-radius:8px;align-items:center;gap:4px;padding:5px;display:inline-flex;position:fixed;transform:translate(-50%);box-shadow:0 14px 34px #1a0f2a33}.selection-popup button{background:var(--teal);min-height:30px;color:var(--white);font:inherit;cursor:pointer;border:0;border-radius:6px;align-items:center;gap:6px;padding:0 10px;font-size:.78rem;font-weight:850;display:inline-flex}.selection-popup button:focus-visible{outline-offset:2px;outline:3px solid #430e9347}.word-explain-token{color:inherit;font:inherit;line-height:inherit;text-align:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;border-radius:4px;margin:0;padding:0 1px;-webkit-text-decoration:underline dotted #430e936b;text-decoration:underline dotted #430e936b;text-decoration-thickness:1px;display:inline}.word-explain-token:hover,.word-explain-token:focus-visible{color:var(--teal);background:#a278e12e;text-decoration-style:solid;text-decoration-color:currentColor}.word-explain-token:focus-visible{outline:2px solid var(--teal);outline-offset:1px;border-radius:3px}.ai-chat-bubble.user .word-explain-token:hover,.ai-chat-bubble.user .word-explain-token:focus-visible,.msg-bubble.own .word-explain-token:hover,.msg-bubble.own .word-explain-token:focus-visible{color:var(--paper);background:#ffffff2e}.ai-chat-bubble.user .word-explain-token,.msg-bubble.own .word-explain-token{text-decoration-color:#ffffff7a}.ai-empty-chat{text-align:center;min-height:100%;color:var(--muted);align-content:center;justify-items:center;gap:14px;display:grid}.ai-empty-chat h3{color:var(--ink);margin:0;font-size:1.24rem}.ai-prompt-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(100%,560px);display:grid}.ai-prompt-chip{min-height:70px;color:var(--ink);background:var(--paper);border-color:var(--line);text-align:left;white-space:normal;padding:10px;font-weight:800;line-height:1.25}.ai-prompt-chip:hover,.ai-prompt-chip:focus-visible{border-color:#430e9370;box-shadow:inset 0 0 0 1px #430e932e}.ai-chat-typing{background:var(--paper);border:1px solid var(--line);border-radius:16px 16px 16px 4px;align-items:center;gap:5px;width:60px;padding:12px 14px;display:flex}.ai-chat-typing span{background:var(--muted);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite chat-dot}.ai-chat-typing span:nth-child(2){animation-delay:.2s}.ai-chat-typing span:nth-child(3){animation-delay:.4s}@keyframes chat-dot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@keyframes spin{to{transform:rotate(360deg)}}.ai-chat-composer{background:var(--paper);border-top:1px solid var(--line);gap:8px;padding:14px 16px;display:grid}.ai-chat-error{color:var(--red);background:#e84a5f1a;border-radius:8px;margin:0;padding:10px 12px;font-size:.88rem;line-height:1.35}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ai-chat-composer div{grid-template-columns:minmax(0,1fr) 48px;align-items:stretch;gap:8px;display:grid}.ai-chat-composer .ai-chat-composer-row{grid-template-columns:minmax(0,1fr) 48px 48px}.ai-chat-composer textarea{resize:none;border:1px solid var(--line);min-width:0;min-height:46px;max-height:140px;font:inherit;background:var(--surface);border-radius:10px;padding:12px 13px;font-size:.92rem;line-height:1.4;transition:border-color .15s}.ai-chat-composer textarea:focus{border-color:var(--teal);background:var(--paper);outline:none}.ai-chat-composer button{background:var(--teal);border-radius:10px;place-items:center;width:48px;min-width:48px;min-height:48px;padding:0;transition:background .15s,border-color .15s,opacity .15s,transform .15s;display:inline-grid}.ai-chat-composer button:not(:disabled):hover,.ai-chat-composer button:focus-visible{background:var(--primary-700)}.ai-chat-composer button:not(:disabled):active{transform:translateY(1px)}.ai-chat-composer .ai-voice-action{color:var(--teal);background:#380f761a;border:1px solid #380f7633}.ai-chat-composer .ai-voice-action.recording{color:var(--red);background:#c2413b1f;border-color:#c2413b40}.ai-chat-composer .ai-voice-action:not(:disabled):hover,.ai-chat-composer .ai-voice-action:focus-visible{background:#380f7629}.ai-chat-composer .ai-voice-action.recording:not(:disabled):hover,.ai-chat-composer .ai-voice-action.recording:focus-visible{background:#c2413b2e}.ai-chat-composer .ai-voice-action.processing{color:var(--teal);opacity:1;cursor:progress;background:#380f7624;border-color:#380f7647}.ai-chat-bubble.transcribing{background:#380f76d9;border-color:#380f76d9}.ai-chat-transcribing{color:var(--paper);letter-spacing:.01em;align-items:center;gap:8px;font-size:.88rem;font-weight:600;display:inline-flex}.ai-chat-transcribing svg{opacity:.85}.ai-chat-transcribing-dots{align-items:center;gap:3px;display:inline-flex}.ai-chat-transcribing-dots span{background:var(--paper);opacity:.6;border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite chat-dot}.ai-chat-transcribing-dots span:nth-child(2){animation-delay:.2s}.ai-chat-transcribing-dots span:nth-child(3){animation-delay:.4s}.ai-call-overlay{z-index:80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#18181b75;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.ai-call-modal{border:1px solid var(--line);background:var(--s50);border-radius:12px;grid-template-rows:auto minmax(0,1fr);width:min(1180px,100%);height:min(620px,100dvh - 48px);max-height:calc(100dvh - 48px);display:grid;overflow:hidden;box-shadow:0 24px 70px #18181b3d}.ai-call-header{border-bottom:1px solid var(--line);background:var(--white);justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex}.ai-call-header h3{color:var(--s900);margin:2px 0 0;font-size:1.08rem}.ai-call-close{border:1px solid var(--line);background:var(--white);width:40px;height:40px;color:var(--s900);border-radius:8px;place-items:center;display:inline-grid}.ai-call-body{grid-template-columns:minmax(0,2fr) minmax(320px,1fr);min-height:0;display:grid}.ai-call-stage{border-right:1px solid var(--line);align-content:center;place-items:center;gap:20px;min-height:0;padding:28px;display:grid}.ai-voice-orb{--voice-level:0;--voice-glow:var(--voice-level);--gemini-blue:var(--gemini-blue);--gemini-purple:var(--gemini-purple);--gemini-pink:var(--gemini-pink);--gemini-rose:var(--gemini-rose);--gemini-teal:var(--teal-light);aspect-ratio:1;isolation:isolate;background:0 0;border-radius:999px;place-items:center;width:200px;display:grid;position:relative;transform:translateZ(0)}.ai-voice-orb-halo{pointer-events:none;filter:blur(28px)saturate(120%);opacity:calc(.55 + .45 * var(--voice-glow));transform:scale(calc(.92 + .18 * var(--voice-glow)));z-index:0;background:radial-gradient(60% 60% at 28% 30%,#8b49ed73,#0000 70%),radial-gradient(55% 55% at 75% 28%,#9b72f26b,#0000 72%),radial-gradient(60% 60% at 70% 78%,#f0629266,#0000 72%),radial-gradient(55% 55% at 25% 75%,#965eea61,#0000 72%);border-radius:999px;transition:opacity .12s linear,transform .12s linear;position:absolute;inset:-22%}.ai-voice-orb.active .ai-voice-orb-halo{animation:10s ease-in-out infinite ai-orb-halo-drift}.ai-voice-orb-ring{pointer-events:none;opacity:0;z-index:1;background:conic-gradient(#8b49ed80,#9b72f280,#f0629280,#965eea80,#8b49ed80);border:1px solid #fff6;border-radius:999px;position:absolute;inset:0;-webkit-mask:radial-gradient(circle,#0000 64%,#000 65% 72%,#0000 73%);mask:radial-gradient(circle,#0000 64%,#000 65% 72%,#0000 73%)}.ai-voice-orb.active .ai-voice-orb-ring.outer{animation:3.4s ease-out infinite ai-orb-ring,14s linear infinite ai-orb-spin}.ai-voice-orb.active .ai-voice-orb-ring.mid{animation:3.4s ease-out 1.7s infinite ai-orb-ring,14s linear infinite reverse ai-orb-spin}.ai-voice-orb-blob{z-index:2;background:conic-gradient(from 200deg at 50% 50%, var(--gemini-blue) 0deg, var(--gemini-purple) 95deg, var(--gemini-pink) 175deg, var(--gemini-rose) 245deg, var(--gemini-teal) 310deg, var(--gemini-blue) 360deg);width:72%;height:72%;box-shadow:inset 0 0 0 1px #ffffff59, inset 0 -10px 26px #371f5c52, 0 calc(8px + 24px * var(--voice-glow)) calc(28px + 70px * var(--voice-glow)) rgba(155, 114, 242, calc(.28 + .5 * var(--voice-glow)));scale:calc(.94 + .12 * var(--voice-level));border-radius:60% 40% 55% 45%/55% 50% 50% 45%;transition:scale 80ms linear,box-shadow .12s linear;animation:8s ease-in-out infinite ai-orb-morph,22s linear infinite ai-orb-spin-slow;position:relative;overflow:hidden;rotate:0deg}.ai-voice-orb.connecting .ai-voice-orb-blob,.ai-voice-orb.ending .ai-voice-orb-blob{filter:saturate(.82)brightness(.96);animation:8s ease-in-out infinite ai-orb-morph,2.4s ease-in-out infinite ai-orb-idle}.ai-voice-orb.error .ai-voice-orb-blob{background:conic-gradient(from 200deg at 50% 50%, var(--red) 0deg, var(--gemini-pink) 110deg, var(--gemini-rose) 220deg, var(--red) 360deg)}.ai-voice-orb-aurora{filter:blur(18px);opacity:.85;mix-blend-mode:screen;pointer-events:none;border-radius:50%;position:absolute}.ai-voice-orb-aurora.a{background:radial-gradient(circle,#ffffffb3 0%,#fff0 65%);width:75%;height:75%;animation:7s ease-in-out infinite ai-orb-aurora-a;inset:-18% -10% auto auto}.ai-voice-orb-aurora.b{background:radial-gradient(circle,#965eeabf 0%,#965eea00 60%);width:78%;height:78%;animation:9s ease-in-out infinite ai-orb-aurora-b;inset:auto auto -14% -16%}.ai-voice-orb-aurora.c{background:radial-gradient(circle,#9b72f2b3 0%,#9b72f200 60%);width:70%;height:70%;animation:11s ease-in-out infinite ai-orb-aurora-c;inset:18% -18% auto auto}.ai-voice-orb-shine{filter:blur(4px);opacity:.85;pointer-events:none;background:radial-gradient(#ffffffa6 0%,#fff0 70%);border-radius:50%;height:26%;position:absolute;inset:6% 12% auto 18%}@keyframes ai-orb-morph{0%{border-radius:60% 40% 55% 45%/55% 50% 50% 45%}25%{border-radius:50% 60% 40% 55%/60% 45% 55% 40%}50%{border-radius:45% 55% 60% 40%/50% 60% 40% 50%}75%{border-radius:55% 45% 50% 55%/45% 55% 60% 45%}to{border-radius:60% 40% 55% 45%/55% 50% 50% 45%}}@keyframes ai-orb-spin-slow{to{rotate:360deg}}@keyframes ai-orb-spin{to{transform:rotate(360deg)}}@keyframes ai-orb-ring{0%{opacity:.55;transform:scale(.84)}70%{opacity:0;transform:scale(1.18)}to{opacity:0;transform:scale(1.18)}}@keyframes ai-orb-idle{0%,to{scale:.96}50%{scale:1.02}}@keyframes ai-orb-halo-drift{0%,to{transform:scale(calc(.92 + .18 * var(--voice-glow))) translate(0, 0) rotate(0deg)}33%{transform:scale(calc(1 + .18 * var(--voice-glow))) translate(2%, -2%) rotate(8deg)}66%{transform:scale(calc(.94 + .18 * var(--voice-glow))) translate(-2%, 2%) rotate(-8deg)}}@keyframes ai-orb-aurora-a{0%,to{opacity:.7;transform:translate(0)scale(1)}50%{opacity:.95;transform:translate(-8%,6%)scale(1.1)}}@keyframes ai-orb-aurora-b{0%,to{opacity:.65;transform:translate(0)scale(1)}50%{opacity:.9;transform:translate(10%,-8%)scale(1.15)}}@keyframes ai-orb-aurora-c{0%,to{opacity:.6;transform:translate(0)scale(1)}50%{opacity:.85;transform:translate(-6%,-10%)scale(1.12)}}.ai-call-status-copy{text-align:center;gap:4px;display:grid}.ai-call-status-copy strong{color:var(--s900);font-size:1.18rem}.ai-call-status-copy span{color:var(--s500);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.ai-call-controls{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.ai-call-controls button{background:var(--white);min-width:116px;min-height:44px;color:var(--s900);border:1px solid var(--line);border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:800;display:inline-flex}.ai-call-controls button.danger{color:var(--white);background:var(--red);border-color:var(--red)}.ai-call-rail{background:var(--white);grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.ai-call-rail-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;display:flex}.ai-call-rail-header strong{color:var(--s900);font-size:.94rem}.ai-call-rail-header span{color:var(--s500);font-size:.78rem;font-weight:800}.ai-call-transcript{overscroll-behavior:contain;flex-direction:column;gap:10px;min-height:0;max-height:100%;padding:16px;display:flex;overflow-y:auto}.ai-call-empty{color:var(--s500);margin:auto;font-size:.92rem}.ai-call-transcript-row{border:1px solid var(--line);background:var(--s50);border-radius:8px;gap:4px;padding:10px 12px;display:grid}.ai-call-transcript-row.partial{color:var(--s500);border-color:#380f7652;box-shadow:inset 0 0 0 1px #380f7614}.ai-call-transcript-row.user{background:#380f7614}.ai-call-transcript-row.assistant{background:var(--white)}.ai-call-transcript-row.system{background:#64748b14}.ai-call-transcript-row span{color:var(--s500);text-transform:uppercase;font-size:.76rem;font-weight:900}.ai-call-transcript-row p{color:var(--s900);margin:0;line-height:1.45}.ai-call-side-chat{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 48px;gap:8px;padding:12px;display:grid}.ai-call-side-chat input{border:1px solid var(--line);min-width:0;height:44px;font:inherit;border-radius:8px;padding:0 12px}.ai-call-side-chat input:focus{border-color:var(--primary-700);outline:none}.ai-call-side-chat button{background:var(--primary-700);border-radius:8px;place-items:center;width:48px;height:44px;display:inline-grid}.empty-state{text-align:center;min-height:180px;color:var(--muted);border:1px dashed var(--line);background:#f7faf8bd;border-radius:8px;align-content:center;place-items:center;padding:18px}.empty-state h3{color:var(--ink);margin:0}.empty-state p{max-width:420px;margin:0}.profile-settings{gap:14px;display:grid}.profile-page-heading{gap:5px;display:grid}.profile-page-heading h2{color:var(--ink);margin:0;font-size:1.22rem;line-height:1.15}.profile-page-heading p{color:var(--muted);margin:0;line-height:1.4}.profile-identity{background:linear-gradient(90deg, #430e9314, transparent), var(--paper);border:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:14px;display:grid}.profile-photo-block{width:78px;height:78px;position:relative}.profile-avatar{width:78px;height:78px;font-size:1.28rem}.photo-badge{width:32px;height:32px;color:var(--paper);background:var(--ink);border:2px solid var(--paper);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:0;right:0}.profile-identity h3{color:var(--ink);margin-top:3px;font-size:1.24rem}.upload-action{width:fit-content;min-height:36px;margin-top:12px;position:relative;overflow:hidden}.upload-action input{opacity:0;cursor:pointer;position:absolute;inset:0}.upload-action.busy input{cursor:not-allowed}.profile-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.profile-form label{gap:7px;display:grid}.profile-form label>span{color:var(--muted);align-items:center;gap:7px;font-size:.82rem;font-weight:900;display:inline-flex}.profile-form input,.profile-form select{border:1px solid var(--line);width:100%;min-width:0;min-height:44px;color:var(--ink);background:var(--paper);font:inherit;border-radius:8px;padding:0 12px}.profile-form input[readonly]{color:var(--muted);background:#f7faf8db}.profile-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.profile-facts div{border:1px solid var(--line);background:#f7faf8db;gap:5px;min-width:0;padding:12px;display:grid}.profile-facts svg{color:var(--teal)}.profile-facts span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:900}.profile-facts strong{overflow-wrap:anywhere;min-width:0;color:var(--ink)}.profile-notice{color:var(--primary-900);background:#a278e12e;border-radius:8px;margin:0;padding:11px 12px}.profile-notice.error{color:var(--red);background:#e84a5f1a}.profile-actions{flex-wrap:wrap;gap:10px;display:flex}.progress-card{background:linear-gradient(90deg, #430e9314, transparent), var(--paper)}.progress-bar{background:var(--chip);border-radius:999px;height:10px;margin-top:14px;overflow:hidden}.progress-bar span{border-radius:inherit;background:var(--blue);height:100%;display:block}.feedback-card{justify-content:flex-start}.messages-layout{grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:12px;min-height:396px;display:grid}.messages-page .messages-layout{height:100%;min-height:0}.thread-rail{align-content:start;gap:10px;min-width:0;display:grid}.messages-page .thread-rail{grid-template-rows:auto minmax(0,1fr);align-content:stretch;min-height:0;overflow:hidden}.thread-create-card{border:1px solid var(--line);background:#f7faf8d6;border-radius:8px;gap:10px;padding:12px;display:grid}.thread-create-header{gap:8px;display:grid}.thread-mode{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.thread-mode button,.thread-select,.member-add-control select,.thread-create-card input{border:1px solid var(--line);background:var(--paper);min-height:38px;font:inherit;border-radius:8px}.thread-mode button{color:var(--muted);cursor:pointer;justify-content:center;align-items:center;gap:6px;display:inline-flex}.thread-mode button.active{color:var(--ink);background:#430e9314;border-color:#430e9361}.thread-select{color:var(--muted);grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:0 10px;display:grid}.thread-select select,.member-add-control select{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0}.thread-create-card input{min-width:0;padding:0 10px}.member-picker{gap:6px;max-height:168px;display:grid;overflow:auto}.member-choice{border:1px solid var(--line);background:var(--paper);border-radius:8px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:8px;display:grid}.member-choice input{width:16px;height:16px;accent-color:var(--teal)}.member-choice span,.video-tile span{min-width:0}.member-choice strong,.member-choice small{display:block}.member-choice strong{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:.88rem;overflow:hidden}.member-choice small{color:var(--muted);margin-top:2px;font-size:.76rem}.thread-list{align-content:start;gap:8px;display:grid}.messages-page .thread-list{min-height:0;padding-right:2px;overflow:auto}.thread-button{border:1px solid var(--line);text-align:left;background:var(--paper);cursor:pointer;border-radius:8px;min-height:62px;padding:10px}.thread-button.active{background:#430e9314;border-color:#430e9361}.thread-button span,.thread-button small{display:block}.thread-button small{color:var(--muted);margin-top:4px}.message-pane{grid-template-rows:auto minmax(250px,1fr) auto;gap:12px;min-width:0;min-height:0;display:grid}.message-pane.with-video{grid-template-rows:auto auto minmax(180px,1fr) auto}.message-pane.empty{grid-template-rows:1fr}.message-thread-header{border:1px solid var(--line);background:var(--paper);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:12px;display:flex}.message-thread-header h3{color:var(--ink);margin:6px 0 0;font-size:1rem;line-height:1.1}.message-thread-header p{max-width:58ch;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;font-size:.84rem;overflow:hidden}.message-thread-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.member-add-control{grid-template-columns:minmax(132px,1fr) auto;gap:6px;display:grid}.member-add-control select{padding:0 10px}.video-action.live{color:var(--paper);background:var(--teal);border-color:var(--teal)}.meet-launch-card{background:linear-gradient(135deg, #430e9324, transparent 50%), var(--navy-mid);color:var(--paper);border:1px solid #430e933d;border-radius:8px;gap:12px;padding:12px;display:grid}.meet-launch-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.meet-launch-header strong{margin-top:2px;display:block}.meet-launch-header small{color:#f8faf7a8;margin-top:3px;display:block}.meet-launch-actions,.meet-link-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.meet-launch-grid{grid-template-columns:minmax(0,1fr) minmax(190px,.34fr);align-items:stretch;gap:10px;min-width:0;display:grid}.meet-link-panel,.meet-participants,.meet-context-strip,.meet-invite-notice{border-radius:8px}.meet-link-panel{background:#ffffff14;border:1px solid #f8faf724;align-content:start;gap:10px;min-width:0;padding:12px;display:grid}.meet-link-panel h4{color:var(--paper);margin:0;font-size:1rem}.meet-link-panel p,.meet-link-panel small{color:#f8faf7b8;margin:0}.meet-link-panel code{color:#f8faf7c7;text-overflow:ellipsis;white-space:nowrap;background:#100a1a75;border:1px solid #a278e12e;border-radius:8px;min-width:0;padding:9px 10px;display:block;overflow:hidden}.meet-status{text-transform:uppercase;border-radius:999px;align-items:center;gap:7px;width:fit-content;min-height:30px;padding:0 10px;font-size:.76rem;font-weight:900;display:inline-flex}.meet-status.ready{color:var(--primary-900);background:#a278e1db}.meet-status.setup{color:var(--amber);background:var(--amber-50)}.meet-link-actions{justify-content:flex-start}.meet-link-actions a{min-height:40px;color:var(--primary-900);background:var(--mint);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-weight:900;text-decoration:none;display:inline-flex}.meet-participants{background:#100a1a7a;border:1px solid #f8faf724;align-content:start;gap:8px;min-width:0;padding:10px;display:grid}.meet-participants h4{color:var(--paper);align-items:center;gap:7px;margin:0 0 4px;display:inline-flex}.meet-participants>div{gap:7px;display:grid}.meet-participant-row{background:#ffffff14;border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:8px;display:grid}.meet-participant-row .avatar{width:34px;height:34px;font-size:.76rem}.meet-participant-row strong,.meet-participant-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.meet-participant-row small{color:#f8faf79e}.meet-context-strip{background:#a278e11f;border:1px solid #a278e13d;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.meet-context-strip strong,.meet-context-strip span{display:block}.meet-context-strip span{color:#f8faf7b3;margin-top:3px;font-size:.84rem}.meet-context-strip svg{color:var(--mint);flex:none}.meet-invite-notice{color:var(--primary-900);background:#a278e1e6;margin:0;padding:9px 11px;font-weight:900}.video-room{background:linear-gradient(135deg, #430e931f, transparent 48%), var(--navy-mid);color:var(--paper);border:1px solid #430e933d;border-radius:8px;gap:10px;padding:12px;display:grid}.video-room.expanded{align-content:stretch;min-height:calc(100dvh - 48px)}.video-room>.lk-room-container{min-height:inherit;grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px;display:grid}.video-room.full-page{z-index:1000;border:0;border-radius:0;height:100dvh;min-height:100dvh;padding:14px;position:fixed;inset:0}.video-room.full-page>.lk-room-container{height:100%;min-height:0}.video-room-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.video-room-header strong{margin-top:2px;display:block}.video-room-header small{color:#f8faf7a3;margin-top:3px;display:block}.video-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.video-view-actions{gap:6px;display:inline-flex}.icon-action{width:42px;min-width:42px;padding:0}.compact-action.active,.compact-action[aria-pressed=true]{color:var(--primary-900);background:var(--mint);border-color:#a278e18a}.video-stage{gap:10px;min-width:0;display:grid}.video-room.expanded .video-stage{min-height:0}.video-invite-strip,.video-invite-notice{border-radius:8px}.video-invite-strip{background:#a278e11f;border:1px solid #a278e13d;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.video-invite-strip strong,.video-invite-strip span{display:block}.video-invite-strip span{color:#f8faf7b3;margin-top:3px;font-size:.84rem}.video-invite-strip a{min-height:36px;color:var(--primary-900);background:var(--mint);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-weight:900;text-decoration:none;display:inline-flex}.video-invite-notice{color:var(--primary-900);background:#a278e138;margin:0;padding:9px 11px}.video-stage.with-participants{grid-template-columns:minmax(0,1fr) minmax(190px,220px);align-items:stretch;min-height:0}.video-stage.with-participants.messages-open{grid-template-columns:minmax(0,1fr) minmax(330px,.36fr)}.video-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.video-room.expanded .video-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-auto-rows:minmax(220px,1fr);align-content:stretch;height:100%;min-height:0}.video-room.zoom-0 .video-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-auto-rows:minmax(170px,1fr)}.video-room.zoom-2 .video-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-auto-rows:minmax(330px,1fr)}.video-grid.presentation{grid-template-columns:minmax(0,1fr) 96px;align-items:stretch;gap:8px;display:grid}.video-room.expanded .video-grid.presentation,.video-room.full-page .video-grid.presentation{grid-template-columns:minmax(0,1fr) 96px;grid-auto-rows:minmax(0,1fr);align-content:stretch;height:100%;min-height:0}.video-presentation-main{min-width:0;min-height:0;display:grid}.video-presentation-main .video-tile{border-radius:10px;height:100%;min-height:0}.video-presentation-strip{scrollbar-width:thin;scrollbar-color:#a278e133 transparent;flex-direction:column;gap:7px;min-width:0;display:flex;overflow-y:auto}.video-presentation-strip .video-tile{aspect-ratio:4/3;flex-shrink:0;min-height:72px;padding:5px}.video-presentation-strip .video-camera-avatar{width:28px}.video-presentation-strip .video-camera-avatar span{font-size:.66rem}.video-presentation-strip .video-tile>span{display:none}.video-tile{background:#ffffff14;border:1px solid #f8faf724;border-radius:8px;align-content:end;gap:8px;min-height:138px;padding:10px;display:grid;position:relative;overflow:hidden}.video-room.expanded .video-tile{min-height:220px}.video-room.expanded.zoom-0 .video-tile{min-height:170px}.video-room.expanded.zoom-2 .video-tile{min-height:330px}.video-room.expanded .video-tile.self:first-child,.screen-share-tile{min-height:260px}.video-room.expanded.zoom-0 .video-tile.self:first-child{min-height:210px}.video-room.expanded.zoom-2 .video-tile.self:first-child{min-height:420px}.video-room.full-page .video-stage{min-height:0}.video-room.full-page .video-grid{grid-auto-rows:minmax(220px,1fr);height:100%;min-height:0}.video-room.full-page .video-tile{min-height:220px}.video-room.full-page.zoom-0 .video-grid{grid-auto-rows:minmax(170px,1fr)}.video-room.full-page.zoom-0 .video-tile{min-height:170px}.video-room.full-page.zoom-2 .video-grid{grid-auto-rows:minmax(330px,1fr)}.video-room.full-page.zoom-2 .video-tile{min-height:330px}.video-room.expanded .video-presentation-strip .video-tile,.video-room.expanded.zoom-0 .video-presentation-strip .video-tile,.video-room.expanded.zoom-2 .video-presentation-strip .video-tile,.video-room.full-page .video-presentation-strip .video-tile,.video-room.full-page.zoom-0 .video-presentation-strip .video-tile,.video-room.full-page.zoom-2 .video-presentation-strip .video-tile,.video-room.expanded .video-presentation-strip .video-tile.self:first-child{min-height:72px}.video-tile video{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;inset:0}.video-tile.live video{opacity:1}.screen-share-tile video{object-fit:contain;background:var(--navy)}.video-tile>svg,.video-tile .avatar,.video-camera-avatar{z-index:1;position:relative}.video-camera-avatar{aspect-ratio:1;width:clamp(74px,18vw,116px);color:var(--primary-900);background:linear-gradient(135deg, #ffffffeb, #a278e1d1), var(--mint);border-radius:999px;place-items:center;display:grid;box-shadow:0 18px 42px #00000038,inset 0 0 0 1px #ffffff94}.video-camera-avatar span{background:0 0;border-radius:0;justify-content:center;align-items:center;padding:0;font-size:clamp(1.55rem,4vw,2.45rem);font-weight:900;line-height:1;display:inline-flex}.video-tile>span{z-index:1;background:#100a1aad;border-radius:8px;width:fit-content;max-width:100%;padding:7px 8px;display:grid;position:relative}.video-tile strong,.video-tile small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.video-tile small{color:#f8faf7b8}.video-tile.waiting{text-align:center;align-content:center;justify-items:center}.camera-off-tile{text-align:center;background:radial-gradient(circle at 50% 34%,#a278e12e,#0000 32%),linear-gradient(135deg,#f8faf714,#100a1a3d),#ffffff14;align-content:center;justify-items:center}.screen-share-tile{text-align:center;background:linear-gradient(135deg,#a278e138,#0000 54%),#ffffff1a;align-content:center;justify-items:center}.screen-share-tile svg{z-index:1;color:var(--mint);position:relative}.video-participants{background:#100a1a7a;border:1px solid #f8faf724;border-radius:8px;align-content:start;gap:8px;min-width:0;padding:10px;display:grid}.call-side-panel{grid-template-rows:auto auto;gap:10px;min-width:0;min-height:0;display:grid}.call-side-panel.messages-open{grid-template-rows:minmax(110px,auto) minmax(220px,1fr) auto}.video-participants h4{color:var(--paper);margin:0 0 4px}.video-participant-row{background:#ffffff14;border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:8px;display:grid}.video-participant-row .avatar{width:34px;height:34px;font-size:.76rem}.video-participant-row strong,.video-participant-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.video-participant-row small{color:#f8faf79e}.call-chat-panel,.call-recording-panel{background:#100a1a85;border:1px solid #f8faf724;border-radius:10px;min-width:0}.call-chat-panel{grid-template-rows:auto minmax(0,1fr) auto;gap:0;display:grid;overflow:hidden}.call-recording-panel{gap:8px;padding:10px;display:grid}.call-recording-panel h4,.call-recording-panel header{margin:0}.call-recording-panel h4{color:var(--paper);align-items:center;gap:7px;display:inline-flex}.call-recording-panel header{justify-content:space-between;align-items:center;gap:8px;display:flex}.call-chat-panel h4{color:#f8faf7db;border-bottom:1px solid #f8faf717;align-items:center;gap:7px;margin:0;padding:9px 10px 9px 12px;font-size:.8rem;font-weight:700;display:flex}.call-chat-panel h4>span:first-of-type{flex:1}.call-chat-close{color:#f8faf799;cursor:pointer;background:0 0;border:1px solid #f8faf724;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-left:auto;transition:background .13s,color .13s;display:inline-flex}.call-chat-close:hover{color:var(--paper);background:#ffffff1a}.video-control.active{color:var(--mint);background:#a278e12e;border-color:#a278e14d}.call-chat-stream{scrollbar-width:thin;scrollbar-color:#a278e140 transparent;flex-direction:column;gap:4px;padding:10px;display:flex;overflow-y:auto}.call-chat-msg-wrap{align-items:flex-end;gap:6px;display:flex}.call-chat-msg-wrap.own{flex-direction:row-reverse}.call-chat-avatar-dot{width:24px;height:24px;color:var(--paper);background:linear-gradient(135deg,#430e93cc,#e84a5f8c);border-radius:50%;flex-shrink:0;place-items:center;margin-bottom:2px;font-size:.6rem;font-weight:800;display:grid}.call-chat-message{min-width:0;max-width:min(78%,230px);color:var(--paper);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1a;border-radius:10px 10px 10px 3px;gap:2px;padding:7px 10px 5px;display:grid}.call-chat-message.own{background:linear-gradient(135deg,#430e93bf,#220948b3);border-radius:10px 10px 3px}.call-chat-message strong{color:#a278e1e6;margin-bottom:1px;font-size:.69rem;font-weight:700;display:block}.call-chat-message p{overflow-wrap:anywhere;margin:0;font-size:.87rem;line-height:1.38}.call-chat-message small{color:#f8faf775;text-align:right;margin-top:2px;font-size:.66rem;display:block}.call-chat-message a.chat-link{color:var(--mint);word-break:break-all;text-underline-offset:2px;-webkit-text-decoration:underline #a278e180;text-decoration:underline #a278e180}.call-chat-message a.chat-link:hover{opacity:.8}.call-chat-message.own a.chat-link{color:#f8faf7eb;text-decoration-color:#f8faf766}.call-chat-empty{color:#f8faf775;text-align:center;margin:auto 0;padding:16px 0;font-size:.8rem}.call-chat-composer{border-top:1px solid #f8faf717;grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:6px;padding:8px 10px 10px;display:grid}.call-chat-composer input{min-width:0;min-height:36px;color:var(--paper);font:inherit;background:#ffffff14;border:1px solid #f8faf729;border-radius:999px;padding:0 13px;font-size:.85rem;transition:border-color .14s}.call-chat-composer input:focus{border-color:#a278e17a;outline:none}.call-chat-composer input::placeholder{color:#f8faf761}.call-chat-composer button{width:36px;height:36px;color:var(--primary-900);background:var(--mint);cursor:pointer;transition:opacity var(--dur-hover) var(--ease-out), transform var(--dur-press) var(--ease-out);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}@media (hover:hover) and (pointer:fine){.call-chat-composer button:not(:disabled):hover{opacity:.88;transform:scale(1.06)}}.call-chat-composer button:not(:disabled):active{transform:scale(var(--press-scale))}.call-chat-composer button:disabled{cursor:not-allowed;opacity:.38}.call-recording-list{gap:7px;display:grid}.call-recording-row{background:#ffffff14;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:8px;display:grid}.call-recording-row strong,.call-recording-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.call-recording-row small{color:#f8faf79e;margin-top:2px}.call-recording-actions{gap:6px;display:inline-flex}.video-controls-stack{gap:8px;display:grid}.video-control-bar{background:#100a1a9e;border:1px solid #f8faf71f;border-radius:8px;flex-wrap:wrap;justify-content:center;gap:8px;padding:10px;display:flex}.video-control{min-width:88px;min-height:46px;color:var(--paper);cursor:pointer;font:inherit;background:#ffffff1a;border:1px solid #0000;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px 10px;font-size:.78rem;font-weight:900;display:inline-flex}.video-control:hover,.video-control:focus-visible,.video-control.active{background:#a278e12e;border-color:#a278e13d}.video-control.muted{color:var(--paper);background:#e84a5f38;border-color:#e84a5f47}.video-control.record.active{background:#e84a5f47;border-color:#e84a5f70}.video-control:disabled{cursor:not-allowed;opacity:.58}.video-control.end{background:var(--red);border-color:var(--red)}.spin{animation:.8s linear infinite spin}.calls-home,.new-call-panel,.call-join-screen{gap:12px;min-width:0;display:grid}.calls-page .tool-panel-header{border:1px solid var(--line);background:var(--paper);border-radius:8px;align-items:center;padding:10px 12px}.calls-page .tool-panel-header h3{margin-top:2px;font-size:1rem}.calls-page .tool-panel-header p{margin-top:2px;font-size:.82rem;line-height:1.3}.progress-page .tool-panel-header h3,.teachers-page .tool-panel-header h3,.students-page .tool-panel-header h3{margin-top:1px;font-size:1rem}.progress-page .tool-panel-header p,.teachers-page .tool-panel-header p,.students-page .tool-panel-header p{margin-top:2px;font-size:.84rem;line-height:1.3}.call-room-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.call-room-card{border:1px solid var(--line);min-height:126px;color:var(--ink);text-align:left;background:linear-gradient(135deg, #430e931c, transparent 48%), var(--paper);cursor:pointer;font:inherit;border-radius:8px;align-content:start;gap:9px;padding:12px;display:grid}.call-room-card:focus-visible{border-color:#430e9357;transform:translateY(-1px);box-shadow:0 14px 34px #100a1a17}@media (hover:hover) and (pointer:fine){.call-room-card:hover{border-color:#430e9357;transform:translateY(-1px);box-shadow:0 14px 34px #100a1a17}}.call-room-card:active{transform:scale(var(--press-scale));box-shadow:none;transition-duration:var(--dur-press)}.call-room-card strong{font-size:1rem}.call-room-card small,.call-room-card-footer{color:var(--muted);font-size:.84rem}.call-room-card-footer{align-items:center;gap:6px;margin-top:auto;display:inline-flex}.new-call-panel{max-width:760px}.new-call-form,.call-join-card{border:1px solid var(--line);background:var(--paper);border-radius:8px;gap:12px;padding:14px;display:grid;box-shadow:0 18px 44px #100a1a14}.calls-page .new-call-form>div:first-child{gap:2px;display:grid}.new-call-form label{color:var(--muted);gap:7px;font-size:.84rem;font-weight:800;display:grid}.new-call-form input,.new-call-form select{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:var(--paper);font:inherit;border-radius:8px;padding:0 12px}.new-call-form small{color:var(--muted);font-weight:600}.call-checkbox{grid-template-columns:18px minmax(0,1fr);align-items:center}.call-checkbox input{width:17px;height:17px;accent-color:var(--teal)}.call-join-screen{justify-items:start}.call-join-screen.dark{text-align:center;min-height:360px;color:var(--paper);align-content:center;justify-items:center}.call-join-card{width:min(100%,760px)}.call-join-card h3,.new-call-form h3,.calls-home h3{margin:0}.call-join-card p,.new-call-form p,.calls-home p{color:var(--muted);margin:0}.call-safety-strip,.call-alert{border-radius:8px}.call-safety-strip{color:var(--primary-900);background:#a278e133;align-items:center;gap:9px;padding:10px 12px;display:flex}.call-join-actions{flex-wrap:wrap;gap:8px;display:flex}.call-alert{color:var(--primary-900);background:#a278e12e;margin:0;padding:9px 11px;font-weight:800}.call-alert.error{color:var(--red);background:#e84a5f24}.ghost-action.inline{width:fit-content}.compact-action.danger{color:var(--paper);background:var(--red);border-color:var(--red)}.video-tile .lk-participant-tile{background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.video-tile .lk-participant-media-video,.video-tile .lk-participant-media{object-fit:cover;width:100%;height:100%}.video-tile .lk-participant-placeholder,.video-tile .lk-participant-name,.video-tile .lk-focus-toggle-button,.video-tile .lk-connection-quality{display:none}.message-stream{border:1px solid var(--line);background:#f7faf8bd;border-radius:8px;align-content:start;gap:10px;min-height:250px;max-height:360px;padding:12px;display:grid;overflow:auto}.messages-page .message-stream{min-height:0;max-height:none}.message-bubble{background:var(--paper);border:1px solid var(--line);border-radius:8px;width:min(86%,440px);padding:10px 12px}.message-bubble.own{color:var(--paper);background:var(--ink);border-color:var(--ink);justify-self:end}.message-bubble p{margin:4px 0 0}.message-bubble.own p{color:#f8faf7c7}.composer{gap:8px;display:grid}.composer label{color:var(--muted);font-size:.82rem;font-weight:800}.composer div{grid-template-columns:minmax(0,1fr) 96px;gap:8px;display:grid}.composer input{border:1px solid var(--line);min-width:0;min-height:42px;font:inherit;border-radius:8px;padding:0 12px}.messages-layout-v2{grid-template-columns:280px minmax(0,1fr);gap:0;height:100%;min-height:400px;display:grid}.messages-page .messages-layout-v2{border:1px solid var(--line);background:var(--paper);border-radius:12px;height:100%;min-height:0;overflow:hidden}.thread-rail-v2{border-right:1px solid var(--line);background:var(--paper);grid-template-rows:auto auto minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.thread-rail-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:16px 16px 12px;display:flex}.thread-rail-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:900}.thread-new-btn{border:1px solid var(--line);background:var(--paper);min-height:30px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:.78rem;font-weight:700;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.thread-new-btn:hover{border-color:var(--teal);color:var(--teal)}.thread-new-btn.active{background:var(--teal);border-color:var(--teal);color:var(--paper)}.thread-list-v2{align-content:start;gap:2px;padding:8px;display:grid;overflow-y:auto}.thread-list-empty{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;display:flex}.thread-list-empty p{margin:0;font-size:.84rem}.thread-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;padding:10px;transition:background .1s;display:grid}.thread-item:hover{background:var(--surface)}.thread-item.active{background:#430e9317}.thread-item-avatar{width:40px;height:40px;color:var(--white);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:800;display:flex}.thread-item-body{gap:3px;min-width:0;display:grid}.thread-item-top{justify-content:space-between;align-items:center;gap:6px;min-width:0;display:flex}.thread-item-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.875rem;font-weight:700;overflow:hidden}.thread-item.active .thread-item-name{color:var(--teal)}.thread-item-time{color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:.72rem}.thread-item-bottom{justify-content:space-between;align-items:center;gap:6px;min-width:0;display:flex}.thread-item-preview{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.78rem;overflow:hidden}.thread-item-badge{background:var(--teal);min-width:18px;height:18px;color:var(--white);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0 5px;font-size:.68rem;font-weight:800;display:flex}.ntm-overlay{z-index:300;-webkit-backdrop-filter:blur(6px);background:#20172d85;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ntm-card{background:var(--paper);border-radius:18px;flex-direction:column;width:100%;max-width:500px;max-height:min(680px,90dvh);display:flex;overflow:hidden;box-shadow:0 32px 80px #20172d3d,0 6px 20px #20172d1f}.ntm-header{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 22px 0;display:flex}.ntm-title{color:var(--ink);margin:0 0 3px;font-size:1.08rem;font-weight:900;line-height:1.1}.ntm-subtitle{color:var(--muted);margin:0;font-size:.82rem}.ntm-close{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s,border-color .12s;display:flex}.ntm-close:hover{background:var(--line);color:var(--ink);border-color:#0000}.ntm-tabs{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-shrink:0;grid-template-columns:repeat(2,1fr);gap:4px;margin:18px 22px 0;padding:4px;display:grid}.ntm-tab{min-height:38px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:9px;justify-content:center;align-items:center;gap:6px;font-size:.84rem;font-weight:700;transition:background .14s,color .14s,box-shadow .14s;display:inline-flex}.ntm-tab.active{background:var(--paper);color:var(--teal);box-shadow:0 1px 6px #430e9329,0 0 0 1px #430e931f}.ntm-field{flex-shrink:0;gap:8px;padding:16px 22px 0;display:grid}.ntm-field-label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.74rem;font-weight:800}.ntm-field-row{justify-content:space-between;align-items:center;display:flex}.ntm-search-wrap{position:relative}.ntm-input{border:1px solid var(--line);width:100%;min-height:42px;font:inherit;background:var(--surface);color:var(--ink);box-sizing:border-box;border-radius:10px;outline:none;padding:0 14px;font-size:.875rem;transition:border-color .12s,background .12s}.ntm-input:focus{border-color:var(--teal);background:var(--paper)}.ntm-contact-list{flex:1;align-content:start;gap:6px;padding:14px 22px 4px;display:grid;overflow-y:auto}.ntm-no-results{text-align:center;color:var(--muted);margin:12px 0;font-size:.84rem}.ntm-hint{color:var(--muted);margin:5px 0 0;font-size:.8rem}.ntm-contact{border:1px solid var(--line);background:var(--paper);text-align:left;cursor:pointer;border-radius:12px;grid-template-columns:46px minmax(0,1fr) 26px;align-items:center;gap:12px;padding:11px 14px;transition:border-color .12s,background .12s,box-shadow .12s;display:grid}.ntm-contact:hover{background:var(--s50);border-color:#430e9359}.ntm-contact.selected{background:#430e930f;border-color:#430e937a;box-shadow:0 0 0 3px #430e9314}.ntm-contact-avatar{background:linear-gradient(135deg, var(--teal-50), var(--teal-50));width:46px;height:46px;color:var(--teal);border:1px solid #430e9326;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;font-size:.84rem;font-weight:900;display:flex}.ntm-contact.selected .ntm-contact-avatar{background:linear-gradient(135deg, var(--teal), var(--primary-900));color:var(--white);border-color:#0000}.ntm-contact-info{min-width:0}.ntm-contact-info strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:700;display:block;overflow:hidden}.ntm-contact-info small{color:var(--muted);margin-top:2px;font-size:.76rem;display:block}.ntm-tick{border:2px solid var(--line);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;transition:border-color .12s;display:flex}.ntm-tick.selected{border-color:var(--teal);color:var(--teal)}.ntm-footer{border-top:1px solid var(--line);background:var(--surface);flex-shrink:0;gap:10px;padding:16px 22px;display:flex}.ntm-cancel{border:1px solid var(--line);background:var(--paper);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:10px;flex:1;font-size:.875rem;font-weight:700;transition:background .12s}.ntm-cancel:hover{background:var(--line)}.ntm-submit{background:var(--teal);min-height:44px;color:var(--white);font:inherit;cursor:pointer;border:none;border-radius:10px;flex:2;justify-content:center;align-items:center;gap:7px;font-size:.875rem;font-weight:800;transition:opacity .12s;display:inline-flex}.ntm-submit:disabled{opacity:.38;cursor:not-allowed}.ntm-submit:not(:disabled):hover{opacity:.88}.message-pane-v2{background:var(--surface);grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.message-pane-v2.with-video{grid-template-rows:auto auto minmax(0,1fr) auto}.message-pane-v2.empty{grid-template-rows:1fr}.msg-thread-header{background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:14px 18px;display:flex}.msg-thread-identity{align-items:center;gap:12px;min-width:0;display:flex}.msg-thread-avatar{width:42px;height:42px;color:var(--white);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:.84rem;font-weight:800;display:flex}.msg-thread-name-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.msg-thread-name{color:var(--ink);margin:0;font-size:.96rem;font-weight:800;line-height:1.1}.msg-type-badge{color:var(--teal);letter-spacing:.04em;text-transform:uppercase;background:#430e931a;border-radius:999px;align-items:center;padding:2px 8px;font-size:.68rem;font-weight:800;display:inline-flex}.msg-thread-members{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:48ch;margin:3px 0 0;font-size:.78rem;overflow:hidden}.msg-thread-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.msg-stream{flex-direction:column;gap:16px;min-height:0;padding:20px 18px;display:flex;overflow-y:auto}.msg-stream-empty{text-align:center;color:var(--muted);margin:auto;font-size:.84rem}.msg-stream-empty p{margin:0}.msg-row{align-items:flex-end;gap:9px;max-width:72%;display:flex}.msg-row.own{flex-direction:row-reverse;align-self:flex-end}.msg-sender-avatar{background:linear-gradient(135deg, var(--blue-mid), var(--blue));width:32px;height:32px;color:var(--white);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:.68rem;font-weight:800;display:flex}.msg-sender-avatar.own{background:linear-gradient(135deg, var(--teal), var(--primary-900))}.msg-content{gap:4px;min-width:0;display:grid}.msg-row.own .msg-content{align-items:flex-end}.msg-meta{align-items:center;gap:6px;padding:0 2px;display:flex}.msg-row.own .msg-meta{flex-direction:row-reverse}.msg-sender-name{color:var(--ink);font-size:.74rem;font-weight:700}.msg-time{color:var(--muted);font-size:.68rem}.msg-bubble{background:var(--paper);border:1px solid var(--line);color:var(--ink);word-break:break-word;text-align:left;font-size:.875rem;line-height:1.45;font:inherit;cursor:pointer;border-radius:14px 14px 14px 4px;padding:10px 14px;transition:border-color .12s,box-shadow .12s,transform .12s;display:block}.msg-bubble.own{background:var(--teal);border-color:var(--teal);color:var(--white);border-radius:14px 14px 4px}.msg-bubble:hover,.msg-bubble:focus-visible{border-color:#430e9361;box-shadow:0 8px 18px #160f2114}.msg-bubble:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.msg-bubble.selected{border-color:var(--teal);box-shadow:0 0 0 3px #430e9324}.msg-bubble.own.selected{box-shadow:0 0 0 3px #430e932e,0 10px 20px #430e9329}.msg-bubble.pending{opacity:.72}.msg-bubble.own.pending{background:#430e93c7;border-color:#430e93c7}.msg-bubble.failed{border-color:#c2413b8c}.msg-bubble.own.failed{background:#c2413bd9;border-color:#c2413bd9}.msg-delivery{letter-spacing:.01em;color:var(--muted);align-items:center;gap:5px;margin:2px 4px 0;padding:0;font-size:.7rem;font-weight:700;display:inline-flex}.msg-delivery.failed{color:var(--red)}.msg-delivery svg{flex-shrink:0}.msg-explain-tools{align-items:center;gap:8px;display:flex}.msg-row.own .msg-explain-tools{justify-content:flex-end}.msg-explain-button{background:var(--paper);min-height:30px;color:var(--teal);font:inherit;cursor:pointer;border:1px solid #430e9338;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:.76rem;font-weight:800;display:inline-flex}.msg-explain-button:disabled{cursor:wait;opacity:.7}.msg-explanation{width:min(420px,100%);color:var(--ink);background:#430e9314;border:1px solid #430e932e;border-radius:12px;padding:10px 12px}.msg-row.own .msg-explanation{text-align:left}.msg-explanation span{color:var(--teal);text-transform:uppercase;margin-bottom:4px;font-size:.7rem;font-weight:900;display:block}.msg-explanation p{margin:0;font-size:.82rem;line-height:1.45}.msg-explanation .rich-message{font-size:.82rem}.msg-explanation.error{color:var(--red);background:#b72d3e14;border-color:#b72d3e3d;margin:0;font-size:.82rem;line-height:1.45}.word-modal-overlay{z-index:80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#100a1a5c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.word-modal{border:1px solid var(--line);background:var(--paper);border-radius:8px;gap:14px;width:min(520px,100%);max-height:min(680px,100dvh - 32px);padding:16px;display:grid;overflow:auto;box-shadow:0 24px 70px #1a0f2a38}.word-modal header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.word-modal h3{color:var(--ink);margin:3px 0 0;font-size:1.35rem;line-height:1.12}.word-modal-close{flex:none;width:34px;height:34px;min-height:34px;padding:0}.word-modal-body{color:var(--ink);gap:10px;display:grid}.word-modal-loading,.word-modal-error,.word-modal-empty{align-items:center;gap:8px;margin:0;line-height:1.4;display:inline-flex}.word-modal-error{color:var(--red)}.word-explanation-card{gap:12px;display:grid}.word-explanation-card section{gap:5px;display:grid}.word-explanation-card span{color:var(--teal);text-transform:uppercase;font-size:.72rem;font-weight:900}.word-explanation-card p{margin:0;line-height:1.5}.word-explanation-card .rich-message{gap:6px}.word-explanation-card .rich-message h3,.word-explanation-card .rich-message h4,.word-explanation-card .rich-message h5{color:var(--ink)}.word-explanation-card ul{gap:8px;margin:0;padding-left:18px;display:grid}.word-explanation-card li{padding-left:2px}.word-example-translation{color:var(--muted);margin-top:2px;font-size:.86rem;line-height:1.45}.msg-composer{background:var(--paper);border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:14px 18px;display:grid}.msg-composer input{border:1px solid var(--line);min-width:0;min-height:44px;font:inherit;background:var(--surface);color:var(--ink);border-radius:22px;outline:none;padding:0 14px;font-size:.875rem;transition:border-color .12s}.msg-composer input:focus{border-color:var(--teal);background:var(--paper)}.msg-composer button{background:var(--teal);min-height:44px;color:var(--white);font:inherit;cursor:pointer;white-space:nowrap;border:none;border-radius:22px;align-items:center;gap:6px;padding:0 18px;font-size:.84rem;font-weight:800;transition:opacity .12s;display:inline-flex}.msg-composer button:disabled{opacity:.38;cursor:not-allowed}.msg-composer button:not(:disabled):hover{opacity:.88}@media (width<=1120px){.app-shell{grid-template-columns:1fr}.messages-page,.ai-page{height:auto;min-height:100vh;overflow:visible}.sidebar{border-bottom:1px solid #ffffff14;border-right:0;gap:12px;min-height:auto;padding:14px 16px;position:static}.sidebar-nav{flex-wrap:wrap;gap:4px;display:flex}.sidebar-nav a{min-height:36px;padding:0 10px;font-size:.86rem}.sidebar-nav a.active,.sidebar-nav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--mint);background:#a278e124}.profile-panel{padding:10px 12px}.locale-switcher{padding:8px 10px}.role-switcher{grid-template-columns:repeat(auto-fit,minmax(60px,1fr))}.messages-page .sidebar,.messages-page .workspace,.messages-page #messages,.messages-page .messages-layout,.messages-page .messages-layout-v2{border:none;border-radius:0;height:auto;overflow:visible}.messages-page .workspace-page{align-items:start}.messages-page #messages{grid-template-rows:auto;padding:0}.ai-page .sidebar{display:none}.ai-page .workspace,.ai-page #ai,.ai-page .ai-chat-workspace{border:none;border-radius:0;height:auto;overflow:visible}.ai-page .workspace-page{align-items:start}.ai-page #ai{grid-template-rows:auto;padding:0}.messages-page .workspace,.messages-page #messages,.messages-page .thread-rail{grid-template-rows:none}.messages-page .thread-rail{align-content:start;overflow:visible}.workspace{padding:16px}.dashboard-hero-panel.student{position:static}.meeting-return-banner{align-items:stretch}.meeting-return-copy p{gap:2px;display:grid}.content-grid,.overview-band,.dashboard-hero-panel,.dashboard-role-grid,.dashboard-generated-exercises,.lesson-hero,.catalog-layout,.ai-chat-workspace,.profile-facts,.data-map-grid,.game-strip,.progress-dashboard-grid,.progress-dashboard-compact{grid-template-columns:1fr}.dashboard-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-chat-history{border-right:0;border-bottom:1px solid var(--line);min-height:0;overflow:hidden}.ai-chat-history-list{gap:8px;max-height:none;padding-bottom:2px;display:flex;overflow:auto hidden}.ai-history-row{min-width:min(240px,78vw)}.ai-page .ai-chat-workspace{grid-template-rows:auto minmax(0,1fr)}.messages-page .thread-list{max-height:220px}.messages-page .message-stream{min-height:250px;max-height:52dvh}.metric-grid,.dashboard-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-hero-student-stats{gap:8px}.dashboard-stat-chip{min-width:calc(50% - 4px)}.catalog-list{max-height:none;padding-right:0;overflow:visible}.lesson-detail,.lesson-runner{scroll-margin-top:16px;position:static}}@media (width<=680px){.sidebar,.workspace,.overview-band{padding:14px}.sidebar{gap:10px}.sidebar-top{gap:6px}.brand-mark{width:36px;height:36px}.brand-text strong{font-size:.95rem}.brand-lockup span{font-size:.74rem}.profile-panel{grid-template-columns:36px minmax(0,1fr);gap:10px;padding:8px 10px}.profile-panel .avatar{width:36px;height:36px;font-size:.84rem}.profile-panel h2{font-size:.9rem}.sidebar-nav a{min-height:34px;padding:0 9px;font-size:.84rem}.role-tab{min-height:30px;font-size:.78rem}.locale-switcher select{min-height:32px;font-size:.84rem}.topbar{flex-direction:column;align-items:stretch;padding:12px 14px}.topbar h1,.overview-copy h2,.lesson-hero h3{font-size:1.26rem}.topbar p,.overview-copy p,.lesson-hero p{max-width:none;font-size:.84rem}.ai-page .workspace{padding:0}.ai-page .ai-chat-workspace{border-width:0;border-radius:0}.ai-page .ai-chat-history{padding:10px}.ai-page .ai-chat-header,.ai-page .ai-chat-composer{padding:12px}.ai-chat-header{flex-direction:column;align-items:flex-start}.ai-chat-header-actions{justify-content:space-between;width:100%}.ai-chat-composer .ai-chat-composer-row{grid-template-columns:minmax(0,1fr) auto 44px;gap:6px}.ai-chat-composer button{width:44px;min-width:44px;min-height:44px}.ai-page .ai-chat-stream{padding:14px 12px}.ai-page .ai-chat-bubble{width:min(94%,460px)}.selection-popup{right:auto;bottom:max(12px, env(safe-area-inset-bottom));transform:translate(-50%);top:auto!important;left:50%!important}.word-modal-overlay{place-items:end center;padding:12px}.word-modal{border-radius:12px 12px 8px 8px;width:100%;max-height:min(78dvh,680px)}.ai-call-overlay{padding:0}.ai-call-modal{border-radius:0;width:100%;height:100dvh;max-height:100dvh}.ai-call-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.ai-call-stage{border-right:0;border-bottom:1px solid var(--line);padding:22px 14px}.ai-voice-orb{width:128px}.lesson-hero,.lesson-detail,.lesson-runner,.lesson-question-lines,.learning-tool-panel,.learner-progress-dashboard,.authoring-console{padding:14px}.metric-grid,.dashboard-metric-strip,.dashboard-role-grid,.dashboard-card-grid,.dashboard-stat-row,.messages-layout,.ai-chat-composer div,.ai-prompt-grid,.task-card,.catalog-toolbar,.progress-filters,.lesson-view-tabs,.lesson-hero-metrics,.profile-identity,.profile-form,.activity-overview,.match-row,.runner-result-grid,.notebook-card,.mastery-row,.meet-launch-grid,.video-stage.with-participants{grid-template-columns:1fr}.clinical-visual{min-height:128px}.monitor-frame{height:82px}.dashboard-next-card,.dashboard-hero-panel,.dashboard-panel{padding:12px}.dashboard-hero-copy h2{font-size:1.38rem}.dashboard-priority-card{align-content:start}.dashboard-progress-ring{justify-self:start}.runner-header,.runner-actions,.lesson-question-lines header,.learner-detail-panel header,.tool-panel-header,.authoring-summary{flex-direction:column;align-items:stretch}.runner-vitals{justify-content:flex-start}.lesson-hero-progress>div:first-child,.path-summary{flex-direction:column;align-items:flex-start}.level-selector{grid-template-columns:repeat(4,minmax(0,1fr))}.unit-group header{flex-direction:column}.lesson-unit-section header,.lesson-focus-topbar{flex-direction:column;align-items:stretch}.lesson-question-line{grid-template-columns:1fr}.lesson-question-line strong{grid-column:1}.lesson-focus-actions{width:100%}.lesson-focus-actions .compact-action,.lesson-focus-actions .primary-action{flex:140px}.lesson-focus-title{text-align:left}.detail-grid{grid-template-columns:1fr}.record-row,.ai-card,.lesson-card,.learner-row,.message-thread-header,.meet-launch-header,.video-room-header,.catalog-summary,.progress-summary-pills{flex-direction:column;align-items:flex-start}.learner-row{grid-template-columns:40px minmax(0,1fr)}.learner-progress-cell,.learner-stat-cell{text-align:left;grid-column:2}.lesson-card{gap:8px}.lesson-card-main,.lesson-card-start{width:100%}.lesson-card-stats{justify-content:flex-start;width:100%}.learner-lesson-row,.attempt-row{grid-template-columns:1fr}.message-thread-actions,.member-add-control,.meet-launch-actions,.video-header-actions{width:100%}.meet-launch-actions,.video-header-actions{justify-content:stretch}.meet-context-strip,.video-invite-strip{flex-direction:column;align-items:stretch}.meet-launch-actions .compact-action,.video-header-actions .compact-action,.video-control{flex:128px}.video-grid.screen-share-active,.video-room.expanded .video-grid.screen-share-active,.video-room.full-page .video-grid.screen-share-active{grid-template-columns:1fr;grid-auto-rows:minmax(118px,auto)}.video-grid.screen-share-active .screen-share-tile.live,.video-room.full-page .video-grid.screen-share-active .screen-share-tile.live{grid-area:auto/1;min-height:min(62dvh,520px)}.video-grid.screen-share-active .video-tile:not(.screen-share-tile){grid-column:auto;min-height:118px}.member-add-control{grid-template-columns:1fr}.message-thread-actions .compact-action,.member-add-control .compact-action{width:100%}.composer div{grid-template-columns:1fr}.ai-card-actions{justify-items:stretch;width:100%}.ai-card-actions .compact-action,.notebook-card .compact-action,.tool-panel-header .notebook-search{width:100%}.admin-dashboard-header{flex-direction:column;align-items:flex-start}.admin-dashboard-header .primary-action{width:100%}}.teachers-page{gap:14px;display:grid}.teachers-page-header{background:linear-gradient(120deg, #430e9321 0%, transparent 55%), var(--paper);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex;box-shadow:0 2px 8px #1f172a0a}.students-page .teachers-page{gap:10px}.students-page .teachers-page-header{padding:10px 12px}.teachers-stats-row{gap:0;display:flex}.teachers-stat{gap:3px;padding:0 16px 0 0;display:grid;position:relative}.students-page .teachers-stat{padding-right:12px}.teachers-stat+.teachers-stat{border-left:1px solid var(--line);padding-left:16px}.students-page .teachers-stat+.teachers-stat{padding-left:12px}.teachers-stat strong{color:var(--ink);font-size:1.34rem;font-weight:900;line-height:1;display:block}.students-page .teachers-stat strong{font-size:1.16rem}.teachers-stat span{color:var(--muted);text-transform:uppercase;letter-spacing:0;font-size:.72rem;font-weight:800;display:block}.students-page .teachers-stat span{font-size:.68rem}.teachers-stat.active strong{color:var(--teal)}.teachers-stat.archived strong{color:var(--muted)}.teachers-notice{animation:fadeSlideIn var(--dur-pop) var(--ease-out);border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:11px 14px;font-size:.86rem;font-weight:700;display:flex}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.teachers-notice.success{color:var(--primary-900);background:#a278e12e;border-color:#430e9338}.teachers-notice.error{color:var(--red);background:#e84a5f14;border-color:#e84a5f38}.teachers-toolbar{align-items:center;gap:10px;display:flex}.teachers-search-wrap{flex:1;min-width:0;position:relative}.teachers-search-icon{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.teachers-search-input{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);background:var(--paper);font:inherit;border-radius:10px;padding:0 14px 0 38px;font-size:.9rem;transition:border-color .14s,box-shadow .14s}.teachers-search-input::placeholder{color:var(--muted)}.teachers-search-input:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #430e931f}.teachers-filter-tabs{background:var(--chip);border:1px solid var(--line);border-radius:10px;flex-shrink:0;gap:3px;padding:3px;display:flex}.teachers-filter-tab{min-height:36px;color:var(--muted);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:0 14px;font-size:.82rem;font-weight:800;transition:background .14s,color .14s,box-shadow .14s}.teachers-filter-tab:hover{color:var(--ink)}.teachers-filter-tab.active{color:var(--ink);background:var(--paper);box-shadow:0 1px 5px #1f172a1a}.teachers-empty{color:var(--muted);border:1.5px dashed var(--line);text-align:center;background:#f6faf7cc;border-radius:14px;flex-direction:column;align-items:center;gap:14px;padding:64px 24px;display:flex}.teachers-empty svg{opacity:.35}.teachers-empty p{max-width:280px;margin:0;font-size:.9rem;line-height:1.55}.teachers-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.teacher-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:0;transition:box-shadow .18s,border-color .18s,transform .18s;display:flex;position:relative;overflow:hidden}.teacher-card:before{content:"";background:linear-gradient(90deg, var(--teal), var(--mint));opacity:0;height:3px;transition:opacity .18s;display:block}@media (hover:hover) and (pointer:fine){.teacher-card:hover{border-color:#430e9352;transform:translateY(-1px);box-shadow:0 8px 28px #1f172a17}.teacher-card:hover:before{opacity:1}}.teacher-card:focus-within:before{opacity:1}.teacher-card.archived:before{background:var(--line);opacity:1}.teacher-card.archived{background:#f6faf7b3}.teacher-card-body{flex:1;gap:12px;padding:14px;display:grid}.teacher-card-top{align-items:flex-start;gap:13px;display:flex}.teacher-card-avatar{width:42px;height:42px;color:var(--paper);background:linear-gradient(140deg, var(--coral), var(--teal));letter-spacing:0;border-radius:12px;flex-shrink:0;place-items:center;font-size:.92rem;font-weight:900;display:grid;overflow:hidden;box-shadow:0 3px 10px #e84a5f38}.teacher-card.archived .teacher-card-avatar{background:linear-gradient(140deg, var(--s400), var(--s600));box-shadow:none}.teacher-card-avatar img{object-fit:cover;width:100%;height:100%}.teacher-card-identity{flex:1;min-width:0}.teacher-card-identity h4{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin:0 0 2px;font-size:.97rem;font-weight:800;line-height:1.25;overflow:hidden}.teacher-card-email{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.79rem;overflow:hidden}.teacher-card-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.teacher-chip{white-space:nowrap;border-radius:99px;align-items:center;gap:4px;padding:3px 9px;font-size:.74rem;font-weight:800;display:inline-flex}.teacher-chip.level{color:var(--teal);background:#430e931a;border:1px solid #430e932e}.teacher-chip.cohort{color:var(--muted);background:var(--chip);border:1px solid var(--line)}.teacher-chip.school{color:var(--amber);background:#f5b34224;border:1px solid #f5b3424d}.teacher-card-footer{border-top:1px solid var(--line);background:#f6faf799;justify-content:space-between;align-items:center;gap:10px;padding:9px 14px;display:flex}.teacher-card-footer .status-pill{font-size:.72rem}.teacher-card-footer .ghost-action{border-radius:7px;min-height:32px;padding:0 12px;font-size:.8rem}.tm-overlay{z-index:300;-webkit-backdrop-filter:blur(8px);animation:overlayIn var(--dur-panel) var(--ease-out);background:#170f2394;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}@keyframes overlayIn{0%{opacity:0;-webkit-backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(8px)}}.tm-card{background:var(--paper);width:100%;max-width:580px;max-height:min(760px,94dvh);animation:modalIn var(--dur-panel) var(--ease-out);border-radius:12px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 40px 100px #170f2347,0 8px 24px #170f2324,0 0 0 1px #ffffff0f}@keyframes modalIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.tm-header{background:linear-gradient(120deg, #430e9314 0%, transparent 60%), var(--paper);border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 14px;display:flex}.tm-header-icon{width:40px;height:40px;color:var(--paper);background:linear-gradient(135deg, var(--teal), var(--mint));border-radius:10px;flex-shrink:0;place-items:center;display:grid;box-shadow:0 3px 10px #430e934d}.tm-header-text{flex:1;min-width:0}.tm-header-avatar{border-radius:10px;width:42px;height:42px;font-size:.88rem}.tm-title{color:var(--ink);margin:0 0 3px;font-size:1.04rem;font-weight:900;line-height:1.1}.tm-subtitle{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.82rem;overflow:hidden}.tm-close{border:1px solid var(--line);width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:background .14s,color .14s,border-color .14s;display:flex}.tm-close:hover{color:var(--red);background:#e84a5f14;border-color:#e84a5f3d}.tm-body{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:1;gap:14px;padding:16px 18px;display:grid;overflow-y:auto}.tm-body::-webkit-scrollbar{width:5px}.tm-body::-webkit-scrollbar-track{background:0 0}.tm-body::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}.tm-section-label{color:var(--teal);text-transform:uppercase;letter-spacing:.07em;align-items:center;gap:7px;margin:0 0 10px;font-size:.74rem;font-weight:900;display:flex}.tm-section-label:after{content:"";background:var(--line);flex:1;height:1px}.tm-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.tm-form-wide{grid-column:1/-1}.tm-form-grid label{gap:7px;display:grid}.tm-form-grid label>span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:5px;font-size:.76rem;font-weight:800;display:inline-flex}.tm-form-grid input,.tm-form-grid select{border:1px solid var(--line);min-height:42px;color:var(--ink);background:var(--surface);font:inherit;border-radius:9px;padding:0 12px;font-size:.9rem;transition:border-color .14s,box-shadow .14s,background .14s}.tm-form-grid input:focus,.tm-form-grid select:focus{border-color:var(--teal);background:var(--paper);outline:none;box-shadow:0 0 0 3px #430e931f}.tm-password-field{border:1px solid var(--line);background:var(--surface);border-radius:9px;transition:border-color .14s,box-shadow .14s;display:flex;overflow:hidden}.tm-password-field:focus-within{border-color:var(--teal);background:var(--paper);box-shadow:0 0 0 3px #430e931f}.tm-password-field input{min-height:42px;color:var(--ink);font:inherit;background:0 0;border:0;flex:1;padding:0 12px;font-size:.9rem}.tm-password-field input:focus{outline:none}.tm-password-field button{border:0;border-left:1px solid var(--line);width:42px;min-height:42px;color:var(--muted);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;transition:color .14s,background .14s;display:flex}.tm-password-field button:hover{color:var(--ink);background:#1f172a0d}.tm-fieldset{border:0;margin:0;padding:0}.tm-cohort-list{gap:6px;display:grid}.tm-check-row{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:9px;align-items:center;gap:12px;padding:10px 12px;transition:border-color .14s,background .14s;display:flex}.tm-check-row:hover{background:#430e930a;border-color:#430e933d}.tm-check-row:has(input:checked){background:#430e930f;border-color:#430e9347}.tm-check-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--teal);cursor:pointer;flex-shrink:0}.tm-check-row span{flex:1;gap:1px;min-width:0;display:grid}.tm-check-row strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.86rem;font-weight:700;display:block;overflow:hidden}.tm-check-row small{color:var(--muted);font-size:.74rem;display:block}.tm-empty-text{color:var(--muted);text-align:center;background:var(--chip);border-radius:8px;margin:0;padding:14px;font-size:.84rem}.tm-detail-grid{border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.tm-detail-item{background:var(--surface);gap:5px;padding:13px 15px;display:grid}.tm-detail-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:900;display:block}.tm-detail-item>span:last-child{color:var(--ink);word-break:break-word;font-size:.88rem;font-weight:600}.tm-edit-section{gap:16px;display:grid}.tm-footer{border-top:1px solid var(--line);background:#f6faf7b3;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;padding:12px 18px;display:flex}.tm-footer-edit{justify-content:space-between}.tm-footer-right{gap:10px;display:flex}.danger-action{cursor:pointer;min-height:40px;font:inherit;color:var(--red);background:#e84a5f0f;border:1px solid #e84a5f47;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-size:.86rem;font-weight:800;transition:background .14s,border-color .14s,box-shadow .14s;display:inline-flex}.danger-action:hover:not(:disabled){background:#e84a5f24;border-color:#e84a5f75;box-shadow:0 2px 8px #e84a5f24}.tm-delete-confirm{color:var(--red);background:#e84a5f0d;border:1px solid #e84a5f33;border-radius:12px;align-items:flex-start;gap:14px;padding:16px;display:flex}.tm-delete-confirm>svg{color:var(--coral);flex-shrink:0;margin-top:1px}.tm-delete-confirm p{margin:0 0 5px;font-size:.88rem;line-height:1.5}.tm-delete-confirm p:last-of-type{color:var(--muted);margin-bottom:12px;font-weight:400}.tm-confirm-actions{flex-wrap:wrap;gap:8px;display:flex}.tm-reset-section{gap:12px;display:grid}.tm-reset-trigger{border:1px dashed var(--line);width:100%;color:var(--muted);background:0 0;border-radius:10px;justify-content:center;padding:10px 16px;font-size:.86rem}.tm-reset-trigger:hover{border-color:var(--teal);color:var(--teal);background:#4a1e8d0a}.tm-reset-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (width<=720px){.calendar-form-grid,.calendar-layout,.calendar-repeat-row{grid-template-columns:1fr}.calendar-schedule-form header,.calendar-board-header{flex-direction:column;align-items:stretch}.calendar-rsvp{grid-template-columns:1fr}.calendar-board-tools,.calendar-modal-actions{justify-content:stretch;width:100%}.calendar-board-tools>*,.calendar-modal-actions>*{flex:auto}.calendar-period-nav strong{min-width:0}.calendar-week-grid{grid-template-columns:50px repeat(7,minmax(92px,1fr))}.calendar-time-slot{min-height:56px}.calendar-month-grid{grid-template-columns:1fr}.calendar-month-day{min-height:92px}.calendar-agenda-row{grid-template-columns:52px minmax(0,1fr)}.calendar-agenda-meta{grid-column:2}.teachers-page-header{flex-direction:column;align-items:stretch;gap:16px}.teachers-page-header .primary-action{justify-content:center;width:100%}.teachers-stats-row{justify-content:space-between}.teachers-toolbar{flex-direction:column;align-items:stretch}.teachers-filter-tabs{justify-content:center}.teachers-grid{grid-template-columns:1fr}}@media (width<=540px){.tm-overlay{align-items:flex-end;padding:0}.tm-card{max-width:100%;max-height:96dvh;animation:sheetIn var(--dur-sheet) var(--ease-drawer);border-radius:20px 20px 0 0}@keyframes sheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}.tm-form-grid,.tm-detail-grid{grid-template-columns:1fr}.tm-footer-edit{flex-direction:column-reverse;gap:8px}.tm-footer-right{flex-direction:column;width:100%}.tm-footer-right button,.danger-action{justify-content:center;width:100%}}.metric-card strong,.stat-number,.streak-pill,.xp-pill,.lesson-stat strong,.table-stat,.tabular-nums{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){.ai-voice-orb.active .ai-voice-orb-ring,.ai-voice-orb-blob,.ai-voice-orb-aurora,.ai-voice-orb-halo{animation:none!important}.tm-overlay,.tm-card,.teachers-notice{animation:reduced-fade var(--dur-pop) var(--ease-out)!important}.primary-action:hover,.ghost-action:hover,.link-button:hover,.provider-action:hover,.compact-action:hover,.wide-action:hover,.upload-action:hover,.composer button:hover,.ai-chat-composer button:hover,.quick-action-card:hover,.quick-action-card:active,.game-stat:hover,.teacher-card:hover,.call-room-card:hover,.call-room-card:active,.dashboard-mic-orb:hover,.dashboard-mic-orb:active,.call-chat-composer button:not(:disabled):hover,.primary-action:active:not(:disabled),.ghost-action:active:not(:disabled),.link-button:active:not(:disabled),.provider-action:active:not(:disabled),.compact-action:active:not(:disabled),.wide-action:active:not(:disabled),.upload-action:active:not(:disabled),.composer button:active:not(:disabled),.ai-chat-composer button:active:not(:disabled){transform:none}.spin{animation-duration:1.6s!important}.ai-chat-typing span,.ai-chat-transcribing-dots span{animation-name:chat-dot-fade}html{scroll-behavior:auto}}@keyframes reduced-fade{0%{opacity:0}to{opacity:1}}@keyframes chat-dot-fade{0%,60%,to{opacity:.3}30%{opacity:1}}@media (prefers-reduced-transparency:reduce){.tm-overlay{-webkit-backdrop-filter:none;background:#170f23db;animation-name:reduced-fade}}@media (prefers-contrast:more){.tm-card,.quick-action-card,.teacher-card,.call-room-card,.game-stat{border-color:var(--s700)}.primary-action,.composer button,.ai-chat-composer button{border-color:var(--ink)}.ghost-action,.link-button,.compact-action,.wide-action,.upload-action{border-color:var(--s700)}}.app-shell{background:var(--s50)}.app-shell .sidebar{color:var(--ink);background:var(--white);border-right-color:var(--border);scrollbar-color:var(--brand-border) transparent}.sidebar .brand-lockup span,.sidebar .profile-panel p,.sidebar .security-note span,.sidebar .sidebar-toggle,.sidebar .sidebar-nav a,.sidebar .role-tab{color:var(--s600)}.sidebar .profile-panel h2,.sidebar .security-note{color:var(--ink)}.sidebar .profile-panel,.sidebar .role-switcher{background:var(--s50);border-color:var(--border)}.sidebar .role-tab.active,.sidebar .sidebar-nav a.active,.sidebar .sidebar-nav a[aria-current=page],.sidebar .sidebar-nav a:hover,.sidebar .sidebar-toggle:hover{color:var(--brand-hover);background:var(--brand-soft)}.sidebar .sidebar-nav a.active svg,.sidebar .sidebar-nav a[aria-current=page] svg,.sidebar .profile-panel .eyebrow{color:var(--brand)}.sidebar .sidebar-toggle{border-color:var(--border)}.sidebar .security-note{background:var(--brand-soft);border-color:var(--brand-border)}.sidebar .brand-wordmark{color:var(--ink)}.sidebar .locale-switcher span{color:var(--s600)}.sidebar .locale-switcher select{color:var(--ink);background:var(--white);border-color:var(--border)}.sidebar .role-switcher .role-tab{min-width:0;box-shadow:none;border-radius:7px;padding:8px 4px}.ai-brand-illustration{object-fit:cover;border-radius:18px;width:min(340px,100%);height:150px;margin:0 auto 8px;display:block}@media (width<=600px){.ai-brand-illustration{width:min(220px,100%);height:100px}}.auth-screen{background:radial-gradient(ellipse 60% 40% at 50% -10%, #9c64f02e, transparent 70%), radial-gradient(ellipse 50% 30% at 85% 100%, #8744ec14, transparent 60%), var(--white);min-height:100dvh;color:var(--s700);font-family:var(--font-sans);flex-direction:column;justify-content:center;align-items:center;padding:88px 20px 40px;display:flex;position:relative;overflow-x:hidden}.auth-top-bar{z-index:10;justify-content:space-between;align-items:center;gap:16px;max-width:1000px;margin:0 auto;padding:0 24px;display:flex;position:absolute;top:20px;left:0;right:0}.auth-back-link{color:var(--s600);border-radius:var(--r-sm);background:#7138d40a;border:1px solid #7138d414;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.auth-back-link:hover{color:var(--ink);background:#7138d414;border-color:#7138d429}.auth-locale-select{color:var(--s600);border-radius:var(--r-sm);background:#7138d40a;border:1px solid #7138d414;align-items:center;gap:6px;padding:4px 10px;font-size:13px;transition:border-color .15s;display:flex}.auth-locale-select:hover{border-color:#7138d429}.auth-locale-select select{color:var(--s600);cursor:pointer;background:0 0;border:none;outline:none;font-size:13px;font-weight:500}.auth-locale-select select option{background:var(--s50);color:var(--ink)}.auth-panel{background:var(--s50);-webkit-backdrop-filter:blur(24px);z-index:5;border:1px solid #7138d41a;border-radius:20px;flex-direction:column;gap:18px;width:min(100%,480px);margin-top:0;padding:34px 28px;display:flex;position:relative;box-shadow:0 24px 64px #3824531a,inset 0 1px #7138d41a}@media (width>=640px){.auth-panel{margin-top:0;padding:38px 34px}}.auth-card-header{text-align:center;flex-direction:column;align-items:center;gap:8px;margin-bottom:6px;display:flex}.auth-card-header .brand-logo{margin-bottom:4px}.auth-card-header .eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--p400);font-size:11px;font-weight:700}.auth-panel h1{color:var(--ink);font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:1.7rem;font-weight:800;line-height:1.25}.auth-panel p{color:var(--s600);margin:0;font-size:.9rem;line-height:1.45}.auth-error{border-radius:var(--r-md);color:#b42332;background:#ef44441f;border:1px solid #ef444459;align-items:flex-start;gap:10px;margin:0;padding:12px 14px;font-size:.86rem;line-height:1.4;display:flex}.auth-error svg{color:#f87171;flex-shrink:0;margin-top:2px}.auth-login-form{flex-direction:column;gap:16px;display:flex}.auth-login-form label{text-align:left;flex-direction:column;gap:6px;display:flex}.auth-login-form label>span{color:var(--s600);align-items:center;gap:7px;font-size:.84rem;font-weight:600;display:inline-flex}.auth-login-form label>span svg{color:var(--p400)}.auth-login-form input,.auth-login-form select,.auth-login-form textarea{background:var(--s50);border-radius:var(--r-md);width:100%;min-height:46px;color:var(--ink);border:1px solid #7138d41f;padding:0 14px;font-family:inherit;font-size:.92rem;transition:border-color .15s,box-shadow .15s,background .15s}.auth-login-form input::placeholder{color:var(--s500)}.auth-login-form input:focus,.auth-login-form select:focus,.auth-login-form textarea:focus{background:var(--s50);border-color:var(--p400);outline:none;box-shadow:0 0 0 3px #9c64f040}.auth-login-form input[aria-invalid=true]{border-color:#ef444499}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{padding-right:44px}.password-toggle-btn{width:30px;height:30px;color:var(--s600);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .15s;display:inline-flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.password-toggle-btn:hover{color:var(--ink)}.auth-form-options{color:var(--s600);justify-content:space-between;align-items:center;gap:12px;margin-top:-2px;font-size:.84rem;display:flex}.auth-login-form label.auth-remember-checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:row;align-items:center;gap:8px;min-height:32px;display:inline-flex}.auth-remember-checkbox input[type=checkbox]{width:16px;height:16px;min-height:16px;accent-color:var(--p500);cursor:pointer;margin:0}.auth-login-form button.primary-action{background:linear-gradient(135deg, var(--p600) 0%, var(--p500) 100%);width:100%;min-height:48px;color:var(--ink);border-radius:var(--r-md);cursor:pointer;border:1px solid #7138d426;justify-content:center;align-items:center;gap:8px;margin-top:4px;font-size:.95rem;font-weight:600;transition:transform .15s,box-shadow .15s,opacity .15s;display:inline-flex;box-shadow:0 4px 14px #9c64f059}.auth-login-form button.primary-action:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #9c64f073}.auth-login-form button.primary-action:active:not(:disabled){transform:translateY(0)}.auth-login-form button.primary-action:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.auth-divider{text-align:center;color:var(--s500);align-items:center;margin:10px 0 6px;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-bottom:1px solid #7138d414;flex:1}.auth-divider span{text-transform:uppercase;letter-spacing:.05em;padding:0 12px;font-size:.78rem;font-weight:600}.staff-auth-panel{background:var(--s50);border-radius:var(--r-md);border:1px solid #7138d40f;flex-direction:column;gap:10px;padding:16px;display:flex}.staff-auth-panel .eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--p400);font-size:11px;font-weight:700}.staff-auth-panel p{color:var(--s600);margin:4px 0 0;font-size:.82rem;line-height:1.4}.auth-provider-list{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:4px;display:grid}.provider-action{border-radius:var(--r-md);color:#1f1f1f;cursor:pointer;background:#fff;border:1px solid #dadce0;justify-content:center;align-items:center;gap:9px;width:100%;min-height:48px;padding:12px 16px;font-size:.86rem;font-weight:600;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.provider-action:hover:not(:disabled){background:#7138d41a;border-color:#7138d433;transform:translateY(-1px)}.provider-action:disabled{opacity:.55;cursor:not-allowed}.provider-action.apple{background:#000;border-color:#7138d426}.provider-action.apple:hover:not(:disabled){background:#111;border-color:#7138d44d}.provider-icon{flex:0 0 20px;width:20px;height:20px}.request-demo-callout{border-radius:var(--r-md);background:#9c64f014;border:1px solid #9c64f033;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.request-demo-callout .eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--p400);font-size:11px;font-weight:700}.request-demo-callout p{color:var(--s600);margin:3px 0 0;font-size:.82rem;line-height:1.35}.request-demo-link{border-radius:var(--r-sm);color:var(--p600);white-space:nowrap;background:#9c64f026;border:1px solid #9c64f04d;align-items:center;gap:6px;padding:8px 14px;font-size:.82rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.request-demo-link:hover{color:var(--ink);background:#9c64f040}.auth-access-note{background:var(--s50);border-radius:var(--r-md);color:var(--teal);border:1px solid #7138d414;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.auth-access-note strong{color:var(--ink);font-size:.88rem;font-weight:600;display:block}.auth-access-note span{color:var(--s600);margin-top:3px;font-size:.82rem;line-height:1.4;display:block}.auth-loading-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:40px 20px;display:flex}.auth-loading-spinner{border:3px solid #9c64f033;border-top-color:var(--p400);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite authSpin}@keyframes authSpin{to{transform:rotate(360deg)}}.request-demo-screen{justify-content:flex-start;padding-top:40px}.request-demo-page-panel{width:min(100%,640px)}.request-demo-form{gap:14px;display:grid}.request-demo-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=540px){.request-demo-grid{grid-template-columns:1fr}}.auth-screen{background:radial-gradient(ellipse at 50% 0%, #eee3fc, transparent 65%), var(--white);color:var(--ink)}.auth-screen .auth-panel{border-color:var(--border);background:#fff;box-shadow:0 20px 70px #38245312}.auth-login-form button.primary-action{color:#fff;background:var(--brand)}.provider-action.apple{color:#fff}.auth-error{color:#b42332}.auth-login-flow{gap:20px;display:grid}.auth-divider{margin:0}.staff-auth-panel{background:0 0;border:0;gap:12px;padding:0}.auth-provider-list{margin-top:0}.request-demo-callout{background:#faf8fd;flex-direction:column;align-items:flex-start;gap:12px}.request-demo-link{min-height:40px;color:var(--p600);background:#fff}.auth-panel .auth-error{color:#b42332}.auth-screen :is(button,a,select):focus-visible,.auth-locale-select:focus-within{outline:3px solid var(--p400);outline-offset:3px}.password-toggle-btn{width:44px;height:44px;right:2px}.auth-login-form textarea{padding:12px 14px}.auth-back-link,.auth-locale-select{min-height:40px}@media (width<=540px){.auth-screen{padding:80px 16px 24px}.auth-top-bar{gap:8px;padding:0 16px;top:16px}.auth-panel{border-radius:20px;padding:28px 20px}.auth-panel h1{font-size:1.6rem}.auth-login-form :is(input,select,textarea){font-size:16px}}@media (prefers-reduced-motion:reduce){.auth-screen *,.auth-screen :before,.auth-screen :after{transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.admin-student-manager{gap:12px;display:grid}.admin-student-hero,.admin-student-create,.admin-student-roster,.admin-student-detail,.admin-student-notice{border-radius:8px}.admin-student-hero{color:var(--ink);background:var(--paper);border:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(240px,.62fr);align-items:center;gap:12px;padding:10px 12px;display:grid;overflow:hidden}.admin-student-hero .eyebrow{color:var(--teal)}.admin-student-hero h3,.admin-section-heading h4,.admin-detail-summary h4{color:inherit;letter-spacing:0;margin:0;line-height:1.08}.admin-student-hero h3{margin-top:4px;font-size:1rem;font-weight:800}.admin-student-hero p,.admin-section-heading p,.admin-detail-summary p{margin:6px 0 0}.admin-student-hero p{max-width:680px;color:var(--muted);font-size:.82rem;line-height:1.35}.admin-student-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.admin-student-stats div{background:#3e128014;border:1px solid #3e128033;border-radius:8px;align-content:center;gap:4px;min-width:0;min-height:50px;padding:8px;display:grid}.admin-student-stats strong{color:var(--ink);letter-spacing:0;font-size:1rem;font-weight:800;line-height:1}.admin-student-stats span{color:var(--muted);text-transform:uppercase;letter-spacing:0;font-size:.72rem;font-weight:800}.admin-student-notice{border:1px solid #0000;align-items:center;gap:10px;padding:12px;font-size:.88rem;font-weight:700;display:flex}.admin-student-notice.success{color:#24084f;background:#a278e133;border-color:#3e128033}.admin-student-notice.error{color:#9d2434;background:#e84a5f1a;border-color:#e84a5f33}.admin-student-layout{grid-template-columns:minmax(260px,320px) minmax(0,1fr);align-items:start;gap:12px;display:grid}.admin-student-layout.roster-only{grid-template-columns:1fr}.admin-student-create,.admin-student-roster,.admin-student-detail{border:1px solid var(--line);min-width:0;box-shadow:none;background:#f7faf8d6;padding:12px}.admin-section-heading,.admin-detail-summary{align-items:center;gap:14px;display:flex}.admin-section-heading{border-bottom:1px solid var(--line);margin-bottom:10px;padding-bottom:8px}.admin-section-heading h4,.admin-detail-summary h4{color:var(--ink);letter-spacing:0;font-size:1rem;font-weight:700}.admin-section-heading p,.admin-detail-summary p{color:var(--muted);font-size:.84rem;line-height:1.5}.admin-icon-tile{width:42px;height:42px;color:var(--teal);background:linear-gradient(135deg,#3e12801a,#3e12800d);border:1px solid #3e128029;border-radius:8px;flex:none;place-items:center;display:inline-grid}.admin-form-grid,.admin-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.admin-form-grid label,.admin-detail-grid label,.admin-reset-form label{gap:8px;display:grid}.admin-form-wide{grid-column:1/-1}.admin-form-grid label>span,.admin-detail-grid label>span,.admin-reset-form label>span,.admin-cohort-picker legend,.admin-school-fieldset legend{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;font-size:.72rem;font-weight:800;display:inline-flex}.admin-school-context{color:var(--ink);background:#3e12800f;border:1px solid #3e128029;border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;margin-bottom:12px;padding:10px;display:grid}.admin-school-context svg{color:var(--teal)}.admin-school-context.warning{background:#f5b3421f;border-color:#f5b34247}.admin-school-context.warning svg{color:#b16609}.admin-school-context span{gap:2px;min-width:0;display:grid}.admin-school-context strong,.admin-school-context small{overflow-wrap:anywhere;min-width:0}.admin-school-context small{color:var(--muted)}.admin-form-grid input,.admin-form-grid select,.admin-detail-grid select,.admin-password-field input,.admin-search input,.admin-filter select{border:1px solid var(--line);width:100%;min-width:0;min-height:38px;color:var(--ink);background:var(--paper);font:inherit;border-radius:8px;padding:0 10px;font-size:.9rem;transition:border-color .16s,box-shadow .16s,background .16s}.admin-form-grid input:focus,.admin-form-grid select:focus,.admin-detail-grid select:focus,.admin-search input:focus,.admin-filter select:focus{border-color:var(--teal);background:var(--paper);outline:none;box-shadow:0 0 0 3.5px #3e12801f}.admin-form-grid input::placeholder{color:#64786e73}.admin-password-field{border:1px solid var(--line);background:var(--paper);border-radius:8px;grid-template-columns:minmax(0,1fr) 38px;transition:border-color .16s,box-shadow .16s;display:grid;overflow:hidden}.admin-password-field:focus-within{border-color:var(--teal);background:var(--paper);box-shadow:0 0 0 3.5px #3e12801f}.admin-password-field input{min-height:36px;box-shadow:none;background:0 0;border:0;border-radius:0}.admin-password-field input:focus{box-shadow:none;background:0 0;border:0}.admin-password-field button{border:0;border-left:1px solid var(--line);min-height:36px;color:var(--muted);cursor:pointer;background:0 0;place-items:center;transition:color .14s,background .14s;display:grid}.admin-password-field button:hover{color:var(--ink);background:#3e12800f}.admin-cohort-picker,.admin-school-fieldset{border:0;min-width:0;margin:20px 0 0;padding:0}.admin-cohort-picker legend,.admin-school-fieldset legend{margin-bottom:10px}.admin-cohort-picker>div{gap:6px;display:grid}.admin-check-row{background:var(--paper);border:1px solid var(--line);cursor:pointer;border-radius:8px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:8px;transition:background .16s,border-color .16s;display:grid}.admin-check-row:hover{background:#3e12800a;border-color:#3e128033}.admin-check-row:has(input:checked){background:#3e128012;border-color:#3e128052}.admin-check-row input{width:16px;height:16px;accent-color:var(--teal);cursor:pointer;margin:0}.admin-check-row span{gap:2px;min-width:0;display:grid}.admin-check-row strong,.admin-check-row small{overflow-wrap:anywhere;min-width:0}.admin-check-row strong{color:var(--ink);font-size:.88rem;font-weight:600}.admin-check-row small{color:var(--muted);font-size:.76rem}.admin-wide-action{letter-spacing:.01em;border-radius:8px;width:100%;min-height:38px;margin-top:12px;font-size:.92rem;font-weight:700}.admin-student-create .primary-action{background:var(--teal);border-color:var(--teal)}.admin-student-create .primary-action:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #3e128052,0 2px 8px #3e128029}.admin-roster-tools{grid-template-columns:minmax(0,1fr) 152px;gap:8px;margin-bottom:10px;display:grid}.admin-search,.admin-filter{align-items:center;display:grid;position:relative}.admin-search svg,.admin-filter svg{color:var(--muted);pointer-events:none;z-index:1;position:absolute;left:13px}.admin-search input,.admin-filter select{padding-left:40px}.admin-student-list{gap:8px;max-height:504px;padding-right:4px;display:grid;overflow:auto}.admin-student-row{border:1px solid var(--line);width:100%;min-width:0;min-height:62px;color:var(--ink);background:var(--paper);cursor:pointer;text-align:left;border-radius:8px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;transition:border-color .16s,background .16s;display:grid}.admin-student-row:hover,.admin-student-row:focus-visible{background:#3e12800a;border-color:#3e12804d}.admin-student-row.selected{box-shadow:none;background:#3e128014;border-color:#3e128061}.admin-student-row>span:nth-child(2){gap:2px;min-width:0;display:grid}.admin-student-row strong,.admin-student-row small{overflow-wrap:anywhere;min-width:0}.admin-student-row strong{font-size:.9rem;font-weight:600}.admin-student-row small{color:var(--muted);font-size:.78rem}.admin-avatar{width:42px;height:42px;color:var(--paper);letter-spacing:.02em;background:linear-gradient(145deg,#e84a5fe0,#3e1280e0);border-radius:50%;flex:none;place-items:center;font-size:.78rem;font-weight:800;display:inline-grid}.admin-avatar.large{width:52px;height:52px;font-size:.94rem}.admin-status-pill{min-height:24px;color:var(--ink);background:var(--chip);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:.72rem;font-weight:800;display:inline-flex}.admin-status-pill.active{color:#24084f;background:#a278e142}.admin-status-pill.pending{color:#783405;background:#f5b3423d}.admin-status-pill.locked{color:#9d2434;background:#e84a5f1f}.admin-status-pill.archived{color:#4f5e58;background:#dae4decc}.admin-empty-state{min-height:72px;color:var(--muted);border:1px dashed var(--line);background:#f7faf8b3;border-radius:8px;align-items:center;gap:10px;padding:16px;font-size:.88rem;display:flex}.admin-student-detail{gap:12px;display:grid}.admin-detail-summary{background:var(--paper);border:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:8px;grid-template-columns:52px minmax(0,1fr) auto;min-width:0;padding:12px;display:grid}.admin-detail-summary>div{min-width:0}.admin-detail-summary p{overflow-wrap:anywhere}.admin-status-context{min-height:46px;color:var(--muted);border:1px solid var(--line);background:#f7faf8cc;border-radius:8px;align-items:flex-start;gap:9px;padding:10px;font-size:.85rem;line-height:1.5;display:flex}.admin-status-context svg{color:var(--teal);opacity:.8;flex:none;margin-top:1px}.admin-cohort-picker.detail{margin-top:0}.admin-sensitive-actions,.admin-reset-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.admin-danger-action{color:#9d2434;border-color:#e84a5f47}.admin-danger-action:hover:not(:disabled){background:#e84a5f0f}.admin-spin{animation:.9s linear infinite admin-spin}@keyframes admin-spin{to{transform:rotate(360deg)}}@media (width<=1120px){.admin-student-hero,.admin-student-layout,.admin-sensitive-actions{grid-template-columns:1fr}.admin-student-list{max-height:none;padding-right:0;overflow:visible}}@media (width<=720px){.admin-student-hero,.admin-student-create,.admin-student-roster,.admin-student-detail{padding:16px}.admin-student-stats,.admin-form-grid,.admin-detail-grid,.admin-roster-tools,.admin-reset-form{grid-template-columns:1fr}.admin-detail-summary{grid-template-columns:52px minmax(0,1fr)}.admin-detail-summary .admin-status-pill{grid-column:1/-1;justify-self:start}.admin-student-row{grid-template-columns:42px minmax(0,1fr)}.admin-student-row .admin-status-pill{grid-column:2;justify-self:start}.admin-sensitive-actions .primary-action,.admin-sensitive-actions .ghost-action,.admin-reset-form .ghost-action{width:100%}.admin-section-heading{margin-bottom:16px;padding-bottom:14px}}.billing-container{flex-direction:column;gap:28px;width:100%;display:flex}.billing-status-banner{background:var(--surface,#fff);border:1px solid var(--border,#e8e2f0);border-radius:var(--radius-xl,16px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex;box-shadow:0 4px 16px #1a0f2a0a}.billing-plan-info{align-items:center;gap:16px;display:flex}.billing-plan-icon{width:48px;height:48px;color:var(--primary,#681dd8);background:linear-gradient(135deg,#681dd81f,#430e931f);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.billing-plan-title-wrap{flex-direction:column;gap:4px;display:flex}.billing-plan-heading{font-family:var(--font-display,Sora, sans-serif);color:var(--ink,#1a0f2a);align-items:center;gap:10px;margin:0;font-size:1.25rem;font-weight:700;display:flex}.billing-status-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:9999px;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.billing-status-badge.active{color:#15803d;background:#dcfce7}.billing-status-badge.capped{color:#b91c1c;background:#fee2e2}.billing-plan-desc{color:var(--ink-secondary,#64748b);margin:0;font-size:.88rem}.billing-status-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.billing-portal-btn{border-radius:var(--radius-md,8px);color:var(--primary,#681dd8);cursor:pointer;background:#681dd814;border:1px solid #681dd833;align-items:center;gap:8px;padding:7px 14px;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.billing-portal-btn:hover:not(:disabled){border-color:var(--primary,#681dd8);background:#681dd824}.billing-portal-btn:disabled{opacity:.6;cursor:not-allowed}.billing-cycle-toggle-wrap{background:var(--canvas-subtle,#faf8fc);border:1px solid var(--border,#e8e2f0);border-radius:9999px;align-items:center;gap:12px;padding:4px;display:flex}.billing-cycle-btn{color:var(--ink-secondary,#64748b);cursor:pointer;background:0 0;border:none;border-radius:9999px;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.billing-cycle-btn.active{background:var(--surface,#fff);color:var(--ink,#1a0f2a);box-shadow:0 2px 6px #1a0f2a14}.billing-discount-badge{background:linear-gradient(135deg, var(--brand-hover), var(--brand));color:#fff;border-radius:9999px;padding:2px 6px;font-size:.68rem;font-weight:700}.usage-meters-section{flex-direction:column;gap:14px;display:flex}.usage-meters-header{justify-content:space-between;align-items:center;display:flex}.usage-meters-header h3{font-family:var(--font-display,Sora, sans-serif);color:var(--ink,#1a0f2a);margin:0;font-size:1.05rem;font-weight:700}.usage-meters-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.usage-meter-card{background:var(--surface,#fff);border:1px solid var(--border,#e8e2f0);border-radius:var(--radius-lg,12px);flex-direction:column;gap:12px;padding:16px 18px;display:flex;box-shadow:0 2px 8px #1a0f2a05}.usage-meter-card.capped{background:#fffbfb;border-color:#f87171}.usage-meter-top{justify-content:space-between;align-items:center;display:flex}.usage-meter-label{color:var(--ink-secondary,#64748b);align-items:center;gap:8px;font-size:.85rem;font-weight:600;display:flex}.usage-meter-badge{color:#475569;background:#f4f1f9;border-radius:9999px;padding:2px 8px;font-size:.72rem;font-weight:700}.usage-meter-badge.warning{color:#b45309;background:#fef3c7}.usage-meter-badge.danger{color:#b91c1c;background:#fee2e2}.usage-meter-values{align-items:baseline;gap:6px;display:flex}.usage-current{font-family:var(--font-display,Sora, sans-serif);color:var(--ink,#1a0f2a);font-size:1.45rem;font-weight:700;line-height:1}.usage-max{color:var(--ink-muted,#94a3b8);font-size:.85rem}.usage-progress-track{background:#e8e2f0;border-radius:9999px;width:100%;height:8px;overflow:hidden}.usage-progress-fill{background:linear-gradient(90deg,#681dd8,#7426ea);border-radius:9999px;height:100%;transition:width .3s}.usage-progress-fill.warning{background:linear-gradient(90deg,#f59e0b,#d97706)}.usage-progress-fill.danger{background:linear-gradient(90deg,#ef4444,#dc2626)}.usage-meter-hint{color:var(--ink-muted,#94a3b8);margin:0;font-size:.76rem}.plans-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch;gap:20px;display:grid}.plan-card{background:var(--surface,#fff);border:1px solid var(--border,#e8e2f0);border-radius:var(--radius-xl,16px);flex-direction:column;justify-content:space-between;gap:24px;padding:28px 24px;transition:transform .2s,box-shadow .2s;display:flex;position:relative}.plan-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #1a0f2a0f}.plan-card.current{border-color:#8844ed;box-shadow:0 0 0 2px #8844ed33}.plan-card.recommended{border-color:var(--primary,#681dd8);background:linear-gradient(#fcfaff 0%,#fff 100%);box-shadow:0 8px 30px #681dd814}.plan-badge-pill{color:#fff;letter-spacing:.02em;white-space:nowrap;background:linear-gradient(135deg,#681dd8,#430e93);border-radius:9999px;padding:4px 14px;font-size:.72rem;font-weight:700;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.plan-card-header{flex-direction:column;gap:6px;display:flex}.plan-name{font-family:var(--font-display,Sora, sans-serif);color:var(--ink,#1a0f2a);margin:0;font-size:1.2rem;font-weight:700}.plan-tagline{color:var(--ink-secondary,#64748b);min-height:38px;margin:0;font-size:.82rem}.plan-price-wrap{align-items:baseline;gap:6px;margin:12px 0 6px;display:flex}.plan-price-amount{font-family:var(--font-display,Sora, sans-serif);color:var(--ink,#1a0f2a);font-size:2.2rem;font-weight:800;line-height:1}.plan-price-period{color:var(--ink-muted,#94a3b8);font-size:.85rem}.plan-features-list{flex-direction:column;flex-grow:1;gap:10px;margin:0;padding:0;list-style:none;display:flex}.plan-feature-item{color:var(--ink,#1a0f2a);align-items:flex-start;gap:10px;font-size:.84rem;line-height:1.4;display:flex}.plan-feature-item svg{color:#059669;flex-shrink:0;margin-top:2px}.plan-action-btn{cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;font-size:.9rem;font-weight:600;transition:all .15s;display:flex}.plan-action-btn.primary{color:#fff;background:linear-gradient(135deg,#681dd8 0%,#7426ea 100%);box-shadow:0 4px 12px #681dd840}.plan-action-btn.primary:hover{background:linear-gradient(135deg,#581eaf 0%,#681dd8 100%);transform:translateY(-1px)}.plan-action-btn.secondary{background:var(--surface,#fff);border-color:var(--border,#d4cbe1);color:var(--ink,#1a0f2a)}.plan-action-btn.secondary:hover{background:var(--canvas-subtle,#faf8fc)}.plan-action-btn.current{color:#64748b;cursor:default;background:#f4f1f9;border-color:#e8e2f0}.admin-sandbox-card{color:#faf8fc;border-radius:var(--radius-xl,16px);background:#1a0f2a;flex-direction:column;gap:16px;padding:24px;display:flex;box-shadow:0 8px 32px #1a0f2a1f}.admin-sandbox-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.admin-sandbox-title{font-family:var(--font-display,Sora, sans-serif);color:#fff;align-items:center;gap:10px;margin:0;font-size:1.05rem;font-weight:700;display:flex}.admin-sandbox-pill{color:#bf9bf5;text-transform:uppercase;background:#681dd880;border-radius:9999px;padding:3px 8px;font-size:.7rem;font-weight:700}.admin-sandbox-buttons{flex-wrap:wrap;gap:10px;display:flex}.admin-sim-btn{color:#e8e2f0;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:.8rem;font-weight:600;transition:all .15s;display:inline-flex}.admin-sim-btn:hover{color:#fff;background:#ffffff29}.admin-sim-btn.danger{color:#fca5a5;border-color:#ef444466}.admin-sim-btn.danger:hover{color:#fee2e2;background:#ef444433}.paywall-modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9999;background:#1a0f2ab3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.paywall-modal{background:var(--surface,#fff);border-radius:var(--radius-2xl,20px);flex-direction:column;gap:20px;width:100%;max-width:600px;padding:32px;animation:.2s cubic-bezier(.16,1,.3,1) modalPop;display:flex;position:relative;box-shadow:0 20px 50px #1a0f2a40}@keyframes modalPop{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.paywall-modal-close{color:var(--ink-muted,#94a3b8);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px;position:absolute;top:18px;right:18px}.paywall-modal-close:hover{background:var(--canvas-subtle,#faf8fc);color:var(--ink,#1a0f2a)}.paywall-modal-icon-wrap{color:#ef4444;background:#fee2e2;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.paywall-modal-copy h3{font-family:var(--font-display,Sora, sans-serif);color:var(--ink,#1a0f2a);margin:0 0 8px;font-size:1.35rem;font-weight:700}.paywall-modal-copy p{color:var(--ink-secondary,#64748b);margin:0;font-size:.92rem;line-height:1.5}.paywall-modal-perks{background:var(--canvas-subtle,#faf8fc);border:1px solid var(--border,#e8e2f0);border-radius:12px;flex-direction:column;gap:8px;padding:16px;display:flex}.paywall-perk-item{color:var(--ink,#1a0f2a);align-items:center;gap:8px;font-size:.85rem;font-weight:600;display:flex}.paywall-modal-actions{align-items:center;gap:12px;margin-top:6px;display:flex}.paywall-modal-actions button{cursor:pointer;border-radius:10px;flex:1;padding:12px;font-size:.9rem;font-weight:600}.landing-page{font-family:var(--font-sans);color:var(--s700);background:var(--white);min-height:100vh;position:relative;overflow-x:hidden}.landing-container{max-width:1200px;margin:0 auto;padding:0 24px}.landing-nav{z-index:100;background:var(--s50);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid #7138d414;transition:background .2s,border-color .2s;position:sticky;top:0}.landing-nav-inner{justify-content:space-between;align-items:center;gap:20px;height:72px;display:flex}.landing-nav-links{align-items:center;gap:8px;display:none}@media (width>=900px){.landing-nav-links{display:flex}}.landing-nav-link{color:var(--s600);border-radius:var(--r-sm);padding:8px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:color .15s,background .15s}.landing-nav-link:hover{color:var(--ink);background:#7138d40f}.landing-nav-actions{align-items:center;gap:12px;display:flex}.btn-landing-ghost{border-radius:var(--r-sm);color:var(--ink);cursor:pointer;transition:background-color var(--dur-hover) var(--ease-out), border-color var(--dur-hover) var(--ease-out), transform var(--dur-press) var(--ease-out);background:#7138d414;border:1px solid #7138d424;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn-landing-ghost:hover{background:#7138d426;border-color:#7138d440}.btn-landing-primary{border-radius:var(--r-sm);color:var(--ink);background:linear-gradient(135deg, var(--blue) 0%, var(--blue-mid) 100%);cursor:pointer;transition:background var(--dur-hover) var(--ease-out), box-shadow var(--dur-hover) var(--ease-out), transform var(--dur-press) var(--ease-out);border:1px solid #7138d42e;align-items:center;gap:8px;padding:9px 20px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 4px 16px #681dd866}.btn-landing-primary:hover{background:linear-gradient(135deg, var(--blue-mid) 0%, var(--blue-light) 100%);transform:translateY(-1px);box-shadow:0 6px 22px #7426ea80}.landing-hero{text-align:center;padding:96px 0 80px;position:relative;overflow:hidden}.landing-hero-glow{filter:blur(80px);pointer-events:none;z-index:0;background:radial-gradient(circle,#681dd852 0%,#430e9329 45%,#0000 70%);width:900px;height:500px;position:absolute;top:-120px;left:50%;transform:translate(-50%)}.landing-hero-content{z-index:1;max-width:920px;margin:0 auto;position:relative}.landing-badge{color:var(--blue-light);letter-spacing:.02em;background:#7426ea1f;border:1px solid #8844ed4d;border-radius:999px;align-items:center;gap:8px;margin-bottom:28px;padding:6px 16px;font-size:13px;font-weight:600;display:inline-flex}.landing-badge svg{color:#8744ec}.landing-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);margin-bottom:24px;font-size:clamp(38px,5.5vw,68px);font-weight:800;line-height:1.08}.landing-title .gradient-text{background:linear-gradient(135deg, var(--ink) 30%, #bf9bf5 70%, #965eea 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.landing-subtitle{color:var(--s600);max-width:720px;margin:0 auto 36px;font-size:clamp(16px,2vw,20px);line-height:1.6}.landing-hero-cta{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-bottom:48px;display:flex}.landing-hero-cta .btn-landing-primary{padding:14px 32px;font-size:16px}.landing-hero-cta .btn-landing-ghost{padding:14px 28px;font-size:16px}.landing-stat-strip{grid-template-columns:repeat(2,1fr);gap:16px;max-width:800px;margin:0 auto 64px;display:grid}@media (width>=640px){.landing-stat-strip{grid-template-columns:repeat(4,1fr)}}.landing-stat-item{border-radius:var(--r);text-align:center;background:#7138d408;border:1px solid #7138d412;padding:16px}.landing-stat-num{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;margin-bottom:4px;font-size:28px;font-weight:800}.landing-stat-label{color:var(--s600);font-size:13px;font-weight:500}.landing-mockup-frame{border-radius:var(--r-lg);background:var(--s50);border:1px solid var(--navy-border);margin-top:12px;position:relative;overflow:hidden;box-shadow:0 32px 80px #3824531a,0 0 0 1px #7138d414}.landing-mockup-header{background:var(--s50);border-bottom:1px solid #7138d40f;align-items:center;gap:8px;padding:12px 18px;display:flex}.mockup-dot{border-radius:50%;width:10px;height:10px}.mockup-dot.red{background:#ef4444}.mockup-dot.yellow{background:#f59e0b}.mockup-dot.green{background:#10b981}.mockup-url-bar{max-width:320px;color:var(--s600);font-size:12px;font-family:var(--font-mono);text-align:center;background:#7138d40d;border-radius:6px;flex:1;margin:0 auto;padding:4px 12px}.landing-mockup-body{text-align:left;grid-template-columns:200px 1fr;min-height:480px;display:grid}@media (width<=768px){.landing-mockup-body{grid-template-columns:1fr}}.mockup-sidebar{background:var(--s50);border-right:1px solid #7138d40f;flex-direction:column;gap:8px;padding:16px;display:flex}.mockup-sidebar-item{color:var(--s600);border-radius:6px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;font-weight:500;display:flex}.mockup-sidebar-item.active{color:var(--brand);background:#7426ea26}.mockup-content{background:var(--s50);flex-direction:column;gap:20px;padding:24px;display:flex}.mockup-grid-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.mockup-metric-tile{background:var(--white);border:1px solid var(--navy-border);border-radius:var(--r);padding:16px}.mockup-metric-label{text-transform:uppercase;color:var(--s600);font-size:11.5px;font-weight:700}.mockup-metric-val{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;margin-top:6px;font-size:26px;font-weight:800}.mockup-metric-detail{color:var(--teal-light);margin-top:4px;font-size:12px}.mockup-hero-card{background:var(--white);border:1px solid var(--navy-border);border-radius:var(--r);justify-content:space-between;align-items:center;gap:20px;padding:20px;display:flex}.landing-section,.landing-mockup-frame,#top,#platform,#roles,#curriculum,#ai-practice,#pricing{scroll-margin-top:88px}.landing-section{padding:100px 0;position:relative}.landing-section-alt{background:var(--s50);border-top:1px solid #7138d40d;border-bottom:1px solid #7138d40d}.section-header{text-align:center;max-width:680px;margin:0 auto 64px}.section-title{font-family:var(--font-display);color:var(--ink);letter-spacing:-.025em;margin-bottom:16px;font-size:clamp(28px,4vw,42px);font-weight:800}.section-subtitle{color:var(--s600);font-size:16px;line-height:1.6}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;display:grid}.feature-card{background:var(--white);border:1px solid var(--navy-border);border-radius:var(--r-lg);flex-direction:column;gap:16px;padding:32px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.feature-card:hover{border-color:#8844ed66;transform:translateY(-3px);box-shadow:0 12px 32px #3824531a}.feature-icon-wrap{border-radius:var(--r);width:48px;height:48px;color:var(--brand);background:#7426ea26;border:1px solid #7426ea4d;justify-content:center;align-items:center;display:flex}.feature-card h3{font-family:var(--font-display);color:var(--ink);font-size:20px;font-weight:700}.feature-card p{color:var(--s600);font-size:15px;line-height:1.6}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));align-items:stretch;gap:24px;display:grid}@media (width>=1140px){.pricing-grid{grid-template-columns:repeat(4,1fr)}}.pricing-card{background:var(--white);border:1px solid var(--navy-border);border-radius:var(--r-lg);transition:border-color var(--dur-hover) var(--ease-out), box-shadow var(--dur-hover) var(--ease-out);flex-direction:column;padding:36px 30px;display:flex;position:relative}.pricing-card.featured{background:linear-gradient(180deg, #7426ea1f 0%, var(--white) 60%);border:1.5px solid var(--blue-mid);box-shadow:0 16px 48px #7426ea33}.pricing-badge{background:var(--blue-mid);color:var(--ink);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:4px 14px;font-size:11.5px;font-weight:700;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.pricing-title{font-family:var(--font-display);color:var(--ink);margin-bottom:8px;font-size:22px;font-weight:700}.pricing-desc{color:var(--s600);min-height:42px;font-size:14px}.pricing-price{align-items:baseline;gap:6px;margin:24px 0;display:flex}.pricing-amount{font-family:var(--font-display);color:var(--ink);font-size:46px;font-weight:800}.pricing-period{color:var(--s600);font-size:14px}.pricing-features{flex-direction:column;flex:1;gap:12px;margin:24px 0 32px;list-style:none;display:flex}.pricing-feature-item{color:var(--s700);align-items:center;gap:10px;font-size:14px;display:flex}.pricing-feature-item svg{color:var(--teal-light);flex-shrink:0}.landing-footer{background:var(--s50);border-top:1px solid #7138d414;padding:64px 0 32px}.footer-top{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px;margin-bottom:48px;display:grid}.footer-brand p{color:var(--s600);margin-top:12px;font-size:14px;line-height:1.6}.footer-col-title{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--s700);margin-bottom:16px;font-size:13px;font-weight:700}.footer-links{flex-direction:column;gap:10px;list-style:none;display:flex}.footer-link{color:var(--s600);font-size:14px;text-decoration:none;transition:color .15s}.footer-link:hover{color:var(--ink)}.footer-bottom{color:var(--s500);border-top:1px solid #7138d40f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:24px;font-size:13px;display:flex}.landing-announcement{color:var(--s700);background:linear-gradient(90deg,#681dd840 0%,#430e9340 100%);border-bottom:1px solid #8844ed40;padding:8px 0;font-size:13px}.announcement-content{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.announcement-pill{background:var(--blue-mid);color:var(--ink);letter-spacing:.05em;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:800}.announcement-link{color:var(--brand);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:13px;font-weight:600;display:inline-flex}.announcement-link:hover{color:var(--brand-hover);text-decoration:underline}.landing-locale-select{border-radius:var(--r-sm);color:var(--s600);background:#7138d40d;border:1px solid #7138d41f;align-items:center;gap:6px;padding:6px 10px;display:flex}.landing-locale-select select{color:var(--s700);cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit;font-size:13px}.landing-locale-select select option{background:var(--white);color:var(--s700)}.mockup-header-tag{color:var(--teal-light);background:#430e931f;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:11.5px;font-weight:600;display:flex}.mockup-brand-mini{border-bottom:1px solid #7138d40f;margin-bottom:4px;padding-bottom:12px}.mockup-eyebrow{letter-spacing:.06em;color:var(--brand);text-transform:uppercase;font-size:10px;font-weight:800}.mockup-hero-card h4{font-family:var(--font-display);color:var(--ink);margin-top:4px;font-size:18px;font-weight:700}.mockup-muted{color:var(--s600);margin-top:2px;font-size:13px}.btn-mockup-action{background:linear-gradient(135deg, var(--blue) 0%, var(--blue-mid) 100%);color:var(--ink);border-radius:var(--r-sm);white-space:nowrap;cursor:pointer;transition:filter var(--dur-hover) var(--ease-out), transform var(--dur-press) var(--ease-out);border:1px solid #7138d426;padding:8px 16px;font-size:13px;font-weight:600}.btn-mockup-action:hover{filter:brightness(1.15)}.mockup-schedule-row{background:var(--white);border:1px solid var(--navy-border);border-radius:var(--r);padding:16px}.mockup-schedule-title{text-transform:uppercase;color:var(--s600);letter-spacing:.04em;margin-bottom:12px;font-size:12px;font-weight:700}.mockup-session-list{flex-direction:column;gap:8px;display:flex}.mockup-session-pill{border-radius:var(--r-sm);color:var(--s700);background:#7138d408;border:1px solid #7138d40f;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;display:flex}.mockup-session-pill svg{color:var(--brand);margin-right:8px}.badge-live{color:#b42332;text-transform:uppercase;background:#ef444433;border:1px solid #ef444459;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:700}.badge-scheduled{color:var(--brand-hover);background:#8844ed26;border:1px solid #8844ed4d;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:600}.role-tab-selector{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:40px;display:flex}.role-tab{color:var(--s600);cursor:pointer;transition:background-color var(--dur-hover) var(--ease-out), border-color var(--dur-hover) var(--ease-out), color var(--dur-hover) var(--ease-out), box-shadow var(--dur-hover) var(--ease-out), transform var(--dur-press) var(--ease-out);background:#7138d40a;border:1px solid #7138d41a;border-radius:999px;align-items:center;gap:10px;padding:12px 24px;font-size:15px;font-weight:600;display:inline-flex}.role-tab:hover{color:var(--ink);background:#7138d414}.role-tab.active{border-color:var(--blue-mid);color:var(--ink);background:linear-gradient(135deg,#7426ea33 0%,#430e9333 100%);box-shadow:0 4px 16px #7426ea40}.role-showcase-panel{background:var(--white);border:1px solid var(--navy-border);border-radius:var(--r-xl);padding:48px;box-shadow:0 24px 64px #3824531a}@media (width<=768px){.role-showcase-panel{padding:24px}}.role-content-grid{grid-template-columns:1.2fr 1fr;align-items:center;gap:48px;display:grid}@media (width<=900px){.role-content-grid{grid-template-columns:1fr;gap:32px}}.role-text-column h3{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;margin-bottom:16px;font-size:clamp(24px,3vw,32px);font-weight:800}.role-text-column p{color:var(--s600);margin-bottom:24px;font-size:16px;line-height:1.65}.role-check-list{flex-direction:column;gap:16px;margin-bottom:32px;list-style:none;display:flex}.role-check-list li{color:var(--s600);align-items:flex-start;gap:12px;font-size:14.5px;line-height:1.5;display:flex}.role-check-list li svg{color:var(--teal-light);flex-shrink:0;margin-top:3px}.role-check-list li strong{color:var(--ink)}.role-preview-card{background:var(--s50);border:1px solid var(--navy-border);border-radius:var(--r-lg);overflow:hidden;box-shadow:0 16px 40px #3824531a}.preview-card-header{background:var(--s50);border-bottom:1px solid #7138d40f;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.preview-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--s600);font-size:11px;font-weight:700}.preview-status{color:var(--s600);font-size:11.5px;font-weight:600}.preview-status.active{color:var(--teal-light)}.preview-card-body{padding:24px}.preview-card-body h4{font-family:var(--font-display);color:var(--ink);margin-bottom:16px;font-size:16px}.mini-progress-bar{background:#7138d414;border-radius:999px;height:6px;margin-bottom:20px;overflow:hidden}.mini-progress-bar .fill{background:linear-gradient(90deg, var(--blue-mid), var(--teal));border-radius:999px;height:100%}.student-roster-preview{flex-direction:column;gap:10px;display:flex}.roster-item{background:#7138d406;border:1px solid #7138d40d;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.roster-item .avatar{width:28px;height:28px;color:var(--brand-hover);background:#7426ea40;border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.roster-item .name{color:var(--s700);flex:1;font-weight:500}.badge-done{color:var(--teal-light);font-size:11px}.badge-progress{color:#925900;font-size:11px}.stats-2col{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.mini-stat{text-align:center;background:#7138d408;border:1px solid #7138d40f;border-radius:8px;padding:12px}.mini-stat .num{font-family:var(--font-display);color:var(--ink);font-size:24px;font-weight:800;display:block}.mini-stat .label{color:var(--s600);margin-top:2px;font-size:11.5px;display:block}.security-notice{color:var(--teal-light);background:#430e931a;border:1px solid #430e9340;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;display:flex}.mini-badges-row{gap:8px;margin-bottom:16px;display:flex}.badge-xp{color:#925900;background:#f59e0b26;border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:700}.badge-streak{color:#b42332;background:#ef444426;border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:700}.badge-level{color:var(--brand-hover);background:#7426ea26;border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:700}.lesson-action-box{background:#7138d408;border:1px solid #7138d40f;border-radius:8px;flex-direction:column;gap:12px;padding:16px;display:flex}.lesson-action-box p{color:var(--s700);margin:0;font-size:13.5px}.ai-showcase-container{max-width:860px;margin:0 auto}.ai-voice-simulator{background:var(--white);border:1px solid var(--navy-border);border-radius:var(--r-xl);padding:36px;box-shadow:0 24px 60px #3824531a}@media (width<=640px){.ai-voice-simulator{padding:20px}}.ai-simulator-header{border-bottom:1px solid #7138d414;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:20px;display:flex}.ai-indicator{color:var(--ink);align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.ai-pulse-dot{background:#10b981;border-radius:50%;width:10px;height:10px;animation:1.5s infinite pulseGlow;box-shadow:0 0 12px #10b981}@keyframes pulseGlow{0%{opacity:.8;transform:scale(.95)}50%{opacity:1;transform:scale(1.15)}to{opacity:.8;transform:scale(.95)}}.ai-badge-secure{color:var(--teal-light);background:#430e931f;border:1px solid #430e9340;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:flex}.ai-voice-picker{margin-bottom:24px}.picker-label{color:var(--s600);margin-bottom:10px;font-size:13px;font-weight:600;display:block}.picker-chips{flex-wrap:wrap;gap:8px;display:flex}.voice-chip{color:var(--s600);cursor:pointer;transition:background-color var(--dur-hover) var(--ease-out), border-color var(--dur-hover) var(--ease-out), color var(--dur-hover) var(--ease-out), transform var(--dur-press) var(--ease-out);background:#7138d40a;border:1px solid #7138d41a;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;display:inline-flex}.voice-chip:hover{color:var(--ink);background:#7138d414}.voice-chip.active{border-color:var(--blue-mid);color:var(--ink);background:#7426ea33}.voice-tone-hint{color:var(--s600);font-size:11px}.ai-audio-wave-box{background:var(--s50);border-radius:var(--r);border:1px solid #7138d40f;flex-direction:column;align-items:center;gap:16px;margin-bottom:24px;padding:24px;display:flex}.waveform-animation{align-items:center;gap:4px;height:48px;display:flex}.wave-bar{background:linear-gradient(#8744ec 0%,#681dd8 100%);border-radius:999px;width:4px;animation:1.2s ease-in-out infinite alternate waveMotion}.wave-bar.b1{height:16px;animation-delay:.1s}.wave-bar.b2{height:28px;animation-delay:.2s}.wave-bar.b3{height:42px;animation-delay:.3s}.wave-bar.b4{height:32px;animation-delay:.4s}.wave-bar.b5{height:20px;animation-delay:.2s}.wave-bar.b6{height:38px;animation-delay:.5s}.wave-bar.b7{height:46px;animation-delay:.15s}.wave-bar.b8{height:24px;animation-delay:.35s}@keyframes waveMotion{0%{transform:scaleY(.4)}to{transform:scaleY(1.1)}}.ai-speaker-meta{text-align:center}.ai-speaker-meta strong{color:var(--ink);font-size:14px;display:block}.ai-speaker-meta span{color:var(--teal-light);font-size:12px}.ai-dialogue-turn{margin-bottom:16px}.ai-dialogue-turn .turn-label{text-transform:uppercase;letter-spacing:.05em;color:var(--s600);margin-bottom:4px;font-size:11px;font-weight:700}.ai-dialogue-turn .turn-bubble{border-radius:var(--r);padding:14px 18px;font-size:14.5px;line-height:1.55}.ai-dialogue-turn.user .turn-bubble{color:var(--brand-hover);background:#7426ea26;border:1px solid #7426ea4d}.ai-dialogue-turn.tutor .turn-bubble{color:var(--brand-hover);background:#430e9326;border:1px solid #430e934d}.ai-interactive-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;display:flex}.btn-voice-practice{color:var(--ink);border-radius:var(--r);cursor:pointer;transition:filter var(--dur-hover) var(--ease-out), box-shadow var(--dur-hover) var(--ease-out), transform var(--dur-press) var(--ease-out);background:linear-gradient(135deg,#681dd8 0%,#430e93 100%);border:1px solid #7138d433;align-items:center;gap:8px;padding:12px 24px;font-size:14.5px;font-weight:700;display:inline-flex;box-shadow:0 4px 16px #430e934d}.btn-voice-practice:hover{filter:brightness(1.1);transform:translateY(-1px)}.voice-latency-pill{color:var(--s600);align-items:center;gap:6px;font-size:12px;display:flex}.voice-latency-pill svg{color:#8744ec}.simulation-feedback-alert{border-radius:var(--r);color:#166534;background:#5412b71f;border:1px solid #5412b74d;align-items:center;gap:10px;margin-top:16px;padding:12px 16px;font-size:13.5px;display:flex}.cefr-level-tabs{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:36px;display:flex}.cefr-tab{border-radius:var(--r);color:var(--s600);cursor:pointer;min-width:90px;transition:background-color var(--dur-hover) var(--ease-out), border-color var(--dur-hover) var(--ease-out), color var(--dur-hover) var(--ease-out), box-shadow var(--dur-hover) var(--ease-out), transform var(--dur-press) var(--ease-out);background:#7138d40a;border:1px solid #7138d417;flex-direction:column;align-items:center;padding:12px 20px;display:flex}.cefr-tab:hover{color:var(--ink);background:#7138d414}.cefr-tab.active{border-color:var(--blue-mid);color:var(--ink);background:linear-gradient(135deg,#7426ea40 0%,#430e9340 100%);box-shadow:0 4px 16px #7426ea4d}.cefr-tab .level-code{font-family:var(--font-display);font-size:18px;font-weight:800}.cefr-tab .level-lessons{color:var(--s600);margin-top:2px;font-size:11.5px}.cefr-details-card{background:var(--white);border:1px solid var(--navy-border);border-radius:var(--r-xl);padding:40px;box-shadow:0 24px 60px #3824531a}@media (width<=768px){.cefr-details-card{padding:24px}}.cefr-card-header{border-bottom:1px solid #7138d414;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;padding-bottom:24px;display:flex}.cefr-badge-large{color:var(--brand-hover);background:#7426ea33;border:1px solid #7426ea59;border-radius:999px;margin-bottom:8px;padding:3px 12px;font-size:12px;font-weight:700;display:inline-block}.cefr-level-name{font-family:var(--font-display);color:var(--ink);margin-bottom:8px;font-size:clamp(24px,3vw,32px);font-weight:800}.cefr-desc{color:var(--s600);max-width:640px;font-size:15.5px;line-height:1.6}.cefr-stat-box{border-radius:var(--r);text-align:center;background:#7138d408;border:1px solid #7138d414;padding:16px 24px}.cefr-stat-box .count{font-family:var(--font-display);color:var(--ink);font-size:36px;font-weight:800;display:block}.cefr-stat-box .label{color:var(--teal-light);font-size:12px;font-weight:600}.cefr-content-split{grid-template-columns:1fr 1.2fr;gap:36px;margin-bottom:32px;display:grid}@media (width<=860px){.cefr-content-split{grid-template-columns:1fr;gap:24px}}.skills-column h4,.lessons-column h4{font-family:var(--font-display);color:var(--s700);margin-bottom:16px;font-size:15px;font-weight:700}.skills-chip-list{flex-direction:column;gap:10px;display:flex}.skill-chip{color:var(--s700);background:#7138d408;border:1px solid #7138d40f;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-size:14px;display:inline-flex}.skill-chip svg{color:var(--teal-light)}.sample-lesson-list{flex-direction:column;gap:10px;list-style:none;display:flex}.sample-lesson-item{color:var(--s700);background:#7138d408;border:1px solid #7138d40f;border-radius:8px;align-items:center;gap:12px;padding:10px 14px;font-size:14px;display:flex}.sample-lesson-item .lesson-num{width:24px;height:24px;color:var(--brand-hover);background:#7426ea33;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.sample-lesson-item span:nth-child(2){flex:1}.sample-lesson-item .chevron{color:var(--s500)}.cefr-card-footer{color:var(--s600);border-top:1px solid #7138d414;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:24px;font-size:14px;display:flex}.billing-toggle-wrapper{color:var(--s600);justify-content:center;align-items:center;gap:14px;margin-top:24px;font-size:15px;font-weight:600;display:flex}.billing-toggle-wrapper span.active{color:var(--ink)}.toggle-switch{cursor:pointer;background:#7138d41f;border:1px solid #7138d433;border-radius:999px;width:52px;height:28px;padding:2px;transition:background .2s;position:relative}.toggle-switch.active{background:var(--blue-mid);border-color:var(--blue-light)}.toggle-slider{background:var(--white);border-radius:50%;width:22px;height:22px;transition:transform .2s;display:block}.toggle-switch.active .toggle-slider{transform:translate(24px)}.discount-pill{color:var(--teal-light);background:#430e9333;border:1px solid #430e9359;border-radius:999px;margin-left:6px;padding:2px 8px;font-size:11px;font-weight:700}.landing-cta-banner{padding:100px 0}.cta-banner-card{border-radius:var(--r-xl);text-align:center;background:linear-gradient(135deg,#681dd833 0%,#430e9326 100%);border:1px solid #8844ed4d;padding:64px 40px;position:relative;overflow:hidden;box-shadow:0 24px 60px #3824531a}.cta-glow{filter:blur(60px);pointer-events:none;background:radial-gradient(circle,#7426ea40 0%,#0000 70%);width:500px;height:300px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cta-banner-card h2{font-family:var(--font-display);color:var(--ink);letter-spacing:-.025em;max-width:760px;margin:0 auto 16px;font-size:clamp(28px,4vw,44px);font-weight:800;position:relative}.cta-banner-card p{color:var(--s600);max-width:620px;margin:0 auto 36px;font-size:17px;line-height:1.65;position:relative}.cta-banner-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex;position:relative}.landing-sub-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);background:#120a1dd1;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.landing-sub-modal{background:var(--white);width:100%;max-width:520px;color:var(--ink);border:1px solid #8844ed40;border-radius:20px;flex-direction:column;gap:20px;padding:32px;animation:.2s cubic-bezier(.16,1,.3,1) modalFadeIn;display:flex;position:relative;box-shadow:0 24px 64px #3824531a,0 0 0 1px #7138d40d}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.landing-sub-close{color:var(--s600);cursor:pointer;transition:background-color var(--dur-hover) var(--ease-out), color var(--dur-hover) var(--ease-out), transform var(--dur-press) var(--ease-out);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;display:flex;position:absolute;top:18px;right:18px}.landing-sub-close:hover{color:var(--ink);background:#7138d414}.landing-sub-plan-badge{color:var(--brand);text-transform:uppercase;letter-spacing:.04em;background:#7426ea2e;border:1px solid #8844ed59;border-radius:999px;align-items:center;gap:6px;width:fit-content;padding:4px 12px;font-size:.8rem;font-weight:700;display:inline-flex}.landing-sub-header{flex-direction:column;gap:8px;display:flex}.landing-sub-header h3{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.5rem;font-weight:800}.landing-sub-price-row{align-items:baseline;gap:8px;display:flex}.landing-sub-price-amount{color:var(--ink);font-size:2rem;font-weight:800}.landing-sub-price-period{color:var(--s600);font-size:.9rem}.landing-sub-perks-box{background:var(--brand-soft);border:1px solid var(--brand-border);color:var(--s600);border-radius:12px;flex-direction:column;gap:6px;padding:12px 16px;font-size:.84rem;display:flex}.landing-sub-perk-item{align-items:center;gap:8px;display:flex}.landing-sub-form{flex-direction:column;gap:14px;display:flex}.landing-sub-field{flex-direction:column;gap:6px;display:flex}.landing-sub-field label{color:var(--s700);align-items:center;gap:6px;font-size:.82rem;font-weight:600;display:flex}.landing-sub-field input{background:var(--s50);border:1px solid var(--border);color:var(--ink);transition:border-color var(--dur-hover) var(--ease-out), box-shadow var(--dur-hover) var(--ease-out);border-radius:10px;outline:none;padding:10px 14px;font-size:.92rem}.landing-sub-field input:focus{border-color:#8844ed;box-shadow:0 0 0 2px #8844ed40}.landing-sub-field input::placeholder{color:#64748b}.landing-sub-submit{color:var(--ink);cursor:pointer;transition:box-shadow var(--dur-hover) var(--ease-out), transform var(--dur-press) var(--ease-out);background:linear-gradient(135deg,#7426ea,#681dd8);border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;margin-top:6px;padding:14px 20px;font-size:1rem;font-weight:700;display:inline-flex;box-shadow:0 4px 16px #7426ea59}.landing-sub-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #7426ea73}.landing-sub-submit:disabled{opacity:.6;cursor:not-allowed}.landing-sub-switch{text-align:center;color:var(--s600);margin-top:-4px;font-size:.84rem}.landing-sub-switch button{color:var(--brand);cursor:pointer;background:0 0;border:none;padding:0 4px;font-weight:600;text-decoration:underline}.landing-sub-notice{text-align:center;color:#64748b;justify-content:center;align-items:center;gap:6px;font-size:.76rem;display:flex}.btn-landing-primary:active,.btn-landing-ghost:active,.btn-mockup-action:active,.btn-voice-practice:active,.landing-sub-close:active,.role-tab:active,.voice-chip:active,.cefr-tab:active,.landing-sub-submit:active:not(:disabled){transform:scale(var(--press-scale));transition-duration:var(--dur-press)}@media (hover:none){.btn-landing-primary:hover,.btn-voice-practice:hover,.landing-sub-submit:hover:not(:disabled){transform:none}}@media (prefers-reduced-motion:reduce){.ai-pulse-dot,.wave-bar{animation:none!important}.btn-landing-primary:hover,.btn-landing-primary:active,.btn-landing-ghost:active,.btn-mockup-action:active,.btn-voice-practice:hover,.btn-voice-practice:active,.landing-sub-close:active,.role-tab:active,.voice-chip:active,.cefr-tab:active,.landing-sub-submit:hover:not(:disabled),.landing-sub-submit:active:not(:disabled){transform:none}}@media (prefers-reduced-transparency:reduce){.landing-nav{-webkit-backdrop-filter:none;background:var(--white)}}.landing-page{background:var(--white)}.landing-nav{border-color:var(--border);background:#fffffff0}.landing-title{color:var(--ink)}.gradient-text{background:linear-gradient(110deg,#7138d4,#9b65ce);-webkit-background-clip:text;background-clip:text}.landing-hero{background:linear-gradient(#faf7ff,#fff 75%);padding-top:72px}.landing-hero-glow{opacity:.28}.landing-hero-photograph{border:6px solid #fff;border-radius:28px;margin:42px auto 0;overflow:hidden;box-shadow:0 18px 60px #38245314}.landing-hero-photograph img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto;display:block}.landing-voice-photograph{border-radius:24px;max-width:900px;margin:0 auto 32px;overflow:hidden}.landing-voice-photograph img{aspect-ratio:3/1.35;object-fit:cover;width:100%;height:auto;display:block}.landing-section-alt{background:var(--s50)}.landing-announcement{background:var(--brand-soft);color:var(--s700)}.landing-footer{background:var(--s50)}.landing-page .btn-landing-primary,.landing-page .btn-mockup-action,.landing-page .btn-voice-practice,.landing-page .announcement-pill,.landing-page .pricing-badge,.landing-sub-submit{color:#fff;background:var(--brand)}.landing-sub-submit:hover{background:var(--brand-hover)}.btn-landing-ghost{border-color:var(--brand-border);color:var(--brand);background:#fff}.landing-page .role-tab.active,.landing-page .cefr-tab.active,.landing-page .voice-chip.active{background:var(--brand-soft);color:var(--brand-hover)}.landing-page .landing-badge,.landing-page .announcement-link,.landing-page .mockup-sidebar-item.active,.landing-page .feature-icon,.landing-page .preview-tag,.landing-page .voice-latency-pill,.landing-page .turn-bubble{color:var(--brand-hover)}.landing-page .badge-live{color:#b42332;background:#fff0f1}.landing-page .badge-scheduled{color:var(--brand-hover)}.landing-page .simulation-feedback-alert{color:#166534}.landing-sub-modal{border-color:var(--border)}@media (width<=600px){.landing-hero{padding-top:44px}.landing-hero-photograph{border-width:3px;border-radius:18px;margin-top:28px}.landing-voice-photograph img{aspect-ratio:3/2}.landing-nav-inner{gap:10px}}.landing-title .gradient-text{background:linear-gradient(110deg,#7138d4,#8b4cc3);-webkit-background-clip:text;background-clip:text}@media (width<=600px){.landing-nav-inner{flex-wrap:wrap;height:auto;min-height:72px;padding-top:12px;padding-bottom:12px}.landing-nav-actions{flex:100%;justify-content:space-between;gap:8px}.landing-nav-actions button{white-space:nowrap}.landing-nav-brand{margin:0 auto}}
