/* Online rooms extend the established Ludo club, without changing the board. */
.game-ludo [hidden]{display:none!important}
.game-ludo .ludo-online-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.game-ludo .ludo-room-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.game-ludo .ludo-room-heading h2{display:flex;align-items:center;gap:12px}
.game-ludo .ludo-room-count{display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:50%;background:#fff1;font:600 13px Club,sans-serif}
.game-ludo .ludo-room-button,.game-ludo .ludo-online-panel button,.game-ludo .ludo-room-dialog button{min-height:44px;padding:10px 16px;border:1px solid #edc18b40;border-radius:10px;background:#213d43;color:#f9e2b6;font:600 13px Club,sans-serif;cursor:pointer}
.game-ludo .ludo-room-button:disabled,.game-ludo .ludo-online-panel button:disabled{opacity:.48;cursor:default}
.game-ludo .ludo-room-list{display:grid;gap:12px;list-style:none;padding:0;margin:20px 0}
.game-ludo .ludo-room-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:20px;border-radius:17px;border:1px solid #ffffff18;background:linear-gradient(125deg,#30495488,#14222a88)}
.game-ludo .ludo-room-copy{min-width:0}
.game-ludo .ludo-room-copy strong{display:block;font-size:18px;overflow-wrap:anywhere}
.game-ludo .ludo-room-copy small{display:block;color:var(--club-muted);font-size:12px;margin-top:8px}
.game-ludo .ludo-room-colours{grid-row:2;display:flex;gap:6px;align-items:center}
.game-ludo .ludo-room-card button{grid-column:2;grid-row:1 / 3;align-self:center}
.game-ludo .ludo-room-colours .club-pawn{width:13px;height:20px}
.game-ludo .ludo-room-colours .empty{opacity:.18}
.game-ludo .ludo-room-empty{text-align:center;padding:46px 20px;background:radial-gradient(ellipse at center,#48768025,transparent 70%);border:1px dashed #ffffff1a;border-radius:18px;margin:20px 0}
.game-ludo .ludo-room-pawns{display:flex;align-items:flex-end;justify-content:center;gap:17px;height:76px;margin-bottom:24px}
.game-ludo .ludo-room-pawns .club-pawn{width:29px;height:43px;box-shadow:0 12px 14px #0004}
.game-ludo .ludo-room-pawns .club-pawn:nth-child(even){transform:translateY(-12px)}
.game-ludo .ludo-room-note{font-size:12px;line-height:1.8;color:var(--club-muted);margin:14px 0 0}
.game-ludo .ludo-online-status{display:block;min-height:26px;margin:9px 0;color:#f2ce96;font-size:12px}
.game-ludo .ludo-code-form{border-top:1px solid #ffffff1a;padding-top:22px;margin-top:24px}
.game-ludo #onlineRoomCode{letter-spacing:.25em;text-transform:uppercase}
.game-ludo .ludo-primary{background:linear-gradient(125deg,#fae4b9,#d7ad78)!important;color:#252d30!important;font-weight:600}
.game-ludo .ludo-solo-panel{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin:24px 0;padding:28px;background:#203943;border:1px solid #ffffff18;border-radius:20px}
.game-ludo .ludo-solo-panel h2{font-size:27px}
.game-ludo .ludo-return-link{display:block;border:1px solid #edc18b66;background:#edc18b15;border-radius:12px;padding:14px 18px;text-decoration:none;font-size:14px;margin:12px 0}
.game-ludo .ludo-online-panel{margin:8px 18px 20px;padding:18px 22px;border:1px solid #e8ce9d35;border-radius:18px;background:linear-gradient(120deg,#18363def,#162934ef);color:#f8eedc;font-family:Club,sans-serif;box-shadow:0 12px 30px #071d3633}
.game-ludo .ludo-online-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}
.game-ludo .ludo-online-title{min-width:0}
.game-ludo .ludo-online-title strong{font-size:17px;overflow-wrap:anywhere}
.game-ludo .ludo-online-title small{display:block;font-size:10px;letter-spacing:.1em;color:#9fc9bc;margin-bottom:5px}
.game-ludo .ludo-online-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.game-ludo .ludo-online-actions code{font:600 18px Club,sans-serif;letter-spacing:.16em;padding:8px;color:#edc18b}
.game-ludo .ludo-online-seats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}
.game-ludo .ludo-online-seat{display:flex;align-items:center;gap:12px;padding:14px 12px;border:1px solid #ffffff18;background:#ffffff05;border-radius:12px;min-width:0}
.game-ludo .ludo-online-seat>div{min-width:0}
.game-ludo .ludo-online-seat strong{display:block;font-size:13px;overflow-wrap:anywhere}
.game-ludo .ludo-online-seat small{display:block;font-size:10px;color:#b6c9c7;margin-top:4px}
.game-ludo .ludo-seat-dot{width:14px;height:22px;border-radius:7px 7px 5px 5px;flex:none;box-shadow:inset 2px 2px 4px #fff5}
.game-ludo .ludo-seat-dot.red{background:#e85c60}
.game-ludo .ludo-seat-dot.blue{background:#608fdf}
.game-ludo .ludo-seat-dot.green{background:#49b785}
.game-ludo .ludo-seat-dot.yellow{background:#ecc765}
.game-ludo .ludo-online-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.game-ludo .ludo-online-bottom p{font-size:12px;color:#c0cfca;line-height:1.7;margin:0}
.game-ludo .ludo-online-bottom>div{display:flex;gap:8px}
.game-ludo #onlineMessage{display:block;color:#ffe0a4;font-size:12px;margin-top:10px;line-height:1.7}
.game-ludo #onlineInviteLink{box-sizing:border-box;width:100%;min-height:44px;padding:10px;margin-top:12px;background:#091f2a;border:1px solid #ffffff30;border-radius:8px;color:#f9e2b6;font-size:13px}
.game-ludo .ludo-online-events{margin-top:12px;font-size:11px;color:#c0cfca}
.game-ludo .ludo-online-events summary{cursor:pointer;padding:8px 0}
.game-ludo .ludo-online-events ol{padding-left:18px;max-height:120px;overflow:auto;line-height:1.9}
.game-ludo .ludo-room-dialog{box-sizing:border-box;width:min(440px,calc(100% - 32px));padding:28px;border:1px solid #edc18b55;border-radius:20px;background:#17303a;color:#f8eedc;font:14px/1.8 Club,sans-serif}
.game-ludo .ludo-room-dialog::backdrop{background:#05151ac9;backdrop-filter:blur(5px)}
.game-ludo .ludo-room-dialog h2{margin:0;font-size:24px}
.game-ludo .ludo-room-dialog form{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.game-ludo .ludo-room-dialog p{color:#c5d2cf}
.game-ludo .ludo-online-panel a{color:#edc18b}
@media(max-width:900px){
 .game-ludo .ludo-online-grid{grid-template-columns:1fr}
 .game-ludo .ludo-online-seats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .game-ludo .ludo-solo-panel{grid-template-columns:1fr;gap:16px}
}
@media(max-width:600px){
 .game-ludo .ludo-online-panel{margin:8px 8px 14px;padding:15px 12px}
 .game-ludo .ludo-online-actions{gap:6px}
 .game-ludo .ludo-online-panel button{padding:10px;font-size:12px}
 .game-ludo .ludo-room-card{padding:15px;gap:10px}
 .game-ludo .ludo-room-card button{padding:10px}
 .game-ludo .ludo-room-copy strong{font-size:16px}
 .game-ludo .ludo-online-seat{padding:12px 9px;gap:8px}
 .game-ludo .ludo-online-bottom>div{width:100%}
 .game-ludo .ludo-online-bottom>div button{flex:1}
 .game-ludo .ludo-solo-panel{padding:20px}
}


.game-ludo.ludo-online-play .player-row strong{overflow-wrap:anywhere}
