.ptv-host{position:relative;width:100%;min-width:0}.ptv-host--stadium{display:flex;justify-content:center;align-items:center}.ptv-host--fill{height:100%}.ptv{position:relative;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ptv--oval{width:100%;aspect-ratio:1600/920;container-type:inline-size;--u:calc(100cqw / 1600);--seat-font:max(10.5px,calc(22 * var(--u)))}.ptv--stadium{flex:none;--seat-font:calc(12px * var(--su, 1))}.ptv__art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.ptv-seat{position:absolute;z-index:2;font-size:var(--seat-font);transform:translate(-50%,-50%) scale(var(--k,1));transform-origin:50% 50%;width:7em}.ptv--oval .ptv-seat{width:8.6em}.ptv-plate{position:relative;z-index:1;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:.1em;width:100%;min-height:3.1em;padding:.3em .5em;border-radius:.55em;border:1px solid var(--border-strong);background:color-mix(in srgb,var(--surface-1) 92%,transparent);color:var(--text);font:inherit;line-height:1.15;text-align:center;box-shadow:0 .2em .6em color-mix(in srgb,var(--chip-black) 45%,transparent)}button.ptv-plate{cursor:pointer}button.ptv-plate:hover{border-color:var(--gold)}.ptv-plate__top{display:flex;justify-content:center;align-items:baseline;gap:.35em;min-width:0;font-weight:700}.ptv-plate__pos{flex:none;color:var(--gold-strong);letter-spacing:.02em}.ptv-plate__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ptv-plate__stack{font-weight:650;font-size:1.05em}.ptv-plate__stats{display:block;font-size:.72em;line-height:1.25;font-weight:500;color:var(--muted);white-space:nowrap}.ptv--names .ptv-plate{min-height:calc(3.1em + .95em)}.ptv-plate__player{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78em;line-height:1.15;font-weight:600;color:var(--muted)}.ptv-seat.is-hero .ptv-plate{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 .2em .6em color-mix(in srgb,var(--chip-black) 45%,transparent)}.ptv-plate__you{flex:none;align-self:center;padding:.12em .42em;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:.86em;font-weight:800;line-height:1.1;letter-spacing:.02em}@property --ptv-arc{syntax:"<angle>";inherits:false;initial-value:0deg}.ptv-seat.is-active{z-index:3;transform:translate(-50%,-50%) translateY(-.2em) scale(calc(var(--k, 1) * 1.05))}.ptv-seat.is-active .ptv-plate{border-color:var(--turn);background:color-mix(in srgb,var(--turn) 16%,var(--surface-1));box-shadow:0 0 0 2px var(--turn),0 0 1.4em color-mix(in srgb,var(--turn) 65%,transparent);animation:ptv-glow 1.4s ease-in-out infinite alternate}.ptv-seat.is-active .ptv-plate:after{content:"";position:absolute;inset:-7px;border-radius:calc(.55em + 7px);padding:4px;background:conic-gradient(from var(--ptv-arc),color-mix(in srgb,var(--turn) 35%,transparent) 0 40%,var(--turn) 62%,var(--turn-hot) 74% 76%,color-mix(in srgb,var(--turn) 35%,transparent) 77% 100%);-webkit-mask:linear-gradient(currentColor 0 0) content-box,linear-gradient(currentColor 0 0);-webkit-mask-composite:xor;mask:linear-gradient(currentColor 0 0) content-box exclude,linear-gradient(currentColor 0 0);pointer-events:none;filter:drop-shadow(0 0 5px var(--turn));animation:ptv-arc 1.8s linear infinite}@keyframes ptv-arc{to{--ptv-arc:360deg}}@keyframes ptv-glow{0%{box-shadow:0 0 0 2px var(--turn),0 0 .6em color-mix(in srgb,var(--turn) 35%,transparent)}to{box-shadow:0 0 0 2px var(--turn),0 0 1.8em color-mix(in srgb,var(--turn) 75%,transparent)}}.ptv.has-actor .ptv-seat:not(.is-active,.is-folded,.is-winner,.is-hero) .ptv-plate{opacity:.82}.ptv--motion .ptv-seat{transition:transform .22s var(--ease)}.ptv--motion .ptv-plate{transition:opacity .22s var(--ease)}.ptv-seat.is-folded .ptv-plate{opacity:.55}.ptv-seat.is-hero.is-folded .ptv-plate{opacity:1;color:var(--muted)}.ptv-seat.is-hero.is-folded .ptv-plate__pos{color:var(--muted)}.ptv-seat.is-winner .ptv-plate{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 22%,var(--surface-1));box-shadow:0 0 0 2px var(--gold)}.ptv-badge.ptv-badge--acting{display:inline-flex;align-items:center;gap:.35em;background:var(--turn);color:var(--turn-ink);border-color:transparent;z-index:2}.ptv-acting__dot{width:.5em;height:.5em;border-radius:50%;background:currentColor;animation:ptv-dot 1s ease-in-out infinite alternate}@keyframes ptv-dot{to{opacity:.25}}.ptv .ptv-seat .ptv-cards.ptv-cards--gone{opacity:0;pointer-events:none}.ptv-ghost-chip{position:absolute;z-index:4;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--chip-red);border:2px dashed var(--card-face);box-shadow:0 1px 2px var(--chip-shadow);pointer-events:none}.ptv-card--press{-webkit-touch-callout:none;touch-action:manipulation}@media (prefers-reduced-motion:reduce){.ptv-acting__dot,.ptv-seat.is-active .ptv-plate,.ptv-seat.is-active .ptv-plate:after{animation:none}.ptv-seat.is-active .ptv-plate:after{background:var(--turn)}.ptv--motion .ptv-plate,.ptv--motion .ptv-seat{transition:none}}.ptv--picking .ptv-plate{outline:2px dashed var(--gold);outline-offset:2px}.ptv-cards{position:absolute;left:50%;bottom:calc(100% - .3em);transform:translateX(-50%);display:flex;justify-content:center}.ptv-cards .ptv-card+.ptv-card{margin-left:-.35em}.ptv-cards--4 .ptv-card{width:2.1em}.ptv-cards--4 .ptv-card+.ptv-card{margin-left:-.5em}.ptv-cards--4 .ptv-card{align-items:flex-start;padding-left:.22em}.ptv-cards--4 .ptv-card .ct__suit{font-size:1.25em}.ptv-seat.is-folded .ptv-cards{opacity:.45}.ptv-badge{position:absolute;left:50%;top:calc(100% + .2em);transform:translateX(-50%);padding:.12em .5em;border-radius:999px;font-size:.82em;font-weight:700;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--surface-3);color:var(--text);border:1px solid var(--border-strong)}.ptv-card{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:flex-start;width:2.7em;height:3.75em;padding:.24em 0 0;border-radius:.3em;background:var(--card-face);box-shadow:var(--shadow-card);font-family:var(--font-inter,"Inter"),system-ui,sans-serif;font-weight:700;line-height:1;border:0;color:inherit}.ptv-card.ct--s{color:var(--suit-s)}.ptv-card.ct--h{color:var(--suit-h)}.ptv-card.ct--d{color:var(--suit-d)}.ptv-card.ct--c{color:var(--suit-c)}.ptv-card .ct__rank{font-size:1.35em;letter-spacing:-.04em}.ptv-card .ct__suit{font-size:1.5em;line-height:.95}.ptv-card.ct--rank-only{color:var(--suit-s)}.ptv-card .ct__unknown{color:color-mix(in srgb,var(--suit-s) 55%,var(--card-face));font-weight:600}.ptv-card .ct__suit.ct__unknown{font-size:1.25em;line-height:1.1}.ptv-card--empty{background:color-mix(in srgb,var(--chip-black) 35%,transparent);box-shadow:none;border:1.5px dashed color-mix(in srgb,var(--card-face) 55%,transparent);color:var(--card-face)}.ptv-card__plus{font-size:1.3em;font-weight:600;opacity:.85}.ptv-card--back{background:repeating-linear-gradient(45deg,var(--felt-deep) 0 .3em,var(--felt) .3em .6em);box-shadow:0 0 0 .15em var(--card-face) inset,var(--shadow-card)}button.ptv-card{cursor:pointer}button.ptv-card:hover{transform:translateY(-.15em)}.ptv button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.ptv-middle{position:absolute;z-index:1;transform:translate(-50%,-50%);font-size:var(--seat-font)}.ptv--oval .ptv-middle{font-size:max(11px,calc(23 * var(--u)))}.ptv-board{display:flex;gap:.35em;perspective:40em}.ptv-board .ptv-card--gap{margin-left:.25em}.ptv--stadium .ptv-board{gap:calc(6px * var(--su, 1))}.ptv--stadium .ptv-board .ptv-card{width:calc(32px * var(--su, 1));height:calc(45px * var(--su, 1))}.ptv--stadium .ptv-board .ptv-card--gap{margin-left:0}.ptv-pot{position:absolute;left:50%;bottom:calc(100% + .5em);transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.25em;white-space:nowrap}.ptv-pot__street{padding:.15em .6em;border-radius:999px;font-size:.8em;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--card-face);background:color-mix(in srgb,var(--chip-black) 55%,transparent)}.ptv-pot__amount{padding:.2em .75em;border-radius:.4em;font-weight:750;color:var(--card-face);background:color-mix(in srgb,var(--chip-black) 70%,transparent)}.ptv-chip{position:absolute;z-index:3;display:inline-flex;align-items:center;gap:.3em;padding:.1em .5em .1em .15em;border-radius:999px;transform:translate(-50%,-50%) scale(var(--k,1));font-size:var(--seat-font);font-weight:700;white-space:nowrap;color:var(--card-face);background:color-mix(in srgb,var(--chip-black) 78%,transparent)}.ptv--stadium .ptv-chip{font-size:calc(11px * var(--su, 1))}.ptv-dealer{position:absolute;z-index:3;display:grid;place-items:center;transform:translate(-50%,-50%) scale(var(--k,1));padding:0;border:0;background:transparent}.ptv-dealer--button{width:44px;height:44px;cursor:pointer}.ptv-dealer__disc{display:grid;place-items:center;width:max(20px,calc(38 * var(--u, 1px)));height:max(20px,calc(38 * var(--u, 1px)));border-radius:50%;background:var(--gold);color:var(--gold-ink);font-weight:800;font-size:max(11px,calc(19 * var(--u, 1px)));box-shadow:0 0 0 2px color-mix(in srgb,var(--gold-ink) 35%,transparent) inset,0 2px 6px color-mix(in srgb,var(--chip-black) 50%,transparent)}.ptv--stadium .ptv-dealer__disc{width:calc(22px * var(--su, 1));height:calc(22px * var(--su, 1));font-size:calc(12px * var(--su, 1))}.ptv-dealer.is-moving .ptv-dealer__disc{outline:2px dashed var(--gold);outline-offset:3px}