:root{--bg:#f5f6f8;--surface:#fff;--text:#1c2230;--muted:#5d6678;--border:#d8dce5;--primary:#2457d6;--primary-text:#fff;--tutor:#1b5fd1;--student:#b4540a;--ok:#167a3e;--warn:#9a5b00;--bad:#b3261e;--wait:#4b5565;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#12151c;--surface:#1b2030;--text:#e8ebf3;--muted:#a0a8ba;--border:#2f3548;--primary:#6b92ff;--primary-text:#0b1020;--tutor:#7aa5ff;--student:#ffab66;--ok:#55d68a;--warn:#f0b24d;--bad:#ff8a80;--wait:#b4bccd}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}h1{margin:0 0 .25rem;font-size:1.35rem}h2{margin:0 0 .75rem;font-size:1.05rem}p{margin:.25rem 0}.muted{color:var(--muted)}.small{font-size:.85rem}button,input,select{font:inherit;color:inherit}button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;min-height:40px;padding:.5rem .9rem}button:hover:not(:disabled){border-color:var(--primary)}button:disabled{opacity:.55;cursor:default}button.primary{background:var(--primary);color:var(--primary-text);border-color:var(--primary);font-weight:600}button.danger{background:var(--bad);color:#fff;border-color:var(--bad)}@media (prefers-color-scheme:dark){button.danger{color:#1b1010}}button.quiet{color:var(--muted);background:0 0;border-color:#0000}button.off{background:var(--bad);color:#fff;border-color:var(--bad)}@media (prefers-color-scheme:dark){button.off{color:#1b1010}}:focus-visible{outline:3px solid var(--primary);outline-offset:2px}input,select{border:1px solid var(--border);background:var(--surface);border-radius:8px;width:100%;min-height:40px;padding:.5rem .65rem}label{gap:.3rem;font-weight:500;display:grid}.stack{gap:.9rem;display:grid}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.row.center{justify-content:center}.grid2{grid-template-columns:1fr 1fr;gap:.75rem;margin:1rem 0;display:grid}@media (width<=560px){.grid2{grid-template-columns:1fr}}.page{gap:1rem;max-width:640px;margin:0 auto;padding:1.5rem 16px 3rem;display:grid}.page.narrow{max-width:560px}.brand p{color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem}.error{color:var(--bad);font-weight:500}.recent{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.recent li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.badge{border:1.5px solid;border-radius:6px;margin-left:.4rem;padding:.05rem .4rem;font-size:.75rem;font-weight:700;display:inline-block}.badge.tutor{color:var(--tutor)}.badge.student{color:var(--student)}.preview,.tile{aspect-ratio:16/9;border-radius:var(--radius);background:#0d1018;margin:0;position:relative;overflow:hidden}.preview{margin-bottom:.9rem}video{object-fit:cover;width:100%;height:100%;display:block}video.mirror{transform:scaleX(-1)}.overlay{color:#d7dbe6;text-align:center;place-content:center;justify-items:center;gap:.6rem;padding:1rem;font-size:.95rem;display:grid;position:absolute;inset:0}.avatar{background:#2b3247;border-radius:50%;place-items:center;width:52px;height:52px;font-size:1.4rem;font-weight:700;display:grid}.tile{border:3px solid #0000}.tile.tutor{border-color:var(--tutor)}.tile.student{border-color:var(--student);border-style:dashed}.tile figcaption{color:#fff;background:#000000a6;border-radius:6px;padding:.1rem .5rem;font-size:.8rem;position:absolute;bottom:6px;left:6px}.tile figcaption .badge{color:#fff;margin:0 .2rem 0 0}.live{grid-template-rows:auto 1fr;height:100%;display:grid}.bar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;padding:.6rem 16px;display:flex}.bar .title{align-items:center;gap:.25rem;min-width:0;display:flex}.bar h1{text-overflow:ellipsis;white-space:nowrap;max-width:36ch;margin:0;font-size:1.05rem;overflow:hidden}.pill{border:1.5px solid;border-radius:999px;margin:0;padding:.25rem .75rem;font-size:.85rem;font-weight:600}.pill.ok{color:var(--ok)}.pill.warn{color:var(--warn)}.pill.bad{color:var(--bad)}.pill.wait{color:var(--wait)}.invite{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.invite input{width:22rem;max-width:100%}.stage{grid-template-columns:minmax(0,1fr) 320px;gap:12px;min-height:0;padding:12px;display:grid}.document{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);place-items:center;min-height:240px;display:grid}.placeholder{text-align:center;color:var(--muted);padding:1rem}.side{align-content:start;gap:.6rem;display:grid;overflow-y:auto}.controls{padding-top:.25rem}.banner{background:var(--surface);border:2px solid var(--bad);border-radius:var(--radius);align-items:center;gap:1rem;max-width:calc(100vw - 32px);padding:.6rem 1rem;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #00000040}@media (width<=900px){.live{height:auto;min-height:100%}.stage{grid-template-columns:1fr}.side{grid-template-columns:1fr 1fr}.side .controls,.side p{grid-column:1/-1}}@media (width<=520px){.side{grid-template-columns:1fr}}
