/* 上课模式：中性色、不发光（不用任何阴影或外发光），浮卡贴黑板边缘，不占黑板中央。 */
#lecture-bar{position:fixed;z-index:var(--layer-stack-85);display:flex;align-items:center;gap:10px;max-width:calc(100vw - 24px);box-sizing:border-box;padding:6px var(--space-2) 6px var(--space-3);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:999px;font:13px/1.4 Inter,"PingFang SC",sans-serif}
#lecture-bar[hidden],#lecture-cards:empty{display:none!important}
#lecture-state{font-weight:600;white-space:nowrap}#lecture-time{font-variant-numeric:tabular-nums;color:var(--muted)}
#lecture-heard{min-width:0;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
#lecture-level{display:inline-flex;align-items:flex-end;width:10px;height:14px;border:1px solid var(--line);border-radius:3px;overflow:hidden}
#lecture-level i{display:block;width:100%;height:calc(var(--level,0) * 100%);background:var(--muted);transition:height 80ms linear}
#lecture-bar[data-paused] #lecture-level i{height:0}
#lecture-bar button,#lecture-summary button,.lecture-card button{min-height:32px;padding:var(--space-1) var(--space-3);border:1px solid var(--line);border-radius:999px;background:transparent;color:inherit;font:inherit;cursor:pointer;white-space:nowrap}
#lecture-bar button:focus-visible,.lecture-card:focus-visible,.lecture-card button:focus-visible,#lecture-summary button:focus-visible,#lecture-toolbar-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
#lecture-toolbar-btn{color:inherit;background:transparent;border:0;border-radius:12px;cursor:pointer}
#lecture-toolbar-btn[aria-pressed=true]{color:var(--ink)!important;background:var(--line)!important}

#lecture-cards{position:fixed;z-index:var(--layer-stack-84);display:flex;flex-direction:column;gap:var(--space-2);width:260px;pointer-events:none}
#lecture-cards[data-layout=top]{flex-direction:row;overflow-x:auto;overscroll-behavior:contain;scrollbar-width:none;padding-bottom:2px}
#lecture-cards[data-layout=top] .lecture-card,#lecture-cards[data-layout=bottom] .lecture-card{flex:0 0 min(240px,78vw)}
/* 手机且 3D 标注面板打开：浮卡贴黑板下边缘、压缩成一行（标题 + 按钮），不挡面板也不挡中央。 */
#lecture-cards[data-layout=bottom]{flex-direction:row;overflow-x:auto;overscroll-behavior:contain;scrollbar-width:none}
#lecture-cards[data-layout=bottom] .lecture-card-preview,#lecture-cards[data-layout=bottom] .lecture-quote{display:none}
#lecture-cards[data-layout=bottom] .lecture-card footer{margin-top:6px}
.lecture-card{position:relative;pointer-events:auto;box-sizing:border-box;padding:10px var(--space-3) var(--space-3);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;font:13px/1.45 Inter,"PingFang SC",sans-serif;cursor:pointer;overflow:hidden;transition:opacity .4s ease,transform .4s ease}
.lecture-card header{display:flex;align-items:center;gap:6px;min-width:0}
.lecture-chip{flex:none;font-size:11px;padding:1px 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted)}
.lecture-label{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lecture-conf{flex:none;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.lecture-card-preview{display:flex;align-items:center;justify-content:center;min-height:44px;max-height:72px;margin:var(--space-2) 0 6px;overflow:hidden;font:12px/1.3 ui-monospace,Menlo,monospace;color:var(--ink)}
.lecture-card-preview.is-tex{font:inherit}.lecture-card-preview svg{max-width:100%;max-height:64px;height:auto;color:var(--ink)!important}
.lecture-quote{margin:0 0 var(--space-2);font-size:12px;color:var(--muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.lecture-card footer{display:flex;gap:6px}.lecture-card .lecture-place{flex:1}.lecture-card .lecture-close{flex:none;width:32px;padding:0}
/* 10 秒淡出的倒计时条（中性灰，暂停 / 悬停时停住）。 */
.lecture-timer{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--muted);opacity:.45;transform-origin:left center;transform:scaleX(1)}
.lecture-card.is-running .lecture-timer{transition:transform var(--card-ms,10000ms) linear;transform:scaleX(0)}
.lecture-card.is-held .lecture-timer{transition:none}
.lecture-card.is-fading{opacity:0;transform:translateX(8px)}
#lecture-cards[data-layout=top] .lecture-card.is-fading{transform:translateY(-8px)}#lecture-cards[data-layout=bottom] .lecture-card.is-fading{transform:translateY(8px)}
.lecture-card.is-busy{opacity:.6;cursor:progress}
.lecture-card.is-placed{display:flex;align-items:center;gap:var(--space-2);cursor:default;align-self:flex-start}.lecture-card-preview img{max-height:60px;width:auto;border-radius:6px}.lecture-placed{margin:0;flex:1;color:var(--muted)}

#lecture-summary{width:min(560px,calc(100vw - 32px));max-height:min(80vh,640px);box-sizing:border-box;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);font:14px/1.5 Inter,"PingFang SC",sans-serif}
#lecture-summary::backdrop{background:#0006}
#lecture-summary h2{margin:0 0 var(--space-1);font-size:17px}#lecture-summary-note{margin:0 0 var(--space-3);color:var(--muted);font-size:13px}
#lecture-timeline{list-style:none;margin:0 0 var(--space-3);padding:0;max-height:52vh;overflow:auto}
#lecture-timeline li{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:var(--space-1) var(--space-2);padding:var(--space-2) 0;border-top:1px solid var(--line)}
#lecture-timeline li time{font-variant-numeric:tabular-nums;color:var(--muted)}
#lecture-timeline li q{grid-column:2/4;font-size:12px;color:var(--muted);overflow-wrap:anywhere}
#lecture-timeline li button{grid-row:1/3;grid-column:4}
#lecture-timeline li[data-undone=true] strong{text-decoration:line-through;color:var(--muted)}
#lecture-summary form{display:flex;justify-content:flex-end}
/* 系统提示（麦克风被拒、服务不可用、静音 5 分钟提示）：换到第二行显示，暂停按钮加深边框（不发光）。 */
#lecture-bar[data-idle] #lecture-pause{border-color:var(--ink)}
@media(max-width:767px){#lecture-bar{gap:6px;padding:var(--space-1) 6px var(--space-1) 10px;font-size:12px}#lecture-heard{display:none}#lecture-bar button,.lecture-card button,#lecture-summary button{min-height:40px}
 #lecture-bar[data-notice]{flex-wrap:wrap;border-radius:16px;width:calc(100vw - 24px)}#lecture-bar[data-notice] #lecture-heard{display:block;order:9;flex-basis:100%;max-width:none;white-space:normal;padding:0 2px 2px}}
@media(prefers-reduced-motion:reduce){.lecture-card,.lecture-card.is-running .lecture-timer{transition:none}}
