#tv{min-height:100vh;padding:var(--space-tv-safe);flex-direction:column;display:flex;position:relative;overflow:hidden}.view{justify-content:center;align-items:center;gap:var(--space-6);text-align:center;flex-direction:column;flex:1;min-height:0;display:flex}.view p,.view h1{margin:0}.view ul,.view ol{margin:0;padding:0;list-style:none}.chip{padding:var(--space-1) var(--space-4);border-radius:var(--radius-pill);background:var(--pc,var(--surface-strong));color:var(--pc-on,var(--foreground));font:600 28px/1.2 var(--font-sans);display:inline-block}.chip.huge{font:400 96px/1.1 var(--font-display);padding:var(--space-3) var(--space-8)}.dim{opacity:.45}.btn{min-height:64px;padding:0 var(--space-6);border:2px solid var(--border-control);border-radius:var(--radius);background:var(--surface-strong);font:400 28px/1 var(--font-display);cursor:pointer}.btn.primary{background:var(--accent);color:var(--accent-on);border-color:var(--accent)}.btn:disabled{opacity:.4;cursor:default}.btn:focus-visible{outline:var(--stroke-select) solid var(--select);outline-offset:3px}.key{margin-left:var(--space-3);font:600 16px/1 var(--font-mono);opacity:.7}.btn.x{min-height:40px;padding:0 var(--space-3);font-size:18px}.host-controls{justify-content:center;gap:var(--space-4);min-height:64px;display:flex}.lobby{gap:var(--space-12);text-align:left;flex-direction:row}.lobby .join{align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.qr{border-radius:var(--radius);width:320px;height:320px}.roster{gap:var(--space-4);flex-direction:column;display:flex}.players{gap:var(--space-3);display:grid}.player{align-items:center;gap:var(--space-4);display:flex}.badge{padding:var(--space-1) var(--space-3);border:2px solid var(--border-control);border-radius:var(--radius-pill);font:600 20px/1.2 var(--font-sans);color:var(--muted)}.badge.ok{border-color:var(--success);color:var(--success)}.badge.warn{border-color:var(--danger);color:var(--danger)}.rule-art{font-size:160px;line-height:1}.rule-text{max-width:24em;font:400 40px/1.35 var(--font-sans)}.dots{gap:var(--space-3);display:flex}.dot{border-radius:var(--radius-round);background:var(--presence-off);width:20px;height:20px}.dot.on{background:var(--accent)}.countdown{font-size:320px}.count{font-size:200px}.shots{font-size:120px}.shoot .flash{background:var(--flash);opacity:0;pointer-events:none;position:fixed;inset:0}.shoot .flash.on{opacity:1}.review .stage{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;container-type:size}.photo-box{aspect-ratio:var(--aspect);width:min(100cqw, 100cqh * var(--aspect));background:var(--print-image-empty);border-radius:var(--radius-print);box-shadow:var(--shadow-pop);position:relative}.photo-box .photo{object-fit:fill;border-radius:var(--radius-print);width:100%;height:100%;display:block}.photo-box .empty{height:100%;font:400 40px/1 var(--font-marker);color:var(--muted);place-items:center;display:grid}.tag{width:calc(var(--tag-size) * var(--short-frac));aspect-ratio:1;border-radius:var(--radius-round);border:var(--tag-stroke) solid var(--pc);outline:var(--tag-keyline) solid var(--brand-ink);box-shadow:0 0 0 var(--tag-keyline) var(--brand-ink);position:absolute;transform:translate(-50%,-50%)}.tag .tag-name{padding:2px var(--space-2);border-radius:var(--radius-mark);background:var(--pc);color:var(--pc-on);font:400 28px/1 var(--font-marker);white-space:nowrap;position:absolute;top:100%;left:50%;transform:translate(-50%)}.tag.unknown{border-color:var(--tag-unknown)}.tag .q{color:var(--tag-unknown);font:400 40px/1 var(--font-display);place-items:center;display:grid;position:absolute;inset:0}.caught{justify-content:center;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.results{gap:var(--space-12);flex-direction:row}.standings{gap:var(--space-2);min-width:480px;display:grid}.standing{align-items:center;gap:var(--space-4);display:flex}.standing .rank{text-align:right;width:2.2em}.standing .pts{margin-left:auto}.winners{gap:var(--space-6);flex-wrap:wrap;justify-content:center;display:flex}.podium{align-items:flex-end;gap:var(--space-4);display:flex}.podium .step{align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);background:var(--surface-strong);border-radius:var(--radius);flex-direction:column;display:flex}.podium .step[data-rank="1"]{padding-top:var(--space-12)}
