:root{--bg: #f4efe4;--surface: #fffdf7;--surface-2: #ebe3d0;--text: #1f1b16;--muted: #655d50;--border: #d3c9b2;--accent: #b83a0b;--accent-text: #ffffff;--lit: #f2b400;--error-bg: #fbe3e0;--error-text: #8f1d14;--seat-0: #d1493f;--seat-1: #2e7bd0;--seat-2: #2f9e5e;--seat-3: #e0a21a;--seat-4: #8a4fc8;--seat-5: #e0702b;--seat-6: #1ea5a5;--seat-7: #c9487f;--radius: 12px;--gutter: 16px;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #15120e;--surface: #211d17;--surface-2: #2d271e;--text: #f1ebdd;--muted: #b3a994;--border: #463e30;--accent: #ff8a4c;--accent-text: #1b1208;--lit: #ffd23f;--error-bg: #4a1f1b;--error-text: #ffb4a8}}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--bg);color:var(--text);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%}h1,h2,h3{line-height:1.2;margin:0 0 8px}h1{font-size:1.6rem}h2{font-size:1.2rem}h3{font-size:1rem;margin-top:12px}p{margin:0 0 8px}.screen,.courtroom{width:100%;max-width:1100px;margin:0 auto;padding:var(--gutter)}.screen{max-width:560px;display:flex;flex-direction:column;gap:16px}.lead{color:var(--muted)}.hint{color:var(--muted);margin:0}.button{min-height:44px;padding:0 18px;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.button:hover:not(:disabled){border-color:var(--accent)}.button:disabled{opacity:.55;cursor:not-allowed}.button--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.button--ghost{background:transparent}:is(.button,input):focus-visible{outline:3px solid var(--lit);outline-offset:2px}input{min-height:44px;width:100%;padding:0 12px;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit}.form,.share,.typed{display:flex;flex-direction:column;gap:8px}label{font-weight:600}.share__row,.typed__row{display:flex;gap:8px}.share__row input,.typed__row input{flex:1;min-width:0}.notice,.statusbar p{margin:0;padding:10px 12px;border-radius:var(--radius);background:var(--surface-2)}.notice--error,.statusbar p[role=alert]{background:var(--error-bg);color:var(--error-text)}.statusbar{display:flex;flex-direction:column;gap:8px;max-width:1100px;margin:0 auto;padding:var(--gutter) var(--gutter) 0}.roster{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.roster li{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius)}.roster__name{font-weight:700;overflow-wrap:anywhere}.roster__status{margin-left:auto;color:var(--muted)}.roster li[data-connected=true] .roster__status:before{content:"● ";color:#2f9e5e}.roster li[data-connected=false]{opacity:.65}.tag{padding:2px 8px;border-radius:999px;background:var(--surface-2);font-size:.8rem}.start{display:flex;flex-direction:column;gap:8px}.courtroom{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gutter)}.phasebar{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}.phasebar h1{margin:0}.phasebar__turn{margin:0;display:flex;gap:12px;align-items:baseline;font-weight:600}.timer{font-variant-numeric:tabular-nums;font-size:1.4rem}.timer[data-low=true]{color:var(--accent)}.stage,.side{display:flex;flex-direction:column;gap:var(--gutter);min-width:0}.court{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:8px;align-items:end;padding:12px 8px;background:var(--surface-2);border-radius:var(--radius)}.court__side,.court__centre{display:flex;flex-direction:column;gap:8px;align-items:center;min-width:0}.players{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:8px}.portrait{margin:0;width:100%;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 4px;border:3px solid transparent;border-radius:var(--radius);text-align:center;transition:background-color .15s,border-color .15s}.portrait__art{width:100%;max-width:120px}.portrait[data-size=small] .portrait__art{max-width:64px}.portrait__art svg{display:block;width:100%;height:auto}.portrait__name{font-size:.85rem;font-weight:600;overflow-wrap:anywhere}.portrait[data-turn=true]{border-color:var(--border)}.portrait[data-away=true] .portrait__art{filter:grayscale(1);opacity:.5}.portrait[data-lit=true]{background:var(--surface);border-color:var(--lit);box-shadow:0 0 18px var(--lit)}.portrait[data-lit=true] .portrait__name{text-decoration:underline;text-decoration-thickness:2px}.captions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;min-height:3.5em}.captions__item{padding:8px 12px;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);overflow-wrap:anywhere}.captions__item[data-kind=court]{border-color:var(--accent)}.picker{margin:0;padding:12px;border:2px solid var(--accent);border-radius:var(--radius)}.picker legend{padding:0 6px;font-weight:700}.picker__choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.picker__choices .button[data-chosen=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text);opacity:1}.picker__done{margin:8px 0 0}.verdict,.scoreboard,.drawer__card{padding:12px;background:var(--surface);border:2px solid var(--border);border-radius:var(--radius)}.verdict__votes,.scoreboard ol{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:6px}.verdict__votes li{display:flex;flex-direction:column}.verdict__votes q{color:var(--muted)}.verdict__sentence{font-weight:700}.verdict__line{font-style:italic}.scoreboard li{display:flex;justify-content:space-between;gap:12px;font-weight:600}.scoreboard__reveal{margin:0 0 12px;padding:0 0 12px;border-bottom:2px solid var(--border)}.scoreboard__reveal p{margin:0 0 6px}.scoreboard__reveal blockquote{margin:0;font-style:italic;color:var(--muted)}.drawer{display:flex;flex-direction:column;gap:8px}.drawer__role{font-weight:700}@media(min-width:900px){.courtroom{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start}.phasebar{grid-column:1 / -1}}@media(prefers-reduced-motion:reduce){.portrait{transition:none}}
