#gin-rummy-app{margin:12px 0 0}.gr-game{gap:12px;min-width:0;display:grid}.gr-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.gr-info{flex-wrap:wrap;gap:4px 16px;font-size:1.1rem;display:flex}.gr-scoreboard{border:1px solid var(--border-strong);border-top:6px solid var(--brass);border-radius:var(--radius);background:linear-gradient(180deg, var(--surface), var(--surface-2));padding:6px 12px 8px}.gr-score-line{font-family:var(--font-display);font-variant-numeric:tabular-nums lining-nums;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 14px;margin:0;font-size:clamp(1.5rem,5vw,2rem);font-weight:700;display:flex}.gr-score strong{font-weight:900}.gr-score.is-leading strong{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:3px}.gr-dot{color:var(--muted)}.gr-score-sub{text-align:center;color:var(--muted);margin:0;font-size:1rem}.gr-status .game-status{min-height:4.5em}.gr-table{--card-w:clamp(52px, 10vw, 84px);--gr-inlay:#e8c87380;gap:10px;padding:12px;display:grid}.gr-seat{flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 6px;font-size:1.2rem;display:flex}.gr-seat-name{border:2px solid var(--brass-dark);color:var(--text);font-family:var(--font-display);background:linear-gradient(#fffdf6,#f1e4c6);border-radius:10px;padding:1px 14px 2px 10px;font-size:1.3rem;font-weight:700;box-shadow:inset 0 0 0 1px #fff9,0 2px #0000004d}.gr-dealer{background:linear-gradient(180deg, #f4d98d, var(--brass));color:#231a05;border:2px solid #5e440c;border-radius:999px;padding:2px 12px;font-size:.95rem;font-weight:800}.gr-opp{min-width:0}.gr-opp-cards{--card-w:clamp(34px, 7vw, 56px);min-height:calc(var(--card-w) * 1.4);display:flex}.gr-opp-cards:not(.is-open) .card+.card{margin-left:calc(var(--card-w) * -.55)}.gr-opp-cards.is-open{--card-w:clamp(40px, 8vw, 60px);flex-wrap:wrap;gap:4px 10px}.gr-opp-group{display:flex}.gr-opp-group .card+.card{margin-left:calc(var(--card-w) * -.45)}.gr-picked{color:#fbe9c0;margin:6px 0 0;font-size:1.05rem}.gr-center{justify-items:center;gap:6px;display:grid}.gr-piles{justify-content:center;align-items:flex-start;gap:clamp(16px,6vw,48px);display:flex}.gr-pile{border:2px solid var(--gr-inlay);text-align:center;background:#00000038;border-radius:12px;justify-items:center;gap:4px;margin:0;padding:6px 10px 8px;display:grid;box-shadow:inset 0 2px 8px #00000059}.gr-pile figcaption{color:#fbe9c0;font-size:1rem;line-height:1.25}.gr-pile figcaption strong{font-family:var(--font-display);font-size:1.1rem}.gr-pile-btn,.gr-pile-static{background:0 0;border:0;border-radius:10px;padding:0;display:block}.gr-pile-btn{cursor:pointer;outline:3px dashed var(--brass-light);outline-offset:4px;min-width:48px;min-height:48px}.gr-pile-btn:hover .card,.gr-pile-btn:focus-visible .card{transform:translateY(-6px)}.gr-pile-btn:focus-visible{outline:4px solid #fff}.gr-pile .card-back{filter:drop-shadow(1px 1px #cfc3a6)drop-shadow(1px 1px #6f6350)drop-shadow(1px 1px #e9dfc6)drop-shadow(2px 3px 3px #00000080)}.gr-table .card-slot rect{fill:#00000029;stroke:var(--gr-inlay);stroke-width:2px}.gr-table .card-slot text{fill:#fbe9c0;font-size:16px}.gr-tag{border:2px solid;border-radius:999px;padding:0 8px;font-size:.9rem;font-weight:800;display:inline-block}.gr-rules-line{color:#fbe9c0;text-align:center;margin:0;font-size:1.05rem}.gr-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.gr-buttons{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.gr-buttons:empty{display:none}.gr-controls .btn{min-height:56px}.gr-hand{border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);--card-w:clamp(56px, 7vw, 92px);min-width:0;padding:8px 10px 10px}.gr-hand.is-your-turn{border-color:var(--highlight);box-shadow:0 0 0 2px var(--highlight)}.gr-hand-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;margin-bottom:4px;display:flex}.gr-hand-head .gr-seat{margin:0}.gr-dw{margin:0;font-size:1.25rem}.gr-dw-sub{color:var(--muted);font-size:1.05rem}.gr-hand-cards{align-items:flex-end;gap:8px;min-width:0;padding-top:24px;display:flex}.gr-group{flex-direction:column;flex:0 auto;min-width:0;display:flex}.gr-group-label{white-space:nowrap;text-overflow:ellipsis;margin:0 0 2px;font-size:.95rem;font-weight:800;overflow:hidden}.gr-group-cards{border-radius:10px;min-width:0;padding:3px;display:flex}.gr-group-run .gr-group-cards,.gr-group-set .gr-group-cards{background:var(--surface-2);border:2px solid var(--border-strong)}.gr-group-deadwood .gr-group-cards{border:2px dashed var(--border-strong)}.gr-group-all .gr-group-cards{border:2px solid #0000}.gr-card{flex:0 1 var(--card-w);text-align:left;background:0 0;border:0;min-width:22px;padding:0;position:relative}.gr-group:last-child .gr-card:last-child{flex-shrink:0}.gr-card+.gr-card{margin-left:3px}.gr-card .card{width:var(--card-w);max-width:none}button.gr-card{cursor:pointer}button.gr-card:focus-visible{outline:none}button.gr-card:focus-visible .card-bg{stroke:#0b5394;stroke-width:6px}.gr-new{border:2px solid var(--text);color:var(--text);pointer-events:none;background:#fffbe6;border-radius:6px;padding:0 4px;font-size:.8rem;font-weight:800;line-height:1.2;position:absolute;bottom:-2px;left:2px}.gr-sort{flex:none;margin-left:auto}.gr-sort .btn{white-space:nowrap;min-height:48px;padding-top:4px;padding-bottom:4px}.gr-house-rules>h4{margin:16px 0 4px;font-size:1.2rem}.gr-explain p{font-size:1.15rem}.gr-laid-pair{gap:12px;margin:8px 0 12px;display:grid}.gr-laid{border:2px solid var(--border);border-radius:var(--radius);background:var(--surface-2);--card-w:44px;padding:8px 12px}.gr-laid h3{margin:0 0 4px;font-size:1.2rem}.gr-laid h4{margin:4px 0 2px;font-size:1rem}.gr-laid p{margin:0}.gr-laid-row{margin-bottom:4px}.gr-mini-melds{flex-wrap:wrap;gap:6px 12px;display:flex}.gr-mini-row{vertical-align:middle;flex-wrap:wrap;gap:2px;display:inline-flex}.gr-layoffs{margin:0;padding:0;list-style:none}.gr-layoffs li{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.gr-laid-count{font-size:1.1rem}.gr-all-hands{margin:8px 0}.gr-all-hands summary{cursor:pointer;min-height:48px;font-weight:700}@media (width<=767px){.gr-table{max-height:calc(100svh - var(--dock-h,300px) - 12px);--card-w:56px;gap:6px;padding:8px}.gr-opp-cards{--card-w:36px}.gr-seat-name{padding:0 10px 0 8px;font-size:1.15rem}.gr-seat{margin-bottom:2px}.gr-pile{grid-auto-flow:column;align-items:center;padding:4px 8px}.gr-scoreboard{padding:2px 10px 4px}.gr-hand{--card-w:56px;padding:2px 3px 4px}.gr-hand .gr-seat-name{display:none}.gr-hand-head{flex-wrap:nowrap;gap:6px;padding:0 4px}.gr-hand-head .gr-dw{flex:auto;min-width:0}.gr-dw-sub{font-size:.95rem;display:block}.gr-dw-sub-dot{display:none}.gr-sort .btn{padding-inline:12px}.gr-hand-cards{gap:6px;padding-top:18px}.gr-card+.gr-card{margin-left:0}.gr-group-label{font-size:.85rem}.gr-hand{margin-inline:calc(4px - var(--gutter,16px))}.gr-group-cards,.gr-group-run .gr-group-cards,.gr-group-set .gr-group-cards,.gr-group-deadwood .gr-group-cards{border:0;border-bottom:5px solid var(--text);background:0 0;border-radius:0;padding:0 0 3px}.gr-group-deadwood .gr-group-cards{border-bottom:5px dashed var(--muted)}.gr-group-all .gr-group-cards{border-bottom:0}.gr-dw{font-size:1.1rem}.gr-controls .btn{min-height:52px}.gr-hand .card.is-selected{transform:translateY(-16px)}}
