:root{color:#1d1d1f;--accent:#2d6cdf;--danger:#c0392b;background:#f5f4f0;font-family:system-ui,sans-serif}body{margin:0}main{max-width:960px;margin:0 auto;padding:1.5rem}button{font:inherit;cursor:pointer;background:#fff;border:1px solid #b8b5ad;border-radius:.5rem;padding:.5rem 1.1rem}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}.error{color:var(--danger);background:#fbe3e0;border-radius:.5rem;max-width:960px;margin:.5rem auto;padding:.5rem 1rem}.notice{color:var(--accent);background:#e4ecfb;border-radius:.5rem;max-width:960px;margin:.5rem auto;padding:.5rem 1rem}.sessions{padding:0;list-style:none}.sessions li{border-bottom:1px solid #ddd;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 0;display:flex}.status{justify-content:space-between;align-items:center;font-size:1.1rem;display:flex}.controls{gap:.5rem;display:flex}.board{flex-wrap:wrap;gap:2rem;margin-top:1rem;display:flex}.wheel-column{flex-direction:column;align-items:center;gap:1rem;display:flex}.task-column{flex:1;min-width:280px}.wheel{width:340px;height:340px;position:relative}.wheel svg{width:100%;height:100%}.pointer{z-index:1;color:var(--danger);font-size:1.6rem;position:absolute;top:-.6rem;left:50%;transform:translate(-50%)}.slot path{stroke:#fff;stroke-width:2px}.slot.special path{fill:#f2c46d}.slot.task path{fill:#9cc3e6}.slot.task.alt path{fill:#c3dcf2}.slot.task.empty path{fill:#e4e2dc}.slot text{fill:#1d1d1f;pointer-events:none;font-size:12px}.slot.task:not(.empty){cursor:pointer;outline:none}.slot.task:not(.empty):hover path,.slot.task:not(.empty):focus path{stroke:#1d1d1f}.wheel-area{position:relative}.slot-card{z-index:2;background:#fff;border-radius:.75rem;width:260px;padding:.75rem 1rem;position:absolute;top:0;left:calc(100% + 1rem);box-shadow:0 4px 16px #0000002e}.slot-card h3{margin:0 0 .25rem;font-size:1.05rem}.slot-card .activity{color:#6b6a66;margin:0 0 .5rem;font-size:.9rem}.spin{padding:.7rem 2.4rem;font-size:1.3rem}.preparing{color:#6b6a66}.task,.outcome,.request{background:#fff;border-radius:.75rem;margin-bottom:1rem;padding:1rem 1.25rem;box-shadow:0 1px 3px #00000014}.task .text{font-size:1.3rem;line-height:1.5}.timer{font-variant-numeric:tabular-nums;margin:.5rem 0;font-size:2.6rem}.note{color:#6b6a66}.actions{flex-wrap:wrap;gap:.5rem;display:flex}.request{border-left:6px solid var(--accent)}.outcome.success{border-left:6px solid #2e9d5b}.outcome.fail{border-left:6px solid var(--danger)}.outcome.skip,.outcome.field{border-left:6px solid #f2c46d}.outcome.overturn{border-left:6px solid var(--danger);background:#fff6f4}.overlay{background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:#fff;border-radius:.75rem;flex-direction:column;gap:.75rem;min-width:260px;padding:1.5rem 2rem;display:flex}.summary{white-space:pre-wrap;background:#fff;border-radius:.75rem;padding:1rem}.camera{width:240px;margin-bottom:1rem;position:relative}.camera video{background:#222;border-radius:.5rem;width:100%;transform:scaleX(-1)}.rec{color:#fff;background:var(--danger);border-radius:.3rem;padding:0 .4rem;font-size:.85rem;font-weight:600;position:absolute;top:.4rem;left:.5rem}.no-audio{color:#fff;background:#00000080;border-radius:.3rem;padding:0 .4rem;font-size:.8rem;position:absolute;bottom:.5rem;right:.5rem}.camera-off{color:#6b6a66}.camera-area{width:240px;position:relative}.floating-reaction{pointer-events:none;font-size:3rem;animation:2s ease-out forwards float-up;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}@keyframes float-up{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-6rem)}}.feed ul{max-width:240px;margin:0 0 1rem;padding:0;list-style:none}.feed li{border-bottom:1px solid #e3e1db;padding:.25rem 0}.feed li.reaction{font-size:1.3rem}.relay{color:#6b6a66;font-size:.95rem}.relay.watching{color:#2e9d5b;font-weight:600}.relay.offline{color:var(--danger)}.invite-link{font:inherit;box-sizing:border-box;width:100%;padding:.4rem .5rem}.invite-dialog section{text-align:left;margin:1rem 0}.invite-dialog h3{margin:0 0 .5rem;font-size:1rem}.pair-form{gap:.5rem;display:flex}.pair-form input{min-width:0;font:inherit;flex:1;padding:.4rem .5rem}ul.paired{margin:0;padding:0;list-style:none}ul.paired li{border-bottom:1px solid #e3e1db;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.4rem 0;display:flex}.paired-name{font-weight:600}.actions .watching{color:#2e9d5b;font-weight:600}.overlay[aria-label=invite] .dialog{width:min(28rem,90vw)}.controls{align-items:center}.live{color:#fff;background:var(--danger);border-radius:.3rem;padding:.1rem .5rem;font-size:.9rem;font-weight:600}
