* { box-sizing: border-box; }

#player-auth-startup { display:none; }
html[data-auth-startup="loading"] #player-auth-screen { visibility:hidden; }
html[data-auth-startup="loading"] #player-auth-startup {
  position:fixed; inset:0; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:12px;
  background:var(--felt); color:var(--text-hi);
}

.player-auth-screen {
  position: fixed;
  inset: 0;
  overflow-y: auto;
  display: grid;
  place-items: center;
  padding: max(22px, env(safe-area-inset-top)) 16px max(22px, env(safe-area-inset-bottom));
  background:
    radial-gradient(ellipse 720px 390px at 50% 10%, rgba(var(--gold-rgb), .08), transparent 72%),
    var(--felt);
}

.player-auth-card {
  width: min(100%, 410px);
  padding: 26px clamp(20px, 6vw, 36px) 24px;
  border: 1px solid var(--border-hi);
  border-radius: var(--r-md);
  background: var(--modal-bg);
  box-shadow: 0 18px 60px rgba(0, 0, 0, .32);
  color: var(--text-hi);
}

.player-auth-brand { display: grid; justify-items: center; gap: 7px; margin-bottom: 24px; }
.player-auth-brand img { display: block; filter: drop-shadow(0 3px 9px rgba(0, 0, 0, .35)); }
html[data-auth-page="register"] .player-auth-brand img { display: none; }
html[data-auth-page="register"] .player-auth-brand .card-suits-row { display: none; }
.player-auth-brand .card-title-big { font-size: 1.72rem; }
.player-auth-brand .card-suits-row { margin: 0; }
.player-auth-card h1 { margin: 0; color: var(--text-hi); font-size: 1.12rem; }
.player-auth-note { margin: 8px 0 20px; color: var(--text); font-size: .88rem; line-height: 1.55; }
.player-auth-field { display: grid; gap: 7px; margin: 15px 0; }
.player-auth-field label { color: var(--text-hi); font-size: .88rem; }
.player-auth-field input {
  width: 100%; min-height: 44px; padding: 10px 12px;
  border: 1px solid var(--border); border-radius: var(--r-sm);
  background: var(--field-bg); color: var(--text-hi); font: inherit;
}
.player-auth-field input:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.player-auth-field input[aria-invalid="true"] { border-color: var(--red); }
.player-auth-field-error { min-height: 1.1em; color: var(--red); font-size: .8rem; }
.player-auth-field-error[hidden] { display: none; }
#player-auth-register-stage { --registration-error: #ff8a80; }
html[data-theme="pokerth-light"] #player-auth-register-stage { --registration-error: #b42318; }
#player-auth-register-stage .player-auth-field-error { color: var(--registration-error); overflow-wrap: anywhere; }
#player-auth-register-stage [aria-invalid="true"] { border-color: var(--registration-error); }
.player-auth-card .btn-primary { width: 100%; min-height: 44px; margin-top: 5px; }
.player-auth-card .player-enter-game { display: flex; align-items: center; justify-content: center; box-sizing: border-box; text-decoration: none; }
.player-auth-card .btn-primary:disabled { cursor: wait; opacity: .62; }
.player-auth-card .btn-secondary {
  width: 100%; min-height: 42px; margin-top: 10px;
  border: 1px solid var(--border-hi); border-radius: var(--r-sm);
  background: transparent; color: var(--text-hi); font: inherit; cursor: pointer;
}
.player-auth-card .btn-secondary:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.player-auth-card .btn-secondary:disabled { cursor: wait; opacity: .62; }
.player-auth-stage-viewport {
  position: relative;
  min-height: 260px;
  overflow: visible;
}
.player-auth-stage {
  display: none;
}
html[data-auth-page="login"] #player-auth-login-stage,
html[data-auth-page="register"] #player-auth-register-stage { display: block; }
.player-auth-field-help { color: var(--text); font-size: .78rem; line-height: 1.4; }
.login-avatar-top #av-trigger:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
#avatar-popup .avp-header button {
  border: 0; padding: 2px 4px; background: transparent; color: var(--text);
  font: inherit; font-size: 1rem; cursor: pointer;
}
#avatar-popup .avp-header button:focus-visible,
#avatar-popup .avp-cat:focus-visible,
#avatar-popup .avp-btn:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
#avatar-popup.avatar-popup-as-modal #avatar-picker-status {
  width: min(360px, 100%); margin: 0; padding: 8px 12px 10px;
  background: var(--modal-bg); color: var(--text); text-align: center; font-size: .82rem;
}
#avatar-picker-grid .avp-btn[hidden] { display: none; }
#avatar-popup.avatar-popup-as-modal #avatar-picker-status:empty { display: none; }
.player-auth-status { min-height: 1.45em; margin: 12px 0 0; font-size: .86rem; line-height: 1.5; }
.player-auth-status[data-state="error"], .player-auth-status[data-state="pending"],
.player-auth-status[data-state="unavailable"] { color: var(--orange); }
.player-auth-status[data-state="success"] { color: var(--green); }
.player-auth-links { display: flex; justify-content: center; gap: 14px; margin-top: 16px; }
.player-auth-links a { color: var(--gold); font-size: .9rem; text-decoration: none; }
.player-auth-links a:hover { text-decoration: underline; }
#player-auth-identity[hidden], #player-auth-login-panel[hidden] { display: none; }

/* The lobby opens account features in a same-origin dialog.  The embedded
   account page keeps the existing controllers and API behaviour, but only
   exposes the selected module so the lobby remains the navigation context. */
html[data-account-embed="1"], html[data-account-embed="1"] body { min-height: 100%; background: var(--modal-bg); }
html[data-account-embed="1"] .player-auth-screen { position: static; display: block; min-height: 100%; overflow: auto; padding: 16px 20px; background: transparent; }
html[data-account-embed="1"] .player-auth-card { width: 100%; min-height: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
html[data-account-embed="1"] .player-auth-brand,
html[data-account-embed="1"] #player-auth-identity > h1,
html[data-account-embed="1"] #player-auth-identity > p,
html[data-account-embed="1"] #player-enter-game,
html[data-account-embed="1"] #player-account-nav,
html[data-account-embed="1"] #player-auth-logout,
html[data-account-embed="1"] #player-auth-status { display: none; }
html[data-account-embed="1"] .player-auth-stage-viewport { min-height: 0; }
html[data-account-embed="1"] [data-account-section] { display: none !important; margin: 0; padding: 0; border-top: 0; }
html[data-account-embed="1"][data-account-module="balance"] #player-wallet-balance-panel,
html[data-account-embed="1"][data-account-module="account"] #player-profile-panel,
html[data-account-embed="1"][data-account-module="account"] #player-password-change-panel,
html[data-account-embed="1"][data-account-module="account"] #player-account-recovery-panel,
html[data-account-embed="1"][data-account-module="balance"][data-balance-tab="ledger"] #player-ledger-panel,
html[data-account-embed="1"][data-account-module="balance"][data-balance-tab="requests"] #player-requests-panel,
html[data-account-embed="1"][data-account-module="balance"][data-balance-tab="orders"] #player-orders-panel,
html[data-account-embed="1"][data-account-module="hands"] #player-poker-hands-panel,
html[data-account-embed="1"][data-account-module="ledger"] #player-ledger-panel,
html[data-account-embed="1"][data-account-module="orders"] #player-orders-panel,
html[data-account-embed="1"][data-account-module="profile"] #player-profile-panel,
html[data-account-embed="1"][data-account-module="security"] #player-password-change-panel,
html[data-account-embed="1"][data-account-module="security"] #player-account-recovery-panel { display: block !important; }
html[data-account-embed="1"][data-account-module="balance"] #player-score-request-config-status[data-state="ready"],
html[data-account-embed="1"][data-account-module="balance"] .player-wallet-identity,
html[data-account-embed="1"][data-account-module="balance"] .player-orders-query-row,
html[data-account-embed="1"][data-account-module="balance"] #player-orders-query-status,
html[data-account-embed="1"][data-account-module="balance"] #player-orders-query-result { display:none; }
#player-balance-tabs:not([hidden]) { display:flex; gap:20px; margin:20px 0 16px; border-bottom:1px solid var(--border); }
html[data-account-module="account"] #player-password-change-panel,
html[data-account-module="account"] #player-account-recovery-panel { margin-top:24px; padding-top:20px; border-top:1px solid var(--border); }
#player-balance-tabs [role="tab"] { padding:10px 0; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--text-dim); font:inherit; cursor:pointer; }
#player-balance-tabs [aria-selected="true"] { color:var(--text-hi); border-bottom-color:var(--gold); }
#player-balance-tabs [role="tab"]:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
html[data-account-module="balance"] .balance-heading-row,
html[data-account-module="balance"] .balance-record-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; }
html[data-account-module="balance"] .balance-heading-row h2 { margin:0; }
html[data-account-module="balance"] #player-wallet-balance-values { margin:0 auto 0 0; }
html[data-account-module="balance"] #player-wallet-balance-values > div { border:0; padding:0; }
html[data-account-module="balance"] .balance-heading-row #player-wallet-balance-values { display:flex; align-items:center; gap:10px; }
html[data-account-module="balance"] .balance-heading-row #player-wallet-balance-values > div { display:flex; gap:5px; }
html[data-account-module="balance"] .balance-heading-row #player-wallet-balance-values[hidden] { display:none; }
html[data-account-module="balance"] #player-wallet-balance-values dt,
html[data-account-module="balance"] #player-wallet-balance-values > div:has(#player-wallet-balance-game-escrow),
html[data-account-module="balance"] #player-wallet-balance-status[data-state="ready"] { display:none; }
html[data-account-module="balance"] #player-wallet-balance-values > div:has(#player-wallet-balance-withdrawal-hold) { display:flex; }
html[data-account-module="balance"] #player-wallet-balance-values > div:has(#player-wallet-balance-withdrawal-hold) dt { display:block; }
html[data-account-module="balance"] .balance-heading-row button,
html[data-account-module="balance"] .balance-record-toolbar > button { width:auto; min-height:28px; margin:0; padding:5px 10px; font-size:.8rem; flex-shrink:0; }
html[data-account-module="balance"] .balance-heading-row .player-score-request-actions { display:flex; gap:6px; margin:0 0 0 auto; }
html[data-account-module="balance"] .balance-heading-row .player-score-request-actions .btn-secondary { width:auto; min-width:44px; }
html[data-account-module="balance"] .balance-heading-row #player-wallet-balance-refresh { margin-left:0; }
html[data-account-module="balance"] .balance-record-toolbar { margin:16px 0 8px; border-bottom:1px solid var(--border); }
html[data-account-module="balance"] #player-balance-tabs { margin:0; border:0; gap:16px; }
html[data-account-module="balance"] #player-wallet-balance-updated,
html[data-account-module="balance"] #player-ledger-panel h2,
html[data-account-module="balance"] #player-orders-panel h2,
html[data-account-module="balance"] #player-ledger-panel:has(#player-ledger-list > li) #player-ledger-status[data-state="ready"],
html[data-account-module="balance"] #player-orders-panel:has(#player-orders-list > li) #player-orders-status[data-state="ready"] { display:none; }
html[data-account-module="balance"] #player-ledger-panel,
html[data-account-module="balance"] #player-orders-panel { max-height:calc(100dvh - 230px); min-height:100px; overflow-y:auto; overscroll-behavior:contain; padding-right:4px; }
html[data-account-embed="1"][data-account-module="balance"] .player-auth-screen { max-height:100dvh; min-height:0; overflow-y:auto; }
.account-setting-description { display:none; }
html[data-account-module="account"] #player-profile-panel { display:block !important; }
html[data-account-module="account"] .player-profile-summary-row { display:none; }
html[data-account-module="account"] .account-profile-actions { display:block; margin:0; }
html[data-account-module="account"] .account-profile-actions[hidden] { display:none; }
.account-setting-row { display:flex; align-items:center; gap:16px; padding:14px 0; border-bottom:1px solid var(--border); font-size:14px; }
html[data-account-embed="1"][data-account-module="account"] #player-password-change-panel { border-top:0; }
.account-setting-row > span:first-child { min-width:56px; }
.account-setting-row > button { margin-left:auto !important; padding:7px 12px; min-height:34px; }
.account-setting-row .player-profile-summary { margin:0; font-size:14px; }
.account-setting-row .player-profile-avatar { width:36px; height:36px; min-width:36px; }
/* Account editor uses the existing outer window, never a nested modal. */
html[data-account-editing="1"] #player-auth-screen { display:none !important; }
html[data-account-module="account"] .account-edit-dialog { position:static; width:100%; max-width:480px; max-height:none; margin:0 auto; padding:24px; border:0; border-radius:0; background:transparent; box-sizing:border-box; overflow:visible; }
html[data-account-module="account"] .account-edit-dialog[hidden] { display:none !important; }
html[data-account-module="account"] .account-edit-dialog h2 { font-size:18px; margin:20px 0; }
html[data-account-module="account"] .account-edit-dialog form { margin:0; max-width:none; }
html[data-account-module="account"] .account-edit-dialog .player-auth-field { margin-bottom:16px; }
html[data-account-module="account"] .account-edit-dialog input:not([type="radio"]) { min-height:40px; font-size:14px; }
html[data-account-module="account"] .account-edit-dialog .player-profile-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:24px; }
html[data-account-module="account"] .account-edit-dialog .player-profile-actions button { width:auto; min-height:36px; margin:0; padding:8px 18px; border:1px solid var(--border); border-radius:6px; background:var(--panel-hi); color:var(--text-hi); font:inherit; transition:none; }
html[data-account-module="account"] .account-edit-dialog .player-profile-actions button[type="submit"] { order:2; background:var(--gold); color:#141820; }
html[data-theme="pokerth-light"][data-account-module="account"] .account-edit-dialog .player-profile-actions button[type="submit"]:enabled { color:#ffffff; }
html[data-account-module="account"] .account-edit-dialog .player-profile-actions button:disabled { opacity:1; cursor:not-allowed; background:var(--field-bg); color:var(--text); border-color:var(--border-hi); }
html[data-account-module="account"] .account-edit-dialog .player-profile-actions button:enabled:hover { border-color:var(--text-hi); }
html[data-account-module="account"] .account-edit-dialog .player-profile-actions button:focus-visible { outline:2px solid var(--text-hi); outline-offset:3px; }
.account-editor-back { border:0; padding:0; background:transparent; color:var(--text-dim); font:inherit; cursor:pointer; }
html[data-account-module="account"] .account-edit-dialog .player-profile-avatar-choice { padding:10px; min-height:72px; }
html[data-account-module="account"] .account-edit-dialog .player-auth-status[data-state="ready"] { display:none; }
html[data-account-embed="1"], html[data-account-embed="1"] body { height:auto; overflow-y:auto; overflow-x:hidden; }
html[data-account-embed="1"] .player-auth-screen { height:auto; max-height:none; overflow:visible; box-sizing:border-box; }
html[data-account-module="account"] #player-profile-edit-button { display:none; }
.account-profile-actions { grid-column:2; grid-row:1 / span 2; display:flex; flex-wrap:wrap; gap:8px; }
.account-profile-actions[hidden] { display:none; }
.account-profile-actions .btn-secondary { width:auto; margin:0; }
.account-edit-dialog { width:min(520px,calc(100% - 32px)); max-height:calc(100dvh - 32px); box-sizing:border-box; overflow-y:auto; padding:20px; border:1px solid var(--border); border-radius:8px; background:var(--modal-bg); color:var(--text-hi); }
.account-edit-dialog::backdrop { background:rgba(0,0,0,.55); }
.account-edit-dialog h2 { margin:0 0 16px; font-size:1.05rem; }
.account-edit-dialog [hidden] { display:none !important; }
.account-edit-dialog .player-profile-avatar-options { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:520px) { .account-profile-actions { grid-column:1 / -1; grid-row:auto; margin-top:12px; } }
html[data-account-embed="1"][data-account-module="account"] .player-auth-screen { padding:24px; }
html[data-account-embed="1"][data-account-module="account"] [data-account-section] { display:grid !important; grid-template-columns:minmax(0,1fr) auto; column-gap:24px; align-items:center; }
html[data-account-embed="1"][data-account-module="account"] [data-account-section]:not(#player-profile-panel):not(#player-password-change-panel):not(#player-account-recovery-panel) { display:none !important; }
html[data-account-module="account"] .player-profile-heading { grid-column:1; margin:0 0 8px; }
html[data-account-module="account"] .player-profile-summary-row { grid-column:1; }
html[data-account-module="account"] .player-profile-action { grid-column:2; width:auto; min-width:104px; margin:0; padding:8px 16px; }
html[data-account-module="account"] #player-profile-edit-button { grid-row:1 / span 2; }
html[data-account-module="account"] #player-password-change-edit-button,
html[data-account-module="account"] #player-account-recovery-manage { grid-row:1 / span 3; }
html[data-account-module="account"] .account-setting-description { display:block; grid-column:1; margin:0 0 8px; color:var(--text-dim); font-size:.88rem; line-height:1.6; }
html[data-account-module="account"] .player-auth-status,
html[data-account-module="account"] .player-profile-updated { grid-column:1; min-height:0; margin:4px 0; font-weight:400; }
html[data-account-module="account"] .player-auth-status:empty,
html[data-account-module="account"] .player-profile-updated:empty { display:none; }
html[data-account-module="account"] form { grid-column:1 / -1; width:100%; max-width:560px; margin-top:20px; }
@media(max-width:520px) {
  html[data-account-embed="1"][data-account-module="account"] .player-auth-screen { padding:16px; }
  html[data-account-embed="1"][data-account-module="account"] [data-account-section] { column-gap:12px; }
  html[data-account-module="account"] .player-profile-action { min-width:0; padding:8px 10px; }
  html[data-account-module="account"] .account-setting-description { grid-column:1 / -1; }
}

.player-account-nav {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 8px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
}
.player-account-nav .btn-secondary { margin-top: 0; min-height: 38px; padding: 7px 8px; font-size: .82rem; }
.player-account-nav button.is-selected { border-color: var(--gold); color: var(--gold); }
.player-account-nav[hidden] { display: none; }
.player-account-nav-game { display: flex; align-items: center; justify-content: center; text-decoration: none; }

.player-profile-panel { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--border); }
.player-profile-panel[hidden] { display: none; }
.player-password-change-panel { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--border); }
.player-password-change-panel .player-profile-actions { margin-top: 16px; }
.player-password-change-form[hidden] { display: none; }
.player-account-recovery-panel, .player-password-recovery-panel { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--border); }
.player-wallet-balance-panel { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--border); }
.player-wallet-balance-panel[hidden], .player-wallet-balance-values[hidden], .player-wallet-balance-updated[hidden] { display: none; }
.player-wallet-balance-values { display: grid; gap: 8px; margin: 12px 0 0; }
.player-wallet-balance-values > div { display: flex; justify-content: space-between; gap: 16px; padding-bottom: 7px; border-bottom: 1px solid var(--border); }
.player-wallet-balance-values dt { color: var(--text); }
.player-wallet-balance-values dd { margin: 0; color: var(--text-hi); font-variant-numeric: tabular-nums; }
.player-wallet-balance-panel .btn-secondary { width: 100%; }
.player-wallet-identity { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:8px; margin:10px 0; color:var(--text); font-size:.78rem; }
.player-wallet-identity code { min-width:0; overflow-wrap:anywhere; color:var(--text-hi); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.player-wallet-identity .btn-secondary { width:auto; margin:0; padding:5px 9px; }
.player-score-request-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px; }
.player-score-request-actions .btn-secondary { width:100%; margin-top:0; }
.player-score-request-editor { margin-top:16px; padding-top:14px; border-top:1px solid var(--border); }
.player-score-request-editor[hidden], .player-score-request-history-list[hidden] { display:none; }
.player-score-request-editor form { display:grid; gap:8px; }
.player-score-request-fields { display:grid; gap:10px; }
.player-score-request-fields label { display:grid; gap:5px; color:var(--text); font-size:.82rem; }
.player-score-request-fields input { width:100%; box-sizing:border-box; }
.player-score-request-details { display:grid; gap:0; margin:0; }
.player-score-request-detail { display:grid; grid-template-columns:7em minmax(0,1fr); gap:8px; padding:7px 0; border-bottom:1px solid var(--border); font-size:.78rem; }
.player-score-request-detail dt { color:var(--text); }
.player-score-request-detail dd { display:flex; align-items:center; gap:8px; min-width:0; margin:0; color:var(--text-hi); overflow-wrap:anywhere; }
.player-score-request-copy { width:auto !important; min-width:3.6em; margin:0 !important; padding:3px 7px !important; font-size:.72rem; }
.player-score-request-preview { margin:0; padding:8px 10px; border:1px solid var(--border); color:var(--text-hi); font-size:.8rem; }
.player-score-request-qr { width:180px; height:180px; margin:10px auto 0; background:#fff; }
.player-score-request-history { margin-top:16px; padding-top:14px; border-top:1px solid var(--border); }
.player-score-request-history-list { display:grid; gap:0; margin:8px 0 0; padding:0; list-style:none; }
.player-score-request-history-row { display:grid; line-height:24px; grid-template-columns:30% 25% 15% 15% 15%; align-items:center; gap:0; padding:12px 0; border-bottom:1px solid var(--border); }
.player-score-request-history-row time { color:var(--text); font-size:.76rem; }
.player-score-request-history-amount { color:var(--green); font-variant-numeric:tabular-nums; white-space:nowrap; text-align:right; padding-right:24px; }
.player-score-request-history-amount.is-negative { color:var(--red); }
.player-score-request-history-direction { color:var(--text-hi); font-size:.84rem; font-weight:700; }
.player-score-request-history-status { min-width:0; color:var(--text); font-size:.78rem; overflow-wrap:anywhere; }
.player-score-request-history-status.is-succeeded { color:var(--green); }
.player-score-request-history-status.is-failed { color:var(--red); }
.player-score-request-history-status.is-cancelled { color:var(--text); }
.player-score-request-history-status.is-pending { color:var(--orange,#b45309); }
.player-score-request-history-status[data-state="processing"] { color:var(--blue,#2563eb); }
.player-score-request-history-item { width:max-content; margin-left:auto; padding:0; border:0; background:transparent; color:var(--text); font:inherit; font-size:.78rem; line-height:24px; cursor:pointer; }
.player-score-request-history-item:hover { color:var(--text-hi); }
.player-score-request-history-item:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.player-orders-admin-heading { margin-top:16px; padding-top:14px; border-top:1px solid var(--border); }
.player-poker-hands-panel { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--border); }
.player-poker-hands-panel[hidden], .player-poker-hands-list[hidden], .player-poker-hands-updated[hidden] { display: none; }
.player-poker-hands-heading-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.player-poker-hands-heading-row .player-profile-heading { margin-bottom: 0; }
.player-poker-hands-heading-row button { width: auto; margin-top: 0; white-space: nowrap; }
.player-poker-hands-list { display: grid; gap: 10px; margin: 12px 0 0; padding: 0; list-style: none; }
.player-poker-hand-row { display: grid; gap: 6px; padding: 11px 12px; border: 1px solid var(--border); border-radius: var(--r-sm); background: var(--field-bg); }
.player-poker-hand-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.player-poker-hand-heading strong { min-width: 0; color: var(--text-hi); overflow-wrap: anywhere; }
.player-poker-hand-status { flex: 0 0 auto; color: var(--gold); font-size: .78rem; }
.player-poker-hand-detail { color: var(--text); font-size: .78rem; line-height: 1.45; }
.player-poker-hand-actions .btn-secondary { width: 100%; margin-top: 0; min-height: 36px; }
.player-poker-hands-updated { margin-top: 8px; }
@media (max-width: 480px) {
  .player-account-nav { grid-template-columns: 1fr 1fr; }
  .player-account-nav-game { grid-column: 1 / -1; }
  .player-poker-hands-heading-row { align-items: stretch; flex-direction: column; }
  .player-poker-hands-heading-row button { width: 100%; }
}
.player-ledger-panel { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--border); }
.player-ledger-panel[hidden], .player-ledger-list[hidden], .player-ledger-count[hidden], .player-ledger-updated[hidden] { display: none; }
.player-ledger-list { display: grid; gap: 0; margin: 12px 0 0; padding: 0; list-style: none; }
.player-ledger-row { display: grid; grid-template-columns:minmax(240px,1fr) minmax(240px,1fr) 88px; column-gap:20px; align-items:start; padding:12px 0; border-bottom: 1px solid var(--border); }
.player-ledger-row-main { display:grid; grid-template-columns:minmax(130px,1fr) 100px; align-items:baseline; gap:12px; grid-column:2; grid-row:1; pointer-events:none; }
.player-ledger-amount { color: var(--green); font-variant-numeric: tabular-nums; white-space: nowrap; }
.player-ledger-amount.is-negative { color: var(--red); }
.player-ledger-business { min-width: 0; overflow-wrap: anywhere; color: var(--text); font-size: .78rem; text-align: right; }
.player-ledger-time { color: var(--text); font-size: .76rem; font-style: normal; grid-column:1; grid-row:1; line-height:24px; pointer-events:none; }
.player-ledger-count, .player-ledger-updated { margin-top: 8px; }
.player-ledger-detail { margin:0; grid-column:1 / -1; grid-row:1; color:var(--text); font-size:.78rem; }
.player-ledger-detail summary { cursor:pointer; width:max-content; margin-left:auto; line-height:24px; }
.player-ledger-detail p { overflow-wrap:anywhere; user-select:text; margin:10px 0 0; padding:8px 12px; background:var(--field-bg); }
@media(max-width:640px) {
  .player-ledger-row { grid-template-columns:minmax(0,1fr) 88px; gap:4px 12px; }
  .player-ledger-row-main { grid-template-columns:auto 1fr; grid-column:1; grid-row:2; }
  .player-ledger-time { grid-column:1 / -1; grid-row:1; font-size:.72rem; }
  .player-ledger-detail { grid-row:2; }
}
.player-ledger-actions { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; margin-top: 12px; }
.player-ledger-actions .btn-secondary { width: 100%; margin-top: 0; }
.player-ledger-page { min-width: 4em; color: var(--text); font-size: .82rem; text-align: center; }
.player-orders-panel { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--border); }
.player-orders-panel[hidden], .player-orders-list[hidden], .player-orders-count[hidden], .player-orders-updated[hidden] { display: none; }
.player-orders-list { display: grid; gap: 12px; margin: 12px 0 0; padding: 0; list-style: none; }
.player-orders-row { display: grid; gap: 4px; padding: 12px; border: 1px solid var(--border); border-radius: var(--r-sm); background: var(--field-bg); }
.player-orders-row-heading { display: grid; grid-template-columns: auto auto minmax(0, 1fr); align-items: baseline; gap: 8px; }
.player-orders-direction { color: var(--text-hi); font-size: .84rem; font-weight: 700; }
.player-orders-amount { color: var(--green); font-variant-numeric: tabular-nums; white-space: nowrap; }
.player-orders-amount.is-negative { color: var(--red); }
.player-orders-status-label { min-width: 0; color: var(--text); font-size: .78rem; text-align: right; overflow-wrap: anywhere; }
.player-orders-status-label.is-succeeded { color: var(--green); }
.player-orders-status-label.is-failed { color: var(--red); }
.player-orders-detail { display: grid; grid-template-columns: 7em minmax(0, 1fr); gap: 8px; margin: 0; color: var(--text); font-size: .76rem; line-height: 1.45; }
.player-orders-detail > span:last-child { min-width: 0; color: var(--text-hi); overflow-wrap: anywhere; }
.player-orders-detail-label { color: var(--text); }
.player-orders-count, .player-orders-updated { margin-top: 8px; }
.player-orders-actions { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; margin-top: 12px; }
.player-orders-actions .btn-secondary { width: 100%; margin-top: 0; }
.player-orders-page { min-width: 4em; color: var(--text); font-size: .82rem; text-align: center; }
.player-orders-query-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px; margin-top: 12px; }
.player-orders-query-row label { color: var(--text); font-size: .86rem; }
.player-orders-query-row input { min-width: 0; }
.player-orders-query-row .btn-secondary { margin-top: 0; white-space: nowrap; }
.player-orders-query-result { display: grid; gap: 0; margin: 12px 0 0; }
.player-orders-query-result[hidden] { display: none; }
.player-orders-query-result .player-orders-detail { padding: 7px 0; border-bottom: 1px solid var(--border); }
@media (max-width: 480px) {
  .player-orders-query-row { grid-template-columns: 1fr; align-items: stretch; }
  .player-orders-query-row .btn-secondary { width: 100%; }
}
.player-account-recovery-issue-form, .player-account-recovery-reveal, .player-password-recovery-panel[hidden] { display: none; }
.player-account-recovery-reveal:not([hidden]), .player-account-recovery-issue-form:not([hidden]) { display: block; margin-top: 14px; }
.player-account-recovery-reveal p, .player-password-recovery-panel > p { color: var(--text); font-size: .86rem; line-height: 1.5; }
.player-account-recovery-code { display: block; margin: 12px 0; padding: 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg); color: var(--text-hi); font: 600 .92rem/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; overflow-wrap: anywhere; user-select: all; }
.player-account-recovery-code-masked { margin: 0 0 10px; color: var(--text); font: .84rem/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; }
.player-password-recovery-panel .player-profile-actions { margin-top: 16px; }
.player-password-recovery-panel[hidden], .player-account-recovery-issue-form[hidden], .player-account-recovery-reveal[hidden] { display: none; }
.player-password-recovery-success-dialog {
  width: min(100% - 32px, 360px); padding: 22px;
  border: 1px solid var(--border-hi); border-radius: var(--r-md);
  background: var(--modal-bg); color: var(--text-hi);
  box-shadow: 0 18px 60px rgba(0, 0, 0, .42);
}
.player-password-recovery-success-dialog::backdrop { background: rgba(4, 8, 16, .72); }
.player-password-recovery-success-dialog h2 { margin: 0; font-size: 1.05rem; }
.player-password-recovery-success-dialog p { margin: 10px 0 16px; color: var(--text); font-size: .84rem; line-height: 1.5; }
.player-password-recovery-success-dialog dl { margin: 0 0 18px; }
.player-password-recovery-success-dialog dl > div { display: grid; grid-template-columns: 4em minmax(0, 1fr); gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--border); }
.player-password-recovery-success-dialog dt { color: var(--text); }
.player-password-recovery-success-dialog dd { margin: 0; color: var(--text-hi); overflow-wrap: anywhere; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.player-password-recovery-success-dialog .btn-primary { margin-top: 0; }
.player-profile-heading { margin: 0 0 12px; color: var(--text-hi); font-size: .98rem; }
.player-profile-summary-row { display: flex; align-items: center; gap: 12px; min-height: 48px; }
.player-profile-avatar {
  display: grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center;
  overflow: hidden; border: 1px solid var(--border); border-radius: 50%;
  background: var(--field-bg); color: var(--text-hi); font-size: 1.55rem;
}
.player-profile-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.player-profile-summary { overflow-wrap: anywhere; color: var(--text-hi); font-size: .92rem; }
.player-profile-updated { margin: 6px 0 0; color: var(--text); font-size: .78rem; }
.player-profile-action { margin-top: 12px; }
.player-profile-editor { margin-top: 14px; }
.player-profile-editor[hidden], .player-profile-action[hidden] { display: none; }
.player-profile-avatar-fieldset { min-width: 0; margin: 16px 0; padding: 0; border: 0; }
.player-profile-avatar-fieldset legend { margin-bottom: 8px; color: var(--text-hi); font-size: .88rem; }
.player-profile-avatar-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.player-profile-avatar-choice {
  display: grid; min-height: 66px; place-items: center; gap: 3px; padding: 6px;
  border: 1px solid var(--border); border-radius: var(--r-sm); background: var(--field-bg);
  color: var(--text); cursor: pointer; text-align: center; font: inherit; font-size: .75rem;
}
.player-profile-avatar-choice.is-selected { border-color: var(--gold); color: var(--text-hi); }
.player-profile-avatar-choice:focus-within { outline: 2px solid var(--gold); outline-offset: 2px; }
.player-profile-avatar-choice input { margin: 0; accent-color: var(--gold); }
.player-profile-avatar-choice img { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; }
.player-profile-avatar-choice-emoji { font-size: 1.35rem; line-height: 1.2; }
.player-profile-actions { display: grid; gap: 8px; margin-top: 12px; }
.player-profile-actions .btn-primary { width: 100%; min-height: 42px; }
.player-profile-actions .btn-secondary { width: 100%; margin-top: 0; }

@media (max-width: 480px) {
  .player-auth-card { padding: 20px 20px 22px; }
  .player-auth-brand { margin-bottom: 19px; }
}

html[data-account-embed="1"][data-account-module="account"] #player-auth-screen { max-width:600px; margin:0 auto; }
html[data-account-embed="1"][data-account-module="account"] #player-password-change-panel,
html[data-account-embed="1"][data-account-module="account"] #player-account-recovery-panel { display:grid !important; grid-template-columns:minmax(0,1fr) auto; gap:4px 16px; }
html[data-account-module="account"] #player-password-change-edit-button,
html[data-account-module="account"] #player-account-recovery-manage { grid-column:2; grid-row:1 / span 3; margin:0; }
html[data-account-module="account"] .account-edit-dialog .btn-primary,
html[data-account-module="account"] .account-edit-dialog .btn-secondary { box-shadow:none; letter-spacing:normal; }
@media(max-width:420px) {
  html[data-account-module="account"] #player-password-change-edit-button,
  html[data-account-module="account"] #player-account-recovery-manage { grid-column:1; grid-row:auto; justify-self:start; }
}

.player-profile-avatar-choice[hidden] { display:none; }
#player-profile-avatar-options { display:block; width:min(360px,100%); margin-inline:auto; }
#player-profile-avatar-options .profile-avatar-categories { background:var(--modal-bg); }
#player-profile-avatar-options .avp-btn { background:var(--inset); border:2px solid transparent; border-radius:var(--r-sm); }
#player-profile-avatar-options .profile-avatar-grid { grid-template-columns:repeat(8,minmax(0,1fr)); max-height:min(42vh,320px); overflow-y:auto; }
#player-profile-avatar-options .player-profile-avatar-choice { position:relative; min-height:0; padding:0; gap:0; display:flex; aspect-ratio:1; }
#player-profile-avatar-options .player-profile-avatar-choice input { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
#player-profile-avatar-options .player-profile-avatar-choice img { width:100%; height:100%; border-radius:4px; object-fit:cover; }
#player-profile-avatar-options .player-profile-avatar-choice-emoji { font-size:var(--fs-xl); line-height:1; }
#player-profile-avatar-options .player-profile-avatar-choice.is-selected { border-color:var(--sel,var(--gold)); background:rgba(var(--sel-rgb,var(--gold-rgb)),.2); }
#player-profile-avatar-options .player-profile-avatar-choice[hidden] { display:none; }
html[data-account-module="account"] .account-edit-dialog { max-height:100dvh; overflow-y:auto; overscroll-behavior:contain; }

/* The embedded balance view scrolls records, not its pagination footer. */
html[data-account-embed="1"][data-account-module="balance"] body { height:100dvh; overflow:hidden; }
html[data-account-embed="1"][data-account-module="balance"] :is(.player-auth-screen,.player-auth-card,.player-auth-stage-viewport,#player-auth-login-stage,#player-auth-identity) { height:100%; min-height:0; overflow:hidden; box-sizing:border-box; }
html[data-account-embed="1"][data-account-module="balance"] #player-auth-identity:not([hidden]) { display:flex; flex-direction:column; }
html[data-account-module="balance"] :is(#player-wallet-balance-panel,.balance-record-toolbar) { flex-shrink:0; }
html[data-account-embed="1"][data-account-module="balance"][data-balance-tab="ledger"] #player-ledger-panel,
html[data-account-embed="1"][data-account-module="balance"][data-balance-tab="requests"] #player-requests-panel,
html[data-account-embed="1"][data-account-module="balance"][data-balance-tab="orders"] #player-orders-panel { display:flex !important; flex-direction:column; flex:1; min-height:0; max-height:none; overflow:hidden; padding:0; }
.balance-record-scroll { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding-right:4px; }
html[data-account-module="balance"] :is(.player-ledger-actions,.player-orders-actions) { flex-shrink:0; margin-top:0; padding-top:10px; border-top:1px solid var(--border); grid-template-columns:1fr 1fr; }
html[data-account-module="balance"] :is(.player-ledger-count,.player-ledger-updated,.player-ledger-page,.player-orders-count,.player-orders-updated,.player-orders-page) { display:none; }

.balance-ledger-columns { display:grid; grid-template-columns:32% 24% 26% 18%; flex-shrink:0; padding:10px 0; border-bottom:1px solid var(--border); color:var(--text); font-size:.78rem; }
.balance-ledger-columns > :nth-child(2) { text-align:right; padding-right:24px; }
.balance-ledger-columns > :last-child { text-align:right; }
@media(min-width:641px) {
  html[data-account-module="balance"] .player-ledger-row { grid-template-columns:32% 50% 18%; column-gap:0; }
  html[data-account-module="balance"] .player-ledger-row-main { grid-template-columns:48% 52%; gap:0; }
  html[data-account-module="balance"] .player-ledger-amount { text-align:right; padding-right:24px; }
  html[data-account-module="balance"] .player-ledger-business { text-align:left; line-height:24px; }
}
@media(max-width:640px) { .balance-ledger-columns { display:none; } }

.balance-orders-columns, .balance-requests-columns { display:grid; grid-template-columns:30% 25% 15% 15% 15%; flex-shrink:0; padding:10px 0; border-bottom:1px solid var(--border); color:var(--text); font-size:.78rem; }
.balance-orders-columns > :nth-child(2), .balance-requests-columns > :nth-child(2) { text-align:right; padding-right:24px; }
.balance-orders-columns > :last-child, .balance-requests-columns > :last-child { text-align:right; }
.player-orders-list { gap:0; }
.player-orders-row { display:grid; grid-template-columns:1fr; gap:0; border:0; border-bottom:1px solid var(--border); border-radius:0; background:transparent; padding:12px 0; }
.player-orders-row-heading { grid-column:1; grid-row:1; align-items:center; grid-template-columns:30% 25% 15% 15% 15%; gap:0; line-height:24px; pointer-events:none; }
.player-orders-row-heading time { color:var(--text); font-size:.76rem; }
.player-orders-row-heading .player-orders-amount { text-align:right; padding-right:24px; }
.player-orders-row-heading .player-orders-status-label { text-align:left; }
.player-orders-amount.is-unchanged { color:var(--text); }
.player-orders-expand { grid-column:1; grid-row:1; font-size:.78rem; color:var(--text); }
.player-orders-expand > summary { width:max-content; margin-left:auto; line-height:24px; cursor:pointer; }
.player-orders-expand > div { margin-top:10px; padding:10px 12px; background:var(--field-bg); }
.balance-order-search { margin:10px 0; font-size:.82rem; color:var(--text); }
.balance-order-search .player-orders-query-row { max-width:600px; margin-top:0; }
.balance-order-search input { height:34px; min-height:34px; padding:6px 8px; border:1px solid var(--border); background:var(--field-bg); color:var(--text-hi); border-radius:4px; }
.balance-order-search .player-orders-query-row .btn-secondary { height:34px; min-height:34px; padding:0 16px; }
@media(max-width:640px) {
  .balance-orders-columns, .balance-requests-columns { display:none; }
  .player-orders-row-heading { grid-template-columns:1fr 60px 60px 80px; row-gap:4px; }
  .player-orders-row-heading time { grid-column:1 / -1; }
  .player-orders-row-heading .player-orders-amount { text-align:left; padding:0; }
  .player-orders-expand { padding-top:28px; }
  .player-score-request-history-row { grid-template-columns:1fr 60px 60px 80px; row-gap:4px; }
  .player-score-request-history-row time { grid-column:1 / -1; }
  .player-score-request-history-amount { text-align:left; padding:0; }
  .player-score-request-history-item { grid-row:2; grid-column:4; }
}
.balance-order-search { flex-shrink:0; max-height:40vh; overflow:auto; }

@media(max-width:600px) { html[data-account-embed="1"] .player-auth-screen { padding:12px; } }

html[data-account-embed="1"][data-account-module="balance"] #player-requests-panel .player-score-request-history { margin:0; padding:0; border:0; }
html[data-account-embed="1"][data-account-module="balance"] :is(#player-requests-panel h3,.player-orders-admin-heading) { display:none; }
html[data-account-embed="1"][data-account-module="balance"] #player-score-request-history-status[data-state="ready"]:has(+ ol:not([hidden])) { display:none; }
@media (max-width:640px) {
  html[data-account-embed="1"][data-account-module="balance"] .balance-record-toolbar { flex-wrap:wrap; gap:6px; }
  html[data-account-embed="1"][data-account-module="balance"] #player-balance-tabs { gap:12px; }
}
html[data-account-embed="1"][data-account-module="balance"] .balance-order-search { display:none; }

/* Shared non-native language dropdown, aligned with the authentication card. */
.player-auth-language {
  display:flex; justify-content:flex-end; margin-bottom:12px;
}
/* Inside the lobby dialog the game client already owns the language menu. */
html[data-account-embed="1"] .player-auth-language { display: none; }

html[data-account-embed="1"][data-account-module="balance"] :is(#player-orders-list,#player-score-request-history-list) { margin:0; }
