.ui-badge[data-v-663e26a6]{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--badge-radius);font-family:var(--font-family-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-title);white-space:nowrap}.ui-badge--sm[data-v-663e26a6]{min-height:calc(var(--badge-height) - 4px);padding-inline:var(--space-2);font-size:var(--font-size-xs)}.ui-badge--md[data-v-663e26a6]{min-height:var(--badge-height);padding-inline:var(--badge-padding-x);font-size:var(--font-size-xs)}.ui-badge--primary[data-v-663e26a6]{color:var(--button-ghost-text);background:var(--color-primary-soft)}.ui-badge--success[data-v-663e26a6]{color:var(--status-success-text);background:var(--status-success-bg)}.ui-badge--warning[data-v-663e26a6]{color:var(--status-warning-text);background:var(--status-warning-bg)}.ui-badge--danger[data-v-663e26a6]{color:var(--status-danger-text);background:var(--status-danger-bg)}.ui-badge--neutral[data-v-663e26a6]{color:var(--status-muted-text);background:var(--status-muted-bg)}.student-layout[data-v-7644bfa4]{height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:0;background:#7cc796 url(/assets/playful-home-bg-CzHux1Sq.webp) center / cover repeat;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#2e2e36}.student-layout__top[data-v-7644bfa4]{display:flex;align-items:center;gap:12px;padding:8px 10px;flex-shrink:0}.student-layout__nav[data-v-7644bfa4]{flex:1;display:flex;align-items:center;justify-content:space-evenly;gap:2px;padding:0 6px;height:62px;min-width:0}.student-layout__nav-item[data-v-7644bfa4]{height:42px;padding:0 clamp(6px,1vw,14px);border-radius:12px;background:transparent;color:#4e4e55;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;flex-shrink:0;transition:background .16s ease,color .16s ease}.student-layout__nav-item[data-v-7644bfa4]:hover{background:#e8f8df;color:#168240}.student-layout__nav-item--active[data-v-7644bfa4]{color:#168240;background:#e8f8df}.student-layout__right[data-v-7644bfa4]{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;align-items:center;gap:2px 10px;padding:4px 8px;flex-shrink:0}.student-layout__nickname[data-v-7644bfa4]{grid-column:1;grid-row:1;font-size:15px;font-weight:800;color:#5b3b22;white-space:nowrap}.student-layout__points-value[data-v-7644bfa4]{grid-column:1;grid-row:2;font-size:16px;font-weight:900;color:#8a4e1e;white-space:nowrap}.student-layout__badges[data-v-7644bfa4]{grid-column:2;grid-row:1 / 3;display:flex;gap:4px;align-items:center}.student-layout__body[data-v-7644bfa4]{flex:1;min-height:0;padding:10px 8px 0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}@media (max-width: 1100px){.student-layout__top[data-v-7644bfa4]{flex-wrap:wrap;gap:8px;padding:8px 12px}.student-layout__nav[data-v-7644bfa4]{flex:1 1 100%;height:52px;order:-1;justify-content:center;gap:1px}.student-layout__nav-item[data-v-7644bfa4]{height:38px;padding:0 clamp(4px,1vw,10px);font-size:13px}.student-layout__right[data-v-7644bfa4]{grid-template-columns:auto auto auto;grid-template-rows:auto;justify-content:center;gap:6px;padding:5px 10px}.student-layout__nickname[data-v-7644bfa4],.student-layout__points-value[data-v-7644bfa4]{grid-column:auto;grid-row:auto}.student-layout__badges[data-v-7644bfa4]{grid-column:auto;grid-row:auto;display:none}.student-layout__body[data-v-7644bfa4]{overflow-y:auto}}@media (max-width: 768px){.student-layout__top[data-v-7644bfa4]{gap:6px;padding:6px 8px}.student-layout__nav[data-v-7644bfa4]{flex:1 1 100%;height:46px;padding:0 4px;order:-1;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;gap:4px;border-radius:14px;scrollbar-width:none;-ms-overflow-style:none}.student-layout__nav[data-v-7644bfa4]::-webkit-scrollbar{display:none}.student-layout__nav-item[data-v-7644bfa4]{height:36px;padding:0 10px;font-size:12px;gap:2px;flex-shrink:0}.student-layout__right[data-v-7644bfa4]{display:flex;gap:6px;padding:4px 8px;border-radius:14px}.student-layout__nickname[data-v-7644bfa4]{font-size:13px}.student-layout__badges[data-v-7644bfa4]{display:none}.student-layout__body[data-v-7644bfa4]{padding:8px 4px 0;overflow-y:auto}}@media (max-width: 420px){.student-layout[data-v-7644bfa4]{padding:6px 6px 0}.student-layout__top[data-v-7644bfa4]{padding:5px 6px;gap:4px;border-radius:16px}.student-layout__nav[data-v-7644bfa4]{height:40px;gap:3px;border-radius:12px}.student-layout__nav-item[data-v-7644bfa4]{height:32px;padding:0 8px;font-size:11px;gap:2px;border-radius:10px}.student-layout__right[data-v-7644bfa4]{gap:4px;padding:3px 6px;border-radius:12px}.student-layout__nickname[data-v-7644bfa4]{font-size:12px}.student-layout__body[data-v-7644bfa4]{padding:6px 4px 0;overflow-y:auto}}.ui-button[data-v-22ca3d02]{gap:var(--space-2);min-width:max-content}.ui-button--sm[data-v-22ca3d02]{min-height:calc(var(--button-height) - 8px);padding-inline:var(--space-3);font-size:var(--font-size-sm)}.ui-button--md[data-v-22ca3d02]{min-height:var(--button-height);padding-inline:var(--button-padding-x);font-size:var(--button-font-size)}.ui-button--lg[data-v-22ca3d02]{min-height:calc(var(--button-height) + 8px);padding-inline:var(--space-5);font-size:var(--font-size-lg)}.ui-button--danger[data-v-22ca3d02]{color:var(--color-text-inverse);background:var(--color-danger);border-color:var(--color-danger)}.ui-button--danger[data-v-22ca3d02]:hover:not(:disabled){background:var(--color-danger);border-color:var(--color-danger);box-shadow:0 0 0 3px var(--color-focus-ring)}.ui-button__content[data-v-22ca3d02]{display:inline-flex;align-items:center;justify-content:center}.ui-button__spinner[data-v-22ca3d02]{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--radius-pill);animation:ui-button-spin-22ca3d02 .8s linear infinite}@keyframes ui-button-spin-22ca3d02{to{transform:rotate(360deg)}}.notification-mini[data-v-028f4f1d]{position:relative;flex-shrink:0}.notification-mini__trigger[data-v-028f4f1d]{min-height:32px;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid rgba(120,130,150,.28);border-radius:6px;background:#ffffff1f;color:inherit;font:inherit;cursor:pointer}.notification-mini__bell[data-v-028f4f1d]{line-height:1}.notification-mini__label[data-v-028f4f1d]{font-size:13px;white-space:nowrap}.notification-mini__badge[data-v-028f4f1d]{min-width:18px;height:18px;padding:0 5px;border-radius:9px;display:inline-grid;place-items:center;background:#d92d20;color:#fff;font-size:11px;font-weight:700}.notification-mini__popover[data-v-028f4f1d]{position:absolute;right:0;top:calc(100% + 8px);width:min(340px,86vw);max-height:420px;overflow-y:auto;z-index:30;border:1px solid #d9dee8;border-radius:8px;background:#fff;color:#1f2937;box-shadow:0 16px 36px #0f172a29}.notification-mini__head[data-v-028f4f1d]{height:42px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0f5;font-size:14px}.notification-mini__refresh[data-v-028f4f1d],.notification-mini__read[data-v-028f4f1d]{border:none;background:transparent;color:#2563eb;font:inherit;font-size:12px;cursor:pointer}.notification-mini__state[data-v-028f4f1d]{padding:18px 12px;color:#667085;font-size:13px}.notification-mini__state--error[data-v-028f4f1d]{color:#b42318}.notification-mini__list[data-v-028f4f1d]{list-style:none;margin:0;padding:0}.notification-mini__item[data-v-028f4f1d]{padding:10px 12px;border-bottom:1px solid #edf0f5;background:#fff}.notification-mini__item[data-v-028f4f1d]:last-child{border-bottom:none}.notification-mini__item--unread[data-v-028f4f1d]{background:#f5f9ff}.notification-mini__title[data-v-028f4f1d]{font-size:13px;font-weight:700;color:#111827}.notification-mini__content[data-v-028f4f1d]{margin-top:4px;color:#475467;font-size:12px;line-height:1.45;word-break:break-word}.notification-mini__meta[data-v-028f4f1d]{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#667085;font-size:12px}.teacher-layout__brand[data-v-de04aa61]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 8px 16px;gap:0;flex-shrink:0}.teacher-layout__brand-title[data-v-de04aa61]{margin:0;color:var(--color-primary);font-size:clamp(22px,2.5vw,30px);font-weight:900;line-height:1.08;letter-spacing:0}.teacher-layout.is-collapsed .teacher-layout__brand-title[data-v-de04aa61]{font-size:14px}.teacher-layout[data-v-de04aa61]{height:100vh;display:flex;overflow:hidden;background:var(--teacher-page-bg);font-family:var(--font-family-base);color:var(--color-text-primary)}.teacher-layout__sidebar[data-v-de04aa61]{width:200px;display:flex;flex-direction:column;flex-shrink:0;padding:0 0 8px;background:var(--card-bg);border-right:var(--card-border);transition:width .2s ease;overflow:hidden}.teacher-layout.is-collapsed .teacher-layout__sidebar[data-v-de04aa61]{width:56px}.teacher-layout__nav[data-v-de04aa61]{flex:1;display:flex;flex-direction:column;gap:2px;padding:0 8px;overflow-y:auto;overflow-x:hidden}.teacher-layout__nav-item[data-v-de04aa61]{display:flex;align-items:center;gap:10px;height:42px;padding:0 12px;border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);text-decoration:none;white-space:nowrap;transition:background .16s ease,color .16s ease}.teacher-layout__nav-item[data-v-de04aa61]:hover{background:var(--nav-item-hover-bg);color:var(--nav-item-active-text)}.teacher-layout__nav-item--active[data-v-de04aa61]{background:var(--nav-item-active-bg);color:var(--nav-item-active-text)}.teacher-layout__nav-icon[data-v-de04aa61]{font-size:18px;flex-shrink:0;width:24px;text-align:center}.teacher-layout__nav-text[data-v-de04aa61]{overflow:hidden;transition:opacity .16s ease}.teacher-layout.is-collapsed .teacher-layout__nav-text[data-v-de04aa61]{opacity:0;width:0}.teacher-layout.is-collapsed .teacher-layout__nav-item[data-v-de04aa61]{justify-content:center;padding:0;gap:0}.teacher-layout__user[data-v-de04aa61]{display:grid;grid-template-columns:40px 1fr 28px;align-items:center;gap:8px;padding:10px;border-top:var(--card-border);margin:auto 8px 4px;flex-shrink:0}.teacher-layout__notifications[data-v-de04aa61]{margin:0 8px 8px;padding:0 10px;display:flex;justify-content:flex-end;flex-shrink:0}.teacher-layout__avatar[data-v-de04aa61]{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--color-primary);color:var(--color-text-inverse);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);flex-shrink:0}.teacher-layout__user-info[data-v-de04aa61]{display:flex;flex-direction:column;gap:2px;min-width:0}.teacher-layout__username[data-v-de04aa61]{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-layout__toggle[data-v-de04aa61]{width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-size:14px;cursor:pointer;flex-shrink:0;display:grid;place-items:center;transition:background .16s ease}.teacher-layout__toggle[data-v-de04aa61]:hover{background:var(--nav-item-hover-bg)}.teacher-layout.is-collapsed .teacher-layout__user[data-v-de04aa61]{grid-template-columns:1fr;justify-items:center;gap:4px;padding:8px 4px}.teacher-layout.is-collapsed .teacher-layout__notifications[data-v-de04aa61],.teacher-layout.is-collapsed .teacher-layout__user-info[data-v-de04aa61]{display:none}.teacher-layout.is-collapsed .teacher-layout__toggle[data-v-de04aa61]{margin-top:4px}.teacher-layout__body[data-v-de04aa61]{flex:1;min-width:0;min-height:0;padding:var(--space-4);overflow-y:auto;overflow-x:hidden}.org-admin-layout[data-v-06bdf09d]{display:flex;flex-direction:column;min-height:100vh;background:#f5f6fa}.org-admin-layout__header[data-v-06bdf09d]{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:56px;background:#d48806;color:#fff}.org-admin-layout__brand[data-v-06bdf09d]{font-size:18px;font-weight:600}.org-admin-layout__user[data-v-06bdf09d]{display:flex;align-items:center;gap:12px;font-size:14px}.org-admin-layout__shell[data-v-06bdf09d]{display:flex;flex:1}.org-admin-layout__sidebar[data-v-06bdf09d]{width:200px;background:#fff;border-right:1px solid #e8e8e8;padding:12px 0;display:flex;flex-direction:column;flex-shrink:0}.org-admin-layout__body[data-v-06bdf09d]{flex:1;padding:24px;overflow-y:auto}.btn-logout[data-v-06bdf09d]{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:4px 12px;border-radius:4px;font-size:13px}.nav-item[data-v-06bdf09d]{padding:10px 20px;font-size:14px;color:#333;transition:background .15s;display:block}.nav-item[data-v-06bdf09d]:hover{background:#eef2ff}.nav-item--active[data-v-06bdf09d]{background:#fff7e6;color:#d48806;font-weight:600;border-right:3px solid #d48806}.platform-admin-layout[data-v-3c6f59f3]{display:flex;flex-direction:column;min-height:100vh;background:#f5f6fa}.platform-admin-layout__header[data-v-3c6f59f3]{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:56px;background:#1a1a2e;color:#fff}.platform-admin-layout__brand[data-v-3c6f59f3]{font-size:18px;font-weight:600}.platform-admin-layout__user[data-v-3c6f59f3]{display:flex;align-items:center;gap:12px;font-size:14px}.platform-admin-layout__shell[data-v-3c6f59f3]{display:flex;flex:1}.platform-admin-layout__sidebar[data-v-3c6f59f3]{width:210px;background:#fff;border-right:1px solid #e8e8e8;padding:12px 0;display:flex;flex-direction:column;flex-shrink:0}.platform-admin-layout__body[data-v-3c6f59f3]{flex:1;padding:24px;overflow-y:auto}.btn-logout[data-v-3c6f59f3]{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:4px 12px;border-radius:4px;font-size:13px}.nav-item[data-v-3c6f59f3]{padding:10px 20px;font-size:13px;color:#333;transition:background .15s;display:block}.nav-item[data-v-3c6f59f3]:hover{background:#eef2ff}.nav-item--active[data-v-3c6f59f3]{background:#e8e8ec;color:#1a1a2e;font-weight:600;border-right:3px solid #1a1a2e}.live-layout[data-v-38477a47]{display:flex;flex-direction:column;min-height:100vh;background:#0d1117;color:#c9d1d9}.live-layout__header[data-v-38477a47]{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:48px;background:#161b22;border-bottom:1px solid #30363d}.live-layout__title[data-v-38477a47]{font-size:15px;font-weight:600;color:#f78166}.live-layout__session[data-v-38477a47]{font-size:12px;color:#8b949e;font-family:monospace}.live-layout__body[data-v-38477a47]{flex:1;display:flex;align-items:center;justify-content:center}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}a{color:inherit;text-decoration:none}button{cursor:pointer}:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-active: #1e40af;--color-primary-soft: #dbeafe;--color-secondary: #0f766e;--color-secondary-soft: #ccfbf1;--color-success: #15803d;--color-warning: #b45309;--color-danger: #b91c1c;--color-info: #0369a1;--color-text-primary: #172033;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-text-inverse: #ffffff;--color-border: #cbd5e1;--color-border-soft: #e2e8f0;--color-focus-ring: rgba(37, 99, 235, .28);--page-bg: #f6f8fc;--page-bg-soft: #eef4fa;--card-bg: #ffffff;--card-bg-hover: #f8fafc;--overlay-bg: rgba(15, 23, 42, .48);--hero-bg: linear-gradient(135deg, #eff6ff 0%, #ecfdf5 100%);--login-bg: linear-gradient(135deg, #eff6ff 0%, #f0fdfa 100%);--student-home-bg: #f5f8ff;--teacher-home-bg: #f5faf8;--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-page-title: var(--font-size-2xl);--font-size-card-title: var(--font-size-lg);--font-size-body: var(--font-size-md);--font-size-caption: var(--font-size-xs);--line-height-base: 1.6;--line-height-title: 1.3;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--page-padding: var(--space-6);--section-gap: var(--space-6);--card-padding: var(--space-5);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-card: var(--radius-lg);--radius-button: var(--radius-md);--radius-input: var(--radius-md);--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 8px 24px rgba(15, 23, 42, .08);--shadow-card: 0 4px 16px rgba(15, 23, 42, .06);--shadow-floating: 0 16px 40px rgba(15, 23, 42, .12);--z-base: 0;--z-sticky: 100;--z-dropdown: 1000;--z-modal: 1100;--z-toast: 1200;--transition-fast: .12s ease;--transition-base: .18s ease;--transition-slow: .24s ease;--button-height: 40px;--button-padding-x: var(--space-4);--button-font-size: var(--font-size-md);--button-primary-bg: var(--color-primary);--button-primary-bg-hover: var(--color-primary-hover);--button-primary-text: var(--color-text-inverse);--button-secondary-bg: var(--color-secondary-soft);--button-secondary-bg-hover: #99f6e4;--button-secondary-text: var(--color-secondary);--button-ghost-bg-hover: var(--color-primary-soft);--button-ghost-text: var(--color-primary);--button-disabled-bg: #e2e8f0;--button-disabled-text: #94a3b8;--input-height: 44px;--input-padding-x: 14px;--input-bg: var(--card-bg);--input-border: 1px solid var(--color-border);--input-border-focus: var(--color-primary);--input-placeholder: var(--color-text-muted);--card-border: 1px solid var(--color-border-soft);--card-shadow: var(--shadow-card);--tag-height: 24px;--tag-padding-x: 10px;--badge-height: 24px;--badge-padding-x: 10px;--badge-radius: var(--radius-pill);--status-success-bg: #dcfce7;--status-success-text: #166534;--status-warning-bg: #fef3c7;--status-warning-text: #92400e;--status-danger-bg: #fee2e2;--status-danger-text: #991b1b;--status-info-bg: #e0f2fe;--status-info-text: #075985;--status-muted-bg: #f1f5f9;--status-muted-text: #64748b;--answer-code-bg: #fde68a;--nav-width: 216px;--topbar-height: 64px;--nav-bg: var(--card-bg);--nav-item-hover-bg: var(--color-primary-soft);--nav-item-active-bg: var(--color-primary-soft);--nav-item-active-text: var(--color-primary);--hero-card-bg: var(--hero-bg);--hero-card-border: 1px solid rgba(37, 99, 235, .14);--hero-card-shadow: var(--shadow-md);--status-card-bg: var(--card-bg);--status-card-border: var(--card-border)}:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-active: #1e40af;--color-primary-soft: #dbeafe;--color-secondary: #0f766e;--color-secondary-soft: #ccfbf1;--color-success: #15803d;--color-warning: #b45309;--color-danger: #b91c1c;--color-info: #0369a1;--color-text-primary: #172033;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-text-inverse: #ffffff;--color-border: #cbd5e1;--color-border-soft: #e2e8f0;--color-focus-ring: rgba(37, 99, 235, .28);--page-bg: #f6f8fc;--page-bg-soft: #eef4fa;--card-bg: #ffffff;--card-bg-hover: #f8fafc;--overlay-bg: rgba(15, 23, 42, .48);--hero-bg: linear-gradient(135deg, #eff6ff 0%, #ecfdf5 100%);--login-bg: linear-gradient(135deg, #eff6ff 0%, #f0fdfa 100%);--student-home-bg: #f5f8ff;--teacher-home-bg: #f5faf8;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 8px 24px rgba(15, 23, 42, .08);--shadow-card: 0 4px 16px rgba(15, 23, 42, .06);--shadow-floating: 0 16px 40px rgba(15, 23, 42, .12);--button-primary-bg: var(--color-primary);--button-primary-bg-hover: var(--color-primary-hover);--button-primary-text: var(--color-text-inverse);--button-secondary-bg: var(--color-secondary-soft);--button-secondary-bg-hover: #99f6e4;--button-secondary-text: var(--color-secondary);--button-ghost-bg-hover: var(--color-primary-soft);--button-ghost-text: var(--color-primary);--button-disabled-bg: #e2e8f0;--button-disabled-text: #94a3b8;--status-success-bg: #dcfce7;--status-success-text: #166534;--status-warning-bg: #fef3c7;--status-warning-text: #92400e;--status-danger-bg: #fee2e2;--status-danger-text: #991b1b;--status-info-bg: #e0f2fe;--status-info-text: #075985;--status-muted-bg: #f1f5f9;--status-muted-text: #64748b;--hero-card-bg: var(--hero-bg);--hero-card-border: 1px solid rgba(37, 99, 235, .14);--hero-card-shadow: var(--shadow-md)}[data-theme=clean-edu]{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-active: #1e40af;--color-primary-soft: #dbeafe;--color-secondary: #0f766e;--color-secondary-soft: #ccfbf1;--color-success: #15803d;--color-warning: #b45309;--color-danger: #b91c1c;--color-info: #0369a1;--color-text-primary: #172033;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-text-inverse: #ffffff;--color-border: #cbd5e1;--color-border-soft: #e2e8f0;--color-focus-ring: rgba(37, 99, 235, .28);--page-bg: #f6f8fc;--page-bg-soft: #eef4fa;--card-bg: #ffffff;--card-bg-hover: #f8fafc;--overlay-bg: rgba(15, 23, 42, .48);--hero-bg: linear-gradient(135deg, #eff6ff 0%, #ecfdf5 100%);--login-bg: linear-gradient(135deg, #eff6ff 0%, #f0fdfa 100%);--student-home-bg: #f5f8ff;--teacher-home-bg: #f5faf8;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 8px 24px rgba(15, 23, 42, .08);--shadow-card: 0 4px 16px rgba(15, 23, 42, .06);--shadow-floating: 0 16px 40px rgba(15, 23, 42, .12);--button-primary-bg: var(--color-primary);--button-primary-bg-hover: var(--color-primary-hover);--button-primary-text: var(--color-text-inverse);--button-secondary-bg: var(--color-secondary-soft);--button-secondary-bg-hover: #99f6e4;--button-secondary-text: var(--color-secondary);--button-ghost-bg-hover: var(--color-primary-soft);--button-ghost-text: var(--color-primary);--button-disabled-bg: #e2e8f0;--button-disabled-text: #94a3b8;--status-success-bg: #dcfce7;--status-success-text: #166534;--status-warning-bg: #fef3c7;--status-warning-text: #92400e;--status-danger-bg: #fee2e2;--status-danger-text: #991b1b;--status-info-bg: #e0f2fe;--status-info-text: #075985;--status-muted-bg: #f1f5f9;--status-muted-text: #64748b;--hero-card-bg: var(--hero-bg);--hero-card-border: 1px solid rgba(37, 99, 235, .14);--hero-card-shadow: var(--shadow-md)}html,body{font-family:var(--font-family-base);font-size:var(--font-size-body);line-height:var(--line-height-base);color:var(--color-text-primary);background:var(--page-bg)}.theme-playful-edu,[data-theme=playful-edu]{--color-primary: #14b8a6;--color-primary-hover: #0d9488;--color-primary-active: #0f766e;--color-primary-soft: #ccfbf1;--color-secondary: #f97316;--color-secondary-soft: #ffedd5;--color-success: #16a34a;--color-warning: #d97706;--color-danger: #dc2626;--color-info: #0284c7;--color-text-primary: #3f3528;--color-text-secondary: #6b5d48;--color-text-muted: #93856f;--color-text-inverse: #ffffff;--color-border: #eadfc7;--color-border-soft: #f3ead7;--color-focus-ring: rgba(20, 184, 166, .28);--playful-brand-brown: #7c5637;--playful-title-cream: #fff8dc;--playful-bg-mint: #7cc796;--playful-brand-green: #168240;--playful-button-bg: #fffdf4;--playful-button-text: #6f4a2a;--playful-button-bg-hover: #fffef8;--playful-home-bg: #78c693 url(/assets/playful-home-bg-CzHux1Sq.webp) center / cover repeat;--page-bg: var(--playful-home-bg);--page-bg-soft: rgba(255, 248, 232, .82);--card-bg: #fffdf6;--card-bg-hover: #fff7df;--overlay-bg: rgba(63, 53, 40, .46);--hero-bg: linear-gradient(135deg, #d9fbf4 0%, #fff1c9 58%, #ffe3d4 100%);--login-bg: var(--playful-home-bg);--student-home-bg: var(--playful-home-bg);--teacher-home-bg: var(--playful-home-bg);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 24px;--radius-card: 22px;--radius-button: 16px;--radius-input: 16px;--shadow-sm: 0 2px 0 rgba(107, 93, 72, .1);--shadow-md: 0 12px 28px rgba(107, 93, 72, .12);--shadow-card: 0 10px 24px rgba(107, 93, 72, .1);--shadow-floating: 0 18px 44px rgba(107, 93, 72, .16);--button-primary-bg: var(--color-primary);--button-primary-bg-hover: var(--color-primary-hover);--button-primary-text: var(--color-text-inverse);--button-secondary-bg: var(--color-secondary-soft);--button-secondary-bg-hover: #fed7aa;--button-secondary-text: #9a3412;--button-ghost-bg-hover: var(--color-primary-soft);--button-ghost-text: var(--color-primary-active);--button-disabled-bg: #efe7d8;--button-disabled-text: #a99b85;--input-bg: #fffdf6;--input-border: 1px solid var(--color-border);--input-border-focus: var(--color-primary);--input-placeholder: var(--color-text-muted);--card-border: 1px solid var(--color-border-soft);--card-shadow: var(--shadow-card);--status-success-bg: #dcfce7;--status-success-text: #166534;--status-warning-bg: #ffedd5;--status-warning-text: #9a3412;--status-danger-bg: #fee2e2;--status-danger-text: #991b1b;--status-info-bg: #cffafe;--status-info-text: #0e7490;--status-muted-bg: #f7eddc;--status-muted-text: #7c6f5d;--login-card-bg: #fffaf0;--login-card-border: #a88f5f;--login-card-text: #6f4a2a;--login-input-bg: #f8f2dc;--login-input-border: #c6b895;--login-input-placeholder: #b8ad91;--login-button-bg: #fffdf4;--login-button-text: #6f4a2a;--login-button-shadow: 0 10px 0 rgba(111, 74, 42, .28);--nav-bg: var(--card-bg);--nav-item-hover-bg: var(--color-primary-soft);--nav-item-active-bg: var(--color-primary-soft);--nav-item-active-text: var(--color-primary-active);--hero-card-bg: var(--hero-bg);--hero-card-border: 1px solid rgba(20, 184, 166, .22);--hero-card-shadow: var(--shadow-md)}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:500;src:url(/assets/nunito-latin-500-normal-EugFkASW.woff2) format("woff2")}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2) format("woff2")}@font-face{font-display:swap;font-family:Nunito;font-style:normal;font-weight:900;src:url(/assets/nunito-latin-900-normal-BVB1fGs6.woff2) format("woff2")}@font-face{font-display:swap;font-family:Noto Sans SC Playful;font-style:normal;font-weight:400;src:url(/assets/noto-sans-sc-chinese-simplified-400-normal-Ba7eOkfT.woff2) format("woff2")}@font-face{font-display:swap;font-family:Noto Sans SC Playful;font-style:normal;font-weight:500;src:url(/assets/noto-sans-sc-chinese-simplified-500-normal-z_irmif2.woff2) format("woff2")}@font-face{font-display:swap;font-family:Noto Sans SC Playful;font-style:normal;font-weight:700;src:url(/assets/noto-sans-sc-chinese-simplified-700-normal-DoUziBww.woff2) format("woff2")}.ui-button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--button-height);padding:0 var(--button-padding-x);border:1px solid transparent;border-radius:var(--radius-button);font-family:var(--font-family-base);font-size:var(--button-font-size);font-weight:var(--font-weight-semibold);line-height:var(--line-height-title);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--transition-base),border-color var(--transition-base),color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-fast)}.ui-button:hover:not(:disabled){transform:translateY(-1px)}.ui-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-focus-ring)}.ui-button--primary{color:var(--button-primary-text);background:var(--button-primary-bg);border-color:var(--button-primary-bg)}.ui-button--primary:hover:not(:disabled){background:var(--button-primary-bg-hover);border-color:var(--button-primary-bg-hover)}.ui-button--secondary{color:var(--button-secondary-text);background:var(--button-secondary-bg);border-color:var(--button-secondary-bg)}.ui-button--secondary:hover:not(:disabled){background:var(--button-secondary-bg-hover);border-color:var(--button-secondary-bg-hover)}.ui-button--ghost{color:var(--button-ghost-text);background:transparent;border-color:transparent}.ui-button--ghost:hover:not(:disabled){background:var(--button-ghost-bg-hover)}.ui-button:disabled{color:var(--button-disabled-text);background:var(--button-disabled-bg);border-color:var(--button-disabled-bg);cursor:not-allowed;transform:none;box-shadow:none}.ui-input{width:100%;min-height:var(--input-height);padding:0 var(--input-padding-x);border:var(--input-border);border-radius:var(--radius-input);font-family:var(--font-family-base);font-size:var(--font-size-md);line-height:var(--line-height-base);color:var(--color-text-primary);background:var(--input-bg);transition:border-color var(--transition-base),box-shadow var(--transition-base),background-color var(--transition-base)}.ui-input::placeholder{color:var(--input-placeholder)}.ui-input:focus{outline:none;border-color:var(--input-border-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.ui-input:disabled{color:var(--button-disabled-text);background:var(--status-muted-bg);cursor:not-allowed}.ui-card{padding:var(--card-padding);border:var(--card-border);border-radius:var(--radius-card);color:var(--color-text-primary);background:var(--card-bg);box-shadow:var(--card-shadow)}.ui-hero-card{padding:var(--space-6);border:var(--hero-card-border);border-radius:var(--radius-xl);color:var(--color-text-primary);background:var(--hero-card-bg);box-shadow:var(--hero-card-shadow)}.ui-status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:var(--badge-height);padding:0 var(--badge-padding-x);border-radius:var(--badge-radius);font-family:var(--font-family-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:var(--line-height-title);white-space:nowrap;background:var(--status-muted-bg);color:var(--status-muted-text)}.ui-status-badge--success{color:var(--status-success-text);background:var(--status-success-bg)}.ui-status-badge--warning{color:var(--status-warning-text);background:var(--status-warning-bg)}.ui-status-badge--danger{color:var(--status-danger-text);background:var(--status-danger-bg)}.ui-status-badge--info{color:var(--status-info-text);background:var(--status-info-bg)}.ui-status-badge--muted{color:var(--status-muted-text);background:var(--status-muted-bg)}:root,[data-theme=clean-edu],[data-theme=playful-edu]{--login-page-bg: var(--login-bg);--login-panel-bg: var(--card-bg);--login-panel-shadow: var(--shadow-floating);--student-page-bg: var(--student-home-bg);--student-hero-bg: var(--hero-card-bg);--teacher-page-bg: var(--teacher-home-bg);--teacher-hero-bg: var(--hero-card-bg);--classroom-entry-card-bg: var(--card-bg);--classroom-entry-action-bg: var(--button-primary-bg);--classroom-entry-muted-bg: var(--status-muted-bg);--schedule-bg: var(--page-bg);--schedule-month-bg: var(--card-bg);--schedule-panel-bg: var(--card-bg);--schedule-sidebar-bg: var(--card-bg);--schedule-border: var(--color-border-soft);--schedule-grid-line: var(--color-border-soft);--schedule-time-text: var(--color-text-muted);--schedule-today-bg: var(--color-primary-soft);--schedule-selected-day-bg: var(--color-primary);--schedule-selected-day-text: var(--color-text-inverse);--schedule-slot-height: 40px;--schedule-time-col-width: 56px;--schedule-header-height: 56px;--schedule-dot-color: var(--color-primary);--schedule-day-header-bg: var(--card-bg-hover);--lesson-type-formal-bg: var(--status-success-bg);--lesson-type-formal-border: var(--status-success-text);--lesson-type-formal-text: var(--status-success-text);--lesson-type-trial-bg: var(--status-info-bg);--lesson-type-trial-border: var(--status-info-text);--lesson-type-trial-text: var(--status-info-text);--lesson-type-makeup-bg: var(--status-warning-bg);--lesson-type-makeup-border: var(--status-warning-text);--lesson-type-makeup-text: var(--status-warning-text);--lesson-type-temporary-bg: #f3e8ff;--lesson-type-temporary-border: #7c3aed;--lesson-type-temporary-text: #6d28d9;--lesson-status-pending-bg: var(--status-muted-bg);--lesson-status-pending-text: var(--status-muted-text);--lesson-status-enterable-bg: var(--status-info-bg);--lesson-status-enterable-text: var(--status-info-text);--lesson-status-in-progress-bg: var(--status-success-bg);--lesson-status-in-progress-text: var(--status-success-text);--lesson-status-ended-bg: var(--status-muted-bg);--lesson-status-ended-text: var(--status-muted-text);--lesson-status-cancelled-bg: var(--status-danger-bg);--lesson-status-cancelled-text: var(--status-danger-text);--question-type-choice-bg: #e0e7ff;--question-type-choice-text: #3730a3;--question-type-spelling-bg: var(--status-warning-bg);--question-type-spelling-text: var(--status-warning-text);--question-type-fill-bg: #d1fae5;--question-type-fill-text: #065f46;--question-type-subjective-bg: #fce7f3;--question-type-subjective-text: #9d174d;--question-type-other-bg: var(--status-muted-bg);--question-type-other-text: var(--status-muted-text)}
