*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,sans-serif;background:#f5f7fb;color:#1a1a2e}a{color:#2563eb;text-decoration:none}.layout{max-width:1200px;margin:0 auto;padding:24px}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.header h1{margin:0;font-size:1.5rem}.card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #00000014;margin-bottom:16px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;background:#2563eb;color:#fff;font-size:14px;cursor:pointer}.btn:hover{background:#1d4ed8}.btn-secondary{background:#e5e7eb;color:#374151}.btn-secondary:hover{background:#d1d5db}.btn-outline{background:#fff;color:#2563eb;border:2px solid #2563eb}.btn-outline:hover{background:#eff6ff}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;font-size:14px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:#dbeafe;color:#1d4ed8}.badge-warning{background:#fef3c7;color:#b45309}.badge-success{background:#d1fae5;color:#047857}.badge-secondary{background:#f3f4f6;color:#4b5563}.badge-collab{background:#ede9fe;color:#5b21b6}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:768px){.grid-2{grid-template-columns:1fr}}.question-preview{padding:12px;background:#f9fafb;border-radius:8px;min-height:80px}.section-list{list-style:none;padding:0;margin:0}.section-list li{padding:12px;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:8px}.empty{text-align:center;color:#6b7280;padding:40px}.auth-page{min-height:80vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:100%;max-width:420px}.xiaohong-lockup{display:flex;justify-content:center;margin:0 0 16px}.xiaohong-lockup img{display:block;width:min(240px,72%);height:auto;max-height:56px;object-fit:contain}.auth-card h2{margin:0 0 8px}.auth-sub{color:#6b7280;margin:0 0 20px;font-size:14px}.auth-remember{margin:-4px 0 16px;font-size:14px;color:#374151}.auth-version{margin:12px 0 0;text-align:center;font-size:11px;color:#cbd5e1}.auth-error{color:#dc2626;font-size:14px;margin:0 0 12px}.auth-footer{margin-top:16px;text-align:center;font-size:14px;color:#6b7280}.auth-footer a{color:#4f46e5}.label-optional{font-weight:400;color:#9ca3af;font-size:12px}.pending-box{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;padding:14px 16px;margin-bottom:16px}.pending-box p{margin:0 0 8px}.cell-sub-like{color:#6b7280;font-size:13px}.pending-actions{display:flex;gap:10px;flex-wrap:wrap}.auth-success{color:#16a34a;font-size:14px;margin:0 0 12px}.auth-code-row{display:flex;gap:8px;align-items:stretch}.auth-code-row input{flex:1;min-width:0}.auth-code-btn{flex-shrink:0;white-space:nowrap;min-width:108px}.auth-hint{margin-top:12px;font-size:12px;color:#9ca3af;text-align:center}.btn-block{width:100%;justify-content:center}.link-btn{background:none;border:none;color:#2563eb;cursor:pointer;font-size:inherit;padding:0}.user-name{color:#374151;font-size:14px;text-decoration:none}.user-name:hover{color:#4f46e5}.user-chip{display:inline-flex;align-items:center;gap:6px;text-decoration:none;vertical-align:middle}.user-chip-avatar{width:22px;height:22px;border-radius:7px;object-fit:cover;display:block;border:1px solid #e2e8f0}.user-chip .user-name{font-weight:600}.credits-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:#ecfdf5;color:#047857;font-size:12px;font-weight:600;text-decoration:none}.credits-chip:hover{background:#d1fae5;color:#065f46}.account-settings-page{max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.account-settings-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:4px}.account-settings-kicker{margin:0 0 4px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.account-settings-title{margin:0 0 6px;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:#0f172a}.account-settings-lead{margin:0;max-width:36em;font-size:14px;line-height:1.55;color:#64748b}.account-settings-back{flex-shrink:0}.account-settings-error{margin:0}.account-profile-card{display:flex;align-items:flex-start;gap:18px;padding:18px 20px;background:#fff;border:1px solid #e8edf5;border-radius:14px;box-shadow:0 1px 2px #0f172a0a}.account-avatar-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}.account-avatar{width:72px;height:72px;border-radius:18px;display:grid;place-items:center;flex-shrink:0;background:linear-gradient(145deg,#3b82f6,#1d4ed8);color:#fff;font-size:18px;font-weight:700;letter-spacing:.02em;overflow:hidden}.account-avatar--photo{background:#e2e8f0}.account-avatar img{width:100%;height:100%;object-fit:cover;display:block}.account-avatar-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.account-avatar-hint{margin:0;font-size:11px;color:#94a3b8;text-align:center;max-width:140px;line-height:1.35}.account-profile-meta{min-width:0;flex:1;padding-top:4px}.account-profile-name{margin:0 0 2px;font-size:17px;font-weight:650;color:#0f172a}.account-profile-email{margin:0;font-size:13px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-profile-org{margin:6px 0 0;font-size:13px;color:#475569}.account-profile-bio{margin:8px 0 0;font-size:13px;color:#64748b;line-height:1.55;white-space:pre-wrap}.account-bio-input{resize:vertical;min-height:96px;line-height:1.5}.avatar-crop-modal{width:min(440px,calc(100vw - 32px))}.avatar-crop-body{display:flex;flex-direction:column;align-items:center;gap:14px}.avatar-crop-viewport{position:relative;overflow:hidden;border-radius:18px;background:#0f172a;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;box-shadow:inset 0 0 0 1px #ffffff14}.avatar-crop-viewport.is-dragging{cursor:grabbing}.avatar-crop-viewport img{position:absolute;left:50%;top:50%;max-width:none;pointer-events:none}.avatar-crop-frame{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18px;box-shadow:0 0 0 999px #0f172a6b;border:2px solid rgba(248,250,252,.92);pointer-events:none}.avatar-crop-zoom{display:flex;align-items:center;gap:10px;width:100%;max-width:280px;font-size:13px;color:#475569}.avatar-crop-zoom input[type=range]{flex:1}.account-panel{padding:18px 20px 20px;background:#fff;border:1px solid #e8edf5;border-radius:14px;box-shadow:0 1px 2px #0f172a0a}.account-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.account-panel-head h3{margin:0 0 4px;font-size:15px;font-weight:650;color:#0f172a}.account-panel-desc{margin:0;font-size:13px;line-height:1.5;color:#64748b}.account-storage-panel .storage-usage-card{margin-top:0;padding:0;border:none;border-radius:0;background:transparent}.storage-usage-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.storage-usage-total-label{display:block;font-size:12px;font-weight:500;color:#64748b;margin-bottom:2px}.storage-usage-total-value{font-size:28px;font-weight:700;line-height:1.15;color:#0f172a;letter-spacing:-.03em}.storage-usage-stats{display:flex;gap:8px}.storage-stat{min-width:64px;padding:8px 10px;border-radius:10px;background:#f1f5f9;text-align:center}.storage-stat-value{display:block;font-size:16px;font-weight:700;color:#0f172a;line-height:1.2}.storage-stat-label{display:block;margin-top:2px;font-size:11px;color:#64748b}.storage-usage-bar{display:flex;height:10px;margin-top:16px;border-radius:999px;overflow:hidden;background:#e2e8f0}.storage-usage-bar-video{background:linear-gradient(90deg,#3b82f6,#2563eb)}.storage-usage-bar-image{background:linear-gradient(90deg,#14b8a6,#0d9488)}.storage-usage-bar-other{background:#94a3b8}.storage-usage-breakdown{display:flex;flex-wrap:wrap;gap:10px 18px;margin:12px 0 0;padding:0;list-style:none;font-size:12px;color:#475569}.storage-usage-breakdown li{display:inline-flex;align-items:center;gap:6px}.storage-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.storage-dot-video{background:#2563eb}.storage-dot-image{background:#0d9488}.storage-dot-other{background:#94a3b8}.account-settings-form .form-group{margin-bottom:14px}.account-form-actions{display:flex;justify-content:flex-end;margin-top:4px}.courseware-storage-link{display:inline-flex;align-items:center;margin-top:6px;font-size:12px;color:#64748b;text-decoration:none}.courseware-storage-link:hover{color:#2563eb}.header-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.notice-bell{position:relative}.notice-bell-btn{display:inline-flex;align-items:center;gap:4px}.notice-bell-badge{min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#b91c1c;color:#fff;font-size:11px;line-height:16px;text-align:center}.notice-bell-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:min(360px,80vw);max-height:420px;overflow:auto;background:#fff;border:1px solid #e7e5e4;border-radius:12px;box-shadow:0 10px 30px #0f172a1f;padding:8px}.notice-bell-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;text-align:left;border:none;background:transparent;border-radius:8px;padding:8px;cursor:pointer}.notice-bell-item strong{font-size:14px}.notice-bell-item span{font-size:12px;color:#57534e;white-space:pre-wrap}.notice-bell-item.is-unread{background:#f0fdfa}.notice-bell-item+.notice-bell-item{margin-top:4px}.field-hint{margin:-2px 0 8px;font-size:12px;color:#6b7280;line-height:1.5}.checkbox-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:16px;height:16px;margin:0}.field-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.field-label-row label{margin-bottom:0}.field-counter{font-size:12px;color:#6b7280}.objectives-actions{display:flex;align-items:center;gap:12px}.objectives-saved-hint{font-size:13px;color:#16a34a}.latex-objectives-editor{display:flex;flex-direction:column;gap:8px}.latex-objectives-label{font-weight:600;font-size:14px}.latex-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.latex-toolbar-btn{padding:4px 10px;font-size:12px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#334155;cursor:pointer;line-height:1.4}.latex-toolbar-btn:hover:not(:disabled){border-color:#2563eb;color:#2563eb;background:#eff6ff}.latex-toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.latex-toolbar-btn-accent{font-weight:600}.latex-toolbar-btn-menu.is-open,.latex-toolbar-btn-menu[aria-expanded=true]{border-color:#2563eb;color:#2563eb;background:#eff6ff}.latex-toolbar-dropdown{position:relative}.latex-toolbar-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:20;min-width:148px;padding:4px;background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 8px 24px #0f172a1f}.latex-toolbar-menu-portal{position:fixed;z-index:1200}.latex-toolbar-menu-item{display:block;width:100%;padding:8px 10px;border:none;border-radius:6px;background:transparent;text-align:left;font-size:12px;color:#334155;cursor:pointer}.latex-toolbar-menu-item:hover{background:#eff6ff;color:#2563eb}.latex-toolbar-menu-grouped{min-width:168px;max-height:min(70vh,420px);overflow-y:auto}.latex-toolbar-menu-section+.latex-toolbar-menu-section{margin-top:4px;padding-top:4px;border-top:1px solid #e2e8f0}.latex-toolbar-menu-section-title{padding:4px 8px 2px;font-size:11px;font-weight:600;color:#64748b}.latex-toolbar-divider{width:1px;height:20px;background:#cbd5e1;margin:0 2px}.latex-toolbar-greek-menu{min-width:132px;padding:6px}.latex-toolbar-greek-menu-title{margin-bottom:4px;font-size:11px;font-weight:600;color:#64748b;text-align:center}.latex-toolbar-greek-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.latex-toolbar-greek-btn{min-width:0;padding:5px 0;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#334155;font-size:14px;line-height:1.2;cursor:pointer}.latex-toolbar-greek-btn:hover{border-color:#2563eb;color:#2563eb;background:#eff6ff}.latex-toolbar-btn-greek{letter-spacing:.04em}.latex-editor-split{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch}.latex-editor-split-with-aside{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.latex-preview-with-aside{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px);gap:12px;align-items:stretch;min-width:0}.latex-preview-aside{min-width:0;display:flex;flex-direction:column;border-left:1px solid #e5e7eb;padding-left:12px}.latex-preview-with-aside .latex-field-preview{flex:1;min-height:0}@media(max-width:768px){.latex-editor-split,.latex-editor-split-with-aside,.latex-preview-with-aside{grid-template-columns:1fr}.latex-preview-aside{border-left:none;padding-left:0;border-top:1px solid #e5e7eb;padding-top:12px}}.latex-editor-pane,.latex-preview-pane{display:flex;flex-direction:column;min-width:0}.latex-pane-title{font-size:12px;font-weight:600;color:#64748b;margin-bottom:6px}.latex-preview-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;margin-bottom:6px}.latex-preview-head .latex-pane-title{margin-bottom:0}.latex-preview-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.latex-editor-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;margin-bottom:6px}.latex-editor-head .latex-pane-title{margin-bottom:0}.latex-textarea{flex:1;width:100%;min-height:140px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.6;resize:vertical;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;background:#fff}.latex-field-editor-active .latex-textarea{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f}.latex-editor-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.latex-error-chip{font-size:12px;color:#b45309;background:#fef3c7;border-radius:999px;padding:2px 8px}.latex-repair-chip{font-size:12px;color:#166534;background:#dcfce7;border-radius:999px;padding:2px 8px}.latex-repair-hint{margin:6px 0 0;font-size:12px;color:#166534}.latex-repair-msg{margin:6px 0 0}.latex-field-preview.is-repair-draft{border-color:#22c55e;background:#f0fdf4;box-shadow:0 0 0 2px #22c55e2e}.latex-field-preview .katex-error{color:#b91c1c}.latex-preview-list{flex:1;min-height:140px;max-height:320px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;padding:8px}.latex-preview-empty{margin:0;padding:24px 12px;text-align:center;color:#94a3b8;font-size:13px}.latex-preview-item{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:6px;background:#fff;border:1px solid #e2e8f0;margin-bottom:6px}.latex-preview-item:last-child{margin-bottom:0}.latex-preview-item .question-preview{flex:1;min-width:0;padding:4px 0;background:transparent;min-height:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.6;color:#1a1a2e}.latex-preview-item .question-preview .katex{font-size:1em}.latex-preview-index{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#64748b;background:#f1f5f9;border-radius:999px}.latex-preview-blank{font-size:13px;color:#94a3b8;line-height:22px}.latex-field-editor{display:flex;flex-direction:column;gap:8px}.latex-field-editor-compact .latex-textarea{min-height:72px}.latex-field-label{font-weight:600;font-size:13px;color:#374151;margin:0}.latex-field-preview{flex:1;min-height:100px;max-height:280px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;padding:10px 12px}.latex-field-preview-compact{min-height:72px;max-height:180px}.latex-field-preview .question-preview{padding:0;background:transparent;min-height:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:16px;line-height:1.65;color:#1a1a2e;word-break:break-word}.latex-field-preview .question-preview .katex,.latex-field-preview .question-preview .latex-block .katex{font-size:1.21em}.review-page{display:flex;flex-direction:column;gap:16px;padding-bottom:24px}.review-page-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.review-page-toolbar{position:sticky;top:8px;z-index:45;padding:12px 14px;margin:0;background:#fffffff7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 24px #0f172a0f}.review-page-desc{margin:4px 0 0;color:#6b7280;font-size:14px}.review-section-nav{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;margin:0}.review-section-nav-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:8px 14px;cursor:pointer;display:inline-flex;align-items:baseline;gap:6px;color:#374151;font:inherit}.review-section-nav-item:hover{border-color:#93c5fd;background:#f8fbff}.review-section-nav-item.is-active{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8;font-weight:650}.review-section-nav-label{font-size:14px}.review-section-nav-hint{font-size:12px;color:#6b7280}.review-section-nav-item.is-active .review-section-nav-hint{color:#64748b}.review-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:16px;align-items:start}.review-workspace.is-overview{grid-template-columns:1fr}.review-workspace.is-overview .review-media-tools{display:none}.review-overview{padding:16px 18px 20px;margin:0;display:flex;flex-direction:column;gap:16px}.review-overview-intro{display:flex;flex-direction:column;gap:4px}.review-overview-title{margin:0;font-size:16px;font-weight:700;color:#111827}.review-overview-block{border:1px solid #e5e7eb;border-radius:10px;padding:12px 14px;background:#fff}.review-overview-block-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.review-overview-block-title{margin:0;font-size:14px;font-weight:650;color:#111827}.review-overview-block-body{min-width:0}.review-overview-empty{margin:0;color:#9ca3af;font-size:13px}.review-overview-meta-line{margin:0;font-size:14px;color:#374151}.review-overview-methods{display:flex;flex-direction:column;gap:14px}.review-overview-method{padding-top:10px;border-top:1px dashed #e5e7eb}.review-overview-method:first-child{padding-top:0;border-top:0}.review-overview-method-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.review-overview-method-process{max-height:280px;overflow:auto;padding:8px 10px;border-radius:8px;background:#f8fafc;border:1px solid #eef2f7}.review-overview-hints{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:12px}.review-overview-hint-label,.review-overview-hint-a-label{font-size:12px;color:#6b7280;margin-bottom:4px}.review-overview-hint-a{margin-top:6px;padding-top:6px;border-top:1px dashed #e5e7eb}.review-overview-validity{margin-top:10px;padding-top:10px;border-top:1px solid #e5e7eb}.review-overview-figures{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:12px}.review-overview-figure{margin:0;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fafafa}.review-overview-figure img{display:block;width:100%;height:auto;max-height:220px;object-fit:contain;background:#fff}.review-overview-figure figcaption{padding:6px 8px;font-size:12px;color:#6b7280;border-top:1px solid #f3f4f6}.review-overview-figure.is-geogebra{padding:12px;display:flex;align-items:center;justify-content:center;min-height:72px}.review-overview-figure-link{font-size:13px;color:#1d4ed8;text-decoration:none}.review-overview-figure-link:hover{text-decoration:underline}.review-workspace-main{min-width:0;display:flex;flex-direction:column;gap:16px}.review-media-tools{position:sticky;top:128px;z-index:20;padding:12px 14px;margin:0;display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - 96px);overflow:auto}.review-media-tools-title{margin:0;font-size:14px;font-weight:650;color:#111827}.review-media-tools.is-empty{background:#f8fafc}.review-learning-guidance-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.review-learning-guidance-body{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.review-main-image-block{padding:12px 0 0}.review-main-image-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.review-main-image-body{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.review-main-image-body .review-main-image{display:block;width:100%}.review-main-image-body .review-main-image img{width:100%;max-width:100%;max-height:min(85vh,1200px);height:auto;object-fit:contain;object-position:top center;border-radius:8px;border:1px solid #e5e7eb;background:#fff;display:block}.review-method-figures-block{margin-top:12px;padding-top:4px}.review-method-figures-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.review-method-figures-body{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:12px}.review-method-figure-item{margin:0}.review-method-figure-item img{width:100%;max-width:100%;max-height:min(85vh,1200px);height:auto;object-fit:contain;object-position:top center;border-radius:8px;border:1px solid #e5e7eb;background:#fff;display:block}@media(max-width:960px){.review-workspace{grid-template-columns:1fr}.review-media-tools{position:static;max-height:none}}.review-field-bar{position:sticky;top:68px;z-index:40;padding:12px 14px;margin:0;border:1px solid #e5e7eb;background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 24px #0f172a0f}.review-field-bar.is-idle{background:#f8fafc;box-shadow:none}.review-field-bar.is-busy{border-color:#93c5fd}.review-field-bar-main{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.review-field-bar-identity{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.review-field-bar-title{font-size:12px;color:#6b7280;letter-spacing:.02em}.review-field-bar-target{font-size:14px;color:#111827;font-weight:650}.review-field-bar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.review-field-bar-hint{margin:8px 0 0;font-size:12px;color:#6b7280}.latex-field-editor-preview-first.latex-field-editor-active{outline:2px solid #93c5fd;outline-offset:4px;border-radius:10px}.latex-editor-split.is-preview-only{grid-template-columns:1fr}.latex-editor-pane.is-collapsed{display:none}.latex-field-preview.is-preview-first{cursor:pointer}.latex-field-preview.is-preview-first:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.latex-idle-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;color:#6b7280;background:#f3f4f6}.latex-error-chip-btn{border:0;cursor:pointer;font:inherit}.latex-shared-tools-hint{font-size:12px;color:#9ca3af}.review-section{margin-bottom:0}.review-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.review-section-header .coze-detail-section-title{margin:0}.review-section-body{margin-top:12px}.teaching-meta-row{display:flex;gap:10px;align-items:stretch}.teaching-meta-row input{flex:1;min-width:0}.teaching-meta-row select{width:108px;flex-shrink:0}.review-section-body-with-side{display:grid;grid-template-columns:1fr minmax(200px,280px);gap:20px;align-items:start}.review-section-main{min-width:0;display:flex;flex-direction:column;gap:16px}.review-section-side{display:flex;flex-direction:column;gap:16px;border-left:1px solid #e5e7eb;padding-left:16px}.review-main-image img{width:100%;max-height:200px;object-fit:contain;border-radius:8px;border:1px solid #e5e7eb;background:#fff;display:block}.review-learning-guidance{margin-top:20px;display:flex;flex-direction:column;gap:8px}.hint-question-voiceover-panel{margin-top:8px;padding-left:2px}.review-method-fields{display:flex;flex-direction:column;gap:16px}.review-method-fields .latex-textarea{flex:none;min-height:0;overflow-y:auto;resize:none}.review-method-fields .latex-field-editor:not(.latex-field-editor-compact) .latex-textarea,.review-method-fields .latex-field-editor:not(.latex-field-editor-compact) .latex-field-preview,.review-method-fields .latex-preview-with-aside .latex-field-preview{height:280px;max-height:280px}.review-method-fields .latex-field-editor-compact .latex-textarea,.review-method-fields .latex-field-editor-compact .latex-field-preview{height:120px;max-height:120px;min-height:0}.review-method-fields .latex-field-preview{flex:none;overflow-y:auto}.review-method-fields .latex-preview-aside .coze-detail-illustrations-embedded{max-height:none;overflow-y:visible}.review-method-media-aside{display:flex;flex-direction:column;gap:12px;max-height:280px;overflow-y:auto}.coze-method-video-panel{border-top:1px solid #e5e7eb;padding-top:12px}.coze-method-video-preview{display:flex;flex-direction:column;gap:8px}.coze-method-video-player{width:100%;max-height:120px;border-radius:8px;border:1px solid #e5e7eb;background:#000}.coze-method-video-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.coze-method-video-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b}.coze-method-video-input{display:none}.coze-method-video-select-btn{width:100%;padding:10px 12px;font-size:13px;color:#334155;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;cursor:pointer}.coze-method-video-select-btn:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.coze-method-video-select-btn:disabled{opacity:.6;cursor:not-allowed}.scope-video-panel{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.scope-video-list{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.scope-video-item-title{font-size:13px;font-weight:600;color:#334155}.scope-video-upload-form{display:flex;flex-direction:column;gap:10px}.scope-video-pending-name{margin:0;font-size:12px;color:#64748b;word-break:break-all}.scope-video-title-label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#475569}.scope-video-title-input{width:100%;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;font-size:13px}.scope-video-progress-wrap{position:relative;height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.scope-video-progress-bar{height:100%;background:#2563eb;transition:width .2s ease}.scope-video-progress-text{display:block;margin-top:4px;font-size:12px;color:#64748b;text-align:right}.scope-video-upload-actions{display:flex;justify-content:flex-end;gap:8px}.review-method-remove{color:#b91c1c;border-color:#fecaca}.review-method-remove:hover:not(:disabled){background:#fef2f2;border-color:#f87171}.review-hints{display:flex;flex-direction:column;gap:16px;margin-top:8px}.review-hints-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.review-hints-ocr-callout{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;padding:12px 14px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc}.review-hints-ocr-callout-main{min-width:0;flex:1}.review-hints-ocr-title{margin:0 0 4px;font-size:14px;font-weight:600;color:#334155}.review-hints-ocr-desc{margin:0 0 8px;font-size:12px;line-height:1.5;color:#64748b}.review-hints-ocr-example{margin:0;padding:10px 12px;border-radius:8px;background:#fff;border:1px solid #e2e8f0;font-size:12px;line-height:1.45;color:#475569;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}@media(max-width:720px){.review-hints-ocr-callout{flex-direction:column;align-items:stretch}}.review-methods-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 12px}.review-methods-header .latex-field-label{margin:0}.review-method-header-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.review-method-ocr-banner{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:120;margin:0;padding:10px 18px;border-radius:999px;background:#1d4ed8;color:#fff;font-size:14px;font-weight:600;box-shadow:0 8px 24px #1d4ed859;pointer-events:none}.review-board-import{margin:0 0 16px;padding:14px 16px;border:1px dashed #cbd5e1;background:#f8fafc}.review-board-import-head{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.review-board-import-hint{margin:0;font-size:13px;color:#64748b;line-height:1.45}.review-board-import-body{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:14px;align-items:start}.review-board-import-preview{border:1px solid #e2e8f0;border-radius:8px;background:#fff;overflow:hidden;min-height:120px}.review-board-import-preview img{display:block;width:100%;height:auto;max-height:240px;object-fit:contain;background:#fff}.review-board-import-actions{display:flex;flex-direction:column;gap:10px;min-width:0}.review-board-import-method{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;color:#334155}.review-board-import-method select{min-width:160px;max-width:100%;padding:6px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font-size:14px}.review-board-import-btns{display:flex;flex-wrap:wrap;gap:8px}.review-board-import-note{margin:0;font-size:12px;color:#94a3b8;line-height:1.4}@media(max-width:720px){.review-board-import-body{grid-template-columns:1fr}}.research-clip{margin:0 0 16px;padding:0;overflow:hidden;border:1px solid #d7e0ea;background:#fff;box-shadow:0 1px 2px #0f172a0a}.research-clip.is-dragover{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf82e;background:linear-gradient(180deg,#e0f2fe8c,#ffffffe6),#fff}.research-clip-head{padding:14px 16px 12px;border-bottom:1px solid #e8eef5;background:linear-gradient(180deg,#f7fafc,#f3f6fa)}.research-clip-title-row{display:flex;align-items:center;gap:8px}.research-clip-mark{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;color:#1e3a5f;background:linear-gradient(160deg,#e8eef6,#dce6f1);box-shadow:inset 0 1px #ffffffb3}.research-clip-title{margin:0;font-size:14px;font-weight:650;color:#0f172a;letter-spacing:.02em}.research-clip-lead{margin:6px 0 0;padding-left:36px;font-size:12px;color:#64748b;line-height:1.45}.research-clip-add{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-left:0}.research-clip-add-tray{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px;border-radius:12px;border:1px solid #e2e8f0;background:#ffffffe0;box-shadow:inset 0 1px #ffffffe6}.research-clip-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:76px;padding:10px 8px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;color:#334155;cursor:pointer;outline:none;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.research-clip-action:hover:not(:disabled){border-color:#cbd5e1;background:#fff;box-shadow:0 1px 2px #0f172a0f}.research-clip-action:focus-visible,.research-clip-action.is-focused{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 3px #2563eb26}.research-clip-action-primary{border-color:#bfdbfe;background:linear-gradient(180deg,#eff6ff,#f8fbff);color:#1d4ed8}.research-clip-action-primary:hover:not(:disabled){border-color:#93c5fd;background:linear-gradient(180deg,#dbeafe,#eff6ff)}.research-clip-action:disabled,.research-clip-action.is-busy{opacity:.55;cursor:not-allowed;box-shadow:none}.research-clip-action-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;color:inherit;background:#ffffffd9;border:1px solid rgba(226,232,240,.9)}.research-clip-action-primary .research-clip-action-icon{border-color:#bfdbfe;background:#fff;color:#1d4ed8}.research-clip-action-label{font-size:13px;font-weight:650;line-height:1.2;color:#0f172a}.research-clip-action-primary .research-clip-action-label{color:#1e40af}.research-clip-action-sub{font-size:11px;color:#94a3b8;line-height:1.2}.research-clip-add-hint{margin:0;padding:0 4px;font-size:12px;color:#94a3b8;line-height:1.4}.research-clip-add-error{margin:0;padding:0 4px}.research-clip-shot-notice{margin:0;padding:8px 10px;border-radius:8px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e40af;font-size:12.5px;line-height:1.45}.research-clip-count{margin-left:auto;flex-shrink:0;font-size:12px;font-variant-numeric:tabular-nums;font-weight:600;color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:2px 9px;line-height:1.4}.research-clip-empty{padding:32px 20px 34px;text-align:center;background:radial-gradient(ellipse 70% 50% at 50% 0%,rgba(226,232,240,.55),transparent 70%),#fff}.research-clip-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;margin-bottom:10px;border-radius:16px;color:#64748b;background:#f1f5f9;border:1px solid #e8eef5}.research-clip-empty-title{margin:0 0 6px;font-size:14px;font-weight:600;color:#334155}.research-clip-empty-desc{margin:0 auto 8px;max-width:36em;font-size:13px;color:#64748b;line-height:1.5}.research-clip-empty-note{margin:0 auto;max-width:36em;font-size:12px;color:#94a3b8;line-height:1.45}.research-clip-body{display:grid;grid-template-columns:minmax(0,1fr) 168px;gap:14px;padding:14px 16px;align-items:start;background:#f7f9fb}.research-clip-preview-pane{min-width:0;display:flex;flex-direction:column;gap:8px}.research-clip-preview{display:flex;align-items:flex-start;justify-content:center;padding:14px;border-radius:12px;border:1px solid #e2e8f0;background:linear-gradient(180deg,#fff,#fcfdff);overflow:auto}.research-clip-preview img{display:block;max-width:100%;width:auto;height:auto;object-fit:contain}.research-clip-preview-placeholder{display:flex;align-items:center;justify-content:center;min-height:160px;border-radius:10px;border:1px dashed #cbd5e1;background:#fff;color:#94a3b8;font-size:13px}.research-clip-preview-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:650;color:#0f172a}.research-clip-preview-time{font-weight:400;color:#94a3b8}.research-clip-side{display:flex;flex-direction:column;gap:12px;min-width:0}.research-clip-thumbs{display:flex;flex-direction:column;gap:8px;max-height:min(52vh,420px);overflow-y:auto;overflow-x:hidden;padding-right:2px;scrollbar-width:thin}.research-clip-thumb{position:relative;flex:0 0 auto;border-radius:8px;background:#fff;box-shadow:0 0 0 1px #e2e8f0;transition:box-shadow .12s ease}.research-clip-thumb:hover{box-shadow:0 0 0 1px #94a3b8}.research-clip-thumb.is-active{box-shadow:0 0 0 2px #2563eb}.research-clip-thumb-hit{display:block;width:100%;padding:0;border:0;border-radius:8px;background:transparent;cursor:pointer;overflow:hidden;text-align:left}.research-clip-thumb-hit:disabled{cursor:default;opacity:.7}.research-clip-thumb-hit img{display:block;width:100%;height:68px;object-fit:contain;background:#f8fafc}.research-clip-thumb-ord{display:block;padding:3px 6px 4px;font-size:11px;font-weight:650;color:#475569;border-top:1px solid #f1f5f9;line-height:1.2}.research-clip-thumb.is-active .research-clip-thumb-ord{color:#1d4ed8;background:#eff6ff}.research-clip-thumb-used{position:absolute;left:6px;top:6px;width:7px;height:7px;border-radius:999px;background:#16a34a;box-shadow:0 0 0 2px #fff}.research-clip-thumb-remove{position:absolute;top:4px;right:4px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;border-radius:999px;color:#fff;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;opacity:0;transform:scale(.92);transition:opacity .12s ease,transform .12s ease,background .12s ease}.research-clip-thumb:hover .research-clip-thumb-remove,.research-clip-thumb.is-active .research-clip-thumb-remove,.research-clip-thumb-remove:focus-visible{opacity:1;transform:scale(1)}.research-clip-thumb-remove:hover{background:#dc2626}.research-clip-thumb-remove:disabled{opacity:.35;cursor:not-allowed}.research-clip-badge{font-size:10px;font-weight:650;color:#166534;background:#dcfce7;border-radius:4px;padding:2px 6px;line-height:1.3}.research-clip-toolbar{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:10px;border:1px solid #e2e8f0;background:#fff}.research-clip-method{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#334155}.research-clip-method-label{color:#64748b;font-weight:500}.research-clip-method select{width:100%;min-width:0;padding:6px 8px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font-size:13px}.research-clip-recognize{width:100%}.research-clip-actions{display:flex;flex-direction:column;gap:12px;margin-top:4px;padding-top:10px;border-top:1px solid #e2e8f0}.research-clip-recognize--hint{margin-top:2px}.research-clip-note{margin:4px 0 0;font-size:11px;color:#94a3b8;line-height:1.4}.research-shot-modal{width:min(920px,calc(100vw - 32px));max-width:min(920px,calc(100vw - 32px));max-height:calc(100vh - 40px)}.research-shot-body{display:flex;flex-direction:column;gap:10px;min-height:0}.research-shot-tip{margin:0;font-size:13px;color:#64748b}.research-shot-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:min(52vh,420px);max-height:min(62vh,560px);border-radius:12px;border:1px solid #e2e8f0;background:linear-gradient(45deg,#f1f5f9 25%,transparent 25%),linear-gradient(-45deg,#f1f5f9 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f1f5f9 75%),linear-gradient(-45deg,transparent 75%,#f1f5f9 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0;background-color:#fff;overflow:hidden;touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none}.research-shot-stage img{max-width:100%;max-height:min(62vh,560px);width:auto;height:auto;object-fit:contain;pointer-events:none;display:block}.research-shot-crop{position:absolute;border:2px solid #2563eb;background:#2563eb1f;box-shadow:0 0 0 9999px #0f172a59;pointer-events:none}.research-shot-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px 18px;border-top:1px solid #e5e7eb;background:#fafbfc}@media(hover:none){.research-clip-thumb-remove{opacity:1;transform:scale(1);background:#0f172a9e}}@media(max-width:640px){.research-clip-add-tray{grid-template-columns:1fr}.research-clip-action{min-height:64px;flex-direction:row;justify-content:flex-start;gap:10px;padding:10px 12px}.research-clip-action-sub{margin-left:auto}.research-clip-body{grid-template-columns:1fr;gap:10px;padding:12px}.research-clip-side{order:2}.research-clip-thumbs{flex-direction:row;max-height:none;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;-webkit-overflow-scrolling:touch}.research-clip-thumb{flex:0 0 88px;width:88px}.research-clip-thumb-hit img{height:64px}.research-clip-lead{padding-left:0}.research-clip-toolbar{flex-direction:column;flex-wrap:nowrap;align-items:stretch}.research-clip-method{flex:1 1 auto;width:100%}.research-clip-actions{width:100%}.research-clip-recognize{width:100%;flex:0 0 auto}.research-clip-note{flex:1 1 100%}}.review-hints-header .latex-field-label{margin:0}.review-hints-empty{margin:0;font-size:13px;color:#94a3b8}.review-hint-item{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid #e5e7eb}.review-hints>.latex-field-label+.review-hint-item{border-top:none;padding-top:0}.review-hints-header+.review-hint-item{border-top:none;padding-top:0}.review-hint-item-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.review-hint-item-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.review-hint-order{min-width:32px;padding-left:8px;padding-right:8px}.review-hint-fields{display:flex;flex-direction:column;gap:12px}.review-hint-fields .latex-textarea{flex:none;min-height:0;overflow-y:auto;resize:none}.review-hint-fields .latex-field-editor:not(.latex-field-editor-compact) .latex-textarea,.review-hint-fields .latex-field-editor:not(.latex-field-editor-compact) .latex-field-preview,.review-hint-fields .latex-preview-with-aside .latex-field-preview{height:120px;max-height:120px}.review-hint-fields .latex-field-editor-compact .latex-textarea,.review-hint-fields .latex-field-editor-compact .latex-field-preview{height:120px;max-height:120px;min-height:0}.review-hint-fields .latex-field-preview{flex:none;overflow-y:auto}.review-hint-fields .latex-preview-aside .coze-detail-illustrations-embedded{max-height:none;min-height:0;overflow:hidden;max-width:100%}.review-hint-fields .latex-preview-aside{min-width:180px}.review-hint-fields .coze-illustration-error{position:relative;z-index:1}.review-hint-item-header .latex-field-label{margin:0}.review-hint-remove{color:#b91c1c;border-color:#fecaca}.review-hint-remove:hover:not(:disabled){background:#fef2f2;border-color:#f87171}.review-meta-grid{display:grid;grid-template-columns:1fr 120px;gap:16px}.review-page-footer{position:sticky;bottom:0;z-index:5;box-shadow:0 -4px 16px #0f172a0f}.review-page-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.review-page-action-hints{margin-top:10px;padding-top:10px;border-top:1px solid #eef2f7;font-size:12.5px;line-height:1.55;color:#64748b}.review-page-action-hints p{margin:0 0 6px}.review-page-action-hints p:last-child{margin-bottom:0}.review-page-action-hints strong{color:#334155;font-weight:600}.review-page-action-hints em{font-style:normal;color:#b45309}.review-page-action-hints code{font-size:12px;padding:0 4px;border-radius:4px;background:#f1f5f9;color:#475569}@media(max-width:900px){.review-section-body-with-side{grid-template-columns:1fr}.review-section-side{border-left:none;padding-left:0;border-top:1px solid #e5e7eb;padding-top:16px}.review-meta-grid{grid-template-columns:1fr}}.form-error{color:#dc2626;font-size:14px;margin:0 0 12px}.form-group-compact{margin-bottom:12px}.upload-zone{border:2px dashed #cbd5e1;border-radius:12px;background:#f8fafc;padding:16px;cursor:default;transition:border-color .15s,background .15s;outline:none}.upload-zone:hover,.upload-zone-focused{border-color:#2563eb;background:#eff6ff}.upload-zone-drag{border-color:#2563eb;background:#dbeafe}.upload-zone-has-image{cursor:default}.upload-input-hidden{display:none}.upload-placeholder{text-align:center;padding:12px 8px}.upload-icon{font-size:28px;display:block;margin-bottom:8px}.upload-title{margin:0 0 4px;font-weight:600;font-size:14px}.upload-desc{margin:0;font-size:12px;color:#64748b;line-height:1.6}.upload-select-btn{margin-top:12px}.upload-preview-actions-left{display:flex;align-items:center;gap:8px;flex-shrink:0}.upload-preview-wrap{display:flex;flex-direction:column;gap:10px}.upload-preview{width:100%;max-height:220px;object-fit:contain;border-radius:8px;background:#fff;border:1px solid #e2e8f0}.upload-preview-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.upload-file-name{font-size:12px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-sm{padding:6px 12px;font-size:13px}.illustration-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}@media(max-width:768px){.illustration-list{grid-template-columns:1fr}}.illustration-item{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#fff}.illustration-item img{width:100%;height:100px;object-fit:cover;display:block}.illustration-item-placeholder{width:100%;height:100px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;color:#6b7280;font-size:12px}.illustration-item-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;font-size:12px;color:#475569}.illustration-draft{border:1px solid #e2e8f0;border-radius:10px;padding:12px;background:#fafafa}.illustration-draft-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.question-list-item{border-top:1px solid #e5e7eb;padding-top:12px;margin-top:12px}.question-list-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.question-stem-preview{position:relative}.question-stem-body{max-height:5.6em;overflow:hidden;position:relative}.question-stem-body .question-preview{min-height:0;padding:8px 10px}.question-stem-body:after{content:"";position:absolute;left:0;right:0;bottom:0;height:28px;background:linear-gradient(transparent,#f9fafb);pointer-events:none;border-radius:0 0 8px 8px}.question-stem-body.is-expanded{max-height:none;overflow:visible}.question-stem-body.is-expanded:after{display:none}.question-stem-expand-btn{margin-top:4px;display:inline-flex;align-items:center;justify-content:center;min-width:28px;width:28px;height:24px;padding:0;line-height:1}.question-stem-expand-icon{display:block;transition:transform .15s ease}.question-stem-expand-btn.is-expanded .question-stem-expand-icon{transform:rotate(180deg)}.question-list-item-badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.question-list-reorder{display:inline-flex;gap:2px;margin-right:4px}.question-reorder-btn{min-width:28px;padding:2px 6px;line-height:1.2}.badge-role{font-weight:600}.question-role-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;padding:2px 8px;font-size:inherit;line-height:1.4}.question-role-select:disabled{opacity:.6;cursor:not-allowed}.question-list-item-actions{display:flex;gap:8px;flex-shrink:0}.question-list-item-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.question-meta-chip{font-size:12px;padding:2px 10px;border-radius:999px;background:#f3f4f6;color:#4b5563}.question-meta-chip-latex{display:inline-flex;align-items:center;flex-wrap:wrap;gap:2px 4px;max-width:100%}.question-meta-chip-label{flex-shrink:0}.question-meta-chip-latex .question-preview{display:inline;padding:0;background:transparent;min-height:0;font-size:inherit;line-height:inherit;color:inherit}.question-meta-chip-latex .question-preview .katex{font-size:1em}.question-meta-chip-latex .question-preview .latex-block{display:inline-block;margin:0;vertical-align:middle}.question-list-group{border-top:1px solid #e5e7eb;margin-top:12px;padding-top:4px}.question-list-group:first-child{border-top:none;margin-top:0;padding-top:0}.question-list-group .question-list-item{border-top:none;margin-top:0;padding-top:8px}.badge-toggle{cursor:pointer;border:none;font:inherit;margin-left:4px}.badge-toggle:hover{filter:brightness(.95)}.badge-chevron{margin-left:4px;font-size:10px}.question-list-variants{margin:4px 0 8px 12px;padding-left:16px;border-left:3px solid #bfdbfe}.variant-exercise-item{padding:12px 14px;margin-top:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.variant-exercise-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.variant-exercise-label{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.variant-exercise-actions{display:flex;gap:6px;flex-shrink:0}.variant-exercise-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.variant-lineage-section .variant-lineage-box{padding:12px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;font-size:13px}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px;border-bottom:1px solid #e5e7eb}.modal-header-actions{display:flex;gap:8px;flex-shrink:0}.modal-header>div:last-child,.modal-header .btn+.btn{flex-shrink:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000}.modal-panel{background:#fff;border-radius:14px;box-shadow:0 20px 50px #00000026;width:100%;max-width:820px;max-height:min(90vh,900px);display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.modal-header h2{margin:0 0 6px;font-size:1.15rem}.modal-subtitle{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px}.modal-body{padding:16px 24px 24px;overflow-y:auto;flex:1 1 auto;min-height:0}.variant-generate-modal{max-width:920px}.pdf-import-modal{max-width:min(1120px,96vw);max-height:min(94vh,960px)}.exam-pdf-smart-modal{max-width:min(1080px,96vw);max-height:min(94vh,920px)}.exam-pdf-smart-body{display:flex;flex-direction:column;gap:12px}.exam-pdf-smart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:220px;text-align:center}.exam-pdf-smart-rules{width:min(100%,420px);text-align:left;padding:12px 14px;border:1px solid var(--border, #e5e7eb);border-radius:10px;background:var(--surface-muted, #f8fafc);font-size:.92rem;color:var(--muted, #64748b)}.exam-pdf-smart-rules strong{display:block;margin-bottom:6px;color:var(--text, #0f172a);font-weight:600}.exam-pdf-smart-rules ul{margin:0;padding-left:1.15em;display:flex;flex-direction:column;gap:4px}.exam-pdf-smart-ready{display:flex;flex-direction:column;gap:12px;min-height:0}.exam-pdf-smart-settings{display:grid;grid-template-columns:1fr 1fr;gap:12px}.exam-pdf-smart-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;max-height:min(52vh,480px);overflow:auto}.exam-pdf-smart-list-item{border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;background:#f8fafc}.exam-pdf-smart-list-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:.9rem}.exam-pdf-smart-done{min-height:auto;padding-top:8px}@media(max-width:860px){.exam-pdf-smart-settings{grid-template-columns:1fr}}.exam-pdf-smart-review{display:flex;flex-direction:column;gap:12px;min-height:0}.exam-pdf-smart-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;font-size:.9rem}.exam-pdf-smart-meta-actions{display:flex;gap:8px}.exam-pdf-smart-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px;min-height:0}.exam-pdf-smart-edit,.exam-pdf-smart-preview{min-width:0}.exam-pdf-smart-preview{border:1px solid #e5e7eb;border-radius:10px;padding:12px 14px;background:#f8fafc;max-height:min(58vh,560px);overflow:auto}.exam-pdf-smart-preview h4{margin:0 0 10px;font-size:.95rem}.exam-pdf-smart-preview-block{margin-bottom:12px}.exam-pdf-smart-preview-block .muted{margin-bottom:4px;font-size:.8rem}.exam-pdf-smart-footer{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}@media(max-width:860px){.exam-pdf-smart-grid{grid-template-columns:1fr}}.pdf-import-body{display:flex;flex-direction:column;gap:12px;padding-top:12px}.pdf-import-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.pdf-import-file{font-size:.9rem}.pdf-import-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px;min-height:0;flex:1}.pdf-import-stage-wrap{min-width:0;display:flex;flex-direction:column;gap:8px}.pdf-import-pager{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pdf-import-stage{border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc;overflow:auto;max-height:min(62vh,640px);padding:12px;touch-action:none}.pdf-import-stage.is-dragging,.pdf-import-page{-webkit-user-select:none;user-select:none}.pdf-import-page{position:relative;display:inline-block;max-width:100%;cursor:crosshair;touch-action:none}.pdf-import-page img{display:block;max-width:100%;height:auto;pointer-events:none}.pdf-import-crop{position:absolute;border:2px solid #2563eb;background:#2563eb1f;box-shadow:0 0 0 1px #fffc inset;pointer-events:none}.pdf-import-crop--auto{border-color:#059669;background:#0596691a}.pdf-import-crop-label{position:absolute;top:0;left:0;padding:1px 6px;font-size:11px;font-weight:600;color:#fff;background:#059669;border-bottom-right-radius:4px}.pdf-import-stage-empty,.pdf-import-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:220px;text-align:center}.pdf-import-hint{margin:0;font-size:.85rem}.pdf-import-side{display:flex;flex-direction:column;gap:10px;min-width:0}.pdf-import-actions{display:flex;flex-direction:column;gap:8px}.pdf-import-side-tip{margin:0;font-size:.85rem;line-height:1.45}.pdf-import-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:.85rem;max-height:180px;overflow:auto}.pdf-import-log li.is-ok{color:#047857}.pdf-import-log li.is-fail{color:#b91c1c}@media(max-width:860px){.pdf-import-layout{grid-template-columns:1fr}.pdf-import-stage{max-height:48vh}}.variant-modal-body{padding-top:0}.variant-source-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.variant-source-toolbar .variant-section-label{margin:0;padding:0}.variant-source-body{max-height:120px;overflow:hidden;position:relative}.variant-source-body:after{content:"";position:absolute;left:0;right:0;bottom:0;height:36px;background:linear-gradient(transparent,#fff);pointer-events:none}.variant-source-body.is-expanded{max-height:none;overflow:visible}.variant-source-body.is-expanded:after{display:none}.variant-modal-inline-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 0 8px}.variant-requirement-panel{padding-top:12px;margin-bottom:8px}.variant-requirement-textarea{display:block;width:100%;box-sizing:border-box;margin-top:8px;padding:12px 14px;min-height:120px;border:2px solid #93c5fd;border-radius:10px;background:#f8fbff;font-size:14px;line-height:1.55;color:#0f172a;resize:vertical;font-family:inherit}.variant-requirement-textarea:focus,.variant-requirement-textarea.is-active{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26;background:#fff}.variant-requirement-textarea:disabled{opacity:.7;cursor:not-allowed}.variant-requirement-textarea::placeholder{color:#94a3b8;white-space:pre-wrap}.variant-requirement-preview{margin-top:8px;padding:10px 12px;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0}.variant-requirement-preview-label{display:block;margin-bottom:4px;font-size:12px;font-weight:600;color:#64748b}.question-migrate-modal{max-width:640px}.question-migrate-body{display:flex;flex-direction:column;gap:20px;padding-top:8px}.migrate-section-label{margin:0 0 10px;font-size:13px;font-weight:600;color:#475569;letter-spacing:.01em}.migrate-source-preview{padding-bottom:4px}.migrate-stem{padding:12px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;line-height:1.55;max-height:96px;overflow:hidden}.migrate-mode-toggle{display:grid;grid-template-columns:1fr 1fr;gap:10px}.migrate-mode-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.migrate-mode-btn strong{font-size:14px;color:#0f172a}.migrate-mode-btn span{font-size:12px;color:#64748b;line-height:1.4}.migrate-mode-btn:hover{border-color:#cbd5e1}.migrate-mode-btn.is-active{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 1px #2563eb}.migrate-callout{margin:10px 0 0;padding:10px 12px;border-radius:8px;background:#f1f5f9;color:#475569;font-size:13px;line-height:1.45}.migrate-callout-warn{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.migrate-lesson-filters{display:flex;gap:8px;margin-bottom:10px}.migrate-search{flex:1;min-width:0;padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px}.migrate-folder-select{max-width:160px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;background:#fff}.migrate-list-hint{margin:0;padding:16px 0;color:#64748b;font-size:13px}.migrate-lesson-list{list-style:none;margin:0;padding:0;max-height:220px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:10px}.migrate-lesson-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:11px 14px;border:none;border-bottom:1px solid #f1f5f9;background:#fff;cursor:pointer;text-align:left}.migrate-lesson-list li:last-child .migrate-lesson-item{border-bottom:none}.migrate-lesson-item:hover{background:#f8fafc}.migrate-lesson-item.is-selected{background:#bfdbfe;box-shadow:inset 3px 0 #2563eb}.migrate-lesson-item.is-selected .migrate-lesson-title{color:#1e3a8a}.migrate-lesson-item.is-selected .migrate-lesson-meta{color:#1e40af}.migrate-lesson-title{font-size:14px;font-weight:600;color:#0f172a}.migrate-lesson-meta{font-size:12px;color:#64748b}.migrate-role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.migrate-role-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.migrate-role-card strong{font-size:14px;color:#0f172a}.migrate-role-card span{font-size:12px;color:#64748b;line-height:1.35}.migrate-role-card:hover{border-color:#cbd5e1}.migrate-role-card.is-selected{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 1px #2563eb}.migrate-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #e5e7eb}@media(max-width:560px){.migrate-mode-toggle,.migrate-role-grid{grid-template-columns:1fr}.migrate-lesson-filters{flex-direction:column}.migrate-folder-select{max-width:none}}.variant-generate-modal .variant-modal-actions{padding-left:24px;padding-right:24px;flex-shrink:0}.variant-source-preview{padding-top:16px;padding-bottom:12px;border-bottom:1px solid #f1f5f9}.variant-section-label{margin:16px 0 10px;font-size:13px;font-weight:600;color:#475569}.variant-loading{padding:24px;color:#64748b;font-size:14px}.variant-list{display:flex;flex-direction:column;gap:12px;padding-bottom:8px}.variant-card{display:flex;gap:12px;padding:14px;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:border-color .15s,background .15s}.variant-card:hover{border-color:#cbd5e1;background:#f8fafc}.variant-card-selected{border-color:#93c5fd;background:#eff6ff}.variant-card input[type=checkbox]{margin-top:4px;flex-shrink:0}.variant-card-body{flex:1;min-width:0}.variant-card-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.variant-focus{margin:0 0 8px;font-size:12px;color:#0369a1}.variant-solution{margin-top:10px;padding:10px 12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;max-height:180px;overflow-y:auto;font-size:13px;line-height:1.6}.variant-solution-label{margin:0 0 6px;font-size:12px;font-weight:600;color:#64748b}.variant-answer{margin:8px 0 0;font-size:13px;color:#475569}.variant-answer-label{display:inline-block;margin-bottom:2px;font-weight:600;color:#64748b}.variant-answer .rich-latex-content{margin-top:2px}.variant-pedagogy{margin:0 24px 12px;padding:12px 14px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}.variant-pedagogy-block+.variant-pedagogy-block{margin-top:10px}.variant-pedagogy-list{margin:6px 0 0;padding-left:1.25rem;font-size:13px;line-height:1.55;color:#334155}.variant-focus-goals strong{color:#0f172a}.variant-goal-why{color:#64748b;font-weight:400}.variant-difficulty{margin:6px 0 0;font-size:12px;color:#94a3b8}.variant-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 24px;border-top:1px solid #f1f5f9}.badge-variant{background:#dbeafe;color:#1d4ed8}.badge-variant-link{background:#ecfdf5;color:#047857}.coze-detail-section{margin-bottom:20px}.coze-detail-section-title{margin:0 0 8px;font-size:14px;font-weight:600;color:#374151;padding-left:10px;border-left:3px solid #2563eb}.coze-detail-section .question-preview{min-height:auto}.coze-detail-error{margin-top:8px}.coze-detail-error-text{margin:0;padding:12px;background:#fef2f2;border-radius:8px;font-size:12px;color:#991b1b;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.latex-block{display:block;margin:8px 0;overflow-x:auto}.coze-detail-stem-layout{display:grid;grid-template-columns:1fr minmax(180px,280px);gap:16px;align-items:start}.coze-detail-stem-main{min-width:0}.coze-detail-illustrations{border-left:1px solid #e5e7eb;padding-left:16px}.coze-detail-illustrations-embedded{border-left:none;padding-left:0;height:100%;max-width:100%;overflow:hidden}.coze-detail-illustrations-title{margin:0 0 10px;font-size:13px;font-weight:600;color:#374151;display:flex;align-items:center;justify-content:space-between;gap:8px}.coze-illustration-hint{margin:0;font-size:12px;color:#94a3b8;line-height:1.5}.coze-illustration-upload-actions{display:flex;flex-direction:column;gap:8px}.coze-illustration-video-section{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.coze-illustration-video-section-embedded{margin-top:10px;padding-top:10px}.coze-illustration-file-btn{width:100%;justify-content:center}.coze-detail-illustration-geogebra{grid-column:1 / -1;max-width:100%;overflow:hidden}.coze-detail-illustration-geogebra .geogebra-embed{margin:0}.coze-detail-illustration-geogebra .geogebra-embed-frame{min-height:0}.coze-illustration-error{margin:8px 0 0;font-size:12px}.coze-illustration-caption{display:flex;align-items:center;justify-content:space-between;gap:8px}.coze-illustration-caption-actions{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.coze-illustration-redraw{border:none;background:none;color:#2563eb;font-size:12px;cursor:pointer;padding:0}.coze-illustration-redraw:hover{text-decoration:underline}.coze-illustration-delete{border:none;background:none;color:#dc2626;font-size:12px;cursor:pointer;padding:0}.coze-illustration-delete:hover:not(:disabled){text-decoration:underline}.coze-illustration-delete:disabled{opacity:.5;cursor:not-allowed}.figure-ggb-modal-backdrop{z-index:1200}.figure-ggb-modal{max-width:min(1100px,96vw);max-height:min(94vh,920px)}.figure-ggb-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 20px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.figure-ggb-modal-header h3{margin:0 0 4px;font-size:18px}.figure-ggb-modal-sub{margin:0;font-size:13px;color:#64748b;max-width:52em}.figure-ggb-modal-body{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(320px,1.2fr);gap:16px;padding:16px 20px;overflow:auto;flex:1;min-height:0}.figure-ggb-source h4,.figure-ggb-preview h4{margin:0 0 8px;font-size:14px}.figure-ggb-source-img{display:block;width:100%;max-height:280px;object-fit:contain;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.figure-ggb-source-empty{min-height:120px;display:flex;align-items:center;justify-content:center;padding:16px;text-align:center;color:#64748b;font-size:13px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px}.figure-ggb-source-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:center}.figure-ggb-existing{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px}.figure-ggb-existing-label{font-size:12px;color:#64748b}.figure-ggb-commands-label{display:block;margin-top:10px;font-size:12px;color:#475569}.figure-ggb-commands{display:block;width:100%;margin-top:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.4;padding:8px;border:1px solid #cbd5e1;border-radius:8px;resize:vertical}.figure-ggb-command-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:8px}.figure-ggb-notes{margin:10px 0 0;font-size:12px;color:#64748b}.figure-ggb-error{margin:0 20px 8px}.figure-ggb-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 20px 16px;border-top:1px solid #e5e7eb;flex-shrink:0}.figure-ggb-applet-loading,.figure-ggb-applet-error{margin:0 0 8px;font-size:13px}.figure-ggb-applet-error{color:#dc2626}.figure-ggb-applet-warn{margin:0 0 8px;padding:8px 10px;font-size:12px;line-height:1.45;color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px}.geometry-figure-editor{display:flex;flex-direction:row;align-items:stretch;gap:10px}.geometry-figure-tools{flex:0 0 88px;display:flex;flex-direction:column;gap:4px;padding:6px 4px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px}.geometry-figure-tools-title{font-size:11px;font-weight:600;color:#64748b;text-align:center;margin-bottom:2px;letter-spacing:.04em}.geometry-tool-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:44px;padding:6px 4px;border:1px solid transparent;border-radius:6px;background:transparent;color:#334155;cursor:pointer;font-size:12px;line-height:1.2}.geometry-tool-btn:hover:not(:disabled){background:#e2e8f0}.geometry-tool-btn.is-active{background:#fff;border-color:#93c5fd;color:#1d4ed8;box-shadow:0 0 0 1px #dbeafe}.geometry-tool-btn:disabled{opacity:.4;cursor:not-allowed}.geometry-tool-danger{margin-top:4px;border-top:1px dashed #cbd5e1;border-radius:0 0 6px 6px;padding-top:10px}.geometry-tool-label{font-weight:600}.geometry-tool-kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;color:#94a3b8;background:#fff;border:1px solid #e2e8f0;border-radius:3px;padding:0 4px;line-height:1.4}.geometry-tool-btn.is-active .geometry-tool-kbd{color:#64748b;border-color:#bfdbfe}.geometry-figure-tools-esc{margin:6px 2px 0;font-size:10px;color:#94a3b8;text-align:center;line-height:1.35}.geometry-figure-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.geometry-font-size-ctrl{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.geometry-font-size-label{font-size:12px;color:#64748b}.geometry-font-size-value{min-width:1.6em;text-align:center;font-size:13px;font-variant-numeric:tabular-nums;color:#0f172a}.geometry-figure-hint{font-size:12px;color:#64748b}.geometry-figure-canvas-wrap{overflow:auto;max-height:min(52vh,420px);border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;padding:8px}.geometry-figure-svg{display:block;margin:0 auto;max-width:100%;height:auto;background:#fff;border-radius:4px;box-shadow:0 0 0 1px #e2e8f0;touch-action:none}.geometry-figure-editor.is-dragging{-webkit-user-select:none;user-select:none}.geometry-label-edit{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:#fff;border:1px solid #93c5fd;border-radius:8px;box-shadow:0 4px 16px #2563eb1f}.geometry-label-edit-head{display:flex;flex-direction:column;gap:2px}.geometry-label-edit-head strong{font-size:13px;color:#1e3a8a}.geometry-label-edit-tip{font-size:11px;color:#64748b;line-height:1.4}.geometry-label-edit-input{width:100%;resize:vertical;min-height:52px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.4;border:1px solid #cbd5e1;border-radius:6px}.geometry-label-edit-input.is-latex-active{border-color:#60a5fa;box-shadow:0 0 0 2px #2563eb26}.geometry-label-edit-preview{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:12px;color:#475569}.geometry-label-edit-preview-label{font-weight:600;color:#64748b}.geometry-label-edit-preview-plain{color:#0f172a}.geometry-label-edit-preview-rich{display:inline-flex;align-items:center;padding:2px 8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px}.geometry-label-edit-actions{display:flex;justify-content:flex-end;gap:8px}.figure-ggb-applet-warn code{font-size:11px}.figure-ggb-applet-frame{width:100%;overflow:auto;border:1px solid #e2e8f0;border-radius:8px;background:#fff}@media(max-width:860px){.figure-ggb-modal-body{grid-template-columns:1fr}}.screenshot-paste-zone{border:1px dashed #cbd5e1;border-radius:10px;background:#fff;padding:12px 10px;text-align:center;cursor:pointer;outline:none;transition:border-color .15s,background .15s,box-shadow .15s}.screenshot-paste-zone-focused{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 3px #2563eb1f}.screenshot-paste-zone-busy{opacity:.7}.screenshot-paste-zone-compact{padding:10px 8px}.screenshot-paste-icon{display:inline-flex;align-items:center;justify-content:center;margin-bottom:4px;color:#64748b}.screenshot-paste-title{margin:0;font-size:12px;font-weight:600;color:#334155}.screenshot-paste-desc{margin:4px 0 0;font-size:11px;color:#94a3b8}.coze-detail-illustrations-grid{display:flex;flex-direction:column;gap:12px}.coze-detail-illustration-item{margin:0}.coze-detail-illustration-item img{width:100%;max-height:200px;object-fit:contain;border-radius:8px;border:1px solid #e5e7eb;background:#fff;display:block}.coze-detail-illustration-item figcaption{margin-top:4px;font-size:12px;color:#6b7280;text-align:center}@media(max-width:768px){.coze-detail-stem-layout{grid-template-columns:1fr}.coze-detail-illustrations{border-left:none;padding-left:0;border-top:1px solid #e5e7eb;padding-top:16px}.coze-detail-illustrations-grid{flex-direction:row;flex-wrap:wrap}.coze-detail-illustration-item{flex:1 1 140px;max-width:48%}}.layout-latex-toolbar{padding-right:0}.latex-toolbar-vertical{flex-direction:column;align-items:stretch;gap:4px;padding:6px;border:none;background:transparent}.latex-toolbar-vertical .latex-toolbar-btn{width:100%;text-align:center}.latex-toolbar-vertical .latex-toolbar-divider{width:100%;height:1px;margin:2px 0}.latex-toolbar-dock{position:fixed;top:50%;right:12px;transform:translateY(-50%);z-index:1100;width:112px;max-height:min(70vh,560px);overflow:hidden;display:flex;flex-direction:column;padding:10px 8px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 32px #0f172a1f;visibility:hidden;opacity:0;pointer-events:none}.latex-toolbar-dock.is-mobile-open{visibility:visible;opacity:1;pointer-events:auto}.latex-toolbar-dock-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.latex-toolbar-dock-header{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:6px}.latex-toolbar-dock-title{font-size:12px;font-weight:700;color:#334155}.latex-toolbar-dock-close{display:inline-flex;align-items:center;border:1px solid #cbd5e1;background:#fff;font-size:12px;font-weight:600;line-height:1;color:#334155;cursor:pointer;padding:4px 8px;border-radius:999px}.latex-toolbar-dock-target,.latex-toolbar-dock-hint{margin:0 0 8px;font-size:11px;line-height:1.4;color:#64748b}.latex-toolbar-dock-target{color:#2563eb;font-weight:600}.latex-toolbar-dock .latex-toolbar-vertical .latex-toolbar-dropdown{width:100%}.latex-toolbar-mobile-toggle{display:block;position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:1101;padding:10px 12px;font-size:13px;font-weight:600;color:#fff;background:#2563eb;border:none;border-radius:999px;box-shadow:0 4px 16px #2563eb59;cursor:pointer}.latex-toolbar-mobile-toggle.is-open{right:132px;background:#475569;box-shadow:0 4px 16px #47556959}.latex-toolbar-mobile-backdrop{display:none}@media(max-width:900px){.layout-latex-toolbar{padding-right:0;padding-bottom:0}.latex-toolbar-mobile-toggle{top:auto;bottom:88px;transform:none}.latex-toolbar-mobile-toggle.is-open{display:block;right:16px;background:#475569;box-shadow:0 4px 16px #47556959}.latex-toolbar-mobile-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1099;border:none;background:#0f172a59;cursor:pointer}.latex-toolbar-dock{top:auto;bottom:0;left:0;right:0;transform:none;width:auto;max-height:0;overflow:hidden;opacity:0;pointer-events:none;border-radius:16px 16px 0 0;transition:max-height .25s ease,opacity .2s ease}.latex-toolbar-dock.is-mobile-open{max-height:min(70vh,520px);opacity:1;pointer-events:auto}.latex-toolbar-dock-close{display:block}.latex-toolbar-dock .latex-toolbar-vertical{flex-flow:row wrap;flex-direction:row;justify-content:flex-start}.latex-toolbar-dock .latex-toolbar-vertical .latex-toolbar-btn{width:auto;flex:0 0 auto}.latex-toolbar-dock .latex-toolbar-vertical .latex-toolbar-divider{width:1px;height:20px;margin:0 2px}.latex-toolbar-dock .latex-toolbar-vertical .latex-toolbar-menu{right:auto;left:0;top:calc(100% + 4px)}}body.has-figure-geometry-modal .latex-toolbar-dock{z-index:1300}body.has-figure-geometry-modal .latex-toolbar-mobile-toggle{z-index:1301}body.has-figure-geometry-modal .latex-toolbar-menu-portal{z-index:1400}@media(max-width:900px){body.has-figure-geometry-modal .latex-toolbar-mobile-backdrop{z-index:1299}}.badge-warn{background:#fef3c7;color:#92400e}.concept-workflow-banner{padding:12px 14px;border-radius:8px;border:1px solid transparent}.concept-workflow-banner strong{display:block;margin-bottom:4px}.concept-workflow-banner p{margin:0;font-size:14px;line-height:1.5}.concept-workflow-banner-hint{margin-top:6px!important;color:#6b7280;font-size:13px!important}.concept-workflow-banner-warn{background:#fffbeb;border-color:#fcd34d;color:#92400e}.concept-workflow-banner-info{background:#eff6ff;border-color:#93c5fd;color:#1e40af}.concept-workflow-error,.concept-workflow-item-error{padding:10px 12px;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:14px;line-height:1.5}.concept-workflow-item-error{margin-top:8px}.concept-property-panel{display:flex;flex-direction:column;gap:16px}.concept-property-add-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}.concept-property-prompt-field{display:block;margin-top:10px}.concept-property-prompt-field-label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:#374151}.concept-property-prompt-field textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-family:inherit;font-size:14px;line-height:1.5;resize:vertical}.concept-property-prompt-hint{margin:0 0 10px;padding:8px 10px;font-size:13px;line-height:1.5;color:#4b5563;background:#f3f4f6;border-radius:8px}.concept-property-prompt-label{font-weight:600;color:#374151}.concept-property-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:768px){.concept-property-columns,.concept-property-add-row{grid-template-columns:1fr}}.concept-property-column-title{margin:0 0 10px;font-size:14px;color:#374151}.concept-property-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.concept-property-card{border:1px solid #e5e7eb;border-radius:10px;padding:14px;background:#fafafa}.concept-property-card-header{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-bottom:10px}.concept-property-card-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;width:100%;font-size:15px;font-weight:700;line-height:1.45;color:#0f172a;word-break:break-word}.concept-property-reorder{display:inline-flex;gap:2px;flex-shrink:0}.concept-property-card-title strong{display:inline;font-weight:700}.concept-property-card-toolbar{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0;justify-content:flex-start}.concept-content-editor .review-field-bar{position:sticky;top:68px;margin-bottom:4px;border-radius:10px}.concept-edit-section-title{margin:0 0 12px;font-size:1rem;font-weight:600;color:#1f2937}.concept-content-preview.is-repair-draft{outline:2px solid #93c5fd;outline-offset:-1px;background:#f0f7ff}.concept-edit-section{margin-bottom:0}@media(max-width:640px){.concept-property-card-toolbar{justify-content:flex-start}}.concept-property-preview{font-size:14px;line-height:1.6;color:#374151}.concept-property-edit{width:100%;min-height:80px;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-family:inherit;font-size:14px;line-height:1.5;resize:vertical}.concept-property-edit-form{display:flex;flex-direction:column;gap:12px;margin-top:8px}.concept-property-edit-field{display:flex;flex-direction:column;gap:6px}.concept-property-edit-field input{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.concept-property-edit-label{font-size:13px;font-weight:600;color:#374151}.concept-content-editor{margin-top:4px}.concept-content-textarea{min-height:280px}.concept-content-preview{flex:1;min-height:280px;overflow-y:auto;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.concept-content-preview .question-preview{padding:0;background:transparent;min-height:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.6;color:#1a1a2e;word-break:break-word}.concept-content-preview .question-preview .katex,.concept-content-preview .question-preview .latex-block .katex,.concept-content-preview .question-preview mjx-container,.concept-property-preview .question-preview mjx-container{font-size:1em}.question-preview.mathjax-content h1,.question-preview.mathjax-content h2,.question-preview.mathjax-content h3,.question-preview.rich-latex-content h1,.question-preview.rich-latex-content h2,.question-preview.rich-latex-content h3{margin:.75em 0 .35em;font-size:1.05rem;line-height:1.4}.question-preview.mathjax-content h1,.question-preview.rich-latex-content h1{font-size:1.2rem}.question-preview.mathjax-content p,.question-preview.rich-latex-content p{margin:.45em 0;line-height:1.65}.question-preview.mathjax-content .rich-content-line,.question-preview.rich-latex-content .rich-content-line{display:block;margin:.45em 0;line-height:1.65}.question-preview.mathjax-content p.rich-content-gap,.question-preview.rich-latex-content p.rich-content-gap{margin:0;min-height:1.1em;line-height:1.1em}.question-preview.mathjax-content mjx-container{font-size:1em}.question-preview.rich-latex-content .katex,.concept-content-preview .question-preview .latex-block .katex{font-size:1em}.rich-latex-content .teaching-content-image,.concept-content-preview .teaching-content-image,.concept-property-preview .teaching-content-image{display:block;max-width:100%;max-height:220px;width:auto;height:auto;object-fit:contain;margin:10px auto;border-radius:8px;border:1px solid #e5e7eb;background:#fff}.rich-latex-content .teaching-content-image.is-sized,.concept-content-preview .teaching-content-image.is-sized,.concept-property-preview .teaching-content-image.is-sized{max-height:none;margin-left:0;margin-right:auto}.teaching-content-image-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;justify-content:flex-start;margin:10px 0}.teaching-content-image-cell{flex:1 1 calc(50% - 10px);min-width:140px;max-width:calc(50% - 5px)}.teaching-content-image-cell .teaching-content-image{max-height:200px;margin:0 auto}.concept-property-preview-wrap{display:flex;flex-direction:column;gap:2px}.concept-property-preview.is-collapsed{max-height:160px;overflow:hidden;position:relative}.concept-property-preview.is-collapsed:after{content:"";position:absolute;left:0;right:0;bottom:0;height:40px;pointer-events:none;background:linear-gradient(transparent,#fff)}.concept-property-preview-toggle-btn{display:block;width:100%;flex-shrink:0;margin-top:2px;padding:6px 0;border:none;background:transparent;color:#2563eb;font-size:12px;cursor:pointer;text-align:center;position:relative;z-index:1}.concept-property-preview-toggle-btn:hover{text-decoration:underline}.concept-content-media-strip{margin:0 0 8px;padding:8px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.concept-content-media-strip-label{margin-bottom:6px;font-size:12px;color:#64748b}.concept-content-media-strip-list{display:flex;flex-wrap:wrap;gap:10px}.concept-content-media-card{display:flex;flex-direction:column;gap:4px;width:96px}.concept-content-media-thumb{position:relative;width:96px;height:72px}.concept-content-media-thumb-btn{display:block;width:100%;height:100%;padding:0;border:1px solid #cbd5e1;border-radius:6px;overflow:hidden;background:#fff;cursor:pointer}.concept-content-media-thumb-btn img{display:block;width:100%;height:100%;object-fit:cover}.concept-content-media-remove{position:absolute;top:-6px;right:-6px;width:20px;height:20px;padding:0;border:none;border-radius:50%;background:#ef4444;color:#fff;font-size:14px;line-height:20px;cursor:pointer}.concept-content-media-remove:disabled{opacity:.5;cursor:not-allowed}.concept-content-media-size{display:flex;flex-wrap:wrap;gap:2px}.concept-content-media-size-btn{flex:1 1 auto;min-width:0;padding:2px 0;border:1px solid #cbd5e1;border-radius:4px;background:#fff;color:#64748b;font-size:11px;line-height:1.2;cursor:pointer}.concept-content-media-size-btn.is-active{border-color:#4f46e5;background:#eef2ff;color:#3730a3;font-weight:600}.concept-content-media-size-btn:disabled{opacity:.5;cursor:not-allowed}.teaching-content-video{margin:14px 0;padding:10px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.teaching-content-video-title{margin-bottom:8px;font-size:13px;font-weight:600;color:#334155}.teaching-content-video-player{display:block;width:100%;max-height:360px;border-radius:8px;background:#000}.concept-content-image-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px}.concept-content-image-hint{font-size:12px;color:#6b7280}.geogebra-embed{margin:16px 0;padding:12px;border:1px solid #dbeafe;border-radius:12px;background:#f8fbff}.geogebra-embed-title{margin-bottom:8px;font-size:14px;font-weight:600;color:#1d4ed8}.geogebra-embed-loading{margin:0 0 8px;font-size:13px;color:#6b7280}.geogebra-embed-error{margin:0 0 8px;font-size:13px;color:#b91c1c}.geogebra-embed-frame{width:100%;min-height:360px;overflow:hidden;border-radius:8px;background:#fff}.geogebra-embed-frame iframe{display:block;width:100%!important;max-width:100%}.geogebra-embed-compact{margin:8px 0;padding:8px}.geogebra-embed-compact .geogebra-embed-title{margin-bottom:4px;font-size:12px}.geogebra-embed-compact .geogebra-embed-frame{min-height:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.concept-voiceover-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px}.concept-voiceover-label{font-size:13px;font-weight:600;color:#166534}.concept-voiceover-bar audio{flex:1;min-width:200px;height:36px}.concept-edit-voiceover-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px}.concept-edit-prompt-tools{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:12px}.concept-edit-prompt-template{display:flex;flex-direction:column;gap:4px;min-width:220px;flex:1 1 240px}.concept-edit-prompt-template select{width:100%;min-height:36px}.concept-choice-editors-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.concept-choice-editors-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.concept-choice-editors-title{margin:0;font-size:16px}.concept-choice-editor-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}.concept-choice-editor-card{border:1px solid #e5e7eb;border-radius:10px;padding:12px;background:#fafafa}.concept-choice-editor-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.concept-choice-editor-confirm{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#6b7280}.concept-choice-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-top:8px}.concept-choice-answer-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;align-items:flex-end}.concept-choice-answer-row select{min-width:96px;min-height:36px}.concept-choice-raw-editor{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.55;white-space:pre-wrap;min-height:280px;height:100%;resize:vertical}.concept-choice-editor-body{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}.concept-choice-editor-pane{min-width:0;display:flex;flex-direction:column;margin-top:0}.concept-choice-editor-pane .concept-choice-raw-editor{flex:1}.concept-choice-preview-wrap{margin-top:0}.concept-choice-preview{margin-top:6px;padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;min-height:280px;flex:1}.concept-choice-preview-stem{font-size:15px;line-height:1.7}.concept-choice-preview-meta{margin:10px 0 0;font-size:14px;color:#374151}.concept-choice-preview-meta--warn{color:#b45309}.concept-choice-preview-solution{margin-top:8px;font-size:14px;line-height:1.6;color:#4b5563}@media(max-width:900px){.concept-choice-editor-body{grid-template-columns:1fr}.concept-choice-raw-editor,.concept-choice-preview{min-height:200px}}@media(max-width:768px){.concept-choice-options-grid{grid-template-columns:1fr}}.concept-property-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.concept-property-empty{margin:0;font-size:13px;color:#9ca3af}.concept-property-exercises{margin-top:12px;padding-top:12px;border-top:1px dashed #e5e7eb}.concept-property-exercises-title{margin:0 0 8px;font-size:13px;font-weight:600;color:#374151}.concept-property-exercise-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.concept-property-exercise-item{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px}.concept-property-exercise-index{color:#6b7280;flex-shrink:0}.concept-property-exercise-stem{flex:1;min-width:120px;color:#374151}.concept-property-exercise-stem .question-preview{font-size:13px;line-height:1.45}.concept-property-exercise-stem .katex{font-size:1em}.analytics-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.analytics-breadcrumb{margin:0;font-size:13px;color:#6b7280}.analytics-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:12px}.analytics-stat{background:#f8fafc;border-radius:10px;padding:14px;text-align:center}.analytics-stat-value{font-size:1.5rem;font-weight:700;color:#1e293b}.analytics-stat-label{font-size:13px;color:#64748b;margin-top:4px}.analytics-stat-hint{font-size:11px;color:#94a3b8;margin-top:4px}.analytics-table-wrap{overflow-x:auto;margin-top:12px}.analytics-table{width:100%;border-collapse:collapse;font-size:14px}.analytics-table th,.analytics-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #e5e7eb}.analytics-table th{font-weight:600;color:#374151;background:#f9fafb}.analytics-table tr.selected-row{background:#eff6ff}.analytics-stem-cell{max-width:420px;min-width:200px;vertical-align:top}.analytics-stem-cell .question-preview{font-size:13px;line-height:1.5}.cell-sub{font-size:12px;color:#9ca3af}.text-success{color:#16a34a;font-weight:600}.text-warn{color:#d97706;font-weight:600}.text-danger{color:#dc2626;font-weight:600}.analytics-detail-meta{display:flex;flex-wrap:wrap;gap:12px 20px;font-size:14px;color:#475569;margin-bottom:16px}.analytics-timeline{list-style:none;margin:12px 0 0;padding:0}.analytics-timeline li{display:flex;flex-wrap:wrap;gap:8px 12px;padding:10px 0;border-bottom:1px solid #f1f5f9;font-size:14px}.timeline-time{color:#94a3b8;min-width:100px}.timeline-type{font-weight:600;color:#2563eb}.timeline-detail{color:#64748b}.session-detail-panel h3{margin:0 0 8px}.session-detail-header{margin-bottom:16px}.session-detail-stats{margin-bottom:24px}.session-daily-section h4,.session-questions-section h4{margin:0 0 12px;font-size:15px;color:#334155}.session-daily-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:28px}.session-daily-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px}.session-daily-date{font-weight:600;color:#1e293b;margin-bottom:4px}.session-daily-duration{font-size:1.25rem;font-weight:700;color:#2563eb;margin-bottom:8px}.session-daily-meta{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#64748b}.session-q-list{display:flex;flex-direction:column;gap:16px}.session-q-card{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;background:#fff}.session-q-card.session-q-correct{border-left:4px solid #22c55e}.session-q-card.session-q-wrong{border-left:4px solid #dc2626}.session-q-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.session-q-header-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.session-q-index{font-weight:700;color:#1e293b}.session-q-header-stats{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:#64748b}.session-q-process{margin:0 0 10px;padding:8px 10px;border-radius:8px;background:#f1f5f9;color:#334155;font-size:13px;line-height:1.45}.session-q-card.session-q-unanswered{border-color:#cbd5e1}.session-q-stem,.session-q-answer,.session-q-reference{padding:14px 16px}.session-q-stem{background:#fafbfc;border-bottom:1px solid #f1f5f9}.session-q-answer{border-bottom:1px solid #f1f5f9}.session-q-ai-feedback{padding:14px 16px;background:#fffbeb;border-bottom:1px solid #fde68a}.session-q-ai-feedback h5{margin:0 0 8px;font-size:13px;font-weight:600;color:#92400e;text-transform:uppercase;letter-spacing:.02em}.session-q-ai-feedback-text{font-size:14px;color:#78350f;line-height:1.6}.session-q-reference{padding:0;background:#f8fafc;border-bottom:1px solid #e2e8f0}.session-q-reference-details{padding:14px 16px}.session-q-reference-details>summary{cursor:pointer;font-size:14px;font-weight:600;color:#2563eb;list-style:none;-webkit-user-select:none;user-select:none}.session-q-reference-details>summary::-webkit-details-marker{display:none}.session-q-reference-details>summary:before{content:"▸ ";display:inline-block;transition:transform .15s}.session-q-reference-details[open]>summary:before{transform:rotate(90deg)}.session-q-reference-body{margin-top:12px;padding:12px 14px;background:#eff6ff;border-radius:8px;border:1px solid #dbeafe}.session-q-reference-solution{margin-top:12px}.session-q-recognized-latex{padding:12px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.session-q-answer-attachments{margin-top:12px}.session-q-answer-attachments .session-q-label{display:block;margin-bottom:8px}.session-q-stem h5,.session-q-answer h5,.session-q-reference h5{margin:0 0 8px;font-size:13px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.02em}.session-q-stem-images{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.session-q-stem-images img,.session-q-answer-images img{max-width:240px;max-height:180px;border-radius:8px;border:1px solid #e2e8f0;object-fit:contain;background:#fff}.session-q-answer-images{display:flex;flex-wrap:wrap;gap:10px}.session-q-answer-block{display:flex;flex-direction:column;gap:10px}.session-q-label{display:block;font-size:12px;color:#64748b;margin-bottom:4px}.session-q-details{margin-top:8px;font-size:14px}.session-q-details summary{cursor:pointer;color:#2563eb;font-weight:500}.session-q-pre{margin:8px 0 0;padding:10px;background:#f1f5f9;border-radius:6px;font-size:12px;white-space:pre-wrap;word-break:break-word}.session-q-feedback,.session-q-diagnosis{margin:10px 0 0;font-size:14px;color:#475569}.session-q-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.session-q-footer{display:flex;flex-wrap:wrap;gap:12px 20px;padding:10px 16px;font-size:13px;color:#94a3b8;background:#fafbfc}.session-q-submissions{padding:0 16px 14px}.session-q-submissions-toggle{border:none;background:none;color:#2563eb;font-size:13px;cursor:pointer;padding:0}.session-q-submissions-list{list-style:none;margin:8px 0 0;padding:0}.session-q-submissions-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:8px 0;border-top:1px solid #f1f5f9;font-size:13px}.session-q-sub-meta{color:#64748b}.session-q-sub-answer{flex:1 1 100%}.session-q-empty{color:#94a3b8}.session-redo-summary{margin:16px 0 20px;padding:14px 16px;border-radius:10px;background:#eff6ff;border:1px solid #bfdbfe}.session-redo-summary h4{margin:0 0 8px}.session-redo-summary p{margin:0;color:#1e3a8a;font-size:14px;line-height:1.6}.session-q-redo{padding:14px 16px;border-top:1px solid #e2e8f0}.session-q-redo h5{margin:0 0 8px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.session-q-redo-pending{background:#f8fafc;color:#64748b}.session-q-redo-pending p{margin:0;font-size:14px}.session-q-redo-passed{background:#ecfdf5;border-top-color:#bbf7d0}.session-q-redo-passed h5{color:#166534}.session-q-redo-failed{background:#fef2f2;border-top-color:#fecaca}.session-q-redo-failed h5{color:#991b1b}.session-q-redo-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px;font-size:13px;color:#475569}.session-q-redo-answer,.session-q-redo-feedback{margin-top:10px}.session-q-review{padding:14px 16px;background:#f0fdf4;border-top:1px solid #bbf7d0}.session-q-review h5{margin:0 0 10px;font-size:13px;font-weight:600;color:#166534;text-transform:uppercase;letter-spacing:.02em}.session-q-review-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.session-q-review-tab{padding:6px 14px;border:1px solid #d1d5db;border-radius:999px;background:#fff;font-size:13px;cursor:pointer;color:#475569}.session-q-review-tab.active{border-color:#22c55e;background:#dcfce7;color:#166534;font-weight:600}.session-q-review-tab.active.corrected{border-color:#f59e0b;background:#fef3c7;color:#92400e}.session-q-review-tab:disabled{opacity:.6;cursor:not-allowed}.session-q-review-ai-tag{font-size:12px;margin-left:auto}.session-q-review-form{display:flex;flex-direction:column;gap:12px;padding-top:4px}.session-q-review-verdict-options{display:flex;flex-wrap:wrap;gap:12px 16px;margin-top:6px}.session-q-review-verdict-option{display:inline-flex;align-items:center;gap:6px;font-size:14px;cursor:pointer}.session-q-review-image-item{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.session-q-review-image-remove{font-size:12px}.session-q-card.session-q-teacher-corrected{border-left-color:#f59e0b}.session-review-footer{margin-top:28px;padding-top:24px;border-top:2px solid #e2e8f0}.session-review-footer h4{margin:0 0 12px;font-size:16px;color:#1e293b}.session-review-summary-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:12px 16px;background:#f8fafc;border-radius:10px;margin-bottom:16px;font-size:14px}.session-review-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.session-review-hints{margin-top:12px}.report-preview-modal{max-width:880px;width:calc(100% - 32px);max-height:calc(100vh - 48px);display:flex;flex-direction:column}.report-preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid #e2e8f0}.report-preview-header h3{margin:0}.report-preview-body{overflow-y:auto;padding:20px 24px 24px}.report-preview-hero{background:linear-gradient(135deg,#eff6ff,#f0fdf4);border:1px solid #dbeafe;border-radius:12px;padding:20px;margin-bottom:20px}.report-preview-level{display:inline-block;font-size:1.5rem;font-weight:700;color:#1d4ed8;margin-bottom:10px}.report-preview-narrative{margin:0;line-height:1.7;color:#334155;font-size:15px}.report-preview-stats,.report-preview-highlights,.report-preview-hard{margin-bottom:20px}.report-preview-highlights h5,.report-preview-hard h5,.report-preview-questions h5{margin:0 0 10px;font-size:14px;color:#475569}.report-preview-highlights ul,.report-preview-hard ul{margin:0;padding-left:20px;color:#334155;line-height:1.6}.report-preview-q-list{display:flex;flex-direction:column;gap:10px}.report-preview-q{border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;border-left-width:4px}.report-preview-q.ok{border-left-color:#22c55e}.report-preview-q.partial{border-left-color:#f59e0b}.report-preview-q.bad{border-left-color:#dc2626}.report-preview-q header{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px;font-size:13px}.report-preview-process{margin:0 0 10px;padding:6px 10px;border-radius:8px;background:#f1f5f9;color:#334155;font-size:13px}.report-preview-q-stem{margin-bottom:10px;padding:10px;background:#fafbfc;border-radius:8px}.report-preview-q-answer{font-size:14px}.session-cohort-panel{margin-bottom:16px;padding:14px 16px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.session-cohort-panel h5{margin:0 0 12px;font-size:14px;color:#475569}.session-cohort-stats{gap:10px}.session-review-comment-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.session-review-comment-header label{margin:0}.session-q-teacher-review{margin-top:12px;padding:12px 14px;background:#fff;border:1px solid #bbf7d0;border-radius:8px}.session-q-teacher-review.inline{margin-top:10px;background:#f0fdf4}.session-q-teacher-review h5{margin:0 0 8px;font-size:13px;font-weight:600;color:#166534}.session-q-teacher-verdict{margin:0 0 8px;font-size:14px}.session-q-teacher-latex,.session-q-teacher-note{margin-top:8px}.lesson-prep{display:flex;flex-direction:column;gap:0}.prep-header{margin-bottom:20px;padding:20px 24px}.prep-header-main{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.prep-breadcrumb{margin:0 0 4px;font-size:13px;color:#6b7280}.prep-title{margin:0;font-size:1.35rem;font-weight:700;color:#1a1a2e}.prep-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.prep-title-edit{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:2px}.prep-title-input{flex:1 1 220px;min-width:180px;max-width:480px;padding:8px 12px;border:1px solid #cbd5e1;border-radius:10px;font-size:1.15rem;font-weight:700;color:#1a1a2e;background:#fff}.prep-title-input:focus{outline:none;border-color:#94a3b8;box-shadow:0 0 0 3px #94a3b840}.prep-title-edit-btn{flex-shrink:0}.prep-grade-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px;font-size:13px;color:#64748b}.prep-grade-row label{font-weight:600;color:#475569}.prep-grade-select{min-width:96px;padding:4px 8px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;font-size:13px}.prep-grade-select:disabled{opacity:.65;cursor:not-allowed}.prep-grade-hint{font-size:12px;color:#94a3b8}.prep-grade-hint--ok{color:#16a34a}.prep-header-stats{display:flex;gap:12px;flex-shrink:0}.prep-stat{display:flex;flex-direction:column;align-items:center;padding:8px 16px;background:#f8fafc;border-radius:10px;min-width:72px}.prep-stat-value{font-size:1.25rem;font-weight:700;color:#2563eb;line-height:1.2}.prep-stat-label{font-size:11px;color:#64748b;margin-top:2px}.prep-steps-list{display:flex;align-items:center;list-style:none;margin:0;padding:0;gap:0}.prep-steps-item{display:flex;align-items:center;flex:1;min-width:0}.prep-steps-connector{flex:1;height:2px;background:#e5e7eb;margin:0 4px;min-width:12px}.prep-steps-connector-done{background:#93c5fd}.prep-steps-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 8px;border:none;background:transparent;cursor:pointer;border-radius:8px;transition:background .15s;flex-shrink:0}.prep-steps-btn:hover{background:#f1f5f9}.prep-steps-num{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:999px;font-size:13px;font-weight:600;background:#e5e7eb;color:#64748b;transition:background .15s,color .15s}.prep-steps-btn-active .prep-steps-num{background:#2563eb;color:#fff}.prep-steps-btn-done .prep-steps-num{background:#dbeafe;color:#1d4ed8}.prep-steps-btn-done.prep-steps-btn-active .prep-steps-num{background:#2563eb;color:#fff}.prep-steps-label{font-size:12px;color:#64748b;white-space:nowrap}.prep-steps-btn-active .prep-steps-label{color:#2563eb;font-weight:600}.prep-layout{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start}.prep-main{display:flex;flex-direction:column;gap:12px;min-width:0}.prep-sidebar{position:sticky;top:24px;display:flex;flex-direction:column;gap:12px}.prep-sidebar-card{margin-bottom:0;padding:16px 18px}.prep-sidebar-title{margin:0 0 12px;font-size:14px;font-weight:600;color:#374151}.prep-sidebar-empty{margin:0 0 12px;font-size:13px;color:#9ca3af;line-height:1.5}.prep-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden}.prep-section-header{display:flex;align-items:center;gap:12px;width:100%;padding:16px 20px;border:none;background:transparent;cursor:pointer;text-align:left;transition:background .15s}.prep-section-header:hover{background:#f8fafc}.prep-section-expanded .prep-section-header{border-bottom:1px solid #f1f5f9}.prep-section-step{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#eff6ff;color:#2563eb;font-size:14px;font-weight:700}.prep-section-header-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.prep-section-title{font-size:15px;font-weight:600;color:#1a1a2e}.prep-section-subtitle{font-size:12px;color:#9ca3af;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prep-section-badge{flex-shrink:0}.prep-section-chevron{flex-shrink:0;color:#94a3b8;font-size:14px}.prep-section-body{padding:16px 20px 20px}.prep-section-desc{margin:0 0 12px;font-size:13px;color:#6b7280;line-height:1.5}.situational-intro-add-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.situational-intro-group{margin-bottom:20px;padding:14px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.situational-intro-group-title{margin:0 0 10px;font-size:.95rem;font-weight:650;color:#111827}.situational-intro-preview{margin-top:12px;padding:12px;border-radius:8px;background:#f9fafb;border:1px dashed #d1d5db}.situational-intro-preview-label{font-size:.8rem;color:#6b7280;margin-bottom:8px}.situational-intro-prompt-tools{margin-bottom:14px;flex-wrap:wrap}.situational-intro-hint-field{display:flex;flex-direction:column;gap:4px;flex:1;min-width:200px}.situational-intro-hint-field input{border:1px solid #d1d5db;border-radius:8px;padding:8px 10px;font:inherit}.situational-intro-paste{margin-bottom:16px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#fafafa}.situational-intro-paste summary{cursor:pointer;font-size:.9rem;color:#374151;font-weight:560}.situational-intro-paste .situational-intro-body{margin-top:10px}.situational-intro-split{margin-top:8px;margin-bottom:10px}.situational-intro-preview-pane{min-height:120px}.situational-intro-split .situational-intro-body{min-height:120px;width:100%;box-sizing:border-box}.situational-intro-empty{margin:0 0 12px;color:#9ca3af;font-size:.9rem}.situational-intro-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:12px}.situational-intro-card{border:1px solid #e5e7eb;border-radius:10px;padding:12px;background:#fafafa}.situational-intro-card-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.situational-intro-index{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:#e5e7eb;font-size:.75rem;font-weight:600}.situational-intro-card-actions{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}.situational-intro-body{width:100%;min-height:72px;resize:vertical;border:1px solid #d1d5db;border-radius:8px;padding:10px 12px;font:inherit;background:#fff}.situational-intro-voiceover,.situational-intro-media{margin-top:10px;display:flex;flex-direction:column;gap:8px}.situational-intro-voiceover label{font-size:.85rem;color:#6b7280}.situational-intro-media{flex-direction:row;flex-wrap:wrap;align-items:center}.situational-intro-media input[type=url],.situational-intro-voiceover input{flex:1;min-width:180px;border:1px solid #d1d5db;border-radius:8px;padding:8px 10px;font:inherit;background:#fff}.situational-intro-media-preview{width:100%;margin-top:4px}.situational-intro-media-preview img,.situational-intro-media-preview video{max-width:100%;max-height:220px;border-radius:8px;background:#111}.prep-questions-layout{display:grid;grid-template-columns:248px 1fr;gap:0;align-items:start;min-height:200px}.prep-upload-toolbar{position:sticky;top:0;padding:14px 16px 16px 0;border-right:1px solid #e5e7eb;margin-right:20px}.prep-toolbar-title{margin:0 0 12px;font-size:13px;font-weight:600;color:#374151;letter-spacing:.02em}.prep-upload-toolbar>.btn-block{margin:0}.prep-toolbar-actions{margin-bottom:12px}.prep-toolbar-divider{margin:14px 0 12px;font-size:12px;color:#94a3b8;text-align:center}.manual-question-modal{max-width:880px}.manual-question-body{display:flex;flex-direction:column;gap:12px}.manual-question-prompt-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.manual-question-prompt-bar .field-hint{margin:0;flex:1}.manual-question-mode-tabs{display:flex;gap:0;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;width:fit-content;margin-top:2px}.manual-question-mode-tabs button{border:none;background:#fff;padding:8px 14px;font-size:13px;color:#64748b;cursor:pointer}.manual-question-mode-tabs button+button{border-left:1px solid #e2e8f0}.manual-question-mode-tabs button.is-active{background:#eff6ff;color:#1d4ed8;font-weight:600}.manual-question-paste{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.5;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;resize:vertical}.manual-question-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 24px;border-top:1px solid #e5e7eb;flex-shrink:0}.manual-validity-note{margin-top:12px;padding:10px 12px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px}.upload-toolbar-form .form-group{margin-bottom:10px}.upload-toolbar-form .form-group label{font-size:12px;margin-bottom:4px;color:#64748b}.upload-toolbar-form .form-group input,.upload-toolbar-form .form-group select{padding:7px 10px;font-size:13px}.upload-zone-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.upload-zone-label-row label{margin-bottom:0}.btn-text-link{border:none;background:none;padding:0;color:#2563eb;font-size:12px;cursor:pointer;white-space:nowrap;text-decoration:underline;text-underline-offset:2px}.btn-text-link:hover{color:#1d4ed8}.question-image-guide-backdrop{z-index:2400;align-items:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}.question-image-guide-modal{max-width:520px;width:min(520px,calc(100vw - 32px));max-height:min(88vh,720px);overflow:hidden;background:#fff}.question-image-guide-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:16px;padding-bottom:8px}.question-image-guide-footer{flex-shrink:0;background:#fff}.image-guide-section h3{margin:0 0 6px;font-size:14px;font-weight:700;color:#0f172a}.image-guide-section .field-hint{margin:0 0 8px;font-size:12px;line-height:1.45;color:#64748b}.image-guide-list{margin:0;padding-left:1.2em;color:#475569;font-size:13px;line-height:1.55}.image-guide-list-warn{color:#92400e}.image-guide-wire{display:flex;flex-direction:column;gap:8px;padding:10px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px}.image-guide-block{position:relative;padding:10px 12px;border-radius:8px;border:1.5px solid #e2e8f0;background:#fff}.image-guide-sample{margin-top:2px}.image-guide-sample p{margin:0 0 2px;font-size:13px;color:#334155;line-height:1.45}.image-guide-sample p:last-child{margin-bottom:0}.image-guide-tag{display:inline-block;margin-bottom:6px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.3;color:#1e40af;background:#dbeafe}.image-guide-block-stem{border-color:#93c5fd}.image-guide-block-answer{border-color:#86efac}.image-guide-block-answer .image-guide-tag{color:#166534;background:#dcfce7}.image-guide-block-process{border-color:#fcd34d}.image-guide-block-process .image-guide-tag{color:#92400e;background:#fef3c7}.upload-toolbar-form .field-hint{margin:2px 0 0;font-size:11px}.upload-toolbar-form .upload-zone{padding:10px}.upload-toolbar-form .upload-icon{font-size:22px;margin-bottom:4px}.upload-toolbar-form .upload-title{font-size:12px}.upload-toolbar-form .upload-desc{font-size:11px}.upload-toolbar-form .upload-preview{max-height:120px}.upload-toolbar-form .upload-preview-actions{flex-direction:column;align-items:stretch;gap:6px}.upload-toolbar-form .upload-file-name{text-align:center}.upload-toolbar-status{margin:8px 0 0!important;font-size:11px;line-height:1.4;color:#2563eb}.prep-question-list-panel{min-width:0;padding-top:2px}.prep-question-list-panel .question-list-item{padding-top:10px;margin-top:10px}.prep-question-list-panel .question-list-item-header{gap:8px;margin-bottom:6px}.prep-question-list-panel .question-list-item-meta{gap:6px;margin-bottom:6px}.prep-question-list-panel .question-meta-chip{font-size:11px;padding:1px 8px}.prep-question-list-panel .question-preview{padding:8px 10px;min-height:0;font-size:13px;line-height:1.55}.prep-question-list-panel .question-preview .katex{font-size:.92em}.prep-question-list-panel .question-preview .latex-block{margin:4px 0}.prep-question-list-panel .question-list-variants{margin-left:8px;padding-left:12px}.prep-question-list-panel .variant-exercise-item{padding:10px 12px;margin-top:6px}.prep-question-list-panel .variant-exercise-header,.prep-question-list-panel .variant-exercise-meta{margin-bottom:6px}.prep-question-list-panel .btn-sm{padding:4px 10px;font-size:12px}.prep-question-list-panel .badge{font-size:11px}@media(max-width:768px){.prep-questions-layout{grid-template-columns:1fr}.prep-upload-toolbar{position:static;padding:0 0 16px;margin-right:0;border-right:none;border-bottom:1px solid #e5e7eb;margin-bottom:16px}}.prep-panel-title{margin:0 0 12px;font-size:14px;font-weight:600;color:#374151;display:flex;align-items:center;gap:8px}.prep-panel-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:12px;font-weight:600}.prep-empty-state{text-align:center;padding:32px 16px;color:#9ca3af}.prep-empty-icon{font-size:32px;display:block;margin-bottom:8px}.prep-empty-state p{margin:0;font-size:13px}.prep-flow-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.prep-flow-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:#f8fafc;border:1px solid #f1f5f9}.prep-flow-item.is-example-block{background:#eef4ff;border-color:#c7d7fe}.prep-sidebar-hint{margin:-4px 0 10px;font-size:12px;line-height:1.45;color:#64748b}.prep-flow-reorder{display:inline-flex;flex-direction:column;gap:2px;flex-shrink:0}.prep-flow-index{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#e0e7ff;color:#4338ca;font-size:11px;font-weight:700}.prep-flow-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.prep-flow-name{font-size:13px;font-weight:500;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prep-flow-type{font-size:11px;color:#94a3b8}.prep-flow-detail{font-size:11px;color:#4338ca;font-weight:600}.prep-ops-panel{margin:0 0 22px;padding:4px;border-radius:18px;border:1px solid rgba(15,23,42,.06);background:radial-gradient(900px 220px at 8% 0%,rgba(37,99,235,.07),transparent 55%),radial-gradient(700px 200px at 92% 10%,rgba(15,118,110,.06),transparent 50%),linear-gradient(180deg,#f4f7fb,#eef3f8);box-shadow:0 10px 28px #0f172a0d}.prep-ops-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:stretch}@media(max-width:1180px){.share-qr-layout{grid-template-columns:1fr;justify-items:stretch}.share-qr-ticket{max-width:220px;margin:0 auto}.share-qr-meta{width:100%}}.prep-ops-card{display:flex;flex-direction:column;gap:14px;min-width:0;padding:16px 16px 14px;border:1px solid rgba(255,255,255,.7);border-radius:14px;background:#ffffffeb;box-shadow:0 1px #fffc inset,0 8px 20px #0f172a0a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.prep-ops-card--share{background:linear-gradient(165deg,#eff6ffa6,#fffffff5 38%)}.prep-ops-card--pdf{background:linear-gradient(165deg,#fffbeb8c,#fffffff5 40%)}.prep-ops-card--usage{grid-column:1 / -1;background:linear-gradient(165deg,#f0fdfa8c,#fffffff5 42%)}.prep-ops-card-head{display:flex;align-items:flex-start;gap:11px}.prep-ops-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:11px;flex-shrink:0}.prep-ops-icon--share{color:#1d4ed8;background:linear-gradient(180deg,#dbeafe,#eff6ff);box-shadow:0 0 0 1px #2563eb1f}.prep-ops-icon--pdf{color:#b45309;background:linear-gradient(180deg,#fde68a,#fffbeb);box-shadow:0 0 0 1px #b453091f}.prep-ops-icon--usage{color:#0f766e;background:linear-gradient(180deg,#99f6e4,#f0fdfa);box-shadow:0 0 0 1px #0f766e1f}.prep-ops-icon--grant{color:#6d28d9;background:linear-gradient(180deg,#ddd6fe,#f5f3ff);box-shadow:0 0 0 1px #6d28d91f}.prep-ops-title{margin:0;font-size:15px;font-weight:700;color:#0f172a;line-height:1.3;letter-spacing:-.01em}.prep-ops-subtitle{margin:3px 0 0;font-size:12px;color:#64748b;line-height:1.4}.prep-ops-empty{margin:0;flex:1;font-size:13px;line-height:1.5;color:#94a3b8}.prep-ops-share-body{display:flex;flex-direction:column;gap:10px;flex:1}.share-qr-panel{display:flex;flex-direction:column;gap:14px}.share-qr-layout{display:grid;grid-template-columns:minmax(180px,220px) minmax(0,1fr);gap:20px;align-items:stretch}.share-qr-visual{min-width:0}.share-qr-ticket{height:100%;padding:14px 12px 12px;border-radius:16px;text-align:center;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e2e8f0;box-shadow:0 1px #ffffffe6 inset,0 10px 24px #0f172a0d}.share-qr-frame{position:relative;width:148px;height:148px;margin:0 auto;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #cbd5e1;box-shadow:0 0 0 6px #f1f5f9,0 8px 20px #0f172a0f}.share-qr-frame canvas{width:132px!important;height:132px!important;display:block}.share-qr-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:#94a3b8;background:#ffffffeb}.share-qr-caption{margin:12px 0 0;font-size:13px;font-weight:700;color:#0f172a;line-height:1.3;letter-spacing:-.01em}.share-qr-hint{margin:4px 0 0;font-size:11px;color:#64748b;line-height:1.35}.share-qr-meta{min-width:0;display:flex;flex-direction:column;gap:12px}.share-qr-error{margin:0;font-size:12px}.share-qr-field{display:flex;flex-direction:column;gap:6px}.share-qr-field-label{font-size:11px;font-weight:700;color:#475569;letter-spacing:.04em;text-transform:uppercase}.share-qr-code-card{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:16px;background:linear-gradient(145deg,#0f172a,#1e293b 55%,#0f172a);color:#e2e8f0;box-shadow:0 14px 28px #0f172a2e}.share-qr-code-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.share-qr-code-card .share-qr-field-label{color:#94a3b8}.share-qr-code-badge{flex-shrink:0;font-size:11px;color:#cbd5e1;padding:2px 8px;border-radius:999px;background:#94a3b829}.share-qr-code-hero{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.share-qr-code{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:clamp(22px,3vw,28px);font-weight:700;letter-spacing:.14em;line-height:1.15;color:#f8fafc;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.share-qr-primary-btn{flex-shrink:0;background:#f8fafc!important;color:#0f172a!important;border:none;font-weight:650}.share-qr-primary-btn:hover{background:#e2e8f0!important;color:#0f172a!important}.share-qr-code-card .share-qr-code-hint{color:#94a3b8}.share-qr-code-hint{margin:0;font-size:12px;color:#94a3b8;line-height:1.4}.share-qr-link-card{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid #e2e8f0}.share-qr-link-row{display:flex;flex-direction:column;gap:8px}.share-qr-url{display:block;font-size:12px;line-height:1.45;color:#334155;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:8px 10px;border-radius:10px;background:#f8fafc;border:1px solid #eef2f7}.share-qr-url:hover{color:#1d4ed8;border-color:#dbeafe;background:#f8fbff}.share-qr-actions{display:flex;flex-wrap:wrap;gap:8px}.share-qr-panel--compact{gap:8px}.share-qr-panel--compact .share-qr-layout{grid-template-columns:92px minmax(0,1fr);gap:10px;align-items:start}.share-qr-panel--compact .share-qr-ticket{padding:8px 6px;border-radius:12px;box-shadow:none}.share-qr-panel--compact .share-qr-frame{width:78px;height:78px;border-radius:10px;box-shadow:0 0 0 3px #f1f5f9}.share-qr-panel--compact .share-qr-frame canvas{width:70px!important;height:70px!important}.share-qr-panel--compact .share-qr-caption{margin-top:6px;font-size:11px}.share-qr-panel--compact .share-qr-hint{margin-top:1px;font-size:10px}.share-qr-panel--compact .share-qr-meta{gap:8px}.share-qr-panel--compact .share-qr-code-card{gap:6px;padding:10px 12px;border-radius:12px;box-shadow:0 8px 16px #0f172a1f}.share-qr-panel--compact .share-qr-code-badge{font-size:10px;padding:1px 6px}.share-qr-panel--compact .share-qr-code-hero{gap:8px}.share-qr-panel--compact .share-qr-code{font-size:18px;letter-spacing:.1em}.share-qr-panel--compact .share-qr-code-hint{display:none}.share-qr-panel--compact .share-qr-link-card{gap:6px;padding:8px 10px;border-radius:10px}.share-qr-panel--compact .share-qr-link-row{gap:6px}.share-qr-panel--compact .share-qr-url{padding:6px 8px;font-size:11px}.share-qr-panel--compact .share-qr-actions{gap:6px}.share-qr-panel--compact .share-qr-actions .btn{padding:4px 8px;font-size:12px}.share-qr-panel--compact .share-qr-rotate{padding-top:0;border-top:none}.prep-ops-card--share .prep-ops-actions{flex-direction:row;flex-wrap:wrap;gap:8px}.prep-ops-card--share .prep-ops-publish-btn,.prep-ops-card--share .prep-ops-present-btn,.prep-ops-card--share .prep-ops-cast-btn{width:auto;flex:1 1 calc(33% - 6px);min-width:0;min-height:36px;font-size:13px;padding:8px 10px}.share-qr-rotate{padding-top:2px;border-top:1px dashed #e2e8f0}.share-qr-rotate-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;font-size:12px;color:#64748b;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.share-qr-rotate-trigger:hover:not(:disabled){color:#b45309}.share-qr-rotate-trigger:disabled{opacity:.55;cursor:default}.share-qr-rotate-confirm{display:flex;flex-direction:column;gap:8px;padding:8px 10px;border-radius:8px;background:#fffbeb;border:1px solid #fde68a}.share-qr-rotate-warn{margin:0;font-size:12px;color:#92400e;line-height:1.45}.prep-ops-code-box{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}.prep-ops-code-label{font-size:11px;color:#64748b;flex-shrink:0}.prep-ops-code{flex:1;min-width:0;font-size:15px;font-weight:700;letter-spacing:.04em;color:#1d4ed8;overflow:hidden;text-overflow:ellipsis}.prep-ops-link{font-size:12px;color:#2563eb;text-decoration:none}.prep-ops-link:hover{text-decoration:underline}.prep-ops-quiz-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:#64748b;padding:8px 10px;border-radius:10px;background:#f8fafc;border:1px solid #e8eef5}.prep-ops-quiz-row input{width:64px;padding:5px 7px;border:1px solid #d1d5db;border-radius:7px;background:#fff}.prep-ops-unit{color:#94a3b8}.prep-ops-answer-switch{display:flex;align-items:flex-start;gap:8px;margin-top:10px;padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px solid #e8eef5;font-size:13px;color:#334155;cursor:pointer}.prep-ops-answer-switch input{margin-top:3px}.prep-ops-answer-switch strong{display:block;font-size:13px;color:#0f172a}.prep-ops-answer-switch em{display:block;margin-top:2px;font-style:normal;font-size:12px;color:#64748b;line-height:1.4}.prep-ops-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto}.prep-ops-publish-btn{width:100%;justify-content:center;min-height:40px;font-weight:600;box-shadow:0 6px 14px #2563eb2e}.prep-ops-present-btn{width:100%;justify-content:center;min-height:40px;gap:8px;font-weight:650;color:#0f766e;background:linear-gradient(180deg,#ecfdf5,#d1fae5);border:1px solid rgba(15,118,110,.22);box-shadow:0 4px 12px #0f766e1a}.prep-ops-present-btn:hover:not(:disabled){background:linear-gradient(180deg,#d1fae5,#a7f3d0);color:#0f766e}.prep-ops-present-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.prep-ops-present-ico{display:inline-flex;align-items:center}.prep-ops-pdf-list{display:flex;flex-direction:column;gap:9px;flex:1}.prep-ops-pdf-item{display:flex;align-items:center;gap:11px;width:100%;padding:11px 12px;border:1px solid #e8eef5;border-radius:12px;background:#fff;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease;box-shadow:0 1px 2px #0f172a08}.prep-ops-pdf-item--plan{border-left:3px solid #1e293b}.prep-ops-pdf-item--sheet{border-left:3px solid #0f766e}.prep-ops-pdf-item--exam{border-left:3px solid #b45309}.prep-ops-pdf-item--poster{border-left:3px solid #1d4ed8}.prep-ops-pdf-item:hover:not(:disabled){border-color:#c7d2e0;background:#fcfdff;transform:translateY(-1px);box-shadow:0 6px 14px #0f172a0f}.prep-ops-pdf-item:disabled{opacity:.65;cursor:not-allowed}.prep-ops-pdf-badge{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:30px;padding:0 9px;border-radius:8px;background:#1e293b;color:#fff;font-size:12px;font-weight:700;flex-shrink:0}.prep-ops-pdf-badge--sheet{background:#0f766e}.prep-ops-pdf-badge--exam{background:#b45309}.prep-ops-pdf-badge--poster{background:#1d4ed8}.prep-ops-pdf-meta{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.prep-ops-pdf-meta strong{font-size:13px;color:#0f172a;font-weight:650}.prep-ops-pdf-meta small{font-size:11px;color:#94a3b8}.prep-ops-pdf-action{font-size:12px;font-weight:650;color:#2563eb;flex-shrink:0;padding:4px 8px;border-radius:999px;background:#eff6ff}.export-preview-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a85}.export-preview-modal{width:min(920px,96vw);max-height:min(88vh,900px);display:flex;flex-direction:column;padding:0;overflow:hidden;border:1px solid #e2e8f0}.export-preview-modal--live{width:min(1320px,98vw);max-width:min(1320px,98vw);max-height:min(94vh,980px);border-radius:16px;box-shadow:0 24px 60px #0f172a2e,0 0 0 1px #ffffff0f inset}.export-preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 22px 16px;background:linear-gradient(180deg,#f8fafc,#fff);border-bottom:1px solid #e8eef5;flex-shrink:0}.export-preview-header-main{display:flex;align-items:flex-start;gap:14px;min-width:0}.export-preview-brand{flex-shrink:0;width:40px;height:40px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;color:#1d4ed8;background:linear-gradient(145deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe}.export-preview-kicker{font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:#64748b;margin-bottom:4px}.export-preview-header h3{margin:0;font-size:18px;font-weight:720;letter-spacing:-.01em;color:#0f172a}.export-preview-subtitle{margin:6px 0 0;font-size:13px;line-height:1.45;color:#64748b;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.export-preview-lesson{color:#334155;font-weight:600}.export-preview-dot{color:#cbd5e1}.export-preview-close{flex-shrink:0;width:34px;height:34px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#64748b;font-size:22px;line-height:1;cursor:pointer}.export-preview-close:hover:not(:disabled){background:#f8fafc;color:#0f172a}.export-preview-error{margin:10px 22px 0;flex-shrink:0}.export-preview-status{margin:10px 22px 0;padding:10px 12px;border-radius:10px;font-size:13px;flex-shrink:0;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a}.export-preview-warnings,.export-preview-pending{margin:10px 22px 0;padding:10px 12px;border-radius:10px;font-size:13px;flex-shrink:0}.export-preview-warnings{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.export-preview-warnings strong{display:block;margin-bottom:6px}.export-preview-warnings ul{margin:0;padding-left:1.2em}.export-preview-warnings li{margin:2px 0}.export-preview-pending{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.export-preview-stale{margin:10px 22px 0;padding:10px 12px;border-radius:10px;font-size:13px;flex-shrink:0;background:#fffbeb;border:1px solid #fde68a;color:#92400e}.export-preview-split{display:grid;grid-template-columns:minmax(320px,400px) minmax(0,1fr);gap:14px;flex:1;min-height:0;margin:14px 22px}.export-preview-sidebar,.export-preview-pane{min-height:0;display:flex;flex-direction:column;border:1px solid #e2e8f0;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 1px 2px #0f172a08}.export-preview-panel-head,.export-preview-pane-status{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid #eef2f7;background:#fbfcfe;flex-shrink:0}.export-preview-panel-title{font-size:12px;font-weight:700;letter-spacing:.04em;color:#334155;text-transform:uppercase}.export-preview-panel-meta{margin-left:auto;font-size:12px;color:#94a3b8;font-variant-numeric:tabular-nums}.export-preview-sidebar-scroll{flex:1;min-height:0;overflow:auto;padding:12px;background:linear-gradient(#f8fafc,#f8fafc) padding-box}.export-preview-options{margin:0 0 12px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;display:flex;flex-direction:column;gap:12px}.export-preview-choice{margin:0;padding:0;border:0}.export-preview-choice legend{padding:0;font-size:13px;font-weight:600;color:#0f172a}.export-preview-choice-row{display:flex;gap:16px;margin:6px 0 4px}.export-preview-choice-row label{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#334155;-webkit-user-select:none;user-select:none}.export-preview-choice-row input{accent-color:#2563eb}.export-preview-check--block{display:flex;align-items:flex-start;gap:8px;width:100%;line-height:1.35}.export-preview-check--block>span{display:flex;flex-direction:column;gap:2px;font-size:13px;font-weight:600;color:#0f172a}.export-preview-option-hint{font-size:11.5px;font-weight:500;color:#64748b}.export-preview-empty{margin:24px 8px;text-align:center;color:#94a3b8;font-size:13px}.export-preview-body{display:flex;flex-direction:column;gap:16px}.export-preview-section-title{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px;padding:6px 2px;font-size:13px;font-weight:700;color:#0f172a;background:linear-gradient(180deg,#f8fafc 70%,#f8fafcb3)}.export-preview-section-count{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#e2e8f0;color:#475569;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.export-preview-q-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.export-preview-q{border:1px solid #e2e8f0;border-radius:12px;padding:12px 13px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.export-preview-q:hover{border-color:#cbd5e1}.export-preview-q--dirty{border-color:#93c5fd;box-shadow:0 0 0 3px #3b82f614}.export-preview-q-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.export-preview-q-label{font-size:14px;font-weight:700;color:#0f172a}.export-preview-tags{display:inline-flex;flex-wrap:wrap;gap:6px}.export-preview-tag{font-size:11px;font-weight:650;color:#1d4ed8;background:#eff6ff;border:1px solid #dbeafe;border-radius:999px;padding:2px 8px}.export-preview-tag--break{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.export-preview-q-stem{font-size:12.5px;color:#475569;line-height:1.55;margin-bottom:12px;max-height:3.3em;overflow:hidden;padding-bottom:10px;border-bottom:1px dashed #eef2f7}.export-preview-figures{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:8px}.export-preview-figure{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.export-preview-figure.is-hidden{opacity:.55}.export-preview-figure-thumb{width:72px;height:48px;object-fit:contain;background:#fff;border-radius:6px;border:1px solid #e2e8f0;flex-shrink:0}.export-preview-figure-meta{min-width:0;flex:1;display:flex;flex-direction:column;gap:6px}.export-preview-figure-label{font-size:12px;font-weight:600;color:#334155}.export-preview-figure-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.export-preview-figure-actions select{min-width:92px;height:28px;padding:0 8px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;font-size:12px}.export-preview-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}.export-preview-field{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:#475569}.export-preview-field-label{font-weight:600;color:#334155}.export-preview-stepper input[type=number]{width:58px;padding:6px 8px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;font-variant-numeric:tabular-nums;font-weight:600;color:#0f172a}.export-preview-stepper input[type=number]:focus{outline:none;border-color:#60a5fa;background:#fff;box-shadow:0 0 0 3px #3b82f626}.export-preview-field small{color:#94a3b8;font-size:11px}.export-preview-check{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:#334155;-webkit-user-select:none;user-select:none}.export-preview-check input{width:15px;height:15px;accent-color:#2563eb}.export-preview-badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:700;background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.export-preview-badge--ok{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.export-preview-badge--busy,.export-preview-badge--warn{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.export-preview-pane-hint{margin-left:auto;font-size:12px;color:#94a3b8}.export-preview-frame-wrap{position:relative;flex:1;min-height:460px;background:radial-gradient(circle at 20% 10%,rgba(148,163,184,.18),transparent 40%),#3f4754}.export-preview-frame{width:100%;height:100%;border:0;background:transparent}.export-preview-frame-empty{display:flex;align-items:center;justify-content:center;height:100%;min-height:460px}.export-preview-frame-empty-card{padding:14px 18px;border-radius:12px;background:#0f172a59;color:#e2e8f0;font-size:13px;border:1px solid rgba(255,255,255,.08)}.export-preview-frame-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:10px;background:#0f172a6b;color:#fff;font-size:14px;font-weight:650;pointer-events:none}.export-preview-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:export-preview-spin .7s linear infinite}@keyframes export-preview-spin{to{transform:rotate(360deg)}}.export-preview-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 22px 18px;border-top:1px solid #e8eef5;background:#fbfcfe;flex-shrink:0}.export-preview-footer-left,.export-preview-footer-actions{display:flex;gap:8px;flex-wrap:wrap}.export-preview-download{min-width:108px}.export-preview-download-docx{min-width:108px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.export-preview-docx-wrap{position:relative}.export-preview-docx-caret{font-size:11px;opacity:.7;line-height:1}.export-preview-docx-menu{position:absolute;right:0;bottom:calc(100% + 8px);z-index:20;min-width:260px;padding:6px;border-radius:10px;border:1px solid #d8e2ee;background:#fff;box-shadow:0 10px 28px #0f233c24}.export-preview-docx-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 12px;border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer;color:#1f2a37}.export-preview-docx-option:hover:not(:disabled){background:#f3f7fc}.export-preview-docx-option:disabled{opacity:.55;cursor:not-allowed}.export-preview-docx-option strong{font-size:13px;font-weight:650}.export-preview-docx-option span{font-size:12px;color:#66788a;line-height:1.35}@media(max-width:960px){.export-preview-split{grid-template-columns:1fr;grid-template-rows:minmax(240px,38vh) minmax(280px,1fr);margin:12px 14px}.export-preview-header,.export-preview-footer{padding-left:14px;padding-right:14px}}.prep-ops-card--usage .prep-ops-card-head{margin-bottom:2px}.prep-ops-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;flex:1;min-width:0;border:1px solid #dce8e4;border-radius:12px;overflow:hidden;background:#fff}.prep-ops-metric{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;padding:16px 18px;border-radius:0;background:transparent;border:0;border-right:1px solid #e8eef2;box-shadow:none;min-width:0}.prep-ops-metric-text{min-width:0}.prep-ops-metric:last-child{border-right:0}.prep-ops-metric-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;color:#0f766e;background:#ecfdf5;flex-shrink:0}.prep-ops-metric-value{font-size:22px;font-weight:750;color:#0f172a;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.prep-ops-metric-label{margin-top:0;font-size:12px;color:#64748b;letter-spacing:.01em}.prep-ops-card--usage .prep-ops-detail-link{align-self:flex-end}@media(max-width:900px){.prep-ops-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.prep-ops-metric:nth-child(2){border-right:0}.prep-ops-metric:nth-child(1),.prep-ops-metric:nth-child(2){border-bottom:1px solid #e8eef2}}@media(max-width:560px){.prep-ops-metrics{grid-template-columns:1fr}.prep-ops-metric{border-right:0;border-bottom:1px solid #e8eef2;flex-direction:row;align-items:center;gap:12px}.prep-ops-metric:last-child{border-bottom:0}}.prep-ops-detail-link{margin-top:auto;display:inline-flex;align-items:center;align-self:flex-end;gap:4px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:650;color:#0f766e;background:#ecfdf5;border:1px solid rgba(15,118,110,.14);text-decoration:none}.prep-ops-detail-link:hover{background:#d1fae5;text-decoration:none}@media(max-width:980px){.prep-ops-grid{grid-template-columns:1fr}}.prep-publish-card{display:flex;flex-direction:column;gap:12px}.prep-export-panel{padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.prep-export-title{font-size:13px;font-weight:600;color:#334155}.prep-export-hint{margin:6px 0 10px;font-size:12px;line-height:1.45;color:#64748b}.prep-export-actions{display:flex;flex-wrap:wrap;gap:8px}.prep-share-info{display:flex;flex-direction:column;gap:8px}.prep-share-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.prep-share-label{font-size:12px;color:#6b7280;flex-shrink:0}.prep-share-code{font-size:15px;font-weight:700;color:#1d4ed8;background:#eff6ff;padding:2px 10px;border-radius:6px;letter-spacing:.05em}.prep-share-link{font-size:13px}.prep-analytics-link{align-self:flex-start}.prep-quiz-settings{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid #e5e7eb;border-radius:10px;background:#f9fafb}.prep-quiz-settings-label{font-size:13px;font-weight:600;color:#374151}.prep-quiz-settings-row{display:flex;gap:8px;align-items:center}.prep-quiz-settings-row input{width:88px;padding:8px 10px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.prep-quiz-settings-hint,.prep-quiz-settings-saved{margin:0;font-size:12px;line-height:1.5}.prep-quiz-settings-hint{color:#6b7280}.prep-quiz-settings-saved{color:#059669}.concept-property-preview-toggle{display:block;width:100%;text-align:left;padding:8px 10px;border:1px dashed #d1d5db;border-radius:8px;background:#fff;font-size:13px;color:#64748b;cursor:pointer;line-height:1.5;transition:border-color .15s,background .15s}.concept-property-preview-toggle:hover{border-color:#93c5fd;background:#f8fafc}.concept-property-preview-toggle-hint{display:block;margin-top:4px;font-size:11px;color:#94a3b8}.concept-property-preview-collapse{display:block;margin-top:8px;padding:0;border:none;background:none;font-size:12px;color:#2563eb;cursor:pointer}.concept-property-preview-collapse:hover{text-decoration:underline}@media(max-width:960px){.prep-layout{grid-template-columns:1fr}.prep-sidebar{position:static}.prep-header-main{flex-direction:column}.prep-header-stats{align-self:stretch;justify-content:space-around}.prep-ops-grid{grid-template-columns:1fr}.share-qr-layout{grid-template-columns:1fr;justify-items:stretch}.share-qr-ticket{max-width:220px;margin:0 auto}.share-qr-meta{width:100%}}@media(max-width:560px){.prep-steps-label{display:none}.prep-steps-btn{padding:4px}}.courseware-library{display:grid;grid-template-columns:268px minmax(0,1fr);gap:16px;align-items:start}.courseware-sidebar{position:sticky;top:16px;margin-bottom:0;padding:14px 10px 16px}.courseware-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 6px 10px}.courseware-sidebar-title{margin:0;font-size:12px;color:#94a3b8;font-weight:600;letter-spacing:.04em;text-transform:none}.courseware-add-root{opacity:.7}.courseware-add-root:hover{opacity:1}.courseware-folder-nav{display:flex;flex-direction:column;gap:1px}.courseware-folder-row{position:relative;display:flex;align-items:center;gap:2px;min-height:34px;margin:0;padding:2px 4px;border:none;border-radius:8px;background:transparent;color:#334155;width:100%;text-align:left;cursor:default}.courseware-folder-row:hover{background:#f1f5f9}.courseware-folder-row.is-active{background:#eef2ff;color:#3730a3}.courseware-folder-system{cursor:pointer}.courseware-folder-system .courseware-folder-main{pointer-events:none}.courseware-folder-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:5px 4px;border:none;border-radius:6px;background:transparent;color:inherit;font-size:13.5px;font-weight:500;text-align:left;cursor:pointer}.courseware-folder-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.courseware-folder-count{flex-shrink:0;min-width:20px;margin-left:2px;padding:0 6px;border-radius:999px;background:#e2e8f0;color:#64748b;font-size:11px;font-weight:600;line-height:18px;text-align:center}.courseware-folder-row.is-active .courseware-folder-count{background:#c7d2fe;color:#4338ca}.courseware-folder-actions{display:flex;flex-shrink:0;align-items:center;gap:1px;max-width:0;opacity:0;overflow:hidden;pointer-events:none;transition:opacity .12s ease,max-width .12s ease}.courseware-folder-row:hover .courseware-folder-actions,.courseware-folder-row:focus-within .courseware-folder-actions{max-width:84px;opacity:1;pointer-events:auto}.courseware-icon-folder{flex-shrink:0;width:16px;height:16px;color:#94a3b8}.courseware-folder-row.is-active .courseware-icon-folder{color:#6366f1}.courseware-folder-row:hover .courseware-icon-folder{color:#64748b}.courseware-folder-row.is-active:hover .courseware-icon-folder{color:#4f46e5}.courseware-folder-divider{height:1px;margin:8px 6px;background:#e2e8f0}.courseware-folder-tree-node{margin-bottom:0}.courseware-folder-toggle{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:4px;background:transparent;color:#94a3b8;cursor:pointer}.courseware-folder-toggle:hover{background:#e2e8f0;color:#475569}.courseware-icon-chevron{width:14px;height:14px;transition:transform .15s ease}.courseware-icon-chevron.is-open{transform:rotate(90deg)}.courseware-folder-toggle-spacer{flex-shrink:0;width:20px}.courseware-folder-children{margin-top:0}.courseware-folder-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:6px;background:transparent;color:#64748b;cursor:pointer}.courseware-folder-icon-btn svg{width:14px;height:14px}.courseware-folder-icon-btn:hover{background:#e2e8f0;color:#1e293b}.courseware-folder-icon-btn.is-danger:hover{background:#fee2e2;color:#dc2626}.courseware-folder-row.is-active .courseware-folder-icon-btn:hover{background:#e0e7ff;color:#3730a3}.courseware-folder-row.is-active .courseware-folder-icon-btn.is-danger:hover{background:#fee2e2;color:#dc2626}.courseware-folder-rename,.courseware-new-folder{display:flex;flex-direction:column;gap:8px;margin:4px 0 6px;padding-right:4px}.courseware-new-folder-field,.courseware-folder-rename{display:flex;align-items:center;gap:6px}.courseware-new-folder-field{padding:4px 6px;border:1px solid #c7d2fe;border-radius:8px;background:#f8fafc;box-shadow:0 0 0 3px #6366f11f}.courseware-new-folder-field .courseware-icon-folder,.courseware-folder-rename .courseware-icon-folder{color:#6366f1}.courseware-folder-rename input,.courseware-new-folder-field input{flex:1;min-width:0;padding:6px 4px;border:none;background:transparent;font-size:13.5px;color:#1e293b;outline:none}.courseware-folder-rename{flex-direction:row;flex-wrap:wrap;padding:4px 6px;border:1px solid #c7d2fe;border-radius:8px;background:#f8fafc;box-shadow:0 0 0 3px #6366f11f}.courseware-folder-rename input{flex:1 1 80px}.courseware-new-folder-actions{display:flex;gap:8px;padding-left:22px}.courseware-main{min-width:0}.courseware-toolbar{margin-bottom:16px}.courseware-toolbar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.courseware-title{margin:0 0 4px;font-size:1.35rem}.courseware-subtitle{margin:0;font-size:13px;color:#64748b}.courseware-filters{display:flex;flex-wrap:wrap;gap:10px}.courseware-search{flex:1 1 200px;min-width:0;padding:8px 12px;border:1px solid #cbd5e1;border-radius:8px;font-size:14px}.courseware-filters select{padding:8px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font-size:14px}.courseware-lesson-card{margin-bottom:12px}.courseware-lesson-main{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.courseware-lesson-title{margin:0 0 8px;font-size:1.05rem}.courseware-lesson-rename{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.courseware-lesson-rename-input{flex:1 1 200px;min-width:160px;max-width:420px;padding:7px 10px;border:1px solid #cbd5e1;border-radius:8px;font-size:1rem;font-weight:600;color:#0f172a;background:#fff}.courseware-lesson-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex-shrink:0}.courseware-lesson-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.courseware-lesson-date{font-size:12px;color:#94a3b8}.courseware-lesson-move{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #f1f5f9;font-size:13px;color:#64748b}.courseware-lesson-collab-hint{margin:12px 0 0;padding-top:12px;border-top:1px solid #f1f5f9;font-size:12.5px;color:#6d28d9}.courseware-lesson-move select{padding:6px 10px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:13px}.link-btn-danger{color:#dc2626}@media(max-width:900px){.courseware-library{grid-template-columns:1fr}.courseware-sidebar{position:static}.courseware-folder-actions{max-width:84px;opacity:1;pointer-events:auto;overflow:visible}.courseware-lesson-main{flex-direction:column}}html.whiteboard-ink-lock,html.whiteboard-ink-lock body{overflow:hidden!important;overscroll-behavior:none!important;-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important;-webkit-tap-highlight-color:transparent}.learn-layout.whiteboard-open{overflow:hidden!important;overscroll-behavior:none!important;height:100dvh;-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important;-webkit-tap-highlight-color:transparent}.review-page.whiteboard-open{overscroll-behavior:none!important;-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important;-webkit-tap-highlight-color:transparent}html.whiteboard-ink-lock *{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}html.whiteboard-ink-lock .whiteboard-canvas-wrap,html.whiteboard-ink-lock .whiteboard-canvas-stack,html.whiteboard-ink-lock .whiteboard-canvas,html.whiteboard-ink-lock .whiteboard-backdrop{touch-action:none!important}.whiteboard-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300;border:none;padding:0;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;background-color:#0f172a2e;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;outline:none}.whiteboard-fab{position:fixed;right:140px;bottom:24px;z-index:1302;display:inline-flex;align-items:center;gap:8px;min-width:56px;height:44px;padding:0 14px;border:none;border-radius:999px;background:#0f172a;color:#fff;font-size:13px;font-weight:600;letter-spacing:.02em;box-shadow:0 10px 28px #0f172a47;cursor:pointer;-webkit-tap-highlight-color:transparent}.whiteboard-fab .whiteboard-tool-icon{width:16px;height:16px}.whiteboard-fab.is-open{right:calc(min(48vw,520px) + 16px);bottom:24px;background:#334155}body:has(.whiteboard-drawer.is-wide) .whiteboard-fab.is-open{right:calc(min(80vw,867px) + 16px)}.whiteboard-drawer{position:fixed;top:0;right:0;z-index:1301;display:flex;flex-direction:column;width:min(48vw,520px);height:100dvh;background:#f8fafc;border-left:1px solid #e2e8f0;box-shadow:-16px 0 40px #0f172a24;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.whiteboard-drawer.is-wide{width:min(80vw,867px)}.whiteboard-toolbar{flex-shrink:0;margin:12px 12px 0;padding:10px 12px;border:1px solid #e2e8f0;border-radius:14px;background:#fffffff5;box-shadow:0 1px 2px #0f172a0a,0 8px 20px #0f172a0f}.whiteboard-toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.whiteboard-tool-group{display:inline-flex;flex-wrap:wrap;align-items:center;gap:2px;padding:2px;border-radius:10px;background:#f1f5f9}.whiteboard-flyout-wrap{position:relative}.whiteboard-flyout{position:absolute;top:calc(100% + 6px);left:0;z-index:20;display:flex;flex-direction:column;gap:2px;min-width:132px;padding:6px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;box-shadow:0 10px 28px #0f172a24}.whiteboard-flyout-wide{min-width:148px}.whiteboard-flyout-item{display:flex;align-items:center;gap:8px;width:100%;height:34px;padding:0 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:#334155;font-size:12px;text-align:left;cursor:pointer}.whiteboard-flyout-item.is-active{background:#f1f5f9;border-color:#cbd5e1;color:#0f172a;font-weight:600}.whiteboard-flyout-item:hover{background:#f8fafc}.whiteboard-lasso-modes{margin-top:8px;gap:6px}.whiteboard-mode-chip{height:28px;padding:0 11px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#64748b;font-size:12px;cursor:pointer}.whiteboard-mode-chip.is-active{border-color:#cbd5e1;background:#0f172a;color:#fff;font-weight:600}.whiteboard-toolbar-row-attrs{margin-top:8px;padding-top:8px;border-top:1px solid #f1f5f9;justify-content:space-between}.whiteboard-toolbar-divider{width:1px;height:22px;margin:0 2px;background:#e2e8f0}.whiteboard-tool-btn{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 6px;border:1px solid transparent;border-radius:8px;background:transparent;color:#334155;font-size:13px;cursor:pointer;-webkit-tap-highlight-color:transparent}.whiteboard-tool-btn .whiteboard-tool-icon{display:block}.whiteboard-tool-ellipsis{font-size:16px;line-height:1}.whiteboard-tool-btn.is-active{background:#fff;border-color:#cbd5e1;color:#0f172a;box-shadow:0 1px 2px #0f172a14}.whiteboard-tool-btn:disabled{opacity:.35;cursor:not-allowed}.whiteboard-tool-btn-accent{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.whiteboard-color-list,.whiteboard-size-list{display:flex;align-items:center;gap:8px}.whiteboard-color-swatch{width:26px;height:26px;border-radius:50%;border:2px solid transparent;box-shadow:inset 0 0 0 1px #0f172a1f;cursor:pointer;-webkit-tap-highlight-color:transparent}.whiteboard-color-swatch.is-active{border-color:#64748b;box-shadow:0 0 0 2px #fff,0 0 0 3px #94a3b8}.whiteboard-color-swatch.is-light{box-shadow:inset 0 0 0 1px #cbd5e1}.whiteboard-size-btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:50%;background:transparent;cursor:pointer}.whiteboard-size-btn.is-active{border-color:#93c5fd;background:#eff6ff}.whiteboard-size-dot{display:block;border-radius:50%;background:#111827}.whiteboard-export-hint{margin:0;padding:10px 12px;font-size:13px;font-weight:600;color:#1d4ed8;background:#eff6ff;border-bottom:1px solid #dbeafe}.whiteboard-tool-toast{position:absolute;left:50%;top:12px;z-index:4;transform:translate(-50%);max-width:calc(100% - 24px);padding:8px 14px;border-radius:999px;border:1px solid #e2e8f0;background:#0f172ae0;color:#f8fafc;font-size:12px;font-weight:500;letter-spacing:.01em;line-height:1.3;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;box-shadow:0 8px 20px #0f172a2e;animation:whiteboard-toast-in .18s ease-out}.whiteboard-zoom-hud{position:absolute;right:14px;bottom:14px;z-index:4;min-width:52px;padding:6px 10px;border-radius:10px;border:1px solid #e2e8f0;background:#0f172ad1;color:#f8fafc;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;text-align:center;pointer-events:none;box-shadow:0 6px 16px #0f172a29;animation:whiteboard-toast-in .16s ease-out}@keyframes whiteboard-toast-in{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.whiteboard-canvas-wrap{position:relative;flex:1;min-height:0;margin:10px;border:1px solid #e2e8f0;border-radius:12px;overflow:auto;-webkit-overflow-scrolling:touch;background:#fafafa;touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.whiteboard-canvas-wrap.is-eraser .whiteboard-canvas-ink{cursor:cell}.whiteboard-canvas-stack{position:relative;width:100%;min-height:100%;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.whiteboard-canvas{display:block;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.whiteboard-canvas-base{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.whiteboard-canvas-ink{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:transparent}.whiteboard-selection-menu{position:absolute;z-index:2;display:flex;gap:2px;transform:translate(-50%,-100%);padding:4px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;box-shadow:0 8px 24px #0f172a29;pointer-events:auto}.whiteboard-selection-menu button{min-width:52px;height:34px;padding:0 10px;border:none;border-radius:8px;background:transparent;color:#1e293b;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.whiteboard-selection-menu button:hover{background:#f1f5f9}.whiteboard-selection-menu button:last-child{color:#dc2626}.whiteboard-paste-offer{position:absolute;z-index:3;transform:translate(-50%,-110%);padding:4px;border:1px solid #93c5fd;border-radius:12px;background:#fff;box-shadow:0 8px 24px #0f172a2e}.whiteboard-paste-offer button{min-width:56px;height:34px;padding:0 12px;border:none;border-radius:8px;background:#eff6ff;color:#1d4ed8;font-size:13px;font-weight:700;cursor:pointer}.whiteboard-paste-offer button:hover{background:#dbeafe}@media(max-width:767px){.whiteboard-drawer{width:min(92vw,420px)}.whiteboard-drawer.is-wide{width:min(98vw,700px)}.whiteboard-fab{right:16px;bottom:148px}.whiteboard-fab.is-open{right:calc(min(92vw,420px) + 12px);bottom:24px;top:auto}}@media(max-width:900px)and (min-width:768px){.whiteboard-fab{right:16px;bottom:148px}.whiteboard-fab.is-open{right:calc(min(48vw,520px) + 16px);bottom:24px}}.layout-present{max-width:none;padding:0;margin:0;min-height:100vh;background:#0f1419}.present-page{min-height:100vh;display:flex;flex-direction:column;--present-font-scale: 1.35;--present-text: #f2f4f7;--present-muted: rgba(255, 255, 255, .55);--present-faint: rgba(255, 255, 255, .35);--present-link: #9ec5e8;--present-accent: #6ea8dc;--present-accent-soft: rgba(110, 168, 220, .28);--present-panel: rgba(255, 255, 255, .04);--present-panel-border: rgba(255, 255, 255, .08);--present-topbar-bg: rgba(8, 12, 16, .72);--present-topbar-border: rgba(255, 255, 255, .08);--present-chip-border: rgba(255, 255, 255, .14);--present-chip-text: rgba(255, 255, 255, .7);--present-dot-bg: rgba(255, 255, 255, .04);--present-dot-border: rgba(255, 255, 255, .18);--present-dot-active: #3d7eb5;--present-hint-bg: rgba(255, 255, 255, .05);--present-method-bg: rgba(70, 120, 90, .16);--present-method-border: rgba(120, 180, 140, .22);--present-answer-bg: rgba(90, 100, 160, .16);--present-answer-border: rgba(140, 150, 210, .25);--present-label: rgba(255, 255, 255, .45);--present-content-bg: #0f1419;--present-bg-glow-a: rgba(56, 120, 180, .22);--present-bg-glow-b: rgba(40, 90, 70, .18);--present-katex: #f2f4f7;--present-btn-secondary-bg: rgba(255, 255, 255, .08);--present-btn-secondary-border: rgba(255, 255, 255, .16);--present-btn-secondary-text: #edf2f7;color:var(--present-text);background:radial-gradient(1200px 500px at 10% -10%,var(--present-bg-glow-a),transparent 60%),radial-gradient(900px 420px at 90% 0%,var(--present-bg-glow-b),transparent 55%),var(--present-content-bg)}.present-page.present-theme-light{--present-text: #1a2330;--present-muted: rgba(26, 35, 48, .62);--present-faint: rgba(26, 35, 48, .42);--present-link: #1d5f9c;--present-accent: #2b6cb0;--present-accent-soft: rgba(43, 108, 176, .16);--present-panel: #ffffff;--present-panel-border: rgba(26, 35, 48, .12);--present-topbar-bg: rgba(255, 255, 255, .92);--present-topbar-border: rgba(26, 35, 48, .1);--present-chip-border: rgba(26, 35, 48, .16);--present-chip-text: rgba(26, 35, 48, .72);--present-dot-bg: #f1f5f9;--present-dot-border: rgba(26, 35, 48, .16);--present-dot-active: #2b6cb0;--present-hint-bg: #f7fafc;--present-method-bg: rgba(56, 140, 90, .1);--present-method-border: rgba(56, 140, 90, .28);--present-answer-bg: rgba(70, 90, 180, .1);--present-answer-border: rgba(70, 90, 180, .28);--present-label: rgba(26, 35, 48, .5);--present-content-bg: #eef2f6;--present-bg-glow-a: rgba(80, 140, 200, .18);--present-bg-glow-b: rgba(90, 160, 120, .12);--present-katex: #1a2330;--present-btn-secondary-bg: #ffffff;--present-btn-secondary-border: rgba(26, 35, 48, .16);--present-btn-secondary-text: #1a2330}.present-page.present-theme-board{--present-text: #f3f6ef;--present-muted: rgba(243, 246, 239, .62);--present-faint: rgba(243, 246, 239, .4);--present-link: #c8e6a0;--present-accent: #b7d98a;--present-accent-soft: rgba(183, 217, 138, .22);--present-panel: rgba(255, 255, 255, .06);--present-panel-border: rgba(200, 230, 160, .18);--present-topbar-bg: rgba(12, 28, 18, .88);--present-topbar-border: rgba(200, 230, 160, .16);--present-chip-border: rgba(200, 230, 160, .22);--present-chip-text: rgba(243, 246, 239, .78);--present-dot-bg: rgba(255, 255, 255, .06);--present-dot-border: rgba(200, 230, 160, .22);--present-dot-active: #6f9e45;--present-hint-bg: rgba(255, 255, 255, .07);--present-method-bg: rgba(160, 200, 110, .14);--present-method-border: rgba(180, 220, 130, .28);--present-answer-bg: rgba(200, 190, 120, .14);--present-answer-border: rgba(220, 210, 140, .28);--present-label: rgba(243, 246, 239, .5);--present-content-bg: #163022;--present-bg-glow-a: rgba(90, 140, 70, .28);--present-bg-glow-b: rgba(40, 80, 50, .35);--present-katex: #f3f6ef;--present-btn-secondary-bg: rgba(255, 255, 255, .08);--present-btn-secondary-border: rgba(200, 230, 160, .22);--present-btn-secondary-text: #f3f6ef}.present-loading{margin:auto;padding:2rem;text-align:center;display:grid;gap:1rem;justify-items:center}.present-topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding:.65rem 1rem;border-bottom:1px solid var(--present-topbar-border);background:var(--present-topbar-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:20}.present-topbar-left{display:flex;flex-wrap:wrap;align-items:baseline;gap:.65rem 1rem;min-width:0}.present-exit{color:var(--present-link);text-decoration:none;font-size:.9rem;white-space:nowrap}button.present-exit{background:none;border:0;padding:0;cursor:pointer;font:inherit}.present-exit:hover{text-decoration:underline}.present-title{margin:0;font-size:1.15rem;font-weight:650;max-width:min(42vw,28rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.present-step-meta{color:var(--present-muted);font-size:.88rem}.present-topbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.present-mode-switch,.present-font-group,.present-theme-group{display:inline-flex;border:1px solid var(--present-chip-border);border-radius:8px;overflow:hidden}.present-mode-switch button,.present-font-group button,.present-theme-group button{border:0;background:transparent;color:var(--present-chip-text);padding:.35rem .55rem;cursor:pointer;font-size:.82rem;white-space:nowrap}.present-mode-switch button.is-active,.present-font-group button.is-active,.present-theme-group button.is-active{background:var(--present-accent-soft);color:var(--present-text);font-weight:600}.present-mode-switch button:disabled{opacity:.35;cursor:not-allowed}.present-reveal-group{display:inline-flex;flex-wrap:wrap;gap:.35rem}.present-step-rail{display:flex;flex-wrap:wrap;gap:.35rem;padding:.55rem 1rem .25rem}.present-step-dot{width:1.7rem;height:1.7rem;border-radius:999px;border:1px solid var(--present-dot-border);background:var(--present-dot-bg);color:var(--present-chip-text);font-size:.75rem;cursor:pointer}.present-step-dot.is-active{background:var(--present-dot-active);border-color:var(--present-dot-active);color:#fff}.present-main{flex:1;padding:.75rem 1.25rem 1.5rem;max-width:1200px;width:100%;margin:0 auto;box-sizing:border-box}html.whiteboard-layout-compact .layout-present,html.whiteboard-layout-compact .present-page{--whiteboard-rail: min(48vw, 520px);width:calc(100vw - var(--whiteboard-rail));max-width:calc(100vw - var(--whiteboard-rail));box-sizing:border-box}html.whiteboard-layout-compact .present-main{max-width:none}html.whiteboard-layout-compact .present-title{max-width:min(28vw,18rem)}html.whiteboard-layout-compact .present-stem-image{max-width:100%}html.whiteboard-layout-compact .present-page .katex-display{overflow-x:auto;overflow-y:hidden}@media(max-width:767px){html.whiteboard-layout-compact .layout-present,html.whiteboard-layout-compact .present-page{--whiteboard-rail: min(92vw, 420px)}}.present-pane{background:var(--present-panel);border:1px solid var(--present-panel-border);border-radius:14px;padding:1.25rem 1.5rem 1.75rem}.present-pane-title{margin:0 0 1rem;font-size:calc(1.35rem * var(--present-font-scale));font-weight:650}.present-teaching,.present-question,.present-summary-fallback{font-size:calc(1.05rem * var(--present-font-scale));line-height:1.7}.present-teaching .katex,.present-question .katex,.present-capture-analysis .katex{font-size:1.05em}.present-label{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--present-label);margin-bottom:.35rem}.present-stem-box,.present-hints,.present-method,.present-answer{margin-top:1.1rem}.present-hint-card{margin-top:.65rem;padding:.75rem .9rem;border-radius:10px;background:var(--present-hint-bg);border:1px solid var(--present-panel-border)}.present-hint-index{font-size:.85rem;color:var(--present-link);margin-bottom:.35rem}.present-hint-answer{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--present-panel-border)}.present-hint-answer-label{display:inline-block;font-size:.8rem;color:var(--present-label);margin-bottom:.2rem}.present-method,.present-answer{padding:.9rem 1rem;border-radius:10px;background:var(--present-method-bg);border:1px solid var(--present-method-border)}.present-answer{background:var(--present-answer-bg);border-color:var(--present-answer-border)}.present-stem-images{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem}.present-stem-image{max-width:min(100%,420px);max-height:280px;object-fit:contain;border-radius:8px;background:#fff}.present-empty,.present-reveal-tip{color:var(--present-muted);margin:.75rem 0 0}.present-hotkeys{margin:0;padding:.4rem 1rem .9rem;text-align:center;font-size:.78rem;color:var(--present-faint)}.present-capture-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.65rem}.present-capture-draft{margin-bottom:.9rem;padding:.75rem .9rem;border-radius:12px;background:var(--present-accent-soft);border:1px solid var(--present-panel-border)}.present-capture-draft-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.4rem .8rem;margin-bottom:.45rem}.present-capture-draft-hint{margin:0;font-size:.88rem;color:var(--present-muted);line-height:1.5}.present-capture-draft-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.65rem}.present-capture-draft-thumb{width:88px;text-align:center}.present-capture-draft-thumb img{width:88px;height:88px;object-fit:cover;border-radius:8px;display:block;background:#1a222b}.present-capture-draft-remove{margin-top:.25rem;border:0;background:transparent;color:#ffc8bed9;font-size:.78rem;cursor:pointer;padding:0}.present-capture-draft-remove:disabled{opacity:.45;cursor:not-allowed}.present-capture-draft-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.present-capture-btn{min-width:7rem}.present-capture-meta{color:var(--present-muted);font-size:.88rem}.present-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.present-capture-empty{border:1px dashed var(--present-panel-border);border-radius:14px;padding:2.5rem 1.5rem;text-align:center;color:var(--present-chip-text)}.present-capture-empty-sub{color:var(--present-faint);margin-top:.35rem}.present-capture-queue{display:flex;gap:.55rem;overflow-x:auto;padding-bottom:.55rem;margin-bottom:.75rem}.present-capture-thumb{position:relative;flex:0 0 auto;width:72px;height:72px;border-radius:10px;border:2px solid transparent;padding:0;overflow:hidden;cursor:pointer;background:#1a222b}.present-capture-thumb img{width:100%;height:100%;object-fit:cover;display:block}.present-capture-thumb.is-active{border-color:#6ea8dc}.present-capture-thumb.is-pinned{box-shadow:0 0 0 2px #dcb45a8c}.present-capture-thumb.is-reviewed{opacity:.72}.present-capture-thumb-badge{position:absolute;left:0;right:0;bottom:0;font-size:.68rem;text-align:center;background:#0000008c;color:#fff;padding:.1rem 0}.present-capture-stage{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:.85rem 1rem 1.1rem}.present-capture-stage-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.present-capture-stage-actions{display:flex;flex-wrap:wrap;gap:.35rem}.present-capture-stage-main{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.9fr);gap:1rem;align-items:start}.present-capture-photo{width:100%;max-height:min(62vh,640px);object-fit:contain;border-radius:10px;background:#fff}.present-capture-analysis{font-size:calc(.95rem * var(--present-font-scale));line-height:1.55}.present-capture-verdict{font-weight:650;margin-bottom:.75rem;padding:.45rem .65rem;border-radius:8px}.present-capture-verdict.is-correct{background:#46966440;color:#b8efc8}.present-capture-verdict.is-wrong{background:#a0504647;color:#ffc9c0}.present-capture-feedback{margin-bottom:.75rem}.present-capture-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem}.present-tag{font-size:.78rem;padding:.15rem .45rem;border-radius:999px;background:#ffffff14;color:#ffffffbf}.present-capture-board-tip{margin-top:1rem;font-size:.82rem;color:#fff6}.present-page .btn{color:inherit}.present-page .btn-secondary{background:var(--present-btn-secondary-bg);border-color:var(--present-btn-secondary-border);color:var(--present-btn-secondary-text)}.present-page .btn-secondary:hover:not(:disabled){filter:brightness(1.06)}.present-page .question-preview,.present-page .rich-latex-content{color:var(--present-katex);background:transparent;min-height:0;padding:0}.present-page .question-preview .katex,.present-page .question-preview .katex-display,.present-page .rich-latex-content .katex{color:var(--present-katex)}.present-page .teaching-content-image{background:#fff;border-color:#fff3}@media(max-width:900px){.present-capture-stage-main{grid-template-columns:1fr}.present-title{max-width:55vw}}.present-voiceover{margin-bottom:.85rem;padding:.65rem .8rem;border-radius:10px;background:#5a8cbe29;border:1px solid rgba(140,180,220,.28)}.present-voiceover.is-playing{border-color:#a0d2ff8c;box-shadow:0 0 0 1px #78b4e633}.present-voiceover-main{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .7rem}.present-voiceover-label{font-weight:650;color:var(--present-link)}.present-voiceover-play{min-width:5.5rem}.present-voiceover-time{font-size:.85rem;color:var(--present-muted);font-variant-numeric:tabular-nums}.present-voiceover-autoplay{margin-left:auto;border:0;background:transparent;color:var(--present-label);font-size:.8rem;cursor:pointer;padding:.15rem .25rem}.present-voiceover-autoplay:hover{color:var(--present-link)}.present-voiceover-progress{margin-top:.45rem;height:3px;border-radius:999px;background:#ffffff1a;overflow:hidden}.present-voiceover-progress-fill{height:100%;background:linear-gradient(90deg,#5b9fd4,#8fd0ff);transition:width .15s linear}.present-voiceover-missing{margin:0 0 .75rem;font-size:.88rem;color:var(--present-label)}.present-reveal-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.75rem}.present-reveal-meta{font-size:.82rem;color:var(--present-label);margin-right:.25rem}.present-reveal-blocks{display:flex;flex-direction:column;gap:.85rem}.present-reveal-block{animation:present-block-in .4s ease both;border-radius:10px;padding:.35rem .55rem;transition:opacity .25s ease,background .25s ease,box-shadow .25s ease,filter .25s ease}.present-reveal-block.is-past{opacity:.72}.present-reveal-block.is-active{opacity:1;background:var(--present-accent-soft);box-shadow:0 0 0 1px var(--present-accent)}.present-reveal-block.is-preview{opacity:.38;filter:saturate(.7)}.present-reveal-block.is-complete{opacity:1;background:transparent;box-shadow:none;filter:none}@keyframes present-block-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.present-reveal-waiting{margin:.25rem 0 0;font-size:.85rem;color:var(--present-faint)}.present-sync-hint{margin:0 0 .65rem;font-size:.8rem;color:#ffd28cbf}.present-intro-part{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--present-panel-border)}.present-intro-part:first-of-type{margin-top:.5rem;padding-top:0;border-top:0}.present-intro-label{margin:0 0 .55rem;font-size:.9rem;font-weight:650;color:var(--present-link)}.present-guidance{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.08)}.present-concept-practice-link{margin-top:1.35rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.present-concept-practice-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.45rem}.present-concept-badge{display:inline-block;margin-bottom:.75rem;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;font-weight:650;color:#d8ebe0;background:#468c6447;border:1px solid rgba(120,180,140,.35)}.present-concept-options{display:grid;gap:.55rem;margin-top:1rem}.present-concept-option{padding:.7rem .9rem;border-radius:10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);font-size:calc(1rem * var(--present-font-scale))}.present-concept-option .question-preview{display:inline;padding:0;background:transparent;min-height:0}.present-concept-option.is-correct{background:#46966447;border-color:#82c89673;box-shadow:0 0 0 1px #78be8c40}.present-concept-option.is-clickable{width:100%;text-align:left;cursor:pointer;color:inherit;font:inherit;transition:background .15s ease,border-color .15s ease,transform .12s ease}.present-concept-option.is-clickable:hover{background:#6ea8dc29;border-color:#8cbee666}.present-concept-option.is-selected{border-color:#a0c8f08c}.present-concept-option.is-wrong{background:#a0504647;border-color:#dc827880}.present-concept-grade{margin-top:.9rem;padding:.65rem .85rem;border-radius:10px;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;font-size:calc(1rem * var(--present-font-scale))}.present-concept-grade.is-correct{background:#46966447;color:#b8efc8}.present-concept-grade.is-wrong{background:#a0504647;color:#ffc9c0}.present-concept-solution{margin-top:.85rem;display:flex;flex-direction:column;gap:.75rem}.xiaohong-avatar{display:inline-flex;flex-shrink:0;overflow:hidden;border-radius:50%;background:linear-gradient(145deg,#eef2ff,#fdf4ff 55%,#fff7ed);box-shadow:0 0 0 2px #ffffffe6,0 2px 8px #4f46e52e}.xiaohong-avatar img{width:100%;height:100%;object-fit:cover;object-position:center 12%;display:block}.xiaohong-avatar.is-thinking{animation:xiaohong-breathe 1.6s ease-in-out infinite}@keyframes xiaohong-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.04);box-shadow:0 0 0 3px #a78bfa59,0 4px 14px #4f46e547}}.xiaohong-brand-label{display:inline-flex;align-items:center;gap:8px}.xiaohong-brand-label-text{font-weight:700}.xiaohong-wait-banner{display:flex;align-items:center;gap:12px;margin:10px 0 0;padding:10px 12px;border-radius:12px;border:1px solid #e0e7ff;background:linear-gradient(120deg,#f8fafc,#eef2ff,#fdf4ff)}.xiaohong-wait-banner-text{margin:0;font-size:13px;line-height:1.45;color:#4338ca;font-weight:600}.friend-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.friend-list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.friend-identity{display:flex;align-items:flex-start;gap:10px;min-width:0}.friend-avatar{width:40px;height:40px;border-radius:12px;object-fit:cover;flex-shrink:0;display:block;background:#e2e8f0}.friend-avatar--fallback{display:grid;place-items:center;color:#fff;font-size:15px;font-weight:700;background:linear-gradient(145deg,#3b82f6,#1d4ed8)}.friend-bio{margin-top:4px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.friend-actions{display:flex;gap:8px}.prep-ops-card--friends{gap:10px;background:linear-gradient(165deg,#f5f3ff8c,#fffffff5 42%)}.friends-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.friends-track{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;margin:2px 0 0;font-size:11px;color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none}.friends-track input{margin:0}.friends-rows{display:flex;flex-direction:column;gap:8px}.friends-row{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px;align-items:center}.friends-label{font-size:12px;font-weight:650;color:#64748b}.friends-controls,.friends-status{display:flex;align-items:center;gap:6px;min-width:0}.friends-controls select{flex:1;min-width:0;height:32px;padding:0 8px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:12px;color:#0f172a}.friends-controls select:nth-of-type(2){flex:0 0 64px}.friends-controls .btn{flex-shrink:0;padding:4px 10px;font-size:12px}.friends-status{flex-wrap:wrap}.friends-name{font-size:13px;font-weight:650;color:#0f172a}.friends-meta{font-size:12px;color:#64748b}.friends-text-btn{border:0;background:transparent;padding:0;font-size:12px;color:#4f46e5;cursor:pointer}.friends-text-btn:hover:not(:disabled){text-decoration:underline}.friends-text-btn:disabled{opacity:.5;cursor:default}.friends-chips{display:flex;flex-wrap:wrap;gap:6px}.friends-chip{display:inline-flex;align-items:center;gap:2px;max-width:100%;padding:2px 4px 2px 8px;border-radius:999px;background:#f5f3ff;color:#5b21b6;font-size:12px;font-weight:600}.friends-chip-x{border:0;background:transparent;width:18px;height:18px;padding:0;border-radius:999px;color:#7c3aed;font-size:14px;line-height:1;cursor:pointer}.friends-chip-x:hover:not(:disabled){background:#ede9fe}.prep-ops-mid-stack{display:flex;flex-direction:column;gap:10px;min-width:0}.collab-banner{margin:8px 0 0;font-size:13px;line-height:1.5;color:#5b21b6;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.collab-current{display:flex;flex-direction:column;gap:8px}.collab-current-actions,.collab-preset-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.prep-ops-card--grant{min-height:0;background:linear-gradient(165deg,#f5f3ffa6,#fffffff5 40%)}.prep-ops-card--grant .downstream-switch{margin:0 0 8px;font-size:13px}.grant-list-block{margin-top:4px;min-height:0;display:flex;flex-direction:column;gap:6px}.grant-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:650;color:#475569}.grant-list{list-style:none;margin:0;padding:0 2px 0 0;display:flex;flex-direction:column;gap:6px;max-height:168px;overflow:auto;overscroll-behavior:contain}.grant-list-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;flex-shrink:0}.grant-list-meta{min-width:0}.grant-list-meta strong{font-size:13px}.grant-list-item .btn{flex-shrink:0;padding:4px 8px;font-size:12px}.grant-list::-webkit-scrollbar{width:6px}.grant-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}.form-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}.form-row input,.form-row select{flex:1;min-width:180px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px}.downstream-switch{display:flex;gap:10px;align-items:flex-start;margin:10px 0 14px;font-size:14px;line-height:1.45}.downstream-switch input{margin-top:3px}.header-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.shared-share-panel{margin:0 0 16px}.shared-share-card{width:100%}.shared-share-card .share-qr-layout{grid-template-columns:minmax(200px,240px) minmax(0,1fr);gap:24px}.shared-share-card .share-qr-meta{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:14px;align-items:stretch}.shared-share-card .share-qr-error{grid-column:1 / -1}.shared-share-card .share-qr-code{overflow:visible;text-overflow:unset;white-space:nowrap}@media(max-width:900px){.shared-share-card .share-qr-layout,.shared-share-card .share-qr-meta{grid-template-columns:1fr}}.shared-export-panel{margin:0 0 16px}.shared-export-card{width:100%;max-width:100%}.shared-question-preview{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.shared-question-item{padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.shared-question-item-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.shared-question-index{font-size:13px;color:#64748b}.shared-question-item-body .question-preview{padding:0;min-height:0;font-size:14px;line-height:1.6;background:transparent;border:none}.shared-question-item-body .question-preview .katex{font-size:.95em}.shared-media-block{margin-top:10px}.shared-media-label{font-size:12px;font-weight:600;color:#475569;margin-bottom:6px}.shared-stem-images{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.shared-stem-image-link{display:block;max-width:min(100%,420px)}.shared-stem-image{display:block;width:100%;max-height:280px;object-fit:contain;border-radius:8px;border:1px solid #e2e8f0;background:#fff}.shared-stem-geogebra{width:min(100%,420px)}.shared-media-videos{display:flex;flex-direction:column;gap:12px}.shared-media-video-title{font-size:13px;font-weight:600;color:#334155;margin-bottom:6px}.shared-media-video-player{width:100%;max-width:640px;max-height:360px;border-radius:8px;border:1px solid #e2e8f0;background:#000}.shared-fold-list{margin-top:12px;display:flex;flex-direction:column;gap:8px}.shared-fold{border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;padding:8px 12px}.shared-fold>summary{cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:600;color:#1d4ed8}.shared-fold>summary::-webkit-details-marker{display:none}.shared-fold>summary:before{content:"▸ ";display:inline-block;transition:transform .15s}.shared-fold[open]>summary:before{transform:rotate(90deg)}.shared-fold-body{margin-top:10px;padding-top:10px;border-top:1px solid #e2e8f0}.shared-fold--nested{margin-top:8px;background:#fff}.shared-hint-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.shared-hint-item{padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.shared-hint-label{font-size:12px;font-weight:600;color:#475569;margin-bottom:6px}.shared-hint-caption{font-size:12px;color:#64748b;margin-bottom:4px}.shared-hint-block{margin-bottom:6px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.page-header h2{margin:4px 0 0}.muted{color:#64748b;font-size:13px}.progress-toolbar{margin-bottom:16px}.progress-preset-row,.progress-filter-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.progress-filter-row{margin-top:10px}.progress-date-field{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#475569}.progress-date-field input{padding:6px 8px;border:1px solid #e2e8f0;border-radius:8px}.progress-search{flex:1;min-width:160px;padding:6px 10px;border:1px solid #e2e8f0;border-radius:8px}.progress-student-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.progress-student-card{padding:0}.progress-student-toggle{width:100%;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;text-align:left;background:transparent;border:0;padding:14px 16px;cursor:pointer}.progress-student-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:14px}.progress-lesson-list{list-style:none;margin:0;padding:0 16px 12px;border-top:1px solid #e2e8f0}.progress-lesson-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f1f5f9}.progress-lesson-item:last-child{border-bottom:0}.form-hint{color:#047857;font-size:13px;margin:8px 0 0}.assist-review-panel{margin:14px 0;padding:12px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc}.assist-review-panel h4{margin:0 0 6px}.assist-status-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}.present-cast-panel{max-width:32rem}.mark-standard{margin-top:16px;padding-top:12px;border-top:1px solid #e2e8f0}.mark-standard h3{margin:0 0 6px;font-size:16px}.mark-standard p{margin:0 0 8px}.mark-special-row{display:flex;gap:8px;align-items:flex-start;margin-top:10px}.mark-checkpoint-index{padding-top:2px;color:#64748b;flex:none}.mark-checkpoint-main{flex:1;min-width:0}.mark-checkpoint-edit{display:flex;gap:8px;align-items:center;flex:1;min-width:0}.mark-checkpoint-render{flex:1;min-width:0;text-align:left;padding:6px 8px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;cursor:text;font:inherit;color:inherit}.mark-checkpoint-render .question-preview{margin:0}.mark-solution-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(11rem,16rem);gap:16px;align-items:start;margin:8px 0 12px}.mark-task{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 12px}.mark-task .field-hint{flex-basis:100%;margin:0}.exam-lesson-pick-list{list-style:none;margin:8px 0 0;padding:0;max-height:320px;overflow:auto}.exam-lesson-pick-list li{padding:6px 0;border-bottom:1px solid #eef2f7}.exam-lesson-pick-list label{display:flex;gap:8px;align-items:flex-start;cursor:pointer}.mark-plan-callout p{margin:0 0 8px}.mark-plan-callout .btn{margin-top:4px}.mark-roster-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:10px}.mark-roster-head h2{margin:0;font-size:18px}.mark-roster-search{min-width:10rem;max-width:16rem}.mark-roster-table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:10px}.mark-roster-table{width:100%;border-collapse:collapse;font-size:14px}.mark-roster-table th,.mark-roster-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #eef2f7;white-space:nowrap}.mark-roster-table th{background:#f8fafc;color:#64748b;font-weight:600}.mark-roster-table tr.is-open{background:#eff6ff}.mark-roster-table tr:last-child td{border-bottom:none}.mark-roster-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.mark-sheet-detail{margin-top:14px;padding:14px;border:1px solid #dbe4f0;border-radius:12px;background:#fff}.mark-sheet-detail-head{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:8px}.mark-sheet-detail-head h3{margin:0;font-size:16px}.mark-sheet-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.mark-score-table-wrap{overflow:auto;margin-top:12px;border:1px solid #e2e8f0;border-radius:10px}.mark-score-table{width:100%;border-collapse:collapse;font-size:13px}.mark-score-table th,.mark-score-table td{padding:8px 10px;text-align:left;border-bottom:1px solid #eef2f7;vertical-align:middle}.mark-score-table td.mark-answer-cell{white-space:normal;min-width:7.5rem;max-width:18rem}.mark-answer-empty{color:#94a3b8}.mark-answer-latex .question-preview{margin:0;padding:0;background:transparent;min-height:0}.mark-score-table th{background:#f8fafc;color:#64748b;font-weight:600;white-space:nowrap}.mark-score-table tr:last-child td{border-bottom:none}.mark-score-input{width:4.2rem;padding:4px 6px;border:1px solid #cbd5e1;border-radius:6px}.mark-score-max{margin-left:4px;color:#94a3b8}.mark-comment-input{width:100%;min-width:8rem;padding:4px 8px;border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box}.mark-upload-fields{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.mark-upload-fields .answer-input{min-width:10rem}.mark-upload-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}.mark-batch-progress{margin-top:12px;padding:12px 14px;border:1px solid #d7e3f4;border-radius:10px;background:#f7fafc}.mark-batch-bar{height:8px;border-radius:99px;background:#e6eef8;overflow:hidden;margin-top:8px}.mark-batch-bar>span{display:block;height:100%;background:#2f6fed;transition:width .2s ease}.mark-shots{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.mark-shot{position:relative;width:120px;height:120px}.mark-shot img{width:120px;height:120px;object-fit:cover;border-radius:8px;border:1px solid #e2e8f0;background:#f8fafc}.mark-shot button{position:absolute;top:4px;right:4px;border:none;border-radius:999px;background:#0f172ab8;color:#fff;font-size:12px;padding:2px 6px;cursor:pointer}.mark-solution-answer{margin:12px 0;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.mark-solution-answer h4{margin:0 0 6px;font-size:13px;color:#64748b;font-weight:600}.mark-latex .question-preview{display:block;padding:0;background:transparent;min-height:0;border-radius:0;overflow:visible}.mark-latex .rich-content-line{line-height:1.8;overflow:visible}.mark-latex .katex{font-size:1.05em;line-height:1.4}.mark-method{margin-top:12px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.mark-method-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mark-method-body{margin-top:8px}.mark-method-source-head{display:flex;align-items:center;justify-content:space-between;margin-top:8px;color:#64748b;font-size:13px}.mark-method-source{display:block;width:100%;box-sizing:border-box;margin-top:4px;min-height:4.5rem;padding:8px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#1e293b;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical}.mark-checkpoint-name{display:block;flex:1;width:auto;min-width:0;margin-top:0;padding:4px 8px;border:1px solid #cbd5e1;border-radius:6px;font:inherit}@media(max-width:720px){.mark-solution-layout{grid-template-columns:1fr}}.exam-publish-panel{max-width:42rem}.present-cast-body{display:grid;gap:10px}.present-cast-pin-label{margin:0;font-size:.85rem;color:#64748b;letter-spacing:.08em}.present-cast-pin{display:flex;justify-content:center;gap:.55rem;margin:.2rem 0 .15rem;font-size:3.2rem;font-weight:750;letter-spacing:.12em;line-height:1;color:#0f172a}.present-cast-pin span{display:inline-flex;align-items:center;justify-content:center;min-width:2.4rem;padding:.2rem .15rem;border-bottom:3px solid #0f172a}.present-cast-hint{margin:0;color:#64748b;font-size:.9rem;text-align:center}.present-cast-url-label{font-size:.85rem;color:#475569}.present-cast-url{width:100%;padding:.55rem .7rem;border:1px solid #cbd5e1;border-radius:8px;font-size:.92rem;background:#f8fafc}.present-cast-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.present-guest-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:#0f1419;color:#f2f4f7}.present-guest-card{width:min(28rem,100%);display:grid;gap:.85rem;justify-items:center;text-align:center}.present-guest-kicker{margin:0;letter-spacing:.18em;text-transform:uppercase;font-size:.75rem;color:#ffffff73}.present-guest-card h1{margin:0;font-size:1.55rem}.present-guest-lead{margin:0;color:#ffffff9e}.present-pin-boxes{display:flex;gap:.65rem}.present-pin-box{width:3.4rem;height:4.1rem;text-align:center;font-size:2rem;font-weight:700;letter-spacing:0;text-transform:uppercase;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:#ffffff0f;color:#fff;outline:none}.present-pin-box:focus{border-color:#7dd3fc;box-shadow:0 0 0 3px #7dd3fc40}.present-guest-card .form-error{margin:0}.credits-hero{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.credits-guide{margin:4px 0 8px}.credits-guide-grid{display:grid;grid-template-columns:1fr;gap:12px;margin:10px 0 4px}@media(min-width:720px){.credits-guide-grid{grid-template-columns:1fr 1fr}.credits-guide-card--free{grid-column:1 / -1}}.credits-guide-card{border:1px solid #e2e8f0;border-radius:12px;padding:12px 14px 8px;background:#f8fafc}.credits-guide-card h5{margin:0 0 4px;font-size:13px;font-weight:700;color:#0f172a}.credits-guide-card>p{margin:0 0 10px;font-size:12px;line-height:1.5;color:#64748b}.credits-guide-card ul{list-style:none;margin:0;padding:0}.credits-guide-card li{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #e2e8f0}.credits-guide-item-main{display:flex;flex-direction:column;gap:2px;min-width:0}.credits-guide-item-label{font-size:13px;color:#0f172a}.credits-guide-item-note{font-size:12px;color:#94a3b8}.credits-guide-item-price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.credits-guide-item-price strong{font-size:13px;font-weight:650;color:#0f172a;white-space:nowrap}.credits-guide-item-price strong.is-free{color:#047857}.credits-guide-badge{font-size:11px;font-style:normal;font-weight:600;color:#b45309}.credits-subtitle{margin:16px 0 8px;font-size:14px;font-weight:650;color:#0f172a}.credits-subtitle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.credits-subtitle-row .credits-subtitle{margin:8px 0}.credits-pack-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 12px}.credits-pack-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;text-align:left}.credits-pack-card:hover:not(:disabled){border-color:#0d9488;box-shadow:0 0 0 3px #0d94881f}.credits-pack-card:disabled{opacity:.65;cursor:not-allowed}.credits-pack-card strong{font-size:16px;color:#0f172a}.credits-pack-card span{font-size:13px;color:#475569}.credits-pack-card em{font-size:12px;font-style:normal;color:#0f766e;margin-top:4px}.credits-order-banner{padding:12px 14px;border-radius:10px;background:#ecfdf5;margin:8px 0 12px}.credits-order-banner p{margin:0 0 4px}.credits-order-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:8px}.credits-order-list li{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;font-size:13px}.credits-status{font-size:12px;font-weight:600}.credits-status-pending{color:#b45309}.credits-status-paid{color:#047857}.credits-status-cancelled,.credits-status-expired{color:#64748b}.credits-ledger-table{width:100%;border-collapse:collapse;font-size:13px}.credits-ledger-table th,.credits-ledger-table td{text-align:left;padding:8px 6px;border-bottom:1px solid #e2e8f0}.credits-delta-plus{color:#047857;font-weight:600}.credits-delta-minus{color:#b91c1c;font-weight:600}.credits-ledger-modal{max-width:720px}.credits-ledger-modal-body{padding-top:16px}.credits-ledger-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.credits-ledger-month{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#475569}.credits-ledger-month select{min-width:160px;height:34px;border:1px solid #e2e8f0;border-radius:8px;padding:0 10px;background:#fff;color:#0f172a}.credits-ledger-pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:12px 24px 16px;border-top:1px solid #e5e7eb;font-size:13px;color:#64748b;flex-shrink:0}@media(max-width:640px){.credits-pack-grid{grid-template-columns:1fr}}.exam-paper-compose-modal{width:min(560px,94vw);max-height:min(88vh,720px);overflow:auto}.exam-paper-score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0}.exam-paper-toggles{display:flex;flex-wrap:wrap;gap:16px 24px;margin:8px 0 16px}.exam-paper-preview{border:1px solid #e5e7eb;border-radius:10px;padding:12px 14px;background:#f8fafc;margin-bottom:12px}.exam-paper-preview-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:8px;font-size:13px;color:#475569}.exam-paper-section-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.exam-paper-section-list li{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#0f172a}.exam-paper-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}@media(max-width:560px){.exam-paper-score-grid{grid-template-columns:1fr}}.exam-library{max-width:1100px;margin:0 auto;padding-bottom:48px}.exam-library-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;padding:28px 28px 24px;margin-bottom:18px;border-radius:16px;background:linear-gradient(135deg,#b4530914,#0f172a08),#f8fafc;border:1px solid #e7e5e4}.exam-library-eyebrow{margin:0 0 6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#b45309;font-weight:700}.exam-library-hero h2{margin:0 0 8px;font-size:28px;letter-spacing:-.02em;color:#0f172a}.exam-library-lead{margin:0;max-width:520px;color:#57534e;line-height:1.55;font-size:14px}.exam-library-stats{margin-top:14px;display:flex;flex-wrap:wrap;gap:6px 8px;font-size:13px;color:#78716c}.exam-library-stats strong{color:#0f172a}.exam-library-dot{opacity:.5}.exam-library-hero-actions{display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap}.exam-template-panel{margin-bottom:16px;padding:16px 18px}.exam-template-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.exam-template-panel-head h3{margin:0;font-size:16px}.exam-template-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.exam-template-item{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid #e7e5e4;border-radius:10px;background:#fafaf9}.exam-template-details{margin-top:6px}.exam-template-details summary{display:inline-flex;cursor:pointer;font-size:12px;color:#57534e;list-style:none}.exam-template-details summary::-webkit-details-marker{display:none}.exam-template-details summary:before{content:"▸ "}.exam-template-details[open] summary:before{content:"▾ "}.exam-template-details[open] .exam-template-details-closed,.exam-template-details:not([open]) .exam-template-details-open{display:none}.exam-template-notes{margin:6px 0 0}.exam-template-summary{margin:6px 0 0;font-size:12px;color:#78716c;line-height:1.45}.exam-template-item-actions{display:flex;gap:8px;flex-shrink:0}.exam-template-modal{width:min(680px,calc(100vw - 32px));max-width:680px;background:#fff}.exam-template-hero{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:flex-start;padding:22px 22px 18px;border-bottom:1px solid #e7e5e4;background:radial-gradient(420px 120px at 0 0,rgba(37,99,235,.08),transparent 70%),#fff}.exam-template-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#1d4ed8;background:#eff6ff;border:1px solid #dbeafe}.exam-template-kicker{margin:0 0 4px;font-size:12px;letter-spacing:.08em;color:#1d4ed8;font-weight:600}.exam-template-hero h3{margin:0;font-size:20px;line-height:1.25;color:#1c1917}.exam-template-lead{margin:6px 0 0;font-size:13px;line-height:1.55;color:#78716c}.exam-template-close{width:32px;height:32px;border:0;border-radius:999px;background:transparent;color:#78716c;font-size:22px;line-height:1;cursor:pointer}.exam-template-close:hover:not(:disabled){background:#f5f5f4;color:#1c1917}.exam-template-close:disabled{opacity:.4;cursor:not-allowed}.exam-template-body{padding:18px 22px 8px;display:flex;flex-direction:column;gap:16px}.exam-template-name{display:flex;flex-direction:column;gap:6px}.exam-template-name span{font-size:13px;font-weight:600;color:#44403c}.exam-template-name input{height:42px;border-radius:10px;border:1px solid #d6d3d1;padding:0 12px;font-size:14px;background:#fff}.exam-template-name input:focus{outline:2px solid #bfdbfe;border-color:#60a5fa}.exam-template-name small{color:#a8a29e;font-size:12px}.exam-template-files{display:grid;grid-template-columns:1fr 1fr;gap:12px}.exam-template-file{position:relative;display:flex;flex-direction:column;gap:8px;min-height:148px;margin:0;padding:14px;border-radius:14px;border:1.5px dashed #d6d3d1;background:#fafaf9;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.exam-template-file:hover{border-color:#93c5fd;background:#fff}.exam-template-file.is-ready{border-style:solid;border-color:#86efac;background:#f0fdf4}.exam-template-file.is-disabled{cursor:progress;opacity:.72}.exam-template-file input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:inherit}.exam-template-file-step{font-size:11px;font-weight:700;letter-spacing:.06em;color:#a8a29e}.exam-template-file.is-ready .exam-template-file-step{color:#15803d}.exam-template-file-copy{display:flex;flex-direction:column;gap:4px}.exam-template-file-copy strong{font-size:16px;color:#1c1917}.exam-template-file-copy span{font-size:12px;line-height:1.45;color:#78716c}.exam-template-file-name{margin-top:auto;font-size:13px;color:#1d4ed8;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exam-template-file.is-ready .exam-template-file-name{color:#166534}.exam-template-error{margin:0}.exam-template-status{margin:0;padding:10px 12px;border-radius:10px;background:#eff6ff;color:#1e40af;font-size:13px}.exam-template-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 22px 18px}.exam-template-footer-hint{margin:0;font-size:12px;color:#a8a29e}.exam-template-actions{display:flex;gap:8px;justify-content:flex-end}.exam-from-lesson-modal .exam-template-actions{margin-top:16px}@media(max-width:720px){.exam-template-files,.exam-template-item,.exam-template-footer{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.exam-template-hero{grid-template-columns:auto 1fr}.exam-template-close{grid-column:2;justify-self:end}}.exam-library-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:16px}.exam-library-search{flex:1;height:40px;border-radius:999px;border:1px solid #d6d3d1;padding:0 16px;background:#fff;font-size:14px}.exam-library-empty{text-align:center;padding:48px 24px}.exam-library-empty-actions{display:flex;justify-content:center;gap:10px;margin-top:16px}.exam-paper-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.exam-paper-card{border:1px solid #e7e5e4;border-radius:14px;background:#fff;padding:16px 16px 14px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 2px #1c19170a;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.exam-paper-card:hover{border-color:#d6d3d1;box-shadow:0 8px 20px #1c19170f;transform:translateY(-1px)}.exam-paper-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.exam-paper-status{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;background:#f5f5f4;color:#57534e}.exam-paper-status--ready{background:#ecfdf5;color:#047857}.exam-paper-updated{font-size:12px;color:#a8a29e}.exam-paper-card-title{margin:0;font-size:17px;line-height:1.35}.exam-paper-card-title a{color:#0f172a;text-decoration:none}.exam-paper-card-title a:hover{color:#b45309}.exam-paper-card-meta{display:flex;flex-wrap:wrap;gap:4px 6px;font-size:12px;color:#78716c}.exam-paper-card-actions{display:flex;gap:8px;margin-top:auto;padding-top:4px}.exam-from-lesson-modal{width:min(640px,calc(100vw - 32px));max-width:640px;max-height:min(82vh,720px)}.exam-from-lesson-body{padding:16px 22px 20px;overflow:auto}.exam-from-lesson-template{margin:0 0 14px}.exam-from-lesson-empty{margin:8px 0 0;padding:18px 14px;border-radius:12px;background:#fafaf9;color:#78716c;font-size:13px}.exam-create-modal{width:min(560px,calc(100vw - 32px));max-width:560px}.exam-create-body{padding:16px 22px 4px;max-height:min(46vh,360px);overflow:auto}.exam-create-options{display:flex;flex-direction:column;gap:8px}.exam-create-option{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;padding:12px 14px;border-radius:12px;border:1.5px solid #e7e5e4;background:#fafaf9;cursor:pointer}.exam-create-option:hover:not(:disabled){border-color:#93c5fd;background:#fff}.exam-create-option.is-selected{border-color:#2563eb;background:#eff6ff;box-shadow:inset 0 0 0 1px #2563eb}.exam-create-option:disabled{cursor:progress;opacity:.7}.exam-create-option-mark{flex:0 0 auto;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-size:13px;font-weight:700;color:#57534e;background:#fff;border:1px solid #e7e5e4}.exam-create-option.is-selected .exam-create-option-mark{color:#1d4ed8;border-color:#bfdbfe;background:#fff}.exam-create-option-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.exam-create-option-copy strong{font-size:14px;color:#1c1917}.exam-create-option-copy span{font-size:12px;line-height:1.45;color:#78716c}.exam-create-empty{margin:10px 0 0;font-size:12px;color:#a8a29e}.exam-from-lesson-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.exam-from-lesson-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid #e7e5e4;border-radius:12px;background:#fff}.exam-from-lesson-list li:hover{border-color:#bfdbfe;background:#f8fbff}.exam-from-lesson-grade{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:13px;font-weight:700;color:#1d4ed8;background:#eff6ff;border:1px solid #dbeafe}.exam-from-lesson-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.exam-from-lesson-copy strong{font-size:14px;color:#1c1917;line-height:1.35}.exam-from-lesson-copy span{font-size:12px;color:#78716c}.exam-editor{max-width:1180px;margin:0 auto;padding-bottom:56px}.exam-editor-topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.exam-editor-topbar-left{display:flex;gap:14px;align-items:flex-start}.exam-editor-heading{margin:0;font-size:24px;letter-spacing:-.02em}.exam-editor-topbar-actions{display:flex;gap:10px;align-items:center}.exam-editor-saved{font-size:13px;color:#047857;font-weight:600}.exam-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.exam-editor-card{margin-bottom:14px}.exam-editor-card h3{margin:0 0 12px;font-size:16px}.exam-editor-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px}.exam-editor-card-head h3{margin:0}.exam-editor-import-actions{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}.exam-editor-empty-import{margin-top:8px;padding:28px 20px;border:1px dashed #d6d3d1;border-radius:12px;background:linear-gradient(180deg,#fafaf9,#f5f5f4);text-align:center}.exam-editor-empty-import p{margin:0 0 16px;color:#57534e;font-size:14px;line-height:1.5}.exam-editor-empty-import .exam-editor-import-actions{justify-content:center}.exam-editor-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.exam-editor-field-wide{grid-column:1 / -1}.exam-editor-field-wide input{display:block;width:100%;min-width:0;max-width:none;box-sizing:border-box;height:42px;padding:0 14px;border:1px solid #d6d3d1;border-radius:10px;font-size:15px;background:#fff}.exam-editor-score-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.exam-editor-bucket{margin-top:14px;padding-top:12px;border-top:1px solid #f5f5f4}.exam-editor-bucket h4{margin:0 0 4px;font-size:14px;display:flex;justify-content:space-between;color:#44403c}.exam-editor-bucket h4 span{color:#a8a29e;font-weight:500}.exam-editor-question-list{margin-top:4px}.exam-editor-bucket-items .question-list-item:first-child{border-top:none;margin-top:0;padding-top:8px}.exam-paper-qactions{align-items:center}.exam-paper-qindex{font-size:12px;color:#a8a29e;font-weight:500}.exam-paper-qitem .question-stem-body:after{background:linear-gradient(transparent,#fff)}.exam-editor-pts{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#78716c}.exam-editor-pts input{width:56px;height:28px;padding:0 6px;border:1px solid #d6d3d1;border-radius:6px;font-size:13px}.exam-editor-side-sticky{position:sticky;top:16px}.exam-editor-total{margin:0 0 12px;font-size:14px;color:#57534e;display:flex;justify-content:space-between;align-items:baseline}.exam-editor-total strong{font-size:22px;color:#0f172a;margin-right:6px}.exam-export-block,.exam-template-apply-block{margin-top:16px;padding-top:14px;border-top:1px dashed #e7e5e4}.exam-template-apply-block h4{margin:0 0 6px;font-size:13px}.exam-export-block h4{margin:0 0 6px;font-size:14px}.exam-export-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;font-size:13px}.exam-export-row>div{display:flex;gap:6px}.exam-export-preview-tabs{display:flex;gap:6px;padding:0 20px 10px;border-bottom:1px solid #e7e5e4;flex-shrink:0}.exam-export-preview-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #e7e5e4;background:#fafaf9;color:#57534e;border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer}.exam-export-preview-tab.is-active{background:#1c1917;border-color:#1c1917;color:#fff}.exam-export-preview-tab:disabled{opacity:.55;cursor:not-allowed}.exam-side-footnote{margin-top:16px;padding-top:12px;border-top:1px dashed #e7e5e4;font-size:12px;color:#a8a29e;line-height:1.5}@media(max-width:960px){.exam-library-hero{flex-direction:column;align-items:stretch}.exam-editor-layout{grid-template-columns:1fr}.exam-editor-fields,.exam-editor-score-row{grid-template-columns:1fr 1fr}.exam-editor-qitem{flex-direction:column}}@media(max-width:560px){.exam-editor-fields,.exam-editor-score-row{grid-template-columns:1fr}}
