/* Approved Paper editorial presenter; scoped to the hosted overlay. */
.canvas-present { position:fixed; inset:0; z-index:100; background:var(--bg); color:var(--fg1); display:flex; flex-direction:column; align-items:center; justify-content:center; padding:12px 12px 76px; overflow:hidden; }
.canvas-present:focus { outline:none; box-shadow:none; }
.present-screen { width:min(100%,calc((100dvh - 92px)*16/9)); aspect-ratio:16/9; container-type:inline-size; position:relative; overflow:hidden; isolation:isolate; flex-shrink:0; }
.present-stage { position:relative; width:100%; height:100%; padding:2.2cqw 4cqw 1.8cqw; display:grid; grid-template-rows:auto auto 1fr auto; gap:1.3cqw; }
.present-stage p,.present-stage h2,.present-stage figure { margin:0; }
.present-mast { display:flex; justify-content:space-between; align-items:center; font:1cqw var(--mono); color:var(--fg3); }
.present-mast>span:first-child { font:500 1.6cqw var(--font); letter-spacing:-.06em; color:var(--fg1); }
.present-accent { color:var(--accent); }
.present-eyebrow { color:var(--accent); font:1.05cqw var(--mono); text-transform:uppercase; letter-spacing:.08em; margin-bottom:.6cqw!important; }
.canvas-present .slide-title { font:500 3.7cqw/1 var(--font); letter-spacing:-.055em; max-width:24ch; }
.present-context { display:flex; align-items:baseline; justify-content:space-between; gap:2cqw; margin-top:.9cqw; }
.present-purpose { color:var(--fg3); font-size:1.5cqw; line-height:1.4; min-width:0; }
.present-question { color:var(--fg2); }
.present-response-area { position:relative; min-height:0; display:flex; flex-direction:column; }
.present-reply-progress { display:flex; align-items:center; gap:.75cqw; flex-shrink:0; font:1.05cqw/1.35 var(--mono); color:var(--fg3); }
.present-reply-progress>span:nth-child(2) { white-space:nowrap; }
.present-segs { display:flex; flex-wrap:wrap; gap:.18cqw; max-width:12cqw; }
.present-seg { display:block; width:1.1cqw; height:.36cqw; background:var(--bg-subtle); box-shadow:inset 0 0 0 1px var(--border); }
.present-seg.current { background:var(--accent); box-shadow:none; }
.present-responses { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); gap:1.4cqw; flex:1; min-height:0; }
.canvas-present .slide-card { padding:1.2cqw 1.5cqw; gap:0; min-height:0; display:flex; flex-direction:column; background:#eeece5; color:#20211e; border:1px solid #cdcac0; border-top-color:#ec922b; box-shadow:0 .45cqw 1cqw #0002; rotate:-.7deg; }
.canvas-present .slide-card:nth-child(3n+2) { rotate:.7deg; translate:0 .3cqw; }
.canvas-present .slide-card:nth-child(3n) { rotate:-.35deg; }
.canvas-present .slide-card blockquote { margin:0; font:400 2cqw/1.32 var(--font); letter-spacing:-.025em; overflow-wrap:anywhere; white-space:pre-wrap; min-height:0; flex-shrink:0; }
.canvas-present .slide-card figcaption { display:flex; flex-wrap:wrap; align-items:center; gap:.6cqw; color:#626459; font:1cqw/1.4 var(--mono); padding-top:.8cqw; margin-top:auto; }
.canvas-present .slide-card .mark { font:inherit; color:#824006; border:0; padding:0; }
:root[data-theme=light] .canvas-present .slide-card { background:#f7f5ef; }
.present-stage.statements .present-responses { grid-template-columns:repeat(2,minmax(0,1fr)); }
.present-stage.statements blockquote { font-size:1.9cqw; }
.present-stage.roomy .present-responses { grid-template-rows:minmax(0,1fr); }
.present-stage.roomy .slide-card blockquote { overflow:auto; flex-shrink:1; }
.present-discussion { display:flex; align-items:center; border-top:1px solid var(--border); padding-top:1cqw; gap:1.6cqw; }
.present-discussion>span { font:1cqw var(--mono); color:var(--accent); text-transform:uppercase; letter-spacing:.08em; }
.present-discussion p { font-size:1.65cqw; line-height:1.4; }
.present-controls { position:absolute; bottom:0; left:0; right:0; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:16px; min-height:64px; padding:8px var(--canvas-gutter); border-top:1px solid var(--border); background:var(--bg); transition:opacity .2s ease, transform .2s ease; }
.present-navigation,.present-tools { display:flex; align-items:center; gap:8px; }
.present-tools { justify-self:end; }
.present-controls button:not(.canvas-theme) { display:grid; place-items:center; width:44px; height:44px; padding:0; background:transparent; border:1px solid transparent; border-radius:2px; color:var(--fg3); cursor:pointer; }
.present-controls button:not(.canvas-theme):hover:not(:disabled) { color:var(--fg1); background:var(--bg-subtle); border-color:var(--border); }
.present-controls button:focus { box-shadow:none; }
.present-controls button:focus:not(:focus-visible) { outline:none; }
.present-controls button:focus-visible { outline:1px solid var(--fg3); outline-offset:2px; box-shadow:none; }
.present-controls button:disabled { opacity:.3; cursor:default; }
.present-key-hint { display:grid; grid-template-columns:repeat(3,18px); grid-template-rows:repeat(2,17px); gap:2px; justify-self:start; color:var(--fg3); opacity:.45; }
.present-key-hint kbd { display:grid; place-items:center; font:11px/1 var(--mono); border:1px solid var(--border-strong); border-radius:3px; background:transparent; }
.present-key-hint kbd:first-child { grid-column:2; }
.present-key-hint kbd:nth-child(2) { grid-column:1; }
@media (hover:hover) and (pointer:fine) {
  .present-controls.is-idle:not(:hover):not(:has(:focus-visible)) { opacity:0; transform:translateY(100%); pointer-events:none; }
}
@media (prefers-reduced-motion:reduce) { .present-controls { transition:none; } }
.present-outgoing { position:absolute; inset:0; pointer-events:none; }
.present-empty { padding:40px; }
@media(max-width:760px) {
  .present-screen { width:100%; aspect-ratio:auto; flex:1; min-height:0; }
  .present-stage { padding:16px 12px; gap:16px; }
  .present-mast { font-size:11px; }
  .present-mast>span:first-child { font-size:18px; }
  .present-eyebrow { font-size:11px; }
  .canvas-present .slide-title { font-size:30px; }
  .present-context { flex-wrap:wrap; gap:8px; margin-top:10px; }
  .present-purpose { font-size:15px; }
  .present-seg { width:12px; height:4px; }
  .present-segs { max-width:35vw; gap:3px; }
  .present-reply-progress { gap:8px; font-size:11px; }
  .present-responses,.present-stage.statements .present-responses { grid-template-columns:minmax(0,1fr); gap:12px; }
  .canvas-present .slide-card { padding:14px 18px; }
  .canvas-present .slide-card blockquote { font-size:20px; }
  .canvas-present .slide-card figcaption { font-size:11px; padding-top:10px; }
  .present-discussion { gap:12px; padding-top:12px; }
  .present-discussion>span { font-size:10px; }
  .present-discussion p { font-size:15px; }
  .present-controls { gap:8px; padding:8px 16px; }
  .present-tools { gap:0; }
}
