.agent-intro-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;background:#0f172ab8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow-y:auto}.agent-intro-title{margin:0 0 1.25rem;font-size:1.5rem;font-weight:700;color:#f8fafc}.agent-intro-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;max-width:1100px}.agent-intro-card{width:196px;min-height:260px;display:flex;flex-direction:column;align-items:center;padding:0 .85rem .85rem;border-radius:1rem;background:var(--bg-card, #fff);border:2px solid color-mix(in srgb,var(--agent-color, #6366f1) 55%,transparent);box-shadow:0 8px 24px #0000002e}.agent-intro-card-accent{width:calc(100% + 1.7rem);height:3rem;margin:0 -.85rem;border-radius:.85rem .85rem 0 0;background:linear-gradient(135deg,color-mix(in srgb,var(--agent-color) 25%,transparent),color-mix(in srgb,var(--agent-color) 8%,transparent))}.agent-intro-avatar{width:2.75rem;height:2.75rem;margin-top:-1.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;color:#fff;background:var(--agent-color, #6366f1);border:2px solid var(--bg-card, #fff)}.agent-intro-name{margin:.35rem 0 0;font-size:.9rem;font-weight:700;color:var(--agent-color, #3730a3);text-align:center}.agent-intro-role{font-size:.68rem;padding:.1rem .45rem;border-radius:999px;background:color-mix(in srgb,var(--agent-color) 12%,transparent);color:var(--agent-color)}.agent-intro-persona{margin:.5rem 0 0;flex:1;width:100%;max-height:140px;overflow-y:auto;font-size:.68rem;line-height:1.55;color:var(--text-muted, #64748b);text-align:left}.agent-intro-footer{margin-top:1.25rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.agent-intro-dots{display:flex;gap:.35rem}.agent-intro-dot{width:.45rem;height:.45rem;border-radius:50%;background:#ffffff59}.agent-intro-dot--on{background:#f8fafc}.agent-intro-continue{border:none;border-radius:999px;padding:.5rem 1.5rem;font-size:.9rem;font-weight:600;cursor:pointer;color:#0f172a;background:#f8fafc}.agent-intro-continue:hover{background:#e2e8f0}.scene-play-bar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem 1rem;border-bottom:1px solid var(--classroom-border, rgba(148, 163, 184, .22));background:#0f172a59;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.scene-play-bar-main{display:flex;align-items:center;gap:.65rem;min-width:0;flex:1}.scene-play-bar-title{margin:0;font-size:.95rem;font-weight:600;color:var(--classroom-text, #f1f5f9);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-play-bar-actions{flex-shrink:0}.scene-play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:12;display:flex;align-items:center;justify-content:center;pointer-events:none}.scene-play-fab{pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:.5rem;border:none;background:transparent;cursor:pointer;padding:.25rem}.scene-play-fab:disabled{opacity:.45;cursor:not-allowed}.scene-play-fab-icon{display:flex;align-items:center;justify-content:center;width:5rem;height:5rem;border-radius:50%;font-size:1.45rem;line-height:1;color:#7c3aed;background:#fffffff5;box-shadow:0 4px 30px #7c3aed59,0 8px 32px #00000073,inset 0 0 0 1px #e9d5ff8c;transition:transform .15s ease,box-shadow .15s ease}.scene-play-fab:hover:not(:disabled) .scene-play-fab-icon{transform:scale(1.05);box-shadow:0 6px 36px #7c3aed47,inset 0 0 0 1px #a78bfa99}.scene-play-fab-label{font-size:.82rem;font-weight:600;color:#f5f3ff;text-shadow:0 1px 6px rgba(0,0,0,.75)}.interactive-scene{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.35rem;padding:.25rem;overflow:hidden}.interactive-scene-canvas{flex:1;min-height:0;width:100%;max-width:100%;display:flex;flex-direction:column;overflow:hidden;background:#fff;border-radius:calc(var(--radius-lg, 12px) - 2px);box-shadow:0 0 0 1px #3b82f61f,0 16px 40px #00000059}.interactive-scene-frame{flex:1;min-height:0;position:relative;overflow:hidden;background:#fff}.interactive-scene-frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;display:block}.interactive-scene-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--text-muted)}.interactive-scene-hint{flex:0 0 auto;width:100%;max-width:100%;margin:0;padding:.2rem .5rem .1rem;font-size:.8rem;line-height:1.4;color:var(--text-muted, #94a3b8);text-align:center}.interactive-scene-gen-error{flex:0 0 auto;width:100%;max-width:100%;padding:.5rem .65rem;border-radius:var(--radius-md, 8px);background:#dc26261f;border:1px solid rgba(220,38,38,.35);color:var(--text-primary, #f8fafc);font-size:.9rem}.interactive-scene-gen-error strong{display:block;margin-bottom:.35rem}.interactive-scene-gen-error details{margin-top:.25rem}.interactive-scene-gen-error summary{cursor:pointer;color:var(--text-muted, #94a3b8);font-size:.82rem}.interactive-scene-gen-error pre{margin:.35rem 0 0;padding:.35rem .5rem;font-size:.75rem;white-space:pre-wrap;word-break:break-word;background:#0003;border-radius:4px;max-height:6rem;overflow:auto}.pbl-scene{flex:1;display:flex;flex-direction:column;min-height:0}.pbl-scene-grid{flex:1;min-height:0;display:grid;grid-template-columns:1fr;gap:0;overflow:hidden}@media (min-width: 900px){.pbl-scene-grid{grid-template-columns:42% 58%}}.pbl-scene-brief{min-height:0;overflow-y:auto;padding:1rem 1.15rem;border-bottom:1px solid var(--classroom-border, rgba(148, 163, 184, .22))}@media (min-width: 900px){.pbl-scene-brief{border-bottom:none;border-right:1px solid var(--classroom-border, rgba(148, 163, 184, .22))}}.pbl-scene-card{margin-bottom:.85rem;padding:.75rem .9rem;border-radius:var(--radius-md, 8px);border:1px solid var(--classroom-border, rgba(148, 163, 184, .22));background:#0f172a40}.pbl-scene-card-title{margin:0 0 .45rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.pbl-scene-task{margin:0;line-height:1.65;white-space:pre-wrap;color:var(--classroom-text, #f1f5f9)}.pbl-scene-muted{margin:0;font-size:.92rem;line-height:1.55;color:var(--text-muted)}.pbl-scene-rubric{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.pbl-scene-rubric li{padding:.55rem .65rem;border-radius:var(--radius-md, 8px);border:1px solid var(--classroom-border, rgba(148, 163, 184, .28));font-size:.9rem;line-height:1.5;color:var(--classroom-text, #f1f5f9)}.pbl-scene-compose{min-height:0;display:flex;flex-direction:column;padding:1rem 1.15rem;gap:.65rem}.pbl-scene-compose textarea{flex:1;min-height:140px;resize:vertical}.pbl-scene-compose .chat-input-row{flex-shrink:0}.gen-progress{margin-top:1rem;padding:1rem 1.1rem;border-radius:12px;border:1px solid var(--border, rgba(255, 255, 255, .08));background:#0003}.gen-progress-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.gen-progress-badge{font-size:.75rem;font-weight:600;padding:.2rem .55rem;border-radius:6px;background:#ffffff14;color:var(--text-muted)}.gen-progress-badge--running{color:var(--accent);background:var(--accent-dim, rgba(99, 102, 241, .15))}.gen-progress-badge--queued{color:#fbbf24;background:#fbbf241f}.gen-progress-badge--failed{color:#f87171;background:#f871711f}.gen-progress-elapsed{font-size:.8rem;color:var(--text-muted)}.gen-progress-bar{height:8px;border-radius:4px;background:#ffffff1a;overflow:hidden;margin:.65rem 0}.gen-progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),#5b21b6);transition:width .35s ease}.gen-progress-message{margin:0;font-size:.92rem;color:var(--text-primary)}.gen-progress-hint{margin:.5rem 0 0;font-size:.8rem;color:var(--text-muted)}.gen-progress-error{margin:.5rem 0 0;font-size:.85rem;color:#f87171}.app-theme-toggle{display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .72rem;border-radius:999px;border:1px solid var(--theme-btn-border, #dbe5f4);background:var(--theme-btn-bg, #ffffff);color:var(--theme-text, #1e293b);font-size:.82rem;font-weight:600;line-height:1.2;cursor:pointer;transition:background .15s,border-color .15s}.app-theme-toggle:hover{background:var(--theme-btn-hover-bg, #eef2ff);border-color:var(--theme-btn-hover-accent, rgba(79, 70, 229, .35))}.app-theme-toggle__icon{font-size:.95rem;line-height:1}.quiz-view-panel{flex:1;display:flex;flex-direction:column;min-height:0;height:100%;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-panel);border:1px solid var(--border);box-shadow:0 8px 24px #47556914}.quiz-view-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:1.25rem 1.5rem 1.5rem}.quiz-view{--quiz-success: var(--accent-green, #16a34a);--quiz-danger: #dc2626}.quiz-cover-start-wrap{display:flex;justify-content:center;margin-top:1.25rem}.quiz-cover-stats{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-top:.75rem}.quiz-cover-stat{display:flex;align-items:center;gap:.45rem;font-size:.95rem;color:#ffffffe0}.quiz-cover-stat--plain{color:var(--text-muted)}.quiz-cover-title-block{text-align:center}.quiz-cover-title-block h3{margin:0;font-size:clamp(1.25rem,2vw,1.5rem);font-weight:700;color:#fff;text-shadow:0 1px 4px rgba(15,23,42,.35)}.quiz-cover-title-block--plain h3{color:var(--text-primary);text-shadow:none}.quiz-cover-title-block p{margin:.35rem 0 0;font-size:.92rem;color:#ffffffb8}.quiz-cover-title-block--plain p{color:var(--text-muted)}.quiz-answering-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-bottom:.85rem;margin-bottom:.85rem;border-bottom:1px solid var(--border)}.quiz-answering-header--cover{border-bottom-color:#ffffff24}.quiz-answering-progress{font-size:.88rem;color:var(--text-muted)}.quiz-answering-progress--cover{color:#ffffffc7}.quiz-question-list{display:flex;flex-direction:column;gap:1rem}.quiz-letter-badge{width:1.75rem;height:1.75rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0;background:#eef2ff;color:#4338ca;transition:background .2s,color .2s}.quiz-letter-badge--cover{background:#ffffff24;color:#ffffffeb}.quiz-letter-badge--selected{background:var(--accent);color:#fff}.quiz-letter-badge--correct{background:var(--quiz-success);color:#fff}.quiz-letter-badge--incorrect{background:var(--quiz-danger);color:#fff}.quiz-option-btn{width:100%;display:flex;align-items:center;gap:.65rem;text-align:left;padding:.72rem .85rem;font-size:.95rem;line-height:1.45;border-radius:12px;border:1px solid var(--border);background:#f8fafc;color:var(--text-primary);cursor:pointer;transition:border-color .2s,background .2s}.quiz-option-btn:hover:not(:disabled){border-color:#4f46e559;background:#eef2ff}.quiz-option-btn--selected{border-color:#4f46e58c;background:#e0e7ff}.quiz-option-btn--correct{border-color:#16a34a73;background:#ecfdf5}.quiz-option-btn--incorrect{border-color:#dc262666;background:#fef2f2}.quiz-option-btn:disabled{cursor:default}.quiz-option-label{flex:1}.quiz-short-input{width:100%;min-height:96px;padding:.65rem .85rem;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--text-primary);font-size:.95rem;font-family:inherit;resize:vertical;box-sizing:border-box}.quiz-short-input:focus{outline:none;border-color:#4f46e573;box-shadow:0 0 0 3px var(--accent-dim)}.quiz-short-review{padding:.65rem .85rem;border-radius:10px;border:1px solid var(--border);background:#f8fafc;font-size:.92rem;line-height:1.5;white-space:pre-wrap}.quiz-ai-comment{margin-top:.65rem;padding:.65rem .85rem;border-radius:10px;border:1px solid rgba(79,70,229,.2);background:#4f46e50f;font-size:.88rem;line-height:1.5;color:#4338ca}.quiz-ai-comment strong{display:block;margin-bottom:.25rem;font-size:.82rem}.quiz-analysis{margin-top:.65rem;padding:.65rem .85rem;border-radius:10px;border:1px solid #bfdbfe;background:#eff6ff;font-size:.88rem;line-height:1.5;color:#1e40af}.quiz-grading-panel{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;min-height:12rem;padding:2rem 1rem}.quiz-grading-spinner{width:2.5rem;height:2.5rem;border:3px solid rgba(79,70,229,.18);border-top-color:var(--accent);border-radius:50%;animation:quiz-spin .9s linear infinite}@keyframes quiz-spin{to{transform:rotate(360deg)}}.quiz-grading-text{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.quiz-grading-text--cover{color:#fff}.quiz-grading-sub{margin:0;font-size:.88rem;color:var(--text-muted)}.quiz-grading-sub--cover{color:#ffffffb8}.quiz-review-score{border-radius:var(--radius-md);padding:1rem 1.15rem;margin-bottom:1rem;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff}.quiz-review-score-row{display:flex;align-items:baseline;gap:.35rem}.quiz-review-score-main{font-size:2rem;font-weight:800;line-height:1}.quiz-review-score-total{font-size:1rem;opacity:.75}.quiz-review-score-meta{margin-top:.45rem;font-size:.85rem;opacity:.88}.quiz-review-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.15rem;padding-top:1rem;border-top:1px solid var(--border)}.quiz-review-actions--cover{border-top-color:#ffffff24}.quiz-result-icon{font-size:1rem;flex-shrink:0}.quiz-result-icon--correct{color:var(--quiz-success)}.quiz-result-icon--incorrect{color:var(--quiz-danger)}.classroom .class-summary-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:var(--classroom-modal-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.class-summary-modal{max-width:520px;width:100%;max-height:min(88vh,640px);overflow:auto;background:var(--classroom-canvas-muted);color:var(--classroom-text);border-radius:var(--radius-lg);border:1px solid var(--classroom-border);padding:1.5rem 1.65rem 1.35rem;box-shadow:0 24px 48px #0000008c}.class-summary-modal h2{margin:0 0 .75rem;font-size:1.35rem;font-weight:700}.class-summary-lead{margin:0 0 1rem;line-height:1.65;font-size:.95rem;color:var(--classroom-text-muted)}.class-summary-list{margin:0 0 1rem;padding-left:1.35rem;line-height:1.75;font-size:.95rem}.class-summary-list li{margin-bottom:.45rem}.class-summary-order{font-weight:600;margin-right:.35rem;color:var(--classroom-text)}.class-summary-title-text{margin-right:.5rem}.class-summary-type{font-size:.82rem;color:#c7d2fe;padding:.12rem .45rem;border-radius:6px;background:#4f46e547;vertical-align:middle}.class-summary-footnote{margin:0 0 1.15rem;font-size:.88rem;color:var(--classroom-text-muted);line-height:1.55}.class-summary-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.class-summary-home-link{display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1.1rem;border-radius:10px;font-size:.95rem;font-weight:600;text-decoration:none;color:#fff;background:linear-gradient(135deg,#2563eb,#4f46e5);border:none}.class-summary-home-link:hover{filter:brightness(1.06)}html:has(.classroom[data-theme=dark]),body:has(.classroom[data-theme=dark]),#root:has(.classroom[data-theme=dark]){background:#111827;color:#f1f5f9}html:has(.classroom[data-theme=light]),body:has(.classroom[data-theme=light]),#root:has(.classroom[data-theme=light]){background:radial-gradient(900px 480px at 20% -10%,#dbeafe 0%,transparent 60%),radial-gradient(800px 420px at 100% 0%,#e9d5ff 0%,transparent 58%),linear-gradient(180deg,#f8fbff,#f3f7ff);color:#1e293b}.classroom{--classroom-canvas: #111827;--classroom-canvas-muted: #1f2937;--classroom-text: #f1f5f9;--classroom-text-muted: #94a3b8;--classroom-border: rgba(148, 163, 184, .22);--classroom-divider: rgba(148, 163, 184, .16);--classroom-surface: rgba(15, 23, 42, .55);--classroom-surface-elevated: rgba(51, 65, 85, .95);--classroom-input-bg: rgba(15, 23, 42, .65);--classroom-input-border: rgba(148, 163, 184, .28);--classroom-btn-bg: rgba(30, 41, 59, .85);--classroom-btn-border: rgba(148, 163, 184, .28);--classroom-btn-hover-bg: rgba(51, 65, 85, .95);--classroom-btn-hover-accent: rgba(129, 140, 248, .45);--classroom-btn-ghost-hover: rgba(51, 65, 85, .5);--classroom-side-shadow: 0 0 0 1px rgba(255, 255, 255, .04), 0 16px 40px rgba(0, 0, 0, .45);--classroom-shell-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04), 0 12px 40px rgba(0, 0, 0, .35);--classroom-slide-shadow: 0 16px 40px rgba(0, 0, 0, .4);--classroom-chat-user: #a5b4fc;--classroom-chat-assistant: rgba(241, 245, 249, .92);--classroom-filter-active-text: #c7d2fe;--classroom-badge-bg: rgba(79, 70, 229, .22);--classroom-badge-border: rgba(129, 140, 248, .4);--classroom-badge-text: #c7d2fe;--classroom-badge-live-bg: rgba(22, 163, 74, .22);--classroom-badge-live-border: rgba(74, 222, 128, .4);--classroom-badge-live-text: #86efac;--classroom-bullet-bg: rgba(30, 41, 59, .65);--classroom-bullet-text: rgba(241, 245, 249, .92);--classroom-bullet-border: rgba(148, 163, 184, .2);--classroom-link-hover: #fff;--classroom-secondary-bg: rgba(79, 70, 229, .22);--classroom-secondary-text: #e0e7ff;--classroom-secondary-border: rgba(129, 140, 248, .4);--classroom-secondary-hover: rgba(79, 70, 229, .38);--classroom-offer-bg: rgba(79, 70, 229, .15);--classroom-offer-border: rgba(129, 140, 248, .35);--classroom-wb-badge-bg: rgba(15, 23, 42, .55);--classroom-wb-badge-border: rgba(148, 163, 184, .25);--classroom-wb-on-text: #86efac;--classroom-wb-on-bg: rgba(22, 163, 74, .22);--classroom-wb-on-border: rgba(74, 222, 128, .35);--classroom-hint-warn: #fbbf24;--classroom-hint-error: #f87171;--classroom-quiz-border: rgba(255, 255, 255, .08);--classroom-quiz-shadow: 0 0 0 1px rgba(255, 255, 255, .05), 0 24px 48px rgba(0, 0, 0, .55);--classroom-modal-overlay: rgba(15, 23, 42, .72);--classroom-canvas-border: rgba(148, 163, 184, .22);--theme-btn-bg: var(--classroom-btn-bg);--theme-btn-border: var(--classroom-btn-border);--theme-text: var(--classroom-text);--theme-btn-hover-bg: var(--classroom-btn-hover-bg);--theme-btn-hover-accent: var(--classroom-btn-hover-accent);height:100dvh;overflow:hidden;display:flex;flex-direction:column;padding:.75rem clamp(.65rem,2vw,1.5rem) 1.25rem;width:100%;max-width:none;margin:0;box-sizing:border-box;background:var(--classroom-canvas);color:var(--classroom-text)}.classroom[data-theme=light]{--classroom-canvas: #f3f7ff;--classroom-canvas-muted: #ffffff;--classroom-text: #1e293b;--classroom-text-muted: #64748b;--classroom-border: #dbe5f4;--classroom-divider: rgba(148, 163, 184, .22);--classroom-surface: #f8fafc;--classroom-surface-elevated: #ffffff;--classroom-input-bg: #ffffff;--classroom-input-border: #dbe5f4;--classroom-btn-bg: #ffffff;--classroom-btn-border: #dbe5f4;--classroom-btn-hover-bg: #eef2ff;--classroom-btn-hover-accent: rgba(79, 70, 229, .35);--classroom-btn-ghost-hover: #f8fafc;--classroom-side-shadow: 0 12px 32px rgba(71, 85, 105, .12);--classroom-shell-shadow: 0 16px 40px rgba(71, 85, 105, .12);--classroom-slide-shadow: 0 16px 40px rgba(71, 85, 105, .12);--classroom-chat-user: #4338ca;--classroom-chat-assistant: #334155;--classroom-filter-active-text: #4338ca;--classroom-badge-bg: #e0e7ff;--classroom-badge-border: #c7d2fe;--classroom-badge-text: #3730a3;--classroom-badge-live-bg: #dcfce7;--classroom-badge-live-border: #86efac;--classroom-badge-live-text: #166534;--classroom-bullet-bg: #ffffff;--classroom-bullet-text: #1e293b;--classroom-bullet-border: #e2e8f0;--classroom-link-hover: #4338ca;--classroom-secondary-bg: #e0e7ff;--classroom-secondary-text: #3730a3;--classroom-secondary-border: #c7d2fe;--classroom-secondary-hover: #c7d2fe;--classroom-offer-bg: #eef2ff;--classroom-offer-border: #c7d2fe;--classroom-wb-badge-bg: #f1f5f9;--classroom-wb-badge-border: #e2e8f0;--classroom-wb-on-text: #166534;--classroom-wb-on-bg: #dcfce7;--classroom-wb-on-border: #86efac;--classroom-hint-warn: #b45309;--classroom-hint-error: #dc2626;--classroom-quiz-border: rgba(148, 163, 184, .22);--classroom-quiz-shadow: 0 16px 38px rgba(71, 85, 105, .18);--classroom-modal-overlay: rgba(148, 163, 184, .35);--classroom-canvas-border: rgba(15, 23, 42, .12)}.classroom-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,460px);grid-template-rows:minmax(0,1fr);gap:1rem 1.25rem;align-items:stretch;flex:1;min-height:0}.classroom-col-main{min-width:0;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.65rem;background:var(--classroom-canvas);border-radius:var(--radius-lg)}.classroom-col-side{min-width:0;min-height:0;display:flex;flex-direction:column;height:100%}.classroom-side-panel{position:sticky;top:.65rem;display:flex;flex-direction:column;flex:1;min-height:0;max-height:100%;border-radius:var(--radius-lg);border:1px solid var(--classroom-border);background:var(--classroom-canvas-muted);box-shadow:var(--classroom-side-shadow);overflow:hidden;color:var(--classroom-text)}.classroom-side-scroll{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.side-section{padding:.85rem 1rem}.side-section+.side-section,.classroom-side-scroll .side-section{border-top:1px solid var(--classroom-divider)}.side-section-title{margin:0 0 .55rem;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--classroom-text-muted)}.side-section--tools{flex-shrink:0}.side-section--wb{flex:0 0 auto;overflow:hidden;display:flex;flex-direction:column}.side-section--chat{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;overflow:hidden}.side-section--chat>.side-section-title,.side-section--chat>.side-hint,.side-section--chat>.side-options,.side-section--chat>.continue-offer-card{flex-shrink:0}.side-section--chat>.chat-panel-body{flex:1 1 auto;min-height:0;overflow:hidden}.side-options{display:flex;flex-wrap:wrap;gap:.35rem .85rem;margin-bottom:.55rem}.side-option{font-size:.8rem}.side-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.45rem}.side-tool-grid__wide{grid-column:1 / -1}.side-tool-secondary{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.side-hint{margin:.45rem 0 0;font-size:.76rem;line-height:1.45;color:var(--classroom-text-muted)}.side-hint--warn{color:var(--classroom-hint-warn);margin-bottom:.45rem}.side-hint--error{color:var(--classroom-hint-error)}.advance-banner{padding:.65rem .85rem;border-radius:12px;border:1px solid var(--classroom-offer-border);background:var(--classroom-offer-bg)}.advance-banner-inner{display:flex;flex-wrap:wrap;gap:.55rem .65rem;align-items:center}.advance-banner-text{color:var(--classroom-text-muted, var(--text-muted));font-size:.88rem}.advance-banner-text--strong{color:var(--classroom-text, var(--text-primary));font-weight:600;font-size:.9rem}@media (max-width: 960px){.classroom-body{grid-template-columns:1fr;grid-template-rows:minmax(0,1.15fr) minmax(0,.85fr)}.classroom-col-side{order:2;height:100%;min-height:0}.classroom-side-panel{position:relative;top:0;max-height:100%}.classroom-side-scroll{overflow:hidden}.interactive-frame{min-height:380px;height:min(52vh,520px)}}.btn-dock--sm{padding:.38rem .65rem;font-size:.78rem}.btn-dock{border:1px solid var(--classroom-btn-border);background:var(--classroom-btn-bg);color:var(--classroom-text);padding:.42rem .55rem;border-radius:9px;font-size:.8rem;line-height:1.25;cursor:pointer;transition:background .15s,border-color .15s}.btn-dock:hover:not(:disabled){background:var(--classroom-btn-hover-bg);border-color:var(--classroom-btn-hover-accent)}.btn-dock:disabled{opacity:.45;cursor:not-allowed}.btn-dock--ghost{background:transparent;color:var(--classroom-text-muted)}.btn-dock--ghost:hover:not(:disabled){color:var(--classroom-text);background:var(--classroom-btn-ghost-hover)}.btn-dock--rec{border-color:#4ade8059;background:#16a34a33;color:#86efac}.btn-dock--rec:hover:not(:disabled){background:#16a34a52}.btn-dock--rec.recording{animation:pulse-rec 1.2s ease-in-out infinite;border-color:#f87171;color:#fecaca;background:#f8717133}.continue-offer-card{margin-top:.65rem;padding:.65rem .75rem;border-radius:12px;border:1px solid var(--classroom-offer-border);background:var(--classroom-offer-bg)}.continue-offer-title{margin-bottom:.45rem;color:var(--classroom-text);font-weight:600;font-size:.85rem}.continue-offer-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.chat-queued-hint{margin:.35rem 0 .25rem;font-size:.8rem;color:var(--classroom-text-muted)}.chat-panel-body{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;overflow:hidden}.chat-log--flex{flex:1 1 auto;min-height:0;max-height:none;margin-bottom:.55rem;overflow-y:auto}.classroom-col-main .stage-wrap{flex:1;min-height:min(36vh,380px);background:var(--classroom-canvas);border-radius:var(--radius-lg)}.classroom-col-main .slide-shell{max-height:min(76vh,880px);padding:1.45rem 1.6rem;background:var(--classroom-canvas-muted);color:var(--classroom-text);border-color:var(--classroom-border);box-shadow:var(--classroom-shell-shadow)}.classroom-col-main .slide-shell--immersive{flex:1;display:flex;flex-direction:column;min-height:0;max-height:none;height:100%;padding:0;background:var(--classroom-canvas);border:none;box-shadow:none}.classroom-side-scroll .wb-panel-root{margin:0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.side-section--wb canvas{display:block;width:100%!important;max-width:100%;height:auto!important;max-height:clamp(120px,26vh,280px);aspect-ratio:760 / 420}.wb-panel-root{margin-top:0}.wb-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.wb-panel-head .side-section-title{margin:0}.wb-status-badge{flex-shrink:0;padding:.12rem .5rem;border-radius:999px;font-size:.72rem;font-weight:600;color:var(--classroom-text-muted);background:var(--classroom-wb-badge-bg);border:1px solid var(--classroom-wb-badge-border)}.wb-status-badge--on{color:var(--classroom-wb-on-text);background:var(--classroom-wb-on-bg);border-color:var(--classroom-wb-on-border)}.wb-write-row{display:flex;gap:.45rem;margin-top:.45rem;align-items:center}.wb-write-input{flex:1;min-height:34px!important;max-height:34px;padding:.4rem .65rem;font-size:.88rem}.wb-write-btn{flex-shrink:0;padding:.38rem .85rem;font-size:.85rem}.chat-filter-bar{display:inline-flex;padding:3px;margin-bottom:.55rem;border-radius:10px;background:var(--classroom-surface);border:1px solid var(--classroom-border)}.chat-filter-btn{border:none;background:transparent;color:var(--classroom-text-muted);font-size:.78rem;font-weight:600;padding:.32rem .65rem;border-radius:8px;cursor:pointer}.chat-filter-btn--active{background:var(--classroom-surface-elevated);color:var(--classroom-filter-active-text);box-shadow:0 1px 4px #0f172a14}.chat-compose{display:flex;flex-direction:column;gap:.45rem;margin-top:auto;padding-top:.5rem;flex-shrink:0}.chat-input--compose{width:100%;min-height:44px!important;max-height:120px;flex:none!important;resize:vertical;font-size:.88rem}.chat-compose-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.chat-compose-send{min-width:5.5rem}.btn-ghost--sm{padding:.38rem .6rem;font-size:.76rem}.classroom-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.classroom-top-left{min-width:0;flex:1}.classroom-top-right{display:flex;align-items:center;gap:.65rem;flex-shrink:0}.classroom-loading-hint{font-size:.85rem;color:var(--classroom-text-muted);margin-top:.75rem}.classroom-top h1{margin:0;font-size:1.1rem;font-weight:600;color:var(--classroom-text, var(--text-primary))}.classroom-meta-badges{margin-top:.42rem;display:flex;gap:.45rem}.classroom-badge{display:inline-flex;align-items:center;padding:.18rem .6rem;border-radius:999px;border:1px solid var(--classroom-badge-border);background:var(--classroom-badge-bg);color:var(--classroom-badge-text);font-size:.75rem;font-weight:600}.classroom-badge--live{border-color:var(--classroom-badge-live-border);background:var(--classroom-badge-live-bg);color:var(--classroom-badge-live-text)}.demo-mode-badge{display:inline-flex;align-items:center;padding:.18rem .6rem;border-radius:999px;border:1px solid rgba(245,158,11,.45);background:#f59e0b38;color:#fcd34d;font-size:.75rem;font-weight:600}.classroom[data-theme=light] .demo-mode-badge{border-color:#fcd34d;background:#fef3c7;color:#92400e}.classroom .link-back{font-size:.9rem;color:var(--classroom-text-muted);white-space:nowrap}.classroom .link-back:hover{color:var(--classroom-link-hover)}.classroom .loading-state{color:var(--classroom-text-muted)}.classroom .quiz-full-panel{border-color:var(--classroom-quiz-border);box-shadow:var(--classroom-quiz-shadow)}.stage-wrap{flex:1;display:flex;flex-direction:column;min-height:0}.slide-shell{position:relative;flex:1;background:var(--classroom-canvas-muted, #1f2937);color:var(--classroom-text, #f1f5f9);border-radius:var(--radius-lg);padding:2rem 2.25rem;box-shadow:var(--classroom-slide-shadow);border:1px solid var(--classroom-border, rgba(148, 163, 184, .22));overflow:auto}.slide-shell--immersive{flex:1;display:flex;flex-direction:column;min-height:0;padding:0;background:transparent;border:none;box-shadow:none;overflow:hidden}.scene-stage-fill{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.scene-stage-fill--cover{position:relative;align-items:center;justify-content:center}.scene-stage-fill--interactive{flex:1;min-height:0;align-items:stretch;justify-content:flex-start;padding:.25rem;background:#3b82f60f;box-shadow:inset 0 0 0 1px #3b82f61a;border-radius:calc(var(--radius-lg, 12px) - 2px);overflow:hidden}.scene-stage-fill--interactive .interactive-scene{height:100%;width:100%;min-height:0}.scene-stage-fill--cover .slide-cover-panel{flex:0 1 auto;aspect-ratio:16 / 9;width:auto;height:100%;max-height:100%;max-width:100%}.slide-cover-panel{flex:1;display:flex;flex-direction:column;min-height:0;height:100%;border-radius:calc(var(--radius-lg) - 2px);color:#fff;background:#0f172a;box-shadow:0 0 0 1px #ffffff0f,0 24px 48px #0000008c;border:1px solid rgba(255,255,255,.08);overflow:hidden}.slide-cover-hero{flex:1 1 0;min-height:120px;overflow:hidden;background:#1e293b}.slide-cover-hero-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.slide-cover-footer{flex:0 0 auto;max-height:min(50vh,440px);padding:1rem 1.75rem .85rem;overflow-x:hidden;overflow-y:auto;background-repeat:no-repeat;border-top:1px solid rgba(255,255,255,.12);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent}.slide-cover-title{margin:0 0 .65rem;max-width:100%;font-size:clamp(1.55rem,2.6vw,2rem);font-weight:700;line-height:1.35;letter-spacing:-.02em;text-shadow:0 2px 12px rgba(15,23,42,.55)}.slide-cover-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:0}.slide-cover-list li{display:flex;gap:.75rem;padding:.55rem 0;font-size:clamp(1rem,1.2vw,1.05rem);line-height:1.62;color:#fffffff0}.slide-cover-list li:last-child{padding-bottom:0}.slide-cover-list li+li{border-top:1px solid rgba(255,255,255,.1)}.slide-cover-list li:before{content:"";flex-shrink:0;width:7px;height:7px;margin-top:.58em;border-radius:50%;background:linear-gradient(135deg,#c4b5fd,#67e8f9);box-shadow:0 0 0 2px #ffffff1f}.slide-cover-empty{margin:0;color:#ffffffd9;text-shadow:0 1px 2px rgba(15,23,42,.35)}.scene-hero{position:relative;border-radius:14px;padding:.85rem 1rem;margin-bottom:1rem;color:#fff;background-size:cover;background-position:center;box-shadow:0 10px 26px #0f172a2e}.scene-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;border:1px solid rgba(255,255,255,.28);pointer-events:none}.scene-hero-type{display:inline-block;font-size:.74rem;font-weight:700;padding:.16rem .52rem;border-radius:999px;background:#fff3;margin-bottom:.38rem}.scene-hero-type.is-slide{background:#dbeafe59}.scene-hero-type.is-quiz{background:#fef3c773}.scene-hero-type.is-interactive{background:#bbf7d059}.scene-hero-type.is-pbl{background:#e9d5ff61}.scene-hero-title{font-size:1rem;font-weight:700;line-height:1.35;text-shadow:0 1px 2px rgba(15,23,42,.28)}.classroom .slide-shell:not(.slide-shell--immersive) h2{margin:0 0 1rem;font-size:1.65rem;font-weight:700;letter-spacing:-.02em;color:var(--classroom-text, #f1f5f9)}.classroom .slide-bullets{margin:0;padding-left:1.25rem;line-height:1.6;font-size:1.02rem;color:var(--classroom-bullet-text);display:grid;gap:.55rem}.classroom .slide-bullets li{list-style:none;margin-left:-1.25rem;padding:.62rem .75rem;border-radius:10px;border:1px solid var(--classroom-bullet-border);background:var(--classroom-bullet-bg);box-shadow:0 4px 12px #0f172a0f}.slide-bullets li:before{content:"•";color:#7c3aed;font-weight:900;margin-right:.55rem}.scene-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.85rem}.scene-tab{border:1px solid rgba(255,255,255,.22);color:#fff;text-shadow:0 1px 1px rgba(15,23,42,.35);padding:.4rem .85rem;border-radius:999px;font-size:.82rem;transition:transform .12s,box-shadow .12s,border-color .12s}.scene-tab:hover{transform:translateY(-1px);border-color:#fff6;box-shadow:0 8px 20px #0f172a38}.scene-tab.active{border-color:#ffffff9e;box-shadow:0 0 0 2px #ffffff38}.scene-tab.is-slide{border-color:#3b82f673}.scene-tab.is-quiz{border-color:#f59e0b73}.scene-tab.is-interactive{border-color:#10b98173}.scene-tab.is-pbl{border-color:#a855f773}.scene-tab:disabled{opacity:.42;cursor:not-allowed;transform:none;box-shadow:none}.dock{margin-top:1rem;background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.15rem;box-shadow:0 10px 24px #4755691a}.dock-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:.75rem}.dock-toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;width:100%}.dock-label{font-size:.78rem;color:var(--text-muted)}.dock-toggle{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--classroom-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.dock-toggle input{accent-color:var(--accent)}.btn-mic{border:1px solid var(--border);background:#dcfce7;color:#166534;padding:.45rem .85rem;border-radius:10px;font-size:.88rem}.btn-mic:hover:not(:disabled){background:#bbf7d0}.btn-mic.recording{animation:pulse-rec 1.2s ease-in-out infinite;border-color:#f87171;color:#fecaca;background:#f8717133}@keyframes pulse-rec{0%,to{opacity:1}50%{opacity:.65}}.tts-hint{font-size:.75rem;color:var(--text-muted);line-height:1.4}.classroom .btn-secondary{border:1px solid var(--classroom-secondary-border);background:var(--classroom-secondary-bg);color:var(--classroom-secondary-text);padding:.45rem .9rem;border-radius:10px;font-size:.88rem}.classroom .btn-secondary:hover:not(:disabled){background:var(--classroom-secondary-hover)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.transcript{background:#f8fafc;border-radius:var(--radius-md);padding:1rem 1.1rem;font-size:.95rem;line-height:1.6;color:var(--text-primary);min-height:4.5rem;max-height:160px;overflow-y:auto}.transcript-empty{color:var(--text-muted)}.wb-preview{margin-top:1rem;padding:.75rem 1rem;border-radius:var(--radius-md);background:#0f172a0f;border:1px dashed #cbd5e1;font-size:.95rem;color:#475569}.wb-preview.open{border-style:solid;border-color:#8b5cf6;background:#8b5cf60f}.interactive-frame{width:100%;min-height:320px;height:100%;border:none;border-radius:var(--radius-md);background:#fff;display:block}.loading-state{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.loading-state--progress{max-width:520px;margin:0 auto;text-align:left}.chat-panel{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.chat-log{margin-bottom:.65rem;padding:.6rem .75rem;border-radius:var(--radius-md);background:var(--classroom-surface);border:1px solid var(--classroom-border);font-size:.88rem;line-height:1.5}.chat-log-empty{margin:0;color:var(--classroom-text-muted);font-size:.85rem;line-height:1.55}.chat-line-user{color:var(--classroom-chat-user);margin:0 0 .4rem}.chat-line-assistant{color:var(--classroom-chat-assistant);margin:0 0 .4rem}.chat-line-meta{font-size:.72rem;color:var(--classroom-text-muted);margin-bottom:.15rem}.chat-input-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end}.chat-input{flex:1 1 200px;min-height:72px;resize:vertical;border-radius:var(--radius-md);border:1px solid var(--classroom-input-border);background:var(--classroom-input-bg);color:var(--classroom-text);padding:.65rem .75rem;font-size:.9rem;font-family:inherit}.chat-input::placeholder{color:var(--classroom-text-muted)}.chat-input:focus{outline:none;border-color:var(--classroom-btn-hover-accent);box-shadow:0 0 0 3px #4f46e533}.chat-actions{display:flex;flex-direction:column;gap:.4rem}.btn-send{border:none;border-radius:10px;padding:.55rem 1rem;font-weight:600;font-size:.88rem;background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff}.btn-send:hover:not(:disabled){filter:brightness(1.08)}.btn-send:disabled{opacity:.5;cursor:not-allowed}.classroom .btn-ghost{border:1px solid var(--classroom-btn-border);background:var(--classroom-btn-bg);color:var(--classroom-text-muted);padding:.35rem .65rem;border-radius:8px;font-size:.78rem}.classroom .btn-ghost:hover:not(:disabled){color:var(--classroom-text);background:var(--classroom-btn-hover-bg)}.btn-ghost.recording{animation:pulse-rec 1.2s ease-in-out infinite;border-color:#f87171;color:#fecaca;background:#f8717133}.quiz-q{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.quiz-q:last-child{border-bottom:none}.quiz-full-panel{flex:1;display:flex;flex-direction:column;min-height:0;height:100%;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 16px 38px #4755692e;border:1px solid rgba(148,163,184,.22)}.quiz-full-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:1.35rem 2rem 1.5rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent}.quiz-cover-body{color:#fffffff0}.quiz-q--cover{margin-bottom:1rem;padding-bottom:.85rem;border-bottom-color:#ffffff1f}.quiz-q--cover:last-of-type{border-bottom:none;margin-bottom:.75rem}.quiz-q-stem{display:block;font-size:clamp(1.05rem,1.5vw,1.15rem);line-height:1.55;font-weight:600;color:#fff;text-shadow:0 1px 4px rgba(15,23,42,.4)}.quiz-cover-option{width:100%;text-align:left;padding:.72rem .9rem;font-size:clamp(1rem,1.35vw,1.08rem);line-height:1.5;border-radius:12px;border:1px solid rgba(255,255,255,.28);background:#ffffff1a;color:#fff;cursor:pointer}.quiz-cover-option:hover:not(:disabled){background:#ffffff29}.quiz-cover-option--selected{border-color:#c7d2febf;background:#4f46e5d1}.quiz-cover-option--correct{border-color:#4ade80f2;background:#16a34a61;box-shadow:0 0 0 1px #4ade8059}.quiz-cover-option--incorrect{border-color:#f87171f2;background:#b91c1c59;box-shadow:0 0 0 1px #f871714d}.quiz-review-legend{margin:.55rem 0 0;font-size:.78rem;line-height:1.45;color:#ffffffc7;text-align:center}.quiz-cover-body .quiz-analysis{border-color:#93c5fd73;background:#0f172a8c;color:#ffffffeb}.quiz-cover-body .quiz-ai-comment{border-color:#c7d2fe59;background:#4f46e538;color:#ffffffeb}.quiz-cover-input{width:100%;min-height:48px;padding:.65rem .85rem;border-radius:10px;border:1px solid rgba(255,255,255,.35);background:#0f172a59;color:#fff;font-size:1rem;box-sizing:border-box}.quiz-cover-input::placeholder{color:#ffffff8c}.quiz-cover-muted{margin:.6rem 0 0;color:#ffffffb8;font-size:.95rem}.quiz-cover-submit{margin-top:.35rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.12)}.classroom .save-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:var(--classroom-modal-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.classroom .save-modal{max-width:400px;width:100%;background:var(--classroom-canvas-muted);color:var(--classroom-text);border-radius:var(--radius-lg);border:1px solid var(--classroom-border);padding:1.5rem 1.65rem 1.35rem;box-shadow:0 24px 48px #0000008c}.save-modal h3{margin:0 0 .3rem;font-size:1.15rem;font-weight:700}.save-modal-sub{margin:0 0 1rem;font-size:.9rem;color:var(--classroom-text-muted)}.save-modal-options{display:flex;flex-direction:column;gap:.55rem;margin-bottom:.85rem}.save-modal-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.65rem .9rem;text-align:left;width:100%}.save-modal-hint{font-size:.78rem;font-weight:400;color:var(--classroom-text-muted)}.save-modal-btn--small{font-size:.8rem;padding:.4rem .7rem}.save-modal-import-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.65rem .9rem;text-align:left;width:100%;border-radius:10px;border:1px dashed var(--classroom-border);background:var(--classroom-surface);color:var(--classroom-text);cursor:pointer;transition:background .15s,border-color .15s}.save-modal-import-btn:hover{background:var(--classroom-btn-hover-bg);border-color:var(--classroom-btn-hover-accent)}.save-modal-import-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.save-modal-import-title{font-size:.88rem;font-weight:600}.save-modal-error{margin:0 0 .75rem;padding:.55rem .7rem;border-radius:8px;font-size:.85rem;color:#fecaca;background:#b91c1c33;border:1px solid rgba(248,113,113,.35)}.save-modal-demo-export{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--classroom-border)}.save-modal-demo-title{margin:0 0 .35rem;font-size:.95rem;font-weight:600}.save-modal-demo-hint{margin:0 0 .75rem;font-size:.78rem;color:var(--classroom-text-muted);line-height:1.4}.save-modal-demo-field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.55rem;font-size:.8rem;color:var(--classroom-text-muted)}.save-modal-demo-field input,.save-modal-demo-field textarea{width:100%;padding:.45rem .55rem;border-radius:8px;border:1px solid var(--classroom-border);background:var(--classroom-surface);color:var(--classroom-text);font-size:.88rem;font-family:inherit;box-sizing:border-box}.save-modal-demo-btn{margin-top:.25rem}.classroom .save-modal:has(.save-modal-demo-export){max-width:440px}.course-import-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem;margin:-.35rem 0 .65rem;padding:.55rem .85rem;border-radius:10px;border:1px solid var(--classroom-offer-border);background:var(--classroom-offer-bg);font-size:.85rem;color:var(--classroom-text)}.wb-canvas-wrap{max-height:300px;overflow-y:auto}.classroom-side-panel canvas{border-color:var(--classroom-canvas-border)!important;box-shadow:inset 0 0 0 1px #ffffff0f}.classroom-side-panel .wb-write-input{border:1px solid var(--classroom-input-border);background:var(--classroom-input-bg);color:var(--classroom-text);border-radius:8px}.classroom-side-panel .wb-write-input::placeholder{color:var(--classroom-text-muted)}.demo-showcase-embedded{background:transparent;border:none;box-shadow:none;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}.demo-showcase-embedded .demo-card-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.1rem}.demo-showcase-embedded .demo-card--featured,.demo-showcase-embedded .demo-card--compact{grid-column:span 6}.demo-card--overlay{position:relative;min-height:0;border-radius:16px}.demo-card--overlay .demo-card-thumb{position:absolute;top:0;right:0;bottom:0;left:0;aspect-ratio:unset;height:100%;width:100%}.demo-card--overlay.demo-card--featured{aspect-ratio:16 / 10;min-height:220px}.demo-card--overlay.demo-card--compact{aspect-ratio:16 / 9;min-height:168px}.demo-card--overlay .demo-card-overlay{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:.3rem;height:100%;min-height:inherit;padding:1.1rem 1.15rem;background:linear-gradient(180deg,transparent 35%,rgba(15,23,42,.72) 100%);text-align:left}.demo-card--overlay .demo-card-title{color:#fff;font-size:1.05rem;text-shadow:0 1px 8px rgba(0,0,0,.35)}.demo-card--overlay.demo-card--featured .demo-card-title{font-size:1.15rem}.demo-card--overlay .demo-card-tagline{color:#f1f5f9d1;font-size:.85rem;-webkit-line-clamp:1}.demo-card--overlay .demo-card-cta{margin-top:.25rem;color:#c4b5fd;font-size:.85rem}@media (max-width: 900px){.demo-showcase-embedded .demo-card--featured,.demo-showcase-embedded .demo-card--compact{grid-column:span 12}}@media (max-width: 640px){.demo-showcase-embedded .demo-card-grid{grid-template-columns:1fr}.demo-showcase-embedded .demo-card--featured,.demo-showcase-embedded .demo-card--compact{grid-column:span 1}}.demo-showcase{width:100%;background:var(--home-surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--home-border);border-radius:var(--radius-lg);padding:1.15rem 1.25rem 1.1rem;box-shadow:var(--home-shadow)}.demo-showcase-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.demo-showcase .btn-secondary{flex-shrink:0;border:1px solid var(--home-border);background:var(--home-surface-solid);color:var(--home-text);padding:.5rem .95rem;border-radius:10px;font-size:.92rem;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s}.demo-showcase .btn-secondary:hover:not(:disabled){border-color:#4f46e566;background:var(--theme-btn-hover-bg, #eef2ff)}.demo-showcase-hint{margin:0;font-size:.95rem;color:var(--home-text-muted);line-height:1.5}.demo-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.demo-subtitle{margin:1rem 0 .65rem;font-size:.95rem;font-weight:600;color:var(--home-text-muted)}.demo-card{display:flex;flex-direction:column;align-items:stretch;gap:0;text-align:left;padding:0;overflow:hidden;border:1px solid var(--home-border);border-radius:var(--radius-md);background:var(--home-surface-solid);color:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .12s}.demo-card:hover:not(:disabled){border-color:#4f46e566;box-shadow:0 8px 22px #4f46e51f;transform:translateY(-2px)}.demo-card-imported{border-style:dashed}.demo-card-thumb{width:100%;aspect-ratio:16 / 10;flex-shrink:0;background-color:#6366f126;background-repeat:no-repeat}.demo-card-thumb--loading{background-image:linear-gradient(90deg,#94a3b81f,#94a3b838,#94a3b81f)!important;background-size:200% 100%!important;animation:demo-thumb-shimmer 1.2s ease-in-out infinite}.demo-card-thumb--has-image{background-size:cover,cover;background-position:center,center}@keyframes demo-thumb-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.demo-card-body{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:.9rem 1rem 1rem}.demo-card-title{font-size:1rem;font-weight:600;color:var(--home-text);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.demo-card-tagline{font-size:.88rem;color:var(--home-text-muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.demo-card-cta{margin-top:.15rem;font-size:.88rem;font-weight:600;color:var(--accent)}@media (max-width: 900px){.demo-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 480px){.demo-showcase-head{flex-direction:column;align-items:flex-start}.demo-card-grid{grid-template-columns:1fr}}.home,.materials-app{--surface: rgba(255, 255, 255, .95);--border: #dbe5f4;--text: #1e293b;--muted: #64748b;--shell-nav-active-bg: rgba(99, 102, 241, .12)}.home[data-theme=dark],.materials-app[data-theme=dark]{--surface: #1e293b;--border: rgba(148, 163, 184, .28);--text: #f1f5f9;--muted: #94a3b8;--shell-nav-active-bg: rgba(99, 102, 241, .15)}.app-shell{min-height:100vh;display:flex;flex-direction:column;width:100%;color:var(--text)}.app-shell-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1.5rem;border-bottom:1px solid var(--border);background:var(--surface)}.app-shell-brand{display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:1}.app-shell-logo{display:inline-flex;align-items:center;gap:.5rem;color:inherit;text-decoration:none;font-weight:600;font-size:1.2rem}.app-shell-logo-mark{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.5rem;background:#6366f1;color:#fff;font-size:.75rem}.app-shell-subtitle{margin:0;font-size:.9rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-shell-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.app-shell-user-row{display:flex;align-items:center;gap:.75rem}.app-shell-nav{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.app-shell-nav a{color:var(--muted);text-decoration:none;font-size:.95rem;padding:.375rem .625rem;border-radius:.375rem}.app-shell-nav a.active,.app-shell-nav a:hover{color:var(--text);background:var(--shell-nav-active-bg)}.app-shell-user{font-size:.9rem;color:var(--muted);padding:0 .25rem}.app-shell-logout{border:1px solid var(--border);background:transparent;color:var(--text);border-radius:.375rem;padding:.375rem .75rem;font-size:.9rem;cursor:pointer}.app-shell-logout:hover{border-color:#6366f1}.app-shell-login-btn{background:#6366f1;color:#fff;border:none;border-radius:.375rem;padding:.375rem 1rem;font-size:.9rem;cursor:pointer;font-weight:500}.app-shell-login-btn:hover{background:#4f46e5}@media (max-width: 720px){.app-shell-subtitle{display:none}.app-shell-header{padding:.75rem 1rem}}.app-shell-main{flex:1;width:100%;display:flex;flex-direction:column;align-items:center;padding:1.25rem 1.25rem 3rem;box-sizing:border-box}.app-shell-footer{width:100%;padding:1rem 1.5rem;text-align:center;font-size:.8rem;color:var(--muted);border-top:1px solid var(--border);background:var(--surface)}.app-shell-footer a{color:var(--muted);text-decoration:none}.app-shell-footer a:hover{color:var(--text);text-decoration:underline}.app-shell-footer-sep{margin:0 .35em}.app-shell-footer-ga{display:inline-flex;align-items:center;gap:.3em}.app-shell-footer-ga-icon{width:1em;height:1em;vertical-align:middle}html:has(.home[data-theme=dark]),body:has(.home[data-theme=dark]),#root:has(.home[data-theme=dark]){background:#050810;color:#f1f5f9}html:has(.home[data-theme=light]),body:has(.home[data-theme=light]),#root:has(.home[data-theme=light]){background:radial-gradient(900px 480px at 20% -10%,#dbeafe 0%,transparent 60%),radial-gradient(800px 420px at 100% 0%,#cffafe 0%,transparent 58%),linear-gradient(180deg,#f8fbff,#f0f9ff);color:#1e293b}.home{--home-text: #1e293b;--home-text-muted: #64748b;--home-border: #dbe5f4;--home-surface: rgba(255, 255, 255, .92);--home-surface-solid: #ffffff;--home-input-bg: #ffffff;--home-shadow: 0 18px 45px rgba(71, 85, 105, .12);--home-history-count-bg: #f1f5f9;--theme-btn-bg: #ffffff;--theme-btn-border: #dbe5f4;--theme-text: var(--home-text);--theme-btn-hover-bg: #eef2ff;--theme-btn-hover-accent: rgba(79, 70, 229, .35);position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:stretch;padding:0;gap:0;width:100%;color:var(--home-text);overflow-x:hidden}.home-bg{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.home-bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.35;background-image:linear-gradient(rgba(148,163,184,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.07) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,#000 20%,transparent 75%)}.home-bg-orb{position:absolute;border-radius:999px;filter:blur(80px)}.home[data-theme=dark] .home-bg-orb--1{width:560px;height:560px;top:-180px;left:50%;transform:translate(-50%);background:#38bdf824}.home[data-theme=dark] .home-bg-orb--2{width:440px;height:440px;top:28%;right:-120px;background:#0ea5e91a}.home[data-theme=dark] .home-bg-orb--3{width:400px;height:400px;bottom:-80px;left:-80px;background:#33415559}.home[data-theme=light] .home-bg-orb--1{width:500px;height:500px;top:-150px;left:50%;transform:translate(-50%);background:#93c5fd80}.home[data-theme=light] .home-bg-orb--2{width:380px;height:380px;top:30%;right:-80px;background:#a5f3fc73}.home[data-theme=light] .home-bg-orb--3{width:340px;height:340px;bottom:-60px;left:-60px;background:#bae6fd66}.home .app-shell{position:relative;z-index:1}.home[data-theme=dark]{--home-text: #f1f5f9;--home-text-muted: #94a3b8;--home-border: rgba(148, 163, 184, .18);--home-surface: rgba(17, 24, 39, .88);--home-surface-solid: #151c2c;--home-input-bg: rgba(15, 23, 42, .72);--home-shadow: 0 20px 50px rgba(0, 0, 0, .45);--home-history-count-bg: rgba(15, 23, 42, .55);--home-roles-bg: rgba(14, 165, 233, .06);--home-roles-mode-bg: rgba(0, 0, 0, .22);--theme-btn-bg: rgba(30, 41, 59, .85);--theme-btn-border: rgba(148, 163, 184, .28);--theme-text: #f1f5f9;--theme-btn-hover-bg: rgba(51, 65, 85, .95);--theme-btn-hover-accent: rgba(129, 140, 248, .45)}.home[data-theme=light]{--home-roles-bg: rgba(224, 242, 254, .75);--home-roles-mode-bg: rgba(241, 245, 249, .9);--home-tabs-bg: rgba(255, 255, 255, .65)}.home[data-theme=dark]{--home-tabs-bg: rgba(15, 23, 42, .55)}.home-content{width:100%;max-width:min(1180px,100%);display:flex;flex-direction:column;gap:2.5rem;font-size:1rem}.home-hero-zone{display:flex;flex-direction:column;align-items:stretch;gap:2rem;min-height:min(calc(100vh - 11rem),780px);justify-content:center;padding:2rem 0 1rem;box-sizing:border-box}.home-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.85rem;padding:0}.home-brand-logo{display:inline-flex;align-items:center;gap:1.1rem}.home-brand-mark{display:grid;place-items:center;width:clamp(3.75rem,9vw,4.75rem);height:clamp(3.75rem,9vw,4.75rem);border-radius:1.15rem;background:linear-gradient(135deg,#6366f1,#7c3aed);color:#fff;font-size:clamp(1rem,2.4vw,1.2rem);font-weight:800;box-shadow:0 14px 40px #6366f161}.home-brand-name{font-size:clamp(2.65rem,7vw,3.5rem);font-weight:700;letter-spacing:-.035em;line-height:1.05}.home-brand-tagline{margin:0;font-size:clamp(1.1rem,2.6vw,1.35rem);color:var(--home-text-muted);letter-spacing:.02em}.home-studio{display:grid;grid-template-columns:minmax(148px,168px) minmax(0,1fr);gap:0;border:1px solid var(--home-border);border-radius:22px;overflow:hidden;background:var(--home-surface);box-shadow:var(--home-shadow);min-height:300px;max-width:min(960px,100%);margin:0 auto;width:100%;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.home-studio-roles{display:flex;flex-direction:column;padding:.85rem .7rem;background:var(--home-roles-bg, rgba(14, 165, 233, .06));border-right:1px solid var(--home-border)}.home-studio-main{display:flex;flex-direction:column;padding:1.5rem 1.65rem 1.35rem}.home-dev-user{display:flex;align-items:center;gap:.5rem;margin-bottom:.65rem}.home-dev-user-label{font-size:.85rem;color:var(--home-text-muted)}.home-dev-user-select{min-width:8rem}.home-greeting{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:var(--home-text)}.home-prompt{flex:1;width:100%;min-height:160px;resize:none;border:none;background:transparent;color:var(--home-text);padding:0;font-size:1.05rem;line-height:1.6;outline:none}.home-prompt::placeholder{color:var(--home-text-muted);opacity:.85}.home-studio-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--home-border)}.home-toolbar-left{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem}.home-toolbar-check{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;color:var(--home-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.home-toolbar-check input{accent-color:#6366f1}.home-select{background:var(--home-input-bg);border:1px solid var(--home-border);color:var(--home-text);padding:.4rem .6rem;border-radius:9px;font-size:.82rem}.home-studio-roles .home-select{padding:.35rem .5rem;font-size:.76rem}.home-select-wide{width:100%}.home-enter-btn{display:inline-flex;align-items:center;gap:.45rem;border:none;border-radius:12px;padding:.72rem 1.35rem;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 10px 26px #6366f152;cursor:pointer;transition:filter .15s,transform .12s}.home-enter-btn:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.home-enter-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.home-roles-title{margin:0 0 .55rem;font-size:.76rem;font-weight:600;color:var(--home-text)}.home-roles-mode{display:flex;gap:.25rem;padding:.2rem;border-radius:10px;background:var(--home-roles-mode-bg, rgba(15, 23, 42, .06));border:1px solid var(--home-border);margin-bottom:.75rem}.home-roles-mode-btn{flex:1;border:none;border-radius:8px;padding:.35rem;font-size:.78rem;font-weight:500;color:var(--home-text-muted);background:transparent;cursor:pointer;transition:background .15s,color .15s}.home-roles-mode-btn.is-active{background:var(--home-surface-solid);color:var(--home-text);box-shadow:0 2px 8px #0f172a14}.home[data-theme=dark] .home-roles-mode-btn.is-active{box-shadow:0 2px 10px #00000059}.home-roles-mode-btn:disabled{opacity:.55;cursor:not-allowed}.home-roles-visual{flex:1;display:flex;flex-direction:column;gap:.55rem}.home-role-card{display:flex;align-items:center;gap:.45rem;padding:.45rem .5rem;border-radius:9px;border:1px solid var(--home-border);background:var(--home-surface-solid)}.home-role-card strong{display:block;font-size:.76rem;margin-bottom:.08rem}.home-role-card p{margin:0;font-size:.8rem;color:var(--home-text-muted)}.home-role-avatar{flex-shrink:0;display:grid;place-items:center;width:2rem;height:2rem;border-radius:999px;font-size:.65rem;font-weight:800}.home-role-avatar--teacher{background:linear-gradient(135deg,#6366f1,#7c3aed);color:#fff}.home-role-preset{display:flex;flex-direction:column;gap:.45rem}.home-role-preset-label{font-size:.74rem;color:var(--home-text-muted)}.home-role-auto{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.45rem;padding:.55rem .4rem;border-radius:10px;border:1px dashed var(--home-border);background:var(--home-surface-solid)}.home-role-shuffle{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:999px;font-size:.95rem;color:#38bdf8;background:#0ea5e924}.home-role-auto p{margin:0;font-size:.72rem;line-height:1.45;color:var(--home-text-muted);max-width:18ch}.home-role-dots{display:flex;gap:.3rem}.home-role-dot{width:1.35rem;height:1.35rem;border-radius:999px;background:linear-gradient(145deg,#bfdbfe,#7dd3fc);border:2px solid rgba(14,165,233,.35)}.home-feed{display:flex;flex-direction:column;gap:1.25rem;width:100%}.home-tabs{display:flex;justify-content:center;gap:.65rem;padding:.35rem;border-radius:999px;background:var(--home-tabs-bg, rgba(15, 23, 42, .35));border:1px solid var(--home-border);width:fit-content;margin:0 auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.home-tab{display:inline-flex;align-items:center;gap:.4rem;border:1px solid transparent;border-radius:999px;padding:.5rem 1.1rem;font-size:.95rem;font-weight:500;color:var(--home-text-muted);background:transparent;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.home-tab.is-active{color:var(--home-text);background:var(--home-surface-solid);border-color:var(--home-border);box-shadow:0 4px 14px #6366f11f}.home-tab-icon{font-size:.85rem;opacity:.75}.home-tab-badge{min-width:1.15rem;height:1.15rem;padding:0 .3rem;border-radius:999px;font-size:.72rem;font-weight:700;line-height:1.15rem;text-align:center;color:#fff;background:#6366f1}.home-empty-hint{margin:0;padding:2rem 1rem;text-align:center;font-size:.95rem;color:var(--home-text-muted)}.home-header{width:100%;max-width:min(1100px,100%);margin-bottom:2.5rem}.home-header-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.home-logo{display:inline-flex;align-items:center;gap:.65rem;margin-bottom:.75rem}.home-logo-mark{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--accent) 0%,#5b21b6 100%);display:grid;place-items:center;font-weight:700;font-size:.85rem;color:#fff;box-shadow:0 8px 32px var(--accent-dim)}.home-title{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0;color:var(--home-text)}.home-sub{margin:0;text-align:center;color:var(--home-text-muted);font-size:.95rem;line-height:1.5}.hero-card{width:100%;background:var(--home-surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--home-border);border-radius:var(--radius-lg);padding:1.25rem 1.25rem 1rem;box-shadow:var(--home-shadow)}.hero-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem;margin-bottom:1rem;font-size:.95rem;color:var(--home-text-muted)}.hero-user{display:flex;align-items:center;gap:.5rem}.hero-user-label{font-size:.88rem;color:var(--home-text-muted)}.hero-user-select{min-width:8.5rem;padding:.3rem .55rem}.hero-agents{display:flex;align-items:center;gap:.35rem}.hero-dot{width:28px;height:28px;border-radius:50%;background:linear-gradient(145deg,#bfdbfe,#c4b5fd);border:2px solid rgba(79,70,229,.3)}.hero-textarea{width:100%;min-height:120px;resize:vertical;border-radius:var(--radius-md);border:1px solid var(--home-border);background:var(--home-input-bg);color:var(--home-text);padding:1rem 1.1rem;font-size:1.05rem;line-height:1.55;outline:none;transition:border-color .15s}.hero-textarea:focus{border-color:#4f46e573;box-shadow:0 0 0 3px #4f46e51f}.hero-textarea::placeholder{color:#94a3b8}.hero-options{margin-top:1rem;display:flex;flex-direction:column;gap:.85rem}.hero-option-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.65rem 1rem}.hero-option-label{font-size:.9rem;color:var(--home-text-muted);min-width:8rem;padding-top:.35rem}.hero-select-wide{min-width:12rem}.hero-checkbox{display:inline-flex;align-items:center;gap:.45rem;font-size:.95rem;color:var(--home-text);cursor:pointer;-webkit-user-select:none;user-select:none}.hero-checkbox input{width:1rem;height:1rem;accent-color:#4f46e5;cursor:pointer}.hero-checkbox input:disabled{cursor:not-allowed}.hero-option-hint{font-size:.78rem;color:var(--home-text-muted);flex:1 1 12rem;line-height:1.4}.hero-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--home-border)}.lang-select{background:var(--home-input-bg);border:1px solid var(--home-border);color:var(--home-text);padding:.45rem .75rem;border-radius:10px;font-size:.95rem}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;border:none;border-radius:12px;padding:.75rem 1.35rem;font-size:1.05rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#2563eb 0%,var(--accent) 100%);box-shadow:0 10px 26px #2563eb42;transition:transform .12s,filter .12s}.btn-primary:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.home-hint{margin-top:1.5rem;font-size:.8rem;color:var(--home-text-muted);max-width:min(1100px,100%);text-align:center;line-height:1.5}.home .error-banner{width:100%}.section-title{margin:0;font-size:1.125rem;font-weight:700;color:var(--home-text);letter-spacing:-.01em}.progress-line{margin-top:.75rem;font-size:.88rem;color:var(--accent)}.outline-preview{width:100%}.outline-preview .section-title{margin-bottom:.75rem}.history-section{width:100%;background:transparent;border:none;border-radius:0;padding:0;box-shadow:none}.history-section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.history-count{font-size:.85rem;color:var(--home-text-muted);padding:.2rem .55rem;border-radius:999px;background:var(--home-history-count-bg);border:1px solid var(--home-border);flex-shrink:0}.history-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.history-list>li{min-width:0}.history-card{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:.2rem .65rem;align-items:center;text-align:left;padding:.85rem 1rem;border:1px solid var(--home-border);border-radius:var(--radius-md);background:var(--home-surface-solid);color:inherit;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .12s}.history-card:hover:not(:disabled){border-color:#4f46e566;box-shadow:0 6px 18px #4f46e51a;transform:translateY(-1px)}.history-card:disabled{opacity:.55;cursor:not-allowed}.history-card-title{grid-column:1;grid-row:1;font-size:1rem;font-weight:600;color:var(--home-text);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-card-meta{grid-column:1;grid-row:2;font-size:.85rem;color:var(--home-text-muted)}.history-card-arrow{grid-column:2;grid-row:1 / span 2;align-self:center;font-size:1.1rem;color:var(--accent);opacity:.7;transition:opacity .12s,transform .12s}.history-card:hover:not(:disabled) .history-card-arrow{opacity:1;transform:translate(2px)}.history-item{position:relative;min-width:0}.history-item .history-card{padding-right:3.25rem}.history-delete-btn{position:absolute;top:.65rem;right:.65rem;border:1px solid var(--home-border);background:var(--home-surface-solid);color:var(--home-text-muted);font-size:.8rem;padding:.25rem .5rem;border-radius:8px;cursor:pointer;z-index:1}.history-delete-btn:hover:not(:disabled){color:#b91c1c;border-color:#fecaca;background:#fef2f2}.history-delete-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 900px){.home-hero-zone{min-height:auto;padding:1.25rem 0 .5rem}.home-studio{grid-template-columns:1fr}.home-studio-roles{border-right:none;border-bottom:1px solid var(--home-border)}}@media (max-width: 640px){.home{padding:1.5rem 1rem 2.5rem}.history-list{grid-template-columns:1fr}.home-studio-toolbar{flex-direction:column;align-items:stretch}.home-enter-btn{width:100%;justify-content:center}}.outline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.55rem}.outline-card{border-radius:12px;padding:.7rem .75rem;color:#fff;border:1px solid rgba(255,255,255,.26);box-shadow:0 10px 24px #0f172a33}.outline-card.compact{padding:.58rem .65rem}.outline-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.45rem}.outline-card-order{width:1.2rem;height:1.2rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;background:#ffffff40}.outline-card-type{font-size:.72rem;padding:.12rem .45rem;border-radius:999px;background:#ffffff38}.outline-card-title{font-size:.84rem;font-weight:700;line-height:1.35}.home[data-theme=dark] .error-banner{background:#b91c1c33;border-color:#f8717159;color:#fecaca}.home[data-theme=dark] .gen-progress{border-color:var(--home-border);background:#0f172a8c}.home[data-theme=dark] .gen-progress-badge{background:#33415599;color:var(--home-text-muted)}.home[data-theme=dark] .gen-progress-bar{background:#94a3b833}.home[data-theme=dark] .gen-progress-message,.home[data-theme=dark] .gen-progress-elapsed{color:var(--home-text-muted)}.home[data-theme=dark] .history-delete-btn:hover:not(:disabled){color:#fecaca;border-color:#f8717159;background:#b91c1c33}.home-toast{position:fixed;top:1rem;left:50%;transform:translate(-50%);z-index:9999;display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:#fef3c7;color:#92400e;border:1px solid #fcd34d;border-radius:.5rem;font-size:.95rem;box-shadow:0 4px 12px #00000026;cursor:pointer;animation:toast-in .25s ease-out}.home-toast-close{background:none;border:none;color:#92400e;font-size:1.2rem;cursor:pointer;padding:0 .25rem;line-height:1}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(-.75rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}} .login-page[data-theme="dark"]{background:#050810;color:#f1f5f9}html:has(.login-page[data-theme=dark]),body:has(.login-page[data-theme=dark]),#root:has(.login-page[data-theme=dark]){background:#050810!important;color:#f1f5f9}html:has(.login-page[data-theme=light]),body:has(.login-page[data-theme=light]),#root:has(.login-page[data-theme=light]){background:radial-gradient(900px 480px at 20% -10%,#dbeafe 0%,transparent 60%),radial-gradient(800px 420px at 100% 0%,#e9d5ff 0%,transparent 58%),linear-gradient(180deg,#f8fbff,#eef2ff);color:#1e293b}.login-page{--login-text: #1e293b;--login-text-muted: #64748b;--login-border: #dbe5f4;--login-surface: #ffffff;--login-input-bg: #ffffff;--login-shadow: 0 24px 60px rgba(71, 85, 105, .14);--login-brand-bg: linear-gradient(145deg, #4338ca 0%, #6366f1 42%, #7c3aed 100%);--login-brand-text: #f8fafc;--login-brand-muted: rgba(241, 245, 249, .82);--theme-btn-bg: #ffffff;--theme-btn-border: #dbe5f4;--theme-text: var(--login-text);--theme-btn-hover-bg: #eef2ff;--theme-btn-hover-accent: rgba(79, 70, 229, .35);min-height:100vh;display:flex;flex-direction:column;position:relative;overflow:hidden;color:var(--login-text)}.login-page[data-theme=dark]{--login-text: #f1f5f9;--login-text-muted: #94a3b8;--login-border: rgba(148, 163, 184, .22);--login-surface: #1f2937;--login-input-bg: rgba(15, 23, 42, .72);--login-shadow: 0 28px 70px rgba(0, 0, 0, .48);--login-brand-bg: linear-gradient(145deg, #312e81 0%, #4338ca 45%, #5b21b6 100%);--login-brand-text: #f8fafc;--login-brand-muted: rgba(226, 232, 240, .78);--theme-btn-bg: rgba(30, 41, 59, .85);--theme-btn-border: rgba(148, 163, 184, .28);--theme-text: #f1f5f9;--theme-btn-hover-bg: rgba(51, 65, 85, .95);--theme-btn-hover-accent: rgba(129, 140, 248, .45)}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.login-bg-orb{position:absolute;border-radius:999px;filter:blur(72px);opacity:.45}.login-page[data-theme=light] .login-bg-orb--1{width:420px;height:420px;top:-120px;left:-80px;background:#93c5fd}.login-page[data-theme=light] .login-bg-orb--2{width:360px;height:360px;bottom:-80px;right:8%;background:#c4b5fd}.login-page[data-theme=light] .login-bg-orb--3{width:280px;height:280px;top:35%;right:-60px;background:#a5b4fc}.login-page[data-theme=dark] .login-bg-orb--1{width:480px;height:480px;top:-140px;left:-100px;background:#312e81;opacity:.55}.login-page[data-theme=dark] .login-bg-orb--2{width:400px;height:400px;bottom:-100px;right:5%;background:#4c1d95;opacity:.5}.login-page[data-theme=dark] .login-bg-orb--3{width:320px;height:320px;top:40%;left:55%;background:#1e3a8a;opacity:.35}.login-topbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;max-width:min(960px,100%);margin:0 auto;padding:1.25rem 1.5rem 0;box-sizing:border-box}.login-topbar-brand{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;color:inherit;transition:opacity .15s}.login-topbar-brand:hover{opacity:.8}.login-topbar-actions{display:flex;align-items:center;gap:.75rem}.login-topbar-back{font-size:.88rem;font-weight:500;color:var(--login-text-muted);text-decoration:none;padding:.35rem .75rem;border-radius:8px;border:1px solid var(--login-border);background:var(--login-surface);transition:all .15s}.login-topbar-back:hover{color:var(--login-text);border-color:#6366f1;box-shadow:0 0 0 2px #6366f11f}.login-topbar-mark{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:.65rem;background:linear-gradient(135deg,#6366f1,#7c3aed);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.02em}.login-topbar-name{font-size:1.15rem;font-weight:700;letter-spacing:-.02em}.login-layout{position:relative;z-index:1;flex:1;display:flex;align-items:center;justify-content:center;width:100%;padding:1.5rem;box-sizing:border-box}.login-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);width:100%;max-width:min(960px,100%);min-height:min(520px,calc(100vh - 7rem));border:1px solid var(--login-border);border-radius:20px;overflow:hidden;box-shadow:var(--login-shadow);background:var(--login-surface);animation:login-enter .45s ease both}@keyframes login-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.login-brand{display:flex;flex-direction:column;justify-content:center;gap:.85rem;padding:clamp(1.75rem,4vw,2.75rem);padding-bottom:clamp(6.5rem,16vw,8.5rem);background:var(--login-brand-bg);color:var(--login-brand-text);position:relative;overflow:hidden}.login-brand:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(420px 280px at 100% 0%,rgba(255,255,255,.14) 0%,transparent 62%),radial-gradient(360px 240px at 0% 100%,rgba(15,23,42,.22) 0%,transparent 58%);pointer-events:none}.login-brand>*{position:relative;z-index:1}.login-brand-mascot{position:absolute;right:clamp(.75rem,3vw,1.5rem);bottom:clamp(.75rem,3vw,1.5rem);width:clamp(88px,18vw,120px);height:clamp(88px,18vw,120px);border-radius:999px;object-fit:cover;border:3px solid rgba(255,255,255,.35);box-shadow:0 12px 32px #0f172a47;z-index:0;opacity:.92;pointer-events:none}.login-brand-badge{align-self:flex-start;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.28rem .65rem;border-radius:999px;background:#ffffff24;border:1px solid rgba(255,255,255,.22)}.login-brand-title{margin:0;font-size:clamp(1.55rem,3.2vw,1.95rem);font-weight:700;line-height:1.25;letter-spacing:-.02em}.login-brand-lead{margin:0;font-size:1rem;line-height:1.65;color:var(--login-brand-muted);max-width:36ch;word-break:keep-all}.login-features{list-style:none;margin:.65rem 0 0;padding:0;display:flex;flex-direction:column;gap:.65rem}.login-features li{display:flex;align-items:flex-start;gap:.5rem;font-size:.92rem;line-height:1.5;color:var(--login-brand-muted)}.login-feature-dot{flex-shrink:0;margin-top:.15rem;font-size:.5rem;color:#ffffffd9}.login-card{display:flex;flex-direction:column;justify-content:center;padding:clamp(1.75rem,4vw,2.75rem);background:var(--login-surface)}.login-card-title{color:var(--login-text);font-size:1.45rem;font-weight:700;margin:0 0 .35rem;letter-spacing:-.02em}.login-subtitle{color:var(--login-text-muted);font-size:.95rem;margin:0 0 1.75rem;line-height:1.5}.login-field{margin-bottom:1.1rem}.login-field label{display:block;color:var(--login-text-muted);font-size:.9rem;font-weight:500;margin-bottom:.45rem}.login-field input{width:100%;padding:.72rem .9rem;background:var(--login-input-bg);border:1px solid var(--login-border);border-radius:10px;color:var(--login-text);font-size:1rem;box-sizing:border-box;outline:none;transition:border-color .15s,box-shadow .15s}.login-field input::placeholder{color:#94a3b8}.login-field input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f124}.login-password-wrap{position:relative}.login-password-wrap input{padding-right:2.8rem}.login-password-toggle{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.1rem;padding:.25rem;line-height:1;opacity:.6;transition:opacity .15s}.login-password-toggle:hover{opacity:1}.login-hint{margin:.85rem 0 0;font-size:.85rem;color:var(--login-text-muted);text-align:center}.login-error{color:#f87171;font-size:.9rem;margin:0 0 1rem}.login-btn{width:100%;padding:.82rem;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:10px;color:#fff;font-size:1.05rem;font-weight:600;cursor:pointer;margin-top:.35rem;box-shadow:0 10px 24px #6366f147;transition:filter .15s,transform .12s}.login-btn:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-footer{position:relative;z-index:2;width:100%;max-width:min(960px,100%);margin:0 auto;padding:0 1.5rem 1.35rem;box-sizing:border-box;text-align:center}.login-footer-main{margin:0;font-size:.88rem;color:var(--login-text-muted);line-height:1.5}.login-footer-sep{margin:0 .4rem;opacity:.55}.login-footer-muted{margin:.25rem 0 0;font-size:.78rem;color:var(--login-text-muted);opacity:.75}.login-footer-muted a{color:var(--login-text-muted);text-decoration:none}.login-footer-muted a:hover{color:var(--login-text);text-decoration:underline}.login-footer-ga{display:inline-flex;align-items:center;gap:.25em}.login-footer-ga-icon{width:.9em;height:.9em;vertical-align:middle}@media (max-width: 820px){.login-shell{grid-template-columns:1fr;min-height:auto}.login-brand{padding-bottom:1.5rem}.login-brand-mascot{position:static;align-self:center;order:-1;margin:0 0 .35rem;opacity:1}.login-brand-lead{max-width:none}.login-features{gap:.5rem}}@media (max-width: 480px){.login-layout{padding:1rem}.login-topbar{padding:1rem 1rem 0}.login-card,.login-brand{padding:1.35rem}}html:has(.materials-app[data-theme=dark]),body:has(.materials-app[data-theme=dark]),#root:has(.materials-app[data-theme=dark]){background:#111827;color:#f1f5f9}html:has(.materials-app[data-theme=light]),body:has(.materials-app[data-theme=light]),#root:has(.materials-app[data-theme=light]){background:radial-gradient(900px 480px at 20% -10%,#dbeafe 0%,transparent 60%),radial-gradient(800px 420px at 100% 0%,#e9d5ff 0%,transparent 58%),linear-gradient(180deg,#f8fbff,#f3f7ff);color:#1e293b}.materials-app{--materials-text: #1e293b;--materials-text-muted: #64748b;--materials-border: #dbe5f4;--materials-surface: rgba(255, 255, 255, .92);--materials-input-bg: #ffffff;--materials-accent: #6366f1;--materials-accent-strong: #4f46e5;--materials-accent-dim: rgba(99, 102, 241, .14);--materials-shadow: 0 18px 45px rgba(71, 85, 105, .12);--materials-drop-bg: rgba(238, 242, 255, .65);--materials-drop-border: rgba(99, 102, 241, .28);--theme-btn-bg: #ffffff;--theme-btn-border: #dbe5f4;--theme-text: var(--materials-text);--theme-btn-hover-bg: #eef2ff;--theme-btn-hover-accent: rgba(79, 70, 229, .35);min-height:100vh;color:var(--materials-text)}.materials-app[data-theme=dark]{--materials-text: #f1f5f9;--materials-text-muted: #94a3b8;--materials-border: rgba(148, 163, 184, .22);--materials-surface: rgba(31, 41, 55, .92);--materials-input-bg: rgba(15, 23, 42, .65);--materials-accent-dim: rgba(129, 140, 248, .16);--materials-shadow: 0 16px 40px rgba(0, 0, 0, .45);--materials-drop-bg: rgba(15, 23, 42, .55);--materials-drop-border: rgba(129, 140, 248, .32);--theme-btn-bg: rgba(30, 41, 59, .85);--theme-btn-border: rgba(148, 163, 184, .28);--theme-text: #f1f5f9;--theme-btn-hover-bg: rgba(51, 65, 85, .95);--theme-btn-hover-accent: rgba(129, 140, 248, .45)}.materials-page{width:100%;max-width:min(820px,100%);display:flex;flex-direction:column;gap:1.35rem;font-size:1rem;animation:materials-enter .45s ease both}@keyframes materials-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.materials-hero{display:flex;flex-direction:column;gap:.55rem}.materials-hero-badge{align-self:flex-start;font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.28rem .65rem;border-radius:999px;background:var(--materials-accent-dim);color:var(--materials-accent);border:1px solid var(--materials-drop-border)}.materials-hero-title{margin:0;font-size:clamp(1.65rem,4vw,2rem);font-weight:700;letter-spacing:-.02em;line-height:1.2}.materials-hero-lead{margin:0;font-size:1.05rem;line-height:1.65;color:var(--materials-text-muted);max-width:none;word-break:keep-all}.materials-features{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:.35rem 0 0;padding:0;list-style:none;font-size:.92rem;color:var(--materials-text-muted)}.materials-features li{display:inline-flex;align-items:center;gap:.35rem}.materials-feature-icon{color:var(--materials-accent);font-size:.55rem}.materials-card{background:var(--materials-surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--materials-border);border-radius:16px;padding:1.35rem 1.35rem 1.25rem;box-shadow:var(--materials-shadow);animation:materials-enter .5s ease .06s both}.materials-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.1rem}.materials-card-head h2{margin:0;font-size:1.2rem;font-weight:600;color:var(--materials-text)}.materials-card-tag{font-size:.78rem;font-weight:700;letter-spacing:.04em;padding:.22rem .55rem;border-radius:6px;background:var(--materials-accent-dim);color:var(--materials-accent)}.materials-form{display:flex;flex-direction:column;gap:1.1rem}.materials-field{display:flex;flex-direction:column;gap:.45rem}.materials-field-label{font-size:.9rem;font-weight:500;color:var(--materials-text-muted)}.materials-field input[type=text]{padding:.7rem .85rem;border-radius:10px;border:1px solid var(--materials-border);background:var(--materials-input-bg);color:var(--materials-text);font-size:1rem;outline:none;transition:border-color .15s,box-shadow .15s}.materials-field input[type=text]:focus{border-color:#6366f173;box-shadow:0 0 0 3px #6366f11f}.materials-file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.materials-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;min-height:148px;padding:1.25rem 1rem;border-radius:12px;border:1.5px dashed var(--materials-drop-border);background:var(--materials-drop-bg);cursor:pointer;text-align:center;transition:border-color .18s,background .18s,transform .12s}.materials-dropzone:hover:not(.has-file){border-color:var(--materials-accent);background:var(--materials-accent-dim)}.materials-dropzone.is-dragover{border-color:var(--materials-accent);background:var(--materials-accent-dim);transform:scale(1.01)}.materials-dropzone.has-file{cursor:default;align-items:stretch;border-style:solid}.materials-dropzone-icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:999px;background:var(--materials-accent-dim);color:var(--materials-accent);font-size:1.1rem;font-weight:700}.materials-dropzone-title{margin:.35rem 0 0;font-size:1rem;font-weight:500;color:var(--materials-text)}.materials-dropzone-hint{margin:0;font-size:.875rem;color:var(--materials-text-muted)}.materials-file-preview{display:flex;align-items:center;gap:.85rem;width:100%;text-align:left}.materials-file-icon{flex-shrink:0;display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:10px;background:linear-gradient(135deg,#6366f1,#7c3aed);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.03em}.materials-file-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.materials-file-meta strong{font-size:.95rem;font-weight:600;color:var(--materials-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.materials-file-meta span{font-size:.85rem;color:var(--materials-text-muted)}.materials-file-clear{flex-shrink:0;border:1px solid var(--materials-border);background:transparent;color:var(--materials-text-muted);border-radius:8px;padding:.35rem .65rem;font-size:.85rem;cursor:pointer;transition:border-color .15s,color .15s}.materials-file-clear:hover:not(:disabled){border-color:#f87171;color:#f87171}.materials-banner{margin:0;padding:.65rem .85rem;border-radius:10px;font-size:.925rem;line-height:1.45}.materials-banner--error{background:#f871711f;border:1px solid rgba(248,113,113,.35);color:#fca5a5}.materials-app[data-theme=light] .materials-banner--error{color:#b91c1c;background:#fee2e2d9}.materials-banner--success{background:#4ade801f;border:1px solid rgba(74,222,128,.35);color:#86efac}.materials-app[data-theme=light] .materials-banner--success{color:#15803d;background:#dcfce7e6}.materials-actions{display:flex;justify-content:flex-end;padding-top:.15rem}.materials-submit{padding:.72rem 1.45rem;border:none;border-radius:10px;background:linear-gradient(135deg,var(--materials-accent) 0%,#7c3aed 100%);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 8px 22px #6366f147;transition:transform .12s,box-shadow .15s,opacity .15s}.materials-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 26px #6366f161}.materials-submit:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 520px){.materials-card{padding:1.1rem 1rem}.materials-file-preview{flex-wrap:wrap}.materials-actions{justify-content:stretch}.materials-submit{width:100%}}:root{--bg-deep: #f3f7ff;--bg-panel: #ffffff;--bg-card: #ffffff;--text-primary: #1e293b;--text-muted: #64748b;--accent: #4f46e5;--accent-dim: rgba(79, 70, 229, .24);--accent-green: #16a34a;--border: #dbe5f4;--glass: rgba(255, 255, 255, .92);--radius-lg: 20px;--radius-md: 12px;--font: "DM Sans", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:radial-gradient(900px 480px at 20% -10%,#dbeafe 0%,transparent 60%),radial-gradient(800px 420px at 100% 0%,#e9d5ff 0%,transparent 58%),linear-gradient(180deg,#f8fbff 0%,var(--bg-deep) 100%);color:var(--text-primary);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}a{color:var(--accent);text-decoration:none}.error-banner{padding:.75rem 1rem;border-radius:var(--radius-md);background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:.9rem}
