:root{color-scheme:dark;--ink: #f4e8d0;--muted: #cbb99a;--bg: #110e0b;--felt: #163226;--felt-deep: #0f241b;--gold: #e4c36a;--gold-deep: #b8892d;--cream: #f3e2b8;--rust: #c45b32;--blood: #9a2f22;--go: #7ed36a;--line: rgba(228, 195, 106, .28);--shadow: 0 18px 50px rgba(0, 0, 0, .38);--ad-banner-height: 0px;--ad-banner-lift: 0px;--ad-banner-reserve: calc(var(--ad-banner-height) + var(--ad-banner-lift));font-family:Fraunces,Georgia,serif;background:var(--bg);color:var(--ink)}*{box-sizing:border-box}html,body,#root,.app-shell{height:100%;height:100dvh;margin:0}body.has-ad-banner .app-shell{height:calc(100dvh - var(--ad-banner-reserve, 0px))}body{background:radial-gradient(1200px 600px at 50% -10%,rgba(228,195,106,.12),transparent 50%),var(--bg)}button,input{font:inherit}h1,h2,strong{font-family:Bebas Neue,Impact,sans-serif;letter-spacing:.04em}.eyebrow{margin:0 0 .35rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.btn{border:1px solid var(--gold);background:transparent;color:var(--ink);padding:.75rem 1.15rem;cursor:pointer;letter-spacing:.04em}.btn.primary{background:var(--gold);color:#22180b}.btn.ghost{background:transparent}.btn.small{padding:.4rem .7rem;font-size:.9rem}.btn:disabled{opacity:.38;cursor:not-allowed}.title-screen{max-width:760px;height:100%;margin:0 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:max(8vh,env(safe-area-inset-top)) max(1.5rem,env(safe-area-inset-right)) max(4rem,env(safe-area-inset-bottom),var(--ad-banner-reserve, 0px)) max(1.5rem,env(safe-area-inset-left))}.sound-toggle{position:fixed;top:calc(.65rem + env(safe-area-inset-top));right:calc(.65rem + env(safe-area-inset-right));z-index:40;width:2.5rem;height:2.5rem;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--line);border-radius:999px;background:#110e0bd1;color:var(--cream);cursor:pointer;box-shadow:0 2px 8px #00000047;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.sound-toggle:hover{background:#241a10f2;color:var(--gold)}.sound-toggle:active{transform:translateY(1px)}.sound-toggle.is-muted{color:var(--muted);border-color:#e4c36a29}.sound-toggle svg{display:block}.title-stamp{display:inline-block;margin-bottom:1.2rem;padding:.2rem .55rem;border:2px solid var(--rust);color:var(--rust);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;transform:rotate(-2deg)}.title-screen h1{margin:0;font-size:clamp(6rem,18vw,10rem);line-height:.8}.subtitle{margin:.4rem 0 1.2rem;color:var(--gold);font-size:1.35rem}.lede{max-width:42rem;font-size:1.15rem;line-height:1.55;color:var(--muted)}.title-actions{display:flex;flex-direction:column;gap:.65rem;margin:1.6rem 0 2.2rem}.title-action-row{display:flex;flex-wrap:nowrap;gap:.5rem}.title-action-row .btn{flex:1;min-width:0;text-align:center}.title-online-note,.title-legal{margin:.35rem 0 0;color:var(--muted);font-size:.85rem}.title-legal{margin-top:2.4rem;text-align:center}.home-actions{display:grid;gap:.75rem;margin:1.6rem 0 1.2rem;max-width:22rem}.home-actions .btn{width:100%;padding:.9rem 1rem;font-size:1.05rem}.title-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem 1.15rem;max-width:22rem;margin:.2rem 0 .4rem}.title-links .text-link:disabled{opacity:.45;cursor:not-allowed}.setup-title{margin:.2rem 0 .4rem;font-size:clamp(2.6rem,9vw,3.6rem);line-height:.95}.setup-actions{max-width:22rem}.setup-actions .btn{flex:1;padding:.85rem 1rem;font-size:1rem}body.has-ad-banner .title-screen{padding-bottom:calc(var(--ad-banner-reserve, 62px) + 2.75rem)}.share-modes{margin:1.6rem 0 0}.remove-ads{display:grid;justify-items:center;gap:.45rem;margin:.85rem 0 0}.remove-ads .btn{min-width:12rem}.remove-ads-note{margin:1.4rem 0 0;color:var(--muted);font-size:.85rem;text-align:center}.text-link{background:none;border:0;padding:0;color:var(--gold);cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:.18em}.name-field{display:grid;gap:.4rem;margin:1.4rem 0 0;max-width:22rem}.name-field input{width:100%;padding:.7rem .85rem;border:1px solid var(--line);border-radius:4px;background:#110e0bb8;color:var(--cream);font:inherit}.name-field input:focus,.name-field select:focus{outline:2px solid var(--gold);outline-offset:1px}.name-field select{width:100%;padding:.7rem 2.2rem .7rem .85rem;border:1px solid var(--line);border-radius:4px;background-color:#110e0bb8;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 1.15rem) 55%,calc(100% - .75rem) 55%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;color:var(--cream);font:inherit;appearance:none}.code-input{letter-spacing:.18em;text-transform:uppercase;font-family:IBM Plex Mono,ui-monospace,monospace}.title-error{margin:1rem 0 0}.lobby-title{font-size:clamp(3.4rem,10vw,5.5rem)!important;line-height:.9!important}.room-code-mark{margin:1rem 0 0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:clamp(2.2rem,7vw,3.2rem);letter-spacing:.22em;color:var(--gold)}.lobby-panel{margin:1.4rem 0 0}.lobby-seats{display:grid;gap:.55rem;padding:0;margin:.6rem 0 0;list-style:none}.lobby-seats li{display:flex;justify-content:space-between;gap:1rem;padding:.7rem .85rem;border:1px solid var(--line)}.lobby-seats .away,.lobby-seats .empty{opacity:.7}.lobby-seats small{color:var(--muted)}.room-chip{display:block;margin-top:.15rem;color:var(--gold);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem;letter-spacing:.08em}.seat-picker{margin:1.6rem 0 0}.seat-picker-row{display:flex;align-items:center;gap:.85rem}.seat-picker-row strong{min-width:2.4rem;font-size:3rem;text-align:center}.seat-picker-copy{margin:.45rem 0 0;color:var(--muted)}.length-picker{max-width:22rem}@media(max-width:640px){.title-actions{gap:.45rem;margin:1.2rem 0 1.6rem}.title-action-row{gap:.35rem}.title-action-row .btn{padding:.55rem .3rem;font-size:.7rem;line-height:1.2;letter-spacing:.02em}.home-actions .btn,.setup-actions .btn{padding:.9rem 1rem;font-size:1rem;letter-spacing:.04em}}.score-goal{margin:0 0 1rem;color:var(--muted)}.title-actions .score-goal{margin:0}.title-ladder{display:grid;gap:.7rem;padding:0;list-style:none}.setup-ladder{max-width:22rem;margin:1.5rem 0 0}.ladder-row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.ladder-row.mid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.rank-card{border:1px solid var(--line);padding:.9rem}.rank-card.gold{border-color:var(--gold)}.rank-card.cream{border-color:var(--cream)}.rank-card.rust{border-color:var(--rust)}.rank-card.blood{border-color:var(--blood)}.rank-card.citizen-empty{opacity:.72}.rank-card span{display:block;font-family:Bebas Neue,Impact,sans-serif;font-size:1.4rem}.rank-card small{color:var(--muted)}.table-page{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.table-topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:calc(.9rem + env(safe-area-inset-top)) 4rem .9rem max(1.2rem,env(safe-area-inset-left));border-bottom:1px solid var(--line)}.table-topbar strong{font-size:1.8rem}.score-strip{display:flex;flex-wrap:wrap;gap:1rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.78rem;color:var(--muted)}.top-actions{display:flex;gap:.5rem}.felt{position:relative;margin:.5rem 1rem;min-height:0;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.05),transparent 28%),linear-gradient(180deg,var(--felt) 0%,var(--felt-deep) 100%);border:10px solid #2a1c10;box-shadow:var(--shadow),inset 0 0 80px #00000059}.deal-layer{position:absolute;inset:0;z-index:6;pointer-events:none}.deal-fly{position:absolute;left:var(--from-x);top:var(--from-y);transform:translate(-50%,-50%);animation:deal-fly .2s ease-out forwards}.deal-deck{display:flex;justify-content:center;height:60px}.deal-deck .card{margin-left:-26px}.deal-deck .card:first-child{margin-left:0}.deal-deck .card:nth-child(2){transform:rotate(-7deg)}.deal-deck .card:nth-child(3){transform:rotate(8deg)}.seat.dealer .plaque{outline:2px solid var(--rust)}@keyframes deal-fly{to{left:var(--to-x);top:var(--to-y);transform:translate(-50%,-50%) rotate(-16deg);opacity:.15}}.felt.seats-4{display:grid;grid-template-columns:1fr 1.5fr 1fr;grid-template-rows:auto 1fr auto;grid-template-areas:"west north east" "west pile east" "south south south"}.felt{--ring-x: 46%;--ring-y: 43%}.felt.seats-5{--ring-x: 46%;--ring-y: 44%}.felt.seats-6{--ring-x: 46%;--ring-y: 43%}.felt.seats-7,.felt.seats-8{--ring-x: 45%;--ring-y: 42%}.seat{position:absolute;left:calc(50% + var(--seat-x, 0) * var(--ring-x));top:calc(50% - var(--seat-y, 0) * var(--ring-y));z-index:2;padding:.2rem;transform:translate(-50%,-50%);text-align:center}.felt:not(.seats-4) .seat.slot-n,.felt:not(.seats-4) .seat.slot-nw,.felt:not(.seats-4) .seat.slot-ne{transform:translate(-50%);margin-top:.25rem}.felt:not(.seats-4) .seat.slot-s,.felt:not(.seats-4) .seat.slot-sw,.felt:not(.seats-4) .seat.slot-se{transform:translate(-50%,-100%)}.felt:not(.seats-4) .seat.slot-w,.felt:not(.seats-4) .seat.slot-wn,.felt:not(.seats-4) .seat.slot-ws{transform:translateY(-50%)}.felt:not(.seats-4) .seat.slot-e,.felt:not(.seats-4) .seat.slot-en,.felt:not(.seats-4) .seat.slot-es{transform:translate(-100%,-50%)}@media(min-width:901px){.felt:not(.seats-4) .seat{display:grid;margin:0;padding:0;width:max-content;column-gap:.45rem;row-gap:.15rem;justify-items:center;align-items:center}.felt:not(.seats-4) .seat .plaque{grid-area:plaque}.felt:not(.seats-4) .seat .last-act{grid-area:act;margin:0}.felt:not(.seats-4) .seat .back-row,.felt:not(.seats-4) .seat .leftover-row{grid-area:cards;margin-top:0}.felt:not(.seats-4) .seat.slot-n,.felt:not(.seats-4) .seat.slot-nw,.felt:not(.seats-4) .seat.slot-ne{grid-template-areas:"plaque" "act" "cards"}.felt:not(.seats-4) .seat.slot-s,.felt:not(.seats-4) .seat.slot-sw,.felt:not(.seats-4) .seat.slot-se{grid-template-areas:"cards" "act" "plaque"}.felt:not(.seats-4) .seat.slot-w,.felt:not(.seats-4) .seat.slot-wn,.felt:not(.seats-4) .seat.slot-ws{grid-template-areas:"plaque cards" "act cards";justify-items:start}.felt:not(.seats-4) .seat.slot-e,.felt:not(.seats-4) .seat.slot-en,.felt:not(.seats-4) .seat.slot-es{grid-template-areas:"cards plaque" "cards act";justify-items:end}.felt:not(.seats-4) .seat.slot-n{top:.2rem;left:50%;right:auto;bottom:auto;transform:translate(-50%)}.felt:not(.seats-4) .seat.slot-s{top:auto;left:50%;right:auto;bottom:.2rem;transform:translate(-50%)}.felt:not(.seats-4) .seat.slot-w{top:50%;left:.2rem;right:auto;bottom:auto;transform:translateY(-50%)}.felt:not(.seats-4) .seat.slot-e{top:50%;left:auto;right:.2rem;bottom:auto;transform:translateY(-50%)}.felt:not(.seats-4) .seat.slot-nw{top:.2rem;left:26%;right:auto;bottom:auto;transform:translate(-50%)}.felt:not(.seats-4) .seat.slot-ne{top:.2rem;left:74%;right:auto;bottom:auto;transform:translate(-50%)}.felt:not(.seats-4) .seat.slot-sw{top:auto;left:26%;right:auto;bottom:.2rem;transform:translate(-50%)}.felt:not(.seats-4) .seat.slot-se{top:auto;left:74%;right:auto;bottom:.2rem;transform:translate(-50%)}.felt:not(.seats-4) .seat.slot-wn{top:24%;left:.2rem;right:auto;bottom:auto;transform:none}.felt:not(.seats-4) .seat.slot-ws{top:auto;left:.2rem;right:auto;bottom:24%;transform:none}.felt:not(.seats-4) .seat.slot-en{top:24%;left:auto;right:.2rem;bottom:auto;transform:none}.felt:not(.seats-4) .seat.slot-es{top:auto;left:auto;right:.2rem;bottom:24%;transform:none}}.felt.seats-4 .seat{position:static;transform:none;padding:.8rem}.felt.seats-4 .seat.north{grid-area:north;justify-self:center;width:max-content}.felt.seats-4 .seat.west{grid-area:west;align-self:center;justify-self:start;width:max-content}.felt.seats-4 .seat.east{grid-area:east;align-self:center;justify-self:end;width:max-content}.felt.seats-4 .seat.south{grid-area:south;justify-self:center;width:max-content;padding-top:.2rem}.seat.you .back-row{display:none}.plaque{display:flex;align-items:center;justify-content:space-between;gap:.8rem;min-width:132px;padding:.55rem .7rem;border:1px solid var(--line);background:#0a08068c}.plaque small{display:block;color:var(--muted)}.plaque.gold{border-color:var(--gold)}.plaque.cream{border-color:var(--cream)}.plaque.rust{border-color:var(--rust)}.plaque.blood{border-color:var(--blood);background:#9a2f222e}.seat.active .plaque{outline:2px solid var(--go);box-shadow:0 0 0 1px #7ed36a47}.seat.out{opacity:.4}.seat.out .plaque{outline:none;box-shadow:none}.seat.out .last-act,.seat.out .back-row{display:none}.seat.out .count{color:var(--muted)}.count{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:1.2rem;color:var(--gold)}.last-act{margin:.28rem 0 0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.68rem;letter-spacing:.03em;color:var(--cream)}.last-act.pass,.last-act.skip{color:var(--muted)}.back-row{display:flex;justify-content:center;margin-top:.45rem;max-width:168px}.back-row .card{margin-left:-28px}.back-row .card:first-child{margin-left:0}.leftover-row{display:flex;justify-content:center;flex-wrap:wrap;margin-top:.45rem;max-width:220px}.leftover-row .card{margin-left:-20px}.leftover-row .card:first-child{margin-left:0}.seat.dingus-reveal .plaque{box-shadow:0 0 0 2px var(--rust)}.pile{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);text-align:center;min-width:0;z-index:1}.felt.seats-4 .pile{position:static;left:auto;top:auto;transform:none;grid-area:pile;align-self:center;justify-self:center;min-width:0}.pile-brand{margin:0 0 .4rem;font-family:Bebas Neue,Impact,sans-serif;font-size:clamp(2.4rem,7vw,4.2rem);letter-spacing:.12em;color:#f4e8d014}.pile-stack{position:relative;display:flex;justify-content:center;min-height:86px}.pile-under{position:absolute;inset:0;z-index:0;pointer-events:none}.pile-under .card{position:absolute;left:50%;top:50%;width:52px;height:76px;margin:-38px 0 0 -26px;opacity:.86;box-shadow:0 6px 12px #00000052}.pile-under .card:nth-child(1){transform:translate(-16px,-10px) rotate(-12deg)}.pile-under .card:nth-child(2){transform:translate(14px,-6px) rotate(10deg)}.pile-under .card:nth-child(3){transform:translate(-3px,-12px) rotate(-5deg)}.pile-cards{position:relative;z-index:1;display:flex;justify-content:center}.pile-card-slot{display:block;margin-left:-18px;z-index:calc(var(--i) + 1);transform:rotate(calc((var(--i) - var(--mid)) * 8deg))}.pile-card-slot:first-child{margin-left:0}.pile-cards .card{width:52px;height:76px}.pile-stack.slam .pile-cards .card{animation:slam-in .28s ease-out}.pile-stack.sweeping{z-index:4}.pile-stack.sweeping .pile-card-slot{animation:sweep-off .82s cubic-bezier(.37,.02,.82,.38) forwards;animation-delay:calc(var(--i, 0) * 55ms)}.pile-stack.sweeping .pile-under{animation:sweep-off .82s cubic-bezier(.37,.02,.82,.38) forwards}@keyframes slam-in{0%{transform:translateY(-18px) scale(1.08);opacity:0}to{transform:none;opacity:1}}@keyframes sweep-off{0%{transform:translate(0) rotate(0);opacity:1}18%{transform:translate(14px,-20px) rotate(8deg);opacity:1}to{transform:translate(260px,150px) rotate(58deg);opacity:0}}@media(prefers-reduced-motion:reduce){.pile-stack.slam .pile-cards .card,.pile-stack.sweeping .pile-card-slot,.pile-stack.sweeping .pile-under,.deal-fly{animation-duration:.01ms}}.pile-caption{color:var(--cream);max-width:18rem;margin:.8rem auto 0;line-height:1.28}.dock{display:grid;grid-template-columns:220px 1fr auto;gap:1rem;align-items:end;padding:.55rem 1rem calc(.75rem + env(safe-area-inset-bottom));overflow:visible;background:#0c0a08;border-top:1px solid var(--line)}.prompt{margin:0;font-size:1.05rem}.notice{margin:.4rem 0 0;color:#ffb089}.hand-fan{display:flex;justify-content:center;min-height:128px;padding-top:2rem;overflow:visible}.fan-slot{position:relative;margin-left:-32px;z-index:calc(var(--i) + 1);--fan-tilt: rotate(calc((var(--i) - var(--mid)) * 3deg));transform:var(--fan-tilt)}.fan-slot:first-child{margin-left:0}@media(hover:hover){.fan-slot:hover:not(.selected){z-index:30}}.fan-slot.selected{z-index:40;transform:translateY(-28px) var(--fan-tilt)}.dock-actions{display:flex;flex-direction:column;gap:.5rem}.ticker{display:none}.card-corner,.card-pip{pointer-events:none}.card{position:relative;width:68px;height:98px;border:1px solid #d8c7a2;border-radius:8px;background:#f7eede;color:#1a1208;box-shadow:0 8px 16px #00000047;font-family:IBM Plex Mono,ui-monospace,monospace}.card.compact{width:42px;height:60px}.card.red{color:#b42318}.card.black{color:#1a1208}.card.clickable{padding:0;cursor:pointer}.card.selected{box-shadow:0 14px 22px #00000059;outline:2px solid var(--gold)}.card.received:not(.selected){outline:2px solid var(--cream);box-shadow:0 0 0 3px #f7eede40}.notice.received{color:var(--gold)}.card-back{background:repeating-linear-gradient(45deg,#6b1d18,#6b1d18 6px,#8a2a22 6px 12px);border-color:#3d1410}.card-corner{position:absolute;display:flex;flex-direction:column;line-height:1;font-size:.78rem}.card-corner.top{top:5px;left:6px}.card-corner.bottom{right:6px;bottom:5px;transform:rotate(180deg)}.card-pip{position:absolute;inset:0;display:grid;place-items:center;font-size:1.7rem}.modal-backdrop{position:fixed;inset:0;bottom:var(--ad-banner-reserve, 0px);background:#080604b8;display:flex;justify-content:center;align-items:flex-start;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:max(.75rem,env(safe-area-inset-top)) .75rem max(1.25rem,env(safe-area-inset-bottom));z-index:20}.modal{width:min(640px,100%);margin-block:auto;background:#1a140f;border:1px solid var(--line);padding:1.2rem 1.3rem 1.4rem;box-shadow:var(--shadow)}.modal-head,.modal-body p{color:var(--ink)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.modal h2{margin:0;font-size:2.4rem}.modal-body p{line-height:1.55;color:var(--muted)}.exit-confirm-backdrop{z-index:25}.exit-confirm{width:min(420px,100%)}.exit-confirm-copy{margin:.35rem 0 1.1rem;line-height:1.5;color:var(--muted)}.exit-confirm .title-actions{margin:.2rem 0 0}.fine-print{font-size:.92rem}.scoreboard{list-style:none;padding:0;display:grid;gap:.55rem}.scoreboard li{display:grid;grid-template-columns:1fr auto;column-gap:.85rem;row-gap:.12rem;align-items:center;padding:.7rem .75rem;border:1px solid var(--line)}.scoreboard span{grid-column:1}.scoreboard small{grid-column:2;grid-row:1 / span 2;align-self:center;text-align:right;line-height:1.35;color:var(--muted)}.scoreboard li.blood{border-color:var(--blood)}.scoreboard li.winner{border-color:var(--gold);box-shadow:0 0 0 1px #e4c36a59}.scoreboard b{font-size:1.3rem}@media(max-width:900px){.table-topbar{display:grid;grid-template-columns:1fr auto;align-items:start;gap:.35rem .7rem;padding:calc(.45rem + env(safe-area-inset-top)) 3.4rem .5rem max(.7rem,env(safe-area-inset-left))}.table-topbar strong{font-size:1.35rem;line-height:1}.score-strip{grid-column:1 / -1;gap:.25rem .55rem;font-size:.68rem}.top-actions{justify-self:end}.felt,.felt.seats-4{display:block;position:relative;grid-template-columns:none;grid-template-rows:none;grid-template-areas:none;--ring-x: 44%;--ring-y: 42%;margin:.35rem .55rem;padding:0;border-width:7px;min-height:0}.felt .seat,.felt.seats-4 .seat,.felt.seats-4 .seat.north,.felt.seats-4 .seat.west,.felt.seats-4 .seat.east,.felt.seats-4 .seat.south,.felt:not(.seats-4) .seat[class*=slot-]{position:absolute;display:grid;left:calc(50% + var(--seat-x, 0) * var(--ring-x));top:calc(50% - var(--seat-y, 0) * var(--ring-y));padding:0;width:max-content;max-width:7rem;margin:0;justify-self:auto;align-self:auto;justify-items:center;row-gap:.12rem;z-index:2}.felt .seat .plaque{grid-area:plaque}.felt .seat .last-act{grid-area:act}.felt .seat.slot-n,.felt .seat.slot-nw,.felt .seat.slot-ne,.felt.seats-4 .seat.slot-n,.felt.seats-4 .seat.north{grid-template-areas:"plaque" "act"}.felt .seat.slot-s,.felt .seat.slot-sw,.felt .seat.slot-se,.felt.seats-4 .seat.slot-s,.felt.seats-4 .seat.south{grid-template-areas:"act" "plaque"}.felt .seat.slot-w,.felt .seat.slot-wn,.felt.seats-4 .seat.slot-w,.felt.seats-4 .seat.west{grid-template-areas:"plaque" "act";justify-items:start}.felt .seat.slot-ws{grid-template-areas:"act" "plaque";justify-items:start}.felt .seat.slot-e,.felt .seat.slot-en,.felt.seats-4 .seat.slot-e,.felt.seats-4 .seat.east{grid-template-areas:"plaque" "act";justify-items:end}.felt .seat.slot-es{grid-template-areas:"act" "plaque";justify-items:end}.felt .seat.slot-n,.felt .seat.slot-nw,.felt .seat.slot-ne,.felt.seats-4 .seat.slot-n{transform:translate(-50%);margin-top:.35rem}.felt .seat.slot-s,.felt .seat.slot-sw,.felt .seat.slot-se,.felt.seats-4 .seat.slot-s{transform:translate(-50%,-100%);margin-bottom:.3rem}.felt .seat.slot-w,.felt .seat.slot-wn,.felt .seat.slot-ws,.felt.seats-4 .seat.slot-w{transform:translateY(-50%);margin-left:.3rem}.felt .seat.slot-e,.felt .seat.slot-en,.felt .seat.slot-es,.felt.seats-4 .seat.slot-e{transform:translate(-100%,-50%);margin-right:.3rem}.felt:not(.seats-4) .seat.slot-n,.felt.seats-4 .seat.slot-n,.felt.seats-4 .seat.north{top:.18rem;left:50%;right:auto;bottom:auto;transform:translate(-50%);margin:0}.felt:not(.seats-4) .seat.slot-s,.felt.seats-4 .seat.slot-s,.felt.seats-4 .seat.south{top:auto;left:50%;right:auto;bottom:.18rem;transform:translate(-50%);margin:0}.felt:not(.seats-4) .seat.slot-w,.felt.seats-4 .seat.slot-w,.felt.seats-4 .seat.west{top:50%;left:.14rem;right:auto;bottom:auto;transform:translateY(-50%);margin:0}.felt:not(.seats-4) .seat.slot-e,.felt.seats-4 .seat.slot-e,.felt.seats-4 .seat.east{top:50%;left:auto;right:.14rem;bottom:auto;transform:translateY(-50%);margin:0}.felt:not(.seats-4) .seat.slot-nw{top:.18rem;left:26%;right:auto;bottom:auto;transform:translate(-50%);margin:0}.felt:not(.seats-4) .seat.slot-ne{top:.18rem;left:74%;right:auto;bottom:auto;transform:translate(-50%);margin:0}.felt:not(.seats-4) .seat.slot-sw{top:auto;left:26%;right:auto;bottom:.18rem;transform:translate(-50%);margin:0}.felt:not(.seats-4) .seat.slot-se{top:auto;left:74%;right:auto;bottom:.18rem;transform:translate(-50%);margin:0}.felt:not(.seats-4) .seat.slot-wn{top:max(3.4rem,24%);left:.14rem;right:auto;bottom:auto;transform:none;margin:0}.felt:not(.seats-4) .seat.slot-ws{top:auto;left:.14rem;right:auto;bottom:max(3.4rem,24%);transform:none;margin:0}.felt:not(.seats-4) .seat.slot-en{top:max(3.4rem,24%);left:auto;right:.14rem;bottom:auto;transform:none;margin:0}.felt:not(.seats-4) .seat.slot-es{top:auto;left:auto;right:.14rem;bottom:max(3.4rem,24%);transform:none;margin:0}.felt .pile,.felt.seats-4 .pile{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);grid-area:auto;width:9.5rem;max-width:52%;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1}.plaque{min-width:5.6rem;padding:.28rem .4rem;gap:.3rem}.plaque strong{font-size:.95rem;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:5.6rem}.plaque small{font-size:.6rem}.count{font-size:.95rem}.back-row{display:none}.deal-fly .card{width:28px;height:40px}.last-act{margin:0;font-size:.58rem;letter-spacing:.02em;line-height:1.2;max-width:6.8rem;text-align:center}.felt .seat.slot-w .last-act,.felt .seat.slot-wn .last-act,.felt .seat.slot-ws .last-act{text-align:left}.felt .seat.slot-e .last-act,.felt .seat.slot-en .last-act,.felt .seat.slot-es .last-act{text-align:right}.leftover-row{max-width:140px}.pile-brand{font-size:1.8rem;margin-bottom:.2rem}.felt.seats-6 .pile-brand,.felt.seats-7 .pile-brand,.felt.seats-8 .pile-brand{display:none}.pile-caption{position:relative;z-index:2;max-width:100%;margin-top:.55rem;font-size:.72rem;line-height:1.25}.pile-stack{display:grid;place-items:center;min-height:4.6rem;padding:.2rem .35rem 0}.pile-under,.pile-cards{grid-area:1 / 1}.pile-cards .card,.pile-under .card{width:48px;height:70px}.pile-cards .card-pip{font-size:1.45rem}.pile-cards .card-corner{font-size:.68rem}.pile-under .card{margin:-35px 0 0 -24px}.pile-under .card:nth-child(1){transform:translate(-6px,-7px) rotate(-6deg)}.pile-under .card:nth-child(2){transform:translate(7px,-6px) rotate(6deg)}.pile-under .card:nth-child(3){transform:translateY(-8px) rotate(-2deg)}.pile-card-slot{margin-left:-14px}.dock{grid-template-columns:1fr;gap:.3rem;padding:.4rem .7rem calc(.55rem + env(safe-area-inset-bottom))}.dock-copy .eyebrow{margin-bottom:.15rem}.prompt{font-size:.92rem}.hand-fan{min-height:92px;padding-top:1.55rem}.fan-slot{margin-left:-30px}.fan-slot.selected{transform:translateY(-24px) var(--fan-tilt)}.hand-fan .card{width:50px;height:74px}.dock-actions{flex-direction:row}.dock-actions .btn{flex:1}.modal h2{font-size:1.85rem}.scoreboard li{grid-template-columns:1fr auto;padding:.55rem .65rem}.scoreboard small{max-width:7.5rem}}@media(max-width:900px)and (orientation:landscape){.table-topbar{grid-template-columns:auto 1fr auto;align-items:center;padding:calc(.25rem + env(safe-area-inset-top)) 3.2rem .25rem max(.55rem,env(safe-area-inset-left));gap:.35rem .7rem}.score-strip{grid-column:auto;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;max-width:100%}.felt,.felt.seats-4{margin:.2rem .45rem;border-width:5px;--ring-x: 40%;--ring-y: 36%}.plaque{min-width:4.6rem;padding:.1rem .32rem}.plaque small{display:none}.plaque strong{font-size:.82rem;max-width:4.4rem}.count{font-size:.82rem}.last-act{display:none}.felt:not(.seats-4) .seat.slot-wn,.felt:not(.seats-4) .seat.slot-en{top:28%}.felt:not(.seats-4) .seat.slot-ws,.felt:not(.seats-4) .seat.slot-es{bottom:28%}.pile-brand{display:none}.pile-caption{margin-top:.4rem;font-size:.68rem;line-height:1.22}.hand-fan{min-height:70px;padding-top:1.2rem}.hand-fan .card{width:42px;height:62px}.fan-slot{margin-left:-26px}.fan-slot.selected{transform:translateY(-20px) var(--fan-tilt)}.prompt{font-size:.82rem}.dock{padding:.2rem .6rem calc(.3rem + env(safe-area-inset-bottom))}}.fanfare-backdrop{position:fixed;inset:0;bottom:var(--ad-banner-reserve, 0px);z-index:30;display:grid;place-items:center;overflow:hidden;background:#0806046b;animation:fanfare-wash 4.2s ease-out forwards}.fanfare-backdrop.dingus{animation-name:dingus-wash}.fanfare-burst{position:absolute;inset:0;pointer-events:none}.fanfare-piece{position:absolute;border-radius:1px;box-shadow:0 0 8px #e4c36a59;animation-name:confetti-fall;animation-timing-function:linear;animation-fill-mode:forwards}.fanfare-backdrop.dingus .fanfare-piece:not(.face){box-shadow:0 0 8px #9a2f2273}.fanfare-piece.face{background:none;box-shadow:none;border-radius:0;font-size:clamp(1.15rem,3vw,1.7rem);line-height:1}.fanfare-banner{position:relative;z-index:1;margin:0 1.5rem;padding:.85rem 1.4rem;max-width:18ch;text-align:center;font-family:Bebas Neue,Impact,sans-serif;font-size:clamp(2.8rem,9vw,5.4rem);line-height:.9;letter-spacing:.04em;color:var(--cream);text-shadow:0 0 28px rgba(228,195,106,.55);animation:fanfare-flash 4.2s ease-out}.fanfare-banner.dingus{color:#ffd0c4;text-shadow:0 0 28px rgba(196,91,50,.7);animation-name:dingus-flash}.fanfare-banner.champion{max-width:22ch;color:#fff4c8;text-shadow:0 0 34px rgba(228,195,106,.75)}@keyframes fanfare-wash{0%{background:#e4c36a47}18%{background:#0806046b}85%{background:#0806046b}to{background:#08060400}}@keyframes dingus-wash{0%{background:#9a2f226b}18%{background:#08060480}85%{background:#08060480}to{background:#08060400}}@keyframes fanfare-flash{0%{opacity:0;transform:scale(.72);filter:brightness(1.8)}12%{opacity:1;transform:scale(1.06);filter:brightness(1.35)}22%{transform:scale(1);filter:brightness(1)}38%{filter:brightness(1.45)}48%{filter:brightness(1)}86%{opacity:1}to{opacity:0;transform:scale(1.04)}}@keyframes dingus-flash{0%{opacity:0;transform:scale(.78) rotate(-4deg);filter:brightness(1.6)}10%{opacity:1;transform:scale(1.08) rotate(3deg)}18%{transform:scale(1) rotate(-2deg);filter:brightness(1)}28%{transform:rotate(2deg);filter:brightness(1.35)}38%{transform:rotate(-1deg);filter:brightness(1)}48%{transform:rotate(1deg)}58%{transform:rotate(0)}86%{opacity:1}to{opacity:0;transform:scale(.96)}}@keyframes confetti-fall{0%{transform:translateZ(0) rotate(0);opacity:1}to{transform:translate3d(var(--drift),110vh,0) rotate(720deg);opacity:.15}}@media(prefers-reduced-motion:reduce){.fanfare-piece{display:none}.fanfare-backdrop,.fanfare-banner{animation:none}}
