/* 癞子 / 二人 / 四人 / 明牌 / 残局 / 新手教程 */
/* 癞子：黄铜角标 */
.card.wild{box-shadow:-2px 0 5px rgba(8,14,32,.28),inset 0 0 0 2px var(--brass)}
.card.wild::before{content:"癞";position:absolute;right:0;top:0;width:calc(var(--cw)*.3);height:calc(var(--cw)*.3);border-radius:0 calc(var(--cw)*.1) 0 calc(var(--cw)*.12);
  background:var(--brass);color:var(--brass-ink);font:700 calc(var(--cw)*.18)/calc(var(--cw)*.3) var(--f-rank,sans-serif);text-align:center}
.card.xs{--cw:18px;border-radius:3px;box-shadow:none}
.card.xs .st,.card.xs .big,.card.xs .wang{display:none}
.card.xs .rk{font-size:10px;left:2px;top:2px;letter-spacing:-.05em}
.card.xs .jk{font-size:5px}
.card.xs.wild::before{content:"";width:5px;height:5px}
.tracker .tk.wild span{color:var(--brass);text-decoration:underline}
/* 翻癞子动画 */
.wildflip{position:absolute;inset:0;display:flex;gap:18px;align-items:center;justify-content:center;z-index:6;pointer-events:none}
.wf{display:flex;flex-direction:column;align-items:center;gap:6px;perspective:600px}
.wf-in{position:relative;width:var(--cw);height:calc(var(--cw)*1.4);transform-style:preserve-3d;animation:wfFlip .7s ease-in-out var(--d,0s) both}
.wf-in>*{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.wf-in .wf-back{width:100%;height:100%}
.wf-in .wf-face{transform:rotateY(180deg)}
.wf-cap{font-size:13px;font-weight:700;color:var(--brass);opacity:0;animation:wfCap .3s ease-out calc(var(--d,0s) + .6s) both}
@keyframes wfFlip{from{transform:rotateY(0) scale(.8)}60%{transform:rotateY(200deg) scale(1.12)}to{transform:rotateY(180deg) scale(1)}}
@keyframes wfCap{to{opacity:1}}
@media (prefers-reduced-motion:reduce){.wf-in{animation-duration:.01s}.wf-cap{animation-duration:.01s}}
/* 上方座位（四人的对家 / 二人的对手） */
.top-seats{display:flex;align-items:center;justify-content:center;gap:8px;min-height:0}
.top-seats .seat.top{flex-direction:row;width:auto;gap:6px;padding-top:0;flex-wrap:wrap;justify-content:center}
.top-seats .seat.top .revhand{order:9;flex-basis:100%}
.top-seats .seat.top .pts{display:none}
.top-seats .out-top{justify-content:center;flex:1;min-width:0}
.table[data-n="2"]{grid-template-columns:minmax(0,1fr)}
.table[data-n="2"] .top-seats,.table[data-n="4"] .top-seats{flex-direction:column;gap:2px}
/* 明牌的手牌 */
.revhand{display:flex;flex-wrap:wrap;gap:1px;justify-content:center;max-width:100%}
.seat.left .revhand,.seat.right .revhand{max-width:76px}
.badges .rv{background:var(--brass);color:var(--brass-ink)}
.reveal-btn{border-color:var(--brass)!important;color:var(--brass)!important}
/* 癞子解释选择 */
.interp-list{display:flex;flex-direction:column;gap:8px;margin:8px 0}
.interp-list button{width:100%;text-align:left;padding:10px 14px}
/* 新手教程教练浮层 */
.coach{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--cw)*1.4 + 74px);width:min(420px,calc(100% - 24px));box-sizing:border-box;z-index:15;
  background:var(--felt-3);color:var(--text);border:1.5px solid var(--brass);border-radius:12px;padding:10px 12px;box-shadow:0 10px 30px rgba(0,0,0,.4);font-size:14px;line-height:1.5}
.coach p{margin:2px 0 8px}
.coach .coach-step{float:right;font-size:11px;color:var(--mist)}
.coach-btns{display:flex;gap:8px;justify-content:flex-end}
.coach-tracker .tracker{outline:2px solid var(--brass);outline-offset:2px;border-radius:8px}
/* 残局闯关 */
.pz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.pz{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border-radius:10px;border:1px solid var(--line);background:var(--felt-2);color:var(--text);cursor:pointer;font:inherit}
.pz b{font-size:18px}.pz small{font-size:11px;color:var(--mist);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.pz .st{color:var(--brass);letter-spacing:1px;font-size:13px}
.pz[disabled]{opacity:.45;cursor:not-allowed}
.panel td.stars{color:var(--brass);font-size:18px;letter-spacing:2px}
@media (max-width:420px){
  .table[data-n="4"] .seat{width:52px}
  .seat.left .revhand,.seat.right .revhand{max-width:56px}
  .card.xs{--cw:15px}.card.xs .rk{font-size:9px;left:1px;top:1px}
  .coach{font-size:13px;bottom:calc(var(--cw)*1.4 + 64px)}
}
