/* Separate layout cells keep names, scores, cards and the table edge apart. */
body .game-shell{display:grid;grid-template-columns:minmax(0,1fr) 282px;gap:16px;max-width:1720px;padding:14px 18px;height:auto;min-height:0;align-items:start;margin:auto}
body .play-column{display:flex;flex-direction:column;gap:10px;min-width:0}
body .match-bar{min-height:24px;height:auto;padding:0 4px;flex-wrap:wrap;gap:6px}
body .match-location,body .score-mode{font-size:12px}
body .arena{display:grid;position:relative;grid-template-columns:92px minmax(100px,160px) minmax(80px,1fr) minmax(100px,160px) 92px;grid-template-rows:62px 86px minmax(156px,auto) 86px 32px;gap:8px 10px;padding:20px 20px 0;height:auto;min-height:0;isolation:isolate}
body .wood-rim{inset:0 0 38px;z-index:-1;border-radius:16px}
body .felt{border-radius:10px}
body .river-layer{display:contents}
body .seat{position:relative;inset:auto;transform:none;width:100%;max-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;z-index:4}
body .seat-1{grid-column:5;grid-row:3}
body .seat-3{grid-column:1;grid-row:3}
body .seat-2{grid-column:2/5;grid-row:1;flex-direction:row;width:auto;justify-self:center;gap:12px}
body .seat .avatar,body .seat-portrait{width:46px;height:46px;flex:none}
body .seat-info{max-width:100%;min-width:0}
body .seat-info h3{font-size:14px;line-height:1.3;max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}
body .seat-info h3>span{font-size:9px;padding:1px 3px}
body .seat-info p{font-size:11px;margin:3px 0}
body .seat-2 .seat-info h3{max-width:260px}
body .seat .opponent-hand,body .seat .hand-count{display:none}
body .seat-scores{margin:2px 0 0;gap:10px}
body .seat-scores>span{font-size:10px;gap:3px}
body .seat-scores b{font-size:23px;line-height:1.05}
body .seat-scores strong{font-size:28px;line-height:1.05}
body .seat-2 .seat-scores{display:flex;position:relative;justify-content:flex-start}
body .seat-2 .seat-scores>span{flex-direction:row;gap:5px}
body .thinking-label{bottom:-12px;left:50%;transform:translateX(-50%)}
body .turn-dot{right:0;bottom:0}
body .river{position:relative;inset:auto;transform:none;max-width:none;max-height:none;width:100%;align-self:center;z-index:3;min-width:0}
body .river-2{grid-column:2/5;grid-row:2}
body .river-0{grid-column:2/5;grid-row:4}
body .river-3{grid-column:2;grid-row:3}
body .river-1{grid-column:4;grid-row:3}
body .river header{font-size:10px;line-height:14px;margin-bottom:4px;letter-spacing:.08em}
body .river header small{font-size:9px}
body .river-groups{display:flex;align-items:flex-start;align-content:center;justify-content:center;gap:3px;flex-wrap:wrap;max-width:100%}
body .river-group{padding:2px 2px 1px;min-width:max-content;flex:none;border-radius:4px}
body .river-cards{gap:1px;width:max-content}
body .river .tile{width:27px;height:auto}
body .river-1 .tile,body .river-3 .tile{width:24px}
body .river-group>small{font-size:9px;line-height:13px;gap:3px}
body .river-group>small b{font-size:12px;line-height:13px}
body .river-empty{font-size:11px;line-height:40px}
body .round-counter{position:relative;inset:auto;grid-column:1;grid-row:1;align-self:start;font-size:13px;z-index:3}
body .round-counter span{font-size:14px}
body .round-counter small{font-size:10px;line-height:1.5}
body .table-wait,body .round-award{position:relative;inset:auto;transform:none;grid-column:3;grid-row:3;max-width:100%;width:auto;justify-self:center;align-self:center;text-align:center;z-index:3}
body .table-wait .waiting-emblem{display:none}
body .table-wait p{font-size:13px;margin:0 0 5px}
body .table-wait small{font-size:10px;line-height:1.5}
body .round-award{padding:8px 9px;font-size:12px;flex-wrap:wrap;gap:4px}
body .round-award b{font-size:27px}
body .round-award span{overflow:hidden;text-overflow:ellipsis;max-width:110px;white-space:nowrap}
body .round-award .icon{display:none}
body .table-status{position:relative;inset:auto;transform:none;grid-column:1/-1;grid-row:5;display:flex;justify-content:center;align-items:center;gap:8px;width:100%;white-space:nowrap}
body .status-pill{font-size:12px;padding:5px 12px}body .online-clock{font-size:11px;padding:4px 8px}
body .direction-mark{display:none}body .table-lettering{opacity:.2}
body .hand-area{height:auto;min-height:0;display:flex;flex-direction:column;padding:10px 8px 5px;border-top:1px solid var(--line);gap:6px}
body .hand-topline{display:flex;min-height:46px;height:auto;gap:12px;flex-wrap:nowrap}
body .you-identity{min-width:175px;gap:8px}
body .you-identity .avatar{width:38px;height:38px}
body .you-identity>div{gap:2px 8px}
body .you-identity strong{font-size:15px}body .you-identity small{font-size:10px}
body .you-identity .seat-scores{margin:0;gap:10px}
body .you-identity .seat-scores>span{font-size:11px;gap:5px}
body .you-identity .seat-scores strong{font-size:28px}body .you-identity .seat-scores b{font-size:24px}
body .hand-instruction{font-size:12px;line-height:1.45;flex:1;margin:0;padding:0;max-width:none;max-height:none;overflow:visible}
body .sort-button{font-size:12px}
body .hand-and-actions{display:flex;flex-direction:row;gap:14px;min-height:0;flex:none;align-items:center}
body .your-hand{display:flex;flex:1;gap:4px;min-height:0;padding:12px 3px 6px;justify-content:center;width:auto}
body .hand-card{flex:0 1 65px;width:65px;min-width:0;max-width:65px}
body .hand-card>.tile{width:100%}
body .hand-card.he-first{filter:drop-shadow(0 0 3px #d1b16b66)}
body .hand-card.he-last{margin-right:12px;filter:drop-shadow(0 0 3px #d1b16b66)}
body .hand-card.he-first:before{content:'和对';position:absolute;left:3px;top:-14px;color:#f0d195;font-size:10px;white-space:nowrap}
body .hand-actions{display:flex;flex-direction:column;gap:5px;width:158px;min-width:158px;flex:none}
body .cover-mode{margin:0;padding:2px;gap:3px}
body .cover-mode button{font-size:12px;padding:5px}
body .hand-actions .button{font-size:13px;min-height:34px;padding:7px 10px}
body .secondary-actions{display:flex;gap:5px}
body .hand-foot{min-height:20px;height:auto;position:relative;display:flex;align-items:center;justify-content:space-between;margin:0;padding:0;gap:8px;font-size:10px}
body .series-note{font-size:10px}body .hand-foot .text-button{font-size:11px}
.mobile-ledger-button{display:none}
body .ledger{height:auto;min-height:0;max-height:none;margin:0;border-radius:12px;overflow:hidden;align-self:start;position:relative}
body .ledger-tabs{height:33px;min-height:0}body .ledger-tabs>button{font-size:12px;padding:8px;gap:5px}
body .ledger-inner{padding:7px 8px;overflow:visible;max-height:none}
body .ledger-title{height:18px;margin:0 0 4px;font-size:11px}
body .ledger-title .toggle{transform:scale(.8);transform-origin:right center}
body .memory-summary{display:flex;align-items:center;margin:0 0 5px;height:24px;gap:2px}
body .memory-summary strong{font-size:23px;line-height:1}
body .memory-summary span{font-size:10px}body .memory-summary .live-label{display:none}
body .memory-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 6px;max-width:none;margin:0}
body .tile-memory-row{display:flex;align-items:center;gap:3px;padding:2px 0;min-height:0;min-width:0;break-inside:avoid}
body .rank-number{width:15px;flex:none;font-size:12px}
body .memory-tiles{display:flex;gap:1px;flex-wrap:nowrap;min-width:0}
body .memory-tile>.tile{width:16px;height:auto}
body .memory-tile{position:relative;flex:none}
body .rank-count{font-size:8px;margin-left:auto;flex:none}
body .used-mark{font-size:8px;bottom:1px}
body .memory-tile:hover{z-index:2;transform:scale(1.7);transform-origin:center}
body .gallery-link{font-size:10px;margin:3px 0;padding:5px 0}
body .covered-box{margin:3px 0 0;padding:0;border-radius:5px}
body .covered-heading{padding:5px 6px;font-size:11px;min-height:0}
body .covered-details{padding:5px;display:grid;grid-template-columns:1fr 1fr;gap:4px}
body .covered-details>div{padding:3px;font-size:10px;gap:4px}body .covered-details i{display:none}
body .ledger-note{margin:5px 0 0;font-size:9px;line-height:1.4}
body .ledger-foot{display:none}body .history-list{max-height:410px;overflow:auto}
body .audio-settings{border-top:1px solid var(--line);margin-top:14px;padding-top:15px}
body .audio-settings h3{color:var(--gold);font-size:18px;margin:0 0 10px}
body .audio-settings input[type=range]{width:130px;accent-color:var(--gold)}
body .chat-open{white-space:nowrap}body [data-chat-unread]:empty{display:none}
body [data-chat-unread]{border-radius:20px;background:#b7463b;color:#fff;font-size:10px;padding:2px 4px}
@media(max-width:1150px){
 body .game-shell{grid-template-columns:minmax(0,1fr) 244px;gap:9px;padding:9px}
 body .arena{grid-template-columns:65px minmax(76px,105px) minmax(45px,1fr) minmax(76px,105px) 65px;gap:6px;padding:14px 12px 0;grid-template-rows:58px 74px minmax(160px,auto) 74px 30px}
 body .seat .avatar,body .seat-portrait{width:36px;height:36px}
 body .seat-info h3{font-size:12px;max-width:76px}body .seat-info p{font-size:10px}
 body .seat:not(.seat-2) .seat-scores{flex-direction:column;gap:4px}
 body .seat:not(.seat-2) .seat-scores>span{flex-direction:row;gap:5px}
 body .seat-scores b{font-size:20px}body .seat-scores strong{font-size:23px}
 body .river .tile{width:23px}body .river-1 .tile,body .river-3 .tile{width:20px}
 body .river header small{display:none}body .table-wait{display:none}
 body .hand-card{max-width:53px}body .hand-actions{min-width:126px;width:126px}
 body .hand-topline{gap:6px}body .you-identity{min-width:142px}
 body .memory-tile>.tile{width:14px}body .rank-count{font-size:8px}body .rank-number{width:14px}
 body .tile-memory-row{gap:2px}body .memory-rows{gap:3px 4px}
 body .ledger-tabs>button{font-size:11px}body .hand-instruction{font-size:11px}
}
@media(max-width:760px) and (orientation:portrait){
 body .app-header{min-height:48px;height:auto;padding:7px 8px;gap:5px}body .brand{gap:6px}body .brand-seal{width:27px;height:30px;font-size:22px}
 body .brand strong{font-size:14px;letter-spacing:.06em;white-space:nowrap}body .brand small,body .header-divider,body .edition-label{display:none}
 body .header-nav{gap:2px;flex-wrap:nowrap;min-width:0}body .nav-button{padding:5px;min-width:26px;font-size:11px}
 body .header-nav .nav-button>span:not(.home-arrow){display:none}body .icon-button{width:28px;height:30px}body .header-nav .icon{width:17px;height:17px}
 body .header-nav [data-action=new]{display:none}body .mobile-ledger-button{display:flex;padding:5px 8px}
 body .game-shell{display:block;padding:6px;min-height:0}body .play-column{gap:5px}
 body .match-bar{min-height:18px;font-size:10px;gap:3px}body .match-location,body .score-mode{font-size:10px}body .match-location>span{display:none}
 body .arena{grid-template-columns:48px 72px minmax(24px,1fr) 72px 48px;grid-template-rows:46px 57px 162px 57px 25px;gap:4px;padding:10px 8px 0}
 body .wood-rim{inset:0 0 29px;border-radius:12px}body .round-counter span{font-size:11px}body .round-counter small{font-size:8px}
 body .seat-info h3{font-size:11px;max-width:52px}body .seat-info h3>span{display:none}body .seat-info p{font-size:8px}
 body .seat .avatar,body .seat-portrait{width:30px;height:30px}body .seat{gap:4px}
 body .seat-scores b{font-size:17px}body .seat-scores strong{font-size:20px}body .seat-scores>span{font-size:8px}
 body .seat-2{gap:8px}body .seat-2 .seat-info h3{max-width:190px;font-size:12px}body .seat-2 .seat-info p{display:none}
 body .chat-open>span:first-child{display:inline!important}
 body .river-0,body .river-2{grid-column:1/-1}body .river .tile{width:18px}
 body .river-1 .tile,body .river-3 .tile{width:14px}body .river-1 .river-groups,body .river-3 .river-groups{gap:2px}
 body .river header{font-size:8px;line-height:10px;margin-bottom:2px}body .river-group{padding:2px 2px 1px}
 body .river-group>small{font-size:8px;line-height:10px}body .river-group>small i{font-size:8px}body .river-group>small b{font-size:10px;line-height:10px}
 body .round-award{padding:4px;font-size:9px}body .round-award span{max-width:55px}body .round-award b{font-size:21px}
 body .status-pill{font-size:10px;padding:4px 6px}body .online-clock{font-size:9px;padding:3px}
 body .hand-area{padding:6px 3px;gap:4px}body .hand-topline{min-height:35px;gap:6px;flex-wrap:wrap}
 body .you-identity{min-width:140px;flex:1}body .you-identity .avatar{width:30px;height:30px}
 body .you-identity .seat-scores strong{font-size:24px}body .you-identity .seat-scores b{font-size:21px}
 body .you-identity strong{font-size:12px}body .you-identity .seat-scores>span{font-size:10px}
 body .hand-instruction{flex-basis:100%;order:3;font-size:10px;line-height:1.35;margin:0}
 body .hand-and-actions{flex-direction:column;gap:5px;padding:0}body .your-hand{width:100%;gap:3px;padding:11px 0 3px}
 body .hand-card{width:calc((100% - 26px)/8);flex:1 1 0;max-width:44px}body .hand-card.he-last{margin-right:8px}
 body .hand-actions{display:grid;grid-template-columns:1fr 1.3fr .55fr;gap:5px;width:100%;min-width:0}
 body .cover-mode{min-width:0}body .cover-mode button{font-size:11px;padding:6px 2px}
 body .hand-actions .button{min-height:32px;font-size:12px;padding:5px}.hand-actions .play-button .icon{display:none}
 body .secondary-actions{grid-column:auto;display:flex}body .secondary-actions [data-action=clear]{display:none}
 body .secondary-actions [data-action=hint]{font-size:11px}body .secondary-actions .icon{display:none}
 body .hand-foot{margin:2px 0 0;font-size:9px;min-height:17px}body .hand-foot>span:first-child{display:none}
 body .ledger{display:none}body #app.memory-expanded .ledger{display:block;position:fixed;z-index:48;top:56px;right:8px;width:min(350px,calc(100vw - 16px));box-shadow:0 8px 40px #000a;background:#142b22;border:1px solid #bfa574}
 body #app.memory-expanded .memory-tile>.tile{width:19px}body #app.memory-expanded .tile-memory-row{gap:4px}
 body .app-footer{padding:5px 8px;font-size:8px;min-height:20px}body .app-footer>span:last-child{display:none}
 body .modal-body{padding:16px}body .modal-header{padding:15px}body .modal-header h2{font-size:23px}
 body .form-field input,body textarea{font-size:16px}
}
@media(max-width:760px) and (orientation:portrait) and (max-height:700px){
 body .arena{grid-template-rows:40px 48px 134px 48px 22px;gap:3px;padding-top:8px}
 body .river .tile{width:16px}body .river-1 .tile,body .river-3 .tile{width:12px}body .hand-topline{min-height:30px}body .hand-instruction{display:none}body .hand-foot .series-note{display:none}
}
@media(max-width:1000px) and (orientation:landscape) and (max-height:600px){
 body .app-header{height:38px;min-height:38px;padding:4px 10px;gap:6px}
 body .brand-seal{width:24px;height:26px;font-size:19px}body .brand strong{font-size:15px}body .brand small,body .edition-label,body .header-divider{display:none}
 body .header-nav{gap:3px;flex-wrap:nowrap}body .header-nav .nav-button{padding:4px 6px;font-size:10px;min-height:26px}
 body .header-nav .icon-button{width:27px;height:27px}body .header-nav .icon{width:16px;height:16px}
 body .game-shell{grid-template-columns:minmax(0,1fr) 230px;padding:4px 6px;gap:6px;height:auto}
 body .play-column{gap:3px}body .match-bar{min-height:16px;height:16px;padding:0;gap:3px}
 body .match-location{font-size:9px}body .match-location>span,body .score-mode{display:none}
 body .arena{grid-template-columns:50px 76px minmax(30px,1fr) 76px 50px;grid-template-rows:31px 39px 92px 39px 21px;padding:7px 7px 0;gap:2px 3px}
 body .wood-rim{inset:0 0 23px;border-radius:10px}body .seat{gap:2px}
 body .seat .avatar,body .seat-portrait{width:24px;height:24px}
 body .seat-info h3{font-size:10px;max-width:55px}body .seat-info h3>span{display:none}body .seat-info p{font-size:8px;margin:1px 0}
 body .seat:not(.seat-2) .seat-scores{gap:2px}body .seat-scores>span{font-size:8px}body .seat-scores b{font-size:16px}body .seat-scores strong{font-size:19px}
 body .seat-2 .seat-info{display:flex;align-items:center;gap:8px}body .seat-2 .seat-info h3{max-width:140px}body .seat-2 .seat-info p{display:none}
 body .river .tile{width:14px}body .river-1 .tile,body .river-3 .tile{width:13px}body .river header{display:none}
 body .river-group{padding:1px 1px 0}body .river-groups{gap:2px}body .river-group>small{font-size:7px;line-height:9px}body .river-group>small i{font-size:7px}body .river-group>small b{font-size:10px;line-height:9px}
 body .round-counter span{font-size:10px}body .round-counter small{font-size:8px}body .round-award{font-size:9px;padding:3px}body .round-award b{font-size:19px}
 body .table-status{gap:4px}body .status-pill{font-size:9px;padding:3px 6px}body .online-clock{font-size:9px;padding:2px}
 body .hand-area{padding:4px 2px 0;gap:3px}body .hand-topline{min-height:24px;gap:5px}
 body .you-identity{min-width:127px;gap:5px}body .you-identity .avatar{width:24px;height:24px}body .you-identity>div{gap:1px 5px}body .you-identity strong{font-size:10px}body .you-identity small{display:none}
 body .you-identity .seat-scores{width:auto;gap:6px}body .you-identity .seat-scores>span{font-size:8px;gap:3px}body .you-identity .seat-scores strong{font-size:18px}body .you-identity .seat-scores b{font-size:16px}
 body .hand-instruction{font-size:9px;line-height:1.2;max-height:24px;overflow:hidden}body .sort-button{font-size:10px}
 body .hand-and-actions{gap:6px}body .your-hand{padding:7px 0 0;gap:3px}body .hand-card{width:29px;max-width:29px;flex:0 1 29px}body .hand-card.he-last{margin-right:7px}body .hand-card.he-first:before{font-size:8px;top:-10px}
 body .hand-actions{width:133px;min-width:133px;display:grid;grid-template-columns:1fr 1fr;gap:3px}body .cover-mode{grid-column:1/-1;padding:1px}body .cover-mode button{font-size:10px;padding:2px}
 body .hand-actions .button{font-size:10px;min-height:27px;padding:4px}body .secondary-actions{grid-column:auto}body .secondary-actions [data-action=clear],body .hand-actions .icon{display:none}
 body .hand-foot{display:none}body .app-footer{display:none}
 body .ledger-tabs{height:27px}body .ledger-tabs>button{font-size:10px;padding:5px}body .ledger-inner{padding:5px 6px}body .ledger-title{height:14px;font-size:9px}body .memory-summary{height:19px;margin-bottom:2px}
 body .memory-summary strong{font-size:19px}body .memory-summary span{font-size:9px}body .memory-tile>.tile{width:13px}body .tile-memory-row{padding:1px 0;gap:2px}body .memory-rows{gap:3px 4px}
 body .rank-number{font-size:10px;width:13px}body .rank-count{font-size:8px}body .gallery-link{padding:3px 0;font-size:9px;margin:2px 0}body .covered-heading{font-size:10px;padding:4px}body .ledger-note{font-size:8px;margin:3px 0}
}
#social-root[hidden],.voice-preview[hidden],.voice-controls button[hidden]{display:none!important}
#social-root{position:fixed;right:16px;top:76px;z-index:180;width:350px;max-width:calc(100vw - 16px);color:#e1d9bd;font-family:var(--sans)}
.social-drawer{display:flex;flex-direction:column;max-height:calc(100dvh - 96px);border:1px solid #9e8d5b;border-radius:14px;background:#132a23;box-shadow:0 14px 60px #0009;overflow:hidden}
.social-drawer header{display:flex;gap:8px;align-items:center;padding:12px 14px;border-bottom:1px solid #ffffff16}
.social-drawer header>div{flex:1}.social-drawer header b{display:block;font-size:17px}.chat-caption{display:block;font-size:10px;color:#9fb099;margin-top:4px}
.social-drawer button{cursor:pointer;color:#dec38c;border:1px solid #c9ab6933;border-radius:7px;padding:7px 10px;background:#20392d;font:13px var(--sans)}
.social-drawer button:disabled{opacity:.5;cursor:default}.social-drawer header [data-social=close]{font-size:22px;line-height:1;padding:4px 8px}
.chat-log{flex:1;min-height:100px;max-height:330px;overflow-y:auto;overscroll-behavior:contain;padding:12px}
.chat-message{max-width:96%;margin:0 0 12px}.chat-message small{font-size:10px;color:#9db49d;display:block;margin-bottom:4px}
.chat-message p{font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;padding:7px 10px;background:#244436;border-radius:0 10px 10px 10px;display:inline-block;max-width:100%;margin:0}
.chat-message.mine{text-align:right;margin-left:auto}.chat-message.mine p{background:#465239;border-radius:10px 0 10px 10px}
.chat-emoji{font-family:'Apple Color Emoji','Segoe UI Emoji',sans-serif;font-size:30px!important}.chat-emoji span{font:11px var(--sans);margin-left:4px}
.chat-empty{color:#91a28f;font-size:13px;line-height:1.7;text-align:center;margin:18px 0}
.emote-picker{display:grid;grid-template-columns:repeat(9,1fr);gap:2px;padding:6px 8px;border-top:1px solid #ffffff12}
.emote-picker button{border:0;background:none;font-family:'Apple Color Emoji','Segoe UI Emoji',sans-serif;font-size:26px;padding:5px 0;transition:transform .15s}
.emote-picker button:hover{transform:translateY(-4px) rotate(-9deg);background:#ffffff0a}
.chat-compose{display:flex;gap:6px;padding:4px 10px 8px;align-items:stretch}.chat-compose textarea{flex:1;width:0;min-width:0;resize:none;border:1px solid #adbb8733;border-radius:7px;background:#0b211a;color:#fff;padding:8px;font:14px var(--sans);outline:none}.chat-compose textarea:focus{border-color:#c8ad72}
.voice-controls{display:flex;align-items:center;gap:7px;padding:0 10px 8px}.voice-status{font-size:10px;color:#aab59b;flex:1}
.voice-controls .recording{background:#873c30;color:#fff;animation:recordPulse 1s infinite}
.voice-preview{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:8px 10px;background:#0e231c}.voice-preview audio{width:100%;height:32px}.voice-preview button{flex:1}
.social-drawer footer{font-size:9px;line-height:1.5;color:#8fa28e;padding:7px 12px;border-top:1px solid #ffffff0c}
.chat-audio{display:inline-flex;align-items:center;gap:5px;padding:6px;border-radius:10px;background:#294438;max-width:100%}.chat-audio span{font-size:10px;white-space:nowrap}.chat-audio audio{width:210px;max-width:100%;height:32px}
.emote-layer{position:fixed;inset:0;pointer-events:none;z-index:150;overflow:hidden}.avatar-burst{position:fixed;width:80px;height:108px;animation:burstFly 3s both;transform-origin:50% 100%;text-align:center;filter:drop-shadow(0 4px 6px #0007)}
.burst-face{display:block;font:64px/1.1 'Apple Color Emoji','Segoe UI Emoji',sans-serif}.avatar-burst small{display:inline-block;padding:3px 7px;border-radius:20px;background:#f1d59b;color:#2f3524;white-space:nowrap;font-size:11px}.avatar-burst i,.avatar-burst b{position:absolute;color:#ffdc6a;left:-5px;top:15px;font-size:23px;animation:sparkSpin .7s infinite alternate}.avatar-burst b{left:auto;right:-5px;top:0;color:#fff5c1}
@keyframes burstFly{0%{opacity:0;transform:translateY(20px) scale(.25) rotate(-18deg)}15%{opacity:1;transform:translateY(0) scale(1.25) rotate(12deg)}26%{transform:scale(.94) rotate(-5deg)}40%{transform:scale(1.05) rotate(3deg)}75%{opacity:1;transform:translateY(-5px) scale(1)}100%{opacity:0;transform:translateY(-30px) scale(.7)}}
@keyframes sparkSpin{from{transform:rotate(-20deg) scale(.7)}to{transform:rotate(45deg) scale(1.2)}}@keyframes recordPulse{50%{box-shadow:0 0 0 4px #ed746122}}
@media(prefers-reduced-motion:reduce){.avatar-burst{animation:none;opacity:1}.avatar-burst i,.avatar-burst b,.voice-controls .recording{animation:none}}
@media(max-width:760px) and (orientation:portrait){#social-root{right:8px;top:auto;bottom:max(8px,env(safe-area-inset-bottom));width:calc(100vw - 16px)}.social-drawer{max-height:60dvh}.chat-log{max-height:24dvh}.chat-compose textarea{font-size:16px}.social-drawer button{min-height:34px}}
@media(orientation:landscape) and (max-height:600px){#social-root{top:42px;right:6px;width:320px}.social-drawer{max-height:calc(100dvh - 48px)}.social-drawer header{padding:6px 10px}.chat-log{min-height:60px;max-height:150px}.emote-picker{padding:2px 6px}.emote-picker button{font-size:22px;padding:2px}.chat-compose textarea{font-size:14px;padding:5px}.voice-controls{padding-bottom:4px}.social-drawer footer{display:none}}
/* Fit intrinsic labels and the completed-hand empty state as carefully as live cards. */
body .round-counter{display:block;width:max-content;max-width:80px;white-space:nowrap;line-height:1.3}
body .round-counter span,body .round-counter small{display:block;padding:0;margin:0;border:0}
body .hand-empty{height:75px;min-height:0;line-height:1.5;display:flex;align-items:center;justify-content:center;font-size:16px}
@media(orientation:landscape) and (max-height:600px) and (max-width:1000px){
 body .arena{grid-template-columns:46px 94px minmax(18px,1fr) 94px 46px}
 body .your-hand{height:auto;min-height:0;max-height:65px}
 body .hand-empty{height:56px;min-height:0;font-size:13px}
 body .hand-and-actions{min-height:58px;max-height:65px}
 body .hand-area{max-height:102px;min-height:0;flex:none}
 body .ledger-note{display:none}
}
@media(max-width:760px) and (orientation:portrait){
 body .header-nav .home-button{font-size:0;width:28px;min-width:28px;flex:none;padding:4px}
 body .header-nav .home-button>span{display:none!important}
 body .header-nav .home-button:before{content:'←';font-size:18px}
 body .header-nav .mobile-ledger-button{width:auto;min-width:35px;white-space:nowrap;font-size:11px;flex:none}
 body .header-nav [data-action=archive],body .header-nav [data-action=rules]{display:none}
 body .header-nav .chat-open{min-width:28px;flex:none}
 body .header-nav{flex:1;justify-content:flex-end}
}
@media(max-width:1000px) and (max-height:600px) and (orientation:landscape){
 body .arena{grid-template-rows:27px 36px 78px 36px 19px;gap:2px 3px}
 body .river .tile,body .river-1 .tile,body .river-3 .tile{width:12px}
 body .river-group>small{line-height:8px}body .river-group>small b{line-height:8px}
 body .hand-empty{height:48px}
 body .hand-area{padding-top:3px;gap:2px}
}

/* Reserve real inner-table clearance beneath the final played-card row. */
body .arena{padding-bottom:14px}
body .table-status{transform:translateY(14px)}
@media(max-width:760px) and (orientation:portrait){body .arena{grid-template-rows:46px 65px minmax(162px,auto) 57px 25px;row-gap:5px}}
@media(max-width:760px) and (orientation:portrait) and (max-height:700px){body .arena{grid-template-rows:40px 58px minmax(134px,auto) 48px 22px;row-gap:4px}}
@media(max-width:1000px) and (orientation:landscape) and (max-height:600px){body .arena{padding-bottom:0}body .table-status{transform:none}body .river-0{transform:translateY(-9px)}}

.secure-voice-link{display:block;margin:0 10px 8px;padding:8px 10px;border-radius:6px;background:#465239;color:#f1d59b;font-size:13px;text-align:center;text-decoration:none}
