.schedule-editor { display:flex; flex-direction:column; gap:16px; }
.schedule-editor-toolbar, .schedule-editor-settings, .schedule-workspace { background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 8px 24px rgba(15,23,42,.05); }
.schedule-editor-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 18px; }
.schedule-editor-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.schedule-editor-side { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.schedule-front-link { color:var(--ink-3); font-size:13px; font-weight:700; text-decoration:none; white-space:nowrap; transition:color .18s ease; }
.schedule-front-link:hover { color:var(--primary); text-decoration:underline; }
.schedule-save-state { display:inline-flex; align-items:center; min-height:28px; padding:5px 10px; color:var(--ink-3); font-size:12px; font-weight:700; background:#f7f9fc; border-radius:999px; }
.schedule-save-state.is-dirty { color:#9a531a; background:#fff4e8; }
.schedule-save-state.is-saving { color:#315d9c; background:#edf5ff; }
.schedule-save-state.is-saved { color:#28734d; background:#ecf9f1; }
.schedule-save-state.is-error { color:#a53b32; background:#fff0ee; }

.schedule-workspace { display:grid; grid-template-columns:240px minmax(0,1fr); align-items:start; min-width:0; overflow:visible; }
.schedule-bank { position:sticky; top:16px; max-height:calc(100vh - 40px); overflow:hidden; border-right:1px solid var(--line); }
.schedule-bank-head { padding:16px; border-bottom:1px solid var(--line); }
.schedule-bank-head h4 { margin:0; color:var(--ink); font-size:15px; }
.schedule-bank-head p { margin:5px 0 10px; color:var(--ink-3); font-size:12px; line-height:1.55; }
.schedule-bank-switch { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 0 12px; padding:10px 11px; cursor:pointer; background:#f7f9fc; border:1px solid var(--line); border-radius:9px; }
.schedule-bank-switch > span { display:flex; flex-direction:column; gap:2px; min-width:0; }
.schedule-bank-switch strong { color:var(--ink); font-size:11px; }
.schedule-bank-switch small { color:var(--ink-3); font-size:9px; }
.schedule-bank-switch input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.schedule-bank-switch i { position:relative; flex:0 0 auto; width:38px; height:22px; background:#c8d0da; border-radius:999px; transition:background .18s ease; }
.schedule-bank-switch i::after { position:absolute; top:3px; left:3px; width:16px; height:16px; content:""; background:#fff; border-radius:50%; box-shadow:0 1px 4px rgba(15,23,42,.24); transition:transform .18s ease; }
.schedule-bank-switch input:checked + i { background:var(--primary); }
.schedule-bank-switch input:checked + i::after { transform:translateX(16px); }
.schedule-bank-switch input:focus-visible + i { outline:3px solid rgba(255,107,53,.22); outline-offset:2px; }
.schedule-toolbar-switch { margin:0; padding:5px 8px 5px 12px; border-radius:999px; }
.schedule-toolbar-switch strong { font-size:12px; white-space:nowrap; }
.schedule-bank-search { width:100%; min-height:42px; padding:9px 11px; border:1px solid var(--line); border-radius:9px; }
.schedule-talk-list { display:flex; flex-direction:column; gap:10px; max-height:calc(100vh - 220px); padding:12px; overflow:auto; }
.schedule-talk-card { padding:12px; cursor:grab; background:#fbfcfe; border:1px solid #e3e8ef; border-radius:10px; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.schedule-talk-card:hover { border-color:rgba(255,107,53,.48); box-shadow:0 7px 18px rgba(15,23,42,.08); transform:translateY(-1px); }
.schedule-talk-card.is-chosen { background:#fff7f1; border-color:var(--primary); box-shadow:0 0 0 3px rgba(255,107,53,.13); }
.schedule-talk-card:focus-visible { outline:3px solid rgba(37,99,235,.28); outline-offset:2px; }
.schedule-topic-card { padding:13px; cursor:grab; background:#fbfcfe; border:1px solid #e3e8ef; border-radius:10px; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.schedule-topic-card:hover { border-color:rgba(255,107,53,.48); box-shadow:0 7px 18px rgba(15,23,42,.08); transform:translateY(-1px); }
.schedule-topic-card.is-chosen { background:#fff7f1; border-color:var(--primary); box-shadow:0 0 0 3px rgba(255,107,53,.13); }
.schedule-topic-card:focus-visible { outline:3px solid rgba(37,99,235,.28); outline-offset:2px; }
.schedule-topic-card-top { display:flex; justify-content:space-between; gap:8px; color:var(--primary); font-size:10px; font-weight:800; }
.schedule-topic-card > strong { display:block; margin-top:7px; color:var(--ink); font-size:14px; line-height:1.4; }
.schedule-topic-card > small { display:block; margin-top:6px; color:var(--ink-3); font-size:11px; }
.schedule-topic-speakers { margin-top:6px; color:var(--ink-3); font-size:11px; line-height:1.5; }
.schedule-talk-card-top { display:flex; justify-content:space-between; gap:8px; }
.schedule-talk-topic { color:var(--primary); font-size:11px; font-weight:800; }
.schedule-talk-chosen { color:var(--ink-3); font-size:10px; font-weight:700; }
.schedule-talk-title { margin-top:5px; color:var(--ink); font-size:13px; font-weight:800; line-height:1.45; }
.schedule-talk-speaker { margin-top:5px; color:var(--ink-3); font-size:12px; line-height:1.4; }
.schedule-duration-choice, .schedule-grid-session-actions { display:flex; gap:5px; margin-top:9px; }
.schedule-duration-choice button, .schedule-grid-session-actions button { min-height:30px; padding:4px 8px; color:var(--ink-3); font-size:10px; font-weight:800; cursor:pointer; background:#fff; border:1px solid var(--line); border-radius:7px; }
.schedule-duration-choice button.is-active, .schedule-grid-session-actions button.is-active { color:#fff; background:var(--primary); border-color:var(--primary); }
.schedule-bank-empty { padding:36px 14px; color:var(--ink-3); font-size:13px; line-height:1.6; text-align:center; }

.schedule-board-panel { min-width:0; }
.schedule-board-scroll { overflow:auto; max-height:none; overscroll-behavior-x:contain; overscroll-behavior-y:auto; }
.schedule-grid-selection { position:sticky; z-index:12; top:0; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:48px; padding:8px 14px; color:var(--ink-3); background:#fff; border-bottom:1px solid var(--line); }
.schedule-grid-selection.is-active { color:#8a4d24; background:#fff7f1; }
.schedule-grid-selection span { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.schedule-add-venue-button { flex:0 0 auto; min-height:34px; padding:6px 10px; cursor:pointer; color:var(--primary); font-size:12px; font-weight:800; background:#fff8f2; border:1px solid rgba(255,107,53,.3); border-radius:7px; }
.schedule-add-venue-button:hover { background:#fff1e8; border-color:rgba(255,107,53,.5); }

.schedule-edit-table { width:max-content; min-width:100%; border-collapse:separate; border-spacing:0; table-layout:fixed; }
.schedule-edit-table th, .schedule-edit-table td { border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.schedule-edit-table thead th { position:sticky; z-index:10; top:0; min-width:230px; height:58px; padding:9px 10px; overflow:visible; color:var(--ink); background:#fff6ef; }
/* 仅当选中专题、顶部出现提示栏时表头才下移 48px，否则贴顶，避免压住第一行。 */
.schedule-board-scroll.has-selection .schedule-edit-table thead th { top:48px; }
.schedule-edit-table .schedule-time-head { left:0; z-index:11; width:218px; min-width:218px; text-align:left; }
.schedule-venue-head { position:relative; display:flex; align-items:center; gap:6px; }
.schedule-venue-input { flex:1; width:auto; min-width:0; min-height:36px; padding:6px 9px; color:var(--ink); font-size:13px; font-weight:800; text-align:center; background:rgba(255,255,255,.9); border:1px solid rgba(255,107,53,.2); border-radius:7px; }
.schedule-venue-menu { position:relative; flex:0 0 auto; }
.schedule-venue-menu summary { display:grid; place-items:center; width:36px; height:36px; cursor:pointer; list-style:none; color:var(--ink-3); background:#fff; border:1px solid rgba(255,107,53,.2); border-radius:7px; }
.schedule-venue-menu summary::-webkit-details-marker { display:none; }
.schedule-venue-menu summary:hover, .schedule-venue-menu[open] summary { color:var(--primary); background:#fff9f5; border-color:rgba(255,107,53,.38); }
.schedule-venue-menu summary:focus-visible { outline:3px solid rgba(255,107,53,.2); outline-offset:2px; }
.schedule-venue-menu summary svg { width:18px; height:18px; fill:currentColor; }
.schedule-venue-menu-panel { position:absolute; z-index:30; top:calc(100% + 6px); right:0; display:flex; flex-direction:column; min-width:116px; padding:5px; background:#fff; border:1px solid var(--line); border-radius:8px; box-shadow:0 12px 28px rgba(15,23,42,.14); }
.schedule-venue-menu-panel button { min-height:34px; padding:7px 10px; cursor:pointer; color:var(--ink-2); font-size:12px; text-align:left; background:transparent; border:0; border-radius:6px; }
.schedule-venue-menu-panel button:hover { color:var(--primary); background:#fff7f1; }
.schedule-venue-menu-panel button:disabled { cursor:default; opacity:.35; }
.schedule-venue-menu-panel button.is-danger { color:#b42318; }
.schedule-venue-menu-panel button.is-danger:hover { background:#fff1f0; }

.schedule-table-row { min-height:104px; background:#fff; }
.schedule-table-row.is-dragging { opacity:.5; }
.schedule-table-row.is-drop-target > td { box-shadow:inset 0 3px 0 var(--primary); }
.schedule-time-cell { position:sticky; z-index:5; left:0; width:218px; min-width:218px; padding:8px; overflow:visible; background:#fbfcfe; }
.schedule-time-cell:focus-within, .schedule-time-cell:has(.schedule-row-menu[open]) { z-index:40; }
.schedule-time-main { display:grid; grid-template-columns:28px minmax(0,1fr) 36px; align-items:center; gap:6px; }
.schedule-time-range { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 5px; align-items:center; min-width:0; }
.schedule-time-range input { width:100%; min-width:0; min-height:36px; padding:5px 6px; color:var(--ink); font-size:12px; font-weight:800; font-variant-numeric:tabular-nums; background:#fff; border:1px solid var(--line); border-radius:7px; }
.schedule-time-range span { grid-column:2; grid-row:1 / span 2; color:var(--ink-3); font-size:10px; }
.schedule-row-handle { display:grid; place-items:center; width:28px; height:44px; cursor:grab; color:#98a2b3; background:transparent; border:0; border-radius:6px; }
.schedule-row-handle:hover { color:var(--ink); background:#eef2f6; }
.schedule-row-handle svg { width:18px; height:18px; fill:currentColor; }
.schedule-row-menu { position:relative; }
.schedule-row-menu summary { display:grid; place-items:center; width:36px; height:44px; cursor:pointer; list-style:none; color:#98a2b3; background:transparent; border:0; border-radius:7px; }
.schedule-row-menu summary::-webkit-details-marker { display:none; }
.schedule-row-menu summary:hover, .schedule-row-menu[open] summary { color:var(--primary); background:#fff1e8; }
.schedule-row-menu summary:focus-visible, .schedule-row-handle:focus-visible { outline:3px solid rgba(255,107,53,.2); outline-offset:2px; }
.schedule-row-menu summary svg { width:18px; height:18px; fill:currentColor; }
.schedule-row-menu-panel { position:absolute; z-index:30; top:calc(100% + 4px); left:auto; right:0; display:flex; flex-direction:column; min-width:142px; padding:5px; background:#fff; border:1px solid var(--line); border-radius:8px; box-shadow:0 12px 28px rgba(15,23,42,.14); }
.schedule-row-menu-panel button { min-height:36px; padding:7px 10px; cursor:pointer; color:var(--ink-2); font-size:12px; text-align:left; background:transparent; border:0; border-radius:6px; }
.schedule-row-menu-panel button:hover { color:var(--primary); background:#fff7f1; }
.schedule-row-menu-panel button:disabled { cursor:default; opacity:.35; }
.schedule-row-menu-panel button.is-danger { color:#b42318; }
.schedule-row-menu-panel button.is-danger:hover { background:#fff1f0; }
.schedule-cell { position:relative; min-width:230px; height:104px; padding:7px; vertical-align:top; background:#fff; }
.schedule-cell.can-add { cursor:pointer; }
.schedule-cell.can-add:hover, .schedule-cell.is-drop-target { background:#fff7f1; box-shadow:inset 0 0 0 2px rgba(255,107,53,.38); }
.schedule-cell-hint { position:absolute; right:8px; bottom:7px; color:#9a5a31; font-size:10px; font-weight:800; opacity:0; pointer-events:none; }
.schedule-cell:hover .schedule-cell-hint, .schedule-cell.is-drop-target .schedule-cell-hint { opacity:1; }
.schedule-cell-session { position:relative; min-height:48px; padding:8px 9px; cursor:grab; color:var(--ink); background:#fff7f1; border:1px solid rgba(255,107,53,.3); border-left:4px solid var(--primary); border-radius:8px; box-shadow:0 3px 10px rgba(15,23,42,.05); }
.schedule-cell-session + .schedule-cell-session { margin-top:6px; }
.schedule-cell-session.is-dragging { opacity:.5; }
.schedule-cell-session-top { display:flex; justify-content:space-between; gap:8px; color:#925025; font-size:10px; font-weight:800; }
.schedule-cell-session > strong { display:block; margin-top:4px; font-size:12px; line-height:1.35; }
.schedule-cell-session > small { display:block; margin-top:3px; overflow:hidden; color:var(--ink-3); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.schedule-grid-session-actions { position:absolute; z-index:3; right:5px; bottom:5px; left:5px; margin:0; padding:4px; opacity:0; background:rgba(255,255,255,.97); border:1px solid rgba(255,107,53,.2); border-radius:7px; box-shadow:0 5px 14px rgba(15,23,42,.1); transition:opacity .18s ease; }
.schedule-cell-session:hover .schedule-grid-session-actions, .schedule-cell-session:focus-within .schedule-grid-session-actions { opacity:1; }
.schedule-grid-session-actions button:last-child { margin-left:auto; }
.schedule-break-row { height:104px; padding:18px; text-align:center; vertical-align:middle; color:var(--ink-3); background:repeating-linear-gradient(135deg,#f5f7fa,#f5f7fa 12px,#edf1f5 12px,#edf1f5 24px); }
.schedule-break-row input { width:min(260px,90%); min-height:44px; padding:8px 12px; color:var(--ink); font-size:15px; font-weight:800; text-align:center; background:rgba(255,255,255,.92); border:1px solid #d9e0e8; border-radius:8px; }
.schedule-roundtable-cell { padding:12px; background:#fffdfb; }
.schedule-roundtable-bar { display:flex; align-items:center; gap:10px; min-height:48px; padding:8px 12px; background:#fff; border:1px dashed rgba(255,107,53,.42); border-radius:10px; }
.schedule-roundtable-fields { display:flex; flex-direction:column; flex:1; gap:6px; min-width:0; }
.schedule-roundtable-title { min-width:0; min-height:32px; padding:5px 10px; color:var(--ink); font-size:13px; font-weight:800; background:rgba(255,255,255,.9); border:1px solid rgba(255,107,53,.2); border-radius:7px; }
.schedule-roundtable-speakers { min-width:0; min-height:30px; padding:4px 10px; color:var(--ink-2); font-size:12px; font-weight:600; background:rgba(255,255,255,.9); border:1px solid rgba(255,107,53,.16); border-radius:7px; }
.schedule-roundtable-speakers::placeholder { color:var(--ink-3); font-weight:500; opacity:.75; }
.schedule-roundtable-remove { flex:0 0 auto; min-height:32px; padding:5px 10px; cursor:pointer; color:#b42318; font-size:11px; font-weight:800; background:#fff; border:1px solid #f1d1cd; border-radius:7px; }
.schedule-roundtable-remove:hover { background:#fff1f0; }
.schedule-add-row-button { display:block; width:calc(100% - 24px); min-height:44px; margin:12px; color:#8a4d24; font-size:12px; font-weight:800; cursor:pointer; background:#fff8f2; border:1px dashed rgba(255,107,53,.48); border-radius:9px; }
.schedule-add-venue-inline { position:sticky; z-index:9; left:12px; display:flex; align-items:center; gap:8px; width:max-content; margin:10px 12px; padding:8px 10px; background:#fff; border:1px solid var(--line); border-radius:9px; box-shadow:0 8px 20px rgba(15,23,42,.08); }
.schedule-add-venue-inline label { color:var(--ink); font-size:12px; font-weight:800; }
.schedule-add-venue-inline input { min-height:38px; padding:7px 9px; border:1px solid var(--line); border-radius:7px; }
.schedule-add-venue-inline button { min-height:38px; padding:7px 12px; cursor:pointer; background:#fff; border:1px solid var(--line); border-radius:7px; }

.schedule-topic-table .schedule-time-head, .schedule-topic-table .schedule-time-cell { width:112px; min-width:112px; max-width:112px; }
.schedule-topic-table .schedule-time-head { text-align:center; }
.schedule-period-time { padding:14px 6px; text-align:center; vertical-align:top; }
.schedule-period-time strong { display:block; color:var(--ink); font-size:14px; }
.schedule-period-time > span { display:block; margin-top:6px; color:var(--ink-3); font-size:10px; font-variant-numeric:tabular-nums; line-height:1.5; }
.schedule-period-time-sep { display:block; margin:4px 0 0; color:var(--ink-3); font-size:10px; font-style:normal; line-height:1; }
.schedule-period-time-input { display:block; box-sizing:border-box; width:100%; max-width:86px; margin:6px auto 0; min-height:26px; padding:4px 6px; color:var(--ink-2); font-size:11px; font-weight:700; text-align:center; font-variant-numeric:tabular-nums; background:rgba(255,255,255,.9); border:1px solid rgba(255,107,53,.2); border-radius:6px; }
.schedule-period-time-input:hover { border-color:rgba(255,107,53,.5); }
.schedule-period-time-input:focus { color:var(--ink); outline:2px solid rgba(255,107,53,.28); outline-offset:1px; }
.schedule-topic-cell { min-width:280px; height:auto; min-height:180px; padding:9px; }
.schedule-topic-cell-empty { display:grid; place-items:center; min-height:150px; color:#9a5a31; font-size:12px; font-weight:800; border:1px dashed rgba(255,107,53,.34); border-radius:10px; }
.schedule-topic-block { padding:10px; background:#fffaf6; border:1px solid rgba(255,107,53,.3); border-radius:11px; box-shadow:0 5px 14px rgba(15,23,42,.05); }
.schedule-topic-block > header { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:2px 2px 9px; }
.schedule-topic-block > header span { display:block; color:var(--primary); font-size:10px; font-weight:800; }
.schedule-topic-block > header strong { display:block; margin-top:3px; color:var(--ink); font-size:13px; line-height:1.4; }
.schedule-topic-block-actions { display:flex; align-items:center; gap:7px; }
.schedule-topic-block > header .schedule-topic-remove { min-height:32px; padding:5px 8px; cursor:pointer; color:#b42318; font-size:10px; font-weight:800; background:#fff; border:1px solid #f1d1cd; border-radius:7px; }
.schedule-topic-duration { display:inline-flex; padding:2px; background:#f2f4f7; border:1px solid var(--line); border-radius:8px; }
.schedule-topic-duration button { min-height:30px; padding:4px 8px; cursor:pointer; color:var(--ink-3); font-size:10px; font-weight:800; background:transparent; border:0; border-radius:6px; }
.schedule-topic-duration button.is-active { color:#fff; background:var(--primary); }
.schedule-topic-card .schedule-topic-duration { margin-top:9px; }
.schedule-topic-duration-summary { color:var(--ink-3) !important; font-size:10px; font-weight:800; white-space:nowrap; }
.schedule-topic-session-list { display:flex; flex-direction:column; gap:7px; }
.schedule-topic-session { position:relative; padding:8px; cursor:grab; background:#fff; border:1px solid var(--line); border-radius:8px; transition:border-color .16s ease,box-shadow .16s ease,opacity .16s ease; }
.schedule-topic-session:hover { border-color:rgba(255,107,53,.38); box-shadow:0 4px 11px rgba(15,23,42,.06); }
.schedule-topic-session.is-dragging { opacity:.45; }
.schedule-topic-session.is-insert-before { border-color:rgba(255,107,53,.45); box-shadow:0 5px 13px rgba(255,107,53,.12); }
.schedule-topic-session.is-insert-before::before { position:absolute; z-index:2; top:-5px; right:-1px; left:-1px; height:3px; content:""; background:var(--primary); border-radius:999px; box-shadow:0 0 0 2px #fff; }
.schedule-topic-insert-label { position:absolute; z-index:3; top:-21px; left:8px; display:none; padding:2px 7px; color:#fff; font-size:9px; font-weight:800; line-height:1.5; background:var(--primary); border-radius:5px 5px 5px 0; pointer-events:none; }
.schedule-topic-session.is-insert-before .schedule-topic-insert-label { display:block; }
.schedule-topic-session-main { display:grid; grid-template-columns:20px minmax(0,1fr); gap:6px; }
.schedule-topic-talk-handle { display:grid; place-items:center; width:20px; height:34px; color:#98a2b3; }
.schedule-topic-talk-handle svg { width:17px; height:17px; fill:currentColor; }
.schedule-topic-session-time { color:#925025; font-size:10px; font-weight:800; font-variant-numeric:tabular-nums; }
.schedule-topic-session strong { display:block; margin-top:3px; color:var(--ink); font-size:11px; line-height:1.4; }
.schedule-topic-session small { display:block; margin-top:3px; color:var(--ink-3); font-size:10px; line-height:1.4; }
.schedule-topic-session.is-pending { background:#f8fafc; border-style:dashed; }
.schedule-topic-session.is-pending strong { color:var(--ink-3); font-weight:700; }
.schedule-topic-break { display:flex; align-items:center; gap:7px; color:#8a6a55; font-size:10px; font-weight:800; }
.schedule-topic-break::before, .schedule-topic-break::after { flex:1; height:1px; content:""; background:#eaded5; }
.schedule-topic-continuation { padding:20px 10px; color:var(--ink-3); font-size:11px; text-align:center; }
.schedule-topic-table .schedule-break-row { height:72px; padding:12px; }

@media (max-width:1080px) {
  .schedule-workspace { grid-template-columns:1fr; }
  .schedule-bank { position:static; max-height:none; border-right:0; border-bottom:1px solid var(--line); }
  .schedule-talk-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-height:340px; }
}

@media (max-width:700px) {
  .schedule-editor-toolbar { align-items:flex-start; flex-direction:column; }
  .schedule-editor-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
  .schedule-save-state { grid-column:1 / -1; justify-self:start; }
  .schedule-toolbar-switch { grid-column:1 / -1; }
  .schedule-editor-side { width:100%; }
  .schedule-editor-side .schedule-add-venue-button { flex:1; min-height:44px; }
  .schedule-front-link { display:inline-flex; flex:1; align-items:center; justify-content:center; min-height:44px; }
  .schedule-talk-list { grid-template-columns:1fr; }
  .schedule-topic-block > header { flex-direction:column; }
  .schedule-topic-block-actions { justify-content:space-between; width:100%; }
  .schedule-topic-duration button { min-width:72px; min-height:44px; }
  .schedule-grid-selection { align-items:flex-start; flex-direction:column; gap:4px; }
  .schedule-grid-selection span { white-space:normal; }
  .schedule-board-scroll.has-selection .schedule-edit-table thead th { top:76px; }
  .schedule-time-main { grid-template-columns:32px minmax(0,1fr) 44px; }
  .schedule-row-menu summary { width:44px; }
}

@media (prefers-reduced-motion:reduce) {
  .schedule-talk-card, .schedule-topic-card, .schedule-topic-session, .schedule-grid-session-actions { transition:none; }
}
