#points-page :is(.nn-game,.nn-multi-game,.mj-room) button.game-autoplay{
 min-width:140px;min-height:40px;padding:9px 14px;border:1px solid #ffe5a2;border-radius:9px;
 background:#f4cd59;color:#26392d;font-size:13px;font-weight:750;white-space:nowrap;
 box-shadow:0 2px 0 #806626;touch-action:manipulation;
}
#points-page :is(.nn-game,.nn-multi-game,.mj-room) button.game-autoplay:hover:not(:disabled){background:#ffe08a}
#points-page :is(.nn-game,.nn-multi-game,.mj-room) button.game-autoplay:focus-visible{outline:3px solid white;outline-offset:3px}
#points-page :is(.nn-game,.nn-multi-game,.mj-room) button.game-autoplay:disabled{opacity:.8;cursor:default}
.nn-heading-actions{display:flex;align-items:center;gap:8px}
#points-page .nn-game-view .nn-heading{min-height:44px}
#points-page .mj-table-mode .mj-room:not([data-phase=finished]) .mj-room-header{height:auto;min-height:44px}
#points-page .mj-table-mode .mj-room-header .mj-room-actions{height:auto}
#points-page .mj-table-mode[data-orientation=landscape] .mj-room:not([data-phase=finished]){grid-template-rows:44px minmax(0,1fr) auto auto}
/* Continuous card taps should select cards, without triggering browser double-tap zoom. */
#points-page .sc-game button,#points-page .sc-my-hand{touch-action:manipulation}
#points-page .sc-my-hand{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
@media(max-width:600px){
 #points-page .nn-game-view .nn-heading>div:first-child{display:none}
 #points-page .nn-game-view .nn-heading{flex-wrap:nowrap}
 #points-page .nn-game-view .nn-multi-game .nn-heading>div:first-child{display:block;flex:1;min-width:0}
 #points-page .nn-game-view .nn-heading-actions{gap:5px;flex-wrap:wrap;justify-content:flex-end}
 #points-page .mj-table-mode:not([data-orientation=landscape]) .mj-room:not([data-phase=finished]) .mj-room-header{flex-wrap:wrap;gap:4px}
 #points-page .mj-table-mode:not([data-orientation=landscape]) .mj-room-header>div:first-child{flex-basis:100%}
 #points-page .mj-table-mode:not([data-orientation=landscape]) .mj-room-actions{width:100%;justify-content:space-between}
 #points-page .mj-table-mode .mj-room-actions .game-autoplay{flex:1;min-width:130px}
}
@media(max-height:500px){
 #points-page :is(.nn-game,.nn-multi-game,.mj-room) button.game-autoplay{min-height:36px;min-width:130px;padding:7px 10px;font-size:12px}
 #points-page .nn-game-view .nn-heading{min-height:38px}
 #points-page .mj-table-mode .mj-room:not([data-phase=finished]) .mj-room-header{min-height:38px}
 #points-page .mj-table-mode[data-orientation=landscape] .mj-room:not([data-phase=finished]){grid-template-rows:38px minmax(0,1fr) auto auto}
}

/* Controls keep their intrinsic width; text never shrinks outside its button. */
#points-page .mj-table-mode .mj-room-header .mj-room-actions{flex-wrap:wrap;min-width:0;gap:6px;max-width:100%}
#points-page .mj-table-mode .mj-room-actions>button{width:auto;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;line-height:1.4;white-space:nowrap}
#points-page .mj-table-mode .mj-room-actions button[data-mj="sound"]{min-width:72px;min-height:34px;padding:8px 10px;border-radius:8px;background:#f7efce;color:#313829;-webkit-text-fill-color:#313829;border:1px solid #e3d8ac;font-size:12px;letter-spacing:0;box-sizing:border-box}
#points-page .mj-table-mode .mj-room-actions .mj-language-choice{flex:0 0 auto}
#points-page .mj-table-mode .mj-room-header>div:first-child{display:block}
@media(max-width:600px){
 #points-page .mj-table-mode:not([data-orientation=landscape]) .mj-room-actions .game-autoplay{flex:1 0 130px}
}
