/* Sunday Freeroll: the Tournaments-page card (assets/freeroll.js) and the table overlay (assets/table.js).
   --muck-* tokens; gold is the accent. */
body:not(.tournament-section) .fr-card{display:none!important}
.fr-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:28px;align-items:center;margin:0 0 18px;padding:26px 28px;border:1px solid color-mix(in srgb,var(--muck-gold) 35%,var(--muck-line));border-radius:var(--muck-radius-lg);background:radial-gradient(120% 160% at 0% 0%,color-mix(in srgb,var(--muck-gold) 10%,transparent),transparent 55%),var(--muck-surface-1);color:var(--muck-text)}
.fr-card[hidden]{display:none}
.fr-eyebrow{display:inline-flex;align-items:center;gap:6px;margin-bottom:8px;color:var(--muck-gold);font:800 10.5px var(--muck-font);letter-spacing:.16em;text-transform:uppercase}
.fr-eyebrow .material-symbols-rounded{font-size:16px}
.fr-card h3{margin:0 0 8px;font:800 26px/1.15 var(--muck-font);letter-spacing:-.6px}
.fr-card h3 em{font-style:normal;color:var(--muck-gold)}
.fr-main>p{margin:0 0 16px;color:var(--muck-text-2);font-size:13.5px;line-height:1.6}
.fr-main>p b{color:var(--muck-text);font-variant-numeric:tabular-nums}
.fr-pays{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.fr-pays li{display:flex;align-items:baseline;gap:6px;padding:6px 10px;border:1px solid var(--muck-line-strong);border-radius:var(--muck-radius-sm);background:var(--muck-bg);font-size:12.5px}
.fr-pays li span{color:var(--muck-text-3);font-weight:700}
.fr-pays li b{color:var(--muck-gold);font-variant-numeric:tabular-nums}
.fr-side{display:flex;flex-direction:column;gap:12px;padding:18px;border:1px solid var(--muck-line-strong);border-radius:var(--muck-radius-lg);background:color-mix(in srgb,var(--muck-bg) 70%,transparent)}
.fr-card:not(.is-running) .fr-side{justify-content:center;padding:0;border:0;background:none}
.fr-count b{display:block;font:800 30px var(--muck-font);letter-spacing:-.8px;font-variant-numeric:tabular-nums}
.fr-count span{color:var(--muck-text-3);font-size:12.5px}
.fr-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border:0;border-radius:8px;background:var(--muck-gold-cta);color:var(--muck-gold-ink);font:800 14px var(--muck-font);text-decoration:none;cursor:pointer}
.fr-btn .material-symbols-rounded{font-size:19px}
.fr-btn:hover{filter:brightness(1.06)}
.fr-btn:focus-visible,.fr-link:focus-visible{outline:2px solid var(--muck-gold);outline-offset:3px}
.fr-btn--ghost{background:var(--muck-surface-3);color:var(--muck-text);box-shadow:inset 0 0 0 1px var(--muck-line-strong)}
.fr-btn:disabled{opacity:.6;cursor:progress}
.fr-in{display:flex;align-items:center;justify-content:space-between;gap:10px}
.fr-pill{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:999px;background:color-mix(in srgb,var(--muck-green) 15%,transparent);color:var(--muck-green);font:700 13px var(--muck-font)}
.fr-pill .material-symbols-rounded{font-size:17px}
.fr-link{border:0;background:none;color:var(--muck-text-3);font:600 12.5px var(--muck-font);text-decoration:underline;cursor:pointer}
.fr-result b{display:block;font:800 18px var(--muck-font)}
.fr-result span{color:var(--muck-text-2);font-size:13px}
.fr-msg{margin:0;color:var(--muck-gold-muted);font-size:12.5px}
.fr-msg:empty{display:none}
.lby-fr-msg{padding:0 16px 10px;text-align:right}
@media(max-width:719px){.lby-fr-msg{padding:0 14px 10px;text-align:left}}
.fr-card.is-running{border-color:var(--muck-gold-muted)}
@media(max-width:860px){.fr-card{grid-template-columns:1fr;padding:22px 20px}.fr-card h3{font-size:22px}}

/* Table overlay: moving tables, where you finished */
.fr-overlay{position:fixed;inset:0;z-index:3500;display:grid;place-items:center;background:color-mix(in srgb,#000 55%,transparent);backdrop-filter:blur(2px)}
.fr-overlay[hidden]{display:none}
.fr-overlay-box{display:flex;flex-direction:column;gap:8px;max-width:380px;margin:16px;padding:24px 26px;border:1px solid color-mix(in srgb,#ffd34f 40%,#3a3a3a);border-radius:6px;background:#141414;color:#f2f2f2;text-align:center;font-family:Inter,system-ui,sans-serif}
.fr-overlay-box b{font-size:20px;font-weight:800}
.fr-overlay-box span{color:#b4b4b4;font-size:14px;line-height:1.5}
.fr-overlay-row{display:flex;gap:10px;justify-content:center;margin-top:10px}
.fr-overlay-row button{height:40px;padding:0 16px;border:0;border-radius:8px;background:linear-gradient(#ffdf72,#ffcc3e);color:#0b1117;font:800 13.5px Inter,system-ui;cursor:pointer}
.fr-overlay-row button[data-fr-stay]{background:#242424;color:#f2f2f2;box-shadow:inset 0 0 0 1px #3a3a3a}

/* Freeroll lobby (assets/freeroll.js renderLobby): a top-level panel. The hero is a .px-head like the other top-level
   pages, with dedicated panoramic freeroll art; below it the admin bar (admins only) and a two-column grid of cards. */
body.redesign-v2 #s2-panel .px-head[data-art=freeroll]{--header-image:url('lobby-art/sunday-freeroll-home-v2.webp')}
.fr-card .fr-side{gap:10px}
.frl-admin{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;margin:18px 0 0;padding:14px 18px;border:1px dashed color-mix(in srgb,var(--muck-gold) 45%,var(--muck-line));border-radius:var(--muck-radius-lg);background:color-mix(in srgb,var(--muck-gold) 6%,var(--muck-surface-1));color:var(--muck-text-2);font-size:13.5px}
.frl-admin>.material-symbols-rounded{color:var(--muck-gold);font-size:22px}
.frl-admin label{display:inline-flex;align-items:center;gap:8px;color:var(--muck-text-3);font-size:12.5px}
.frl-admin select{height:36px;padding:0 10px;border:1px solid var(--muck-line-strong);border-radius:8px;background:var(--muck-surface-2);color:var(--muck-text);font:600 13px var(--muck-font)}
.frl-admin .fr-btn{height:38px;padding:0 14px;font-size:13px}
.frl-admin .fr-msg{flex-basis:100%}
/* clock */
/* payouts + rules */
/* registered */
/* tables */
/* standings */
@media(max-width:719px){.frl-admin{padding:12px 14px}}

/* Sitting out at a tournament table (assets/table.js _frSitOutBar) */
.fr-sitout{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 118px);z-index:3400;transform:translateX(-50%);display:flex;align-items:center;gap:14px;max-width:calc(100vw - 24px);padding:10px 10px 10px 16px;border:1px solid color-mix(in srgb,var(--muck-gold) 45%,var(--muck-line));border-radius:999px;background:color-mix(in srgb,var(--muck-bg) 92%,transparent);box-shadow:0 10px 30px #0008;color:var(--muck-text-2);font:500 13px var(--muck-font)}
.fr-sitout[hidden]{display:none}
.fr-sitout b{color:var(--muck-text)}
.fr-sitout button{flex:none;height:34px;padding:0 16px;border:0;border-radius:999px;background:var(--muck-gold-cta);color:var(--muck-gold-ink);font:800 13px var(--muck-font);cursor:pointer}
.fr-sitout button:disabled{opacity:.6;cursor:progress}
@media(max-width:719px){.fr-sitout{bottom:calc(env(safe-area-inset-bottom,0px) + 150px);font-size:12px;border-radius:14px}}

/* Freeroll lobby layout (assets/freeroll.js renderLobby; Shaun, 2026-10-04): a desktop tournament lobby's shape in
   our style. Top: prize pool | details + level | your button. Bottom: players | tables | the picked table. One long
   scroll on phones; the lists scroll inside fixed-height boxes. */
.frx{display:flex;flex-direction:column;gap:16px;margin-top:18px}
.frx-top{display:grid;grid-template-columns:minmax(210px,.9fr) minmax(0,2fr) minmax(220px,.95fr);gap:16px;align-items:stretch}
.frx-bottom{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:start}
.frx-card{min-width:0;padding:18px 20px;border:1px solid var(--muck-line);border-radius:var(--muck-radius-lg);background:var(--muck-surface-1)}
.frx-label{color:var(--muck-text-3);font:800 10.5px var(--muck-font);letter-spacing:.16em;text-transform:uppercase}
/* prize pool */
.frx-prize{display:flex;flex-direction:column}
.frx-pool{display:flex;align-items:baseline;gap:8px;margin:6px 0 2px}
.frx-pool b{color:var(--muck-gold);font:800 30px var(--muck-font);letter-spacing:-.8px;font-variant-numeric:tabular-nums}
.frx-pool span{color:var(--muck-text-2);font:700 12.5px var(--muck-font)}
.frx-paid{margin-bottom:12px;color:var(--muck-text-3);font-size:12.5px}
.frx-pays{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0;padding:0;list-style:none}
.frx-pays li{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:7px 10px;border-radius:var(--muck-radius-sm);background:var(--muck-surface-2);font-size:13px}
.frx-pays li span{color:var(--muck-text-3);font-weight:700}
.frx-pays li b{font-variant-numeric:tabular-nums}
.frx-pays li:first-child b{color:var(--muck-gold)}
.frx-pays li.is-you{box-shadow:inset 0 0 0 1px var(--muck-gold)}
/* details + level */
.frx-info{display:flex;flex-direction:column;gap:16px}
.frx-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin:0}
.frx-details div{display:flex;justify-content:space-between;gap:12px;padding-bottom:7px;border-bottom:1px solid var(--muck-line);min-width:0}
.frx-details dt{color:var(--muck-text-3);font-size:12.5px;white-space:nowrap}
.frx-details dd{margin:0;color:var(--muck-text);font:700 13px var(--muck-font);text-align:right;font-variant-numeric:tabular-nums;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.frx-level{padding:14px 16px;border:1px solid var(--muck-line-strong);border-radius:var(--muck-radius);background:var(--muck-surface-2)}
.frx-level-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.frx-level-head span{color:var(--muck-text-3);font:800 11px var(--muck-font);letter-spacing:.12em;text-transform:uppercase}
.frx-level-head b{color:var(--muck-gold);font:800 24px var(--muck-font);letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.frx-level--quiet p{margin:8px 0 0;color:var(--muck-text-2);font-size:13px;line-height:1.5}
.frx-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
.frx-tiles div{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border-radius:var(--muck-radius-sm);background:var(--muck-bg);text-align:center}
.frx-tiles span{color:var(--muck-text-3);font:700 10.5px var(--muck-font);letter-spacing:.08em;text-transform:uppercase}
.frx-tiles b{font:800 19px var(--muck-font);font-variant-numeric:tabular-nums}
.frx-tiles small{color:var(--muck-text-3);font-size:11.5px;font-variant-numeric:tabular-nums}
.frx-next{display:flex;justify-content:space-between;gap:12px;color:var(--muck-text-2);font-size:13px}
.frx-next b{color:var(--muck-text);font-variant-numeric:tabular-nums}
.frx-bar{height:5px;margin-top:8px;border-radius:999px;background:var(--muck-surface-3);overflow:hidden}
.frx-bar i{display:block;height:100%;border-radius:inherit;background:var(--muck-gold);transition:width 1s linear}
/* your button, the short rules, back */
.frx-side{display:flex;flex-direction:column;gap:12px;min-width:0}
.frx-cta{display:flex;flex-direction:column;gap:10px;border-color:color-mix(in srgb,var(--muck-gold) 40%,var(--muck-line))}
.frx-cta .fr-btn{width:100%;height:54px;font-size:16px}
.frx-cta .fr-result b{font-size:20px}
.frx-about{flex:1}
.frx-about p{margin:0 0 8px;color:var(--muck-text-2);font-size:13px;line-height:1.55}
.frx-about p:last-child{margin:0}
.frx-about .frx-league{margin-top:12px;padding:10px 12px;border:1px solid var(--muck-gold-muted,#d8bd84);border-radius:8px;background:color-mix(in srgb,var(--muck-gold,#ffd34f) 7%,transparent)}
.frx-league b{color:var(--muck-gold,#ffd34f)}
.frx-league a{color:var(--muck-gold,#ffd34f);font-weight:700}
.frx-back{width:100%}
/* lists */
.frx-list{display:flex;flex-direction:column;padding:0;overflow:hidden}
.frx-list-head{display:flex;align-items:baseline;gap:10px;padding:14px 16px 10px}
.frx-list-head h3{margin:0;font:800 15px var(--muck-font);letter-spacing:-.2px}
.frx-list-head span{margin-left:auto;color:var(--muck-text-3);font:600 12px var(--muck-font)}
.frx-cols{display:grid;grid-template-columns:44px 26px minmax(0,1fr) auto;align-items:center;gap:0 10px}
.frx-cols--reg{display:grid;grid-template-columns:44px 26px minmax(0,1fr);align-items:center;gap:0 10px}
.frx-cols--tables{display:grid;grid-template-columns:minmax(0,1.3fr) .7fr 1fr 1fr;align-items:center;gap:0 10px}
.frx-cols--tables>span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}
.frx-cols--seat{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:0 10px}
.frx-colhead{padding:7px 16px;border-top:1px solid var(--muck-line);border-bottom:1px solid var(--muck-line);background:var(--muck-surface-2);color:var(--muck-text-3);font:800 10.5px var(--muck-font);letter-spacing:.1em;text-transform:uppercase}
.frx-colhead:not(.frx-cols--reg)>span:last-child{text-align:right}
.frx-colhead:is(.frx-cols,.frx-cols--reg)>span:nth-child(2),.frx-colhead.frx-cols--seat>span:first-child{grid-column:span 2}
.frx-scroll{max-height:440px;margin:0;padding:4px 0;list-style:none;overflow:auto;overscroll-behavior:contain}
.frx-row{padding:6px 16px;font-size:13px}
.frx-row img{width:26px;height:26px;border-radius:50%;object-fit:cover}
.frx-scroll > .frx-row:where(:nth-child(even)){background:color-mix(in srgb,var(--muck-text) 4.5%,transparent)}
.frx-row[role=button]{cursor:pointer}
.frx-row[role=button]:hover{background:var(--muck-surface-2)}
.frx-row[role=button]:focus-visible{outline:2px solid var(--muck-gold);outline-offset:-2px}
.frx-row.is-picked{background:color-mix(in srgb,var(--muck-gold) 12%,transparent);box-shadow:inset 3px 0 0 var(--muck-gold)}
.frx-row.is-you{background:color-mix(in srgb,var(--muck-gold) 8%,transparent)}
.frx-row.is-out{color:var(--muck-text-3)}
/* Players / Blinds tabs on the list card, and the blind structure (Shaun, 2026-10-11: "tournament lobbys need to show the
   blind structure, maybe have a tab with players and blind structure?") */
.frx-tabs{display:flex;gap:4px}
.frx-tabs button{padding:5px 12px;border:1px solid var(--muck-line);border-radius:999px;background:transparent;color:var(--muck-text-2);font:700 13px var(--muck-font);cursor:pointer}
.frx-tabs button:hover{color:var(--muck-text)}
.frx-tabs button[aria-selected=true]{border-color:color-mix(in srgb,var(--muck-gold) 55%,transparent);background:color-mix(in srgb,var(--muck-gold) 14%,transparent);color:var(--muck-gold)}
.frx-tabs button:focus-visible{outline:2px solid var(--muck-gold);outline-offset:2px}
.frx-list-head:has(.frx-tabs){align-items:center;padding:10px 16px}
.frx-cols--blinds{display:grid;grid-template-columns:76px minmax(0,1fr) 64px;align-items:center;gap:0 10px;font-variant-numeric:tabular-nums}
.frx-cols--blinds.has-ante{grid-template-columns:76px minmax(0,1fr) 72px 64px}
.frx-cols--blinds>span:not(:first-child){text-align:right}
.frx-cols--blinds .frx-tag{margin-left:6px}
.frx-row.is-now{background:color-mix(in srgb,var(--muck-gold) 12%,transparent);box-shadow:inset 3px 0 0 var(--muck-gold);color:var(--muck-text)}
.frx-rank{color:var(--muck-text-3);font:800 12px var(--muck-font);font-variant-numeric:tabular-nums}
.frx-name{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;white-space:nowrap}
.frx-chips{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}
.frx-chips b{font-variant-numeric:tabular-nums}
.frx-chips small{color:var(--muck-text-3);font-size:11px;font-variant-numeric:tabular-nums}
.frx-row.is-out .frx-chips b{color:var(--muck-text-3)}
.frx-tag{flex:none;padding:1px 6px;border-radius:999px;background:var(--muck-surface-3);color:var(--muck-text-3);font:700 10px var(--muck-font);font-style:normal;text-transform:uppercase;letter-spacing:.06em}
.frx-tag--you{background:color-mix(in srgb,var(--muck-gold) 18%,transparent);color:var(--muck-gold)}
.frx-cols--tables .frx-tag{margin-left:6px}
.frx-empty{padding:14px 16px 18px;color:var(--muck-text-3);font-size:13px}
.frx-note{margin:0;padding:10px 16px 12px;border-bottom:1px solid var(--muck-line);color:var(--muck-text-2);font-size:13px;line-height:1.45}   /* bots only, nothing to watch (assets/freeroll.js tablesCard) */
@media(max-width:1180px){
  .frx-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .frx-info{grid-column:1/-1;order:-1}
  .frx-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .frx-bottom>:first-child{grid-row:span 2}
}
@media(max-width:760px){
  .frx-top,.frx-bottom{display:flex;flex-direction:column;align-items:stretch}
  .frx-info{order:-2}.frx-side{order:-1}
  .frx-card{padding:16px}
  .frx-list{padding:0}
  .frx-details{grid-template-columns:1fr}
  .frx-pool b{font-size:26px}
  .frx-scroll{max-height:360px}
}
/* A lobby is for reading tables, not admiring art: the header is a strip, so the lists sit near the top. */


/* Its row in the tournament list (assets/freeroll.js renderRow) */
.lby-row--freeroll{background:color-mix(in srgb,var(--muck-gold) 6%,transparent);box-shadow:inset 3px 0 0 var(--muck-gold)}
.lby-row--freeroll .lby-name{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px}
.lby-fr-tag{padding:2px 8px;border-radius:999px;background:var(--muck-surface-3);color:var(--muck-text-2);font:700 10.5px var(--muck-font);font-style:normal;white-space:nowrap}
.lby-fr-tag b{color:var(--muck-text);font-variant-numeric:tabular-nums}
.lby-fr-tag.is-live{background:color-mix(in srgb,var(--muck-green) 18%,transparent);color:var(--muck-green)}
.lby-fr-tag.is-in{background:color-mix(in srgb,var(--muck-gold) 16%,transparent);color:var(--muck-gold)}
.frx-cols--tables{grid-template-columns:minmax(80px,1.3fr) .7fr 1fr 1fr 66px}
/* Watch, in the picked table's card header (freeroll.js watchLink) */
.frx-list-head:has(.frx-watch){align-items:center}
.frx-watch{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:0 12px;border:1px solid color-mix(in srgb,var(--muck-gold) 45%,transparent);border-radius:var(--muck-radius-btn);color:var(--muck-gold);text-decoration:none;white-space:nowrap;font:700 12px var(--muck-font)}
.frx-list-head .frx-watch span{margin:0;color:inherit;font:400 16px/1 'Material Symbols Rounded'}   /* not the header's text font */
.frx-watch:hover{background:color-mix(in srgb,var(--muck-gold) 12%,transparent)}.frx-watch:focus-visible,.frx-table-select:focus-visible{outline:2px solid var(--muck-gold);outline-offset:2px}
.frx-table-select{border:0;background:transparent;color:inherit;font:inherit;font-size:13px;font-weight:700;padding:8px 0;cursor:pointer;text-align:left}
@media(max-width:480px){.frx-cols--tables{grid-template-columns:minmax(62px,1fr) .6fr .85fr .85fr 56px;gap:0 5px}}

/* A freeroll that just ended, for a day (assets/freeroll.js renderFinished) */
.fr-card.is-finished{border-color:color-mix(in srgb,var(--muck-gold) 40%,var(--muck-line))}
.fr-card.is-finished .fr-main>p b{color:var(--muck-gold)}
.fr-podium{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.fr-podium li{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;border:1px solid var(--muck-line-strong);border-radius:999px;background:var(--muck-bg);font-size:13px}
.fr-podium li span{color:var(--muck-text-3);font:800 11px var(--muck-font)}
.fr-podium li:first-child span{color:var(--muck-gold)}
.fr-podium img{width:24px;height:24px;border-radius:50%;object-fit:cover}
.fr-podium i{color:var(--muck-gold);font:700 12px var(--muck-font);font-style:normal}
a.fr-btn{text-decoration:none}
.lby-row--freeroll-done{background:color-mix(in srgb,var(--muck-surface-2) 70%,transparent);box-shadow:inset 3px 0 0 var(--muck-line-strong)}
a.lby-join{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}

/* Final-table rewatch controls (assets/table.js replay mode) */
.replay-bar{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);z-index:3600;transform:translateX(-50%);display:flex;align-items:center;gap:14px;max-width:calc(100vw - 24px);padding:10px 12px 10px 18px;border:1px solid color-mix(in srgb,var(--muck-gold) 35%,var(--muck-line));border-radius:14px;background:color-mix(in srgb,var(--muck-surface-1) 94%,transparent);box-shadow:0 12px 32px #0009;color:var(--muck-text);font:600 13px var(--muck-font);backdrop-filter:blur(6px)}
.replay-title{display:flex;flex-direction:column;min-width:0}
/* a long name ends in "…" rather than running under the buttons (Shaun, 2026-11-03: "overlap of the text fix") */
.replay-title b{overflow:hidden;font-size:13px;white-space:nowrap;text-overflow:ellipsis}
.replay-title span{overflow:hidden;color:var(--muck-text-3);font-size:12px;white-space:nowrap;text-overflow:ellipsis}
.replay-ctrls{display:flex;gap:6px}
.replay-ctrls button{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--muck-line-strong);border-radius:10px;background:var(--muck-surface-2);color:var(--muck-text);cursor:pointer}
.replay-ctrls button[data-r=play]{background:var(--muck-gold-cta);color:var(--muck-gold-ink);border-color:transparent}
.replay-ctrls button:disabled{opacity:.4;cursor:default}
.replay-ctrls .material-symbols-rounded{font-size:22px}
.replay-ctrls button b{font:800 13px/1 var(--muck-font);letter-spacing:-.2px}   /* -10 / +10 hands */
.replay-cards{display:flex;align-items:center;gap:7px;color:var(--muck-text-2);white-space:nowrap;cursor:pointer}
.replay-cards input{width:16px;height:16px;accent-color:var(--muck-gold)}
.replay-exit{height:38px;padding:0 14px;border:1px solid var(--muck-line-strong);border-radius:10px;background:none;color:var(--muck-text-2);font:700 13px var(--muck-font);cursor:pointer}
.replay-bar :is(button,input):focus-visible{outline:2px solid var(--muck-gold);outline-offset:2px}
/* Phones: one compact row down in the action-button area (a viewer has no buttons there), clear of your seat. */
@media(max-width:719px){.replay-bar{gap:8px;padding:8px 10px;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);border-radius:12px}.replay-title{display:none}.replay-ctrls button{width:40px;height:40px}.replay-exit{padding:0 12px}}
/* A rewatch isn't a live tournament: no Tournament lobby button. */
body.is-replay #btn-tournament-lobby{display:none!important}

@media(min-width:720px) and (max-width:1000px){body.redesign-v2.home-v3 #s2-panel .px-head[data-art=freeroll]{background-image:linear-gradient(90deg,#09150f 0%,#09150ff2 35%,#09150f66 65%,#09150f00 85%),var(--header-image)!important}}

/* Shallow, full-height character scene, with no nonuniform image scaling. */

/* A new close-up panorama composed for the shallow lobby header. */
body.redesign-v2.home-v3 #s2-panel .px-head[data-art=freeroll]{min-height:250px!important;background-color:#09150f!important;background-image:linear-gradient(90deg,#09150f 0%,#09150f 25%,#09150fe6 33%,#09150f00 49%),var(--header-image)!important;background-size:100% 100%,100% auto!important;background-position:center,right 38%!important;background-repeat:no-repeat!important}
body.redesign-v2.home-v3 #s2-panel .px-head[data-art=freeroll] .px-head-main{max-width:44%}
body.redesign-v2.home-v3 #s2-panel .px-head[data-art=freeroll] .px-title{font-size:clamp(32px,3.6vw,52px)!important}
@media(max-width:1000px){body.redesign-v2.home-v3 #s2-panel .px-head[data-art=freeroll]{min-height:230px!important;background-size:100% 100%,auto 115%!important;background-image:linear-gradient(90deg,#09150ff5 0%,#09150fe6 30%,#09150f55 60%,transparent 85%),var(--header-image)!important}body.redesign-v2.home-v3 #s2-panel .px-head[data-art=freeroll] .px-head-main{max-width:58%}}
@media(max-width:600px){body.redesign-v2.home-v3 #s2-panel .px-head[data-art=freeroll]{min-height:290px!important;align-items:flex-start!important;padding:24px!important;background-size:100% 100%,auto 190px!important;background-position:center,right bottom!important;background-image:linear-gradient(180deg,#09150f 0%,#09150ff5 27%,#09150f00 67%),var(--header-image)!important}body.redesign-v2.home-v3 #s2-panel .px-head[data-art=freeroll] .px-head-main{max-width:100%}body.redesign-v2.home-v3 #s2-panel .px-head[data-art=freeroll] .px-title{font-size:32px!important}}

/* Rebuy offer at the table (assets/table.js _frRebuyOffer) */
.fr-overlay-row button.fr-overlay-ghost{background:#242424;color:#f2f2f2;box-shadow:inset 0 0 0 1px #3a3a3a}
.fr-rebuy-clock{display:block;margin-top:6px;color:var(--muck-gold);font:700 12px var(--muck-font);font-variant-numeric:tabular-nums}
/* Rewatching: no HUD stats or notes buttons on the plaques (Shaun, 2026-10-06: "kill these buttons when rewatching"). */
body.is-replay #table-screen :is(.hud-trigger-btn,.notes-trigger-btn){display:none!important}

/* "You've been moved" at the new table (table.js _frMovedNotice): a few seconds at the top, no click needed */
.fr-moved-notice{position:fixed;top:var(--muck-space-5);left:50%;transform:translateX(-50%);z-index:3400;display:flex;flex-direction:column;gap:var(--muck-space-1);max-width:min(380px,calc(100vw - 2 * var(--muck-space-4)));padding:var(--muck-space-4) var(--muck-space-5);border:1px solid var(--muck-gold-muted);border-radius:var(--muck-radius-card);background:var(--muck-surface-1);box-shadow:var(--muck-shadow-menu);color:var(--muck-text);text-align:center;transition:opacity .4s}
.fr-moved-notice b{font-size:17px;font-weight:800;color:var(--muck-gold)}
.fr-moved-notice span{font-size:13px;color:var(--muck-text-2)}
.fr-moved-notice.is-leaving{opacity:0}
/* Replays: Back / Play / Next laid over the betting buttons, the pre-action way (assets/table.js _replayBar): same box,
   same dark buttons, full strength while the rest of the footer is faded; the bar above keeps the hands, the hole cards
   and Exit (Shaun, 2026-10-18) */
body.is-replay .replay-bar .replay-ctrls [data-r=play] { display: none; }
body.is-replay .replay-bar { bottom: auto; top: calc(env(safe-area-inset-top, 0px) + 12px); }
/* Under the step buttons (table.js placeBar): no title, the controls only */
body.is-replay .replay-bar.replay-bar--under { position: absolute; bottom: auto; transform: none; max-width: none; box-sizing: border-box; justify-content: space-between; padding-block: 6px; white-space: nowrap; }
/* Phones: one slim strip across the very top, over the logo and the menu button, clear of the top seat's cards */
@media(max-width:719px){
  body.is-replay .replay-bar { top: calc(env(safe-area-inset-top, 0px) + 4px); left: 8px; right: 8px; transform: none; max-width: none; justify-content: space-between; padding: 4px 6px; gap: 6px; }
  body.is-replay .replay-bar .replay-ctrls button { width: 34px; height: 34px; }
  body.is-replay .replay-bar .replay-exit { height: 34px; }
  body.is-replay .replay-bar .replay-cards { font-size: 13px; }
  /* compact enough for a 339px phone, and short enough to stay clear of the top seat's cards (Shaun, 2026-11-03:
     "whole top bar running off, covering cards") */
  body.is-replay .replay-bar { top: calc(env(safe-area-inset-top, 0px) + 2px); left: 6px; right: 6px; padding: 3px 4px; gap: 4px; box-sizing: border-box; }
  body.is-replay .replay-bar .replay-ctrls { gap: 4px; }
  body.is-replay .replay-bar .replay-ctrls button { width: 32px; height: 30px; border-radius: 8px; }
  body.is-replay .replay-bar .replay-ctrls .material-symbols-rounded { font-size: 19px; }
  body.is-replay .replay-bar .replay-ctrls button b { font-size: 12px; }
  body.is-replay .replay-bar .replay-cards { gap: 5px; font-size: 12px; }
  body.is-replay .replay-bar .replay-cards input { width: 14px; height: 14px; margin: 0; }
  body.is-replay .replay-bar .replay-exit { height: 30px; padding: 0 10px; border-radius: 8px; font-size: 12px; }
}
#table-screen .action-btns-col.replay-on { position: relative; }
#table-screen .action-btns-col.replay-on.turn-hidden { opacity: 1; pointer-events: auto; }
#table-screen .action-btns-col.replay-on > :not(.replay-step-grid):not(.replay-bar) { opacity: 0; pointer-events: none; }
body.desktop-game-active #table-screen .action-btns-col.replay-on.turn-hidden > .replay-bar { opacity: 1; pointer-events: auto; }
#table-screen .action-btns-col.replay-on .action-btn-grid { visibility: hidden; }
body.desktop-game-active #table-screen .action-btns-col.replay-on.turn-hidden > .replay-step-grid { opacity: 1; pointer-events: auto; }
body.desktop-game-active #table-screen .replay-step-grid { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); align-items: center; }
body.desktop-game-active #table-screen .replay-step-grid .btn-preact { height: 82px; border-radius: 9px; font-size: 18px; letter-spacing: .02em; }
.replay-step-grid .btn-preact { gap: 6px; }
.replay-step-grid .btn-preact:disabled { opacity: .4; cursor: default; filter: none; }
.replay-step-grid .material-symbols-rounded { font-size: 24px; }
/* The hands bar under the step buttons in their own look (Shaun, 2026-10-18: "colors, border radius and spacing not
   matching"): the same dark gradient, edge, 9px corners and type as Back / Next, its small buttons the same again */
body.desktop-game-active.is-replay .replay-bar.replay-bar--under { background: linear-gradient(#141d20, #0b1316); border: 1px solid #465154; border-radius: 9px; box-shadow: none; padding: 8px 8px 8px 16px; gap: 12px; color: #c4c9c8; }
body.desktop-game-active.is-replay .replay-bar--under .replay-title b { color: #c4c9c8; font: 800 13px/1.2 var(--muck-font); letter-spacing: .02em; text-transform: uppercase; }
body.desktop-game-active.is-replay .replay-bar--under .replay-title span { color: #8a9496; font: 600 12px/1.3 var(--muck-font); }
body.desktop-game-active.is-replay .replay-bar--under :is(.replay-ctrls button, .replay-exit) { height: 36px; border: 1px solid #465154; border-radius: 9px; background: linear-gradient(#141d20, #0b1316); color: #c4c9c8; }
body.desktop-game-active.is-replay .replay-bar--under .replay-ctrls button { width: 36px; }
body.desktop-game-active.is-replay .replay-bar--under .replay-exit { padding: 0 14px; font: 800 13px var(--muck-font); letter-spacing: .02em; text-transform: uppercase; }
body.desktop-game-active.is-replay .replay-bar--under :is(.replay-ctrls button, .replay-exit):hover:not(:disabled) { filter: brightness(1.12); }
body.desktop-game-active.is-replay .replay-bar--under .replay-cards { color: #c4c9c8; font: 800 13px var(--muck-font); letter-spacing: .02em; text-transform: uppercase; }
/* ...and the phone's strip at the top the same */
body.mobile-game-active.is-replay .replay-bar { background: linear-gradient(#141d20, #0b1316); border: 1px solid #465154; border-radius: 9px; box-shadow: none; color: #c4c9c8; }
body.mobile-game-active.is-replay .replay-bar :is(.replay-ctrls button, .replay-exit) { border: 1px solid #465154; border-radius: 9px; background: linear-gradient(#141d20, #0b1316); color: #c4c9c8; }
body.mobile-game-active.is-replay .replay-bar :is(.replay-exit, .replay-cards) { font: 800 12px var(--muck-font); letter-spacing: .02em; text-transform: uppercase; color: #c4c9c8; }
/* The Hole cards box in the same dark edge, gold when on (not the browser's white square) */
body.is-replay .replay-bar .replay-cards input { appearance: none; -webkit-appearance: none; display: grid; place-items: center; width: 18px; height: 18px; margin: 0; border: 1px solid #465154; border-radius: 5px; background: #0b1316; cursor: pointer; }
body.is-replay .replay-bar .replay-cards input:checked { border-color: var(--muck-gold-muted); background: var(--muck-gold-cta); }
body.is-replay .replay-bar .replay-cards input:checked::after { content: ''; width: 5px; height: 9px; margin-top: -2px; border: solid var(--muck-gold-ink); border-width: 0 2px 2px 0; transform: rotate(45deg); }
/* A replay has nobody to talk to: no message box, no chat unlock (Shaun, 2026-10-18: "kill the ability to reply to chat") */
body.is-replay #table-screen :is(#chat-unlocked-wrap, #chat-locked) { display: none; }
