        /* ===== 牌谱回放 ===== */
        #replay-overlay { position: fixed; inset: 0; z-index: 200; background: rgba(0,0,0,0.85);
            display: flex; align-items: stretch; justify-content: center; padding: 0; }
        .replay-box { width: 100%; max-width: 640px; background: linear-gradient(160deg,#1b2740,#0e1626);
            padding: 14px; color: #e7eefb; display: flex; flex-direction: column; }
        .rp-head { display: flex; justify-content: space-between; align-items: center; font-size: 16px; }
        .rp-head button { background: none; border: none; color: #9fb0cc; font-size: 20px; cursor: pointer; }
        #rp-info { font-size: 11.5px; color: #8fa2c4; margin: 4px 0 6px; }
        #rp-table { position: relative; width: 100%; flex: 1; min-height: 360px;
            background: radial-gradient(ellipse at center,#234 0%,#0e1626 78%); border-radius: 14px; overflow: hidden; }
        #rp-ring { position: absolute; inset: 0; }
        #rp-board { position: absolute; left: 50%; top: 42%; transform: translate(-50%,-50%); text-align: center; }
        #rp-pot { font-size: 14px; font-weight: bold; color: #f4d35e; margin-bottom: 5px; }
        #rp-community { display: flex; gap: 3px; justify-content: center; }
        #rp-community .card, #rp-community .empty-slot { width: 26px; height: 36px; }
        .rp-seat { position: absolute; transform: translate(-50%,-50%); display: flex; flex-direction: column;
            align-items: center; gap: 1px; width: 66px; }
        .rp-seat.folded { opacity: 0.42; }
        .rp-seat.acting .rp-avatar { box-shadow: 0 0 0 2px #f4d35e, 0 0 12px rgba(244,211,94,0.8); }
        .rp-cards { display: flex; gap: 2px; height: 34px; }
        .rp-cards .card, .rp-cards .card.back { width: 24px; height: 33px; }
        .rp-avatar { width: 34px; height: 34px; border-radius: 9px; display: flex; align-items: center;
            justify-content: center; color: #fff; font-weight: bold; font-size: 14px; overflow: hidden;
            border: 1.5px solid rgba(255,255,255,0.25); }
        .rp-avatar img { width: 100%; height: 100%; object-fit: cover; }
        .rp-name { font-size: 10px; color: #cfd8e6; max-width: 66px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .rp-name .pos { color: #f4d35e; font-weight: bold; margin-left: 2px; }
        .rp-stack { font-size: 10.5px; color: #e8c14a; font-weight: bold; }
        .rp-bet { font-size: 9.5px; font-weight: bold; color: #241a00; background: linear-gradient(135deg,#f4d35e,#ee9b00);
            padding: 0 6px; border-radius: 8px; }
        #rp-caption { text-align: center; font-size: 13px; color: #e7eefb; min-height: 20px; margin: 8px 0; font-weight: 600; }
        .rp-controls { display: flex; align-items: center; justify-content: center; gap: 12px; }
        .rp-controls button { background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.16);
            color: #fff; width: 42px; height: 38px; border-radius: 10px; font-size: 16px; cursor: pointer; }
        #rp-play { background: #3a86ff; border-color: #3a86ff; }
        #rp-speed { width: auto; padding: 0 12px; font-size: 13px; font-weight: bold; }
        #rp-progress { font-size: 12px; color: #8fa2c4; min-width: 42px; text-align: center; }

