/* The category pages as a presenter: slides on the left, what the hall sees in
   the middle, Back / Next along the bottom (organiser, 30 Sep 2026). */
.pres{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;max-width:1500px;margin:0 auto;padding:16px 20px 128px}
.pres .panel{margin:0}
.pres-slides{align-self:start;position:sticky;top:12px;max-height:calc(100vh - 170px);overflow:auto}
.pres-slides .label{margin-top:0}
.slides{list-style:none;margin:0;padding:0}
.slides li.person{padding:8px 6px;border-radius:var(--r2);cursor:pointer;border:1px solid transparent}
.slides li.person:hover{background:#F4F6F2}
.slides .who{display:flex;align-items:center;gap:10px;font-size:16.5px}
.slides .who .n{width:24px;text-align:right;font-weight:800;color:var(--muted)}
.slides .who .nm{flex:1;font-weight:700;color:var(--green-900)}
.slides li[data-state="done"] .nm{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px}
.slides li[data-state="absent"] .nm{color:#9AA39D}
.slides li[data-state="now"]{background:var(--competition-tint,#EEF3EE);border-color:var(--competition,var(--green-700))}
.slides .pill.next{background:var(--gold-50);color:var(--gold-800);border:1px solid var(--gold-300)}
.slides .steps{list-style:none;margin:6px 0 2px 34px;padding:0;border-left:2px solid var(--line)}
.slides .steps li{padding:5px 10px;font-size:14.5px;color:var(--ink-soft);position:relative}
.slides .steps li::before{content:"";position:absolute;left:-6px;top:12px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--line)}
.slides .steps li.past{color:var(--muted)}
.slides .steps li.past::before{background:var(--gold-500);border-color:var(--gold-500)}
.slides .steps li.on{color:var(--green-900);font-weight:800;background:#fff;border-radius:6px}
.slides .steps li.on::before{background:var(--competition,var(--green-700));border-color:var(--competition,var(--green-700));width:12px;height:12px;left:-7px;top:11px}
.mini{font:700 12px/1 var(--ui);padding:6px 9px;border-radius:6px;border:1px solid var(--line);background:#fff;color:var(--ink-soft);cursor:pointer}
.mini:hover{border-color:var(--gold-500)}
.mini.switch{background:var(--green-800,#0B4A2B);border-color:var(--green-800,#0B4A2B);color:#fff;white-space:nowrap}
.mini.switch:hover{filter:brightness(1.15)}
.hint.warn,.warn{color:#8A4B00}

.pres-main{display:flex;flex-direction:column;gap:14px;min-width:0}
.pres-now{min-height:220px}
.pres-now-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.pres-now-head .label{margin:0}
.pres-clock{display:flex;align-items:center;gap:10px}
.pres-clock .clock{font:800 30px/1 var(--ui);font-variant-numeric:tabular-nums;color:var(--green-900)}
.pres-clock .clock.amber{color:#9A6400}.pres-clock .clock.red{color:var(--stop)}
.pres-kind{font:800 13px/1.3 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-800);margin:4px 0 8px}
.pres-name{font:700 46px/1.1 var(--display);color:var(--green-900);margin:0}
.pres-meta{color:var(--muted);font-size:17px;margin:6px 0 0}
.pres-title{font:700 24px/1.3 var(--display);color:var(--green-900);margin:0 0 8px}
.pres-ar{font:400 30px/1.9 var(--arabic-face);direction:rtl;text-align:right;color:var(--ink);margin:6px 0}
.pres-en{font-size:17px;line-height:1.5;color:var(--ink-soft);margin:0}
.pres-empty{font-size:19px;color:var(--muted)}
.pres[data-module="ladder"] .pres-now{min-height:0}
.pres-title.small{font-size:21px}
.pres-ar.small{font-size:24px}
.answers-big .ans.off{cursor:default}
.answers-big .ans.off:not(.right):not(.wrong):not(.locked):not(.picked):hover{border-color:var(--line)}

.answers-big{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.answers-big .ans{display:flex;gap:14px;align-items:center;text-align:left;min-height:74px;padding:12px 16px;border-radius:12px;border:2px solid var(--line);background:#fff;cursor:pointer;font:600 17px/1.3 var(--ui);color:var(--ink)}
.answers-big .ans b{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--green-900);color:#fff;font:800 19px/1 var(--ui)}
.answers-big .ans:hover:not([disabled]){border-color:var(--gold-500)}
.answers-big .ans[disabled]{cursor:default}
.answers-big .ans.gone{opacity:.28}
.answers-big .ans.picked{border-color:var(--gold-500);background:var(--gold-50)}
.answers-big .ans.locked{border-color:#C98A00;background:#FFF1CC}
.answers-big .ans.right{border-color:#1F7A45;background:#E5F4EA}
.answers-big .ans.right b{background:#1F7A45}
.answers-big .ans.wrong{border-color:var(--stop);background:var(--stop-wash)}
.pres-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}
.pres-row.lifelines{padding-top:12px;border-top:1px solid var(--line)}
.aud-mini{font:700 15px/1 var(--ui);color:var(--green-900)}

.pres-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:200px auto minmax(0,1fr);grid-template-areas:"back life next";gap:14px;padding:14px 20px;
  background:rgba(255,255,255,.96);border-top:2px solid var(--gold-leaf,#B9975F);box-shadow:0 -6px 22px rgba(7,42,24,.08)}
.pres-back{grid-area:back}.pres-next{grid-area:next}.pres-life{grid-area:life}
.pres-back,.pres-next{border:0;border-radius:16px;cursor:pointer;min-height:88px;font-family:var(--ui)}
.pres-back{background:#fff;border:2px solid var(--line);color:var(--green-900);font:800 22px/1 var(--ui);display:flex;align-items:center;justify-content:center;gap:10px}
.pres-back[disabled]{opacity:.45;cursor:default}
.pres-next{background:var(--go);color:#fff;display:flex;align-items:center;gap:18px;padding:0 28px;text-align:left}
.pres-next:hover{background:var(--go-hover)}
.pres-next-label{font:800 32px/1 var(--ui)}
.pres-next-what{flex:1;font:700 20px/1.25 var(--ui);opacity:.95}
.pres-next.blocked{background:#8E9A92}
.pres-next.busy{opacity:.7}
.pres-bar kbd{font:700 12px/1 var(--ui);padding:4px 7px;border-radius:5px;background:#0000000f;color:inherit}
.pres-next kbd{background:#ffffff26}
.pres-back:focus-visible,.pres-next:focus-visible{outline:3px solid var(--signal);outline-offset:3px}

@media (max-width:900px){
  .pres{grid-template-columns:1fr}
  .pres-slides{position:static;max-height:none}
  .pres-bar{grid-template-columns:120px 1fr}
  .pres-name{font-size:34px}
  .answers-big{grid-template-columns:1fr}
}
/* The rehearsal notice sits above the Back / Next bar, never over it. */
body:has(#pres:not([hidden])) #modeBanner{bottom:128px!important}

/* Jannati lifelines live in the bottom bar, next to Next (review, Oct 2026). */
.pres-life{display:flex;gap:10px}
.pres-life[hidden]{display:none}
.life-btn{min-height:88px;min-width:150px;padding:8px 18px;border-radius:16px;border:2px solid var(--competition,var(--green-700));background:#fff;color:var(--green-900);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;font-family:var(--ui)}
.life-btn b{font:800 24px/1 var(--ui)}
.life-btn small{font:700 13px/1.2 var(--ui);color:var(--ink-soft)}
.life-btn:hover:not([disabled]){background:var(--competition-tint,#EEF3EE)}
.life-btn[disabled]{opacity:.45;cursor:default;border-color:var(--line)}
.life-btn:focus-visible{outline:3px solid var(--signal);outline-offset:3px}
/* Waiting is not an error: an outlined bar that says what it is waiting for. */
.pres-next.blocked.waiting{background:#fff;color:var(--green-900);box-shadow:inset 0 0 0 3px var(--go)}
.pres-next.blocked.waiting kbd{background:#0000000f}
/* Questions asked by the page sit just above the Next bar, where the eyes are. */
body:has(#pres:not([hidden])) .sbar-ask:not([hidden]){position:fixed;left:50%;bottom:132px;transform:translateX(-50%);z-index:60;max-width:min(980px,92vw);
  box-shadow:0 12px 40px rgba(7,42,24,.25);border:2px solid var(--gold-500);background:#fff;padding:16px 18px;border-radius:14px;font-size:18px}
.slides .steps li .prize{font-style:normal;font-weight:800;color:var(--gold-800);margin-right:8px}
@media (max-width:900px){ .pres-bar{grid-template-columns:110px auto 1fr} .life-btn{min-width:100px;padding:6px 10px} }
body:has(#pres:not([hidden])) #sb-ask-yes::after{content:"  (→)";font-weight:600;opacity:.8}
body:has(#pres:not([hidden])) #sb-ask-no::after{content:"  (←)";font-weight:600;opacity:.7}
