:root {
  --bg: #0f1117;
  --card: #181b24;
  --card2: #202532;
  --text: #f3f6fb;
  --muted: #a8b0c2;
  --accent: #66d9a3;
  --danger: #ff6b6b;
  --border: #303747;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: Arial, Helvetica, sans-serif; background: var(--bg); color: var(--text); }
a { color: inherit; }
.site-header { display: flex; justify-content: space-between; align-items: center; padding: 18px 28px; border-bottom: 1px solid var(--border); background: #121620; position: sticky; top: 0; z-index: 2; }
.brand { font-size: 22px; font-weight: 800; text-decoration: none; }
nav { display: flex; align-items: center; gap: 14px; }
nav a { text-decoration: none; color: var(--muted); }
nav a:hover { color: var(--text); }
.nav-wut-link { display: inline-flex; align-items: center; gap: 5px; }
.wut-turn-badge { display: inline-grid; place-items: center; width: 16px; height: 16px; border-radius: 50%; color: #fff; background: #e23d4f; box-shadow: 0 0 0 2px rgba(226,61,79,.18); font-size: 11px; font-weight: 900; line-height: 1; }
.nav-link-disabled { color: #687083; cursor: not-allowed; opacity: .55; }
.maintenance-page { min-height: 100vh; display: grid; place-items: center; }
.maintenance-page .card { width: 100%; text-align: center; border-color: var(--danger); }
.maintenance-active { border-color: var(--danger); box-shadow: 0 0 0 2px rgba(255,107,107,.18), 0 12px 30px rgba(0,0,0,.2); }
.inline-form { display: inline; }
button, .primary, .button-link { border: 0; border-radius: 10px; padding: 10px 14px; background: var(--accent); color: #07120d; font-weight: 800; text-decoration: none; cursor: pointer; }
button:disabled, .button-link[aria-disabled="true"] { cursor: not-allowed; opacity: .5; }
 .container { max-width: 1450px; margin: 0 auto; padding: 28px; }
.narrow { max-width: 520px; }
.card { background: var(--card); border: 1px solid var(--border); border-radius: 18px; padding: 22px; box-shadow: 0 12px 30px rgba(0,0,0,.2); }
.hero, .page-title { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
h1, h2 { margin: 0 0 10px; }
p { color: var(--muted); line-height: 1.45; }
.eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: 12px; color: var(--accent); margin: 0 0 8px; }
.grid.two { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 20px 0; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 10px 8px; border-bottom: 1px solid var(--border); }
th { color: var(--muted); font-size: 13px; }
.muted { color: var(--muted); }
.flash { max-width: 1180px; margin: 18px auto 0; padding: 12px 18px; border-radius: 12px; }
.flash.success { background: rgba(102,217,163,.16); border: 1px solid rgba(102,217,163,.35); }
.flash.error { background: rgba(255,107,107,.16); border: 1px solid rgba(255,107,107,.35); }
.matchup-list { display: grid; gap: 10px; }
.matchup-row { display: flex; align-items: center; gap: 10px; background: var(--card2); padding: 12px; border-radius: 12px; }
.pill { display: inline-flex; width: fit-content; border: 1px solid var(--border); border-radius: 999px; padding: 4px 9px; color: var(--muted); font-size: 12px; }
.stacked-form { display: grid; gap: 14px; }
label { display: grid; gap: 6px; color: var(--muted); }
input { width: 100%; border: 1px solid var(--border); border-radius: 10px; padding: 10px 12px; background: #0f1320; color: var(--text); }
.board { display: grid; gap: 20px; margin: 20px 0; }
.series-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.market-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.market-card { display: grid; gap: 10px; padding: 14px; background: var(--card2); border-radius: 14px; border: 1px solid var(--border); }
.market-card div { display: flex; justify-content: space-between; gap: 8px; }
.odds { color: var(--accent); font-weight: 900; }
ul { color: var(--muted); line-height: 1.7; }
@media (max-width: 800px) {
  .grid.two, .market-grid { grid-template-columns: 1fr; }
  .hero, .page-title, .series-head { align-items: flex-start; flex-direction: column; }
  .site-header { align-items: flex-start; flex-direction: column; gap: 12px; }
}

/* Mushy Market */
.market-container { max-width: 1500px; }
.market-hero { position: relative; overflow: hidden; display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; min-height: 250px; margin-bottom: 18px; padding: 30px; border: 1px solid rgba(102,217,163,.24); border-radius: 18px; background:
  linear-gradient(115deg, rgba(10,14,22,.96), rgba(20,37,43,.9) 48%, rgba(38,31,56,.85)),
  repeating-linear-gradient(90deg, rgba(255,255,255,.035), rgba(255,255,255,.035) 1px, transparent 1px, transparent 32px);
  box-shadow: 0 24px 60px rgba(0,0,0,.34), inset 0 0 80px rgba(102,217,163,.06);
}
.market-hero::after { content: ""; position: absolute; inset: auto -8% -42% 28%; height: 180px; background: linear-gradient(90deg, transparent, rgba(102,217,163,.3), rgba(244,201,107,.22), transparent); transform: rotate(-5deg); filter: blur(18px); }
.market-hero > * { position: relative; z-index: 1; }
.market-hero h1 { margin: 0; font-size: clamp(42px, 6vw, 82px); line-height: .9; }
.market-hero p { max-width: 680px; margin-bottom: 0; color: #d8e2ee; }
.market-portfolio-cta { background: #f4c96b; color: #1e1708; }
.market-tabs, .market-view-toggle { display: flex; gap: 10px; margin: 14px 0 22px; }
.market-tabs button, .market-view-toggle button { padding: 9px 16px; border: 1px solid var(--border); border-radius: 999px; color: var(--muted); background: #151a24; }
.market-tabs button.active, .market-tabs button:hover, .market-view-toggle button.active, .market-view-toggle button:hover { color: #07120d; background: var(--accent); border-color: var(--accent); }
.market-view-toggle { margin: 0; }
.market-division { margin-bottom: 28px; }
.market-division:not(.is-active) { display: none; }
.market-section-head { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 14px; }
.market-stock-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.market-stock-card { position: relative; overflow: hidden; display: grid; gap: 14px; min-height: 315px; padding: 18px; border: 1px solid rgba(255,255,255,.09); border-radius: 14px; background: linear-gradient(180deg, #1b202b, #121721); box-shadow: 0 18px 40px rgba(0,0,0,.25); }
.market-stock-card.team::before { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, color-mix(in srgb, var(--team-bg, #66d9a3) 35%, transparent), transparent 48%); opacity: .5; }
.market-stock-card.offence { background: linear-gradient(150deg, #251927, #161b23); }
.market-stock-card.defence { background: linear-gradient(150deg, #152129, #151922); }
.market-stock-card.goaltending { background: linear-gradient(150deg, #201d13, #151922); }
.market-stock-card > * { position: relative; z-index: 1; }
.market-stock-top { display: flex; align-items: center; gap: 12px; }
.market-logo-chip { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.22); border-radius: 12px; color: var(--team-fg, #111); background: var(--team-bg, #66d9a3); font-weight: 900; box-shadow: inset 0 1px 0 rgba(255,255,255,.18); }
.market-stock-top span { color: var(--accent); font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.market-stock-top h3 { margin: 2px 0 0; font-size: 20px; }
.market-quote-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.market-quote-row strong { font-size: 38px; font-variant-numeric: tabular-nums; }
.positive { color: var(--accent); }
.negative { color: var(--danger); }
.market-mini-chart { display: flex; align-items: end; gap: 7px; height: 72px; padding: 10px; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; background: rgba(5,8,13,.38); }
.market-mini-chart i { flex: 1; min-height: 16px; border-radius: 5px 5px 0 0; background: linear-gradient(180deg, #f4c96b, #66d9a3); box-shadow: 0 0 16px rgba(102,217,163,.16); }
.market-trade-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: auto; }
.market-order-form { display: grid; gap: 7px; padding: 10px; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; background: rgba(7,10,16,.45); }
.market-order-form label { color: #d8e2ee; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.market-order-form input { height: 38px; }
.market-order-form small { min-height: 28px; color: var(--muted); font-size: 12px; line-height: 1.2; }
.market-order-form button { min-height: 36px; padding: 8px 10px; border-radius: 8px; }
.market-terminal { margin-bottom: 34px; }
.market-terminal-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 16px; align-items: start; }
.market-chart-panel { min-width: 0; padding: 15px; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; background: linear-gradient(180deg, #151a24, #0f131b); box-shadow: 0 18px 40px rgba(0,0,0,.26); }
.market-history-chart { display: block; width: 100%; min-height: 330px; border: 1px solid rgba(255,255,255,.07); border-radius: 12px; background:
  radial-gradient(circle at 30% 0%, rgba(102,217,163,.13), transparent 32%),
  linear-gradient(180deg, rgba(255,255,255,.025), transparent);
}
.market-grid-line { stroke: rgba(255,255,255,.08); stroke-width: 1; }
.market-grid-line.center { stroke: rgba(244,201,107,.42); stroke-width: 1.4; stroke-dasharray: 5 6; }
.market-grid-line.vertical { stroke: rgba(102,217,163,.08); }
.market-axis-label, .market-chart-title, .market-chart-range { fill: var(--muted); font-size: 13px; font-weight: 800; }
.market-chart-title { fill: var(--accent); text-transform: uppercase; letter-spacing: .08em; }
.chart-layer.portfolio-layer { display: none; }
[data-chart-mode="portfolio"] .chart-layer.price-layer { display: none; }
[data-chart-mode="portfolio"] .chart-layer.portfolio-layer { display: inline; }
g.chart-layer.portfolio-layer { display: none; }
[data-chart-mode="portfolio"] g.chart-layer.portfolio-layer { display: block; }
.market-empty-chart-label { fill: var(--muted); font-size: 18px; font-weight: 900; }
.market-stock-line { fill: none; stroke: var(--line-color); stroke-width: 2.2; opacity: .42; filter: drop-shadow(0 0 4px rgba(102,217,163,.1)); cursor: pointer; transition: opacity .15s ease, stroke-width .15s ease, filter .15s ease; }
.market-stock-line:hover, .market-stock-line.is-selected { opacity: 1; stroke-width: 4.2; filter: drop-shadow(0 0 9px var(--line-color)); }
.market-stock-point { fill: #10141c; stroke: var(--line-color); stroke-width: 2; opacity: .65; cursor: pointer; }
.market-stock-point.is-selected { fill: var(--line-color); opacity: 1; }
.market-ticker-list { display: grid; gap: 7px; margin-top: 12px; }
.market-ticker-row { display: grid; grid-template-columns: 92px minmax(150px, 1fr) 80px 80px 95px; gap: 9px; align-items: center; width: 100%; padding: 9px 11px; border: 1px solid rgba(255,255,255,.08); border-radius: 9px; color: var(--text); background: #10151f; text-align: left; }
.market-ticker-row:hover, .market-ticker-row.is-selected { border-color: var(--line-color); background: color-mix(in srgb, var(--line-color) 13%, #10151f); box-shadow: inset 3px 0 0 var(--line-color); }
.market-ticker-symbol { display: inline-flex; align-items: center; gap: 7px; color: var(--accent); font-size: 12px; font-weight: 900; letter-spacing: .04em; }
.market-ticker-symbol i { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--line-color); box-shadow: 0 0 10px var(--line-color); }
.market-ticket-panel { position: sticky; top: 92px; display: grid; gap: 0; min-height: 410px; padding: 18px; border: 1px solid rgba(244,201,107,.2); border-radius: 14px; background: linear-gradient(180deg, #1b1d24, #11151d); box-shadow: 0 18px 44px rgba(0,0,0,.3), inset 0 0 55px rgba(244,201,107,.035); }
.market-ticket-empty { display: none; }
.market-ticket { display: none; align-content: start; gap: 14px; }
.market-ticket.is-active { display: grid; }
.market-ticket h2 { font-size: 28px; line-height: 1.05; }
.market-ticket-price { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 12px; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; background: #0f141d; }
.market-ticket-price strong { font-size: 42px; font-variant-numeric: tabular-nums; }
.market-last-move { display: grid; gap: 3px; padding: 12px; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; background: #121822; }
.market-last-move span { color: var(--muted); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.market-last-move strong { font-size: 18px; }
.market-last-move small { color: var(--muted); }
.market-tape { display: grid; gap: 7px; }
.market-tape div { display: grid; grid-template-columns: 95px 1fr 95px 150px; gap: 10px; padding: 10px 12px; border: 1px solid rgba(255,255,255,.07); border-radius: 8px; background: #111722; }
.market-tape.compact div { grid-template-columns: 80px 1fr 88px 135px; padding: 8px 10px; font-size: 13px; }
.market-ticker-tape { overflow: hidden; min-height: 48px; border: 1px solid rgba(102,217,163,.18); border-radius: 12px; background: #0d121a; box-shadow: inset 0 0 28px rgba(102,217,163,.04); }
.market-ticker-track { display: flex; width: max-content; gap: 38px; align-items: center; padding: 14px 18px; white-space: nowrap; animation: marketTickerScroll 34s linear infinite; }
.market-ticker-tape:hover .market-ticker-track { animation-play-state: paused; }
.market-ticker-track span { display: inline-flex; align-items: center; gap: 7px; font-size: 17px; font-weight: 900; letter-spacing: .02em; }
.market-ticker-track strong { color: var(--text); }
@keyframes marketTickerScroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.market-summary-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 18px 0; }
.market-summary-grid article { display: grid; gap: 8px; border-radius: 12px; }
.market-summary-grid span { color: var(--muted); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.market-summary-grid strong { font-size: 34px; }
.market-admin-grid { display: grid; grid-template-columns: 1.4fr .9fr; gap: 18px; }
.market-admin-grid article { padding: 15px; border: 1px solid var(--border); border-radius: 12px; background: var(--card2); }
.market-rule-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.market-rule-grid span, .market-admin-stock-strip div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 10px; border-radius: 8px; background: #111722; color: var(--muted); }
.market-admin-stock-strip { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin: 16px 0; }
.market-admin-stock-strip strong { color: var(--text); font-variant-numeric: tabular-nums; }
@media (max-width: 1080px) {
  .market-stock-grid, .market-summary-grid, .market-admin-grid { grid-template-columns: 1fr 1fr; }
  .market-terminal-layout { grid-template-columns: 1fr; }
  .market-ticket-panel { position: static; }
  .market-admin-stock-strip { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 760px) {
  .market-hero, .market-section-head { align-items: flex-start; flex-direction: column; }
  .market-stock-grid, .market-summary-grid, .market-admin-grid, .market-trade-row { grid-template-columns: 1fr; }
  .market-ticker-row { grid-template-columns: 1fr 1fr; }
  .market-tape div, .market-tape.compact div { grid-template-columns: 1fr; }
  .market-ticker-track { gap: 24px; animation-duration: 26s; }
  .market-admin-stock-strip { grid-template-columns: 1fr 1fr; }
}

/* Blackjack */
.casino-container.blackjack-page { max-width: 1450px; }
.blackjack-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 18px; align-items: stretch; }
.blackjack-main { display: grid; min-width: 0; }
.blackjack-table-card { overflow: hidden; display: grid; grid-template-rows: auto auto minmax(260px, 1fr) auto auto; min-height: 720px; padding: 0; background: #121821; box-shadow: inset 0 0 0 1px rgba(255,255,255,.03), 0 22px 50px rgba(0,0,0,.34); }
.blackjack-table-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 22px; border-bottom: 1px solid rgba(255,255,255,.07); }
.blackjack-table-head h1 { margin: 0; font-size: 34px; }
.blackjack-phase { display: grid; justify-items: end; gap: 4px; }
.blackjack-phase span { color: var(--muted); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.blackjack-phase strong { min-width: 58px; color: var(--accent); text-align: right; font-size: 30px; font-variant-numeric: tabular-nums; }
.blackjack-dealer { display: grid; justify-items: center; gap: 10px; padding: 22px 20px 18px; background: radial-gradient(circle at 50% 16%, rgba(244,201,107,.18), transparent 15%), radial-gradient(circle at 50% 20%, rgba(102,217,163,.2), transparent 34%), linear-gradient(180deg, #123d2d, #102c25); }
.blackjack-dealer-label { color: #dceee7; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.blackjack-dealer-label b { color: var(--accent); }
.blackjack-cards { --card-w: 64px; --card-h: 90px; --card-overlap: -18px; display: flex; flex-wrap: nowrap; justify-content: center; min-width: 0; min-height: var(--card-h); padding: 0 8px; }
.blackjack-cards .blackjack-card + .blackjack-card { margin-left: var(--card-overlap); }
.blackjack-card { position: relative; display: grid; place-items: center; flex: 0 0 var(--card-w); width: var(--card-w); height: var(--card-h); border: 1px solid #d8deea; border-radius: 9px; color: #121722; background: #f7f8fb; box-shadow: 0 7px 16px rgba(0,0,0,.3); font-weight: 900; }
.blackjack-card span { position: absolute; top: 7px; left: 8px; font-size: 16px; }
.blackjack-card b { font-size: 26px; }
.blackjack-card.is-red { color: #be2332; }
.blackjack-card.is-hidden { color: #f7f8fb; border-color: #375b83; background: repeating-linear-gradient(45deg, #173a63, #173a63 6px, #214b79 6px, #214b79 12px); }
.blackjack-card.is-hidden span { position: static; font-size: 12px; letter-spacing: .08em; }
.blackjack-dealer .blackjack-cards { --card-w: 72px; --card-h: 102px; --card-overlap: 12px; }
.blackjack-dealer .blackjack-card span { font-size: 18px; }
.blackjack-dealer .blackjack-card b { font-size: 30px; }
.blackjack-spotlight { display: grid; grid-template-columns: minmax(150px, .32fr) minmax(0, 1fr) minmax(190px, .26fr); gap: 18px; align-items: center; min-height: 260px; padding: 20px 24px; border-top: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid rgba(255,255,255,.08); background: radial-gradient(circle at 18% 20%, rgba(244,201,107,.16), transparent 22%), linear-gradient(135deg, rgba(20,62,48,.9), rgba(9,18,23,.88)); }
.blackjack-spotlight.is-empty { grid-template-columns: minmax(170px, .34fr) minmax(0, 1fr); }
.blackjack-spotlight.is-current { box-shadow: inset 0 0 0 2px rgba(102,217,163,.18), inset 0 0 42px rgba(102,217,163,.08); }
.blackjack-spotlight.is-winner { box-shadow: inset 0 0 0 2px rgba(102,217,163,.26), inset 0 0 46px rgba(102,217,163,.14), 0 0 28px rgba(102,217,163,.13); }
.blackjack-spotlight.is-loser { box-shadow: inset 0 0 0 2px rgba(255,107,107,.18), inset 0 0 42px rgba(255,107,107,.1); }
.blackjack-spotlight.is-push, .blackjack-spotlight.is-mixed { box-shadow: inset 0 0 0 2px rgba(244,201,107,.2), inset 0 0 42px rgba(244,201,107,.1); }
.blackjack-spotlight-copy { display: grid; gap: 6px; align-content: center; min-width: 0; }
.blackjack-spotlight-copy span { color: #f4c96b; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.blackjack-spotlight-copy strong { color: #fff; font-size: clamp(20px, 2.5vw, 34px); line-height: 1.05; overflow-wrap: anywhere; }
.blackjack-focus-hands { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; min-width: 0; }
.blackjack-focus-hands .blackjack-hand { min-width: 250px; }
.blackjack-hand.is-focus .blackjack-cards { --card-w: 96px; --card-h: 136px; --card-overlap: 12px; justify-content: flex-start; min-height: 138px; padding-left: 0; }
.blackjack-hand.is-focus .blackjack-card span { font-size: 22px; }
.blackjack-hand.is-focus .blackjack-card b { font-size: 40px; }
.blackjack-seats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; padding: 18px; background: radial-gradient(ellipse at center, rgba(31,100,71,.72), transparent 68%), repeating-linear-gradient(90deg, rgba(255,255,255,.025), rgba(255,255,255,.025) 1px, transparent 1px, transparent 18px), #0d231d; }
.blackjack-seat { display: grid; grid-template-rows: auto 1fr auto; align-content: stretch; gap: 8px; min-height: 190px; padding: 11px; border: 1px solid rgba(255,255,255,.11); border-radius: 8px; background: linear-gradient(180deg, rgba(20,27,36,.9), rgba(8,13,18,.82)); box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 10px 24px rgba(0,0,0,.22); }
.blackjack-seat.is-current { border-color: var(--accent); box-shadow: 0 0 0 2px rgba(102,217,163,.16), 0 0 28px rgba(102,217,163,.18), inset 0 1px 0 rgba(255,255,255,.06); }
.blackjack-seat.is-user { background: rgba(26,39,48,.9); }
.blackjack-seat.is-winner { border-color: rgba(102,217,163,.6); box-shadow: 0 0 0 2px rgba(102,217,163,.13), 0 0 22px rgba(102,217,163,.12); }
.blackjack-seat.is-loser { border-color: rgba(255,107,107,.42); box-shadow: inset 0 0 24px rgba(255,107,107,.08); }
.blackjack-seat.is-push, .blackjack-seat.is-mixed { border-color: rgba(244,201,107,.45); }
.blackjack-seat.is-empty { align-content: center; text-align: center; }
.blackjack-seat-head { display: flex; justify-content: space-between; gap: 8px; }
.blackjack-seat-head span { color: var(--muted); font-size: 12px; }
.blackjack-seat-head strong { overflow: hidden; max-width: 120px; text-overflow: ellipsis; white-space: nowrap; }
.blackjack-seat-hands { display: grid; align-content: start; gap: 10px; overflow: hidden; }
.blackjack-hand { display: grid; gap: 6px; min-width: 0; }
.blackjack-hand.is-active-hand { padding: 8px; border: 1px solid rgba(244,201,107,.72); border-radius: 8px; background: rgba(244,201,107,.08); box-shadow: 0 0 0 2px rgba(244,201,107,.12), 0 0 24px rgba(244,201,107,.14); }
.blackjack-hand.is-active-hand .blackjack-cards { filter: drop-shadow(0 0 10px rgba(244,201,107,.18)); }
.blackjack-hand .blackjack-cards { --card-w: 54px; --card-h: 76px; --card-overlap: -28px; justify-content: flex-start; min-height: 78px; padding-left: 8px; }
.blackjack-hand-meta { display: flex; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 11px; }
.blackjack-hand-state { display: inline-flex; align-items: center; justify-content: flex-end; gap: 6px; text-align: right; }
.blackjack-hand-state strong { padding: 2px 6px; border-radius: 999px; color: #201808; background: #f4c96b; font-size: 10px; font-weight: 900; text-transform: uppercase; white-space: nowrap; }
.blackjack-hand-meta em { color: var(--accent); font-style: normal; font-weight: 900; text-transform: uppercase; }
.blackjack-hand.result-loss .blackjack-hand-meta em { color: var(--danger); }
.blackjack-hand.result-push .blackjack-hand-meta em { color: #f4c96b; }
.blackjack-empty-hand { display: grid; place-items: center; min-height: 68px; border: 1px dashed rgba(255,255,255,.12); border-radius: 8px; color: var(--muted); font-size: 12px; }
.blackjack-seat-controls { display: grid; gap: 8px; padding-top: 9px; border-top: 1px solid rgba(255,255,255,.08); }
.blackjack-seat-controls.is-spotlight { align-self: center; padding: 14px; border: 1px solid rgba(255,255,255,.12); border-radius: 8px; background: rgba(5,10,15,.45); }
.blackjack-seat-controls span { color: var(--accent); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.blackjack-seat-controls.is-passive span { color: var(--muted); }
.blackjack-seat-bet { display: grid; grid-template-columns: 34px minmax(0, 1fr) 34px; align-items: center; gap: 6px; }
.blackjack-seat-bet button { display: grid; place-items: center; min-width: 0; height: 34px; padding: 0; color: #201808; background: #f4c96b; }
.blackjack-seat-bet strong { text-align: center; font-size: 14px; white-space: nowrap; }
.blackjack-seat-controls > button { width: 100%; color: #201808; background: #f4c96b; }
.blackjack-seat-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.blackjack-seat-actions button { min-width: 0; padding: 9px 8px; color: var(--text); border: 1px solid rgba(102,217,163,.4); background: #1a5a42; text-transform: capitalize; }
.blackjack-seat-controls.is-spotlight .blackjack-seat-actions button { min-height: 42px; font-size: 14px; }
.blackjack-seat-controls.is-spotlight > button { min-height: 42px; font-size: 15px; }
.blackjack-seat-actions button:disabled, .blackjack-seat-bet button:disabled, .blackjack-seat-controls > button:disabled { opacity: .42; }
.blackjack-inline-message { min-height: 18px; color: var(--muted); font-size: 13px; }
.blackjack-inline-message.is-error { color: var(--danger); }
.blackjack-rules-strip { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; padding: 12px 18px; border-top: 1px solid rgba(255,255,255,.08); background: rgba(8,13,20,.62); }
.blackjack-rules-strip strong { color: var(--accent); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; }
.blackjack-rules-strip ul { columns: 2; margin: 0; padding-left: 18px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.blackjack-rail { position: sticky; top: 90px; display: grid; grid-template-rows: auto minmax(320px, 52vh) auto 118px; gap: 12px; padding: 17px; }
.blackjack-chat-head, .blackjack-log-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.blackjack-chat-head h2 { margin: 0; }
.blackjack-live { padding: 4px 8px; border-radius: 999px; color: var(--accent); background: rgba(102,217,163,.12); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.blackjack-live::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 7px var(--accent); }
.blackjack-chat-messages { overflow-y: auto; display: grid; align-content: start; gap: 9px; padding: 10px; border: 1px solid var(--border); border-radius: 8px; background: #0f131a; scrollbar-color: #3d4658 transparent; }
.blackjack-chat-messages > .muted { margin: auto; padding: 25px 10px; text-align: center; }
.blackjack-chat-messages article { padding: 9px 10px; border-radius: 8px; background: #191e29; }
.blackjack-chat-messages article div { display: flex; justify-content: space-between; gap: 8px; }
.blackjack-chat-messages article strong { color: #f4c96b; font-size: 12px; }
.blackjack-chat-messages article time, .blackjack-hand-log time { color: #717b8e; font-size: 10px; }
.blackjack-chat-messages article p { margin: 5px 0 0; color: var(--text); font-size: 13px; line-height: 1.35; overflow-wrap: anywhere; }
.blackjack-chat-form { display: grid; gap: 8px; }
.blackjack-chat-form textarea { width: 100%; resize: none; border: 1px solid var(--border); border-radius: 8px; padding: 10px; color: var(--text); background: #0f1320; font: inherit; }
.blackjack-chat-form textarea:focus { outline: 1px solid var(--accent); border-color: var(--accent); }
.blackjack-chat-form > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.blackjack-chat-form small { color: var(--muted); }
.blackjack-log-panel { overflow: hidden; display: grid; grid-template-rows: auto 1fr; gap: 7px; min-height: 0; }
.blackjack-log-head strong { font-size: 13px; }
.blackjack-log-head small { color: var(--muted); }
.blackjack-hand-log { overflow-y: auto; display: grid; align-content: start; gap: 5px; padding: 8px; border: 1px solid var(--border); border-radius: 8px; background: #10141c; }
.blackjack-hand-log div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; color: var(--muted); font-size: 11px; }
.blackjack-hand-log span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.blackjack-hand-log .muted { margin: auto; font-size: 12px; }
@media (max-width: 1080px) {
  .blackjack-layout { grid-template-columns: 1fr; }
  .blackjack-rail { position: static; grid-template-rows: auto 340px auto 118px; }
  .blackjack-table-card { min-height: 0; }
  .blackjack-spotlight, .blackjack-spotlight.is-empty { grid-template-columns: 1fr; }
  .blackjack-focus-hands { align-items: flex-start; }
}
@media (max-width: 760px) {
  .blackjack-table-head { align-items: flex-start; flex-direction: column; }
  .blackjack-phase { justify-items: start; }
  .blackjack-seats { grid-template-columns: 1fr; }
  .blackjack-hand.is-focus .blackjack-cards { --card-w: 78px; --card-h: 110px; --card-overlap: 8px; }
  .blackjack-rules-strip { grid-template-columns: 1fr; }
  .blackjack-rules-strip ul { columns: 1; }
}

/* Texas Hold'em */
.casino-container.holdem-page { max-width: 1640px; }
.holdem-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 18px; align-items: stretch; }
.holdem-table-card { overflow: hidden; display: grid; grid-template-rows: auto minmax(620px, 1fr) auto auto; min-width: 0; padding: 0; background: #111820; }
.holdem-table-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 22px; border-bottom: 1px solid rgba(255,255,255,.08); background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0)); }
.holdem-table-head h1 { margin: 0; font-size: 34px; }
.holdem-phase { display: grid; justify-items: end; gap: 4px; }
.holdem-phase span { color: var(--accent); font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.holdem-phase strong { color: #f4c96b; font-size: 30px; font-variant-numeric: tabular-nums; }
.holdem-felt { position: relative; min-height: 620px; padding: 28px; background: radial-gradient(ellipse at center, rgba(38,122,88,.72), rgba(13,42,34,.94) 56%, #0b1717 100%); }
.holdem-felt::before { position: absolute; inset: 46px 80px 98px; content: ""; border: 18px solid rgba(83,48,25,.88); border-radius: 50%; box-shadow: inset 0 0 0 2px rgba(255,255,255,.08), inset 0 0 70px rgba(0,0,0,.32), 0 24px 50px rgba(0,0,0,.38); pointer-events: none; }
.holdem-board-zone { position: absolute; z-index: 2; inset: 34% 21% auto; display: grid; justify-items: center; gap: 14px; min-width: 0; }
.holdem-pot-stack { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; min-height: 36px; }
.holdem-pot { display: grid; justify-items: center; min-width: 82px; padding: 6px 10px; border: 1px solid rgba(244,201,107,.38); border-radius: 8px; background: rgba(11,16,19,.72); box-shadow: 0 8px 18px rgba(0,0,0,.24); }
.holdem-pot span { color: var(--muted); font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }
.holdem-pot strong { color: #f4c96b; font-size: 18px; }
.holdem-pot.is-awarded { border-color: rgba(102,217,163,.58); box-shadow: 0 0 22px rgba(102,217,163,.16); }
.holdem-board { display: flex; justify-content: center; gap: 10px; min-height: 122px; }
.poker-card { --card-w: 70px; --card-h: 98px; position: relative; display: grid; place-items: center; flex: 0 0 var(--card-w); width: var(--card-w); height: var(--card-h); border: 1px solid #dbe3ee; border-radius: 9px; color: #111722; background: #f8f9fc; box-shadow: 0 9px 20px rgba(0,0,0,.34); font-weight: 900; overflow: hidden; }
.poker-card::after { position: absolute; inset: 5px; content: ""; border: 1px solid rgba(17,23,34,.08); border-radius: 6px; pointer-events: none; }
.poker-card span { position: absolute; top: 7px; left: 8px; font-size: 16px; }
.poker-card b { font-size: 30px; }
.poker-card.is-red { color: #be2332; }
.poker-card.is-hidden { color: #f7f8fb; border-color: #3c5879; background: repeating-linear-gradient(45deg, #17315a, #17315a 6px, #25476e 6px, #25476e 12px); }
.poker-card.is-hidden span { position: static; font-size: 12px; letter-spacing: .08em; }
.poker-card.is-personal { --card-w: 78px; --card-h: 110px; }
.holdem-showdown { display: grid; justify-items: center; gap: 5px; min-height: 58px; max-width: min(620px, 100%); text-align: center; }
.holdem-showdown span { color: #f4c96b; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.holdem-showdown strong { color: #fff; font-size: clamp(15px, 1.6vw, 23px); line-height: 1.15; }
.holdem-showdown p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.holdem-seats { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
.holdem-seat { position: absolute; display: grid; gap: 7px; width: 190px; min-height: 164px; padding: 10px; border: 1px solid rgba(255,255,255,.13); border-radius: 8px; background: linear-gradient(180deg, rgba(18,25,34,.94), rgba(8,12,18,.9)); box-shadow: 0 16px 30px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.05); pointer-events: auto; }
.holdem-seat.seat-0 { left: 50%; bottom: 18px; transform: translateX(-50%); width: 240px; }
.holdem-seat.seat-1 { left: 8%; bottom: 112px; }
.holdem-seat.seat-2 { left: 9%; top: 78px; }
.holdem-seat.seat-3 { left: 50%; top: 30px; transform: translateX(-50%); }
.holdem-seat.seat-4 { right: 9%; top: 78px; }
.holdem-seat.seat-5 { right: 8%; bottom: 112px; }
.holdem-seat.is-empty { align-content: center; text-align: center; }
.holdem-seat.is-current { border-color: var(--accent); box-shadow: 0 0 0 2px rgba(102,217,163,.16), 0 0 30px rgba(102,217,163,.2), 0 16px 30px rgba(0,0,0,.32); }
.holdem-seat.is-user { border-color: rgba(244,201,107,.42); background: linear-gradient(180deg, rgba(35,38,35,.96), rgba(11,17,19,.93)); }
.holdem-seat.is-folded { opacity: .58; }
.holdem-seat.is-winner { border-color: rgba(102,217,163,.68); box-shadow: 0 0 0 2px rgba(102,217,163,.15), 0 0 34px rgba(102,217,163,.24); }
.holdem-seat-top { display: flex; justify-content: space-between; gap: 8px; min-width: 0; }
.holdem-seat-top span { color: var(--muted); font-size: 11px; }
.holdem-seat-top strong { overflow: hidden; max-width: 120px; color: #fff; text-overflow: ellipsis; white-space: nowrap; }
.holdem-seat-cards { display: flex; justify-content: center; min-height: 62px; }
.holdem-seat-cards .poker-card { --card-w: 44px; --card-h: 62px; margin-left: -10px; }
.holdem-seat-cards .poker-card:first-child { margin-left: 0; }
.holdem-seat.is-user .holdem-seat-cards .poker-card { --card-w: 62px; --card-h: 88px; margin-left: 6px; }
.holdem-seat.is-user .holdem-seat-cards .poker-card:first-child { margin-left: 0; }
.holdem-seat-cards .poker-card span { top: 4px; left: 5px; font-size: 11px; }
.holdem-seat-cards .poker-card b { font-size: 20px; }
.holdem-empty-cards { display: grid; place-items: center; min-height: 50px; width: 100%; border: 1px dashed rgba(255,255,255,.12); border-radius: 8px; color: var(--muted); font-size: 12px; }
.holdem-seat-meta { display: flex; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 11px; }
.holdem-seat-meta b { color: var(--text); }
.holdem-seat-badges { display: flex; flex-wrap: wrap; gap: 5px; min-height: 20px; }
.holdem-seat-badges span { padding: 3px 6px; border-radius: 999px; color: #201808; background: #f4c96b; font-size: 10px; font-weight: 900; }
.holdem-hand-label { margin: 0; color: var(--accent); font-size: 12px; font-weight: 900; text-align: center; }
.holdem-seat > button { width: 100%; color: #201808; background: #f4c96b; }
.holdem-action-dock { display: grid; grid-template-columns: minmax(190px, .34fr) minmax(0, 1fr) minmax(260px, .36fr); gap: 14px; align-items: center; min-height: 124px; padding: 16px 18px; border-top: 1px solid rgba(255,255,255,.08); background: linear-gradient(180deg, rgba(7,12,18,.92), rgba(15,23,31,.96)); }
.holdem-action-copy { display: grid; gap: 4px; min-width: 0; }
.holdem-action-copy span { color: #f4c96b; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.holdem-action-copy strong { color: #fff; font-size: clamp(18px, 2vw, 27px); overflow-wrap: anywhere; }
.holdem-action-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.holdem-action-grid button { min-height: 44px; min-width: 0; color: var(--text); border: 1px solid rgba(102,217,163,.38); background: #1a5a42; }
.holdem-action-grid button:first-child { border-color: rgba(255,107,107,.42); background: #5b2430; }
.holdem-raise-box { display: grid; gap: 7px; min-width: 0; }
.holdem-raise-box label { display: flex; justify-content: space-between; gap: 8px; color: var(--muted); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.holdem-raise-box strong { color: #f4c96b; }
.holdem-raise-box input { width: 100%; accent-color: var(--accent); }
.holdem-raise-box button { color: #201808; background: #f4c96b; }
.holdem-action-dock > button { min-height: 44px; color: #201808; background: #f4c96b; }
.holdem-action-dock button:disabled, .holdem-raise-box input:disabled { opacity: .42; cursor: not-allowed; }
.holdem-rail { grid-template-rows: auto minmax(320px, 52vh) auto 118px; }
@media (max-width: 1200px) {
  .holdem-layout { grid-template-columns: 1fr; }
  .holdem-rail { position: static; grid-template-rows: auto 340px auto 118px; }
}
@media (max-width: 900px) {
  .holdem-table-card { grid-template-rows: auto auto auto auto; }
  .holdem-felt { display: grid; gap: 14px; min-height: 0; padding: 16px; }
  .holdem-felt::before { display: none; }
  .holdem-board-zone { position: static; inset: auto; padding: 16px; border: 1px solid rgba(255,255,255,.1); border-radius: 8px; background: rgba(10,28,23,.88); }
  .holdem-board { overflow-x: auto; justify-content: flex-start; width: 100%; padding-bottom: 4px; }
  .holdem-seats { position: static; display: grid; grid-template-columns: repeat(6, minmax(172px, 1fr)); gap: 10px; overflow-x: auto; pointer-events: auto; }
  .holdem-seat, .holdem-seat.seat-0, .holdem-seat.seat-1, .holdem-seat.seat-2, .holdem-seat.seat-3, .holdem-seat.seat-4, .holdem-seat.seat-5 { position: static; transform: none; width: 100%; }
  .holdem-action-dock { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .holdem-table-head { align-items: flex-start; flex-direction: column; }
  .holdem-phase { justify-items: start; }
  .poker-card { --card-w: 58px; --card-h: 82px; }
  .holdem-action-grid { grid-template-columns: 1fr; }
}

.positive { color: var(--accent); font-weight: 800; }
.negative { color: var(--danger); font-weight: 800; }
.toggle-row { display: flex; gap: 10px; flex-wrap: wrap; }
.button-link.ghost { background: transparent; border: 1px solid var(--border); color: var(--muted); }
.button-link.ghost-active { background: var(--card2); border: 1px solid var(--accent); color: var(--text); }
.current-bet-box { display: grid; gap: 6px; background: rgba(102,217,163,.10); border: 1px solid rgba(102,217,163,.35); border-radius: 14px; padding: 14px; margin: 12px 0 16px; }
.current-bet-box.bet-pending { background: rgba(255,176,86,.10); border-color: rgba(255,176,86,.48); }
.current-bet-box.bet-won { background: rgba(102,217,163,.10); border-color: rgba(102,217,163,.45); }
.current-bet-box.bet-lost { background: rgba(255,107,107,.10); border-color: rgba(255,107,107,.48); }
.current-bet-box.bet-pending .pill { color: #ffcf91; border-color: rgba(255,176,86,.48); }
.current-bet-box.bet-won .pill { color: var(--accent); border-color: rgba(102,217,163,.45); }
.current-bet-box.bet-lost .pill { color: var(--danger); border-color: rgba(255,107,107,.48); }
.builder-form { display: grid; gap: 16px; }
.stake-label { max-width: 220px; }
.builder-step { display: grid; gap: 8px; }
.step-label { color: var(--muted); font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.choice-row { display: flex; flex-wrap: wrap; gap: 10px; }
.choice-btn { background: var(--card2); color: var(--text); border: 1px solid var(--border); border-radius: 12px; padding: 12px 14px; }
.choice-btn:hover { border-color: var(--accent); }
.choice-btn.selected { background: rgba(102,217,163,.16); border-color: var(--accent); color: var(--text); }
.risk-choice { display: inline-flex; align-items: center; gap: 8px; }
.risk-choice span { color: var(--accent); font-weight: 900; }
.builder-summary { display: flex; justify-content: space-between; gap: 12px; align-items: center; background: var(--card2); border: 1px solid var(--border); border-radius: 14px; padding: 14px; }
.place-button { width: fit-content; }
@media (max-width: 800px) {
  .builder-summary { align-items: flex-start; flex-direction: column; }
}

/* Compact bet-builder layout */
.compact-title { padding: 18px 22px; }
.compact-title h1 { margin-bottom: 6px; }
.compact-title p { margin: 6px 0; }
.compact-board { display: grid; gap: 14px; }
.compact-series { padding: 18px 20px; }
.compact-series-head { align-items: flex-start; gap: 16px; margin-bottom: 12px; }
.compact-series-head h2 { margin-top: 8px; margin-bottom: 0; }
.compact-no-bet { margin: 8px 0 0; min-width: 150px; text-align: right; }
.compact-current-bet {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px 12px;
  margin: 0;
  padding: 10px 12px;
  max-width: 560px;
}
.compact-builder-form { gap: 12px; }
.builder-row {
  display: grid;
  grid-template-columns: minmax(180px, 230px) 1fr 1fr;
  gap: 14px;
  align-items: end;
}
.compact-stake { max-width: none; }
.compact-step { gap: 6px; }
.compact-choice-row { gap: 8px; }
.compact-choice-row .choice-btn { padding: 10px 12px; }
.builder-actions {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
}
.compact-summary { padding: 10px 12px; min-height: 42px; }
.compact-summary[hidden] { display: none; }

@media (max-width: 900px) {
  .builder-row { grid-template-columns: 1fr; align-items: stretch; }
  .builder-actions { grid-template-columns: 1fr; }
  .compact-current-bet { justify-content: flex-start; max-width: none; }
  .compact-no-bet { text-align: left; }
}

/* WCPL Cards */
.cards-page {
  --wut-card-width: 210px;
  --wut-card-ratio: 804 / 1128;
  display: grid;
  gap: 20px;
  max-width: 1740px;
}
.cards-title-actions, .cards-section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.cards-balance { padding: 11px 15px; border: 1px solid var(--border); border-radius: 999px; font-weight: 900; }
.cards-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 20px; }
.cards-layout > div, .cards-leaderboards { min-width: 0; display: grid; gap: 20px; align-content: start; }
.cards-layout > div > .card { min-width: 0; }
.cards-lineup { width: 100%; min-width: 0; max-width: 100%; display: grid; grid-template-columns: repeat(5, calc(var(--wut-card-width) + 24px)); gap: 12px; overflow-x: auto; overflow-y: hidden; padding-bottom: 4px; }
.lineup-slot { position: relative; display: grid; align-content: start; gap: 10px; padding: 12px; border: 1px solid var(--border); border-radius: 16px; background: #111520; transition: box-shadow .2s, border-color .2s; }
.lineup-slot.is-locked { border-color: #596174; }
.mini-player-card, .lineup-player-card, .collection-player, .collection-boost, .pack-card { --rarity: #f5f5f5; }
.mini-player-card { overflow: hidden; min-height: 235px; border-radius: 13px; background: linear-gradient(145deg, color-mix(in srgb, var(--rarity) 24%, #1a1f2b), #111520 70%); }
.mini-card-head { display: grid; gap: 4px; padding: 9px; }
.mini-card-foot { display: flex; justify-content: space-between; gap: 8px; padding: 9px; }
.mini-card-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
.mini-card-meta small { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.mini-card-meta span, .collection-player .mini-card-meta span, .pack-card-meta span { color: var(--rarity); letter-spacing: 1px; text-shadow: 0 0 8px color-mix(in srgb, var(--rarity) 65%, transparent); }
.player-card-name { display: block; min-width: 0; line-height: 1.08; overflow-wrap: anywhere; }
.mini-player-card img { display: block; width: 100%; height: 145px; object-fit: contain; padding: 12px; background: color-mix(in srgb, var(--rarity) 12%, #0e1118); }
.mini-card-foot { align-items: end; font-size: 12px; color: var(--muted); }
.mini-card-foot strong { color: var(--text); }
.empty-card-slot { display: grid; place-items: center; align-content: center; gap: 6px; width: 100%; min-height: 0; aspect-ratio: var(--wut-card-ratio); padding: 14px; border: 2px dashed #394154; border-radius: 13px; color: var(--muted); text-align: center; background: #121722; }
.empty-card-slot strong { color: var(--text); }
.empty-card-slot[hidden] { display: none !important; }
.empty-card-slot:hover, .assignment-zone.is-selected { border-color: var(--accent); box-shadow: 0 0 18px rgba(102,217,163,.22); }
.lineup-hidden-form { display: none; }
.lineup-player-card { position: relative; width: 100%; aspect-ratio: var(--wut-card-ratio); border-radius: 6px; perspective: 900px; cursor: pointer; }
.lineup-card-inner { position: absolute; inset: 0; transition: transform .5s; transform-style: preserve-3d; }
.lineup-player-card.is-flipped .lineup-card-inner { transform: rotateY(180deg); }
.lineup-card-face { position: absolute; inset: 0; overflow: hidden; backface-visibility: hidden; }
.lineup-card-back { transform: rotateY(180deg); }
.lineup-zone-actions { display: grid; grid-template-columns: 1fr auto; gap: 6px; }
.lineup-zone-actions button, .lineup-remove { min-height: 32px; padding: 6px 8px; font-size: 11px; }
.lineup-remove { width: 100%; color: var(--danger); border: 1px solid rgba(255,107,107,.35); background: transparent; }
.boost-slot { width: 100%; min-height: 72px; display: grid; place-items: center; gap: 3px; padding: 9px; border-radius: 10px; text-align: center; }
.boost-slot:disabled { opacity: 1; cursor: default; }
.assigned-boost { border: 1px solid var(--rarity); color: var(--rarity); text-transform: capitalize; background: color-mix(in srgb, var(--rarity) 10%, #10141d); }
.assigned-boost span { letter-spacing: 1px; }
.assigned-boost small { color: var(--muted); }
.empty-boost-slot { border: 2px dashed #394154; color: var(--muted); background: #121722; }
.empty-boost-slot strong { color: var(--text); }
.cards-warning { margin: 0; padding: 8px; border-radius: 8px; color: #ffd28a; background: rgba(255,184,76,.1); font-size: 12px; }
.fp-breakdown { display: grid; gap: 5px; padding: 10px; border: 1px solid var(--border); border-radius: 10px; background: #0d1119; }
.fp-breakdown > div { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; }
.fp-breakdown-total { margin-top: 3px; padding-top: 7px; border-top: 1px solid var(--border); font-size: 14px !important; }
.boosted-stat { text-shadow: 0 0 10px currentColor; }
.cards-selection-status { position: sticky; top: 82px; z-index: 3; padding: 11px 15px; border: 1px solid var(--accent); border-radius: 12px; color: var(--text); background: rgba(25,65,51,.96); text-align: center; font-weight: 800; }
.cards-selection-status.is-error { border-color: var(--danger); background: rgba(80,28,33,.96); }
.collection-tabs { display: flex; gap: 8px; margin-bottom: 14px; }
.collection-tab { color: var(--muted); border: 1px solid var(--border); background: transparent; }
.collection-tab.is-active { color: #07120d; border-color: var(--accent); background: var(--accent); }
.collection-progress { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.collection-progress span { padding: 7px 9px; border: 1px solid var(--border); border-radius: 9px; color: var(--muted); font-size: 12px; }
.collection-progress strong { color: var(--text); }
.collection-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.collection-filters[hidden] { display: none !important; }
.collection-filters label { display: inline-flex; align-items: center; gap: 6px; padding: 7px 9px; border: 1px solid var(--border); border-radius: 9px; color: var(--muted); font-size: 12px; text-transform: capitalize; }
.collection-filters input { margin: 0; accent-color: var(--accent); }
.collection-grid { display: grid; grid-template-columns: repeat(auto-fill, var(--wut-card-width)); gap: 12px; }
.collection-grid[hidden] { display: none !important; }
.collection-player, .collection-boost { border: 2px solid var(--rarity); border-radius: 14px; background: #111520; }
.collection-player { position: relative; width: var(--wut-card-width); aspect-ratio: var(--wut-card-ratio); min-height: 0; padding: 0; border: 0; perspective: 900px; background: transparent; }
.selectable-item { cursor: pointer; transition: transform .15s, box-shadow .15s; }
.selectable-item:hover { transform: translateY(-2px); }
.selectable-item.is-selected { box-shadow: 0 0 0 3px var(--accent), 0 0 24px rgba(102,217,163,.45); }
.collection-card-inner { position: absolute; inset: 0; transition: transform .55s; transform-style: preserve-3d; }
.collection-player:hover .collection-card-inner, .collection-player:focus .collection-card-inner { transform: rotateY(180deg); }
.collection-card-face { position: absolute; inset: 0; overflow: hidden; backface-visibility: hidden; }
.collection-card-back { transform: rotateY(180deg); }
.collection-player p, .collection-player strong { margin: 0; display: block; }
.collection-player small { display: block; margin-top: 8px; color: var(--muted); }
.collection-player.is-retired { opacity: .55; filter: grayscale(.7); }

/* WUT card tuning guide:
   - Overall card size: .cards-page --wut-card-width
   - Front name/stats vertical fit: --wut-front-name-top and --wut-front-stat-top
   - Top-left season/position badge: --wut-front-badge-top and --wut-front-badge-left
   - Front logo size/spot: --wut-front-logo-width, --wut-front-logo-height, --wut-front-logo-right, --wut-front-logo-bottom
   - Back tables: --wut-back-stats-top and --wut-back-stats-height
   - Back team/status/logo block: --wut-back-player-top
*/
.wut-card-face {
  --wut-front-name-top: 51%;
  --wut-front-stat-top: 64.5%;
  --wut-front-badge-top: 3.0%;
  --wut-front-badge-left: 2.8%;
  --wut-front-logo-width: 28%;
  --wut-front-logo-height: 17%;
  --wut-front-logo-right: 8.5%;
  --wut-front-logo-bottom: 3.8%;
  --wut-back-stats-top: 22.5%;
  --wut-back-stats-height: 35%;
  --wut-back-player-top: 59%;
  position: absolute;
  inset: 0;
  color: #030303;
  background:
    radial-gradient(circle at 28% 18%, color-mix(in srgb, var(--rarity) 78%, #ffffff) 0 16%, transparent 35%),
    linear-gradient(150deg, color-mix(in srgb, var(--rarity) 82%, #ffffff), color-mix(in srgb, var(--rarity) 64%, #1b2028));
  border-radius: 6px;
  box-shadow:
    0 0 0 2px color-mix(in srgb, var(--rarity) 72%, #151922),
    0 14px 28px rgba(0,0,0,.34),
    inset 0 0 22px color-mix(in srgb, var(--rarity) 30%, transparent);
  isolation: isolate;
}
.wut-card-face::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  pointer-events: none;
}
.wut-card-front::before { background-image: url("/images/casino/WUT/CardFront.png"); }
.wut-card-back::before { background-image: url("/images/casino/WUT/CardBack.png"); }
.wut-card-front[data-card-edition="S1"]::before { background-image: url("/images/casino/WUT/CardFrontS1.png"); }
.wut-card-back[data-card-edition="S1"]::before { background-image: url("/images/casino/WUT/CardBackS1.png"); }
.wut-card-front[data-card-edition="S2"]::before { background-image: url("/images/casino/WUT/CardFrontS2.png"); }
.wut-card-back[data-card-edition="S2"]::before { background-image: url("/images/casino/WUT/CardBackS2.png"); }
.wut-front-copy {
  position: absolute;
  left: 13.5%;
  right: 5%;
  top: 0;
  bottom: 0;
  z-index: 2;
  font-weight: 900;
  font-style: italic;
  text-shadow: 0 1px 0 rgba(255,255,255,.24);
}
.wut-front-copy .player-card-name {
  position: absolute;
  top: var(--wut-front-name-top);
  left: 0;
  width: 82%;
  max-width: none;
  font-size: 19px;
  font-style: normal;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  overflow-wrap: normal;
}
.wut-front-badge {
  position: absolute;
  top: var(--wut-front-badge-top);
  left: var(--wut-front-badge-left);
  z-index: 2;
  display: grid;
  justify-items: center;
  gap: 8px;
  min-width: 18%;
  color: #030303;
  font-weight: 900;
  font-style: italic;
  line-height: 1;
  text-shadow: 0 1px 0 rgba(255,255,255,.28);
}
.wut-front-badge span { font-size: 23px; }
.wut-front-badge strong { font-size: 28px; }
.wut-front-badge.is-position-only {
  top: 10.5%;
}
.pack-card-content .wut-front-badge { position: absolute; }
.wut-front-rule {
  display: none;
}
.wut-front-stat {
  position: absolute;
  top: var(--wut-front-stat-top);
  left: 0;
  right: 0;
  padding-left: 1%;
  padding-right: 10%;
  font-size: 15px;
  line-height: 1.05;
  overflow-wrap: anywhere;
}
.wut-front-logo {
  position: absolute;
  right: var(--wut-front-logo-right);
  bottom: var(--wut-front-logo-bottom);
  z-index: 2;
  display: block;
  width: var(--wut-front-logo-width);
  height: var(--wut-front-logo-height);
  object-fit: contain;
  padding: 0;
  background: transparent;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,.3));
  transition: opacity .18s ease, transform .18s ease;
}
.wut-front-logo.is-team-logo-swapping { opacity: 0; transform: scale(.9); }
.wut-front-logo-original { animation: wut-team-logo-out .42s ease forwards; }
.wut-front-logo-adopted { opacity: 0; animation: wut-team-logo-in .42s .18s ease forwards; }
@keyframes wut-team-logo-out { to { opacity: 0; transform: scale(.88); } }
@keyframes wut-team-logo-in { to { opacity: 1; transform: scale(1); } }
.wut-back-header {
  position: absolute;
  top: 6.5%;
  left: 7.5%;
  right: 7.5%;
  z-index: 2;
  display: grid;
  justify-items: center;
  gap: 4px;
  text-align: center;
  color: #030303;
  font-weight: 900;
  font-style: italic;
}
.wut-back-header strong {
  width: 100%;
  max-width: 100%;
  font-size: 18px;
  line-height: .98;
  white-space: nowrap;
  overflow: hidden;
  overflow-wrap: normal;
}
.wut-back-header span {
  color: var(--rarity);
  font-size: 15px;
  line-height: 1;
  text-shadow:
    0 1px 1px rgba(0,0,0,.72),
    1px 0 1px rgba(0,0,0,.55),
    0 0 6px color-mix(in srgb, var(--rarity) 45%, transparent);
}
.wut-back-header small {
  display: inline;
  margin: 0 0 0 4px;
  color: var(--rarity);
  font-style: normal;
  letter-spacing: 1px;
}
.wut-stat-panel {
  position: absolute;
  top: var(--wut-back-stats-top);
  left: 7.5%;
  right: 7.5%;
  height: var(--wut-back-stats-height);
  z-index: 2;
  display: grid;
  gap: 5px;
  padding: 0 2px;
  color: #030303;
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: hidden;
}
.card-history-table th, .card-history-table td { padding: 4px 3px; text-align: center; font-size: 10px; }
.wut-stat-panel .card-history-table th,
.wut-stat-panel .card-history-table td {
  padding: 3px 2px;
  color: #030303;
  border-bottom: 1px solid rgba(0,0,0,.32);
  font-size: 9px;
  font-weight: 900;
}
.wut-stat-panel .card-history-table th { color: #030303; }
.fantasy-appearances { display: grid; gap: 4px; margin-top: 0; padding: 5px 0 0; border-top: 1px solid rgba(0,0,0,.34); color: #030303; font-size: 10px; }
.fantasy-appearances strong { color: var(--text); }
.wut-stat-panel .fantasy-appearances strong { color: #030303; font-size: 10px; text-align: center; }
.wut-stat-panel.is-mythic {
  height: auto;
  overflow: visible;
}
.wut-stat-panel.is-mythic .fantasy-appearances {
  padding-top: 0;
  border-top: 0;
}
.wut-stat-panel .wut-mythic-status {
  display: block;
  margin-top: 5px;
  color: #000;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  text-align: center;
}
.wut-back-flavor {
  position: absolute;
  top: 43%;
  left: 10%;
  right: 10%;
  bottom: 7%;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  overflow: hidden;
  color: #101010;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11px;
  line-height: 1.25;
}
.wut-back-flavor span { display: block; }
.wut-back-flavor .flavor-align-left { text-align: left; }
.wut-back-flavor .flavor-align-center { text-align: center; }
.wut-back-flavor .flavor-align-right { text-align: right; }
.wut-back-player {
  position: absolute;
  top: var(--wut-back-player-top);
  left: 9%;
  right: 9%;
  bottom: 5.8%;
  z-index: 2;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  justify-items: center;
  gap: 5px;
  text-align: center;
  color: #030303;
  font-weight: 900;
  font-style: italic;
}
.wut-back-player strong {
  max-width: 100%;
  font-size: 18px;
  line-height: 1;
  overflow-wrap: anywhere;
}
.wut-back-player small {
  margin: 0;
  color: #101010;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}
.wut-back-player img {
  display: block;
  width: 96%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
  padding: 0;
  border: 0;
  background: transparent;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,.24));
}
.collection-boost { min-height: 155px; display: grid; place-items: center; align-content: center; text-align: center; text-transform: capitalize; color: var(--text); background: linear-gradient(145deg, color-mix(in srgb, var(--rarity) 18%, #171b24), #10131a); }
.collection-boost[hidden], .arena-collection-card[hidden] { display: none !important; }
.collection-boost > span { color: var(--rarity); }
.collection-boost h3 { margin: 9px 0 5px; }
.collection-boost strong { color: var(--rarity); font-size: 20px; }
.boost-card-stars { color: var(--rarity); letter-spacing: 1px; }
.boost-card-title { margin: 5px 0 2px; color: var(--text); font-size: 16px; text-transform: capitalize; }
.boost-card-effect { color: var(--rarity); font-size: 15px; text-transform: none; }
.assigned-boost .boost-card-title { margin: 0; font-size: 13px; }
.assigned-boost .boost-card-effect { font-size: 12px; }
.pack-card-content .boost-card-title { margin: 8px 0 3px; font-size: 18px; }
.pack-card-content .boost-card-effect { color: var(--rarity); font-size: 20px; }
.cards-review { border-color: var(--accent); }
.cards-review-grid { display: flex; gap: 10px; flex-wrap: wrap; margin: 15px 0; }
.cards-review-grid div { display: grid; gap: 3px; min-width: 110px; padding: 10px; border-radius: 10px; background: var(--card2); }
.pack-shop-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.pack-shop-column { display: grid; grid-template-columns: minmax(190px, .8fr) 1.2fr; gap: 12px 20px; align-items: center; }
.pack-shop-column h2 { grid-column: 2; }
.pack-art { grid-row: 1 / span 5; display: grid; place-items: center; align-content: center; min-height: 350px; border: 2px solid var(--border); border-radius: 18px; font-size: 22px; letter-spacing: .12em; background: linear-gradient(145deg, #253047, #111520); }
.pack-art strong { font-size: 42px; }
.boost-pack { background: linear-gradient(145deg, #66531c, #211a0a); }
.pack-buy-button { width: 100%; display: flex; justify-content: space-between; text-transform: capitalize; }
.pack-reveal { text-align: center; }
.pack-reveal-grid { display: grid; grid-template-columns: repeat(3, minmax(190px, 260px)); justify-content: center; gap: 28px; margin: 25px 0; }
.pack-card { position: relative; aspect-ratio: 804 / 1128; min-height: 340px; padding: 0; border: 0; border-radius: 6px; color: var(--text); background: transparent; }
.pack-card-cover {
  position: absolute;
  inset: 0;
  display: none;
  place-items: center;
  border: 2px solid #3b4558;
  border-radius: 6px;
  color: var(--text);
  background: #171d29;
  box-shadow: 0 14px 28px rgba(0,0,0,.3), inset 0 0 0 1px rgba(255,255,255,.025);
  transition: border-color .18s, background .18s, transform .18s;
}
.pack-card-cover strong {
  font-size: 92px;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
}
.pack-card-content { position: absolute; inset: 0; height: 100%; display: grid; place-items: center; align-content: center; gap: 16px; text-transform: capitalize; }
.pack-card-content:not(.wut-card-face) {
  padding: 14px;
  border: 2px solid var(--rarity);
  border-radius: 16px;
  background: linear-gradient(145deg, color-mix(in srgb, var(--rarity) 20%, #1c2230), #111520);
}
.pack-card-meta { width: 100%; display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.pack-card-meta small { color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.pack-card-content img { width: 150px; height: 150px; object-fit: contain; padding: 8px; border-radius: 10px; background: var(--team-bg, #0e1118); }
.pack-card-content .wut-front-logo { width: 27%; height: 16%; padding: 0; border-radius: 0; background: transparent; }
.pack-card-content .pack-player-details {
  display: grid;
  gap: 3px;
  color: #030303;
  text-transform: none;
}
.pack-card-content .pack-player-details strong,
.pack-card-content .pack-player-details span {
  color: #030303;
  font-size: inherit;
  line-height: 1.05;
}
.pack-card-content b { color: var(--rarity); font-size: 22px; }
.pack-card.is-hidden { background: transparent; }
.pack-card.is-hidden .pack-card-cover { display: grid; z-index: 3; }
.pack-card.is-hidden:hover .pack-card-cover,
.pack-card.is-hidden:focus-visible .pack-card-cover {
  border-color: var(--accent);
  background: #1b2331;
  transform: translateY(-2px);
}
.pack-card.is-hidden .pack-card-content { display: none; }
.pack-card:disabled {
  cursor: default;
  opacity: 1;
  filter: none;
}
.pack-card.is-revealed-pop { animation: packRevealPop .72s ease-out; }

@keyframes packRevealPop {
  0% {
    transform: scale(.97);
    box-shadow: 0 0 0 rgba(0,0,0,0);
  }
  38% {
    transform: scale(1.045);
    box-shadow:
      0 0 0 2px color-mix(in srgb, var(--rarity) 75%, transparent),
      0 0 34px color-mix(in srgb, var(--rarity) 58%, transparent);
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 rgba(0,0,0,0);
  }
}

.tier-common { --rarity: #9e9e9e; }
.tier-uncommon { --rarity: #55dc7b; }
.tier-rare { --rarity: #4b9cff; }
.tier-epic { --rarity: #b768ff; }
.tier-legendary { --rarity: #ffb52e; }
.tier-mythic { --rarity: #ff3f46; }
.boost-glow-common { box-shadow: 0 0 20px rgba(245,245,245,.28); }
.boost-glow-uncommon { box-shadow: 0 0 22px rgba(85,220,123,.42); border-color: #55dc7b !important; }
.boost-glow-rare { box-shadow: 0 0 22px rgba(75,156,255,.45); border-color: #4b9cff !important; }
.boost-glow-epic { box-shadow: 0 0 24px rgba(183,104,255,.48); border-color: #b768ff !important; }
.boost-glow-legendary { box-shadow: 0 0 26px rgba(255,181,46,.52); border-color: #ffb52e !important; }
.boost-glow-mythic { box-shadow: 0 0 28px rgba(255,63,70,.58); border-color: #ff3f46 !important; }
.tier-text-common { color: #f5f5f5; }
.tier-text-uncommon { color: #55dc7b; }
.tier-text-rare { color: #4b9cff; }
.tier-text-epic { color: #b768ff; }
.tier-text-legendary { color: #ffb52e; }
.tier-text-mythic { color: #ff3f46; }
.cards-admin-config { display: grid; grid-template-columns: repeat(2, minmax(190px, 1fr)); gap: 12px; margin: 18px 0; }
.admin-wut-coin-adjuster{display:grid;gap:12px;margin:16px 0;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--card2)}.admin-wut-coin-adjuster form{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(130px,.6fr) minmax(190px,1fr) auto}.admin-wut-coin-adjuster details{border-top:1px solid var(--border);padding-top:10px}.admin-wut-coin-adjuster summary{cursor:pointer;font-weight:800}.admin-wut-coin-adjuster table{margin-top:10px}@media(max-width:850px){.admin-wut-coin-adjuster form{grid-template-columns:1fr}.admin-wut-coin-adjuster form>*{width:100%}}
.cards-admin-config fieldset { min-width: 0; display: grid; gap: 8px; border: 1px solid var(--border); border-radius: 12px; }
.cards-admin-config legend { color: var(--text); font-weight: 800; }
.cards-rarity-fieldset { grid-column: 1 / -1; }
.cards-odds-table { display: grid; grid-template-columns: 90px repeat(6, minmax(70px, 1fr)); gap: 7px; align-items: center; }
.cards-odds-table strong, .cards-odds-table b { text-transform: capitalize; }
.cards-odds-table input { min-width: 0; }
.cards-admin-config > button { grid-column: 1 / -1; justify-self: start; }
.cards-boost-config-grid { display: grid; grid-template-columns: repeat(5, minmax(140px, 1fr)); gap: 10px; }
.cards-boost-config-grid label { display: grid; gap: 5px; }
.cards-boost-config-grid .admin-action-row { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.cards-boost-config-grid input { min-width: 0; }
.cards-admin-trinket-economy { display: grid; grid-template-columns: minmax(90px,.8fr) minmax(90px,1fr); gap: 7px; align-items: center; }
.cards-admin-trinket-economy b { text-transform: capitalize; }
.cards-admin-trinket-economy input { min-width: 0; }
.cards-odds-table-five { grid-template-columns: 90px repeat(5,minmax(70px,1fr)); }
.wut-trinket-effect-editor { grid-column: 1 / -1; }
.wut-trinket-effect-selectors { justify-content: flex-start; }
.wut-trinket-effect-selectors label { display: grid; gap: 5px; min-width: 220px; }
.wut-trinket-effect-panel { display: grid; gap: 12px; padding: 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--card2); }
.wut-trinket-effect-panel[hidden] { display: none !important; }
.wut-trinket-effect-panel p { margin: 4px 0 0; }
.cards-series-dialog { width: min(460px, calc(100% - 30px)); border: 1px solid var(--border); border-radius: 16px; color: var(--text); background: var(--card); }
.cards-series-dialog::backdrop { background: rgba(0,0,0,.72); }
.series-dialog-options { display: grid; gap: 9px; margin: 18px 0; }

@media (max-width: 1200px) {
  .cards-layout { grid-template-columns: 1fr; }
  .cards-leaderboards { grid-template-columns: 1fr 1fr; }
  .cards-admin-config { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
  .cards-title-actions, .cards-section-head { align-items: flex-start; flex-direction: column; }
  .pack-shop-grid, .pack-reveal-grid, .cards-leaderboards { grid-template-columns: 1fr; }
  .pack-shop-column { grid-template-columns: 1fr; }
  .pack-shop-column h2, .pack-art { grid-column: auto; grid-row: auto; }
  .cards-admin-config { grid-template-columns: 1fr; }
  .cards-odds-table { grid-template-columns: 74px repeat(6, minmax(52px, 1fr)); font-size: 11px; }
  .cards-odds-table-five { grid-template-columns: 74px repeat(5,minmax(52px,1fr)); }
  .cards-admin-trinket-economy { grid-template-columns: 82px minmax(72px,1fr); font-size: 11px; overflow-x: auto; }
}

/* WCPL Arena */
.arena-page { display: grid; gap: 18px; }
.arena-admin { padding: 0; border-style: dashed; }
.arena-admin summary { cursor: pointer; padding: 18px 22px; list-style: none; }
.arena-admin summary::-webkit-details-marker { display: none; }
.arena-admin summary span { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.arena-admin summary small { color: var(--muted); font-weight: 500; }
.arena-admin-body { padding: 0 22px 20px; }
.arena-elo-leaderboard { display: grid; gap: 14px; }
.arena-elo-leaderboard table { margin: 0; }
.arena-elo-leaderboard th:nth-child(n+3), .arena-elo-leaderboard td:nth-child(n+3) { text-align: right; }
.arena-elo-leaderboard tr.is-current-user td { background: rgba(102,217,163,.08); }
.arena-queue-card, .arena-ready-match, .arena-history-row, .arena-match-head, .arena-running-totals { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.arena-queue-card h2, .arena-match h2 { margin: 4px 0; }
.arena-ready-list { border-color: var(--accent); }
.arena-ready-match { margin-top: 12px; padding: 12px; border-radius: 10px; background: var(--card2); }
.arena-match-list { display: grid; gap: 18px; }
.arena-turn-status { display: grid; gap: 3px; min-width: 180px; padding: 11px 14px; border: 1px solid var(--border); border-radius: 11px; text-align: right; }
.arena-turn-status.is-yours { border-color: var(--accent); box-shadow: 0 0 18px rgba(102,217,163,.16); }
.arena-turn-status span { color: var(--muted); font-size: 12px; }
.arena-board { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 18px 0; }
.arena-lineup-column { display: grid; gap: 7px; }
.arena-lineup-column h3 { margin-bottom: 3px; }
.arena-placement { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 60px; padding: 9px 12px; border: 1px dashed var(--border); border-radius: 10px; }
.arena-placement.is-committed { border-style: solid; background: var(--card2); }
.arena-placement span { display: grid; gap: 2px; }
.arena-placement small { color: var(--muted); }
.arena-placement em { font-size: 12px; font-style: normal; font-weight: 800; }
.arena-slot-label { color: var(--accent); font-weight: 900; }
.arena-turn-form { display: grid; gap: 12px; padding: 16px; border: 1px solid var(--accent); border-radius: 13px; background: rgba(102,217,163,.04); }
.arena-turn-form fieldset { display: grid; grid-template-columns: .6fr 1.5fr 1fr; gap: 10px; border: 1px solid var(--border); border-radius: 10px; }
.arena-turn-form label { display: grid; gap: 5px; color: var(--muted); font-size: 12px; }
.arena-turn-form button { justify-self: start; }
.arena-running-totals { position: sticky; top: 76px; z-index: 3; margin: 15px 0; padding: 12px 16px; border-radius: 10px; background: #17251f; box-shadow: 0 8px 20px rgba(0,0,0,.24); }
.arena-reveal-grid { display: grid; gap: 13px; }
.arena-reveal-slot { display: grid; grid-template-columns: 54px 1fr 1fr; gap: 12px; align-items: start; }
.arena-reveal-slot > h3 { color: var(--accent); }
.arena-reveal-player { padding: 13px; border: 1px solid var(--rarity); border-radius: 11px; background: var(--card2); }
.arena-reveal-player h4 { margin: 0 0 10px; }
.arena-reveal-player h4 small { color: var(--muted); font-weight: 500; }
.arena-stat-reveal { display: grid; gap: 4px; }
.arena-reveal-step { display: flex; justify-content: space-between; gap: 8px; padding: 5px 7px; border-radius: 6px; background: rgba(255,255,255,.035); animation: arenaStatIn .3s ease-out; }
.arena-reveal-step[hidden], .arena-outcome[hidden] { display: none; }
.arena-reveal-step.is-boost { font-weight: 900; box-shadow: inset 0 0 14px currentColor; }
.arena-player-fp { display: block; margin-top: 9px; text-align: right; }
.arena-player-fp[hidden] { display: none; }
.arena-reveal-player details { margin-top: 10px; color: var(--muted); font-size: 12px; }
.arena-reveal-player pre { max-height: 220px; overflow: auto; white-space: pre-wrap; font-size: 10px; }
.arena-outcome { margin-top: 18px; padding: 20px; border: 1px solid var(--accent); border-radius: 12px; text-align: center; }
.arena-history-row { padding: 11px 0; border-top: 1px solid var(--border); }
.arena-history-row > span { display: grid; gap: 3px; }
.arena-history-row small { color: var(--muted); }
.arena-card-back-copy { position: absolute; z-index: 2; inset: 28% 10% 10%; display: grid; align-content: center; gap: 9px; color: #050505; text-align: center; font-weight: 900; }
.arena-active-title { display: flex; align-items: center; gap: 14px; }
.arena-active-actions { display: flex; align-items: center; gap: 10px; }
.arena-match-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 13px; margin-top: 16px; }
.arena-match-link { display: grid; gap: 10px; padding: 17px; border: 1px solid var(--border); border-radius: 13px; color: var(--text); text-decoration: none; background: var(--card2); transition: transform .16s, border-color .16s, box-shadow .16s; }
.arena-match-link:hover { transform: translateY(-2px); border-color: var(--accent); }
.arena-match-link.is-your-turn { border-color: var(--accent); box-shadow: 0 0 20px rgba(102,217,163,.16); }
.arena-match-link.is-ready { border-color: #ffb52e; box-shadow: 0 0 20px rgba(255,181,46,.15); }
.arena-match-link h3 { margin: 0; font-size: 22px; }
.arena-match-number, .arena-match-link small { color: var(--muted); font-size: 12px; }
.arena-match-progress { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); }
.arena-match-progress strong { color: var(--text); }
.arena-match-callout { color: var(--accent); }
.arena-match-link.is-ready .arena-match-callout { color: #ffcf79; }
.arena-page-nav { display: flex; gap: 8px; margin-bottom: 16px; }
.arena-lineup-slot-name { display: block; color: var(--accent); font-size: 13px; font-weight: 900; text-align: center; }
.arena-wut-card { position: relative; width: 100%; aspect-ratio: var(--wut-card-ratio); border-radius: 6px; perspective: 900px; }
.arena-wut-card-inner { position: absolute; inset: 0; transition: transform .52s; transform-style: preserve-3d; }
.arena-wut-card-face { position: absolute; inset: 0; overflow: hidden; backface-visibility: hidden; }
.arena-wut-card-back { transform: rotateY(180deg); }
.arena-wut-card.is-flipped .arena-wut-card-inner { transform: rotateY(180deg); }
.arena-staged-card .arena-wut-card:hover .arena-wut-card-inner { transform: rotateY(180deg); }
.arena-collection-card.is-selected { box-shadow: 0 0 0 3px var(--accent), 0 0 24px rgba(102,217,163,.42); }
.arena-collection-card.is-staged, .arena-boost-collection .is-staged { opacity: .42; pointer-events: none; }
.arena-staged-card { width: 100%; }
.arena-staged-card[hidden], .arena-match-collection [hidden] { display: none !important; }
.arena-visual-lock-form { position: sticky; bottom: 12px; z-index: 4; display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 16px; padding: 13px 16px; border: 1px solid var(--accent); border-radius: 12px; background: rgba(18,29,25,.96); box-shadow: 0 10px 28px rgba(0,0,0,.34); }
.arena-visual-lock-form p { margin: 3px 0 0; }
.arena-match-collection { order: 1; }
.arena-match-collection[hidden] { display: none !important; }
.arena-opponent-board { order: 2; opacity: .94; }
.arena-empty-opponent-slot, .arena-empty-opponent-boost { cursor: default; }
.arena-boost-collection { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }
.arena-boost-collection .collection-boost { width: 100%; }
.arena-boost-collection .is-unavailable { opacity: .45; filter: grayscale(.7); }
.arena-history-eyebrow { margin-top: 18px; }
.full-collection-filters { display: grid; grid-template-columns: minmax(220px, 1.4fr) repeat(4, minmax(140px, .7fr)); gap: 12px; align-items: end; margin: 14px 0; padding: 14px; border: 1px solid var(--border); border-radius: 12px; background: var(--card2); }
.full-collection-filters[hidden] { display: none; }
.full-collection-filters fieldset { display: flex; flex-wrap: wrap; gap: 7px; min-width: 0; margin: 0; padding: 8px 10px; border: 1px solid var(--border); border-radius: 9px; }
.full-collection-filters legend { color: var(--muted); font-size: 12px; }
.full-collection-filters fieldset label { display: flex; align-items: center; gap: 5px; font-size: 12px; }
.full-collection-filters input[type="checkbox"] { width: auto; margin: 0; }
.collection-result-count { margin: 8px 0 12px; }
.collection-boost em { color: var(--muted); font-size: 11px; font-style: normal; }
.arena-card-results { overflow: visible; }
.arena-results-title { margin-bottom: 14px; text-align: center; }
.arena-duel-scoreboard { position: sticky; top: 74px; z-index: 6; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 18px; margin: 0 -8px 18px; padding: 13px 20px; border: 1px solid var(--accent); border-radius: 13px; background: rgba(18,31,26,.97); box-shadow: 0 12px 28px rgba(0,0,0,.38); backdrop-filter: blur(8px); }
.arena-duel-total { display: flex; align-items: center; min-width: 0; }
.arena-duel-total.is-right { justify-content: end; text-align: right; }
.arena-duel-total span { overflow: hidden; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.arena-duel-score-center { display: grid; justify-items: center; gap: 2px; min-width: 115px; }
.arena-duel-score-center span { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.arena-duel-score-center strong { font-size: 23px; }
.arena-duel-score-center b { color: var(--accent); }
.arena-duel-reveal { display: grid; gap: 15px; }
.arena-duel-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; padding-bottom: 15px; border-bottom: 1px solid var(--border); }
.arena-duel-entry { --arena-reveal-card-width: 180px; display: grid; grid-template-columns: var(--arena-reveal-card-width) minmax(0, 1fr); gap: 13px; align-items: center; min-width: 0; padding: 12px; border: 1px solid color-mix(in srgb, var(--rarity) 50%, var(--border)); border-radius: 13px; background: var(--card2); opacity: .62; transition: opacity .25s, box-shadow .25s, border-color .25s; }
.arena-duel-entry.is-right { grid-template-columns: minmax(0, 1fr) var(--arena-reveal-card-width); }
.arena-duel-entry.is-revealed { opacity: 1; border-color: var(--rarity); box-shadow: 0 0 22px color-mix(in srgb, var(--rarity) 18%, transparent); }
.arena-duel-card { width: var(--arena-reveal-card-width); }
.arena-duel-scoring { min-width: 0; }
.arena-duel-scoring-head { display: grid; gap: 3px; margin-bottom: 9px; padding-bottom: 8px; border-bottom: 1px solid var(--border); }
.arena-duel-scoring-head span { color: var(--accent); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.arena-duel-entry.is-right .arena-duel-scoring-head { text-align: right; }
.arena-duel-scoring .arena-reveal-step { padding: 5px 7px; font-size: 12px; }
.arena-duel-scoring .arena-reveal-step.is-trinket { font-weight: 900; border: 1px solid currentColor; box-shadow: inset 0 0 14px color-mix(in srgb, currentColor 18%, transparent); }
.arena-reveal-step.is-trinket { position: relative; isolation: isolate; overflow: hidden; }
.trinket-fx-icon { display: inline-grid; place-items: center; width: 1.4em; margin-right: .35em; font-style: normal; filter: drop-shadow(0 0 5px currentColor); }
.arena-reveal-step.is-trinket.is-triggering { animation: wut-trinket-step .8s ease both; }
.arena-reveal-step.is-trinket.is-triggering::after { position: absolute; z-index: -1; inset: -60%; content: ''; background: conic-gradient(from 90deg, transparent, currentColor, transparent 28%); opacity: .22; animation: wut-trinket-sweep .8s ease-out; }
.arena-duel-entry.is-trinket-firing .arena-duel-card { animation: wut-trinket-card .8s ease; }
.arena-duel-entry[data-trigger-direction="incoming"].is-trinket-firing .arena-duel-card { animation: wut-trinket-hit .8s ease; }
.arena-duel-entry[data-trigger-family="hex_bag"].is-trinket-firing { box-shadow: 0 0 34px rgba(157,78,221,.55), inset 0 0 28px rgba(70,15,105,.3); }
.arena-duel-entry[data-trigger-family="siphon_stone"].is-trinket-firing { box-shadow: 0 0 34px rgba(255,48,92,.48), inset 0 0 28px rgba(95,0,25,.32); }
.arena-duel-entry[data-trigger-family="warding_charm"].is-trinket-firing { box-shadow: 0 0 38px rgba(77,190,255,.62), inset 0 0 30px rgba(35,145,255,.24); }
.arena-duel-entry[data-trigger-family="booster_cable"].is-trinket-firing,.arena-duel-entry[data-trigger-family="first_strike_tape"].is-trinket-firing { box-shadow: 0 0 36px rgba(255,225,80,.58); }
.arena-duel-entry[data-trigger-family="zebra_stripes"].is-trinket-firing { filter: contrast(1.2) grayscale(.45); }
.arena-duel-entry[data-trigger-family="glass_skates"][data-trigger-direction="self-negative"].is-trinket-firing { animation: wut-glass-bust .8s ease; }
.arena-reveal-step.is-trinket-targeted { position: relative; z-index: 1; outline: 2px solid currentColor; animation: wut-trinket-target .8s ease; }
.lineup-slot.is-trinket-playing { position: relative; z-index: 2; animation: wut-trinket-play .82s ease; }
.lineup-slot.is-trinket-playing::after { position: absolute; z-index: 12; top: 50%; left: 50%; content: attr(data-trinket-icon); pointer-events: none; font-size: 3.5rem; filter: drop-shadow(0 0 14px var(--rarity,#fff)); animation: wut-trinket-glyph .82s ease both; }
@keyframes wut-trinket-step { 0% { transform: scale(.96); opacity: .35; } 40% { transform: scale(1.035); } 100% { transform: scale(1); opacity: 1; } }
@keyframes wut-trinket-sweep { from { transform: rotate(-100deg); } to { transform: rotate(80deg); } }
@keyframes wut-trinket-card { 35% { transform: translateY(-5px) scale(1.025); filter: brightness(1.3) saturate(1.35); } }
@keyframes wut-trinket-hit { 20%,60% { transform: translateX(-5px); filter: brightness(.7) saturate(1.7); } 40% { transform: translateX(6px); } }
@keyframes wut-glass-bust { 25% { transform: rotate(-.6deg); } 50% { transform: rotate(.6deg); } }
@keyframes wut-trinket-play { 35% { box-shadow: 0 0 34px var(--rarity,#fff); transform: translateY(-3px); } }
@keyframes wut-trinket-glyph { 0% { opacity: 0; transform: translate(-50%,-50%) scale(.25) rotate(-18deg); } 45% { opacity: 1; transform: translate(-50%,-50%) scale(1.2) rotate(8deg); } 100% { opacity: 0; transform: translate(-50%,-75%) scale(.8); } }
@keyframes wut-trinket-target { 35% { transform: scale(1.04); background: color-mix(in srgb, currentColor 24%, transparent); } }
@media (prefers-reduced-motion: reduce) {
  .arena-reveal-step.is-trinket.is-triggering,.arena-reveal-step.is-trinket.is-triggering::after,.arena-reveal-step.is-trinket-targeted,.arena-duel-entry.is-trinket-firing .arena-duel-card,.lineup-slot.is-trinket-playing,.lineup-slot.is-trinket-playing::after { animation: none !important; }
}
.arena-duel-scoring .arena-player-fp { color: var(--rarity); font-size: 17px; }
.arena-duel-entry.is-left .arena-player-fp { text-align: right; }
.arena-duel-entry.is-right .arena-player-fp { text-align: left; }
.arena-duel-scoring details { margin-top: 9px; color: var(--muted); font-size: 11px; }
.arena-duel-scoring pre { max-height: 180px; overflow: auto; white-space: pre-wrap; font-size: 9px; }
.arena-game-rolls { margin-top: 9px; color: var(--muted); font-size: 11px; }
.arena-game-rolls summary { cursor: pointer; font-weight: 800; }
.arena-game-roll-list { display: grid; gap: 4px; margin-top: 7px; }
.arena-game-roll { display: flex; justify-content: space-between; gap: 9px; padding: 5px 7px; border-radius: 6px; background: rgba(255,255,255,.035); color: var(--text); }
.arena-game-roll strong { flex: 0 0 auto; }
.arena-game-roll.is-bonus { border: 1px solid color-mix(in srgb, var(--accent) 45%, transparent); }
.arena-game-roll.is-excluded { opacity: .48; text-decoration: line-through; }
.admin-bulk-save-bar { position: sticky; bottom: 0; display: flex; justify-content: flex-end; padding: 14px 0 2px; background: linear-gradient(transparent, var(--card) 22%); }
.wut-match-admin-page { display: grid; gap: 18px; }
.wut-admin-match-list { display: grid; gap: 12px; }
.wut-admin-match-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px 18px; padding: 16px; border: 1px solid var(--border); border-radius: 12px; background: var(--card2); }
.wut-admin-match-main { display: flex; align-items: center; gap: 12px; }
.wut-admin-match-main div { display: grid; gap: 4px; }
.wut-admin-match-main small { color: var(--muted); }
.wut-admin-match-details { grid-column: 1; }
.wut-admin-lineups { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 10px; }
.wut-admin-lineups section { padding: 10px; border: 1px solid var(--border); border-radius: 9px; }
.wut-admin-lineups h3,.wut-admin-lineups p { margin: 0 0 6px; }
.wut-admin-void-form { grid-column: 2; grid-row: 1 / span 2; display: grid; align-content: center; gap: 8px; min-width: 250px; }
.wut-admin-void-form label,.wut-admin-history-filter label { display: grid; gap: 5px; }
.wut-admin-void-form button { border-color: #ff6b6b; background: #7f2630; color: #fff; }
.wut-admin-history-filter { display: flex; align-items: end; gap: 10px; margin-bottom: 14px; }
.wut-admin-history-table details { min-width: 190px; }
.wut-admin-history-table details p { margin: 4px 0 8px; color: var(--muted); }
@media(max-width:800px){.wut-admin-match-row{grid-template-columns:1fr}.wut-admin-match-details,.wut-admin-void-form{grid-column:1;grid-row:auto}.wut-admin-lineups{grid-template-columns:1fr}.wut-admin-history-filter{align-items:stretch;flex-direction:column}}
.cards-scoring-config-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.cards-scoring-config-grid label { display: grid; gap: 6px; }
.cards-save-pct-config { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(150px, 1fr); gap: 8px 12px; align-items: center; }
.cards-save-pct-config strong { color: var(--muted); font-size: 12px; }
.admin-number-suffix { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 7px; }
.horse-admin-config-form { display: grid; grid-template-columns: repeat(4, minmax(140px, 1fr)) auto; align-items: end; gap: 12px; margin: 16px 0; padding: 14px; border: 1px solid var(--border); border-radius: 12px; background: var(--card2); }
.horse-admin-config-form label { display: grid; gap: 6px; }
@keyframes arenaStatIn { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 980px) {
  .cards-boost-config-grid { grid-template-columns: repeat(2, minmax(140px, 1fr)); }
  .arena-turn-form fieldset { grid-template-columns: 1fr; }
  .full-collection-filters { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
  .arena-duel-row { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .arena-queue-card, .arena-ready-match, .arena-match-head, .arena-admin summary span { align-items: flex-start; flex-direction: column; }
  .arena-turn-status { width: 100%; text-align: left; }
  .arena-board { grid-template-columns: 1fr; }
  .arena-reveal-slot { grid-template-columns: 1fr; }
  .arena-reveal-slot > h3 { margin-bottom: 0; }
  .arena-history-row { align-items: flex-start; }
  .arena-active-head, .arena-active-title, .arena-active-actions, .arena-visual-lock-form { align-items: flex-start; flex-direction: column; }
  .full-collection-filters { grid-template-columns: 1fr; }
  .horse-admin-config-form { grid-template-columns: 1fr; }
  .arena-duel-scoreboard { top: 116px; grid-template-columns: 1fr 1fr; gap: 8px; padding: 10px; }
  .arena-duel-score-center { grid-column: 1 / -1; grid-row: 1; }
  .arena-duel-total { grid-row: 2; }
  .arena-duel-entry, .arena-duel-entry.is-right { --arena-reveal-card-width: 140px; grid-template-columns: var(--arena-reveal-card-width) minmax(0, 1fr); }
  .arena-duel-entry.is-right .arena-duel-card { grid-column: 1; grid-row: 1; }
  .arena-duel-entry.is-right .arena-duel-scoring { grid-column: 2; grid-row: 1; }
}


/* Extra-compact betting card layout */
.compact-series {
  padding: 14px 18px;
}
.compact-series-head {
  align-items: center;
  margin-bottom: 10px;
}
.compact-series-head h2 {
  font-size: 22px;
  line-height: 1.15;
  margin-top: 6px;
}
.compact-current-bet {
  min-width: 0px;
  padding: 9px 12px;
  border-radius: 12px;
  gap: 5px 10px;
}
.compact-current-bet strong,
.compact-current-bet span:last-child {
  width: auto;
  text-align: left;
  white-space: nowrap;
}
.compact-no-bet {
  margin: 0;
}
.compact-builder-form {
  gap: 8px;
}
.compact-control-row {
  display: grid;
  grid-template-columns: 150px minmax(280px, 1.1fr) minmax(300px, 1fr);
  gap: 12px;
  align-items: end;
}
.inline-stake {
  gap: 6px;
}
.compact-stake input {
  height: 42px;
  padding: 8px 10px;
}
.compact-choice-row {
  gap: 7px;
}
.compact-choice-row .choice-btn {
  padding: 9px 12px;
  min-height: 42px;
  white-space: nowrap;
}
.risk-row .choice-btn {
  min-width: 92px;
}
.compact-builder-actions {
  grid-template-columns: 1fr auto;
  gap: 10px;
  margin-top: 2px;
}
.compact-summary {
  min-height: 40px;
  padding: 9px 12px;
  border-radius: 12px;
}
.place-button {
  min-height: 40px;
  padding: 9px 14px;
}
.cancel-bet-form {
  margin: 2px 0 0;
}
.cancel-bet-button {
  width: fit-content;
  min-height: 32px;
  padding: 6px 10px;
  background: transparent;
  color: var(--danger);
  border: 1px solid rgba(255,107,107,.48);
  font-size: 12px;
}
.cancel-bet-button:hover {
  background: rgba(255,107,107,.10);
}

@media (max-width: 1050px) {
  .compact-control-row {
    grid-template-columns: 130px 1fr;
  }
  .risk-step {
    grid-column: 1 / -1;
  }
}

@media (max-width: 800px) {
  .compact-control-row {
    grid-template-columns: 1fr;
  }
  .compact-current-bet {
    min-width: 0;
    width: 100%;
  }
  .compact-current-bet strong,
  .compact-current-bet span:last-child {
    text-align: left;
  }
}

.balance-line { margin-bottom: 0; }
.small-note { margin: 10px 0 0; font-size: 12px; }
.matchup-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.division-matchups h3 {
  margin: 0 0 10px;
}
.compact-matchup-list {
  gap: 8px;
}
.compact-matchup-row {
  justify-content: center;
  padding: 10px 12px;
  text-align: center;
}
.compact-matchup-row span {
  color: var(--muted);
}
@media (max-width: 800px) {
  .matchup-columns { grid-template-columns: 1fr; }
}

.community-odds {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  padding: 2px 7px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;

  background: transparent;
  color: var(--text);
  border: 1px solid var(--border);
}

.community-odds.favorite {
  color: rgb(
    calc(243 - (209 * var(--odds-intensity))),
    calc(246 - (49 * var(--odds-intensity))),
    calc(251 - (157 * var(--odds-intensity)))
  );

  border-color: rgb(
    calc(48 - (14 * var(--odds-intensity))),
    calc(55 + (142 * var(--odds-intensity))),
    calc(71 + (23 * var(--odds-intensity)))
  );
}

.community-odds.underdog {
  color: rgb(
    calc(243 - (4 * var(--odds-intensity))),
    calc(246 - (178 * var(--odds-intensity))),
    calc(251 - (183 * var(--odds-intensity)))
  );

  border-color: rgb(
    calc(48 + (191 * var(--odds-intensity))),
    calc(55 + (13 * var(--odds-intensity))),
    calc(71 - (3 * var(--odds-intensity)))
  );
}

/* Prop betting layout */
.toggle-stack {
  display: grid;
  gap: 10px;
  justify-items: end;
}
select {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 10px 12px;
  background: #0f1320;
  color: var(--text);
  min-height: 42px;
}
.prop-board { gap: 16px; }
.prop-division-card { padding: 16px 18px; }
.prop-division-head { margin-bottom: 14px; }
.prop-grid {
  display: grid;
  gap: 12px;
}
.prop-card {
  background: var(--card2);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 12px;
}
.prop-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}
.prop-card-head h3 {
  margin: 0 0 4px;
}
.prop-card-head p {
  margin: 0;
  font-size: 13px;
}
.prop-current-bet {
  min-width: 0;
  max-width: none;
}
.prop-control-row {
  display: grid;
  grid-template-columns: 130px minmax(220px, 1fr) minmax(360px, 1.4fr);
  gap: 12px;
  align-items: end;
}
.prop-control-row.no-quantity {
  grid-template-columns: 130px minmax(260px, 1fr);
}
.prop-select-label {
  display: grid;
  gap: 6px;
}
.prop-result-step { gap: 6px; }
.prop-quantity-row .choice-btn {
  padding: 9px 12px;
  min-height: 42px;
  white-space: nowrap;
}
.prop-quantity-row span {
  color: var(--accent);
  font-weight: 900;
}
@media (max-width: 1050px) {
  .prop-card-head { align-items: flex-start; flex-direction: column; }
  .prop-control-row,
  .prop-control-row.no-quantity {
    grid-template-columns: 1fr;
  }
  .toggle-stack { justify-items: start; }
}

/* Optional O/U series boost */
.goal-total-row .choice-btn {
  min-width: 76px;
}
.goal-total-step .muted {
  font-size: 11px;
  text-transform: none;
  letter-spacing: normal;
}
@media (min-width: 1051px) {
  .compact-control-row {
    grid-template-columns: 140px minmax(240px, 1fr) minmax(300px, 1fr) minmax(190px, .75fr);
  }
}
@media (max-width: 1050px) {
  .goal-total-step {
    grid-column: 1 / -1;
  }
}

/* tweaks */
.goal-total-step .step-label .boost-mult{color: var(--accent); font-weight:900;}


/* Admin panel */
.admin-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin: 18px 0;
}
.admin-card {
  margin: 18px 0;
}
.admin-card h2 {
  margin-bottom: 14px;
}


.admin-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.admin-section-head h2 {
  margin: 0;
}

.admin-collapse-toggle {
  flex: 0 0 auto;
  white-space: nowrap;
}
.admin-odds-week-toggle { margin-bottom: 12px; }
.bulk-odds-submit {
  justify-content: flex-end;
  margin-top: 16px;
}

.admin-collapsible-body[hidden] {
  display: none !important;
}
.series-review-selector {
  display: grid;
  gap: 7px;
  max-width: 620px;
  margin: 16px 0;
}
.series-review-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}
.series-review-overview > div {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--card2);
}
.series-review-overview strong {
  font-size: 20px;
}
.series-review-list {
  display: grid;
  gap: 10px;
}
.series-review-market {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--card2);
}
.series-review-market summary {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 13px 15px;
  cursor: pointer;
}
.series-review-market[open] summary {
  border-bottom: 1px solid var(--border);
}
.series-review-market-title,
.series-review-market-totals {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
}
.series-review-market-totals {
  justify-content: flex-end;
  font-size: 13px;
}
.series-review-bets table {
  margin: 0;
}
.series-review-empty {
  padding: 14px;
  border: 1px dashed var(--border);
  border-radius: 12px;
}
@media (max-width: 800px) {
  .series-review-overview {
    grid-template-columns: 1fr 1fr;
  }
  .series-review-market summary {
    grid-template-columns: 1fr;
  }
  .series-review-market-totals {
    justify-content: flex-start;
  }
}
.admin-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 14px;
}
.admin-inline-form {
  display: grid;
  grid-template-columns: minmax(180px, 260px) auto;
  align-items: end;
  gap: 12px;
  margin: 14px 0;
}
.admin-danger-zone {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  background: var(--card2);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 14px;
  margin-top: 14px;
}
.admin-danger-zone p {
  margin: 4px 0 0;
}
.admin-danger-zone.hard-reset {
  border-color: rgba(255,107,107,.45);
}
.table-wrap {
  overflow-x: auto;
}
.top-bets-scroll {
  max-height: 462px;
  overflow: auto;
}
.top-bets-scroll thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--card);
}
@media (max-width: 900px) {
  .admin-grid,
  .admin-inline-form {
    grid-template-columns: 1fr;
  }
  .admin-danger-zone {
    align-items: flex-start;
    flex-direction: column;
  }
}


.admin-balance-adjust-form {
  display: grid;
  grid-template-columns: 120px minmax(150px, 1fr) auto;
  gap: 8px;
  align-items: center;
}
.admin-balance-adjust-form input {
  padding: 8px 10px;
  min-height: 38px;
}
.admin-balance-adjust-form button {
  padding: 8px 12px;
  min-height: 38px;
}
@media (max-width: 900px) {
  .admin-balance-adjust-form {
    grid-template-columns: 1fr;
  }
}

.admin-user-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr)) auto;
  gap: 10px;
  align-items: end;
}
.admin-user-form input,
.admin-user-form select,
.admin-user-edit-form input,
.admin-user-edit-form select {
  min-height: 38px;
  padding: 8px 10px;
}
.admin-user-form button,
.admin-user-edit-form button {
  min-height: 38px;
  padding: 8px 12px;
}
.admin-user-edit-form {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) minmax(110px, 1fr) minmax(150px, 1fr) 90px auto;
  gap: 8px;
  align-items: center;
  min-width: 660px;
}
.admin-bulk-balance-form {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) 180px minmax(220px, 1fr) auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 16px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--card2);
}
.admin-bulk-balance-form p { margin: 4px 0 0; }
@media (max-width: 1100px) {
  .admin-user-form,
  .admin-user-edit-form,
  .admin-bulk-balance-form {
    grid-template-columns: 1fr;
  }
  .admin-user-edit-form {
    min-width: 0;
  }
}


/* Final polish */
.self-row td {
  background: rgba(102,217,163,.10);
  font-weight: 800;
}
.history-win td {
  background: rgba(102,217,163,.06);
}
.history-loss td {
  background: rgba(255,107,107,.045);
}

/* Admin odds editor */
.admin-odds-grid,
.admin-prop-grid {
  display: grid;
  gap: 14px;
}
.admin-odds-card {
  background: var(--card2);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 14px;
}
.admin-odds-market-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(130px, 1fr));
  gap: 10px;
  margin: 10px 0 12px;
}
.admin-prop-division {
  margin-top: 18px;
}
.admin-prop-quantity-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
  gap: 10px;
  margin-bottom: 10px;
}
.admin-prop-tier-column {
  display: grid;
  align-content: start;
  gap: 10px;
}
#prop-odds-recommendations .admin-prop-quantity-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.admin-prop-default-form,
.admin-player-override-form {
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
}
.admin-player-override-form {
  border-top: 1px solid var(--border);
  padding-top: 12px;
}
.admin-odds-card h4 {
  margin: 0;
}
.odds-model-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0 18px;
}
.odds-model-summary span {
  padding: 7px 10px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--card2);
  color: var(--muted);
  font-size: 12px;
}
.odds-recommendation-grid {
  display: grid;
  gap: 16px;
}
.odds-recommendation-card {
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 16px;
  background: var(--card2);
}
.odds-recommendation-head,
.odds-projection-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.odds-recommendation-head h3 {
  margin: 7px 0 0;
}
.odds-confidence {
  flex: 0 0 auto;
  padding: 6px 10px;
  border: 1px solid var(--border);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.odds-confidence-high {
  color: var(--accent);
  border-color: rgba(102,217,163,.45);
}
.odds-confidence-medium {
  color: #ffd35c;
  border-color: rgba(255,211,92,.42);
}
.odds-confidence-low {
  color: var(--danger);
  border-color: rgba(255,107,107,.42);
}
.odds-projection-strip {
  margin: 14px 0;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(255,255,255,.025);
}
.odds-projection-strip > div:not(.odds-projection-vs) {
  display: grid;
  gap: 3px;
  flex: 1 1 0;
}
.odds-projection-strip > div:last-child {
  text-align: right;
}
.odds-projection-strip strong {
  font-size: 24px;
}
.odds-projection-strip small,
.odds-projection-vs {
  color: var(--muted);
}
.odds-projection-vs {
  font-weight: 900;
  font-size: 12px;
}
.odds-recommendation-table th:nth-child(n+2),
.odds-recommendation-table td:nth-child(n+2) {
  text-align: right;
}
.odds-recommendation-table td:last-child strong {
  color: var(--accent);
}
.odds-recommendation-table input[type="number"] {
  width: 82px;
  min-height: 34px;
  padding: 6px 8px;
  text-align: right;
}
#prop-odds-recommendations .admin-odds-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
#prop-odds-recommendations .admin-odds-card {
  display: grid;
  gap: 10px;
}
.admin-prop-search {
  display: grid;
  gap: 6px;
  max-width: 520px;
  margin: 12px 0 16px;
}
.prop-rate-summary {
  margin: 0;
}
.prop-rate-summary small {
  color: var(--muted);
  margin-left: 3px;
}
.odds-total-row td {
  border-top: 2px solid var(--border);
}
.odds-evidence {
  margin: 12px 0 0;
  font-size: 12px;
}
@media (max-width: 1050px) {
  .admin-odds-market-grid,
  .admin-prop-quantity-grid {
    grid-template-columns: 1fr;
  }
  #prop-odds-recommendations .admin-odds-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 700px) {
  #prop-odds-recommendations .admin-prop-quantity-grid {
    grid-template-columns: 1fr;
  }
  .odds-recommendation-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .odds-projection-strip strong {
    font-size: 20px;
  }
}
.leaderboard-scroll {
  max-height: 360px;
  overflow-y: auto;
  border-radius: 12px;
}

.leaderboard-scroll table {
  margin-bottom: 0;
}

.settlement-preview-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 14px;
  margin: 14px 0 12px;
}

.settlement-preview-controls label {
  display: grid;
  gap: 6px;
}

.settlement-preview-checkbox {
  display: flex !important;
  grid-template-columns: none;
  flex-direction: row;
  align-items: center;
  gap: 8px !important;
  color: var(--muted);
}

.settlement-preview-checkbox input {
  width: auto;
}

.compact-matchup-card {
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 8px;
}

.matchup-line {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
}

.matchup-line strong:first-child .community-odds {
  margin-left: 0;
  margin-right: 6px;
}

.matchup-result-row {
  display: flex;
  justify-content: center;
  width: 100%;
}

.matchup-result-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: var(--text);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
  text-decoration: none;
}

.matchup-result-tbd {
  color: var(--muted);
}


.compact-matchup-row .matchup-result-badge {
  color: var(--text);
}

.compact-matchup-row .matchup-result-tbd {
  color: var(--muted);
}

a.matchup-result-badge:hover {
  text-decoration: underline;
}

/* Casino */
.casino-container { max-width: 1180px; padding-top: 18px; }
.casino-closed-notice {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 16px 0;
  border-color: rgba(255,107,107,.45);
  background: rgba(255,107,107,.1);
}
.casino-closed-notice strong { color: var(--danger); }
.casino-admin-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0;
}
.casino-admin-metrics > div {
  display: grid;
  gap: 5px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--card2);
}
.casino-admin-metrics strong { font-size: 24px; }
.casino-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.casino-balance {
  padding: 14px 18px;
  min-width: 220px;
  display: grid;
  gap: 4px;
  text-align: right;
  background: linear-gradient(135deg, rgba(102,217,163,.08), var(--card) 55%);
}
.casino-balance strong {
  font-size: 28px;
  line-height: 1;
  color: var(--text);
  transition: color .16s ease, text-shadow .16s ease;
}
.casino-balance strong.balance-increasing {
  color: var(--accent);
  text-shadow: 0 0 16px rgba(102,217,163,.28);
}
.casino-balance strong.balance-decreasing {
  color: var(--danger);
  text-shadow: 0 0 16px rgba(255,107,107,.24);
}
.casino-tabs { margin: 0; }
.casino-tabs .button-link { display: inline-flex; align-items: center; gap: 7px; }
.casino-presence-badge { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border: 1px solid rgba(102,217,163,.45); border-radius: 999px; color: var(--accent); background: rgba(102,217,163,.12); font-size: 12px; font-weight: 900; font-variant-numeric: tabular-nums; line-height: 1; }
.casino-presence-badge[hidden] { display: none; }
.casino-tab-disabled { cursor: default; opacity: .65; }
.jackpot-card {
  text-align: center;
  margin-bottom: 20px;
  padding: 20px 24px;
  background:
    radial-gradient(circle at top, rgba(102,217,163,.22), transparent 38%),
    linear-gradient(135deg, rgba(18,24,38,.98), rgba(15,19,32,.98));
  border-color: rgba(102,217,163,.22);
  overflow: hidden;
  position: relative;
}
.jackpot-card::before,
.jackpot-card::after {
  content: '';
  position: absolute;
  inset: auto auto -70px -70px;
  width: 160px;
  height: 160px;
  border-radius: 999px;
  background: rgba(102,217,163,.07);
  pointer-events: none;
}
.jackpot-card::after { inset: -80px -70px auto auto; }
.jackpot-amount {
  position: relative;
  z-index: 1;
  font-size: clamp(34px, 6vw, 64px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: .02em;
  color: var(--accent);
  text-shadow: 0 0 22px rgba(102,217,163,.24);
}
.slot-card {
  display: grid;
  gap: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), transparent 38%),
    var(--card);
}
.slot-reels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding: 14px;
  border-radius: 22px;
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.05);
}
.slot-reel {
  min-height: 198px;
  background: linear-gradient(180deg, #101625, #0d1220);
  border: 1px solid var(--border);
  border-radius: 18px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 12px;
  padding: 18px;
  box-shadow: inset 0 0 32px rgba(0,0,0,.34), 0 12px 28px rgba(0,0,0,.16);
  overflow: hidden;
}
.slot-reel-window {
  width: 132px;
  height: 132px;
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
}
.slot-reel img,
.slot-reel-strip-item img {
  width: 118px;
  height: 118px;
  object-fit: contain;
  filter: drop-shadow(0 10px 14px rgba(0,0,0,.38));
  transition: transform .16s ease, filter .16s ease;
}
.slot-reel-strip {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  will-change: transform;
}
.slot-reel-strip-item {
  display: grid;
  place-items: center;
}
.slot-reel-window-spinning::before,
.slot-reel-window-spinning::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 24px;
  z-index: 2;
  pointer-events: none;
}
.slot-reel-window-spinning::before {
  top: 0;
  background: linear-gradient(180deg, rgba(13,18,32,.92), transparent);
}
.slot-reel-window-spinning::after {
  bottom: 0;
  background: linear-gradient(0deg, rgba(13,18,32,.92), transparent);
}
.slot-reel-stopping img {
  transform: scale(1.12);
  filter: drop-shadow(0 0 16px rgba(245,248,255,.32));
}
.slot-reel-stopping.slot-reel-stop-d3 img {
  filter: drop-shadow(0 0 16px rgba(245,248,255,.42));
}
.slot-reel-stopping.slot-reel-stop-d2 img {
  filter: drop-shadow(0 0 16px rgba(102,217,163,.46));
}
.slot-reel-stopping.slot-reel-stop-d1 img {
  filter: drop-shadow(0 0 17px rgba(92,154,255,.46));
}
.slot-reel-stopping.slot-reel-stop-wcpl img {
  filter: drop-shadow(0 0 18px rgba(177,116,255,.52));
}
.slot-reel-stopping.slot-reel-stop-mushy img {
  filter: drop-shadow(0 0 20px rgba(255,211,92,.58));
}

.slot-reel-win {
  animation: slotWinPop .34s ease-out;
}
.slot-reel-win-d3 {
  border-color: rgba(245,248,255,.92);
  box-shadow:
    inset 0 0 32px rgba(245,248,255,.12),
    0 0 0 2px rgba(245,248,255,.36),
    0 0 22px rgba(245,248,255,.28);
}
.slot-reel-win-d2 {
  border-color: rgba(102,217,163,.95);
  box-shadow:
    inset 0 0 32px rgba(102,217,163,.14),
    0 0 0 2px rgba(102,217,163,.38),
    0 0 24px rgba(102,217,163,.34);
}
.slot-reel-win-d1 {
  border-color: rgba(92,154,255,.95);
  box-shadow:
    inset 0 0 32px rgba(92,154,255,.14),
    0 0 0 2px rgba(92,154,255,.40),
    0 0 26px rgba(92,154,255,.34);
}
.slot-reel-win-wcpl {
  border-color: rgba(177,116,255,.98);
  box-shadow:
    inset 0 0 34px rgba(177,116,255,.16),
    0 0 0 2px rgba(177,116,255,.42),
    0 0 28px rgba(177,116,255,.38);
}
.slot-reel-win-mushy {
  border-color: rgba(255,211,92,.98);
  box-shadow:
    inset 0 0 38px rgba(255,211,92,.18),
    0 0 0 2px rgba(255,211,92,.46),
    0 0 34px rgba(255,211,92,.46);
}
.slot-reel-win img {
  transform: scale(1.08);
}
.jackpot-card.jackpot-hit {
  border-color: rgba(255,211,92,.75);
  animation: jackpotPulse .9s ease-in-out 2;
}
.jackpot-card.jackpot-hit .jackpot-amount {
  color: #ffd35c;
  text-shadow: 0 0 28px rgba(255,211,92,.46);
}
@keyframes slotWinPop {
  0% { transform: scale(.98); }
  55% { transform: scale(1.025); }
  100% { transform: scale(1); }
}
@keyframes jackpotPulse {
  0%, 100% { box-shadow: 0 12px 30px rgba(0,0,0,.2); }
  50% { box-shadow: 0 0 0 2px rgba(255,211,92,.34), 0 0 42px rgba(255,211,92,.34); }
}
.slot-reel span {
  min-height: 28px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  text-align: center;
}
.slot-result {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 14px 16px;
  background: var(--card2);
}
.slot-result strong { font-size: 20px; }
.slot-win { border-color: rgba(102,217,163,.55); background: rgba(102,217,163,.12); }
.slot-push { border-color: rgba(245,248,255,.38); background: rgba(245,248,255,.07); }
.slot-loss { border-color: rgba(255,107,107,.42); background: rgba(255,107,107,.08); }
.slot-spinning { border-color: rgba(126,166,255,.42); background: rgba(126,166,255,.08); }
.slot-result-tier-d3 {
  border-color: rgba(245,248,255,.82);
  background: rgba(245,248,255,.10);
  box-shadow: 0 0 20px rgba(245,248,255,.12);
}
.slot-result-tier-d2 {
  border-color: rgba(102,217,163,.78);
  background: rgba(102,217,163,.12);
  box-shadow: 0 0 22px rgba(102,217,163,.13);
}
.slot-result-tier-d1 {
  border-color: rgba(92,154,255,.80);
  background: rgba(92,154,255,.12);
  box-shadow: 0 0 22px rgba(92,154,255,.13);
}
.slot-result-tier-wcpl {
  border-color: rgba(177,116,255,.84);
  background: rgba(177,116,255,.13);
  box-shadow: 0 0 24px rgba(177,116,255,.16);
}
.slot-result-tier-mushy {
  border-color: rgba(255,211,92,.88);
  background: rgba(255,211,92,.13);
  box-shadow: 0 0 28px rgba(255,211,92,.18);
}
.slot-form { display: grid; gap: 14px; justify-items: center; }
.slot-wager-row {
  display: grid;
  grid-template-columns: 54px minmax(180px, 260px) 54px;
  gap: 12px;
  align-items: stretch;
}
.slot-step-btn { font-size: 28px; padding: 0; border-radius: 14px; }
.slot-step-btn:disabled { opacity: .45; cursor: not-allowed; }
.slot-wager-display {
  background: var(--card2);
  border: 1px solid var(--border);
  border-radius: 14px;
  display: grid;
  place-items: center;
  padding: 12px 18px;
  text-align: center;
}
.slot-wager-display strong { font-size: 24px; }
.slot-spin-button {
  min-width: 220px;
  min-height: 54px;
  font-size: 20px;
  letter-spacing: .08em;
}
.casino-info-grid {
  align-items: start;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
}
.casino-info-grid .admin-section-head .toggle-row {
  flex-wrap: nowrap;
}
.casino-leaderboard-scroll {
  max-height: 462px;
  overflow-y: auto;
  border: 1px solid var(--border);
  border-radius: 12px;
}
.casino-leaderboard-scroll tr { height: 42px; }
.casino-leaderboard-scroll table { margin: 0; }
.casino-leaderboard-scroll thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--card);
}
.casino-leaderboard-summary {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 8px 0;
  color: var(--muted);
}
.casino-leaderboard-summary strong {
  margin-left: 5px;
  color: var(--text);
}
@media (max-width: 600px) {
  .casino-leaderboard-summary { flex-direction: column; }
}
@media (max-width: 800px) {
  .casino-topbar { align-items: stretch; flex-direction: column; }
  .casino-balance { text-align: left; width: 100%; }
  .slot-reels { gap: 8px; padding: 8px; }
  .slot-reel { min-height: 140px; padding: 10px; }
  .slot-reel-window { width: 86px; height: 86px; }
  .slot-reel img,
  .slot-reel-strip-item img { width: 78px; height: 78px; }
  .slot-reel span { font-size: 10px; min-height: 24px; }
  .slot-wager-row { grid-template-columns: 48px minmax(140px, 1fr) 48px; width: 100%; }
  .slot-spin-button { width: 100%; }
  .casino-info-grid { grid-template-columns: 1fr; }
}

.payout-symbols {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

.payout-symbols img {
  width: 36px;
  height: 36px;
  object-fit: contain;
  vertical-align: middle;
}

.payout-logo-cycle {
  min-width: 64px;
}

/* ---------------- Puck IQ ---------------- */
.shot-doctor-container { max-width: 1180px; }
.shot-doctor-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}
.shot-doctor-hero h1 { margin: 0 0 6px; }
.shot-doctor-rules {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.shot-doctor-rules span {
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 8px 12px;
  background: var(--card2);
  color: var(--text);
  white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.shot-doctor-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 16px;
  align-items: start;
}
.shot-doctor-game-card {
  min-width: 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), transparent 38%),
    var(--card);
}
.shot-doctor-status-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.shot-timer {
  min-width: 86px;
  text-align: center;
  font-size: 1.45rem;
  font-weight: 900;
  padding: 8px 12px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: var(--card2);
  color: var(--text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.shot-timer.is-danger {
  color: #b91c1c;
  border-color: rgba(185,28,28,0.35);
  box-shadow: 0 0 0 3px rgba(185,28,28,0.12);
}

.shot-runs-remaining {
  min-width: 210px;
  text-align: center;
  font-size: 0.95rem;
  font-weight: 900;
  padding: 10px 14px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: var(--card2);
  color: var(--text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.shot-map-wrap {
  position: relative;
  border: 1px solid var(--border);
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 12px 28px rgba(0,0,0,.16);
}
.shot-doctor-map {
  width: 100%;
  height: 430px;
}
.shot-map-empty {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--muted, #6b7280);
  font-weight: 700;
  background: rgba(255,255,255,0.92);
  text-align: center;
  padding: 20px;
}
.shot-info-panel {
  display: grid;
  grid-template-columns: 1.46fr 1.46fr 0.95fr 0.95fr 0.95fr;
  gap: 10px;
  margin: 12px 0;
}
.shot-info-panel > div {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 10px;
  background: var(--card2);
  color: var(--text);
  min-width: 0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.shot-info-panel span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
}
.shot-info-panel strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.shot-doctor-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
  margin: 14px 0 0;
}
.shot-start-button,
.shot-guess-button,
.shot-next-button {
  min-width: 140px;
  text-align: center;
  border: 0;
  cursor: pointer;
}
.shot-start-button {
  min-width: 150px;
  min-height: 46px;
}
.shot-guess-button[data-guess="G"] {
  background: #16a34a;
  color: #fff;
}
.shot-guess-button[data-guess="S"] {
  background: #2563eb;
  color: #fff;
}
.shot-reveal { margin-top: 10px; }
.shot-payout-card h2 { margin-top: 0; }
.shot-payout-table th,
.shot-payout-table td {
  text-align: center;
}
.shot-payout-table tr.is-earned td {
  background: rgba(255,211,92,.13);
  border-bottom-color: rgba(255,211,92,.30);
  color: #ffd35c;
  font-weight: 900;
  border-left-color: transparent;
  border-right-color: transparent;
  box-shadow: none;
}
.shot-payout-table tr.is-current td {
  background: rgba(255,211,92,.22);
  color: #ffe7a3;
  border-left-color: transparent;
  border-right-color: transparent;
  box-shadow: none;
}
.shot-result-bar {
  margin-top: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 12px 14px;
  background: var(--card2);
}
.shot-result-bar strong {
  font-size: 1rem;
  white-space: nowrap;
}
.shot-result-bar span {
  color: var(--muted);
  text-align: right;
}
.shot-result-bar.is-win {
  border-color: rgba(102,217,163,.45);
  background: rgba(102,217,163,.10);
}
.shot-result-bar.is-win strong { color: var(--accent); }
.shot-result-bar.is-loss {
  border-color: rgba(255,107,107,.45);
  background: rgba(255,107,107,.10);
}
.shot-result-bar.is-loss strong { color: var(--danger); }
.shot-result-bar.is-push {
  border-color: rgba(255,255,255,.20);
}
.shot-leaderboard-card {
  margin-top: 16px;
}
.shot-leaderboard-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}
.shot-leaderboard-head h2 {
  margin: 0 0 6px;
}
.shot-leaderboard-table th:nth-child(2),
.shot-leaderboard-table th:nth-child(3),
.shot-leaderboard-table td:nth-child(2),
.shot-leaderboard-table td:nth-child(3) {
  text-align: right;
}

@media (max-width: 900px) {
  .shot-doctor-hero { flex-direction: column; align-items: stretch; }
  .shot-doctor-rules { justify-content: flex-start; }
  .shot-doctor-grid { grid-template-columns: 1fr; }
  .shot-info-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shot-doctor-map { height: 360px; }
  .shot-result-bar,
  .shot-leaderboard-head { flex-direction: column; align-items: stretch; }
  .shot-result-bar span { text-align: left; }
}

.shot-doctor-status-row.is-timing {
  justify-content: center;
}

/* Nightly horse racing */
.horse-racing-page {
  --track-gold: #f4c96b;
  --track-green: #224f3c;
  --track-dirt: #8a5b3d;
  display: grid;
  gap: 18px;
  max-width: 1450px;
}
.horse-racing-page [hidden] { display: none !important; }
.horse-live-panel { display: grid; gap: 18px; }
.horse-view-tabs { display: flex; gap: 8px; padding: 8px; }
.horse-view-tabs button { color: var(--muted); background: transparent; }
.horse-view-tabs button.is-active { color: #172019; background: var(--track-gold); }
.horse-race-hero {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 160px;
  border-color: rgba(244,201,107,.35);
  background:
    radial-gradient(circle at 82% 18%, rgba(244,201,107,.16), transparent 26%),
    linear-gradient(135deg, #18271f, #171b24 62%);
}
.horse-race-hero::after {
  content: "";
  position: absolute;
  right: -55px;
  bottom: -85px;
  width: 280px;
  height: 210px;
  opacity: .08;
  background: url('/images/casino/Horses/horse.png') center / contain no-repeat;
  transform: rotate(-5deg);
  pointer-events: none;
}
.horse-race-hero > * { position: relative; z-index: 1; }
.horse-race-hero h1 { max-width: 690px; margin-bottom: 8px; font-size: clamp(26px, 4vw, 42px); line-height: 1.03; }
.horse-race-schedule { margin: 0; }
.horse-race-clock-wrap { display: grid; justify-items: end; min-width: 210px; }
.horse-race-status {
  padding: 6px 10px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--muted);
  background: rgba(10,12,16,.5);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.horse-race-status[data-status="betting"] { color: var(--accent); border-color: rgba(102,217,163,.45); }
.horse-race-status[data-status="countdown"] { color: var(--track-gold); border-color: rgba(244,201,107,.45); }
.horse-race-status[data-status="racing"] { color: #fff; border-color: #ff765f; background: rgba(255,91,67,.2); animation: horse-status-pulse 1s infinite alternate; }
.horse-race-status[data-status="complete"] { color: var(--track-gold); border-color: rgba(244,201,107,.45); }
.horse-race-clock { margin: 5px 0 0; color: #fff; font-size: clamp(36px, 6vw, 60px); line-height: 1; font-variant-numeric: tabular-nums; letter-spacing: -.04em; text-shadow: 0 0 24px rgba(244,201,107,.2); }
.horse-race-clock-wrap small { color: var(--muted); }
@keyframes horse-status-pulse { to { box-shadow: 0 0 15px rgba(255,91,67,.4); } }

.horse-admin-controls { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px 20px; border-style: dashed; }
.horse-admin-controls p { margin-bottom: 3px; }
.horse-admin-controls > div:first-child { display: grid; gap: 3px; }
.horse-admin-close { color: #211708; background: var(--track-gold); }
.horse-admin-start { color: white; background: #e75d49; }
.horse-admin-reset { color: #ffd0d0; border: 1px solid rgba(255,107,107,.45); background: transparent; }
.horse-admin-controls .horse-inline-message { grid-column: 1 / -1; }

.horse-race-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 18px; align-items: start; }
.horse-race-main { min-width: 0; display: grid; gap: 18px; }
.horse-track-card { overflow: hidden; padding: 0; }
.horse-track-head, .horse-section-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.horse-track-head { padding: 20px 22px 15px; }
.horse-track-head p, .horse-section-head p { margin-bottom: 5px; }
.horse-track-head h2, .horse-section-head h2 { margin: 0; }
.horse-track {
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: auto;
  scrollbar-color: rgba(244,201,107,.5) rgba(10,12,16,.35);
  scrollbar-width: none;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(90deg, transparent 0 8%, rgba(255,255,255,.035) 8% 8.3%, transparent 8.3% 100%),
    #734a32;
  box-shadow: inset 0 12px 20px rgba(0,0,0,.2), inset 0 -12px 20px rgba(0,0,0,.18);
}
.horse-track::-webkit-scrollbar { display: none; }
.horse-track-sky, .horse-lane { width: max(100%, 3000px); }
.horse-track::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .16;
  background-image: repeating-linear-gradient(105deg, transparent 0 28px, rgba(255,255,255,.15) 29px 30px);
  pointer-events: none;
}
.horse-track-sky { position: absolute; inset: 0 0 auto; height: 20px; background: linear-gradient(#376e54, #28553f); }
.horse-track-sky span { position: absolute; bottom: 0; width: 52px; height: 14px; border-radius: 100% 100% 0 0; background: #173d2c; }
.horse-track-sky span:nth-child(1) { left: 18%; }
.horse-track-sky span:nth-child(2) { left: 48%; width: 80px; }
.horse-track-sky span:nth-child(3) { right: 8%; width: 65px; }
.horse-lane { position: relative; height: 88px; border-bottom: 1px dashed rgba(255,255,255,.26); }
.horse-lane:last-child { border-bottom: 0; }
.horse-lane-number {
  position: absolute;
  z-index: 2;
  left: 8px;
  top: 50%;
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  margin-top: -14px;
  border: 2px solid rgba(255,255,255,.7);
  border-radius: 50%;
  color: white;
  background: #1b2a23;
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 3px 10px rgba(0,0,0,.35);
}
.horse-runner { position: absolute; z-index: 3; left: 40px; top: 6px; width: 112px; will-change: transform; }
.horse-runner img { display: block; width: 112px; height: 64px; object-fit: contain; filter: drop-shadow(0 5px 3px rgba(0,0,0,.45)); transform-origin: 50% 70%; }
.horse-race-status[data-status="racing"] ~ * .horse-runner img,
.horse-runner img { animation: horse-gallop .36s ease-in-out infinite alternate; animation-play-state: paused; }
.horse-racing-page.is-racing .horse-runner img { animation-play-state: running; }
.horse-runner-name {
  position: absolute;
  left: 7px;
  bottom: -7px;
  max-width: 104px;
  overflow: hidden;
  padding: 2px 6px;
  border-radius: 5px;
  color: #fff;
  background: rgba(17,20,24,.78);
  font-size: 10px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.horse-career-tooltip {
  position: absolute;
  z-index: 30;
  left: 50%;
  bottom: calc(100% + 8px);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 3px 12px;
  width: 165px;
  padding: 9px 11px;
  border: 1px solid rgba(244,201,107,.45);
  border-radius: 10px;
  color: var(--text);
  text-align: left;
  background: rgba(13,17,22,.96);
  box-shadow: 0 9px 24px rgba(0,0,0,.42);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 5px);
  transition: opacity .16s, transform .16s;
}
.horse-career-tooltip > strong, .horse-career-tooltip > b { grid-column: 1 / -1; color: var(--track-gold); font-size: 11px; text-transform: uppercase; letter-spacing: .07em; }
.horse-career-tooltip span { position: static; display: contents; padding: 0; color: var(--muted); background: none; font-size: 10px; }
.horse-career-tooltip span b { color: var(--text); font-size: 11px; }
.horse-runner .horse-career-tooltip { left: 108px; top: 0; bottom: auto; transform: translateX(5px); }
.horse-runner:hover .horse-career-tooltip, .horse-pick:hover .horse-career-tooltip, .horse-pick:focus-within .horse-career-tooltip { opacity: 1; transform: translate(-50%, 0); }
.horse-runner:hover .horse-career-tooltip { transform: translateX(0); }
@keyframes horse-gallop { from { transform: translateY(1px) rotate(-1deg); } to { transform: translateY(-2px) rotate(1deg); } }
.horse-finish-line {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 160px;
  width: 14px;
  height: 100%;
  border-inline: 1px solid rgba(255,255,255,.75);
  background-color: #fff;
  background-image:
    linear-gradient(45deg, #111 25%, transparent 25%, transparent 75%, #111 75%),
    linear-gradient(45deg, #111 25%, transparent 25%, transparent 75%, #111 75%);
  background-position: 0 0, 7px 7px;
  background-size: 14px 14px;
}
.horse-place-badge {
  position: absolute;
  z-index: 5;
  right: 6px;
  top: 50%;
  display: grid;
  place-items: center;
  width: 42px;
  height: 28px;
  margin-top: -14px;
  border-radius: 50%;
  color: white;
  font-size: 12px;
  font-weight: 900;
  opacity: 0;
  transform: translateX(8px) scale(.75);
}
.horse-place-badge.is-visible { opacity: 1; transform: translateX(0) scale(1); animation: horse-place-pop .35s cubic-bezier(.2,1.6,.5,1); }
.horse-place-badge.place-1 { color: #241b09; background: #f7d36e; box-shadow: 0 0 15px rgba(247,211,110,.6); }
.horse-place-badge.place-2 { color: #17191d; background: #cdd3de; }
.horse-place-badge.place-3, .horse-place-badge.place-4, .horse-place-badge.place-5 { background: rgba(19,24,31,.8); }
@keyframes horse-place-pop { from { opacity: 0; transform: translateX(8px) scale(.6); } to { opacity: 1; transform: translateX(0) scale(1); } }
.horse-track-message { padding: 12px 20px; color: var(--muted); text-align: center; font-size: 13px; font-style: italic; background: #11151c; }

.horse-betting-card { display: grid; gap: 16px; }
.horse-betting-card form { display: grid; gap: 15px; }
.horse-pick-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; }
.horse-pick { position: relative; display: grid; justify-items: center; gap: 5px; min-width: 0; padding: 10px 7px; border: 1px solid var(--border); border-radius: 13px; color: var(--text); text-align: center; background: #121720; cursor: pointer; transition: transform .15s, border-color .15s, background .15s; }
.horse-pick:hover { transform: translateY(-2px); border-color: rgba(102,217,163,.55); }
.horse-pick input { position: absolute; opacity: 0; pointer-events: none; }
.horse-pick img { width: 82px; max-width: 100%; height: 50px; object-fit: contain; }
.horse-pick strong { max-width: 100%; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.horse-pick-number { position: absolute; top: 7px; left: 7px; color: var(--track-gold); font-weight: 900; }
.horse-pick.is-selected { border-color: var(--accent); background: rgba(102,217,163,.13); box-shadow: 0 0 0 2px rgba(102,217,163,.08); }
.horse-pick.is-disabled { cursor: not-allowed; opacity: .65; }
.horse-pick.is-disabled:hover { transform: none; border-color: var(--border); }
.horse-wager-row { display: grid; grid-template-columns: minmax(190px, 270px) auto; align-items: end; gap: 12px; }
.horse-wager-row label { gap: 7px; }
.horse-stake-input { display: flex; align-items: center; border: 1px solid var(--border); border-radius: 10px; background: #0f1320; }
.horse-stake-input:focus-within { border-color: var(--accent); }
.horse-stake-input input { min-width: 0; border: 0; background: transparent; }
.horse-stake-input span { padding-right: 12px; color: var(--muted); font-size: 12px; }
.horse-wager-row > button { min-height: 42px; }
.horse-current-bet { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border: 1px solid rgba(102,217,163,.3); border-radius: 12px; background: rgba(102,217,163,.08); }
.horse-inline-message { min-height: 18px; color: var(--muted); font-size: 13px; }
.horse-inline-message.is-success { color: var(--accent); }
.horse-inline-message.is-error { color: var(--danger); }

.horse-results-grid { margin: 0; }
.horse-card-results, .horse-past-panel { display: grid; gap: 14px; }
.horse-past-panel > .muted { margin: -4px 0 2px; }
.horse-result-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)); gap: 12px; }
.horse-result-card { overflow: hidden; border: 1px solid var(--border); border-radius: 13px; background: var(--card2); }
.horse-result-card > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 13px; border-bottom: 1px solid var(--border); }
.horse-result-card > div strong { color: var(--track-gold); }
.horse-result-card > div small { color: var(--muted); }
.horse-result-card ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.horse-result-card li { display: grid; grid-template-columns: 34px 1fr; gap: 6px; padding: 7px 12px; border-bottom: 1px solid rgba(255,255,255,.05); }
.horse-result-card li:first-child { color: var(--track-gold); }
.horse-result-card li span { color: var(--muted); font-size: 12px; font-weight: 900; }
.horse-result-bet { margin: 0; padding: 10px 12px; color: #ffc1c1; background: rgba(255,107,107,.07); font-size: 12px; }
.horse-result-bet.is-win { color: var(--accent); background: rgba(102,217,163,.08); }
.horse-results-list { display: grid; gap: 5px; margin: 14px 0 0; padding: 0; list-style: none; }
.horse-results-list li { display: grid; grid-template-columns: 34px 1fr; align-items: center; min-height: 35px; padding: 5px 8px; border-bottom: 1px solid var(--border); }
.horse-results-list li:first-child { color: var(--track-gold); }
.horse-payout-card { display: grid; align-content: start; }
.horse-payout-row { display: flex; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--border); }
.horse-payout-row strong { color: var(--accent); }
.horse-user-result { margin-top: 15px; padding: 13px; border: 1px solid var(--border); border-radius: 12px; line-height: 1.45; }
.horse-user-result.is-win { color: var(--accent); border-color: rgba(102,217,163,.45); background: rgba(102,217,163,.1); }
.horse-user-result.is-loss { color: #ffc1c1; border-color: rgba(255,107,107,.4); background: rgba(255,107,107,.08); }

.horse-chat-card { position: sticky; top: 90px; display: grid; grid-template-rows: auto minmax(300px, 56vh) auto auto; gap: 13px; padding: 17px; }
.horse-chat-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.horse-chat-head p { margin-bottom: 3px; }
.horse-chat-head h2 { margin: 0; }
.horse-chat-live { padding: 4px 8px; border-radius: 999px; color: var(--muted); background: #11151d; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.horse-chat-live.is-live { color: var(--accent); background: rgba(102,217,163,.12); }
.horse-chat-live.is-live::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 7px var(--accent); }
.horse-chat-messages { overflow-y: auto; display: grid; align-content: start; gap: 9px; padding: 10px; border: 1px solid var(--border); border-radius: 12px; background: #0f131a; scrollbar-color: #3d4658 transparent; }
.horse-chat-messages > .muted { margin: auto; padding: 25px 10px; text-align: center; }
.horse-chat-messages article { padding: 9px 10px; border-radius: 10px; background: #191e29; }
.horse-chat-messages article div { display: flex; justify-content: space-between; gap: 8px; }
.horse-chat-messages article strong { color: var(--track-gold); font-size: 12px; }
.horse-chat-messages article time { color: #717b8e; font-size: 10px; }
.horse-chat-messages article p { margin: 5px 0 0; color: var(--text); font-size: 13px; line-height: 1.35; overflow-wrap: anywhere; }
.horse-chat-form { display: grid; gap: 8px; }
.horse-chat-form textarea { width: 100%; resize: none; border: 1px solid var(--border); border-radius: 10px; padding: 10px; color: var(--text); background: #0f1320; font: inherit; }
.horse-chat-form textarea:focus { outline: 1px solid var(--accent); border-color: var(--accent); }
.horse-chat-form > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.horse-chat-form small { color: var(--muted); }

.horse-buy-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .65fr); align-items: end; gap: 24px; }
.horse-buy-card h2 { margin: 4px 0 8px; }
.horse-buy-card p { margin-bottom: 5px; }
.horse-buy-form { display: grid; grid-template-columns: minmax(180px, 1fr) auto; align-items: end; gap: 12px; }
.horse-buy-form label { display: grid; gap: 6px; }
.horse-owned-card { display: grid; gap: 16px; }
.horse-owned-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 12px; }
.horse-owned-entry { display: grid; gap: 14px; padding: 16px; border: 1px solid var(--border); border-radius: 13px; background: var(--card2); }
.horse-owned-entry > div:first-child { display: grid; gap: 3px; }
.horse-owned-entry > div:first-child strong { color: var(--track-gold); font-size: 19px; }
.horse-owned-entry small { color: var(--muted); }
.horse-owned-entry dl { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 0; }
.horse-owned-entry dl div { display: grid; gap: 3px; padding: 9px; border-radius: 9px; background: rgba(255,255,255,.035); }
.horse-owned-entry dt { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.horse-owned-entry dd { margin: 0; font-weight: 900; }
.horse-owned-entry form, .horse-owned-entry button { width: 100%; }

@media (max-width: 980px) {
  .horse-race-layout { grid-template-columns: 1fr; }
  .horse-chat-card { position: static; grid-template-rows: auto 330px auto auto; }
  .horse-buy-card { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .horse-race-hero { align-items: flex-start; flex-direction: column; }
  .horse-race-clock-wrap { justify-items: start; min-width: 0; }
  .horse-admin-controls { grid-template-columns: 1fr; }
  .horse-admin-controls .horse-inline-message { grid-column: auto; }
  .horse-pick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .horse-pick:last-child { grid-column: 1 / -1; }
  .horse-wager-row { grid-template-columns: 1fr; }
  .horse-wager-row > button { width: 100%; }
  .horse-lane { height: 76px; }
  .horse-runner { width: 88px; top: 4px; }
  .horse-runner img { width: 88px; height: 55px; }
  .horse-runner-name { bottom: -6px; max-width: 82px; font-size: 9px; }
  .horse-finish-line { right: 110px; }
  .horse-place-badge { right: 2px; }
  .horse-buy-form { grid-template-columns: 1fr; }
  .horse-buy-form button { width: 100%; }
  .horse-owned-entry dl { grid-template-columns: repeat(2, 1fr); }
}
.wut-power-badge,.wut-trinket-badge{position:absolute;z-index:4;top:.45rem;right:.45rem;display:grid;place-items:center;min-width:2rem;height:2rem;padding:0 .4rem;border-radius:999px;background:#101827;color:#fff;font-weight:900;border:3px solid #fff;box-shadow:0 2px 8px #0008,0 0 0 1px #000}.wut-trinket-badge{top:2.8rem;font-size:1rem}.wut-trinket-action{display:flex;gap:.35rem;margin-top:.5rem}.wut-trinket-action select{min-width:0;flex:1}.wut-deck-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.wut-deck-checklist{display:grid;gap:.35rem;max-height:28rem;overflow:auto;padding:.5rem}.wut-deck-checklist label{display:block;padding:.45rem;border-radius:.4rem;background:rgba(255,255,255,.05)}@media(max-width:800px){.wut-deck-columns{grid-template-columns:1fr}}
.wut-deck-toolbar{display:flex;align-items:end;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.wut-deck-toolbar label{flex:1;min-width:12rem}.wut-deck-section-head{align-items:flex-start}.wut-deck-status-row{justify-content:flex-end;max-width:min(100%,50rem)}.wut-deck-header-message{margin:0;max-width:24rem;text-align:right;font-weight:800;line-height:1.25}.wut-active-deck-slots,.wut-bench-slots{display:grid;grid-template-columns:repeat(4,var(--wut-card-width));gap:12px;align-items:start;overflow-x:auto;padding:.5rem 0 1rem}.wut-visual-deck-builder .wut-active-deck-slots{overflow-x:visible}.wut-deck-slot{position:relative;display:grid;place-items:center;align-content:center;width:var(--wut-card-width);min-width:var(--wut-card-width);aspect-ratio:var(--wut-card-ratio);border:2px dashed #ffffff45;border-radius:.75rem;background:#0c1422;color:inherit;overflow:hidden}.wut-deck-slot.has-card{padding:0;border-style:solid;cursor:pointer}.wut-deck-slot .arena-wut-card{width:100%;height:100%}.wut-deck-slot .arena-wut-card-inner{width:100%;height:100%}.wut-bench-slots .arena-lineup-slot-name{position:absolute;z-index:6;top:.45rem;left:50%;transform:translateX(-50%);padding:.15rem .4rem;border-radius:999px;background:#08111dcc;pointer-events:none}.wut-bench-editor{margin:1rem 0}.wut-bench-editor summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;padding:1rem;border-radius:.6rem;background:rgba(255,255,255,.05)}.wut-bench-editor summary span:first-child{display:grid}.wut-deck-collection{margin-top:1.25rem}.wut-deck-collection .collection-player{border:0;padding:0;background:none;cursor:pointer}.wut-deck-collection .collection-player.is-unavailable{opacity:.35}.wut-deck-collection [data-deck-hover-flip].is-flipped .arena-wut-card-inner{transform:rotateY(180deg)}.error{color:#ff8f8f}@media(max-width:900px){.wut-active-deck-slots,.wut-bench-slots{grid-template-columns:repeat(4,var(--wut-card-width))}.wut-deck-status-row{justify-content:flex-start}.wut-deck-header-message{text-align:left}}
.wut-shop-refresh{margin:.25rem 0 0;font-size:.8rem}.wut-shop-refresh span{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:900}.wut-guide{display:grid;gap:1rem}.wut-guide-nav{display:flex;flex-wrap:wrap;gap:.5rem}.wut-guide-nav a{padding:.45rem .7rem;border:1px solid var(--border);border-radius:999px;text-decoration:none}.wut-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.wut-guide-wide{grid-column:1/-1}.wut-guide section{scroll-margin-top:5rem}.wut-guide section h2{margin-top:0}.wut-guide ol,.wut-guide ul{display:grid;gap:.45rem;padding-left:1.25rem}.wut-guide details{padding:.65rem 0;border-top:1px solid var(--border)}.wut-guide summary{cursor:pointer;font-weight:900}.wut-guide details p{margin:.5rem 0 0;color:var(--muted)}@media(max-width:800px){.wut-guide-grid{grid-template-columns:1fr}}
.wut-trinket-badge{border-color:var(--rarity,#fff)}.wut-trinket-inventory{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap}.wut-trinket-inventory-item{display:grid;justify-items:center;gap:.3rem;min-width:5.5rem;padding:.6rem;border:0;background:transparent;color:inherit;cursor:pointer}.wut-trinket-inventory-item:disabled{cursor:default;opacity:.55}.wut-trinket-icon{display:grid;place-items:center;width:3.4rem;height:3.4rem;border:4px solid var(--rarity,#fff);border-radius:50%;background:#101827;font-size:1.75rem;box-shadow:0 3px 12px #0008}.wut-trinket-inventory-item small{font-weight:800}.wut-trinket-inventory-item em{font-size:.72rem;color:#aeb9ca}.wut-trinket-inventory-item.is-selected .wut-trinket-icon{outline:3px solid #fff;outline-offset:4px;transform:scale(1.08)}.wut-shop-trinket-icon{margin:0 auto}.arena-collection-card.is-attach-target{cursor:pointer;outline:3px solid #62d5ff;outline-offset:5px;animation:wut-attach-pulse 1.4s ease-in-out infinite}@keyframes wut-attach-pulse{50%{outline-color:#fff;filter:brightness(1.14)}}
.wut-trinket-encyclopedia{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.wut-trinket-encyclopedia-icons{display:grid;grid-template-columns:repeat(auto-fit,minmax(5.5rem,1fr));gap:.55rem}.wut-trinket-encyclopedia-pick{display:grid;justify-items:center;gap:.35rem;padding:.55rem .25rem;border:1px solid transparent;border-radius:12px;background:transparent;color:inherit;cursor:pointer}.wut-trinket-encyclopedia-pick small{font-weight:800;line-height:1.1}.wut-trinket-encyclopedia-pick .wut-trinket-icon{width:3rem;height:3rem;font-size:1.45rem}.wut-trinket-encyclopedia-pick.is-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.wut-trinket-encyclopedia-pick.is-selected .wut-trinket-icon{outline:2px solid var(--accent);outline-offset:3px}.wut-trinket-encyclopedia-panel{margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:14px;background:#0d1421}.wut-trinket-encyclopedia-panel[hidden]{display:none}.wut-trinket-encyclopedia-panel h3{display:flex;align-items:center;gap:.45rem;margin:0 0 .75rem}.wut-trinket-rarity-list{display:grid;gap:.65rem}.wut-trinket-rarity-row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.85rem;padding:.65rem;border-radius:10px;background:#141c2a}.wut-trinket-rarity-row .wut-trinket-icon{width:2.85rem;height:2.85rem;font-size:1.35rem}.wut-trinket-rarity-row p{margin:.2rem 0 0;color:var(--muted)}
[data-trinket-family="team_crest"].wut-trinket-badge,.wut-trinket-inventory-item[data-trinket-family="team_crest"] .wut-trinket-icon,.wut-shop-trinket-offer[data-trinket-family="team_crest"] .wut-trinket-icon,.wut-trinket-encyclopedia-pick[data-trinket-family-pick="team_crest"] .wut-trinket-icon,[data-trinket-family-panel="team_crest"] .wut-trinket-icon,.trinket-fx-icon[data-trinket-family="team_crest"],.lineup-slot[data-trinket-family="team_crest"].is-trinket-playing::after{color:#fff;font-family:Impact,"Arial Black","Franklin Gothic Heavy",sans-serif;font-weight:900;letter-spacing:-.04em;-webkit-text-stroke:2px #000;paint-order:stroke fill;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;filter:drop-shadow(0 2px 2px #000)}
.full-collection-page .wut-trinket-badge{cursor:pointer}.wut-trinket-dialog{width:min(32rem,calc(100% - 2rem));padding:1.4rem;border:2px solid var(--border);border-radius:1rem;background:var(--card);color:var(--text)}.wut-trinket-dialog::backdrop{background:#000b}.wut-trinket-dialog h2{margin-top:0}.wut-trinket-dialog .admin-action-row{flex-wrap:wrap}
.wut-trading-panel{display:grid;gap:1rem}.wut-trading-panel[hidden]{display:none!important}.wut-trade-tabs{margin:.25rem 0 1rem}.wut-trade-grid{align-items:start}.wut-trade-card{display:grid;gap:.65rem;align-content:start;padding:.65rem;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.035)}.wut-trade-card[data-trade-market-card]{cursor:pointer}.wut-trade-card[data-trade-market-card]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.wut-trade-card .arena-wut-card{width:100%}.wut-trade-card form,.wut-trade-offer-form{display:grid;gap:.7rem}.wut-trade-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.wut-trade-offer{display:grid;gap:.45rem;padding:.8rem;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.035)}.wut-trade-offer form{display:flex;gap:.5rem;flex-wrap:wrap}@media(max-width:850px){.wut-trade-offers{grid-template-columns:1fr}}
.wut-shop-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}.wut-shop-columns>.card{margin:0}.wut-trinket-shop-panel{display:flex;flex-direction:column;gap:1rem}.wut-shop-trinket-stack{display:grid;gap:.75rem;flex:1}.wut-shop-trinket-stack.has-locked-offer{align-content:start}.wut-shop-trinket-offer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border:2px solid var(--rarity);border-radius:.9rem;background:rgba(255,255,255,.035)}.wut-shop-trinket-offer.is-sold{opacity:.48}.wut-shop-trinket-offer.is-locked{background:color-mix(in srgb,var(--rarity) 18%,rgba(255,255,255,.05));box-shadow:0 0 0 3px color-mix(in srgb,var(--rarity) 42%,transparent),0 16px 34px #0007}.wut-shop-trinket-offer .wut-shop-trinket-icon{width:4.6rem;height:4.6rem;margin:0;font-size:2.35rem}.wut-shop-trinket-name{flex:1;font-size:1.02rem}.wut-shop-trinket-offer form{margin-left:auto}.wut-shop-trinket-offer button{min-width:9rem}.wut-shop-trinket-offer .wut-shop-lock-form{margin-left:0}.wut-shop-trinket-offer .wut-shop-lock-button{display:grid;place-items:center;min-width:2.5rem;width:2.5rem;height:2.5rem;padding:0;border-radius:50%;font-size:1rem}.wut-shop-trinket-offer.is-locked .wut-shop-lock-button{border-color:var(--rarity);background:#111b2d}.wut-trinket-shop-panel>button{align-self:flex-start}@media(max-width:760px){.wut-shop-columns{grid-template-columns:1fr}.wut-shop-trinket-offer{flex-wrap:wrap}.wut-shop-trinket-offer form:not(.wut-shop-lock-form){width:100%;margin-left:0}.wut-shop-trinket-offer button:not(.wut-shop-lock-button){width:100%}}
.wut-debug-sides{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}.wut-debug-lineup{grid-template-columns:repeat(5,minmax(0,1fr))}.wut-debug-lineup .lineup-slot{min-width:0}.wut-debug-slot-form{display:grid;gap:.45rem;width:100%;padding:.5rem}.wut-debug-slot-form label{display:grid;gap:.2rem;font-size:.72rem}.wut-debug-slot-form select{min-width:0;width:100%;font-size:.72rem}.wut-debug-log{width:100%;font-size:.72rem}.wut-debug-log small{display:block;margin:.2rem 0}.wut-debug-log strong{display:block;margin-top:.35rem}@media(max-width:1100px){.wut-debug-sides{grid-template-columns:1fr}.wut-debug-lineup{overflow-x:auto;grid-template-columns:repeat(5,minmax(8rem,1fr))}}
.journeyman-choice{display:grid;gap:.25rem;margin-top:.55rem;color:#d8e8ff;font-size:.78rem;font-weight:800}.journeyman-choice select{width:100%;min-width:0;padding:.45rem .55rem;border:1px solid rgba(116,185,255,.55);border-radius:.5rem;background:#101a2b;color:#fff}
.wut-mission-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.wut-mission-group{display:grid;gap:.7rem}.wut-mission-group-title{display:flex;align-items:center;justify-content:space-between}.wut-mission-group-title h3{margin:0}.wut-mission-group-title small{color:var(--muted)}.wut-mission{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem 1rem;align-items:center;padding:.9rem;border:1px solid rgba(255,255,255,.1);border-radius:.8rem;background:rgba(5,12,24,.48)}.wut-mission.is-complete{border-color:rgba(83,214,144,.55);box-shadow:inset 0 0 20px rgba(83,214,144,.07)}.wut-mission.is-failed{border-color:rgba(255,107,107,.5);box-shadow:inset 0 0 20px rgba(255,107,107,.06)}.wut-mission.is-failed progress{accent-color:#ff6b6b}.wut-mission.is-claimed{opacity:.68}.wut-mission-copy{display:grid;gap:.2rem}.wut-mission-copy strong{display:flex;align-items:center;gap:.45rem}.wut-mission-copy strong small{padding:.12rem .35rem;border-radius:999px;background:rgba(116,185,255,.14);color:#9fd0ff;font-size:.62rem;text-transform:uppercase;letter-spacing:.06em}.wut-mission-copy span{color:var(--muted);font-size:.82rem}.wut-mission-progress{grid-column:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem}.wut-mission-progress progress{width:100%;height:.65rem;accent-color:#53d690}.wut-mission-progress small{min-width:3rem;text-align:right;color:#c9d8ea}.wut-mission-reward{grid-column:2;grid-row:1;display:grid;text-align:right}.wut-mission-reward strong{color:#ffd36c}.wut-mission-reward span{font-size:.68rem;color:var(--muted)}.wut-mission form,.wut-mission>.pill{grid-column:2;grid-row:2}.wut-mission button{min-width:7rem}@media(max-width:850px){.wut-mission-columns{grid-template-columns:1fr}.wut-mission{grid-template-columns:minmax(0,1fr) auto}}
.draft-admin-page { padding-bottom: 5rem; }
.draft-event-list { display: grid; gap: .75rem; }
.draft-event-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid var(--border); border-radius: 14px; background: rgba(8, 13, 25, .45); }
.draft-event-row h3 { margin: .45rem 0 .2rem; text-transform: none; }
.draft-event-summary { flex: 1; min-width: 0; }
.draft-admin-recovery { margin-top: .75rem; }
.draft-admin-entrants, .draft-admin-matches { display: grid; gap: .5rem; margin: .5rem 0; }
.draft-admin-entrants form, .draft-admin-matches section, .draft-admin-matches form { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 0; }
.draft-admin-entrants input, .draft-admin-matches input { min-width: 180px; width: auto; flex: 1; }
.draft-admin-matches section { padding: .65rem; border: 1px solid var(--border); border-radius: 10px; }
.draft-event-actions, .draft-builder-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.draft-event-actions form { margin: 0; }
.draft-event-actions button { text-transform: capitalize; }
.draft-builder { display: grid; gap: 1rem; }
.draft-builder-toolbar { display: grid; grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(160px, .8fr)); gap: 1rem; align-items: end; position: sticky; top: .75rem; z-index: 4; box-shadow: 0 10px 32px rgba(0, 0, 0, .28); }
.draft-builder-toolbar .draft-builder-actions { grid-column: 1 / -1; }
.draft-field-grid { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: .85rem 1rem; align-items: end; }
.draft-field-grid .wide { grid-column: span 2; }
.draft-field-grid fieldset { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; min-width: 0; }
.draft-field-grid label, .draft-format-panel label, .draft-rarity-range label { display: grid; gap: .35rem; }
.draft-field-grid .check, .draft-format-panel .check { display: flex; align-items: center; gap: .5rem; min-height: 2.5rem; }
.draft-field-grid .check input, .draft-format-panel .check input { width: auto; }
.draft-fairness-note { padding: .85rem 1rem; border-left: 4px solid var(--accent); background: rgba(62, 150, 255, .09); border-radius: 8px; }
.draft-odds-tables { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 1rem; }
.draft-odds-tables fieldset { min-width: 0; }
.draft-rarity-range { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; margin-bottom: .75rem; }
.draft-rarity-odds { display: grid; gap: .5rem; }
.draft-rarity-odds label { display: grid; grid-template-columns: 1fr 90px; gap: .5rem; align-items: center; text-transform: capitalize; }
.draft-rarity-odds input { min-width: 0; }
.draft-format-panel { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 1rem; align-items: end; padding: 1rem; margin-top: 1rem; border: 1px solid var(--border); border-radius: 12px; }
.draft-builder [hidden] { display: none !important; }
.draft-format-panel h3 { grid-column: 1 / -1; margin: 0; }
.draft-prize-builder, .draft-prize-rewards { display: grid; gap: .75rem; }
.draft-prize-tier { padding: 1rem; border: 1px solid var(--border); border-radius: 14px; background: rgba(8, 13, 25, .45); }
.draft-prize-tier-head, .draft-prize-reward { display: grid; grid-template-columns: 1fr 1fr 1fr auto; gap: .75rem; align-items: end; }
.draft-prize-reward { grid-template-columns: repeat(6, minmax(110px, 1fr)) auto; padding: .75rem; border-radius: 10px; background: rgba(255, 255, 255, .035); }
.draft-prize-tier-head label, .draft-prize-reward label { display: grid; gap: .35rem; }
.draft-prize-tier [data-add-reward] { margin-top: .75rem; }
.draft-builder-submit { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.draft-lobby-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.draft-lobby-event { display: flex; flex-direction: column; gap: 1rem; }
.draft-lobby-event.is-joined { border-color: rgba(78, 214, 139, .7); box-shadow: inset 0 0 0 1px rgba(78, 214, 139, .2); }
.draft-lobby-event-head, .draft-lobby-action { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.draft-lobby-event-head h2 { margin: .5rem 0 0; }
.draft-entry-fee { color: var(--accent); white-space: nowrap; }
.draft-lobby-facts { display: grid; grid-template-columns: repeat(5, 1fr); gap: .5rem; }
.draft-lobby-facts span { display: grid; gap: .2rem; padding: .6rem; border-radius: 10px; background: rgba(255,255,255,.04); text-transform: capitalize; }
.draft-lobby-rules { display: grid; gap: .35rem; color: var(--muted); }
.draft-lobby-details { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.draft-entrant-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.draft-lobby-action { margin-top: auto; }
.draft-event-progress { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: .25rem; overflow-x: auto; }
.draft-event-progress span { display: grid; grid-template-rows: 12px auto; gap: .35rem; min-width: 75px; color: var(--muted); text-align: center; text-transform: capitalize; }
.draft-event-progress i { display: block; height: 5px; margin-top: 3px; border-radius: 999px; background: var(--border); }
.draft-event-progress .is-complete i, .draft-event-progress .is-current i { background: var(--accent); }
.draft-event-progress .is-current { color: var(--text); font-weight: 800; }
.draft-event-observer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-color: #d5a13a; }
.draft-phase-clock { display: grid; justify-items: end; }
.draft-phase-clock strong { color: var(--accent); font-size: 2rem; font-variant-numeric: tabular-nums; }
.draft-bench-position + .draft-bench-position { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--border); }
.draft-bench-position-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.draft-candidate-grid { grid-template-columns: repeat(auto-fit, var(--wut-card-width)); }
.draft-vote-card { position: relative; display: block; width: var(--wut-card-width); cursor: pointer; border-radius: 10px; transition: transform .16s, filter .16s; }
.draft-vote-card:hover { transform: translateY(-3px); }
.draft-vote-card input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.draft-vote-card input:disabled + .arena-wut-card { cursor: default; filter: saturate(.65); }
.draft-vote-card .arena-wut-card { display: block; }
.draft-vote-card.is-selected .arena-wut-card { box-shadow: 0 0 0 4px var(--accent), 0 0 28px color-mix(in srgb, var(--rarity) 55%, transparent); }
.draft-vote-check { position: absolute; z-index: 8; right: -.45rem; bottom: -.45rem; display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border: 3px solid #fff; border-radius: 50%; background: var(--accent); color: #07120d; font-weight: 950; opacity: 0; transform: scale(.65); transition: .15s; }
.draft-vote-card.is-selected .draft-vote-check { opacity: 1; transform: scale(1); }
.draft-vote-submit { position: sticky; bottom: .75rem; z-index: 5; display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 1.25rem; padding: .85rem 1rem; border: 1px solid var(--accent); border-radius: 12px; background: rgba(15, 24, 33, .96); box-shadow: 0 8px 24px #0008; }
.draft-vote-submit p { margin: 0; }
.event-inventory [data-event-panel][hidden] { display: none !important; }
.event-inventory .wut-trinket-inventory-item { cursor: default; }
.event-deck-builder{margin-bottom:1rem}.event-deck-builder .wut-active-deck-slots{grid-template-columns:repeat(4,var(--wut-card-width))}.event-deck-builder .wut-deck-slot.is-attach-target{outline:3px solid #62d5ff;outline-offset:5px;animation:wut-attach-pulse 1.4s ease-in-out infinite}.draft-deck-saved{display:flex;align-items:center;gap:.65rem}.draft-deck-submit{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.5rem 0 1rem}.event-deck-pool{margin-top:1rem}.event-deck-pool .collection-player{border:0;padding:0;background:none;cursor:pointer}.event-attach-trinkets{padding:.5rem 0 1rem}.event-attach-trinkets .wut-trinket-inventory-item{cursor:pointer}
.draft-tournament-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(20rem,.75fr);gap:1rem}.draft-round-matches{display:grid;align-content:start;gap:.65rem}.draft-tournament-match{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem;border:1px solid var(--border);border-radius:.75rem;background:rgba(255,255,255,.035)}.draft-tournament-match>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.25rem .6rem}.draft-tournament-match strong{font-size:1rem}.draft-tournament-match strong em{padding:0 .35rem;color:var(--muted);font-style:normal}.draft-tournament-match small{grid-column:2;color:var(--muted)}.draft-standings{overflow:auto}.draft-standings table{width:100%;border-collapse:collapse}.draft-standings th,.draft-standings td{padding:.55rem;border-bottom:1px solid var(--border);text-align:right}.draft-standings th:nth-child(2),.draft-standings td:nth-child(2){text-align:left}.draft-standings tr.is-you{background:rgba(81,224,171,.1);color:#fff}@media(max-width:850px){.draft-tournament-layout{grid-template-columns:1fr}}
.draft-prize-awards{display:flex;flex-wrap:wrap;gap:.75rem}.draft-prize-award{display:grid;gap:.25rem;min-width:13rem;padding:1rem;border:2px solid #51e0ab;border-radius:.8rem;background:rgba(81,224,171,.08)}.draft-prize-award span{font-size:1.05rem;font-weight:800}.draft-prize-award small{color:var(--muted)}
.draft-reschedule-form{display:grid;grid-template-columns:repeat(3,minmax(11rem,1fr)) auto;gap:.6rem;align-items:end;padding:.75rem 0}.draft-reschedule-form label{display:grid;gap:.25rem}@media(max-width:850px){.draft-reschedule-form{grid-template-columns:1fr}}
.draft-current-pack-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin-bottom: 1rem; }
.draft-pass-arrow { color: var(--accent); font-weight: 900; text-transform: capitalize; }
.draft-pack-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(var(--wut-card-width), 1fr)); gap: 1rem; align-items: stretch; }
.draft-pack-item { display: grid; place-items: center; min-height: calc(var(--wut-card-width) * 1.4); padding: .75rem; border: 2px solid color-mix(in srgb, var(--rarity) 72%, var(--border)); border-radius: 15px; background: color-mix(in srgb, var(--rarity) 8%, rgba(10, 15, 25, .96)); color: var(--text); cursor: pointer; transition: transform .16s, box-shadow .16s, border-color .16s; }
.draft-pack-item:hover, .draft-pack-item:focus-visible { transform: translateY(-4px); border-color: var(--rarity); box-shadow: 0 12px 32px #0008, 0 0 22px color-mix(in srgb, var(--rarity) 28%, transparent); }
.draft-pack-item .collection-player { display: block; pointer-events: none; }
.draft-pack-item .collection-boost { display: grid; align-content: center; width: 100%; min-height: 10rem; padding: 1rem; pointer-events: none; }
.draft-pack-trinket { display: grid; justify-items: center; gap: .75rem; text-align: center; pointer-events: none; }
.draft-pack-trinket .wut-trinket-icon { width: 5rem; height: 5rem; font-size: 2.5rem; }
.draft-pack-trinket strong { font-size: 1.05rem; }
.draft-pack-trinket small { color: var(--muted); line-height: 1.4; }
.draft-waiting-pass { display: flex; align-items: center; justify-content: center; gap: 1.25rem; min-height: 12rem; padding: 2rem; border: 1px dashed var(--accent); border-radius: 14px; text-align: left; }
.draft-pass-puck { display: grid; place-items: center; width: 4rem; height: 4rem; border-radius: 50%; background: #050505; color: #333; box-shadow: inset 0 0 0 3px #222, 0 8px 18px #000a; font-size: 0; animation: draft-puck-wait 1.6s ease-in-out infinite; }
.draft-pass-puck::after { content: ''; width: 1.1rem; height: .3rem; border-radius: 50%; background: #333; }
@keyframes draft-puck-wait { 50% { transform: translateX(12px) rotate(12deg); } }
.draft-pick-dialog { text-align: left; }
.arena-queue-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end}.arena-queue-actions form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:end;margin:0}.draft-counts{display:flex;flex-wrap:wrap;gap:.5rem}
.draft-arena-form{display:grid;gap:1rem}.draft-arena-summary{align-items:center}.draft-arena-stepper,.draft-arena-loadout{display:grid;gap:1rem}.draft-arena-stepper[hidden],.draft-arena-loadout[hidden]{display:none!important}.draft-arena-pack-progress{display:grid;grid-template-columns:repeat(auto-fit,minmax(5.75rem,1fr));gap:.5rem}.draft-arena-pack-chip{display:grid;justify-items:center;gap:.15rem;min-height:3.25rem;padding:.45rem;border:1px solid color-mix(in srgb,var(--rarity) 45%,var(--border));border-radius:.65rem;background:rgba(255,255,255,.03);color:var(--muted);cursor:pointer;text-transform:capitalize}.draft-arena-pack-chip small{display:grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:50%;background:rgba(255,255,255,.08);font-weight:900}.draft-arena-pack-chip.is-current{color:var(--text);border-color:var(--rarity);box-shadow:0 0 0 2px color-mix(in srgb,var(--rarity) 24%,transparent)}.draft-arena-pack-chip.is-picked small{background:var(--rarity);color:#061019}.draft-arena-pack-panel{display:grid;gap:1rem}.draft-arena-pack-panel[hidden]{display:none!important}.draft-arena-pack-title{display:flex;align-items:center;justify-content:space-between;gap:1rem}.draft-arena-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem;align-items:stretch}.draft-arena-choice{position:relative;min-width:0;overflow:visible}.draft-arena-choice::after{position:absolute;right:.45rem;bottom:.45rem;z-index:6;display:grid;place-items:center;width:2.15rem;height:2.15rem;border:3px solid #fff;border-radius:50%;background:var(--accent);color:#07120d;content:'OK';font-size:.72rem;font-weight:950;opacity:0;transform:scale(.65);transition:.15s}.draft-arena-choice.is-picked{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 42%,transparent),0 14px 32px #0009}.draft-arena-choice.is-picked::after{opacity:1;transform:scale(1)}.draft-arena-choice .arena-wut-card{width:min(100%,var(--wut-card-width));justify-self:center}.draft-arena-loadout-layout{display:grid;gap:1.25rem}.draft-arena-loadout-section{display:grid;gap:.75rem;padding-top:.25rem}.cards-section-head.compact{align-items:flex-end}.cards-section-head.compact h3{margin:.25rem 0 0}.draft-arena-picked-players{grid-template-columns:repeat(auto-fit,var(--wut-card-width));align-items:start}.draft-arena-picked-players .draft-arena-loadout-player{border:0;padding:0;background:none;color:inherit;cursor:pointer}.draft-arena-loadout-player.is-attach-target{outline:3px solid #62d5ff;outline-offset:5px;border-radius:12px;animation:wut-attach-pulse 1.4s ease-in-out infinite}.draft-arena-picked-trinkets{padding:.25rem 0}.draft-arena-picked-trinkets .wut-trinket-inventory-item{cursor:pointer}.draft-arena-picked-boosts{grid-template-columns:repeat(auto-fit,minmax(12rem,16rem))}.draft-arena-empty[hidden]{display:none!important}.draft-arena-loadout [data-deck-hover-flip].is-flipped .arena-wut-card-inner,.draft-arena-stepper [data-deck-hover-flip].is-flipped .arena-wut-card-inner{transform:rotateY(180deg)}
.arena-mode-queue{display:grid;gap:1rem}.arena-mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.arena-mode-tabs button{display:grid;gap:.25rem;padding:.75rem .9rem;border:1px solid var(--border);border-radius:.75rem;background:rgba(255,255,255,.035);color:var(--text);text-align:left;cursor:pointer}.arena-mode-tabs button.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,rgba(255,255,255,.035));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 24%,transparent)}.arena-mode-tabs small{color:var(--muted);font-weight:700}.arena-mode-panel{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--border);border-radius:.75rem;background:rgba(255,255,255,.03)}.arena-mode-panel[hidden]{display:none!important}.arena-mode-panel h3{margin:.25rem 0}.arena-mode-panel form{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.arena-mode-panel select{min-width:13rem}@media(max-width:720px){.arena-mode-tabs{grid-template-columns:1fr}.arena-mode-panel{align-items:flex-start;flex-direction:column}.arena-mode-panel form,.arena-mode-panel select,.arena-mode-panel button{width:100%}}
@media (max-width: 950px) {
  .draft-builder-toolbar, .draft-field-grid, .draft-odds-tables, .draft-format-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .draft-lobby-grid { grid-template-columns: 1fr; }
  .draft-event-progress { grid-template-columns: repeat(10, 90px); }
  .draft-prize-tier-head, .draft-prize-reward { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .draft-event-row { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 620px) {
  .draft-builder-toolbar, .draft-field-grid, .draft-odds-tables, .draft-format-panel { grid-template-columns: 1fr; }
  .draft-prize-tier-head, .draft-prize-reward { grid-template-columns: 1fr; }
  .draft-field-grid .wide, .draft-builder-toolbar .draft-builder-actions, .draft-format-panel h3 { grid-column: auto; }
  .draft-builder-submit { align-items: flex-start; flex-direction: column; }
  .draft-lobby-facts, .draft-lobby-details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .draft-event-observer, .draft-vote-submit { align-items: flex-start; flex-direction: column; }
}
