.spades-game{max-width:850px;margin:auto;min-width:0;overflow-wrap:anywhere}.spades-summary,.spades-instruction{line-height:1.65}.spades-instruction{padding:.65rem;border-left:4px solid var(--accent);background:var(--soft)}.spades-teams{display:flex;flex-wrap:wrap;gap:.5rem 1.3rem;font-weight:700}.spades-teams p{margin:.25rem 0}.spades-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.spades-player{display:flex;flex-direction:column;padding:.5rem;border:1px solid var(--line);border-radius:5px;font-size:.85rem;line-height:1.65}.spades-player[data-team=true]{background:#eef2e5}.spades-player[data-active=true]{outline:2px solid #947240;outline-offset:1px}.spades-table{min-height:190px;margin:.8rem 0;padding:.7rem;background:#e1e8d8;border:2px solid #839679;border-radius:12px}.spades-broken,.spades-empty{margin:.2rem 0 .6rem;line-height:1.5;font-size:.83rem}.spades-trick-cards,.spades-last-cards{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center}.spades-played{flex:1 1 80px;display:flex;flex-direction:column;align-items:center;gap:.3rem;max-width:145px;min-width:0}.spades-player-label{font-size:.75rem;text-align:center;line-height:1.3}.spades-winner{font-size:.75rem;color:#395936;text-align:center}.spades-played[data-winner=true] .spades-card{box-shadow:0 0 0 3px #b9953f}.spades-hand{display:flex;gap:.45rem;overflow-x:auto;max-width:100%;padding:6px 5px 12px;overscroll-behavior-x:contain;scrollbar-width:thin}.spades-card{flex:0 0 60px;position:relative;display:flex;flex-direction:column;justify-content:space-between;width:60px;min-width:60px;height:86px;min-height:86px;border:1px solid #829084;border-radius:6px;background:#fffef5;color:#243a31;padding:5px;font-weight:700;line-height:1.05}.spades-card.spades-red{color:#a2382c}.spades-card:disabled{opacity:1;color:#243a31;background:#f0eee4}.spades-card.spades-red:disabled{color:#a2382c}.spades-card[data-legal=false]{border-style:dashed}.spades-card[aria-pressed=true]{outline:3px solid #236a62;outline-offset:1px;background:#e6f2eb}.spades-card:focus-visible{outline:3px solid #236a62;outline-offset:2px}.spades-card-top{align-self:flex-start;font-size:.9rem}.spades-card-center{font-size:1.7rem;align-self:center}.spades-card-bottom{align-self:flex-end;transform:rotate(180deg);font-size:.9rem}.spades-actions{display:flex;align-items:end;flex-wrap:wrap;gap:.65rem;margin:.6rem 0}.spades-actions label{display:flex;flex-direction:column;gap:.25rem}.spades-actions select{min-height:44px;min-width:120px;font:inherit}.spades-game .btn,.spades-notice .btn{min-height:44px}.spades-notice{min-height:1.5em;line-height:1.7}.spades-notice .btn{margin:.4rem}.spades-last,.spades-history{margin:.6rem 0;line-height:1.7}.spades-last-cards{margin:.7rem 0}.spades-result{border:1px solid var(--line);border-radius:7px;padding:.75rem;background:var(--soft);margin:.8rem 0}.spades-team-score{border-top:1px solid var(--line);padding:.5rem 0;line-height:1.65}.spades-team-score p{margin:.2rem 0}.spades-game h3,.spades-game h4{font-size:1rem;margin:.6rem 0}.spades-game summary{cursor:pointer}@media(max-width:360px){.spades-played{flex-basis:90px}.spades-card{flex-basis:54px;min-width:54px;width:54px;height:80px;min-height:80px}.spades-table{padding:.5rem}.spades-player{font-size:.8rem}}
