/* V1.8 additions reuse the existing responsive shell and modal system. */
.cloud-lobby-status { display:flex; align-items:center; gap:9px; color:#a1acc0; margin:22px 0 0; font-size:12px; line-height:1.5; }
.cloud-status-version { margin-left:auto; border:1px solid #30384d; border-radius:6px; padding:2px 7px; font-weight:800; }
.cloud-status-dot, .online-live-label span, .online-waiting-dot { flex:0 0 7px; width:7px; height:7px; border-radius:50%; background:#a28a5d; }
[data-cloud-connected="true"] .cloud-status-dot { background:#b7f638; box-shadow:0 0 14px #b7f65060; }
.online-resume-strip { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px; margin-top:18px; border:1px solid #b7f65055; border-radius:18px; background:linear-gradient(125deg,#2735227a,#121725); }
.online-resume-strip[hidden] { display:none; }
.online-resume-strip strong,.online-resume-strip small { display:block; }
.online-resume-strip strong { margin:6px 0; font-size:19px; }
.online-resume-strip small { color:#a1acc0; }
.online-create-card { padding:24px; background:radial-gradient(ellipse at 100% 0,#6e548833,transparent 60%),linear-gradient(130deg,#29342b,#172121); border:1px solid #a6e06950; border-radius:20px; }
.online-create-card h3 { font-size:25px; margin:14px 0 10px; }
.online-create-card p { color:#b8c6be; line-height:1.6; margin-bottom:22px; }
.online-live-label { display:flex; align-items:center; gap:8px; color:#bcf870; font-size:10px; font-weight:900; letter-spacing:1.5px; }
.online-live-label span,.online-waiting-dot { background:#bdff56; box-shadow:0 0 14px #b7f65060; }
.online-join-section { margin-top:24px; }
.online-join-section label,.online-field-label { display:block; font-size:13px; font-weight:800; margin-bottom:9px; }
.online-join-section small { display:block; color:#98a7b4; margin-top:9px; line-height:1.6; }
.online-input-row { display:flex; gap:10px; }
.online-input-row input { width:100%; min-width:0; height:50px; border:1px solid #3e4958; border-radius:12px; color:#eef6fa; background:#101722; padding:0 14px; font-size:14px; }
.online-input-row input:focus { outline:2px solid #adf13b; outline-offset:2px; }
.online-input-row button { flex-shrink:0; min-height:50px; }
.online-footnote { color:#98a7b4; font-size:12px; line-height:1.7; margin:18px 0 0; }
.online-seat-pair { display:grid; grid-template-columns:1fr 40px 1fr; gap:12px; align-items:center; text-align:center; padding:24px 16px; background:#101620; border:1px solid #293044; border-radius:18px; margin:24px 0; }
.online-seat-pair strong,.online-seat-pair small { display:block; overflow-wrap:anywhere; }
.online-seat-pair strong { font-size:17px; margin:12px 0 7px; }
.online-seat-pair small { color:#9da9bf; font-size:12px; }
.online-avatar { display:inline-flex; align-items:center; justify-content:center; width:55px; height:55px; border-radius:50%; border:2px solid #b4ef4b; color:#d7fbaa; background:#273729; font-size:21px; font-weight:800; box-shadow:0 0 25px #b4ef4b15; }
.online-avatar-empty { border:2px dashed #77808f; background:#1b2330; color:#96a3b7; box-shadow:none; }
.online-versus { color:#a399c3; font-weight:900; font-size:12px; letter-spacing:2px; }
.online-waiting-status { display:flex; align-items:center; gap:9px; color:#d2e7ba; font-size:13px; padding-top:16px; }
.online-invite-summary { display:flex; align-items:center; gap:16px; padding:22px; border:1px solid #333f46; border-radius:17px; background:#121f23; }
.online-invite-summary strong,.online-invite-summary small { display:block; }
.online-invite-summary strong { font-size:20px; }
.online-invite-summary small { color:#a7b4c0; margin-top:6px; }
.online-free-pill { margin-left:auto; color:#c7ff6b; font-size:11px; border:1px solid #abd45255; padding:7px 10px; border-radius:6px; font-weight:900; }
.online-local-link { color:#a7b4ca; background:transparent; border:0; padding:16px 0; display:block; min-height:44px; cursor:pointer; text-align:left; }
.online-local-link:hover { color:#d9e6fa; text-decoration:underline; }
.online-match-actions { display:flex; gap:10px; margin-top:18px; }
.online-match-actions button { flex:1; min-height:44px; }
.online-hidden { display:none!important; }
.online-resign-link { display:block; color:#d59aa4; border:0; background:none; min-height:44px; margin:12px auto 0; cursor:pointer; }
.online-history { max-height:440px; overflow:auto; }
.online-history-row { display:flex; align-items:center; justify-content:space-between; padding:17px 0; gap:15px; border-top:1px solid #2c3343; }
.online-history-row small { display:block; font-size:12px; color:#98a7b4; margin-top:6px; }
.online-history-row>div:last-child { text-align:right; }
.online-win { color:#b4ef4b; }
[data-online-game="true"] #doublingCube { opacity:.5; cursor:default; }
#modalContent button:disabled { opacity:.6; cursor:not-allowed; }
@media(max-width:720px) {
  .online-resume-strip { align-items:stretch; flex-direction:column; padding:17px; gap:14px; }
  .online-resume-strip strong { font-size:17px; }
  .cloud-lobby-status { font-size:11px; }
  .online-create-card { padding:20px; }
  .online-create-card h3 { font-size:22px; }
  .online-input-row { flex-direction:column; }
  .online-input-row input { font-size:16px; flex:none; }
  .online-input-row button { width:100%; }
  .online-seat-pair { padding:20px 10px; grid-template-columns:1fr 20px 1fr; gap:8px; }
  .online-seat-pair strong { font-size:14px; }
  .online-seat-pair small { font-size:11px; }
  .online-invite-summary { padding:16px; gap:12px; }
  .online-invite-summary strong { font-size:18px; }
  .online-free-pill { display:none; }
  [data-online-game="true"] #gameSubtitle { font-size:10px; line-height:1.5; }
}
@media(prefers-reduced-motion:reduce) { .online-waiting-dot { animation:none; } }

/* V1.13: private online tables with a saved, simulated wallet. */
.demo-account-balance{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0;color:var(--text-muted,#aab6c7);font-size:13px;}
.demo-account-balance strong{color:#72efbb;margin-left:8px;font-variant-numeric:tabular-nums;}
.demo-stake-field{border:0;padding:0;margin:18px 0 10px;min-width:0;}
.demo-stake-field legend{font-weight:800;font-size:14px;margin-bottom:10px;color:#d4deeb;}
.demo-stake-field .cash-stake-picker{margin:0;}
.demo-pot-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #baff3030;border-radius:18px;background:linear-gradient(120deg,#b7f3330b,#51eeb506);margin:18px 0;padding:17px 14px;gap:12px;}
.demo-pot-summary>div{min-width:0;padding:0 8px;border-right:1px solid #ffffff12;}
.demo-pot-summary>div:nth-child(3){border-right:0;}
.demo-pot-summary small{display:block;color:#a8b4c3;font-size:11px;line-height:1.45;margin-bottom:7px;}
.demo-pot-summary strong{font-size:25px;line-height:1.2;font-weight:850;color:#f5f8fc;font-variant-numeric:tabular-nums;}
.demo-pot-summary .demo-prize strong{color:#baff36;}
.demo-pot-summary p{grid-column:1/-1;border-top:1px solid #ffffff10;margin:2px 8px 0;padding-top:12px;font-size:11px;line-height:1.6;color:#b5c1cf;}
.demo-create-action{margin:20px 0 24px;}
.demo-create-action>small{display:block;margin-top:10px;font-size:11px;line-height:1.5;text-align:center;color:#a4b1c1;}
.demo-join-balance{color:#b9c4d3;font-size:13px;}
.demo-join-balance strong{color:#75efbd;}
.demo-insufficient{font-size:13px;color:#ffc7a1;line-height:1.5;}
.demo-ledger-heading{font-size:15px;margin:24px 0 10px;}
.demo-ledger{max-height:240px;overflow:auto;}
.demo-ledger>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #ffffff10;}
.demo-ledger strong{font-size:12px;display:block;}
.demo-ledger small{display:block;font-size:10px;color:#98a6b8;margin-top:4px;}
.demo-ledger b{font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums;}
@media(max-width:600px){
 .demo-pot-summary{padding:14px 6px;gap:5px;border-radius:14px;}
 .demo-pot-summary strong{font-size:21px;}
 .demo-pot-summary small{font-size:10px;}
 .demo-pot-summary>div{padding:0 6px;}
 .demo-account-balance{gap:8px;font-size:12px;}
 .demo-account-balance strong{display:block;margin:4px 0 0;}
 .demo-stake-field .cash-stake-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}
 .demo-stake-field .cash-stake-picker button{padding:12px 4px;min-width:0;min-height:56px;}
 .demo-stake-field .cash-stake-picker small{font-size:9px;}
}
