/* Declared groups stay beside each player's river, outside the concealed hand. */
.meld-row{display:flex;justify-content:flex-end;gap:12px;max-width:100%;min-width:0;margin:6px 0;overflow-x:auto;padding:2px 2px 5px;scrollbar-width:thin}
.meld-row:empty{display:none}
.meld{display:inline-flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}
.meld>small{font-size:10px;line-height:1;color:var(--gold)}
.meld-tiles{display:flex;gap:2px;align-items:end}
.meld .tile{width:20px;height:28px;padding:1px}
.meld .tile-number,.meld .tile-suit{font-size:12px}
.meld .tile .honor{font-size:18px}
.called-tile{border-color:#d19942!important;box-shadow:0 2px 0 #a57530,0 0 0 1px #edb85c!important}
.claimed-discard{opacity:.28;box-shadow:none!important}
.claimed-discard:after{content:'鳴';position:absolute;inset:0;display:grid;place-items:center;background:#0a182bdd;color:white;font-size:12px}
.call-modal{width:min(620px,calc(100vw - 28px))}
.call-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:16px 0}
.call-option{min-height:66px;justify-content:space-between;gap:14px;padding:10px 14px}
.call-option>b{font-size:15px;font-weight:500;white-space:nowrap}
.call-option>span{display:flex;gap:4px;align-items:center}
.call-option .tile{pointer-events:none}
.result-dora{flex-wrap:wrap}
.result-dora>span{flex-wrap:wrap}
.result-overview>.meld-row{justify-content:center;margin:8px 0 18px}
.response-actions{border-top:1px solid #d2a96c66;padding-top:8px}

.compact-landscape .river-section{grid-template-rows:13px minmax(0,1fr) auto}
.compact-landscape .meld-row{justify-content:center;margin:0;gap:7px;padding:3px 1px;max-height:43px}
.compact-landscape .meld{gap:3px}
.compact-landscape .meld>small{font-size:8px}
.compact-landscape .meld-tiles{gap:1px}
.compact-landscape .meld .tile{width:14px;height:20px;padding:1px;border-radius:2px}
.compact-landscape .meld .tile-number,.compact-landscape .meld .tile-suit{font-size:9px}
.compact-landscape .meld .tile .honor{font-size:13px}
.compact-landscape .meld .back i{font-size:9px}
.compact-landscape .call-modal h2{font-size:21px;margin:6px 0}
.compact-landscape .call-modal>.subtle{font-size:12px;line-height:1.6;margin:6px 0}
.compact-landscape .call-options{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;margin:10px 0}
.compact-landscape .call-option{min-height:49px;padding:6px 12px}
.compact-landscape .call-option>b{font-size:13px}
.compact-landscape .call-option .tile{width:22px;height:30px}
.compact-landscape .call-modal>.full{min-height:40px;padding:8px}
.compact-landscape .response-actions{padding-top:0}
.compact-landscape .result-overview>.meld-row{justify-content:flex-start;max-height:none;margin:4px 0}
.short-landscape .meld-row{max-height:35px;padding:2px 0;gap:5px}
.short-landscape .meld>small{font-size:7px}
.short-landscape .meld .tile{width:12px;height:17px}
.short-landscape .meld .tile-number,.short-landscape .meld .tile-suit{font-size:8px}
.short-landscape .meld .tile .honor{font-size:11px}
