/* Playroom's home shell. Puzzle cards retain their individual game palettes. */
:root body.game-catalog.club-hub.playroom-home {
  --ui-bg:var(--playroom-bg); --ui-surface:var(--playroom-surface); --ui-soft:var(--playroom-soft); --ui-ink:var(--playroom-ink);
  --ui-muted:var(--playroom-muted); --ui-line:var(--playroom-line); --ui-accent:#c34e39; --playroom-accent-ink:#fff;
  --hub-feature:#f5eae2; --hub-feature-ink:var(--ui-ink); --hub-feature-muted:#674f5e;
  --ui-display-font:"Outfit",Arial,sans-serif; --ui-body-font:"Manrope",Arial,sans-serif;
  background:var(--ui-bg); color:var(--ui-ink); font-family:var(--ui-body-font); padding:0 32px 28px;
}
:root[data-theme="dark"] body.game-catalog.club-hub.playroom-home {
  --ui-bg:var(--playroom-bg); --ui-surface:var(--playroom-surface); --ui-soft:var(--playroom-soft); --ui-ink:var(--playroom-ink);
  --ui-muted:var(--playroom-muted); --ui-line:var(--playroom-line); --ui-accent:#ffab89; --playroom-accent-ink:#352330;
  --hub-feature:#302c33; --hub-feature-ink:var(--ui-ink); --hub-feature-muted:#d1b9c4;
}
:root body.game-catalog.club-hub.playroom-home main { width:min(100%,1180px); }
:root body.game-catalog.club-hub.playroom-home :is(h1,h2,h3) { font-family:var(--ui-display-font); }
:root body.game-catalog.club-hub.playroom-home .hub-masthead { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; min-height:86px; padding:16px 0; gap:24px; border:0; }
:root body.game-catalog.club-hub.playroom-home .playroom-greeting { display:flex; align-items:center; gap:8px; font-size:11px; color:var(--ui-muted); }
:root body.game-catalog.club-hub.playroom-home .playroom-greeting i { width:7px; height:7px; border-radius:50%; background:var(--ui-accent); }
:root body.game-catalog.club-hub.playroom-home .hub-wordmark { margin:0; font:750 25px var(--ui-display-font); letter-spacing:-.045em; gap:11px; }
:root body.game-catalog.club-hub.playroom-home .hub-mark { display:block; width:37px; height:37px; border-radius:10px; }
:root body.game-catalog.club-hub.playroom-home .header-actions { display:flex; justify-self:end; align-items:center; gap:8px; }
:root body.game-catalog.club-hub.playroom-home .hub-theme-button { width:44px; height:44px; border-radius:14px; background:var(--ui-surface); box-shadow:0 3px 0 #d9bcae25; order:1; }
:root body.game-catalog.club-hub.playroom-home .hub-account { display:flex; width:auto; gap:7px; order:0; }
:root body.game-catalog.club-hub.playroom-home .hub-account a { padding:11px 14px; min-height:44px; border-radius:13px; font-size:12px; font-weight:750; background:var(--ui-surface); box-shadow:0 3px 0 #d9bcae25; }
:root body.game-catalog.club-hub.playroom-home .hub-account .hub-register { color:var(--playroom-accent-ink); background:var(--ui-accent); border-color:var(--ui-accent); }
/* The old shell styles #session by ID; set its complete appearance here. */
:root body.game-catalog.club-hub.playroom-home .hub-account #session {
  display:inline-flex; align-items:center; gap:8px; max-width:180px; min-height:44px; padding:10px 14px;
  border:1px solid var(--ui-line); border-radius:13px; color:var(--ui-ink); background:var(--ui-surface);
  font:700 12px/20px var(--ui-body-font); box-shadow:0 3px 0 #d9bcae25;
}
:root body.game-catalog.club-hub.playroom-home .hub-account-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
:root body.game-catalog.club-hub.playroom-home .hub-account #session svg,
:root body.game-catalog.club-hub.playroom-home .hub-social svg {
  width:18px; height:18px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;
}
:root body.game-catalog.club-hub.playroom-home .hub-account #session:hover { border-color:var(--ui-accent); background:var(--ui-soft); }
:root body.game-catalog.club-hub.playroom-home .home-navigation { display:flex; align-items:center; justify-content:space-between; gap:20px; }
:root body.game-catalog.club-hub.playroom-home .hub-social { display:flex; align-items:center; gap:8px; }
:root body.game-catalog.club-hub.playroom-home .hub-social > :is(a,button) {
  display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 14px;
  border:1px solid var(--ui-line); border-radius:12px; background:var(--ui-surface); color:var(--ui-ink);
  font:700 12px/20px var(--ui-body-font); text-decoration:none; white-space:nowrap; cursor:pointer;
}
:root body.game-catalog.club-hub.playroom-home .hub-social > :is(a,button):hover { border-color:var(--ui-accent); background:var(--ui-soft); }
:root body.game-catalog.club-hub.playroom-home .hub-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; width:min(100%,520px); max-width:100%; margin:0; padding:6px; border:1px solid var(--ui-line); border-radius:20px; background:var(--ui-surface); box-shadow:0 5px 0 #d9bcae30; }
:root body.game-catalog.club-hub.playroom-home .hub-nav > :is(a,button) { display:flex; align-items:center; justify-content:center; min-width:0; min-height:44px; margin:0; padding:12px 10px; border:0; border-radius:14px; background:transparent; color:var(--ui-muted); font-family:inherit; font-size:13px; font-weight:750; line-height:20px; text-align:center; text-decoration:none; cursor:pointer; }
:root body.game-catalog.club-hub.playroom-home .hub-nav > :is(a,button):hover { background:var(--ui-soft); color:var(--ui-ink); text-decoration:none; }
:root body.game-catalog.club-hub.playroom-home .hub-nav a[aria-current="page"] { background:var(--ui-accent); color:var(--playroom-accent-ink); }
:root body.game-catalog.club-hub.playroom-home header.playroom-welcome { display:flex; flex-direction:row; align-items:center; justify-content:space-between; padding:30px 0 26px; gap:32px; }
:root body.game-catalog.club-hub.playroom-home .playroom-eyebrow { display:block; color:var(--ui-accent); font-size:11px; font-weight:800; letter-spacing:.025em; }
:root body.game-catalog.club-hub.playroom-home h1 { margin:9px 0 12px; font:750 clamp(44px,5.8vw,68px)/.99 var(--ui-display-font); letter-spacing:-.06em; }
:root body.game-catalog.club-hub.playroom-home h1 span { color:var(--ui-accent); }
:root body.game-catalog.club-hub.playroom-home .intro { margin:0; max-width:none; font-size:13px; line-height:1.6; color:var(--ui-muted); }
:root body.game-catalog.club-hub.playroom-home .playroom-art { position:relative; width:240px; height:190px; margin-right:40px; flex:none; }
:root body.game-catalog.club-hub.playroom-home .playroom-art-circle { position:absolute; top:0; left:25px; width:145px; height:145px; border-radius:50%; background:#ecd476; color:#835a37; transform:rotate(-9deg); }
:root body.game-catalog.club-hub.playroom-home .playroom-art-circle svg { position:absolute; width:103px; height:103px; top:21px; left:21px; }
:root body.game-catalog.club-hub.playroom-home .playroom-art-loop { position:absolute; width:85px; height:85px; bottom:0; right:0; border:20px solid #a9c9bd; border-radius:29px; transform:rotate(15deg); }
:root body.game-catalog.club-hub.playroom-home .playroom-art-dot { position:absolute; width:19px; height:19px; top:24px; right:9px; border-radius:50%; background:var(--ui-accent); }
:root body.game-catalog.club-hub.playroom-home .playroom-art-note { position:absolute; left:0; bottom:0; font:600 20px/1.1 var(--ui-display-font); letter-spacing:-.03em; color:var(--ui-muted); transform:rotate(-8deg); }
:root body.game-catalog.club-hub.playroom-home .playroom-tools { display:grid; grid-template-columns:minmax(0,1fr) 310px; align-items:center; gap:22px; margin-bottom:22px; }
:root body.game-catalog.club-hub.playroom-home .playroom-tools .activity-card { margin-bottom:0; }
:root body.game-catalog.club-hub.playroom-home .playroom-tools .catalog-tools { margin:0; min-width:0; flex-wrap:wrap; gap:10px; }
:root body.game-catalog.club-hub.playroom-home .playroom-tools .catalog-search { width:100%; }
:root body.game-catalog.club-hub.playroom-home .activity-card { border-radius:20px; background:var(--ui-surface); box-shadow:0 4px 0 #d9bcae20; margin-bottom:20px; }
:root body.game-catalog.club-hub.playroom-home .activity-summary { padding:13px 18px; }
:root body.game-catalog.club-hub.playroom-home .activity-title { font-size:16px; font-weight:650; letter-spacing:-.025em; }
:root body.game-catalog.club-hub.playroom-home .activity-icon { background:var(--ui-soft); border-radius:12px; }
:root body.game-catalog.club-hub.playroom-home .activity-metric dd { font:700 25px/1.15 var(--ui-display-font); }
:root body.game-catalog.club-hub.playroom-home .activity-people { margin:0; padding:8px 18px 10px; color:var(--ui-muted); font-size:12px; line-height:1.6; }
:root body.game-catalog.club-hub.playroom-home :is(.activity-toggle,.activity-close,.activity-room-link) { border-radius:13px; border-color:var(--ui-line); color:var(--ui-accent); background:var(--ui-soft); box-shadow:0 3px 0 #d9bcae20; font-family:var(--ui-body-font); font-weight:750; }
:root body.game-catalog.club-hub.playroom-home dialog.activity-panel { padding:25px; border-radius:26px; background:var(--ui-surface); }
:root body.game-catalog.club-hub.playroom-home .activity-dialog-header h2 { font-size:29px; font-weight:700; }
:root body.game-catalog.club-hub.playroom-home .activity-roster { padding:15px; margin-bottom:18px; border:1px solid var(--ui-line); border-radius:16px; background:var(--ui-soft); }
:root body.game-catalog.club-hub.playroom-home .activity-roster h3 { margin:0 0 7px; font-size:17px; }
:root body.game-catalog.club-hub.playroom-home .activity-roster p { color:var(--ui-muted); font-size:12px; line-height:1.6; margin:0; overflow-wrap:anywhere; }
:root body.game-catalog.club-hub.playroom-home .activity-filters { padding:5px; gap:5px; border:1px solid var(--ui-line); border-radius:16px; background:var(--ui-soft); }
:root body.game-catalog.club-hub.playroom-home .activity-filter { min-height:44px; border-radius:11px; font-weight:750; }
:root body.game-catalog.club-hub.playroom-home .activity-room { border-radius:18px; padding:16px; }
:root body.game-catalog.club-hub.playroom-home .activity-room-title strong { font:650 19px var(--ui-display-font); }
:root body.game-catalog.club-hub.playroom-home .catalog-tools { margin-bottom:19px; }
:root body.game-catalog.club-hub.playroom-home .catalog-search { border-radius:14px; min-height:46px; box-shadow:0 3px 0 #d9bcae18; }
:root body.game-catalog.club-hub.playroom-home .catalog-count { background:var(--ui-soft); border-radius:10px; padding:8px 11px; color:var(--ui-muted); font:650 12px var(--ui-body-font); }
:root body.game-catalog.club-hub.playroom-home .section-heading { margin-bottom:16px; }
:root body.game-catalog.club-hub.playroom-home .section-heading h2 { font:700 25px var(--ui-display-font); letter-spacing:-.04em; }
:root body.game-catalog.club-hub.playroom-home .section-heading p { font-size:13px; }
:root body.game-catalog.club-hub.playroom-home .daily-mix-card { padding:30px; margin:30px 0; gap:32px; border:1px solid var(--ui-line); border-radius:30px 30px 9px 30px; background:var(--hub-feature); color:var(--hub-feature-ink); box-shadow:none; }
/* Familiar puzzle outlines add texture without turning the whole feature into an accent. */
:root body.game-catalog.club-hub.playroom-home .daily-mix-card::before {
  content:""; display:block; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:var(--ui-accent); opacity:.16;
  mask:url("/assets/atmospheres/set.svg") right top / 240px 200px repeat;
  -webkit-mask:url("/assets/atmospheres/set.svg") right top / 240px 200px repeat;
}
:root body.game-catalog.club-hub.playroom-home .daily-mix-card .daily-mix-kicker { color:color-mix(in srgb,var(--ui-accent) 80%,var(--hub-feature-ink)); font:800 11px var(--ui-body-font); text-transform:none; letter-spacing:.025em; margin-bottom:10px; }
:root body.game-catalog.club-hub.playroom-home .daily-mix-card .daily-mix-copy h2 { color:var(--hub-feature-ink); font:700 43px/1 var(--ui-display-font); letter-spacing:-.05em; }
:root body.game-catalog.club-hub.playroom-home .daily-mix-card .daily-mix-copy p { color:var(--hub-feature-muted); font-size:13px; line-height:1.6; max-width:390px; margin:13px 0 18px; }
:root body.game-catalog.club-hub.playroom-home .daily-mix-card .daily-mix-side { border:0; padding:0; background:none; }
:root body.game-catalog.club-hub.playroom-home .daily-mix-card .daily-mix-meta span,:root body.game-catalog.club-hub.playroom-home .daily-mix-card .daily-mix-leader { color:var(--hub-feature-muted); }
:root body.game-catalog.club-hub.playroom-home .daily-mix-card .daily-mix-meta strong,:root body.game-catalog.club-hub.playroom-home .daily-mix-card .daily-mix-leader time { color:var(--hub-feature-ink); }
:root body.game-catalog.club-hub.playroom-home .daily-mix-card .daily-mix-game { border-color:var(--ui-line); border-radius:7px; background:#fff8ef; box-shadow:none; }
:root body.game-catalog.club-hub.playroom-home .daily-mix-card .daily-mix-action { border-radius:15px; min-height:48px; border-color:var(--ui-accent); background:var(--ui-accent); color:var(--playroom-accent-ink); font:750 13px var(--ui-body-font); box-shadow:0 4px 0 #712c2625; }
:root body.game-catalog.club-hub.playroom-home .daily-mix-card .daily-mix-action:hover { filter:brightness(.98); background:var(--ui-accent); }
:root body.game-catalog.club-hub.playroom-home .daily-mix-card .daily-mix-share { border-radius:15px; color:var(--hub-feature-ink); border-color:color-mix(in srgb,var(--hub-feature-ink) 40%,transparent); background:transparent; font-family:var(--ui-body-font); }
:root body.game-catalog.club-hub.playroom-home .daily-mix-card .daily-mix-share:hover { background:color-mix(in srgb,var(--hub-feature-ink) 6%,transparent); }
:root body.game-catalog.club-hub.playroom-home .daily-mix-card :is(a,button):focus-visible { outline-color:var(--ui-accent); }
@media (forced-colors:active) {
  :root body.game-catalog.club-hub.playroom-home .daily-mix-card::before { display:none; }
}
:root body.game-catalog.club-hub.playroom-home footer { margin-top:35px; padding-top:22px; color:var(--ui-muted); font-size:11px; }
:root body.game-catalog.club-hub.playroom-home footer a { color:var(--ui-accent); }
@media (max-width:1000px) {
  :root body.game-catalog.club-hub.playroom-home .playroom-tools { display:block; margin:0; }
  :root body.game-catalog.club-hub.playroom-home .playroom-tools .activity-card { margin-bottom:18px; }
  :root body.game-catalog.club-hub.playroom-home .playroom-tools .catalog-tools { margin-bottom:18px; flex-wrap:nowrap; }
  :root body.game-catalog.club-hub.playroom-home .playroom-tools .catalog-search { width:auto; flex:1; }
  :root body.game-catalog.club-hub.playroom-home .hub-masthead { grid-template-columns:minmax(0,1fr) auto; }
  :root body.game-catalog.club-hub.playroom-home .playroom-greeting { display:none; }
  :root body.game-catalog.club-hub.playroom-home .playroom-art { margin-right:0; }
}
@media (max-width:700px) {
  :root body.game-catalog.club-hub.playroom-home #game-search { font-size:16px; }
  :root body.game-catalog.club-hub.playroom-home { padding:0 16px 22px; }
  /* Lay out the header's existing controls together, including the invitation bell. */
  :root body.game-catalog.club-hub.playroom-home main { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); column-gap:8px; row-gap:8px; padding-top:14px; }
  :root body.game-catalog.club-hub.playroom-home main > :is(div,footer) { grid-column:1/-1; min-width:0; }
  :root body.game-catalog.club-hub.playroom-home :is(.hub-masthead,.header-actions,.home-navigation) { display:contents; }
  :root body.game-catalog.club-hub.playroom-home .hub-wordmark { grid-column:1/5; grid-row:1; align-self:center; justify-self:start; max-width:100%; min-height:44px; font-size:23px; gap:8px; margin:0; }
  :root body.game-catalog.club-hub.playroom-home .hub-mark { width:30px; height:30px; }
  :root body.game-catalog.club-hub.playroom-home .hub-theme-button { grid-column:6; grid-row:1; justify-self:end; width:44px; min-width:44px; height:44px; border-radius:13px; }
  :root body.game-catalog.club-hub.playroom-home .gi-bell { grid-column:5; }
  :root body.game-catalog.club-hub.playroom-home .hub-account { grid-column:4/7; grid-row:2; min-width:0; max-width:100%; justify-content:flex-end; gap:6px; }
  :root body.game-catalog.club-hub.playroom-home .hub-account a { padding:10px; min-height:44px; font-size:12px; }
  :root body.game-catalog.club-hub.playroom-home .hub-account #session { max-width:100%; min-width:0; padding:10px; font-size:12px; }
  :root body.game-catalog.club-hub.playroom-home .hub-social { grid-column:1/4; grid-row:2; min-width:0; gap:4px; justify-content:flex-start; }
  :root body.game-catalog.club-hub.playroom-home .hub-social > :is(a,button) { gap:5px; padding:10px 6px; border-color:transparent; background:transparent; font-size:12px; }
  :root body.game-catalog.club-hub.playroom-home .hub-social svg { width:16px; height:16px; }
  :root body.game-catalog.club-hub.playroom-home .hub-nav { grid-column:1/-1; grid-row:3; width:100%; padding:4px; gap:4px; border-radius:16px; box-shadow:0 3px 0 #d9bcae20; }
  :root body.game-catalog.club-hub.playroom-home .hub-nav > :is(a,button) { padding:10px 2px; font-size:13px; border-radius:11px; }
  :root body.game-catalog.club-hub.playroom-home header.playroom-welcome { padding:10px 0 14px; gap:0; }
  :root body.game-catalog.club-hub.playroom-home h1 { font-size:36px; line-height:1.08; margin:0 0 8px; letter-spacing:-.045em; }
  :root body.game-catalog.club-hub.playroom-home .playroom-eyebrow { display:none; }
  :root body.game-catalog.club-hub.playroom-home .intro { font-size:13px; line-height:1.55; max-width:none; }
  :root body.game-catalog.club-hub.playroom-home .playroom-art { display:none; }
  :root body.game-catalog.club-hub.playroom-home .playroom-art-circle { width:61px; height:61px; left:0; }
  :root body.game-catalog.club-hub.playroom-home .playroom-art-circle svg { width:43px; height:43px; left:9px; top:9px; }
  :root body.game-catalog.club-hub.playroom-home .playroom-art-loop { width:32px; height:32px; border-width:7px; border-radius:11px; bottom:0; right:-1px; }
  :root body.game-catalog.club-hub.playroom-home .playroom-art-dot { width:9px; height:9px; top:-8px; right:0; }
  :root body.game-catalog.club-hub.playroom-home .playroom-art-note { display:none; }
  :root body.game-catalog.club-hub.playroom-home .activity-summary { padding:10px 12px; }
  :root body.game-catalog.club-hub.playroom-home .activity-card { border-radius:16px; margin-bottom:17px; }
  :root body.game-catalog.club-hub.playroom-home .activity-people { padding:7px 12px; font-size:11px; }
  :root body.game-catalog.club-hub.playroom-home .activity-metric dd { font-size:23px; }
  :root body.game-catalog.club-hub.playroom-home .activity-toggle { font-size:12px; padding:10px; }
  :root body.game-catalog.club-hub.playroom-home .catalog-tools { margin-bottom:15px; }
  :root body.game-catalog.club-hub.playroom-home .playroom-tools :is(.activity-card,.catalog-tools) { margin-bottom:14px; }
  :root body.game-catalog.club-hub.playroom-home .playroom-tools .catalog-search:has(#game-search) { min-height:48px; border-radius:14px; }
  :root body.game-catalog.club-hub.playroom-home .catalog-count { font-size:10px; padding:8px; }
  :root body.game-catalog.club-hub.playroom-home .section-heading { margin-bottom:10px; }
  :root body.game-catalog.club-hub.playroom-home .section-heading h2 { font-size:23px; }
  :root body.game-catalog.club-hub.playroom-home .games { gap:12px; }
  :root body.game-catalog.club-hub.playroom-home .game { min-height:150px; aspect-ratio:1.1; border-radius:16px; }
  :root body.game-catalog.club-hub.playroom-home .game .board-preview { width:86%; height:78%; top:-1%; right:-7%; }
  :root body.game-catalog.club-hub.playroom-home .game h3 { font-size:20px; line-height:1.15; }
  :root body.game-catalog.club-hub.playroom-home .game.minesweeper h3 { font-size:clamp(16px,4.4vw,20px); }
  :root body.game-catalog.club-hub.playroom-home .daily-mix-card { padding:24px; gap:20px; border-radius:25px 25px 9px 25px; margin:25px 0; }
  :root body.game-catalog.club-hub.playroom-home .daily-mix-card .daily-mix-copy h2 { font-size:38px; }
  :root body.game-catalog.club-hub.playroom-home .daily-mix-card .daily-mix-copy p { font-size:13px; }
  :root body.game-catalog.club-hub.playroom-home .daily-mix-card .daily-mix-side { padding-top:17px; border-top:1px solid color-mix(in srgb,var(--hub-feature-ink) 25%,transparent); }
  :root body.game-catalog.club-hub.playroom-home dialog.activity-panel { padding:19px; border-radius:22px; }
  :root body.game-catalog.club-hub.playroom-home .activity-dialog-header h2 { font-size:25px; }
  :root body.game-catalog.club-hub.playroom-home .activity-room { padding:13px; }
}
@media (max-width:400px) {
  :root body.game-catalog.club-hub.playroom-home .hub-social svg { display:none; }
}
@media (max-width:359px) {
  :root body.game-catalog.club-hub.playroom-home .hub-wordmark { font-size:21px; gap:7px; }
  :root body.game-catalog.club-hub.playroom-home .hub-social svg { display:none; }
  :root body.game-catalog.club-hub.playroom-home .hub-social > :is(a,button),
  :root body.game-catalog.club-hub.playroom-home .hub-account a { font-size:11px; padding:10px 7px; }
  :root body.game-catalog.club-hub.playroom-home h1 { font-size:33px; }
  :root body.game-catalog.club-hub.playroom-home .game { min-height:140px; }
  :root body.game-catalog.club-hub.playroom-home .game .game-top { inset:12px; }
  :root body.game-catalog.club-hub.playroom-home .game h3 { font-size:18px; }
}

/* Daily Mix is a separate navigation view, never an anchor below the catalog. */
:root body.game-catalog.club-hub.playroom-home :is(#home-catalog-view,#home-daily-view)[hidden] { display:none !important; }
:root body.game-catalog.club-hub.playroom-home .playroom-daily-view { min-height:65vh; }
:root body.game-catalog.club-hub.playroom-home .playroom-daily-view .daily-mix-card { margin-top:0; }

/* Keep the live result count inside the search field instead of on a second row. */
:root body.game-catalog.club-hub.playroom-home .playroom-tools .catalog-search { width:100%; max-width:none; min-width:0; border-radius:14px; }
:root body.game-catalog.club-hub.playroom-home .catalog-search input { flex:1; width:0; min-width:0; }
:root body.game-catalog.club-hub.playroom-home .catalog-search .catalog-count {
  flex:none; min-width:7ch; padding:2px 0 2px 10px; border-left:1px solid var(--ui-line);
  border-radius:0; background:transparent; text-align:right; font-size:11px; line-height:1.5;
  font-variant-numeric:tabular-nums;
}

/* Give every way to play the same front door. */
:root body.game-catalog.club-hub.playroom-home .hub-nav { grid-template-columns:repeat(4,minmax(0,1fr)); width:min(100%,620px); }
:root body.game-catalog.club-hub.playroom-home .home-play-together {
  display:inline-flex; align-items:center; gap:16px; min-height:44px; margin-top:12px; padding:10px 15px;
  border:1px solid var(--ui-line); border-radius:13px; background:var(--ui-surface); color:var(--ui-accent);
  font-size:13px; font-weight:800; text-decoration:none;
}
:root body.game-catalog.club-hub.playroom-home .home-play-together:hover { border-color:var(--ui-accent); }
:root body.game-catalog.club-hub.playroom-home #home-multiplayer-view[hidden] { display:none !important; }
:root body.game-catalog.club-hub.playroom-home .home-multiplayer-picker {
  display:grid; grid-template-columns:auto minmax(160px,240px) minmax(0,1fr); align-items:center; gap:12px 18px;
  margin:0 0 22px; padding:17px 20px; border:1px solid var(--ui-line); border-radius:18px; background:var(--ui-surface);
}
:root body.game-catalog.club-hub.playroom-home .home-multiplayer-picker label { font-size:13px; font-weight:800; }
:root body.game-catalog.club-hub.playroom-home .home-multiplayer-picker select {
  width:100%; min-width:0; height:46px; min-height:46px; padding:10px 12px; border:1px solid var(--ui-line); border-radius:11px;
  background:var(--ui-soft); color:var(--ui-ink); font:700 16px var(--ui-body-font);
}
:root body.game-catalog.club-hub.playroom-home .home-multiplayer-picker select:focus-visible { outline:2px solid var(--ui-accent); outline-offset:3px; }
:root body.game-catalog.club-hub.playroom-home .home-multiplayer-picker p { margin:0; color:var(--ui-muted); font-size:12px; line-height:1.6; }
:root body.game-catalog.club-hub.playroom-home .home-multiplayer-modes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
:root body.game-catalog.club-hub.playroom-home .home-mode-card {
  --mode-accent:#7752bb; --mode-soft:#f1eafa; display:flex; flex-direction:column; min-width:0; padding:24px;
  border:1px solid var(--ui-line); border-radius:22px; background:var(--ui-surface); box-shadow:0 4px 0 #d9bcae20;
}
:root body.game-catalog.club-hub.playroom-home .home-mode-rush { --mode-accent:#ac521d; --mode-soft:#fff0df; }
:root body.game-catalog.club-hub.playroom-home .home-mode-relay { --mode-accent:#16766f; --mode-soft:#e5f3ee; }
:root[data-theme="dark"] body.game-catalog.club-hub.playroom-home .home-mode-card { --mode-accent:#c5a9fa; --mode-soft:#332a43; }
:root[data-theme="dark"] body.game-catalog.club-hub.playroom-home .home-mode-rush { --mode-accent:#ffc18b; --mode-soft:#423025; }
:root[data-theme="dark"] body.game-catalog.club-hub.playroom-home .home-mode-relay { --mode-accent:#9adbd0; --mode-soft:#213d39; }
:root body.game-catalog.club-hub.playroom-home .home-mode-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:22px; }
:root body.game-catalog.club-hub.playroom-home .home-mode-icon { display:grid; place-items:center; width:48px; height:48px; flex:none; border-radius:15px; background:var(--mode-soft); color:var(--mode-accent); }
:root body.game-catalog.club-hub.playroom-home .home-mode-icon svg { width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
:root body.game-catalog.club-hub.playroom-home .home-mode-players { color:var(--ui-muted); font-size:11px; font-weight:750; text-align:right; }
:root body.game-catalog.club-hub.playroom-home .home-mode-card h2 { margin:0 0 10px; color:var(--ui-ink); font-size:29px; font-weight:700; letter-spacing:-.04em; }
:root body.game-catalog.club-hub.playroom-home .home-mode-card p { margin:0 0 18px; color:var(--ui-muted); font-size:13px; line-height:1.7; }
:root body.game-catalog.club-hub.playroom-home .home-mode-detail { margin-top:auto; padding-bottom:22px; color:var(--mode-accent); font-size:11px; font-weight:800; line-height:1.6; }
:root body.game-catalog.club-hub.playroom-home .home-mode-action { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 10px; padding-top:13px; border-top:1px solid var(--ui-line); }
:root body.game-catalog.club-hub.playroom-home .home-mode-action > span { color:var(--ui-muted); font-size:12px; }
:root body.game-catalog.club-hub.playroom-home .home-mode-action a { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:var(--mode-accent); font-size:13px; font-weight:800; text-decoration:none; }
:root body.game-catalog.club-hub.playroom-home .home-mode-action a:hover { text-decoration:underline; text-underline-offset:4px; }
:root body.game-catalog.club-hub.playroom-home .home-multiplayer-note { margin:20px 0 26px; color:var(--ui-muted); font-size:12px; line-height:1.6; }
:root body.game-catalog.club-hub.playroom-home #home-multiplayer-activity .activity-card { margin:0; }
@media (max-width:900px) {
  :root body.game-catalog.club-hub.playroom-home .home-mode-card { padding:20px; }
  :root body.game-catalog.club-hub.playroom-home .home-mode-top { flex-wrap:wrap; gap:10px; margin-bottom:17px; }
  :root body.game-catalog.club-hub.playroom-home .home-mode-players { text-align:left; }
  :root body.game-catalog.club-hub.playroom-home .home-mode-card h2 { font-size:27px; }
  :root body.game-catalog.club-hub.playroom-home .home-multiplayer-picker { grid-template-columns:minmax(0,1fr) minmax(160px,240px); }
  :root body.game-catalog.club-hub.playroom-home .home-multiplayer-picker p { grid-column:1/-1; }
}
@media (max-width:700px) {
  :root body.game-catalog.club-hub.playroom-home .hub-nav { width:100%; }
  :root body.game-catalog.club-hub.playroom-home main > #home-daily-view { grid-column:1/-1; min-width:0; }
  :root body.game-catalog.club-hub.playroom-home .home-multiplayer-modes { grid-template-columns:minmax(0,1fr); gap:14px; }
  :root body.game-catalog.club-hub.playroom-home .home-mode-card { display:grid; grid-template-columns:44px minmax(0,1fr); column-gap:13px; padding:18px; border-radius:19px; }
  :root body.game-catalog.club-hub.playroom-home .home-mode-top { display:contents; }
  :root body.game-catalog.club-hub.playroom-home .home-mode-icon { grid-column:1; grid-row:1/3; width:44px; height:44px; }
  :root body.game-catalog.club-hub.playroom-home .home-mode-players { grid-column:2; grid-row:2; }
  :root body.game-catalog.club-hub.playroom-home .home-mode-card h2 { grid-column:2; grid-row:1; font-size:26px; margin:0 0 3px; }
  :root body.game-catalog.club-hub.playroom-home .home-mode-card > :is(p,.home-mode-detail,.home-mode-action) { grid-column:1/-1; }
  :root body.game-catalog.club-hub.playroom-home .home-mode-card p { margin-top:15px; }
  :root body.game-catalog.club-hub.playroom-home .home-mode-card p { margin-bottom:10px; line-height:1.6; }
  :root body.game-catalog.club-hub.playroom-home .home-mode-detail { padding-bottom:13px; }
  :root body.game-catalog.club-hub.playroom-home .home-mode-action { padding-top:9px; }
  :root body.game-catalog.club-hub.playroom-home .home-multiplayer-picker { padding:16px; gap:10px; margin-bottom:16px; grid-template-columns:auto minmax(0,1fr); }
  :root body.game-catalog.club-hub.playroom-home .home-multiplayer-picker label { max-width:90px; line-height:1.5; }
  :root body.game-catalog.club-hub.playroom-home .home-multiplayer-picker p { margin-top:3px; }
  :root body.game-catalog.club-hub.playroom-home .home-play-together { margin-top:10px; }
}
@media (max-width:399px) {
  :root body.game-catalog.club-hub.playroom-home .hub-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
