/* 喇叭花 · 教师端布局与卡片（原 style 教师端段） */
  /* ================= 教师端 ================= */
  #view-teacher { max-width: 1120px; margin: 0 auto; padding: 0 16px 48px; }
  .topbar { position: sticky; top: 0; z-index: 20; display: flex; flex-wrap: wrap; gap: 10px;
            align-items: center; justify-content: space-between; padding: 14px 4px;
            background: rgba(245, 242, 255, .88); backdrop-filter: blur(8px); }
  .tb-brand { font-size: 1.25rem; font-weight: 800; }
  .tb-badges { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
  .pill { background: #fff; border: 1.5px solid var(--line); border-radius: 999px; padding: 6px 14px;
          font-size: .85rem; color: var(--ink2); font-weight: 600; }
  button.pill { cursor: pointer; }
  .t-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
  .card { background: var(--card); border: 1px solid rgba(255,255,255,.8); border-radius: 24px;
          padding: 20px; box-shadow: 0 14px 30px -18px rgba(11,42,74,.25); }
  .card h2 { font-size: 1.05rem; margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
  .card-announce, .card-history { grid-column: 1 / -1; }
  .type-chips { display: flex; flex-wrap: wrap; gap: 8px; }
  .chip { background: #fff; border: 1.5px solid var(--line); border-radius: 999px; padding: 7px 16px;
          font-size: .9rem; cursor: pointer; color: var(--ink); font-weight: 500; }
  .chip.active { border-color: var(--b1); background: #dbeafe; color: #1d4ed8; }
  .send-row { display: flex; gap: 10px; margin-top: 14px; }
  .send-row input { flex: 1; min-width: 0; }
  .ack-line { color: #059669; font-weight: 700; font-size: .9rem; margin-top: 8px; }
  .phr-head { display: flex; justify-content: space-between; align-items: center; margin-top: 16px; font-size: .9rem; font-weight: 700; color: var(--ink2); }
  .phr-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
  .ck { display: flex; gap: 8px; align-items: center; margin: 10px 0; font-size: .95rem; }
  .picked-box { margin-top: 12px; background: #f8fafc; border: 1.5px dashed var(--line); border-radius: 14px; padding: 10px 14px; }
  .picked-list { color: var(--ink); font-size: .95rem; margin-top: 6px; line-height: 1.7; word-break: break-all; }
  .timer-big { font-size: 2.6rem; font-weight: 800; font-variant-numeric: tabular-nums; color: #1d4ed8; margin: 10px 0 4px; }
  input[type=number] { width: 110px; }
  #historyList { list-style: none; max-height: 260px; overflow: auto; }
  #historyList li { padding: 8px 4px; border-bottom: 1px dashed var(--line); font-size: .92rem; }
  #historyList .ht { color: var(--ink2); font-size: .8rem; margin-right: 6px; }
  #historyList .ok { color: #059669; }

