/* 발표자 뷰 — S 키로 켜면 이 창을 덮는다. 청중 창은 평소 덱 그대로. */
html.pv-on body > *:not(#pv-shell) { visibility:hidden; }
#pv-shell {
  position:fixed; inset:0; z-index:300; visibility:visible;
  display:flex; flex-direction:column; background:var(--bg); color:var(--fg);
}
.pv-top { display:grid; grid-template-columns:2fr 1fr; gap:16px; padding:16px; flex:0 0 auto; }
.pv-stage {
  position:relative; overflow:hidden; aspect-ratio:16/9;
  border:1px solid var(--border); border-radius:var(--radius); background:var(--panel);
}
.pv-stage iframe {
  position:absolute; top:0; left:0; width:1280px; height:720px; border:0;
  transform-origin:top left; pointer-events:none;
}
.pv-label {
  position:absolute; top:0; left:0; z-index:2;
  background:var(--accent); color:var(--accent-fg); font-size:13px; font-weight:700;
  padding:2px 10px; border-radius:var(--radius) 0 var(--radius) 0;
}
.pv-bottom { flex:1 1 auto; min-height:0; display:flex; flex-direction:column; border-top:1px solid var(--border); }
.pv-meta {
  display:flex; align-items:center; gap:16px; padding:10px 20px;
  font-size:15px; color:var(--muted); border-bottom:1px solid var(--border);
}
#pv-timer { font-family:var(--font-mono); font-size:22px; font-weight:700; color:var(--fg); }
#pv-reset { padding:4px 12px; font-size:13px; }
#pv-status { color:var(--warn); }
.pv-keys { margin-left:auto; }
#pv-notes { flex:1 1 auto; overflow-y:auto; padding:16px 20px; font-size:20px; line-height:1.7; }
#pv-notes p { margin-bottom:12px; }
.pv-empty { color:var(--muted); }
