:root{--bg-main:#f1f4ff;--bg-deep:#e4edf8;--ink:#182033;--ink-soft:#56617c;--panel:rgba(255,255,255,0.86);--panel-strong:#ffffff;--line:#d8e1ef;--line-strong:#b8c7df;--brand:#1a4f8f;--brand-dark:#123c6f;--brand-pale:#dcebff;--danger:#b24233;--danger-bg:#fff1ef;--success:#15603f;--success-bg:#e9f7ef;--radius-xl:26px;--radius-lg:18px;--radius-md:14px;--shadow-soft:0 16px 40px rgba(20,47,86,0.14);--shadow-glow:0 24px 52px rgba(27,84,144,0.18);--font-display:"Source Han Serif SC","Songti SC","STSong","SimSun",serif;--font-body:"Source Han Sans SC","Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{color:var(--ink);font-family:var(--font-body);background:radial-gradient(circle at 12% 8%,rgba(118,179,255,.22),transparent 32%),radial-gradient(circle at 84% 16%,rgba(115,224,197,.2),transparent 38%),radial-gradient(circle at 70% 72%,rgba(252,220,167,.25),transparent 40%),linear-gradient(145deg,var(--bg-main),var(--bg-deep))}a{color:inherit}button,input,textarea{font:inherit}.eyebrow{margin:0 0 8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#335c8f;font-weight:700}.reveal{animation:rise-up .48s ease both}.rise-delay-1{animation-delay:40ms}.rise-delay-2{animation-delay:.11s}.rise-delay-3{animation-delay:.18s}@keyframes rise-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.input{width:100%;border-radius:var(--radius-md);border:1px solid var(--line);background:#fff;color:var(--ink);padding:11px 13px;transition:border-color .2s ease,box-shadow .2s ease}.input:focus{outline:none;border-color:#76a2de;box-shadow:0 0 0 4px rgba(118,162,222,.2)}.danger-btn,.outline-btn,.primary-btn{border-radius:999px;border:0;cursor:pointer;padding:10px 18px;font-weight:700;transition:transform .15s ease,filter .15s ease,opacity .15s ease}.danger-btn:disabled,.outline-btn:disabled,.primary-btn:disabled{cursor:not-allowed;opacity:.6}.primary-btn{background:linear-gradient(180deg,var(--brand),var(--brand-dark));color:#fff;box-shadow:0 10px 26px rgba(23,69,122,.28)}.outline-btn{border:1px solid var(--line-strong);color:#1f3e67;background:#fff}.danger-btn{background:#fff;border:1px solid #edcbc6;color:#8f2d21}.danger-btn:hover:enabled,.outline-btn:hover:enabled,.primary-btn:hover:enabled{transform:translateY(-1px);filter:brightness(1.03)}.as-link{text-decoration:none}.as-link,.btn-with-icon{display:inline-flex;align-items:center;justify-content:center}.btn-with-icon{gap:8px}.btn-icon{width:16px;height:16px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}.btn-icon svg{width:100%;height:100%;stroke-width:1.9}.text-link-with-icon{display:inline-flex;align-items:center;gap:4px}.text-link-with-icon .btn-icon{width:14px;height:14px}.error-inline,.ok-inline{border-radius:var(--radius-md);padding:10px 12px;font-size:13px;line-height:1.5}.error-inline{border:1px solid #efcdc9;background:var(--danger-bg);color:var(--danger)}.ok-inline{border:1px solid #c6e4d4;background:var(--success-bg);color:var(--success)}.entry-shell{min-height:100dvh;display:grid;place-items:center;padding:26px}.entry-grid{width:min(1040px,100%);display:grid;grid-template-columns:1.05fr .95fr;grid-gap:18px;gap:18px}.entry-brand,.entry-card,.status-card{border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.86);background:var(--panel);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.entry-brand{padding:32px;position:relative;overflow:hidden}.entry-brand:after{content:"";position:absolute;right:-48px;bottom:-56px;width:220px;height:220px;border-radius:44% 56% 53% 47%;background:linear-gradient(135deg,rgba(27,95,168,.18),rgba(111,221,197,.14));pointer-events:none}.entry-brand h1{margin:0;font-family:var(--font-display);font-size:clamp(28px,4vw,42px);line-height:1.2;max-width:18ch}.entry-brand p{margin:16px 0 0;color:var(--ink-soft);line-height:1.75;max-width:48ch}.entry-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.entry-tags span{border-radius:999px;background:rgba(255,255,255,.78);border:1px solid rgba(136,167,211,.46);padding:7px 12px;font-size:12px;color:#254f81;font-weight:700}.entry-card{padding:26px;display:grid;grid-gap:10px;gap:10px}.entry-card h2{margin:0;font-size:24px;font-family:var(--font-display)}.entry-card p{margin:0 0 4px;color:var(--ink-soft);line-height:1.6;font-size:14px}.entry-card label{font-size:12px;font-weight:700;color:#344765}.entry-note{color:var(--ink-soft);font-size:12px}.entry-switch-link{margin-left:6px;color:#1f538c;text-decoration:underline;text-underline-offset:2px;font-weight:700}.join-steps{margin:18px 0 0;padding-left:22px;color:#2e3e5b;line-height:1.8}.join-shell{min-height:100dvh;display:grid;place-items:center;padding:24px}.join-card{width:min(560px,100%)}.status-card{width:min(520px,100%);padding:28px}.status-card h1{margin:0 0 10px;font-size:28px;font-family:var(--font-display)}.status-card p{margin:0;color:var(--ink-soft)}.context-nav{display:flex;justify-content:center;padding:10px 16px 0}.context-nav a{color:#1f5088;text-decoration:underline;text-underline-offset:3px;font-size:13px}.context-nav .text-link-with-icon{text-decoration:none}.teacher-shell{width:min(1480px,100%);margin:0 auto;padding:24px;min-height:100dvh}.teacher-hero{border-radius:var(--radius-xl);padding:28px;background:linear-gradient(155deg,rgba(255,255,255,.88),rgba(255,255,255,.74));border:1px solid rgba(255,255,255,.85);box-shadow:var(--shadow-glow);display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.teacher-hero h1{margin:0;font-family:var(--font-display);font-size:clamp(26px,3.6vw,38px);line-height:1.2;max-width:18ch}.teacher-hero p{margin:10px 0 0;color:var(--ink-soft);line-height:1.7;max-width:52ch}.teacher-hero-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px;justify-content:flex-start;min-width:190px}.teacher-hero-actions .danger-btn,.teacher-hero-actions .outline-btn{width:100%;text-align:center}.readiness-hub{margin-top:14px;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.84);background:var(--panel);box-shadow:var(--shadow-soft);padding:16px}.readiness-main{display:flex;justify-content:space-between;gap:12px}.readiness-main h2{margin:0;font-size:20px;font-family:var(--font-display)}.readiness-main p{margin:8px 0 0;color:var(--ink-soft);font-size:13px}.readiness-kpi{min-width:180px;display:grid;justify-items:end;align-content:start;grid-gap:6px;gap:6px}.readiness-kpi strong{font-size:36px;line-height:1;font-family:var(--font-display);color:#193f6f}.readiness-kpi span{color:var(--ink-soft);font-size:12px}.readiness-trigger{margin-top:10px}.readiness-detail{margin-top:10px;display:grid;grid-gap:8px;gap:8px}.readiness-item{border-radius:12px;border:1px solid #d7e3f5;background:#f9fbff;padding:10px 12px;display:flex;justify-content:space-between;gap:8px;align-items:center}.readiness-item h3{margin:0;font-size:13px}.readiness-item p{margin:5px 0 0;color:var(--ink-soft);font-size:12px}.readiness-item.ok{border-color:#b8dfca;background:#edf9f2}.readiness-status{border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700;background:#fff;border:1px solid #d2deef;color:#4d6386;white-space:nowrap}.readiness-item.ok .readiness-status{border-color:#9ecab1;color:#1f6a42;background:#f7fffa}.teacher-metrics{margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.metric-card{background:var(--panel);border:1px solid rgba(255,255,255,.82);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-soft)}.metric-card h2{margin:0;font-size:14px;color:#2c4467}.metric-main{margin-top:10px;display:flex;align-items:baseline;gap:8px}.metric-main strong{font-size:30px;font-family:var(--font-display);line-height:1}.metric-main span{color:var(--ink-soft);font-size:13px}.metric-note{margin:10px 0 0;color:var(--ink-soft);font-size:12px;line-height:1.6}.progress-track{margin-top:12px;height:8px;border-radius:999px;background:#dfe8f6;overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#2d66a8,#4e9ed8)}.mini-checks{margin:12px 0 0;padding:0;list-style:none;display:grid;grid-gap:8px;gap:8px}.mini-checks li{font-size:13px;color:#5e6c87;padding-left:18px;position:relative}.mini-checks li:before{content:"○";position:absolute;left:0;top:0}.mini-checks li.ok{color:#25643f;font-weight:600}.mini-checks li.ok:before{content:"●"}.teacher-grid{margin-top:18px;display:grid;grid-template-columns:minmax(0,1.32fr) minmax(320px,.68fr);grid-gap:18px;gap:18px}.teacher-grid-dashboard{align-items:start}.panel-span-full{grid-column:1/-1}.launch-entry-panel .panel-head,.readiness-pill{align-items:center}.readiness-pill{display:inline-flex;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:700;border:1px solid #c3d7f2;background:#eef5ff;color:#1f548f;white-space:nowrap}.readiness-pill.ready{border-color:#97c8ad;background:#edf9f2;color:#1f6a42}.readiness-pill.partial{border-color:#d2c69c;background:#fff8e8;color:#75611b}.readiness-pill.empty{border-color:#d1dbe9;background:#f5f8fd;color:#5c6e8d}.launch-kpi-row{margin-top:8px;display:flex;align-items:baseline;gap:8px}.launch-kpi-row strong{font-size:34px;line-height:1;font-family:var(--font-display);color:#163f71}.launch-kpi-row span{color:var(--ink-soft);font-size:13px}.launch-meta-grid{margin-top:12px;display:grid;grid-gap:8px;gap:8px}.launch-meta-grid>div{border-radius:12px;border:1px solid rgba(163,185,218,.42);background:rgba(255,255,255,.78);padding:10px;display:grid;grid-gap:4px;gap:4px}.launch-meta-grid span{font-size:12px;color:#51617d}.launch-meta-grid strong{font-size:13px;color:#1e3f67}.mini-checks.compact{margin-top:10px}.launch-privacy-note{margin:10px 0 0;font-size:13px;color:#5a6a85;line-height:1.6}.quick-entry-panel .panel-actions{margin-top:14px}.quick-chat-panel{display:flex;flex-direction:column;height:100%}.quick-chat-panel .panel-actions{margin-top:auto;padding-top:14px}.quick-chat-list{margin:0;padding:0;list-style:none;display:grid;grid-gap:7px;gap:7px}.quick-chat-list li{position:relative;padding-left:18px;font-size:13px;line-height:1.55;color:#4f607d}.quick-chat-list li:before{content:"•";position:absolute;left:4px;top:0;color:#2f67ab;font-weight:700}.account-security-panel{margin-top:12px}.account-form{display:grid;grid-gap:10px;gap:10px;max-width:620px}.account-form label{display:grid;grid-gap:6px;gap:6px}.account-form label span{font-size:12px;color:#344768;font-weight:700}.account-form-actions{margin-top:6px;display:flex;justify-content:flex-start}.account-help-note{margin-top:14px;color:var(--ink-soft);font-size:12px;line-height:1.6}.panel{border-radius:var(--radius-xl);background:var(--panel);border:1px solid rgba(255,255,255,.84);box-shadow:var(--shadow-soft);padding:18px}.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.panel-head h2{margin:0;font-size:22px;font-family:var(--font-display)}.class-count-badge{margin-left:10px;display:inline-flex;align-items:center;border-radius:999px;border:1px solid #cfe0f7;background:#eef5ff;color:#204f87;padding:4px 10px;font-size:12px;font-weight:700;vertical-align:middle}.panel-head p{margin:6px 0 0;color:var(--ink-soft);font-size:13px}.field-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.field-grid-single{grid-template-columns:1fr}.field-grid label{display:grid;grid-gap:6px;gap:6px}.field-grid label span{font-size:12px;color:#344768;font-weight:700}.config-summary{border:1px solid rgba(164,186,221,.42);border-radius:var(--radius-md);background:rgba(255,255,255,.88);padding:12px}.config-summary.compact{padding:10px 12px}.summary-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed rgba(174,194,224,.6);font-size:13px}.summary-row:last-child{border-bottom:0}.summary-row span{color:var(--ink-soft)}.summary-row strong{color:#223c5f;word-break:break-all;text-align:right;max-width:70%}.summary-mode-grid{margin-top:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.summary-mode-grid.compact{margin-top:0}.mapped{border-radius:12px;border:1px solid #d4e0f2;background:#f9fbff;color:#5f6f8c;text-align:center;font-size:12px;padding:8px 6px}.mapped.ok{border-color:#95c4ad;background:#ecf8f0;color:#1c6842;font-weight:700}.panel-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.command-preview{margin-top:12px;border:1px solid rgba(164,186,221,.42);border-radius:var(--radius-md);background:rgba(255,255,255,.86);padding:12px}.command-preview h3{margin:0;font-size:14px}.command-list{margin-top:8px;display:grid;grid-gap:8px;gap:8px;max-height:260px;overflow:auto}.command-list.single-col{max-height:340px}.command-item{display:flex;justify-content:space-between;gap:10px;border:1px solid #d8e3f4;border-radius:12px;padding:10px;background:#fff}.command-item strong{display:block;font-size:13px}.command-item p{margin:4px 0 0;color:var(--ink-soft);font-size:12px;line-height:1.45}.command-item code{font-size:11px;color:#1e4f88;background:#edf4ff;border:1px solid #d4e3fb;border-radius:8px;padding:4px 6px;align-self:flex-start;word-break:break-all}.create-class-row{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px;align-items:center}.class-list{margin-top:14px;display:grid;grid-gap:10px;gap:10px}.class-item{border:1px solid rgba(152,176,214,.34);border-radius:var(--radius-md);background:rgba(255,255,255,.86);display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px}.class-name{font-size:15px;font-weight:700}.class-code{font-size:12px;color:var(--ink-soft);margin-top:4px}.class-actions{display:grid;grid-gap:6px;gap:6px;justify-items:end}.class-actions a,.class-actions button{border:0;background:transparent;color:#1f538c;font-size:12px;text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:0}.class-actions .text-link-with-icon{text-decoration:none}.text-link-with-icon>span:last-child{text-decoration:underline;text-underline-offset:2px}.copy-qr-wrap{position:relative}.qr-popover{position:absolute;right:0;top:calc(100% + 8px);width:210px;border-radius:14px;border:1px solid #c9daf3;background:#fff;box-shadow:0 14px 26px rgba(23,52,92,.24);padding:10px;z-index:10}.qr-popover-title{font-size:12px;font-weight:700;color:#244c7f}.qr-popover img{width:100%;border-radius:10px;border:1px solid #d9e5f5;margin-top:7px}.qr-loading{margin-top:7px;border-radius:10px;border:1px dashed #c8d9f0;background:#f6faff;height:190px;display:grid;place-items:center;color:#5a6f8d;font-size:12px}.qr-popover p{margin:8px 0 0;font-size:12px;color:#4f6484;line-height:1.4}.qr-download-btn{margin-top:8px;width:100%;border-radius:10px;border:1px solid #c2d6f4;background:#edf4ff;color:#1f4f87;font-size:12px;font-weight:700;padding:7px 10px;cursor:pointer}.qr-download-btn:disabled{opacity:.6;cursor:not-allowed}.empty-inline{color:var(--ink-soft);font-size:13px;padding:6px 0}.launch-shell{padding:20px;min-height:100dvh}.launch-head{display:flex;justify-content:space-between;gap:14px}.launch-head h1{margin:0;font-size:clamp(28px,3.5vw,40px);line-height:1.15;font-family:var(--font-display)}.launch-head p{margin:10px 0 0;color:var(--ink-soft);line-height:1.7;max-width:54ch}.launch-head-actions{min-width:220px;display:grid;grid-gap:8px;gap:8px;align-content:start}.launch-status-panel{margin-top:12px}.launch-status-main{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.launch-status-main h2{margin:0;font-size:22px;font-family:var(--font-display)}.launch-status-main p{margin:6px 0 0;color:var(--ink-soft);font-size:13px}.launch-config-panel{margin-top:12px}.launch-accordion{border:1px solid rgba(164,186,221,.44);border-radius:var(--radius-md);background:rgba(255,255,255,.84);overflow:hidden}.launch-accordion+.launch-accordion{margin-top:10px}.launch-accordion-head{width:100%;border:0;border-bottom:1px solid rgba(170,191,222,.34);background:#f4f8ff;color:#1f426e;font-weight:700;padding:12px 14px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left}.launch-accordion-meta{font-size:12px;color:#4e6486;font-weight:700;background:#fff;border:1px solid #d1def2;border-radius:999px;padding:3px 9px;white-space:nowrap}.launch-accordion-body{padding:12px}.launch-muted{margin:10px 0 0;color:#5a6e8c;font-size:12px;line-height:1.6}.launch-check-list{margin-top:0}.readiness-fix{margin-top:6px;color:#765f17;font-weight:600}.input.field-highlight{border-color:#75b494;background:#f4fff8;box-shadow:0 0 0 3px rgba(135,201,162,.28);animation:field-highlight-flash 1.4s ease}@keyframes field-highlight-flash{0%{box-shadow:0 0 0 0 rgba(135,201,162,.4)}to{box-shadow:0 0 0 3px rgba(135,201,162,.28)}}.launch-desktop-actions{margin-top:12px}.launch-mobile-save{display:none}.chat-page{padding:12px}.chat-layout{display:grid;grid-template-columns:84px minmax(0,1fr);grid-gap:12px;gap:12px;min-height:calc(100dvh - 24px)}.chat-board,.chat-control{border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.82);background:var(--panel);box-shadow:var(--shadow-soft)}.chat-rail{padding:10px 8px;display:grid;grid-template-rows:auto 1fr auto;grid-gap:12px;gap:12px;align-items:start}.chat-rail-brand{display:grid;grid-gap:6px;gap:6px;justify-items:center;text-align:center;padding-top:6px}.chat-rail-brand .eyebrow{margin:0;font-size:10px;letter-spacing:.04em}.chat-rail-brand strong{color:#264c7d;font-size:13px;line-height:1.35;font-weight:800}.chat-rail-actions{display:grid;grid-gap:8px;gap:8px;align-content:start}.chat-rail-btn{position:relative;border-radius:14px;border:1px solid #cad8ee;background:#ffffff;color:#284a74;padding:8px 6px;display:grid;justify-items:center;grid-gap:5px;gap:5px;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}.chat-rail-btn:hover{transform:translateY(-1px);border-color:#9cb8df}.chat-rail-btn.active{border-color:#7da7da;background:#eaf3ff}.chat-rail-btn.danger{border-color:#efcfc9;color:#8b3428}.chat-rail-icon{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1px solid #d4e1f2;background:#f6f9ff}.chat-rail-icon svg{width:14px;height:14px;stroke-width:1.9}.chat-rail-label{font-size:11px;font-weight:700;line-height:1.1}.chat-rail-badge{position:absolute;right:6px;top:5px;min-width:16px;height:16px;border-radius:999px;background:#1e5ea6;color:#fff;font-size:10px;display:grid;place-items:center;padding:0 4px}.chat-board{display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}.chat-board-head{border-bottom:1px solid rgba(187,203,228,.5);padding:14px 16px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.board-head-main h2{margin:0;font-size:24px;line-height:1.2;font-family:var(--font-display)}.board-head-subtitle{margin:8px 0 0;color:var(--ink-soft);font-size:13px;line-height:1.55}.head-tip{margin:0;font-size:12px;color:var(--ink-soft)}.head-side{display:grid;grid-gap:6px;gap:6px;justify-items:end;align-items:start}.head-live-status{margin:0;border-radius:999px;border:1px solid #c8dbf6;background:#edf5ff;color:#1c4f88;font-size:12px;font-weight:700;padding:5px 10px}.board-tool-btn{display:none;border-radius:999px;border:1px solid #c6d8ef;background:#f3f8ff;color:#1f4f89;padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer}.message-list{padding:18px;overflow:auto}.welcome-card{border:1px dashed #b4caea;border-radius:16px;padding:18px;background:rgba(237,245,255,.65)}.welcome-card h3{margin:0;font-size:18px;font-family:var(--font-display)}.welcome-card p{margin:10px 0 0;color:var(--ink-soft);font-size:14px;line-height:1.7}.welcome-card ul{margin:10px 0 0;padding-left:20px;color:#2b405f;line-height:1.7;font-size:13px}.message-row{display:flex;margin-bottom:18px}.message-row.user{justify-content:flex-end}.message-row.assistant{justify-content:flex-start}.message-bubble{max-width:min(92%,680px);border-radius:16px;padding:16px;border:1px solid rgba(176,195,221,.45);background:#fff}.message-bubble.user{color:#f8fbff;border:1px solid rgba(152,190,235,.35);background:linear-gradient(180deg,#225790,#1a4779);box-shadow:0 10px 26px rgba(21,63,113,.22)}.message-meta{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#607190;margin-bottom:8px}.message-mode-tag{border-radius:999px;border:1px solid rgba(201,218,241,.7);background:rgba(242,247,255,.88);color:#355982;padding:2px 8px;font-size:10px;font-weight:700;line-height:1.2;opacity:.96}.message-bubble.user .message-mode-tag{border-color:rgba(174,206,246,.32);background:rgba(224,236,255,.16);color:#eef5ff}.message-bubble.user .message-meta{color:rgba(233,244,255,.88)}.message-plain{white-space:pre-wrap;line-height:1.68}.user-image-grid{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));grid-gap:8px;gap:8px}.user-image-item{border-radius:10px;border:1px solid rgba(194,214,242,.5);overflow:hidden;background:rgba(255,255,255,.07);text-decoration:none}.user-image-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.user-image-item span{display:block;padding:6px 8px;color:rgba(237,246,255,.9);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-markdown{line-height:1.72;word-break:break-word;font-size:14px}.assistant-loading{position:relative;overflow:hidden;border-radius:13px;border:1px solid #d2e2f6;background:linear-gradient(165deg,#f8fbff,#f2f7ff);padding:10px 11px;display:grid;grid-gap:7px;gap:7px}.assistant-loading:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent,rgba(255,255,255,.42),transparent);transform:translateX(-100%);animation:assistant-sheen 2.8s linear infinite;pointer-events:none}.assistant-loading-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.assistant-loading-title{display:inline-flex;gap:8px;align-items:center;color:#1f4f87;font-size:12px}.assistant-loading-chip{border-radius:999px;border:1px solid #c8dcf6;background:#edf5ff;color:#21538d;font-size:11px;font-weight:700;padding:3px 8px;white-space:nowrap}.assistant-loading-chip.uploading{border-color:#d2def4;background:#f2f7ff}.assistant-loading-chip.processing{border-color:#c4daf6;background:#eaf4ff}.assistant-loading-chip.streaming{border-color:#b4d6e9;background:#e5f8f4}.assistant-loading-pulse{width:9px;height:9px;border-radius:50%;background:#2b68ad;box-shadow:0 0 0 0 rgba(44,103,174,.45);animation:assistant-pulse 1.4s ease infinite}.assistant-loading-track{height:6px;border-radius:999px;background:#dce7f8;overflow:hidden;position:relative}.assistant-loading-track-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2f67ab,#5ba5d8);animation:assistant-track 1.6s ease-in-out infinite}.assistant-loading-track-fill.phase-uploading{width:36%}.assistant-loading-track-fill.phase-processing{width:68%}.assistant-loading-track-fill.phase-streaming{width:92%;animation-duration:1.2s}.assistant-loading-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px}.assistant-loading-step{display:inline-flex;gap:6px;align-items:center;color:#6e7f99;font-size:11px}.assistant-loading-step-dot{width:6px;height:6px;border-radius:50%;background:#c1d2ea;flex:0 0 auto}.assistant-loading-step.active,.assistant-loading-step.done{color:#2f5486}.assistant-loading-step.done .assistant-loading-step-dot{background:#4d89c7}.assistant-loading-step.active .assistant-loading-step-dot{background:#2e67ac;box-shadow:0 0 0 3px rgba(46,103,172,.16)}.assistant-loading-note{margin:0;font-size:12px;line-height:1.55;color:#4a6286}.assistant-loading-wait{display:block;color:#32557f;font-size:12px;font-weight:700;letter-spacing:.01em}.assistant-loading-minimal{margin:0;color:#385678;font-size:14px;line-height:1.6;font-weight:600}@keyframes assistant-pulse{0%{box-shadow:0 0 0 0 rgba(44,103,174,.45)}70%{box-shadow:0 0 0 10px rgba(44,103,174,0)}to{box-shadow:0 0 0 0 rgba(44,103,174,0)}}@keyframes assistant-track{0%{filter:saturate(.94);transform:translateX(0)}50%{filter:saturate(1.15);transform:translateX(2%)}to{filter:saturate(.94);transform:translateX(0)}}@keyframes assistant-sheen{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.message-markdown>:first-child{margin-top:0}.message-markdown>:last-child{margin-bottom:0}.message-markdown blockquote,.message-markdown ol,.message-markdown p,.message-markdown pre,.message-markdown table,.message-markdown ul{margin:0 0 10px}.message-markdown ol,.message-markdown ul{padding-left:20px}.message-markdown pre{border-radius:10px;background:#f4f8ff;border:1px solid #dbe6f7;padding:10px 12px;overflow:auto}.message-markdown code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12.5px}.message-markdown table{border-collapse:collapse;width:100%;font-size:13px}.message-markdown td,.message-markdown th{border:1px solid #d7e2f2;padding:6px 8px;text-align:left}.md-link{color:#1f5fb8;text-decoration:underline;text-underline-offset:2px;font-weight:600}.md-link:hover{color:#154688}.composer{position:relative;border-top:1px solid rgba(187,203,228,.5);padding:54px 12px 12px;background:rgba(255,255,255,.86)}.mode-capsule{position:absolute;right:12px;top:10px;z-index:8;width:min(500px,calc(100% - 24px));display:grid;justify-items:end;grid-gap:8px;gap:8px}.mode-capsule-trigger{border-radius:999px;border:1px solid #c5d8f0;background:linear-gradient(180deg,#f8fbff,#eff6ff);color:#224a79;min-height:36px;min-width:220px;padding:7px 12px;display:inline-flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;font-weight:700;cursor:pointer}.mode-capsule-trigger span:last-child{color:#4b6282;font-weight:600}.mode-capsule.open .mode-capsule-trigger{border-color:#8fb2dd;background:#f1f7ff}.mode-capsule.busy .mode-capsule-trigger{opacity:.7;cursor:not-allowed}.mode-capsule-panel{width:min(500px,calc(100vw - 48px));border:1px solid rgba(158,178,210,.42);background:rgba(255,255,255,.95);border-radius:14px;padding:10px;box-shadow:0 14px 28px rgba(25,59,103,.14)}.mode-pill-list{margin:0;display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.mode-pill{border-radius:12px;border:1px solid #c4d4eb;background:#fff;color:#2b476c;font-size:12px;font-weight:700;padding:8px 10px;cursor:pointer}.mode-pill.active{background:var(--brand-pale);border-color:#7ea4d5}.mode-hint{margin-top:8px;margin-bottom:0;color:var(--ink-soft);font-size:12px;line-height:1.45}.mode-capsule-list .mode-pill{padding:7px 9px}.mode-capsule-hint{margin-top:8px}.socratic-nudge-inline{border:1px solid #cfe0f6;border-radius:14px;background:linear-gradient(160deg,rgba(236,245,255,.92),rgba(247,252,255,.94));padding:10px 11px;display:grid;grid-gap:9px;gap:9px}.socratic-nudge-title{margin:0;color:#194879;font-size:13px;line-height:1.6;font-weight:700}.socratic-nudge-actions{display:flex;flex-wrap:wrap;gap:8px}.socratic-later-btn{border:1px dashed #c4d3e9;border-radius:999px;background:#fff;color:#4a5f80;padding:10px 14px;font-weight:700;cursor:pointer}.socratic-later-btn:disabled{opacity:.6;cursor:not-allowed}.coach-prompt-hint{margin-bottom:10px;border:1px solid #b7d5ee;border-radius:12px;background:#eaf7ff;color:#174672;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.55}.assemble-meta-panel{margin-bottom:10px;border:1px solid #cfe0f6;border-radius:14px;background:linear-gradient(165deg,#f8fbff,#eff6ff);padding:10px;display:grid;grid-gap:9px;gap:9px}.assemble-meta-tip{margin:0;color:#1e4f82;font-size:12px;font-weight:700;line-height:1.45}.assemble-meta-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.assemble-meta-field{display:grid;grid-gap:5px;gap:5px}.assemble-meta-field span{color:#35577f;font-size:11px;font-weight:700}.assemble-meta-field input{width:100%;border-radius:10px;border:1px solid #c8d9ef;background:#fff;color:#173f6c;padding:8px 10px;font-size:13px;line-height:1.4}.assemble-meta-field input:focus{outline:none;border-color:#78a6dd;box-shadow:0 0 0 3px rgba(120,166,221,.18)}.socratic-question-repick{margin-bottom:10px;border:1px solid #d0e2f8;border-radius:12px;background:#f4f9ff;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.socratic-question-repick span{color:#3c567b;font-size:12px;line-height:1.45;font-weight:600}.question-picker-backdrop{position:fixed;inset:0;z-index:80;padding:20px;display:flex;align-items:center;justify-content:center;background:rgba(8,19,40,.35);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.question-picker-modal{width:min(760px,100%);max-height:min(80vh,760px);border-radius:20px;border:1px solid #cbdcf3;background:linear-gradient(170deg,rgba(252,254,255,.98),rgba(242,248,255,.96));box-shadow:0 28px 64px rgba(10,28,58,.24);overflow:hidden;display:grid;grid-template-rows:auto 1fr}.question-picker-head{padding:16px 18px;border-bottom:1px solid #d9e6f8;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.question-picker-head h3{margin:3px 0 0;font-size:22px;line-height:1.25;letter-spacing:-.02em}.question-picker-list{padding:14px 16px 18px;overflow:auto;display:grid;grid-gap:10px;gap:10px}.question-picker-item{border:1px solid #c9daf3;border-radius:14px;background:#ffffff;padding:12px;display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:12px;gap:12px}.question-picker-item-main h4{margin:0;font-size:18px;color:#0f2d56}.question-picker-item-snippet{margin:8px 0 0;color:#42597b;line-height:1.55;font-size:14px;max-height:5.6em;overflow:hidden}.question-picker-item-snippet :is(p,ul,ol,pre,blockquote){margin:0}.question-picker-item-snippet .katex-display{margin:.35em 0}.composer-files{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.file-token{display:inline-flex;align-items:center;gap:8px;max-width:100%;border-radius:999px;border:1px solid #d0def4;background:#f4f8ff;padding:6px 10px;font-size:12px;color:#304864}.file-token span{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-token button{border:0;background:transparent;color:#1f538c;font-size:12px;cursor:pointer;padding:0}.composer-row{display:grid;grid-template-columns:1fr auto;grid-gap:10px;gap:10px}.composer-input{border-radius:var(--radius-md);border:1px solid var(--line);background:#fff;color:var(--ink);resize:none;padding:10px 12px;min-height:66px;line-height:1.55}.composer-input:focus{outline:none;border-color:#76a2de;box-shadow:0 0 0 4px rgba(118,162,222,.2)}.composer-actions{display:grid;grid-gap:8px;gap:8px;align-content:stretch;grid-template-rows:1fr 1fr}.send-btn{border-radius:999px;border:0;background:linear-gradient(180deg,var(--brand),var(--brand-dark));color:#fff;padding:0 18px;min-width:92px;font-weight:700;cursor:pointer}.send-btn:disabled{opacity:.6;cursor:not-allowed}.composer-help{margin:8px 2px 0;color:var(--ink-soft);font-size:12px}.meta-drawer-backdrop{position:fixed;inset:0;z-index:70;background:rgba(7,20,42,.3);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.meta-drawer{position:absolute;top:12px;left:108px;bottom:12px;width:min(320px,calc(100vw - 120px));border-radius:20px;border:1px solid rgba(205,219,238,.92);background:rgba(252,254,255,.98);box-shadow:0 24px 54px rgba(16,46,84,.24);display:grid;grid-template-rows:auto auto 1fr;overflow:hidden}.meta-drawer-head{padding:14px;border-bottom:1px solid #d8e5f8;display:flex;align-items:center;justify-content:space-between;gap:10px}.meta-drawer-head h3{margin:0;font-family:var(--font-display);font-size:22px;line-height:1.2}.meta-drawer-tabs{padding:10px 14px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.meta-tab{border-radius:999px;border:1px solid #ccdbf0;background:#f8fbff;color:#2c4e79;font-size:12px;font-weight:700;min-height:34px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.meta-tab.active{border-color:#8cb0dc;background:#eaf3ff}.meta-tab-icon{width:14px;height:14px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}.meta-tab-icon svg{width:100%;height:100%;stroke-width:1.9}.meta-drawer-body{overflow:auto;padding:12px 14px 14px}.meta-card{border:1px solid rgba(158,178,210,.4);background:rgba(255,255,255,.9);border-radius:14px;padding:12px}.meta-card p{margin:8px 0 0;font-size:13px;color:var(--ink-soft);line-height:1.58}.meta-card p:first-child{margin-top:0}.conversation-inline{display:grid;grid-gap:4px;gap:4px}.conversation-inline span:last-child{word-break:break-all;color:#32405a}.control-actions{margin-top:10px;display:grid;grid-gap:8px;gap:8px}.followup-grid{margin-top:10px;display:grid;grid-gap:7px;gap:7px}.followup-chip{border-radius:12px;border:1px solid #d2ddee;background:#fff;color:#2d4567;padding:8px 10px;text-align:left;font-size:12px;cursor:pointer}.chat-v3{--assistant-title-size:13px;--assistant-title-weight:650;--assistant-stem-size:14px;--assistant-stem-weight:400;--assistant-body-size:13px;--assistant-body-weight:400;--assistant-body-line:1.78}.chat-v3 .chat-board-head{padding:16px 20px}.chat-v3 .board-head-main h2{letter-spacing:-.01em}.chat-v3 .head-tip{color:#5e718f}.chat-v3 .message-list{padding:24px 22px 28px;background:linear-gradient(180deg,rgba(246,250,255,.5),rgba(255,255,255,0))}.chat-v3 .welcome-card{max-width:760px;border-radius:18px;border:1px dashed #bfd2ee;background:rgba(248,252,255,.92);padding:20px}.chat-v3 .message-row{margin-bottom:22px}.chat-v3 .message-bubble{max-width:min(88%,680px);border-radius:18px;padding:13px 14px;border:1px solid #d5e2f3;background:#fff;box-shadow:0 8px 20px rgba(29,61,101,.08)}.chat-v3 .message-bubble.user{color:#1d344f;border-color:#98b9e3;background:linear-gradient(180deg,#ffffff,#f4f9ff);box-shadow:0 10px 20px rgba(33,76,128,.12)}.chat-v3 .message-bubble.assistant{max-width:min(92%,760px);padding:0;border:0;background:transparent;box-shadow:none}.chat-v3 .message-meta{display:inline-flex;align-items:center;gap:7px;margin-bottom:9px;color:#5b6f8f;font-size:11px;font-weight:700}.chat-v3 .message-bubble.user .message-meta{color:#3c5a80}.chat-v3 .message-mode-tag{border-color:#c6d9f2;background:#ecf4ff;color:#2d5686;padding:2px 9px}.chat-v3 .message-bubble.user .message-mode-tag{border-color:#bfd6f5;background:#e7f1ff;color:#255184}.chat-v3 .message-plain{color:#1e344e;line-height:1.72;font-size:14px}.chat-v3 .user-image-grid{margin-top:12px;gap:10px}.chat-v3 .user-image-item{border-radius:12px;border:1px solid #c8d9ef;background:#f8fbff;box-shadow:0 6px 14px rgba(25,59,101,.08)}.chat-v3 .user-image-item span{color:#325276;background:#edf4ff}.chat-v3 .assistant-sections{display:grid;grid-gap:10px;gap:10px}.chat-v3 .assistant-section{border-radius:16px;border:1px solid #d8e4f3;background:#fff;padding:12px 13px;box-shadow:0 5px 12px rgba(22,54,96,.06)}.chat-v3 .assistant-section-answer{border-color:#bcd3f5;background:linear-gradient(180deg,#fbfdff,#f4f9ff)}.chat-v3 .assistant-section-steps{border-color:#c8d9f2}.chat-v3 .assistant-section-pitfall{border-color:#ead7b0;background:linear-gradient(180deg,#fffdf7,#fffaf0)}.chat-v3 .assistant-section-extension{border-color:#cde1ee;background:linear-gradient(180deg,#fbfeff,#f5fbff)}.chat-v3 .assistant-section-resource{border-style:dashed;border-color:#aac9ea;background:#f5fbff}.chat-v3 .assistant-section-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.chat-v3 .assistant-section-dot{width:8px;height:8px;border-radius:50%;background:#4e7eb7;box-shadow:0 0 0 4px rgba(78,126,183,.15);flex:0 0 auto}.chat-v3 .assistant-section h4{margin:0;color:#1f3f66;font-size:var(--assistant-title-size);font-weight:var(--assistant-title-weight);line-height:1.45;letter-spacing:.01em}.chat-v3 .assistant-section-body{color:#1e3653}.chat-v3 .assistant-section-body .message-markdown{font-size:var(--assistant-body-size);font-weight:var(--assistant-body-weight);line-height:var(--assistant-body-line);color:#24405f;text-wrap:pretty}.chat-v3 .assistant-section-body .message-markdown>:last-child{margin-bottom:0}.chat-v3 .assistant-section-body .message-markdown>p:first-of-type{font-size:var(--assistant-body-size);font-weight:400;line-height:var(--assistant-body-line);color:#24405f;margin-bottom:10px}.chat-v3 .assistant-section-answer .assistant-section-body .message-markdown>p:first-of-type{font-size:var(--assistant-stem-size);font-weight:440;color:#17385c}.chat-v3 .assistant-section-body .message-markdown .md-strong,.chat-v3 .assistant-section-body .message-markdown strong{font-weight:520;color:#1d4068}.chat-v3 .assistant-section-body .message-markdown .md-strong-soft{font-weight:460;color:#264969}.chat-v3 .assistant-section-body .message-markdown :is(h1,h2,h3,h4,h5){margin:0 0 8px;font-size:14px;line-height:1.55;font-weight:600;color:#1d3a5c}.chat-v3 .assistant-section-body .message-markdown :is(p,ul,ol,blockquote,pre,table){margin:0 0 8px}.chat-v3 .assistant-section-body .message-markdown pre{background:#f6f9ff;border-color:#d2e0f5}.chat-v3 .assistant-section-body .message-markdown table td,.chat-v3 .assistant-section-body .message-markdown table th{border-color:#d4e1f2}.chat-v3 .composer{padding:56px 16px 14px;background:rgba(255,255,255,.92)}.chat-v3 .mode-capsule{right:16px;top:10px;width:min(440px,calc(100% - 32px))}.chat-v3 .mode-capsule-trigger{min-height:34px;min-width:206px}.chat-v3 .mode-capsule-panel{box-shadow:0 16px 34px rgba(25,59,103,.15)}.chat-v3 .composer-help{font-size:11px;color:#6a7b94}.history-shell{min-height:100dvh;padding:16px}.history-head{border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.82);background:var(--panel);box-shadow:var(--shadow-soft);padding:18px;display:flex;justify-content:space-between;gap:14px}.history-head h1{margin:0;font-size:clamp(24px,3.2vw,34px);font-family:var(--font-display)}.history-head p{margin:10px 0 0;color:var(--ink-soft);line-height:1.65}.history-head-actions{min-width:180px}.history-head-actions .outline-btn{width:100%}.history-filter{margin-top:12px;border-radius:var(--radius-lg);border:1px solid rgba(164,186,221,.42);background:rgba(255,255,255,.88);padding:12px}.time-window-switch{display:flex;flex-wrap:wrap;gap:8px}.window-btn{border-radius:999px;border:1px solid #c5d8f0;background:#fff;color:#2d4c72;padding:7px 12px;font-size:12px;font-weight:700;cursor:pointer}.window-btn.active{border-color:#7fa7db;background:#e8f1ff;color:#184a83}.history-stats{margin-top:10px;display:flex;flex-wrap:wrap;gap:10px;color:var(--ink-soft);font-size:12px}.history-grid{margin-top:12px;display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:12px;gap:12px}.history-card{border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.82);background:var(--panel);box-shadow:var(--shadow-soft);padding:14px}.history-card-head h2{margin:0;font-size:20px;font-family:var(--font-display)}.history-card-head p{margin:8px 0 0}.history-card-head p,.history-empty{color:var(--ink-soft);font-size:13px}.history-empty{margin-top:10px;border-radius:var(--radius-md);border:1px dashed #bfd2ef;background:#f5f9ff;padding:14px}.review-list{margin-top:10px;display:grid;grid-gap:10px;gap:10px}.review-item{border:1px solid #d8e3f4;border-radius:var(--radius-md);background:#fff;padding:12px}.review-main{display:flex;justify-content:space-between;gap:10px;align-items:center}.review-main h3{margin:0;font-size:15px}.review-badge{border-radius:999px;font-size:11px;padding:4px 9px;font-weight:700;border:1px solid transparent}.review-badge.overdue{color:#8d2b1f;background:#fdeceb;border-color:#f2c7c2}.review-badge.today{color:#805200;background:#fff7e5;border-color:#efdca8}.review-badge.upcoming{color:#21568e;background:#eaf3ff;border-color:#c7dcfb}.review-meta{margin-top:8px;display:grid;grid-gap:4px;gap:4px;font-size:12px;color:var(--ink-soft)}.timeline-list{margin-top:10px;display:grid;grid-gap:10px;gap:10px;max-height:calc(100dvh - 340px);overflow:auto;padding-right:2px}.timeline-item{border:1px solid #d8e3f4;border-radius:var(--radius-md);background:#fff;padding:12px}.timeline-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.timeline-time{font-size:12px;color:var(--ink-soft)}.timeline-mode{border-radius:999px;border:1px solid #cde0fb;background:#eef5ff;color:#1f538c;font-size:11px;padding:4px 8px;font-weight:700}.timeline-tags{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.timeline-tags span{border-radius:999px;border:1px solid #d2e1f6;background:#f5f9ff;font-size:11px;color:#315f95;padding:3px 8px}.timeline-content{margin-top:8px;display:grid;grid-gap:6px;gap:6px}.timeline-content p{margin:0;font-size:13px;color:#2f435f;line-height:1.6}.timeline-content strong{color:#1f3350;margin-right:4px}.history-status-card{width:min(640px,100%);margin:0 auto;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.84);background:var(--panel);box-shadow:var(--shadow-soft);padding:24px}.history-status-card h1{margin:0 0 10px;font-size:28px;font-family:var(--font-display)}.history-status-card p{margin:0;color:var(--ink-soft)}@media (max-width:1120px){.readiness-main{flex-direction:column}.readiness-kpi{justify-items:start}.teacher-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-grid{grid-template-columns:1fr}.launch-head{flex-direction:column}.launch-head-actions{width:100%;grid-template-columns:1fr 1fr}.launch-status-main{flex-direction:column}.chat-layout{grid-template-columns:76px minmax(0,1fr);min-height:calc(100dvh - 24px)}.chat-board{min-height:72dvh}.chat-v3 .message-bubble.assistant{max-width:min(94%,760px)}.meta-drawer{left:96px;width:min(320px,calc(100vw - 108px))}.history-grid{grid-template-columns:1fr}.timeline-list{max-height:none}}@media (min-width:1121px){.teacher-grid-dashboard{align-items:stretch}}@media (max-width:760px){.entry-shell{padding:14px}.entry-grid{grid-template-columns:1fr}.entry-brand,.entry-card,.status-card{border-radius:20px;padding:20px}.entry-brand h1{font-size:clamp(24px,8vw,34px)}.teacher-shell{padding:12px}.join-shell{padding:14px}.join-card{border-radius:20px;padding:20px}.launch-shell{padding:12px 12px 92px}.teacher-hero{border-radius:20px;padding:18px;flex-direction:column}.teacher-hero-actions{width:100%;align-items:stretch}.launch-head{border-radius:20px;padding:16px}.launch-head-actions{grid-template-columns:1fr}.launch-status-main h2{font-size:20px}.readiness-hub{border-radius:20px;padding:14px}.readiness-main h2{font-size:18px}.readiness-kpi strong{font-size:32px}.teacher-metrics{grid-template-columns:1fr}.panel{border-radius:20px;padding:14px}.launch-accordion-head{padding:11px 12px}.launch-accordion-body{padding:10px}.panel-head{flex-direction:column;align-items:stretch}.class-count-badge{margin-left:0;margin-top:8px;width:-moz-fit-content;width:fit-content}.create-class-row,.field-grid,.summary-mode-grid{grid-template-columns:1fr}.command-item{flex-direction:column}.launch-mobile-save{display:block;position:fixed;left:10px;right:10px;bottom:10px;padding:10px;border-radius:16px;background:rgba(255,255,255,.92);border:1px solid rgba(177,197,226,.7);box-shadow:0 10px 24px rgba(18,49,90,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50}.launch-mobile-save .primary-btn{width:100%}.class-actions{justify-items:start}.qr-popover{right:auto;left:0}.chat-page{padding:8px}.chat-layout{grid-template-columns:1fr;min-height:auto}.chat-rail{display:none}.chat-board{min-height:calc(100dvh - 16px);border-radius:20px}.chat-board-head{flex-direction:column;align-items:flex-start}.head-side{justify-items:start}.board-tool-btn{display:inline-flex}.message-bubble{max-width:100%}.chat-v3 .message-list{padding:14px 12px 16px}.chat-v3 .message-row{margin-bottom:16px}.chat-v3 .message-bubble,.chat-v3 .message-bubble.assistant,.chat-v3 .message-bubble.user{max-width:100%}.chat-v3{--assistant-title-size:12px;--assistant-stem-size:13.5px;--assistant-body-size:12.5px}.chat-v3 .assistant-section{padding:11px 12px;border-radius:14px}.chat-v3 .assistant-section h4{font-size:var(--assistant-title-size)}.chat-v3 .assistant-section-body .message-markdown :is(h1,h2,h3,h4,h5){font-size:13px}.message-meta{gap:5px;margin-bottom:5px}.message-mode-tag{font-size:9px;padding:2px 6px}.composer-row{grid-template-columns:1fr}.composer-actions{grid-template-columns:1fr 1fr;grid-template-rows:none}.composer{padding-top:12px}.chat-v3 .composer{padding:12px}.mode-capsule{position:static;width:100%;justify-items:stretch;margin-bottom:10px}.mode-capsule-trigger{width:100%;min-width:0}.mode-capsule-panel{width:100%}.mode-pill-list{grid-template-columns:1fr 1fr}.composer:focus-within .composer-help{display:none}.socratic-nudge-actions{display:grid;grid-template-columns:1fr}.assemble-meta-panel{margin-bottom:8px;border-radius:12px;padding:8px;gap:7px}.assemble-meta-tip{font-size:11.5px}.assemble-meta-grid{grid-template-columns:1fr;gap:7px}.assemble-meta-field span{font-size:10.5px}.assemble-meta-field input{font-size:12px;padding:7px 9px}.socratic-nudge-inline{padding:8px 9px;border-radius:12px;gap:7px}.coach-prompt-hint,.socratic-nudge-title{font-size:12px;line-height:1.45}.coach-prompt-hint{margin-bottom:8px;padding:8px 10px}.socratic-question-repick{margin-bottom:8px;padding:8px 9px;gap:7px;flex-direction:column;align-items:stretch}.socratic-question-repick span{font-size:11.5px}.question-picker-backdrop{padding:0;align-items:flex-end}.question-picker-modal{width:100%;max-height:78vh;border-radius:16px 16px 0 0}.question-picker-head{padding:12px 12px 10px;align-items:center}.question-picker-head h3{font-size:16px}.question-picker-list{padding:8px 10px 12px;gap:8px}.question-picker-item{padding:10px;grid-template-columns:1fr;gap:8px}.question-picker-item-main h4{font-size:16px}.question-picker-item-snippet{font-size:13px;max-height:4.8em}.meta-drawer{left:0;right:0;top:auto;bottom:0;width:100%;max-height:84vh;border-radius:18px 18px 0 0}.danger-btn,.outline-btn,.primary-btn,.send-btn,.socratic-later-btn{min-height:42px}.question-picker-item .primary-btn{min-height:38px;padding:8px 12px}.history-shell{padding:10px}.history-head{padding:14px;flex-direction:column}.history-card,.history-head{border-radius:20px}.history-head-actions,.history-head-actions .outline-btn{width:100%}.history-stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}.history-status-card{border-radius:20px;padding:18px}}