/* Opponent identity: rating stays beside the name, never inside turn status. */
.game .opponent .name{display:flex;align-items:baseline;justify-content:center;gap:.45em;min-width:0}
.game .opponent-nickname{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.game .opponent-renown{display:inline-flex;align-items:center;gap:.25em;flex:none;font-family:var(--font-display);font-size:.72em;line-height:1;color:#c9ad70;font-variant-numeric:lining-nums tabular-nums}
.game .opponent-renown svg{width:1em;height:1em;flex:none;overflow:visible}
body.in-game .game .opponent-count{display:flex;align-items:center;justify-content:center;padding:0;box-sizing:border-box;line-height:1;font-variant-numeric:lining-nums tabular-nums;text-align:center;letter-spacing:0}

/* Use the available seat width; long names wrap instead of disappearing. */
body.in-game .game:not(.club-table) .opponent{max-width:none!important;min-width:0;flex:1}
body.in-game .game:not(.club-table) .opponent .name{width:100%;max-width:none;overflow:visible;flex-wrap:wrap;column-gap:.4em;row-gap:0}
body.in-game .game .opponent-nickname{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;max-width:100%}
.game .opponent-renown svg{transform:translateY(.12em)}
.game .opponent{position:relative}
.game .opponent-clock{position:absolute;left:calc(50% + 4.1cqw);top:4.5cqw;padding:.25em .4em;white-space:nowrap;border-radius:5px;background:#15261de8;color:#edd69b;border:1px solid #c5a35966;font:clamp(11px,.9cqw,16px)/1.2 var(--font-display);font-variant-numeric:lining-nums tabular-nums}
.game .opponent-clock.urgent{color:#f4bc96}
.game .control-stack{position:relative;isolation:isolate}
.game.is-your-turn .control-stack:has(.actions button)::before{content:"";position:absolute;pointer-events:none;z-index:-1;inset:-65% -25% -45% -35%;background:radial-gradient(ellipse at 95% 85%,#ffdb613d 0%,#ffdb611b 35%,transparent 70%);filter:blur(14px)}
.game.is-your-turn .actions button{box-shadow:0 0 22px #ffdb6126,inset 0 0 12px #ffdb6110}
@media(max-width:900px) and (orientation:portrait){
 body.in-game .game:not(.club-table) .opponent:only-child{max-width:260px!important}
 .game .opponent-clock{left:calc(50% + 29px);top:32px;font-size:11px;padding:3px}
 .game.is-your-turn .control-stack:has(.actions button)::before{inset:-50px -16px -40px 15%;filter:blur(10px)}
}
@media(max-width:900px) and (orientation:portrait) and (max-height:650px){.game .opponent-clock{top:24px;left:calc(50% + 25px)}}
@media(max-width:900px) and (orientation:landscape){.game .opponent-clock{top:25px;left:calc(50% + 28px);font-size:10px}}
@media(max-width:900px) and (orientation:portrait){.game:has(.opponent:nth-child(4)) .opponent-clock{top:0;left:calc(50% + 10px);font-size:10px}}
@media(max-width:360px) and (orientation:portrait){body.in-game .game:has(.opponent:nth-child(3)) .opponent-nickname{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}body.in-game .game:not(.club-table):has(.opponent:nth-child(3)) .opponent .name{font-size:11px;line-height:13px}body.in-game .game:not(.club-table):has(.opponent:nth-child(3)) .turn-title{font-size:16px;line-height:20px}}

/* Sorting is an action, not a persistent highlighted selection. */
body.in-game .game .hand-tools button[aria-pressed=true]{background:linear-gradient(180deg,#28372b,#14251b);border-color:#8c754b;color:#eadbbd;box-shadow:inset 0 1px 1px #dfc89530,inset 0 -2px 3px #0007,0 3px 6px #0005}
body.in-game .game .hand-tools button[aria-pressed=true]::after{display:none}
@media(min-width:901px){
 .game.is-your-turn .control-stack:has(.actions button)::before{display:block!important;z-index:0;inset:-60px 0 0 -40px;background:radial-gradient(ellipse at 65% 65%,#ffdb613d 0%,#ffdb611b 35%,transparent 70%);filter:blur(14px);clip-path:inset(0)}
 .game .control-stack>*{position:relative;z-index:1}
}

html.webgl-table .game.is-your-turn .control-stack::before{display:none!important}
html.webgl-table .game.is-your-turn .actions button{box-shadow:inset 0 0 0 2px #241d144d,inset 0 2px 2px #e4b99730,inset 0 -3px 4px #160b0a80,0 4px 8px #0007}
body.in-game .game .last-action{display:flex;flex-direction:column;gap:9px;line-height:1.18;padding-top:8px;padding-bottom:8px}
body.in-game .game .last-action .action-entry{display:flex;align-items:flex-start;gap:7px;min-width:0;width:100%}
body.in-game .game .last-action .action-copy{min-width:0;line-height:1.18}
body.in-game .game .last-action strong{margin-bottom:1px}
body.in-game .game .last-action .action-previous{opacity:.45;mask-image:linear-gradient(to bottom,#000 15%,#0009 75%,transparent)}
@media(max-width:900px){body.in-game .game .last-action .action-previous{display:none}}
@media(max-width:900px) and (orientation:portrait){
 body.in-game .game .last-action .action-entry{display:flex;-webkit-line-clamp:unset;overflow:visible}
 body.in-game .game .last-action .action-copy{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
}
@media(min-width:901px){body.in-game .game:not(.club-table) .table-stats{inset:5.5% auto auto 4.7%!important}body.in-game .game:not(.club-table) .last-action{top:calc(5.5% + 12.4cqw + 20px);left:4.7%}}
body.in-game .game .last-action{gap:18px}body.in-game .game .last-action .action-previous{opacity:1;mask-image:linear-gradient(to bottom,#000 0%,#0008 55%,transparent 100%)}@media(max-width:900px){body.in-game .game .last-action .action-second{display:none}}

body.in-game .game:not(.club-table) .supply.supply-empty{padding-left:0}body.in-game .game:not(.club-table) .supply-empty .supply-cards{display:none}@media(max-width:900px){body.in-game .game:not(.club-table) .supply.supply-empty{justify-content:flex-start;gap:24px}}

.game .hand-count-text .count-meta{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.game .hand-count-text .self-renown{font-size:1em;line-height:1.2}.game .self-card-count{display:block}@media(max-width:900px){.game .hand-count-text .count-meta{gap:3px}}

@media(min-width:901px){body.in-game .game:not(.club-table):has(.supply-empty) .last-action{top:var(--empty-deck-action-top)}}
