:root{font-family:Arial,sans-serif;font-size:14px;line-height:1.45;color:#242424;background:#fafaf8;font-synthesis:none;--accent: #245a44;--muted: #5c5c57;--line: #d3d3cd}*{box-sizing:border-box}body{margin:0;background:#fafaf8;min-height:100vh}button,input,select{font:inherit;color:inherit;border:1px solid #aaa;border-radius:2px}button{cursor:pointer;background:#f0f0ed;padding:6px 12px;min-height:32px}button:hover:not(:disabled){background:#e5e5e0;border-color:#777}button:disabled{color:#777;cursor:default;background:#f5f5f2;border-color:#d3d3cd}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:#194332}button.primary:disabled{background:#eceeea;color:#747a74;border-color:#d3d3cd}button.quiet{background:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);margin:0 auto;padding:12px 24px;max-width:1328px}.brand{font-weight:700;color:inherit;text-decoration:none;font-size:16px}h1,h2,h3{font-family:Arial,sans-serif;line-height:1.2;margin:0 0 12px}h1{font-size:24px}h2{font-size:21px}h3{font-size:16px}p{margin:8px 0 12px}label{display:block;margin:12px 0}input,select{display:block;width:100%;min-width:0;background:#fff;padding:6px 8px;margin-top:5px;min-height:34px}input::placeholder{color:#757570}.landing{width:min(100% - 48px,360px);margin:48px auto}.entry h1{margin-bottom:6px}.rules-line{color:var(--muted);margin:0 0 24px}.entry>button{width:100%}.watch-choice{display:flex;align-items:center;gap:8px}.watch-choice input{width:16px;height:16px;min-height:0;margin:0;accent-color:var(--accent)}.divider{border-top:1px solid var(--line);padding-top:12px;margin-top:20px;font-size:12px;color:var(--muted)}.code-input{font-family:Courier New,monospace;letter-spacing:2px}.fineprint{font-size:12px;color:var(--muted);margin-top:16px}.game{max-width:1328px;margin:auto;padding:16px 24px}.game-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.game-heading>div:first-child{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.game-heading h1{font-size:22px;margin:0}.eyebrow,.connection,.timer,.card-type,.hand-heading h3 span{font-family:Courier New,monospace;font-size:12px}.eyebrow{color:var(--muted)}.copy{margin-left:8px;font-family:Arial,sans-serif}.connection{display:flex;align-items:center;gap:8px;color:var(--muted)}.connection small{font-size:11px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.status-dot.offline{background:#777}.layout{display:grid;grid-template-columns:minmax(0,1fr) 264px;gap:24px}.layout>*,.table-panel,.seat-info{min-width:0}.phase-strip{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.timer{white-space:nowrap}.table{padding:12px 0}.seats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px}.seat{display:flex;align-items:center;gap:10px;padding:5px 8px;background:#fff;border:1px solid var(--line)}.seat.active{border-color:var(--accent);background:#eff5f0}.avatar{width:48px;height:40px;flex:0 0 48px;display:flex;align-items:center;justify-content:center;position:relative;background:#ecece7;font:16px Courier New,monospace}.video-slot{position:absolute;inset:0;overflow:hidden}.seat-video{width:100%;height:100%;object-fit:cover}.camera-off{position:absolute;bottom:1px;right:2px;font-size:7px;color:#595953}.speaking{position:absolute;bottom:2px;left:2px;font-size:9px;background:var(--accent);color:#fff;padding:1px 3px}.seat-info{display:flex;flex-direction:column}.seat-info strong{overflow-wrap:anywhere;font-size:13px}.seat-info>span{font-family:Courier New,monospace;color:var(--muted);font-size:12px}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.actions:empty{display:none}.action-note{color:var(--muted)}.ballot-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap;width:100%}.ballot-form label{margin:0;flex:1 1 180px}.ballot-form p{margin:0}.tally{width:100%}.result{padding:8px 0}.result h2{overflow-wrap:anywhere}.result button+button{margin-left:8px}.panel{border-top:1px solid var(--line);padding:12px 0}.media-panel h3{margin-bottom:8px}.media-panel p,.host-controls p{font-size:12px;color:var(--muted)}.media-status{font-family:Courier New,monospace;font-size:12px;color:var(--muted)}.media-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.media-buttons button{padding:5px 8px;font-size:12px}.preview-video{display:block;width:100%;max-height:240px;object-fit:contain;background:#eee}summary{cursor:pointer;font-weight:700}.journal{margin-top:4px}.journal ol{padding-left:18px;margin:10px 0 0}.journal li{font-size:12px;color:var(--muted);margin-bottom:6px;overflow-wrap:anywhere}.host-controls button{margin-top:8px}.hand-panel{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.hand-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.hand-heading h3{margin:0;white-space:nowrap}.hand-heading h3 span{font-weight:400;color:var(--muted);margin-left:8px}.hand{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:8px}.card{background:#fff;display:flex;flex-direction:column;align-items:stretch;padding:10px;text-align:left;gap:6px}.card.playable{border-color:var(--accent)}.card-type{color:var(--muted);font-size:11px}.card.playable .card-type{color:var(--accent);font-weight:700}.card strong{font-size:14px}.card-description{font-size:12px;line-height:1.45;overflow-wrap:anywhere}.interruption{border:1px solid var(--line);background:#fff;padding:12px;margin-top:12px}.interruption button+button{margin-left:8px}.choice-grid{display:grid;gap:8px;margin:12px 0}.window-note{color:var(--muted)}.error{border:1px solid #777;background:#fff;margin:12px 24px;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;overflow-wrap:anywhere}.modal-backdrop{position:fixed;inset:0;z-index:10;background:#0006;display:flex;justify-content:center;align-items:center;padding:16px}.modal{width:min(560px,100%);max-height:90vh;overflow:auto;background:#fff;border:1px solid #777;padding:20px}.modal h2{margin-top:8px;clear:both}.close{float:right;margin-bottom:8px}.modal>button:not(.close){margin:8px 8px 0 0}@media(max-width:760px){header{padding:8px 12px}button,input,select,.watch-choice{min-height:44px}.landing{width:min(100% - 32px,360px);margin:24px auto}.rules-line{margin-bottom:16px}.game{padding:12px}.game-heading{align-items:start;flex-wrap:wrap}.game-heading>div:first-child{gap:8px 16px}.connection small{display:none}.layout{grid-template-columns:1fr;gap:16px}.phase-strip{font-size:13px}.seats{gap:4px}.seat{padding:6px;gap:6px}.avatar{width:32px;flex-basis:32px;height:36px}.seat-info strong,.seat-info>span{font-size:12px}.media-buttons button{min-height:44px}summary{min-height:44px;display:list-item;padding:10px 0}.hand{grid-template-columns:repeat(2,minmax(0,1fr))}.error{margin:8px 12px}.modal{padding:16px}}@media(max-width:360px){.landing{margin:16px auto}.entry label{margin:8px 0}.divider{margin-top:12px;padding-top:8px}.fineprint{margin-top:12px}.seats{grid-template-columns:1fr}}
