*{box-sizing:border-box}
body.t5rt-body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:#f1f5f9;color:#0f172a;line-height:1.45}
.t5rt-loading{padding:40px;text-align:center;color:#64748b}
.wrap{max-width:760px;margin:0 auto;padding:16px}.wrap.narrow{max-width:460px;padding-top:8vh}.wrap.wide{max-width:1200px}
.card{background:#fff;border-radius:14px;padding:16px 18px;margin:0 0 14px;box-shadow:0 1px 3px rgba(15,23,42,.08)}
h1{font-size:1.35rem;margin:2px 0 0}h3{margin:0 0 10px;font-size:1rem}h4{margin:18px 0 8px}
.brand{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6366f1}.brand a{color:inherit;text-decoration:none}
.top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:4px 0 14px;flex-wrap:wrap}
.who{display:flex;gap:8px;align-items:center;font-weight:600}
.codechip{background:#0f172a;color:#fff;border-radius:8px;padding:3px 9px;font-family:ui-monospace,monospace;letter-spacing:.1em}
.muted{color:#64748b}.small{font-size:.85rem;margin-top:8px}
.in{width:100%;padding:11px 12px;border:1.5px solid #cbd5e1;border-radius:10px;font:inherit;margin:4px 0 10px;background:#fff}
.in:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.2)}
.in.code{font-family:ui-monospace,monospace;font-size:1.6rem;letter-spacing:.3em;text-transform:uppercase;text-align:center}
.in.sm{padding:6px 8px;margin:0;width:auto}
label{font-weight:600;font-size:.9rem;display:block}.chk{font-weight:500;margin:8px 0}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.between{justify-content:space-between}
.btn{border:0;border-radius:10px;padding:10px 16px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;background:#e2e8f0;color:#0f172a}
.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:#4f46e5;color:#fff}.btn.ghost{background:#eef2ff;color:#3730a3}
.btn.danger{background:#fee2e2;color:#b91c1c}.btn.warn{background:#fef3c7;color:#92400e}.btn.done{background:#059669;color:#fff}
.btn.big{padding:14px 22px;font-size:1.05rem}.btn.sm{padding:5px 10px;font-size:.85rem}.link{background:none;border:0;color:#4f46e5;cursor:pointer;font:inherit;text-decoration:underline}
.msg{color:#b91c1c;min-height:1.2em;margin-bottom:8px}
.pill{--c:#64748b;display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px;font-weight:600;font-size:.85rem;background:color-mix(in srgb,var(--c) 16%,#fff);color:color-mix(in srgb,var(--c) 70%,#000);border:1.5px solid var(--c)}
.pill-big{font-size:1.05rem;padding:5px 14px}
.dot{width:10px;height:10px;border-radius:50%;background:var(--c,#64748b);display:inline-block}
.qbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.qbadge{font-size:.8rem;font-weight:700;color:#4f46e5;background:#eef2ff;border-radius:999px;padding:3px 10px}
.qtext{font-size:1.05rem;font-weight:600;white-space:pre-wrap}
.qctx{margin:0 0 10px;padding:8px 12px;border-left:4px solid #a5b4fc;background:#f8fafc;color:#334155;font-style:italic;white-space:pre-wrap}
.speaker .label,.pright .label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#64748b;font-weight:700;margin-bottom:6px}
.sprow{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.spname{font-size:1.5rem;font-weight:800;margin-bottom:6px}.spnote{margin-top:10px;font-size:1.05rem;color:#334155;white-space:pre-wrap}
.timer{font-family:ui-monospace,monospace;font-size:1.6rem;font-weight:700;color:#0f766e;transition:color .4s}.timer.over{color:#d97706}
.queue{list-style:none;margin:0;padding:0}
.queue li{display:flex;align-items:center;gap:10px;padding:8px 6px;border-bottom:1px solid #f1f5f9;flex-wrap:wrap}
.queue li.mine{background:#eef2ff;border-radius:10px;font-weight:700}
.queue .num{width:26px;height:26px;border-radius:50%;background:#e2e8f0;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}
.queue .qname{font-weight:600}.queue .qnote{flex-basis:100%;color:#475569;font-size:.9rem;padding-left:36px}.queue .qctl{margin-left:auto;display:flex;gap:6px}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.mpill{--c:#64748b;display:inline-flex;align-items:center;gap:8px;border:2px solid var(--c);background:#fff;color:#0f172a;border-radius:999px;padding:10px 14px;font:inherit;font-weight:700;cursor:pointer}
.mpill.on{background:var(--c);color:#fff}.mpill.on .dot{background:#fff}
.stems details{margin-bottom:8px}.stems summary{cursor:pointer;color:#475569;font-size:.9rem;margin-bottom:6px}
.stem{display:block;width:100%;text-align:left;border:1px dashed #cbd5e1;background:#f8fafc;border-radius:8px;padding:7px 10px;margin:4px 0;font:inherit;cursor:pointer}
.note,.scratch{width:100%;border:1.5px solid #cbd5e1;border-radius:10px;padding:10px;font:inherit;resize:vertical}
.status{margin:10px 0;font-weight:700;color:#475569}.status.wait{color:#4f46e5}.status.live{color:#059669;font-size:1.15rem}
.stats{display:flex;gap:24px}.stats div{display:flex;flex-direction:column}.stats b{font-size:1.5rem}.stats span{color:#64748b;font-size:.85rem}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#0f172a;color:#fff;padding:10px 18px;border-radius:10px;z-index:99;transition:opacity .5s}.toast.bad{background:#b91c1c}.toast.out{opacity:0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid2 .card{margin:0 0 14px}.wrapr{margin-top:14px}
.links .lk{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:4px 0}.links a{word-break:break-all}
.sessions .srow{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #f1f5f9;flex-wrap:wrap}
.tablewrap{overflow-x:auto}.parts{width:100%;border-collapse:collapse;font-size:.92rem}
.parts th,.parts td{padding:7px 8px;border-bottom:1px solid #f1f5f9;text-align:left;white-space:nowrap}.parts td.n{text-align:center}.parts td.off{color:#94a3b8}.parts td.on{font-weight:600}
.qitem{border:1px solid #e2e8f0;border-radius:10px;padding:10px;margin-bottom:10px}
.mitem{display:grid;grid-template-columns:auto 44px 200px 1fr;gap:8px;align-items:center;margin-bottom:8px}.mitem input[type=color]{width:40px;height:34px;border:0;background:none}
@media (max-width:760px){.grid2{grid-template-columns:1fr}.mitem{grid-template-columns:auto 44px 1fr}.mitem textarea{grid-column:1/-1}}
/* Presenter */
body.v-present{background:var(--bg,#0b1020);color:var(--tx,#f8fafc);overflow:hidden;transition:background .4s}
.present{height:100vh;display:flex;flex-direction:column;padding:2.2vh 2.6vw;gap:2vh}
.phead{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:1.3rem}
.ptitle{font-weight:700;color:var(--mu);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pjoin{display:flex;align-items:center;gap:10px;white-space:nowrap;color:var(--mu)}.pjoin .sep{opacity:.5}
.bigcode{font-family:ui-monospace,monospace;font-size:1.9rem;letter-spacing:.15em;background:#fff;color:#0b1020;border-radius:10px;padding:2px 12px;box-shadow:0 0 0 1px var(--bd)}
.online{color:#34d399;font-weight:600;margin-left:10px}.closed{background:#b45309;color:#fff;border-radius:8px;padding:2px 10px;font-size:1rem}
.hero{--qs:1;background:var(--sf);border-radius:16px;padding:1.4vh 1.6vw;flex:0 0 auto;max-height:30vh;overflow:auto;border:1px solid var(--bd)}
.v-present .qbar{margin-bottom:6px;justify-content:flex-start}.qsize{display:inline-flex;gap:4px;margin-left:6px}.v-present .qnav{display:inline-flex;gap:4px;margin-left:auto}
.v-present .qbar .btn.ghost{font-size:.8rem;padding:4px 10px;border-radius:8px}
.hero.collapsed .qctx{display:none}.hero.collapsed .qtext{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v-present .qbadge{background:var(--ac);color:var(--acx);font-size:.8rem;padding:3px 10px}
.v-present .qtext{font-size:calc(1.15rem * var(--qs));line-height:1.4;font-weight:600;color:var(--tx)}
.v-present .qctx{background:var(--sf2);border-left-color:var(--ac);color:var(--mu);font-size:calc(.92rem * var(--qs));padding:5px 10px;margin:0 0 6px}
.v-present .btn.ghost{background:var(--sf2);color:var(--tx);font-size:1.1rem}
.v-present .btn.primary{background:var(--ac);color:var(--acx)}

.pmain{flex:1;display:grid;grid-template-columns:1.25fr 1fr;gap:2.4vw;min-height:0}
.pleft,.pright{background:var(--sf);border-radius:22px;padding:2.5vh 2vw;border:1px solid var(--bd);overflow:hidden}
.v-present .speaker .label,.v-present .pright .label{color:var(--mu);font-size:1rem}
.v-present .spname{font-size:3.4rem;color:var(--tx)}.v-present .timer{font-size:3.4rem;color:var(--ok)}.v-present .timer.over{color:var(--warnc)}
.v-present .pill-big{font-size:1.6rem;padding:8px 20px;background:color-mix(in srgb,var(--c) 22%,var(--pillbg));color:var(--tx)}
.v-present .spnote{font-size:1.7rem;color:var(--tx);opacity:.9}.v-present .speaker.empty .spname{font-size:2rem;color:var(--mu)}
.v-present .pleft .row{margin-top:2.2vh}.v-present .btn.big{font-size:1.4rem;padding:16px 28px}
.v-present .queue li{border-bottom:1px solid var(--bd);font-size:1.6rem;padding:1.1vh 4px}
.v-present .queue .num{width:42px;height:42px;background:var(--ac);color:var(--acx);font-size:1.2rem}
.v-present .queue .pill{font-size:1.1rem;background:color-mix(in srgb,var(--c) 22%,var(--pillbg));color:var(--tx)}
.v-present .muted{color:var(--mu)}

/* Student theming */
body.v-student.themed{background:var(--bg);color:var(--tx);transition:background .4s}
.v-student.themed .card{background:var(--sf);color:var(--tx);box-shadow:0 0 0 1px var(--bd)}
.v-student.themed .muted,.v-student.themed .stats span,.v-student.themed .speaker .label{color:var(--mu)}
.v-student.themed .qctx{background:var(--sf2);color:var(--tx);border-left-color:var(--ac)}
.v-student.themed .qbadge{background:var(--ac);color:var(--acx)}
.v-student.themed .queue li{border-bottom-color:var(--bd)}.v-student.themed .queue li.mine{background:var(--sf2)}
.v-student.themed .queue .num{background:var(--sf2);color:var(--tx)}
.v-student.themed .timer{color:var(--ok)}.v-student.themed .timer.over{color:var(--warnc)}
.v-student.themed .brand{color:var(--ac)}.v-student.themed .status{color:var(--mu)}.v-student.themed .status.wait{color:var(--ac)}.v-student.themed .status.live{color:var(--ok)}
.v-student.themed .pill{background:color-mix(in srgb,var(--c) 22%,var(--pillbg));color:var(--tx)}
.v-student.themed .stems summary{color:var(--mu)}.v-student.themed .stem{background:var(--sf2);color:var(--tx);border-color:var(--bd)}
.v-student.themed .note,.v-student.themed .scratch{background:var(--sf2);color:var(--tx);border-color:var(--bd)}
.v-student.themed .btn.primary{background:var(--ac);color:var(--acx)}.v-student.themed .btn.ghost{background:var(--sf2);color:var(--tx)}
.v-student.themed .link{color:var(--ac)}
/* Theme picker */
.tpick{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:4px 0 10px}
.sw{width:30px;height:30px;border-radius:8px;border:2px solid rgba(127,127,127,.35);cursor:pointer;padding:0;position:relative;display:inline-flex;align-items:center;justify-content:center;font-size:14px;background:#fff}
.sw.on{outline:3px solid #6366f1;outline-offset:2px}
.sw.custom input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.ppal{position:fixed;top:120px;right:2.6vw;z-index:50;background:var(--sf);color:var(--tx);border:1px solid var(--bd);border-radius:12px;padding:10px 12px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.ppal .tpick{margin:6px 0 0}
.hdrpal{display:flex;align-items:center;gap:10px;padding:10px 16px}.hdrpal .tpick{margin:0}
/* Folders & dashboard */
.fbadge{--c:#64748b;display:inline-block;border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:700;color:#fff;background:var(--c);white-space:nowrap}
.ftabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.ftab{--c:#4f46e5;border:1.5px solid color-mix(in srgb,var(--c) 45%,#fff);background:#fff;color:#0f172a;border-radius:999px;padding:6px 12px;font:inherit;font-weight:600;cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.ftab.on{background:var(--c);color:#fff;border-color:var(--c)}
.ftab .cnt{background:rgba(127,127,127,.18);border-radius:999px;padding:0 7px;font-size:.78rem}
.search{max-width:360px}
.fgroup{margin:8px 0 4px}.fgroup>summary{cursor:pointer;padding:6px 0;list-style-position:inside}
.sinfo{flex:1;min-width:260px}.tsw{width:14px;height:14px;border-radius:4px;display:inline-block;border:1px solid rgba(0,0,0,.2)}
.newrt>summary{cursor:pointer;font-weight:700;color:#4f46e5}.newrt form{margin-top:10px}
.modal{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:90;display:flex;align-items:flex-start;justify-content:center;padding:5vh 12px;overflow:auto}
.mpanel{width:100%;max-width:640px;color:#0f172a}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 10px}.pchk{margin:4px 0}
.dupprev,.dupq{margin:4px 0 10px;padding-left:20px}.dupq{max-height:120px;overflow:auto;color:#475569}
@media (max-width:600px){.pgrid{grid-template-columns:1fr 1fr}}

[hidden]{display:none!important}
.v-student.themed .spnote{color:var(--tx);opacity:.9}
.v-student.themed .speaker.empty .spname{color:var(--mu)}
/* v1.2 presenter fit */
.pleft,.pright{display:flex;flex-direction:column;gap:1.4vh;min-height:0}
.v-present .spname{font-size:2.7rem}.v-present .timer{font-size:2.7rem}.v-present .pill-big{font-size:1.3rem}.v-present .spnote{font-size:1.35rem}
.v-present .queue li{font-size:1.3rem;padding:.8vh 4px}.v-present .queue .num{width:34px;height:34px;font-size:1rem}
.qwrap{flex:1;min-height:0;overflow:hidden}
.ppoll{background:var(--sf2);border-radius:14px;padding:10px 14px;display:flex;flex-direction:column;gap:6px}
.v-present .pq{font-size:1.05rem}
.pbars{display:flex;flex-direction:column;gap:5px}
.pbar,.mbar{display:grid;grid-template-columns:minmax(90px,30%) 1fr auto;gap:10px;align-items:center;font-size:.95rem}
.track{height:14px;background:rgba(127,127,127,.18);border-radius:999px;overflow:hidden;display:block}.track i{display:block;height:100%;border-radius:999px;transition:width .5s}
.pbar .pl,.mbar .pl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pulse{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.v-present .pulse{background:var(--sf2);border-radius:14px;padding:10px 14px;flex:0 0 auto}
.pcol .label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--mu,#64748b);margin-bottom:4px}
.prow{display:flex;gap:8px;align-items:center;justify-content:space-between;font-size:.95rem;padding:2px 0}.prow.zero span:first-child{color:#d97706;font-weight:600}
.v-present .prow{font-size:1rem}
/* student poll & nudge */
.nudge{background:linear-gradient(135deg,#fef3c7,#fde68a)!important;color:#78350f!important;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.nmsg{font-weight:700;font-size:1.05rem}
.pollcard{border:2px solid var(--ac,#6366f1)}
.popt{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:2px solid var(--c);background:#fff;color:#0f172a;border-radius:12px;padding:12px 14px;margin:6px 0;font:inherit;font-weight:700;cursor:pointer}
.popt.on{background:var(--c);color:#fff}.popt:disabled{opacity:.6;cursor:not-allowed}
/* tables & data page */
.sortable{cursor:pointer;user-select:none}.sortable.on{color:#4f46e5}
.parts td.zero{color:#d97706;font-weight:700}
.cpill{--c:#64748b;display:inline-block;min-width:26px;padding:1px 8px;border-radius:999px;background:var(--c);color:#fff;font-weight:700;text-align:center}
.sbadge{--c:#64748b;font-size:.72rem;font-weight:700;border-radius:999px;padding:1px 8px;border:1.5px solid var(--c);color:var(--c)}.sbadge.live{--c:#059669;background:#059669;color:#fff}
.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}
.kpi{background:#fff;border-radius:14px;padding:12px 14px;box-shadow:0 1px 3px rgba(15,23,42,.08);display:flex;flex-direction:column}.kpi b{font-size:1.6rem}
.mbar{--c:#64748b;width:100%;border:0;background:none;padding:6px 4px;border-radius:8px;cursor:pointer;font:inherit;text-align:left;color:inherit}.mbar .track i{background:var(--c)}.mbar .dot{background:var(--c)}
.mbar:hover{background:#f8fafc}.mbar.on{background:#eef2ff;outline:2px solid var(--c)}
.feed{max-height:340px;overflow:auto}
.frow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:6px 0;border-bottom:1px solid #f1f5f9}
.fst{font-size:.8rem;font-weight:700;color:#64748b}.fst.speaking{color:#059669}.fst.waiting{color:#4f46e5}
.fnote{color:#475569;font-size:.9rem;flex-basis:100%;padding-left:70px}
@media (max-width:900px){.kpis{grid-template-columns:repeat(3,1fr)}}
/* v1.2 student layout, all questions, notes, live question bar */
.wrap.stu{max-width:1180px}
.stugrid{display:grid;grid-template-columns:1fr;gap:14px}
@media (min-width:900px){.stugrid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.colB{position:sticky;top:12px;align-self:start}}
.allq{max-height:46vh;overflow:auto;display:flex;flex-direction:column;gap:8px}
.aq{border:1.5px solid var(--bd,#e2e8f0);border-radius:12px;padding:10px 12px;opacity:.82}
.aq.on{border:2px solid var(--ac,#6366f1);opacity:1;box-shadow:0 0 0 3px color-mix(in srgb,var(--ac,#6366f1) 20%,transparent)}
.aq .qtext{font-size:.98rem;font-weight:500}.aq.on .qtext{font-weight:700;font-size:1.05rem}
.qnum{font-weight:800;color:var(--mu,#64748b);font-size:.85rem}
.notes .scratch{min-height:240px;font-size:.98rem;line-height:1.5}
.v-student.themed .aq{border-color:var(--bd)}
.lqbar{margin-top:10px}.lqbody{margin-top:8px;padding:10px;border:1px dashed #c7d2fe;border-radius:10px}
.qpanel{width:min(560px,90vw);top:110px}.qpanel .in{background:#fff;color:#0f172a}.qpanel .lqbody{border-color:var(--bd)}
.noterow td{background:#f8fafc}.snotes{white-space:pre-wrap;font-size:.9rem;max-height:220px;overflow:auto;color:#334155}

/* v1.2.5 presenter Full Screen toggle */
.v-present .fsbtn{font-weight:700;letter-spacing:.01em}
.v-present .fsbtn.on{background:var(--ac);color:var(--acx)}
body.rt-presenter-fullscreen{margin:0!important;overflow:hidden!important}
body.rt-presenter-fullscreen #wpadminbar,.rt-presenter-fullscreen #wpadminbar{display:none!important}
html:fullscreen,html:-webkit-full-screen{background:var(--bg,#0b1020)}
html:fullscreen body,html:-webkit-full-screen body{background:var(--bg,#0b1020)}
body.rt-presenter-fullscreen .present{height:100vh;height:100dvh;padding:1.6vh 2vw}
/* v1.2.3 uncluttered presenter tap-in & tap-out */

.uphead{display:flex;align-items:center;justify-content:space-between;gap:10px}
.v-present .upadd{font-size:.8rem;padding:4px 10px;border-radius:8px;opacity:.75;transition:opacity .15s}
.v-present .upadd:hover{opacity:1}
.v-present .qwrap{overflow-y:auto}
.pqbtn{border:1px solid var(--bd);background:var(--sf2);color:var(--tx);border-radius:8px;width:30px;height:30px;font-size:.9rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;opacity:.45;transition:opacity .15s,background .15s,color .15s}
.v-present .queue li:hover .pqbtn,.pqbtn:hover,.pqbtn:focus{opacity:1}
.pqbtn:hover{background:var(--ac);color:var(--acx);border-color:var(--ac)}
.pqbtn.rm:hover{background:#dc2626;color:#fff;border-color:#dc2626}
.tappanel{width:min(480px,92vw);top:110px;max-height:78vh;overflow:auto;color:#0f172a}
.tappanel .in{background:#fff;color:#0f172a;border:1px solid #cbd5e1}
.tappanel .muted{color:#64748b}
.tappicker{display:flex;flex-direction:column;gap:8px}
.taptop{gap:8px;flex-wrap:wrap}.tapmodes{gap:4px}
.tapmoves{display:flex;flex-wrap:wrap;gap:6px}
.tapmv{--c:#64748b;display:inline-flex;align-items:center;gap:5px;border:1.5px solid var(--c);background:#fff;color:#0f172a;border-radius:999px;padding:4px 10px;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}
.tapmv .dot{width:8px;height:8px;border-radius:50%;background:var(--c)}
.tapmv.on{background:var(--c);color:#fff}.tapmv.on .dot{background:#fff}
.tapform{display:flex;gap:6px;align-items:center}.tapform .in{flex:1;margin:0}
.tapchips{display:flex;flex-wrap:wrap;gap:6px;max-height:220px;overflow-y:auto;padding-top:2px}
.tapchip{border:1px solid #cbd5e1;background:#f8fafc;color:#0f172a;border-radius:999px;padding:5px 11px;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:5px}
.tapchip:hover{background:#4f46e5;color:#fff;border-color:#4f46e5}
.tapchip .qdot{width:7px;height:7px;border-radius:50%;background:#f59e0b;display:inline-block}

/* v1.2.4 student top live Now Speaking + Up Next bar */
.stulive{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.stulive>.card{margin:0;padding:13px 16px}
.stulive .label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--mu,#64748b);font-weight:700;margin-bottom:6px}
.stulive .spname{font-size:1.3rem;margin-bottom:4px}
.stulive .speaker.empty .spname{font-size:1.05rem;font-weight:600}
.stulive .timer{font-size:1.3rem}
.stulive .pill-big{font-size:.9rem;padding:4px 11px}
.stulive .spnote{font-size:.95rem;margin-top:6px}
.stulive .queue{max-height:148px;overflow-y:auto}
.stulive .queue li{padding:6px 6px}
.nxtag{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:#dbeafe;color:#1d4ed8;border-radius:999px;padding:2px 8px}
.v-student.themed .nxtag{background:var(--ac);color:var(--acx)}
@media (max-width:760px){.stulive{grid-template-columns:1fr}}

/* v1.2.5 End Session / Reopen */
.v-present .endsess{font-weight:700}
.v-present .endsess:not(.reopen):hover{background:#fee2e2;color:#991b1b}
.endsess.reopen{background:#059669;color:#fff}
.closed.ended{background:#b91c1c;color:#fff}
.who .closed.ended{margin-left:8px;border-radius:8px;padding:2px 10px;font-size:.85rem;font-weight:700}

