.fl-teaching-tools[hidden] { display:none!important; }
.fl-teaching-tools { --text-muted:color-mix(in srgb,var(--text-main,#1f2937) 76%,var(--panel-bg,#fff)); position:fixed; inset:0; z-index:200000; display:grid; place-items:center; padding:12px; overflow:hidden; overscroll-behavior:contain; background:color-mix(in srgb,var(--panel-bg,#fff) 96%,#0f172a); }
.fl-teaching-tools__window { display:grid; grid-template-rows:auto auto minmax(0,1fr); width:min(1380px,100%); height:min(880px,calc(100dvh - 24px)); overflow:hidden; border:1px solid var(--border,rgba(148,163,184,.28)); border-radius:8px; background:var(--panel-bg,#fff); box-shadow:0 24px 70px rgba(0,0,0,.32); color:var(--text-main,#1f2937); }
.fl-teaching-tools__header { display:flex; align-items:center; justify-content:space-between; min-height:66px; padding:11px 18px; border-bottom:1px solid var(--border,rgba(148,163,184,.24)); background:var(--panel-bg,#fff); }
.fl-teaching-tools__eyebrow { display:block; margin-bottom:2px; color:#0f766e; font-size:10px; font-weight:800; }
.fl-teaching-tools__header h2 { margin:0; color:var(--text-main,#111827); font-size:19px; letter-spacing:0; }
.fl-teaching-tools__close { display:grid; place-items:center; width:40px; height:40px; padding:0; border:1px solid transparent; border-radius:6px; background:transparent; color:var(--text-muted,#64748b); font:28px/1 Arial,sans-serif; cursor:pointer; }
.fl-teaching-tools__close:hover { border-color:var(--border,rgba(148,163,184,.35)); color:#b91c1c; background:rgba(185,28,28,.06); }
.fl-teaching-tools__close:focus-visible,.fl-teaching-tools__tabs button:focus-visible { outline:3px solid rgba(37,99,235,.28); outline-offset:2px; }
.fl-teaching-tools__tabs { display:flex; align-items:stretch; min-height:46px; padding:0 18px; overflow-x:auto; border-bottom:1px solid var(--border,rgba(148,163,184,.24)); background:var(--input-box-bg,#f8fafc); }
.fl-teaching-tools__tabs button { position:relative; flex:none; min-width:118px; padding:0 16px; border:0; border-bottom:3px solid transparent; background:transparent; color:var(--text-muted,#64748b); font:600 13px/1.2 inherit; cursor:pointer; }
.fl-teaching-tools__tabs button[aria-selected="true"] { border-bottom-color:#2563eb; color:#1d4ed8; background:rgba(37,99,235,.05); }
.fl-teaching-tools__tabs button:nth-child(2)[aria-selected="true"] { border-bottom-color:#0f766e; color:#0f766e; background:rgba(15,118,110,.05); }
.fl-teaching-tools__tabs button:nth-child(3)[aria-selected="true"] { border-bottom-color:#d97706; color:#b45309; background:rgba(217,119,6,.05); }
.fl-teaching-tools__body { min-width:0; min-height:0; overflow:auto; padding:18px; background:color-mix(in srgb,var(--panel-bg,#fff) 82%,var(--input-box-bg,#f8fafc)); }
.fl-teaching-tools__body>section { width:100%; max-width:1280px; margin:0 auto; }
.fl-teaching-tools__state { display:grid; place-items:center; min-height:260px; color:var(--text-muted,#64748b); }
.fl-teaching-tools__state.is-error { color:#b91c1c; }
.fl-teaching-tools.is-loading .fl-teaching-tools__body::before { content:'正在加载教学资源...'; display:grid; place-items:center; min-height:260px; color:var(--text-muted,#64748b); }

/* Normalize legacy teaching modules for all platform themes. */
.fl-teaching-tools .fl-collab__section,.fl-teaching-tools .fl-module__toolbar,.fl-teaching-tools .fl-module__detail { border-color:var(--border,rgba(148,163,184,.25)); background:var(--panel-bg,#fff); border-radius:8px; }
.fl-teaching-tools .fl-collab__group-card,.fl-teaching-tools .fl-collab__member-item,.fl-teaching-tools .fl-collab__resource-item,.fl-teaching-tools .fl-module__card { border-color:var(--border,rgba(148,163,184,.22)); background:var(--input-box-bg,rgba(248,250,252,.9)); border-radius:7px; }
.fl-teaching-tools .fl-collab__section-title,.fl-teaching-tools .fl-module__card-code,.fl-teaching-tools .fl-module__detail-header h3 { color:#0f766e; }
.fl-teaching-tools .fl-collab__group-name,.fl-teaching-tools .fl-collab__member-name,.fl-teaching-tools .fl-collab__resource-name,.fl-teaching-tools .fl-module__card-name,.fl-teaching-tools .fl-module__detail-value,.fl-teaching-tools .fl-module__detail-text,.fl-teaching-tools .fl-module__endpoint-path,.fl-teaching-tools .fl-module__json { color:var(--text-main,#1f2937); }
.fl-teaching-tools .fl-collab__group-desc,.fl-teaching-tools .fl-collab__group-meta,.fl-teaching-tools .fl-collab__resource-meta,.fl-teaching-tools .fl-module__card-desc,.fl-teaching-tools .fl-module__detail-label,.fl-teaching-tools .fl-module__endpoint-desc { color:var(--text-muted,#64748b); }
.fl-teaching-tools .fl-collab__input,.fl-teaching-tools .fl-collab__select,.fl-teaching-tools .fl-module__input,.fl-teaching-tools .fl-module__select { border-color:var(--border,rgba(148,163,184,.28)); background:var(--input-box-bg,#fff); color:var(--text-main,#1f2937); }
.fl-teaching-tools .fl-collab__btn,.fl-teaching-tools .fl-module__btn { border-color:var(--border,rgba(148,163,184,.3)); background:var(--input-box-bg,#fff); color:var(--text-main,#334155); border-radius:6px; }
.fl-teaching-tools .fl-collab__btn--primary,.fl-teaching-tools .fl-module__btn--primary { border-color:#0f766e; background:#0f766e; color:#fff; }
.fl-teaching-tools .fl-module__json { background:rgba(15,23,42,.06); }

@media (max-width:1024px) {
  .fl-teaching-tools { padding:0; }
  .fl-teaching-tools__window { width:100%; height:100dvh; border:0; border-radius:0; }
}
@media (max-width:720px) {
  .fl-teaching-tools__header { min-height:58px; padding:8px 12px; }
  .fl-teaching-tools__header h2 { font-size:17px; }
  .fl-teaching-tools__tabs { padding:0; }
  .fl-teaching-tools__tabs button { min-width:33.333%; padding:0 8px; }
  .fl-teaching-tools__body { padding:12px; }
  .fl-teaching-tools .fl-collab__section { padding:14px; }
  .fl-teaching-tools .fl-collab__group-list,.fl-teaching-tools .fl-module__list { grid-template-columns:1fr; }
  .fl-teaching-tools .fl-collab__group-card,.fl-teaching-tools .fl-module__card { align-items:stretch; flex-direction:column; gap:10px; }
  .fl-teaching-tools .fl-collab__group-actions,.fl-teaching-tools .fl-module__card-actions { flex-direction:row; flex-wrap:wrap; }
  .fl-teaching-tools .fl-collab__resource-item,.fl-teaching-tools .fl-collab__member-item { align-items:flex-start; flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) { .fl-teaching-tools * { scroll-behavior:auto!important; transition:none!important; } }
