#board.hearts-board{position:relative;width:100%;height:calc(100% - 28px);padding:14px 18px;display:grid;grid-template-rows:calc(var(--card-h) + 26px) 1fr calc(var(--card-h) + 78px);grid-template-columns:calc(var(--card-h) + 18px) 1fr calc(var(--card-h) + 18px);gap:8px;align-items:stretch;justify-items:stretch}.seat{position:relative;width:100%;height:100%}.seat-north{grid-column:1 / 4;grid-row:1}.seat-south{grid-column:1 / 4;grid-row:3}.seat-west{grid-column:1;grid-row:2}.seat-east{grid-column:3;grid-row:2}.seat-mid{grid-column:2;grid-row:2}.seat-label{position:absolute;font-size:12px;color:#ffffffc7;text-shadow:0 1px 2px rgba(0,0,0,.6);letter-spacing:.5px;pointer-events:none;white-space:nowrap}.seat-label.tag-current{color:#ffd54a;font-weight:700}.seat-north .seat-label{bottom:4px;left:50%;transform:translate(-50%)}.seat-south .seat-label{top:6px;left:50%;transform:translate(-50%)}.seat-west .seat-label,.seat-east .seat-label{left:50%;bottom:6px;transform:translate(-50%)}.fan-h{position:absolute;left:50%;transform:translate(-50%);height:var(--card-h)}.fan-h .card{position:absolute;top:0;transition:transform 80ms ease,box-shadow 80ms ease}.fan-h.is-south .card-wrap{transition:transform 80ms ease}.fan-h.is-south .card[data-movable="1"]{cursor:pointer}.fan-h.is-south .card-wrap:has(.card[data-movable="1"]):hover{transform:translateY(-10px);z-index:10}.fan-h.is-south .card[data-movable="1"]:hover{box-shadow:var(--shadow-strong)}.fan-h.is-south .card.selected{box-shadow:0 0 0 3px #ffd54a,var(--shadow-strong)}.fan-h.is-south .card-wrap:has(.card.selected){transform:translateY(-18px);z-index:11}.fan-h.is-south .card-wrap.illegal .card{filter:brightness(.62) saturate(.7);cursor:not-allowed}.fan-h.is-south .card-wrap.illegal:hover{transform:none}.seat-north .fan-h{top:0}.seat-south .fan-h{top:26px}.fan-v{position:absolute;left:50%;transform:translate(-50%);top:8px;width:var(--card-h)}.card-back{position:absolute;left:0;width:var(--card-h);height:var(--card-w);border-radius:var(--card-radius);background:linear-gradient(135deg,#1f4d8a,#143a6e,#1f4d8a);border:1px solid #0b1e3d;box-shadow:var(--shadow);overflow:hidden}.card-back:before{content:"";position:absolute;inset:5px;border-radius:4px;border:1px solid rgba(255,255,255,.35);background:repeating-linear-gradient(45deg,#ffffff12 0 6px,#00000014 6px 12px),repeating-linear-gradient(-45deg,#ffffff12 0 6px,#00000014 6px 12px)}.card-back:after{content:"";position:absolute;inset:10px;border-radius:3px;border:1px solid rgba(255,255,255,.22)}#trick-area{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(var(--card-w) * 3 + 32px);height:calc(var(--card-h) * 2 + 16px)}#trick-area .trick-slot{position:absolute;width:var(--card-w);height:var(--card-h)}#trick-area .trick-south{left:50%;bottom:0;transform:translate(-50%)}#trick-area .trick-north{left:50%;top:0;transform:translate(-50%)}#trick-area .trick-west{left:0;top:50%;transform:translateY(-50%)}#trick-area .trick-east{right:0;top:50%;transform:translateY(-50%)}#trick-area .trick-slot .card{position:absolute;top:0;left:0}#trick-area .arrow{position:absolute;font-size:22px;color:#ffd54ad9;text-shadow:0 1px 3px rgba(0,0,0,.6);pointer-events:none}#trick-area .arrow.dir-S{left:50%;bottom:6px;transform:translate(-50%)}#trick-area .arrow.dir-N{left:50%;top:6px;transform:translate(-50%) rotate(180deg)}#trick-area .arrow.dir-W{left:6px;top:50%;transform:translateY(-50%) rotate(-90deg)}#trick-area .arrow.dir-E{right:6px;top:50%;transform:translateY(-50%) rotate(90deg)}#pass-banner{position:absolute;top:6px;left:50%;transform:translate(-50%);background:#0000008c;color:#fff;padding:5px 12px;border-radius:4px;font-size:12px;border:1px solid rgba(255,255,255,.25);text-shadow:0 1px 2px rgba(0,0,0,.6);pointer-events:none;white-space:nowrap}#pass-action{position:absolute;top:36px;left:50%;transform:translate(-50%);padding:5px 14px;background:linear-gradient(to bottom,#fafafa,#dcdcdc);border:1px solid #888;border-radius:3px;cursor:pointer;font-size:12px;font-weight:600}#pass-action:hover:not([disabled]){background:linear-gradient(to bottom,#fff,#d2e6fb);border-color:#3c7fb1}#pass-action[disabled]{opacity:.55;cursor:default}#scores-popup table{border-collapse:collapse;width:100%}#scores-popup td,#scores-popup th{padding:4px 10px;text-align:right}#scores-popup th:first-child,#scores-popup td:first-child{text-align:left;color:#444}#scores-popup th{border-bottom:1px solid #888}
