/* Shared Ladder theme. Page-specific namespaces below are compatibility aliases,
   not independent palettes. Card faces/suits and accessibility fonts stay local. */
body{
  --site-page:#f7f7f3;--site-panel:#fff;--site-ink:#24291f;
  --site-muted:#646c60;--site-line:#d7dbd1;--site-soft:#eef2e9;
  --site-action:#405a3d;--site-action-ink:#fff;--site-gold:#87732e;
  --site-gold-soft:#f7f2df;--site-negative:#a33d3a;
  --site-heading:Georgia,'Times New Roman',serif;
  --site-body:Arial,Helvetica,sans-serif;
  --brand-gold:#92752b;--brand-ink:var(--site-ink);
}
body.dark-mode{
  --site-page:#161b22;--site-panel:#21262d;--site-ink:#e6edf3;
  --site-muted:#b2becb;--site-line:#414b57;--site-soft:#292f38;
  --site-action:#93c5fd;--site-action-ink:#10233e;--site-gold:#93c5fd;
  --site-gold-soft:#263c53;--site-negative:#f0a5a0;
  --brand-gold:#e6be64;
}
.site-brand,#lobbyHeader .lobby-brand,#solo-pages .mb-brand,#mb-rules .mb-brand{
  display:inline-flex;align-items:center;gap:10px;white-space:nowrap;
  font:700 var(--brand-size,32px)/1.1 Georgia,serif;letter-spacing:-.5px;
  text-decoration:none;color:var(--brand-ink);flex-shrink:0;
}
.site-brand .brand-name{color:var(--brand-ink)}
.site-brand .brand-max{color:var(--brand-gold)}
.site-brand-icon{display:block;width:var(--brand-icon-size,58px);height:var(--brand-icon-size,58px);object-fit:contain;flex:none}
.site-brand.brand-compact{--brand-size:20px;--brand-icon-size:28px;gap:5px;letter-spacing:-.3px}
@media(max-width:600px){.site-brand:not(.brand-compact){--brand-size:28px;--brand-icon-size:48px}}

/* Shared site navigation. The separate in-game toolbar stays compact. */
:is(#maxbarbu-home,#solo-pages,#mb-rules,#app,body) .site-header{
  --header-paper:var(--site-panel);--header-ink:var(--site-ink);
  --header-muted:var(--site-muted);--header-line:var(--site-line);
  box-sizing:border-box;display:flex;align-items:center;flex-wrap:nowrap;gap:12px 28px;
  padding:16px 28px;border-bottom:1px solid var(--header-line);
  background:var(--header-paper);color:var(--header-ink);font:15px/1.4 Arial,Helvetica,sans-serif;
}
:is(#maxbarbu-home,#solo-pages,#mb-rules,#app,body) .site-header .site-brand{
  --brand-size:32px;--brand-icon-size:50px;font:700 var(--brand-size)/1.1 Georgia,serif;
}
:is(#maxbarbu-home,#solo-pages,#mb-rules,#app,body) .site-nav{
  display:flex;align-items:center;flex-wrap:wrap;gap:0 20px;
}
:is(#maxbarbu-home,#solo-pages,#mb-rules,#app,body) .site-nav a{
  box-sizing:border-box;display:inline-flex;align-items:center;min-height:44px;
  padding:8px 0;border:0;background:none;color:var(--header-muted);
  font:15px/1.4 Arial,Helvetica,sans-serif;white-space:nowrap;text-decoration:none;
}
:is(#maxbarbu-home,#solo-pages,#mb-rules,#app,body) .site-nav a[aria-current=page]{
  color:var(--header-ink);box-shadow:inset 0 -2px var(--brand-gold);
}
:is(#maxbarbu-home,#solo-pages,#mb-rules,#app,body) .site-account{
  display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:4px 12px;
  margin-left:auto;max-width:100%;min-width:0;
}
:is(#maxbarbu-home,#solo-pages,#mb-rules,#app,body) .site-account :is(a,button){
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;
  padding:6px 3px;border:0;background:none;color:var(--header-ink);
  font:14px/1.4 Arial,Helvetica,sans-serif;text-decoration:none;overflow-wrap:anywhere;
  max-width:220px;border-radius:4px;box-sizing:border-box;
}
:is(#maxbarbu-home,#solo-pages,#mb-rules,#app,body) .site-account button:last-child{min-width:36px;font-size:20px}
:is(#maxbarbu-home,#solo-pages,#mb-rules,#app,body) .site-account .place-avatar{width:30px;height:30px;font-size:14px;flex:none}
:is(#maxbarbu-home,#solo-pages,#mb-rules,#app,body) .site-header :is(a,button):focus-visible{outline:3px solid var(--brand-gold);outline-offset:3px}
/* Override the lobby's hidden default only while that surface is active. */
body:not(.lobby-open) #lobbyHeader.site-header{display:none}
.site-header.site-hide-wordmark .brand-name{display:none}
@media(max-width:600px){
  :is(#maxbarbu-home,#solo-pages,#mb-rules,#app,body) .site-header{padding:12px 16px;gap:8px 16px;border-radius:0}
  :is(#maxbarbu-home,#solo-pages,#mb-rules,#app,body) .site-header .site-brand{--brand-size:28px;--brand-icon-size:44px}
  :is(#maxbarbu-home,#solo-pages,#mb-rules,#app,body) .site-nav{gap:0 16px}
}
@media(max-width:360px){
  :is(#maxbarbu-home,#solo-pages,#mb-rules,#app,body) .site-header{column-gap:12px}
  :is(#maxbarbu-home,#solo-pages,#mb-rules,#app,body) .site-header .site-brand{--brand-size:24px;--brand-icon-size:36px;gap:8px}
}

/* Base surfaces also reach dialogs, which live outside each page's wrapper. */
html body,html body.dark-mode,html body.dark-mode:not(.lobby-open),
html body.lobby-open,html body.lobby-open.dark-mode,
html body.homepage-body,html body.solo-pages-body,html body.rules-page{
  --page:var(--site-page);--felt:var(--site-panel);--panel:var(--site-panel);
  --ink:var(--site-ink);--muted:var(--site-muted);--line:var(--site-line);
  --cell:var(--site-soft);--control:var(--site-panel);--hover:var(--site-soft);
  --active:var(--site-gold-soft);--gold:var(--site-gold);--accent:var(--site-gold);
  --positive:var(--site-action);--negative:var(--site-negative);
  background:var(--site-page);color:var(--site-ink);
}
body #maxbarbu-home{
  --home-bg:var(--site-page);--home-panel:var(--site-panel);--home-ink:var(--site-ink);
  --home-muted:var(--site-muted);--home-line:var(--site-line);--home-soft:var(--site-soft);
  --home-gold:var(--site-gold);--home-green:var(--site-action);
  --home-button:var(--site-action);--home-button-ink:var(--site-action-ink);
  font:14px/1.5 var(--site-body);
}
body #solo-pages{
  --mb-page:var(--site-page);--mb-panel:var(--site-panel);--mb-ink:var(--site-ink);
  --mb-muted:var(--site-muted);--mb-line:var(--site-line);--mb-soft:var(--site-soft);
  --mb-green:var(--site-action);--mb-action:var(--site-action);--mb-action-ink:var(--site-action-ink);
  --mb-gold:var(--site-gold);--mb-gold-soft:var(--site-gold-soft);--mb-red:var(--site-negative);
}
body #mb-rules{
  --mb-bg:var(--site-page);--mb-paper:var(--site-panel);--mb-ink:var(--site-ink);
  --mb-muted:var(--site-muted);--mb-line:var(--site-line);--mb-soft:var(--site-soft);
  --mb-green:var(--site-action);--mb-gold:var(--site-gold);--mb-tint:var(--site-gold-soft);
}
html body #solo-pages #solo-content.pp-player,
html body.dark-mode #solo-pages #solo-content.pp-player{
  --pp-paper:var(--site-page);--pp-panel:var(--site-panel);--pp-text:var(--site-ink);
  --pp-muted:var(--site-muted);--pp-line:var(--site-line);--pp-green:var(--site-action);
  --pp-green-soft:var(--site-soft);--pp-gold:var(--site-gold);--pp-red:var(--site-negative);
  --pp-table:var(--site-soft);--pp-grid:var(--site-line);
}
html body .lobby-design,html body.dark-mode .lobby-design{
  --page:var(--site-page);--panel:var(--site-panel);--ink:var(--site-ink);
  --muted:var(--site-muted);--line:var(--site-line);--pale:var(--site-soft);
  --green:var(--site-action);--gold:var(--site-gold);--gold-light:var(--site-gold-soft);
  --red:var(--site-negative);--soft:var(--site-soft);font:14px/1.5 var(--site-body);
}
body.lobby-open #app,body.lobby-open.dark-mode #app{background:var(--site-page);border-color:var(--site-line)}
body.lobby-open #lobbyHeader,body.lobby-open.dark-mode #lobbyHeader{background:var(--site-panel)}
body.lobby-open .online-bar,body.lobby-open.dark-mode .online-bar{background:var(--site-soft);color:var(--site-muted)}
html body.dark-mode .lobby-design .panel{background:var(--site-panel)}
html body.dark-mode .lobby-design :is(.wait-row,.live-row,.starter){background:var(--site-soft);border-color:var(--site-line)}
html body.dark-mode .lobby-design input{background:var(--site-panel);color:var(--site-ink);border-color:var(--site-line)}
html body.dark-mode .lobby-design .vote-tag.waiting{background:var(--site-soft);color:var(--site-muted)}
html body.dark-mode .lobby-design :is(.vote-buttons .chosen,.policy-option:has(input:checked)){background:var(--site-soft);color:var(--site-ink)}

/* Consistent heading roles. Home stays welcoming; dense tables stay compact. */
body #maxbarbu-home h1{font:400 clamp(34px,3.6vw,40px)/1.15 var(--site-heading);letter-spacing:-.4px}
body #maxbarbu-home h2,body #maxbarbu-home .home-winner-heading h2,
body #maxbarbu-home .home-daily h3{font:400 23px/1.3 var(--site-heading);letter-spacing:0}
body #maxbarbu-home .home-rank-title h3{font:600 15px/1.4 var(--site-body)}
body #maxbarbu-home .home-intro{font:16px/1.6 var(--site-body)}
body #maxbarbu-home .home-person{font:400 20px/1.3 var(--site-heading)}
body #mb-rules h1,body .lobby-design .heading h1,body .lobby-heading h1,
body .admin-heading h1{font:400 34px/1.15 var(--site-heading);letter-spacing:-.4px}
body #mb-rules h2,body #mb-rules .mb-tutorial>summary,
body .lobby-design .section-head h2,body .admin-main h2{font:400 23px/1.3 var(--site-heading)}
html body #solo-pages .pp-identity h1{font:400 34px/1.15 var(--site-heading)}
html body #solo-pages .pp-panel h2,html body #solo-pages .pp-ladder-heading h2{font:400 23px/1.3 var(--site-heading)}
html body #solo-pages .pp-tabs button{font-family:var(--site-body)}
html body #solo-pages .pp-tabs button[aria-selected=true]{color:var(--site-ink);border-bottom-color:var(--site-gold);font-weight:400}
html body #solo-pages .pp-stat strong{font-weight:400}

/* Buttons use matching surface/border states; preserve special game actions. */
html body button,html body select,html body input,
html body.dark-mode:not(.lobby-open) button,html body.dark-mode:not(.lobby-open) select{border-color:var(--site-line)}
html body button:hover:not(:disabled),html body select:hover:not(:disabled){border-color:var(--site-gold)}
html body .account-dialog{background:var(--site-panel);color:var(--site-ink);border-color:var(--site-line);font:14px/1.5 var(--site-body)}
html body .account-dialog h2{font:400 23px/1.3 var(--site-heading)}
html body .account-dialog :is(input:not([type=checkbox]),select){background:var(--site-panel);color:var(--site-ink);border-color:var(--site-line)}
html body .account-dialog input[type=checkbox]{accent-color:var(--site-action)}
html body .account-dialog button.primary,html body #saveBotSettings,
html body #maxbarbu-home .home-button.primary,
html body .lobby-design :is(.chat-form button,#chatSend),
html body .lobby-design .filters button[aria-selected=true],
html body.dark-mode .lobby-design .filters button[aria-selected=true],
html body #solo-pages .pp-format button[aria-pressed=true],
html body #solo-pages .pp-mini-toggle button[aria-pressed=true],
html body #solo-pages .pp-pagination button[aria-current=page]{background:var(--site-action);color:var(--site-action-ink);border-color:var(--site-action)}
html body #solo-pages .pp-format button[aria-pressed=true] small{color:inherit}
html body .toolbar{background:var(--site-panel);border-color:var(--site-line)}
html body.dark-mode .play-center{background:var(--site-panel)}
html body.dark-mode .lobby-design .gold{background:var(--site-gold-soft);color:var(--site-ink);border-color:var(--site-gold)}
@media(max-width:600px){
  body #mb-rules h1,body .lobby-design .heading h1,body .lobby-heading h1,
  body .admin-heading h1{font-size:29px}
}
@media(max-width:540px){
  body #maxbarbu-home h1{font-size:34px}
  html body #solo-pages .pp-identity h1{font-size:28px}
}

/* Shared page shell. Game boards keep their own layout and controls. */
body.site-redesign{
  --site-tint:#eef2e9;
  --site-soft:#e8efe4;
  --site-action:#28583f;--brand-ink:#000;
  --site-width:1600px;--site-gutter:24px;--site-radius:10px;--site-card-padding:18px;
  --site-button:#28583f;--site-button-ink:#fff;
}
body.site-redesign.dark-mode{
  --site-tint:#292f38;--site-soft:#292f38;
  --site-action:#93c5fd;--site-action-ink:#10233e;--brand-ink:#e6edf3;
  --site-button:var(--site-action);--site-button-ink:var(--site-action-ink);
}
body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules){max-width:var(--site-width);margin-inline:auto}
body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-header{
  padding:10px var(--site-gutter);gap:12px 22px;min-height:72px;
  flex-wrap:nowrap;position:relative;z-index:20;
}
body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-header .site-brand{--brand-size:32px;--brand-icon-size:50px;gap:8px;font:700 var(--brand-size)/1.1 Georgia,serif}
body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-nav{gap:5px;flex-wrap:nowrap;min-width:0;order:0;width:auto;flex-basis:auto}
body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-nav a{padding:8px 10px;min-height:40px;border-radius:7px;font:400 15px/21px Arial,sans-serif}
body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-nav a[aria-current=page]{background:transparent;color:var(--site-ink);box-shadow:inset 0 -2px var(--brand-gold)}
body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-account{gap:8px;flex-wrap:nowrap;flex-shrink:0}
body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-account :is(button,summary){min-height:40px;border:1px solid var(--site-line);border-radius:7px;padding:6px 10px;font:13px/1.4 Arial,sans-serif;background:var(--site-panel);color:var(--site-ink)}
body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-account-menu{position:relative}
body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-account-menu summary{cursor:pointer;list-style:none;display:flex;align-items:center;white-space:nowrap}
body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-account-menu summary::-webkit-details-marker{display:none}
body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-account-popover{position:absolute;right:0;top:calc(100% + 7px);min-width:190px;max-width:calc(100vw - 32px);padding:6px;border:1px solid var(--site-line);border-radius:9px;background:var(--site-panel);box-shadow:0 5px 20px #0002;z-index:30;display:grid}
body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-account-popover :is(a,button){justify-content:flex-start;text-align:left;border:0;font-size:13px;width:100%;padding:8px;min-height:40px}
body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-account-popover :is(a,button):hover{background:var(--site-soft)}
body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-header [hidden]{display:none!important}
body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-header summary:focus-visible{outline:3px solid var(--site-gold);outline-offset:3px}
@media(max-width:1100px){
 body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-header{gap:5px 16px;padding:10px var(--site-gutter)}
 body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-nav{order:0;width:auto;padding-bottom:0;flex-shrink:0}
 body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-header .site-brand{--brand-icon-size:38px;--brand-size:28px}
 body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-nav a{flex-shrink:0}
}
@media(max-width:600px){
 body.site-redesign{--site-gutter:14px;--site-card-padding:16px}
 body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-header .site-brand{--brand-size:24px;--brand-icon-size:34px;gap:6px}
 body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-nav{gap:4px}
 body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-nav a{font-size:13px;padding:7px 9px;min-height:36px}
 body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-account{gap:6px}
}
body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-account-menu{margin:0;padding:0;border:0}
@media(max-width:360px){
 body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-header{gap:4px 8px}
 body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-header .site-brand{--brand-size:22px;--brand-icon-size:28px;gap:4px}
}

/* Shared page origin for the lobby, Solo, Daily and ladder headings. */
body.site-redesign.lobby-open #app{max-width:none;margin:0;border:0;border-radius:0;min-height:100dvh}
body.site-redesign #solo-pages :is(#solo-error,#daily-error):empty{display:none}
body.site-redesign #solo-pages :is(#solo-content,#daily-content):not(.privacy-page),
body.site-redesign.lobby-open #onlineLobby{max-width:var(--site-width);margin:0 auto;padding:20px var(--site-gutter) 28px}
body.site-redesign #solo-pages .mb-heading{margin-bottom:18px}
body.site-redesign #solo-pages{--mb-action:var(--site-button);--mb-action-ink:var(--site-button-ink)}
html body.site-redesign :is(.hub-dialog,.account-dialog) button.primary,
html body.site-redesign #maxbarbu-home .home-button.primary,
html body.site-redesign #solo-pages :is(.pp-format,.pp-mini-toggle) button[aria-pressed=true],
html body.site-redesign #solo-pages .pp-pagination button[aria-current=page]{background:var(--site-button);color:var(--site-button-ink);border-color:var(--site-button)}
body.site-redesign #solo-pages :is(.mb-solo-card,.daily-card,.pp-panel,.pp-hero){border-radius:var(--site-radius)}
body.site-redesign #solo-pages :is(.mb-controls,.mb-ladder-tools,.pp-filters) :is(button,select,input){font-size:13px;border-radius:6px;min-height:38px}
body.site-redesign #solo-pages .mb-ladder-view th{font-size:12px}
body.site-redesign #solo-pages .mb-ladder-view td{padding:8px}
body.site-redesign :is(#maxbarbu-home .home-footer,#solo-pages .mb-footer){max-width:none;margin:0 var(--site-gutter);padding:14px 0;font-size:12px}
@media(max-width:760px){
 body.site-redesign #solo-pages :is(#solo-content,#daily-content):not(.privacy-page),
 body.site-redesign.lobby-open #onlineLobby{padding-top:16px}
 body.site-redesign #solo-pages :is(#solo-content,#daily-content) h1,
 body.site-redesign.lobby-open .lobby-design .heading h1{font-size:29px;line-height:1.15}
}
/* Shared account name color and entry dialogs. */
.barbu-name{color:hsl(var(--author-hue,42) 65% 31%)!important}
.dark-mode .barbu-name{color:hsl(var(--author-hue,42) 65% 76%)!important}
.hub-dialog{width:min(480px,calc(100vw - 32px));box-sizing:border-box;padding:26px;border:1px solid var(--site-line,#d9e0da);border-radius:12px;background:var(--site-panel,#fff);color:var(--site-ink,#23352b);max-height:90dvh;overflow:auto;font:14px/1.55 Arial,sans-serif}
.hub-dialog::backdrop{background:#07101880;backdrop-filter:blur(3px)}.hub-dialog h2{font:700 30px/1.2 Georgia,serif;margin:0 0 18px}.hub-dialog input[type=search]{width:100%;box-sizing:border-box;padding:10px}.hub-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.hub-dialog button{padding:9px 14px;border-radius:5px;border:1px solid var(--site-line);background:var(--site-panel);color:var(--site-ink);cursor:pointer}.hub-dialog button.primary{background:var(--site-action);color:var(--site-action-ink);border-color:var(--site-action)}.hub-bot-options{border:0;padding:0;margin:20px 0}.hub-bot-options legend{font-size:12px;color:var(--site-muted);margin-bottom:8px}.hub-bot-options label{display:flex;gap:10px;align-items:start;padding:12px;border:1px solid var(--site-line);border-radius:6px;margin:9px 0;cursor:pointer}.hub-bot-options label:has(input:checked){border-color:var(--site-action);background:var(--site-soft)}.hub-bot-options small{display:block;margin-top:3px;color:var(--site-muted)}.hub-rated-note{padding:12px;background:var(--site-gold-soft);border-radius:6px}.hub-search-result{display:flex;gap:8px;align-items:center;padding:10px;border-bottom:1px solid var(--site-line)}.name-color-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.name-color-choice{display:flex;align-items:center;gap:6px;font-size:12px;padding:8px!important}.name-color-choice[aria-pressed=true]{outline:2px solid var(--site-gold)}.name-color-dot{width:13px;height:13px;flex:none;border-radius:50%;background:hsl(var(--hue) 65% 45%)}.name-color-preview{padding:12px;background:var(--site-tint);border-radius:5px}.name-color-slider{display:flex;gap:10px;align-items:center;margin:13px 0}.name-color-slider input{min-width:0;flex:1}.lobby-name-color{font-size:11px!important;padding:4px 7px!important}
@media(max-width:500px){.name-color-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-dialog{padding:22px}}

/* Full desktop navigation; mobile keeps brand, Navigation and Account in one row. */
body :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-nav{flex-wrap:nowrap!important;gap:4px}
body .site-play-desktop{display:flex;align-items:center;gap:4px}
body :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-play-menu{display:none;position:relative;margin:0;padding:0;border:0;background:transparent;color:var(--site-ink);overflow:visible}
body :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-play-menu>summary{display:flex;align-items:center;gap:4px;list-style:none;cursor:pointer;margin:0;padding:10px 9px;min-height:44px;box-sizing:border-box;font:400 15px/21px Arial,sans-serif;border-radius:7px;white-space:nowrap}
.site-play-menu>summary::-webkit-details-marker{display:none}
.site-play-menu.is-current>summary{box-shadow:inset 0 -2px var(--brand-gold)}
.site-play-menu>summary:focus-visible{outline:3px solid var(--brand-gold);outline-offset:2px}
body .site-play-links{position:absolute;z-index:100;top:100%;left:0;min-width:225px;padding:6px;border:1px solid var(--site-line);border-radius:8px;background:var(--site-panel);box-shadow:0 8px 24px #0002}
body .site-play-links a{display:flex!important;align-items:center;gap:8px;min-height:44px!important;white-space:nowrap}
@media(max-width:1100px){
 body .site-play-desktop{display:none}
 body :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-play-menu{display:block}
 body .site-play-links{max-height:calc(100vh - 86px);max-height:calc(100dvh - 86px);overflow-y:auto;overscroll-behavior:contain}
 body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-nav>a{min-height:44px;padding:10px 9px}
}
@media(max-width:600px){
 body.site-redesign :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-header{column-gap:8px;padding-inline:12px;min-height:64px}
 body :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-play-menu>summary{font-size:13px}
}

/* Shared section panel used by Home and Replay. */
.home-card{min-width:0;padding:var(--site-card-padding,18px);border:1px solid var(--site-line);border-radius:10px;background:var(--site-panel);box-shadow:0 2px 14px rgba(22,43,35,.035)}
.home-card h2{font:400 24px/1.3 var(--site-heading,Georgia,serif)}

/* Approved Graphite blue: shared decorative surfaces and controls, dark only. */
body.dark-mode a{color:var(--site-action)}
html body.dark-mode .toolbar{background:var(--site-panel);border-color:var(--site-line)}
html body.dark-mode #maxbarbu-home .home-welcome-panel{
  background:linear-gradient(115deg,var(--site-panel),var(--site-gold-soft));
}
html body.dark-mode #maxbarbu-home .hero-actions .home-button.primary,
html body.dark-mode #maxbarbu-home .home-segment button[aria-pressed=true]{
  background:var(--site-action);color:var(--site-action-ink);border-color:var(--site-action);
}
html body.dark-mode .lobby-design :is(.avatar.you,.avatar.reserved,.banner),
html body.dark-mode :is(.occupied .place-avatar,.lobby-profile .place-avatar){
  background:var(--site-gold-soft);color:var(--site-ink);border-color:var(--site-line);
}
html body.dark-mode #confirmDouble,
html body.dark-mode .bot-vote[aria-pressed=true]{
  background:var(--site-gold-soft);color:var(--site-action);border-color:var(--site-action);
}
html body.dark-mode .double-target.dealer-target{
  background:var(--site-gold-soft);color:var(--site-ink);
}
.privacy-page{max-width:1000px;margin-inline:auto;line-height:1.7}.privacy-page h2{margin-top:32px;scroll-margin-top:24px}.privacy-summary{font-size:1.05rem;border-left:3px solid var(--accent,#a48442);padding:12px 18px;background:var(--site-panel,#fff)}.privacy-contents{display:flex;flex-wrap:wrap;gap:10px 20px;padding:16px 0;border-block:1px solid var(--site-line,#d7d4ca)}
.mb-retry{margin-inline-start:12px;min-height:36px}.mb-period-controls{align-items:end;gap:12px;flex-wrap:wrap}.mb-scroll[tabindex]{outline-offset:3px}.mb-scroll-cue{font-size:12px;color:var(--muted,#68717a);margin:8px 0}.mb-sticky-player th:nth-child(2),.mb-sticky-player td:nth-child(2){position:sticky;left:0;background:var(--site-panel,#fff);z-index:1}.mb-sticky-player thead th:nth-child(2){z-index:2}
.account-shortcuts{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.account-identity-note{font-size:13px;line-height:1.5}.account-password-visibility{display:flex;gap:8px;align-items:center;font-size:13px;margin:10px 0}

/* A compact delete glyph keeps chat text in view; its target stays easy to tap. */
html body :is(#app,#maxbarbu-home,#mobileMenu) button:is(.chat-delete,.hub-delete){
  display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;
  width:28px;height:28px;min-width:28px;min-height:28px;padding:0;margin-left:3px;
  border:0;border-radius:50%;background:transparent;color:var(--site-muted);cursor:pointer;
}
.chat-delete-icon{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:16px;height:16px;border:1px solid currentColor;border-radius:50%;font:16px/1 Arial,sans-serif}
html body button:is(.chat-delete,.hub-delete):hover:not(:disabled){color:var(--site-ink)}
html body button:is(.chat-delete,.hub-delete):focus-visible{outline:2px solid var(--site-gold);outline-offset:1px}
@media(pointer:coarse){html body :is(#app,#maxbarbu-home,#mobileMenu) button:is(.chat-delete,.hub-delete){width:44px;height:44px;min-width:44px;min-height:44px}}

/* Saved desktop Old school appearance. Body class requires saved desktop preference and visible gameplay. */
html body.old-school-table {
 --old-school-double:#c00000;--old-school-pass:#16752b;
 --site-page:#fff;--site-panel:#fff;--site-ink:#000;--site-muted:#333;
 --site-line:#aaa;--site-soft:#f3f3f3;--site-tint:#f3f3f3;
 --site-action:#244fa2;--site-action-ink:#fff;--site-gold:#244fa2;
 --site-gold-soft:#eceff5;--brand-ink:#000;--brand-gold:#5c4b20;
 --site-body:Georgia,'Times New Roman',serif;--site-radius:0px;
 --site-button:#244fa2;--site-button-ink:#fff;
 background:var(--site-page);color:var(--site-ink);
}
html body.old-school-table.dark-mode {
 --old-school-double:#ff8080;--old-school-pass:#77df8b;
 --site-page:#202223;--site-panel:#202223;--site-ink:#f2f2f2;--site-muted:#ccc;
 --site-line:#777;--site-soft:#2c2e30;--site-tint:#2c2e30;
 --site-action:#a9c4ff;--site-action-ink:#10233e;--site-gold:#a9c4ff;
 --site-gold-soft:#303b50;--brand-ink:#f2f2f2;--brand-gold:#e6be64;
 --site-button:#a9c4ff;--site-button-ink:#10233e;
}
html body.old-school-table :is(.site-header,.toolbar,.account-dialog,.panel,.mb-card,.home-panel,.home-card,.pp-panel,.starter,.wait-row,.live-row,.replay-menu-content) { border-radius:0;box-shadow:none; }
html body.old-school-table :is(.site-header,.site-nav a,.site-account a,.site-account button) { font-family:Georgia,'Times New Roman',serif; }
html body.old-school-table .old-school-auction-double { color:var(--old-school-double,#c00000); }

/* Both game appearances use the same compact navigation destinations. */

/* Approved compact Home header, shared across the existing page shells. */
html body :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-header.shared-site-header {
 min-height:62px;padding:8px 24px;gap:12px 24px;position:relative;z-index:70;
}
html body :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .shared-site-header .site-brand { --brand-icon-size:38px;--brand-size:27px;gap:8px; }
html body :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .shared-site-header .site-nav { margin-right:auto;gap:5px;flex-wrap:nowrap; }
html body :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .shared-site-header .site-nav a { min-height:40px;padding:8px 10px;border-radius:7px;font-size:15px; }
html body :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .shared-site-header .site-account { flex-wrap:nowrap;gap:8px; }
html body :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .shared-site-header .site-account :is(button,summary) { display:inline-flex;align-items:center;min-height:40px;padding:6px 10px;border:1px solid var(--site-line);border-radius:7px;background:var(--site-panel);color:var(--site-ink);font:13px/1.4 Arial,sans-serif;white-space:nowrap; }
html body :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .shared-site-header .site-account-menu { position:relative;margin:0;padding:0;border:0; }
html body :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .shared-site-header .site-account-menu>summary { cursor:pointer;list-style:none; }
.shared-site-header .site-account-menu>summary::-webkit-details-marker { display:none; }
html body :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .shared-site-header .site-account-popover { position:absolute;right:0;top:calc(100% + 7px);display:grid;min-width:190px;max-width:calc(100vw - 32px);padding:6px;border:1px solid var(--site-line);border-radius:9px;background:var(--site-panel);box-shadow:0 5px 20px #0002;z-index:30; }
html body :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .shared-site-header .site-account-popover :is(a,button) { justify-content:flex-start;text-align:left;min-height:40px;width:100%;padding:8px;border:0;font-size:13px; }
html body :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .shared-site-header [hidden] { display:none!important; }
html body #app #tableSiteHeader .site-account .site-theme-toggle { font-size:0;min-width:36px; }
#tableSiteHeader .site-theme-toggle::before { content:'◐';font:20px/1 Arial,sans-serif; }
#tableSiteHeader .site-account { position:relative; }
#tableSiteHeader [data-table-style-status] { position:absolute;right:0;top:calc(100% + 7px);max-width:min(360px,85vw);padding:8px 10px;border:1px solid var(--site-line);background:var(--site-panel);color:var(--site-ink);white-space:normal; }
html body.lobby-open #tableSiteHeader { display:none; }
/* The global row supplies navigation; all game actions keep their original nodes. */
body.has-global-site-header #gameNavigation,body.has-global-site-header #app>.toolbar>.wordmark { display:none; }
/* Retro uses the shared navigation while retaining its table styling. */
@media(max-width:600px) {
 html body :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .site-header.shared-site-header { padding-inline:12px;gap:8px; }
 html body :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .shared-site-header .site-brand { --brand-icon-size:32px;--brand-size:24px; }
 html body :is(#maxbarbu-home,#solo-pages,#mb-rules,#app) .shared-site-header .site-account { gap:6px; }
}
/* Reserve the measured global row in the existing compact board. Its card,
   hand, menu and review dimensions still come from the gameplay stylesheet. */
body.has-global-site-header.mobile-landscape:not(.mobile-kibitz):not(.mobile-hand-review):not(.practice-reviewing) #app .table { height:calc(100dvh - 43px - var(--global-site-header-height,0px) - var(--safe-top) - var(--safe-bottom)); }
body.has-global-site-header.mobile-landscape.practice-reviewing:not(.mobile-kibitz) #app .table { height:calc(100dvh - 43px - var(--global-site-header-height,0px) - var(--practice-review-height,48px) - var(--safe-top) - var(--safe-bottom)); }
body.has-global-site-header.mobile-landscape.mobile-hand-review:not(.mobile-kibitz) #app .table { height:calc(100dvh - 43px - var(--global-site-header-height,0px) - var(--practice-review-height,39px) - var(--safe-top) - var(--safe-bottom)); }
