/* Desktop-only teaching surface. All typography and layout stay inside its root. */
.teaching-workbench {
    --tw-background:#f6f7f8;
    --tw-surface:#fff;
    --tw-ink:#1c2b38;
    --tw-secondary:#52606d;
    --tw-rule:#d7dde3;
    --tw-accent:#b91c1c;
    display:grid;
    grid-template-columns:208px minmax(0,1fr);
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;
    overflow:hidden;
    color:var(--tw-ink);
    background:var(--tw-background);
    font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;
    font-size:15px;
    line-height:1.65;
}
.teaching-workbench * { box-sizing:border-box; }
.teaching-workbench h1,.teaching-workbench h2,.teaching-workbench h3,.teaching-workbench p { margin:0; }
.teaching-workbench h1 { font-family:"Noto Serif SC","Songti SC",serif; font-size:28px; line-height:1.3; font-weight:600; }
.teaching-workbench h2 { font-size:18px; line-height:1.4; font-weight:600; }
.teaching-workbench h3 { font-size:15px; line-height:1.65; font-weight:600; overflow-wrap:anywhere; }
.teaching-workbench button,.teaching-workbench select,.teaching-workbench input,.teaching-workbench summary { font:inherit; font-size:14px; line-height:1.45; }
.teaching-workbench button,.teaching-workbench summary { cursor:pointer; }
.teaching-workbench button:disabled,.teaching-workbench select:disabled { cursor:default; opacity:.65; }
.teaching-workbench button:focus-visible,.teaching-workbench summary:focus-visible,.teaching-workbench select:focus-visible,.teaching-workbench input:focus-visible,.teaching-workbench a:focus-visible { outline:3px solid var(--tw-accent); outline-offset:3px; }
.teaching-workbench .tw-skip-link { position:absolute; left:224px; top:8px; padding:8px 16px; color:var(--tw-ink); background:var(--tw-surface); z-index:30; transform:translateY(-200%); }
.teaching-workbench .tw-skip-link:focus { transform:translateY(0); }
.teaching-workbench .tw-navigation { display:flex; flex-direction:column; min-width:0; min-height:0; padding:24px 16px; border-right:1px solid var(--tw-rule); background:var(--tw-surface); }
.teaching-workbench .tw-brand { display:flex; align-items:center; gap:12px; padding:0 8px 28px; font-size:20px; font-weight:600; }
.teaching-workbench .tw-brand svg { width:40px; height:40px; flex:none; color:var(--tw-accent); }
.teaching-workbench .tw-brand-caption { display:block; font-size:13px; font-weight:400; color:var(--tw-secondary); }
.teaching-workbench .tw-menu { display:grid; gap:4px; }
.teaching-workbench .tw-menu button { display:flex; align-items:center; justify-content:space-between; min-height:44px; padding:10px 12px; border-left:3px solid transparent; text-align:left; color:var(--tw-secondary); background:transparent; }
.teaching-workbench .tw-menu button i { opacity:0; }
.teaching-workbench .tw-menu button[aria-current="page"] { border-left-color:var(--tw-accent); color:var(--tw-ink); background:#f3f4f5; font-weight:600; }
.teaching-workbench .tw-menu button[aria-current="page"] i { opacity:1; }
.teaching-workbench .tw-tools { margin-top:28px; padding:16px 8px; border-top:1px solid var(--tw-rule); }
.teaching-workbench .tw-tools details { position:relative; }
.teaching-workbench .tw-tool-list { position:absolute; left:0; top:44px; z-index:20; width:280px; max-height:var(--tw-tools-max-height,min(480px,calc(100vh - 16px))); overflow-y:auto; overscroll-behavior:contain; padding:16px; border:1px solid var(--tw-rule); border-radius:8px; background:var(--tw-surface); box-shadow:0 8px 24px #1c2b3820; }
.teaching-workbench .tw-tools summary { min-height:44px; padding:10px 0; }
.teaching-workbench .tw-tools button { display:block; width:100%; min-height:44px; padding:10px 4px; text-align:left; color:var(--tw-secondary); }
.teaching-workbench .tw-account { margin-top:auto; padding:16px 8px 0; border-top:1px solid var(--tw-rule); overflow-wrap:anywhere; }
.teaching-workbench .tw-account .tw-button { margin-top:12px; }
.teaching-workbench .tw-workspace { display:grid; grid-template-rows:64px minmax(0,1fr); min-width:0; min-height:0; }
.teaching-workbench .tw-header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:0 32px; border-bottom:1px solid var(--tw-rule); background:var(--tw-surface); }
.teaching-workbench .tw-content { container-type:inline-size; min-width:0; min-height:0; overflow-y:auto; padding:32px; scrollbar-gutter:stable; }
.teaching-workbench [data-tw-read-heading]:focus { outline:3px solid var(--tw-accent); outline-offset:3px; }
.teaching-workbench .tw-content:focus-visible { outline:3px solid var(--tw-accent); outline-offset:-3px; }
.teaching-workbench .tw-content > * { max-width:1520px; margin-left:auto; margin-right:auto; }
.teaching-workbench .tw-page-heading { margin-bottom:24px; }
.teaching-workbench .tw-page-heading p { margin-top:8px; color:var(--tw-secondary); }
.teaching-workbench .tw-meta { font-size:13px; line-height:1.5; color:var(--tw-secondary); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.teaching-workbench .tw-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; flex:none; min-height:44px; padding:10px 16px; border:1px solid var(--tw-rule); border-radius:6px; color:var(--tw-ink); background:var(--tw-surface); white-space:nowrap; }
.teaching-workbench .tw-button:hover:not(:disabled) { border-color:var(--tw-ink); background:#f6f7f8; }
.teaching-workbench .tw-button[aria-pressed="true"] { border-color:var(--tw-accent); color:var(--tw-accent); }
.teaching-workbench .tw-availability { margin-bottom:24px; padding:12px 16px; border-left:3px solid var(--tw-accent); background:var(--tw-surface); }
.teaching-workbench .tw-availability i { margin-right:8px; }
.teaching-workbench .tw-course-selector,.teaching-workbench .tw-filters { display:flex; flex-wrap:wrap; gap:16px; margin-bottom:24px; }
.teaching-workbench .tw-course-selector label { flex:1 1 240px; min-width:0; }
.teaching-workbench label > span { display:block; margin-bottom:8px; font-size:13px; color:var(--tw-secondary); }
.teaching-workbench select,.teaching-workbench input { width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--tw-secondary); border-radius:6px; color:var(--tw-ink); background:var(--tw-surface); }
.teaching-workbench .tw-context-panel { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; padding:24px; border:1px solid var(--tw-rule); border-top:3px solid var(--tw-ink); border-radius:8px; background:var(--tw-surface); }
.teaching-workbench .tw-context-panel h2 { margin:4px 0 8px; overflow-wrap:anywhere; }
.teaching-workbench .tw-context-panel > div { min-width:0; }
.teaching-workbench .tw-mode-choice > div { display:flex; gap:8px; margin-top:8px; }
.teaching-workbench .tw-enrollment { margin-bottom:24px; padding:16px 24px; border:1px solid var(--tw-rule); border-radius:8px; background:var(--tw-surface); }
.teaching-workbench .tw-enrollment h2 { margin-bottom:8px; }
.teaching-workbench .tw-directory { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; gap:24px; }
.teaching-workbench .tw-panel { min-width:0; min-height:0; padding:24px; border:1px solid var(--tw-rule); border-radius:8px; background:var(--tw-surface); }
.teaching-workbench .tw-section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:8px; }
.teaching-workbench .tw-filters { margin-top:24px; }
.teaching-workbench .tw-filters label { flex:1 1 180px; min-width:0; }
.teaching-workbench .tw-rows { padding:0; margin:16px 0 0; list-style:none; }
.teaching-workbench .tw-rows li { display:flex; align-items:center; gap:16px; min-height:80px; padding:16px 0; border-top:1px solid var(--tw-rule); }
.teaching-workbench .tw-row-facts { flex:1; min-width:0; }
.teaching-workbench .tw-row-facts .tw-meta { margin-top:4px; }
.teaching-workbench .tw-rows .tw-selected-row { padding-left:12px; border-left:3px solid var(--tw-accent); }
.teaching-workbench .tw-resource-state { padding:16px 0; color:var(--tw-secondary); }
.teaching-workbench .tw-resource-state p + p { margin-top:8px; }
.teaching-workbench .tw-resource-state .tw-button { margin-top:12px; }
.teaching-workbench .tw-page-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; padding-top:16px; border-top:1px solid var(--tw-rule); }
.teaching-workbench .tw-stage-state h2 { margin-bottom:16px; }
@container (min-width:960px) {
    .teaching-workbench .tw-directory { grid-template-columns:minmax(0,4fr) minmax(0,8fr); }
}

.teaching-workbench input::placeholder { color:var(--tw-secondary); opacity:1; }

/* Desktop task reading: keep the existing editorial shell and native controls. */
.teaching-workbench .tw-read-toolbar,.teaching-workbench .tw-list-heading { display:flex;align-items:center;justify-content:space-between;gap:1rem; }
.teaching-workbench .tw-read-toolbar { margin:1.25rem 0; }
.teaching-workbench .tw-read-columns { display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;align-items:start; }
.teaching-workbench .tw-read-directory,.teaching-workbench .tw-read-detail { min-width:0; }
.teaching-workbench .tw-assignment-list { margin-bottom:1rem; }
.teaching-workbench .tw-local-filter { display:block;font-size:.85rem;margin:.75rem 0; }
.teaching-workbench .tw-local-filter input { display:block;width:100%;margin-top:.4rem;box-sizing:border-box; }
.teaching-workbench .tw-read-rows { list-style:none;padding:0;margin:0; }
.teaching-workbench .tw-read-rows li { display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--tw-rule);padding:1rem 0; }
.teaching-workbench .tw-read-rows li>div { min-width:0; }
.teaching-workbench .tw-read-rows h3 { margin:0 0 .4rem;font-size:1rem;overflow-wrap:anywhere; }
.teaching-workbench .tw-read-rows .tw-button { flex-shrink:0; }
.teaching-workbench .tw-selected-row { border-left:3px solid var(--tw-accent);padding-left:.75rem!important; }
.teaching-workbench .tw-load-more { margin-top:.75rem; }
.teaching-workbench .tw-public-preview h2,.teaching-workbench .tw-public-preview p { overflow-wrap:anywhere; }
.teaching-workbench .tw-public-preview section { border-top:1px solid var(--tw-rule);margin-top:1.25rem;padding-top:.75rem; }
.teaching-workbench .tw-wire-text { white-space:pre-wrap;tab-size:4;line-height:1.75; }
.teaching-workbench .tw-read-identifiers { margin-top:1.25rem;border-top:1px solid var(--tw-rule);padding-top:1rem; }
.teaching-workbench .tw-read-identifiers summary { cursor:pointer; }
.teaching-workbench .tw-digest { font-family:monospace;font-size:.8rem;overflow-wrap:anywhere; }
.teaching-workbench .tw-history-stage { border-top:1px solid var(--tw-rule);padding-top:1rem;margin-top:1.25rem; }

@container (min-width:960px) { .teaching-workbench .tw-read-columns { grid-template-columns:minmax(0,5fr) minmax(0,7fr); } }

/* Desktop submission facts remain inert and within the teaching surface. */
.teaching-workbench .tw-submission-columns { margin-top:1.25rem; }
.teaching-workbench .tw-submission-history,.teaching-workbench .tw-head-facts,.teaching-workbench .tw-subject-selector { margin-bottom:1rem; }
.teaching-workbench .tw-head-facts .tw-button,.teaching-workbench .tw-subject-selector .tw-button { margin-top:.75rem;margin-right:.5rem; }
.teaching-workbench .tw-subject-selector label { display:block; }
.teaching-workbench .tw-subject-selector .tw-meta { margin-top:.5rem; }
.teaching-workbench .tw-submission-facts section { border-top:1px solid var(--tw-rule);margin-top:1rem;padding-top:.75rem; }
.teaching-workbench .tw-submission-content { font-family:monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;margin:.5rem 0 0; }

/* Teacher presentation shares the student desktop navigation and surface treatment. */
.teaching-workbench.teaching-workbench--teacher { --tw-background:#f6f8fa; --tw-ink:#202938; --tw-secondary:#657185; --tw-rule:#e0e5eb; --tw-accent:#c41b22; grid-template-columns:216px minmax(0,1fr); font-family:"PingFang SC","Microsoft YaHei",sans-serif; line-height:1.5; }
.teaching-workbench.teaching-workbench--teacher .tw-navigation { padding:16px 10px; }
.teaching-workbench.teaching-workbench--teacher .tw-teacher-brand { flex-shrink:0; gap:13px; height:48px; margin:0 8px 12px; padding:0; overflow:hidden; }
.teaching-workbench.teaching-workbench--teacher .tw-teacher-seal { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:38px; height:40px; border-radius:3px; background:#c51b23; color:#fff; font-family:"Noto Serif SC","Songti SC",serif; font-size:29px; font-weight:400; line-height:1; }
.teaching-workbench.teaching-workbench--teacher .tw-teacher-brand-name { display:flex; flex-direction:column; color:#111827; font-family:"Noto Serif SC","Songti SC",serif; line-height:1.15; white-space:nowrap; }
.teaching-workbench.teaching-workbench--teacher .tw-teacher-brand-name strong { font-size:23px; letter-spacing:.08em; }
.teaching-workbench.teaching-workbench--teacher .tw-teacher-brand-name small { margin-top:4px; font-size:14px; font-weight:400; letter-spacing:.02em; }
.teaching-workbench.teaching-workbench--teacher .tw-navigation-collapse { display:flex; align-items:center; gap:9px; flex-shrink:0; width:100%; min-height:34px; padding:6px 12px; margin-bottom:10px; border:1px solid #e5e9ef; border-radius:5px; background:#fff; color:#647084; font-size:12px; }
.teaching-workbench.teaching-workbench--teacher .tw-navigation-collapse i { font-size:19px; }
.teaching-workbench.teaching-workbench--teacher .tw-navigation-collapse:hover { background:#f5f7f9; color:#1f2937; }
.teaching-workbench.teaching-workbench--teacher .tw-menu { min-height:0; flex-shrink:0; gap:4px; }
.teaching-workbench.teaching-workbench--teacher .tw-menu button { justify-content:flex-start; gap:14px; height:42px; min-height:42px; padding:0 14px; border:0; border-radius:4px; background:transparent; color:#354052; font-size:15px; font-weight:500; }
.teaching-workbench.teaching-workbench--teacher .tw-menu button i { opacity:1; flex-shrink:0; font-size:23px; }
.teaching-workbench.teaching-workbench--teacher .tw-menu button span { white-space:nowrap; }
.teaching-workbench.teaching-workbench--teacher .tw-menu button:hover { background:#f5f7f9; color:#111827; }
.teaching-workbench.teaching-workbench--teacher .tw-menu button[aria-current="page"] { background:#fdf0f1; color:#bc1820; box-shadow:inset 3px 0 0 #c41b22; }
.teaching-workbench.teaching-workbench--teacher .tw-tools { margin-top:10px; padding:8px 0; }
.teaching-workbench.teaching-workbench--teacher .tw-tools summary { display:flex; align-items:center; gap:14px; min-height:42px; padding:0 14px; border-radius:4px; color:#354052; font-size:15px; list-style:none; }
.teaching-workbench.teaching-workbench--teacher .tw-tools summary::-webkit-details-marker { display:none; }
.teaching-workbench.teaching-workbench--teacher .tw-tools summary:hover { background:#f5f7f9; }
.teaching-workbench.teaching-workbench--teacher .tw-tools summary i:first-child { flex-shrink:0; font-size:23px; }
.teaching-workbench.teaching-workbench--teacher .tw-tools summary i:last-child { margin-left:auto; font-size:15px; }
.teaching-workbench.teaching-workbench--teacher .tw-tools button { display:flex; align-items:center; gap:12px; border-radius:4px; font-size:15px; }
.teaching-workbench.teaching-workbench--teacher .tw-tools button i { flex-shrink:0; font-size:23px; }
.teaching-workbench.teaching-workbench--teacher .tw-tools button:hover { background:#f5f7f9; }
.teaching-workbench.teaching-workbench--teacher .tw-teacher-account { position:relative; flex-shrink:0; padding:12px 4px 0; border-color:#e4e9f0; }
.teaching-workbench.teaching-workbench--teacher .tw-teacher-user { display:flex; align-items:center; gap:11px; width:100%; padding:4px; border:0; background:transparent; color:#374151; text-align:left; }
.teaching-workbench.teaching-workbench--teacher .tw-teacher-avatar { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:36px; height:36px; border:1px solid var(--tw-rule); border-radius:50%; background:#edf1f5; color:#556174; font-size:14px; font-weight:600; }
.teaching-workbench.teaching-workbench--teacher .tw-teacher-user-name { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
.teaching-workbench.teaching-workbench--teacher .tw-teacher-user-caret { flex-shrink:0; font-size:15px; }
.teaching-workbench.teaching-workbench--teacher .tw-teacher-logout { position:absolute; left:0; bottom:100%; z-index:20; display:flex; align-items:center; gap:9px; width:188px; min-height:40px; padding:8px 12px; border:1px solid var(--tw-rule); border-radius:6px; background:#fff; color:#354052; visibility:hidden; opacity:0; }
.teaching-workbench.teaching-workbench--teacher .tw-teacher-account:hover .tw-teacher-logout,.teaching-workbench.teaching-workbench--teacher .tw-teacher-account:focus-within .tw-teacher-logout { visibility:visible; opacity:1; }
.teaching-workbench.teaching-workbench--teacher .tw-teacher-logout:hover { background:#f1f4f8; }
.teaching-workbench.teaching-workbench--teacher .tw-header { padding:0 28px; color:#657185; font-size:14px; }
.teaching-workbench.teaching-workbench--teacher .tw-content { padding:30px 28px 22px; }
.teaching-workbench.teaching-workbench--teacher .tw-content > * { max-width:1680px; }
.teaching-workbench.teaching-workbench--teacher .tw-page-heading h1 { font-size:36px; font-weight:700; letter-spacing:.02em; color:#111827; }
.teaching-workbench.teaching-workbench--teacher h2 { font-family:"Noto Serif SC","Songti SC",serif; font-size:21px; font-weight:700; color:#111827; }
.teaching-workbench.teaching-workbench--teacher .tw-button { min-height:36px; padding:6px 14px; border-color:#bfc7d1; border-radius:5px; color:#273244; font-size:14px; font-weight:500; }
.teaching-workbench.teaching-workbench--teacher .tw-button:hover:not(:disabled) { border-color:#687588; background:#f6f8fa; }
.teaching-workbench.teaching-workbench--teacher .tw-button[aria-pressed="true"] { border-color:var(--tw-accent); color:var(--tw-accent); background:#fdf0f1; }
.teaching-workbench.teaching-workbench--teacher .tw-context-panel { border-top:1px solid var(--tw-rule); }
.teaching-workbench.teaching-workbench--teacher .tw-panel { padding:20px 22px; }
.teaching-workbench.teaching-workbench--teacher .tw-availability { border:1px solid var(--tw-rule); border-left:3px solid var(--tw-accent); border-radius:6px; }
.teaching-workbench.teaching-workbench--navigation-collapsed { grid-template-columns:68px minmax(0,1fr); }
.teaching-workbench.teaching-workbench--navigation-collapsed .tw-navigation { padding-right:6px; padding-left:6px; }
.teaching-workbench.teaching-workbench--navigation-collapsed .tw-teacher-brand { margin-right:9px; margin-left:9px; }
.teaching-workbench.teaching-workbench--navigation-collapsed .tw-teacher-brand-name,.teaching-workbench.teaching-workbench--navigation-collapsed .tw-navigation-collapse span,.teaching-workbench.teaching-workbench--navigation-collapsed .tw-menu button span,.teaching-workbench.teaching-workbench--navigation-collapsed .tw-tools summary span,.teaching-workbench.teaching-workbench--navigation-collapsed .tw-tools summary i:last-child,.teaching-workbench.teaching-workbench--navigation-collapsed .tw-teacher-user-name,.teaching-workbench.teaching-workbench--navigation-collapsed .tw-teacher-user-caret { display:none; }
.teaching-workbench.teaching-workbench--navigation-collapsed .tw-navigation-collapse,.teaching-workbench.teaching-workbench--navigation-collapsed .tw-menu button,.teaching-workbench.teaching-workbench--navigation-collapsed .tw-tools summary,.teaching-workbench.teaching-workbench--navigation-collapsed .tw-teacher-user { justify-content:center; padding-right:0; padding-left:0; }
.teaching-workbench.teaching-workbench--navigation-collapsed .tw-skip-link { left:84px; }
