/* Shared layout improvements for both Modern and Classic themes. */
*{box-sizing:border-box}body{margin:0}a,button,input,select,textarea{touch-action:manipulation}button,a.yg-btn{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px}a.yg-btn{padding:9px 14px}#authView{padding:20px;max-width:850px!important}.auth-box{min-width:280px}.yg-main{padding:16px!important}.yg-navbar{display:flex;gap:8px;flex-wrap:wrap}.yg-header{display:flex;flex-wrap:wrap;gap:8px}.yg-header-right{margin-left:auto}#connectionNotice{position:sticky;top:0;z-index:1000;padding:12px}.yg-banner[hidden]{display:none}.shared-links{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.game-settings label{display:block;margin:14px 0}.game-settings input[type=checkbox]{width:auto}.rating-table{border-collapse:collapse;width:100%}.rating-table td,.rating-table th{padding:10px 8px;border-bottom:1px solid #e8e4f4;text-align:left}.rating-table th{font-weight:700}.games-profile-heading{display:flex;align-items:center;gap:18px;margin:12px 0 24px}.games-profile-heading h1{margin:0}.game-history{overflow-x:auto}#table{max-width:100%;height:auto;touch-action:none}input[type=range]{width:100%;min-height:32px}#spinPad{touch-action:none}.yg-panel-body{overflow-wrap:anywhere}.yg-modal{max-width:calc(100vw - 24px)!important}.yg-modal-body{max-height:70vh;overflow:auto}
@media(max-width:760px){.auth-grid,.room-grid,.pf-cols{flex-direction:column!important}.auth-box,.room-right,.pf-left,.pf-right{width:100%!important;min-width:0!important}.room-left,.dir-col{width:100%;min-width:0!important}.yg-header-right{width:100%;margin-left:0}.yg-main{padding:10px!important}.yg-header{padding:12px!important}.yg-navbar a{padding:8px}.game-layout,.game-grid,.pool-layout{flex-direction:column!important}canvas{max-width:100%;height:auto}.yg-modal-btns{flex-wrap:wrap}.tbl{min-width:130px}.rating-table th,.rating-table td{padding:9px 5px;font-size:12px}}

.game-cols>div{min-width:0}.hud-bar{flex-wrap:wrap}.game-side{flex-shrink:0}
@media(max-width:1100px){.game-cols{flex-direction:column!important}.game-side{width:100%!important;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.game-side .yg-panel{margin:0}}
body.spades-page #felt{max-width:100%;width:760px}
@media(max-width:600px){body.spades-page #felt{height:630px}body.spades-page .seat-panel{min-width:95px;font-size:10px;max-width:48%}body.spades-page .backs{display:none}body.spades-page #seatW{top:150px}body.spades-page #seatE{top:150px}body.spades-page #seatS{bottom:170px}body.spades-page #handRow{width:96%;flex-wrap:wrap;justify-content:center;white-space:normal;gap:3px}body.spades-page #handRow .pcard{margin:0!important;width:40px!important;height:62px!important}body.spades-page #bidPanel{width:94%;max-width:340px;top:47%}body.spades-page .game-side{display:block}body.spades-page .game-side .yg-panel{margin-bottom:12px}}
.game-cols>div{max-width:100%}@media(max-width:1100px){.game-cols>div{width:100%}}

/* Consistent play surfaces, touch targets and accessible focus across all five games. */
body .game-page-wrap:not(.pool-page .game-page-wrap){max-width:1240px}
.game-page-wrap .game-cols{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:20px;align-items:start}
.game-page-wrap .game-side{width:auto;display:flex;flex-direction:column;gap:14px}
.game-page-wrap .game-side .yg-panel{margin:0}
.game-page-wrap .game-side .table-chat-panel{order:1}
.game-page-wrap .game-side .yg-panel:first-child{order:0}
.game-page-wrap .game-side .yg-panel:not(:first-child):not(.table-chat-panel){order:2}
.game-page-wrap .yg-btn{font-size:14px;min-height:42px;padding:8px 12px}
.game-page-wrap .yg-panel-title{font-size:14px}
.game-page-wrap .chat-log{height:180px!important;font-size:13px;line-height:1.6}
.game-page-wrap .chat-row{display:flex;gap:6px}.game-page-wrap .chat-row input{min-width:0;width:0;flex:1;font-size:14px}
.chat-feedback{font-size:12px;color:#7a4a20;min-height:2px;margin-top:5px}
.game-page-wrap #statusLine{font-size:14px;line-height:1.5}
.game-page-wrap .game-side #moveLog{font-size:13px;height:140px}
.game-page-wrap #board{width:min(100%,660px);height:auto;border-radius:8px;touch-action:manipulation}
.board-key-hint{font-size:12px;color:#5d6477;line-height:1.5;margin:8px 2px;max-width:660px}
.game-page-wrap :focus-visible,.yg-modal :focus-visible{outline:3px solid #197f9f;outline-offset:3px}
.game-page-wrap .pcard[role=button],.game-page-wrap .dtile[role=button]{cursor:pointer}
.game-page-wrap .pcard[role=button]:focus-visible,.game-page-wrap .dtile[role=button]:focus-visible{transform:translateY(-5px)}
.game-page-wrap .pcard[aria-disabled=true],.game-page-wrap .dtile[aria-disabled=true]{cursor:default}
.yg-modal .yg-modal-title .x{border:0;background:transparent;color:inherit;cursor:pointer;min-width:36px;min-height:36px}
body.dominoes-page #felt{height:310px;background:radial-gradient(ellipse at center,#287a73,#163c40);border-color:#4d4336}
body.dominoes-page #line{gap:2px}
body.dominoes-page .end-tag{font-size:13px}
body.dominoes-page #hand{padding:16px;gap:10px;border-radius:12px;min-height:100px}
body.dominoes-page #hand .dtile{width:66px;height:38px}
body.spades-page #felt{width:100%;height:600px;background:radial-gradient(ellipse at center,#287a73,#163c40);border-color:#4d4336}
body.spades-page #handRow{width:95%;flex-wrap:wrap;justify-content:center;gap:5px;bottom:16px}
body.spades-page #handRow .pcard{margin:0;width:46px;height:68px;font-size:13px}
body.spades-page #seatS{bottom:108px}
body.spades-page .seat-panel{max-width:43%;border-radius:10px;padding:9px;font-size:12px}
body.spades-page .team-lbl{font-size:11px}
body.spades-page #bidPanel{border-radius:12px;border:1px solid #d3d5de;top:42%;width:94%;max-width:380px}
body.spades-page #bidPanel .yg-btn{min-width:40px;min-height:42px}
@media(max-width:979px){.game-page-wrap .game-cols{grid-template-columns:1fr}.game-page-wrap .game-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.game-page-wrap .game-side .table-chat-panel{grid-column:2;grid-row:1 / span 2}.game-page-wrap .game-cols>div{width:100%}body.spades-page #felt{max-width:780px}}
@media(max-width:599px){.game-page-wrap .game-side{display:flex}.game-page-wrap .yg-btn{min-height:44px}.game-page-wrap .yg-panel-body{padding:12px}.hud-bar .player-strip{max-width:100%;flex-wrap:wrap}.game-page-wrap .hud-clock{margin-left:auto}.board-key-hint{font-size:11px}.game-page-wrap .hud-bar{gap:8px}body.dominoes-page #felt{height:225px}body.spades-page #felt{height:660px}body.spades-page #seatN{top:8px}body.spades-page #seatW,body.spades-page #seatE{top:155px;max-width:46%;min-width:0}body.spades-page #seatS{bottom:181px;min-width:140px}body.spades-page #bidPanel{top:44%}body.spades-page #handRow{gap:5px;bottom:12px;width:96%}body.spades-page #handRow .pcard{width:40px!important;height:64px!important;font-size:12px}body.spades-page .trick-card .pcard{width:42px;height:62px;font-size:12px}}
