:root {
  color-scheme: dark;
  --bg: #08110d;
  --bg-deep: #040906;
  --surface: #111313;
  --surface-2: #171919;
  --surface-3: #1d2020;
  --line: #2b2e2e;
  --line-soft: #202323;
  --text: #f2f0e9;
  --text-soft: #c8c8c1;
  --muted: #888d8b;
  --gold: #c9a85c;
  --gold-bright: #e1c77d;
  --silver: #b9c1bf;
  --red: #d26a62;
  --green: #69b98d;
  --display: "Barlow Condensed", "Arial Narrow", sans-serif;
  --body: "Manrope", "Segoe UI", sans-serif;
  --shadow: 0 24px 64px rgba(0, 0, 0, .42);
}

/* Public launch page */
.marketing-shell { min-height: 100vh; overflow: hidden; color: #f5f2e9; background: #07110c; }
.marketing-shell button, .marketing-shell a { -webkit-tap-highlight-color: transparent; }
.marketing-nav { position: absolute; z-index: 10; top: 0; left: 50%; display: flex; width: min(1220px,calc(100% - 64px)); height: 82px; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(232,220,184,.18); transform: translateX(-50%); }
.marketing-brand { display: flex; align-items: center; gap: .8rem; color: #f6f2e8; text-decoration: none; }
.marketing-brand > span:last-child { display: grid; gap: .08rem; }
.marketing-brand b { font-family: var(--display); font-size: 1.15rem; letter-spacing: .035em; }
.marketing-brand b, .marketing-signin { white-space: nowrap; }
.marketing-brand small { color: #7f8b83; font-size: .52rem; font-weight: 800; letter-spacing: .18em; }
.marketing-mark { display: grid; width: 39px; height: 39px; border: 1px solid rgba(212,178,95,.58); color: #d4b25f; background: rgba(8,13,10,.74); font-family: Georgia,serif; font-size: 1.05rem; place-items: center; transform: rotate(45deg); }
.marketing-mark::first-letter { transform: rotate(-45deg); }
.marketing-nav nav { display: flex; align-items: center; gap: 1.55rem; }
.marketing-nav nav a, .marketing-signin { border: 0; padding: .6rem 0; color: #a9b0ab; background: transparent; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.marketing-nav nav a:hover { color: #fff; }
.marketing-signin { border: 1px solid rgba(255,255,255,.24); padding: .68rem .9rem; color: #f4f1e8; }

.marketing-hero { position: relative; display: grid; min-height: 760px; grid-template-columns: minmax(0,.84fr) minmax(540px,1.16fr); gap: 2.25rem; align-items: center; padding: 128px max(32px,calc((100vw - 1320px)/2)) 74px; isolation: isolate; }
.marketing-hero::before { position: absolute; z-index: -2; inset: 0; content: ""; background: linear-gradient(90deg,rgba(5,13,8,.98) 0%,rgba(5,13,8,.91) 42%,rgba(5,12,8,.35) 70%,rgba(5,11,7,.15)),linear-gradient(0deg,#07110c 0%,transparent 20%),url("assets/poker-table-shady-cartoon-v6.png") 68% 39%/cover no-repeat; filter: saturate(.7) contrast(1.04); }
.marketing-hero::after { position: absolute; z-index: -1; inset: 0; content: ""; background: radial-gradient(circle at 76% 42%,rgba(11,92,55,.2),transparent 34%),linear-gradient(110deg,transparent 62%,rgba(212,178,95,.08)); }
.hero-copy { max-width: 690px; }
.hero-copy .eyebrow { margin-bottom: 1rem; font-size: .7rem; }
.hero-copy h1 { margin: 0; font-size: clamp(4.3rem,7vw,7.5rem); font-weight: 800; letter-spacing: -.045em; line-height: .78; }
.hero-copy h1 span { color: #d4b25f; }
.hero-lead { max-width: 610px; margin: 2rem 0 0; color: #b5bdb7; font-size: clamp(1rem,1.35vw,1.12rem); line-height: 1.75; }
.hero-actions { display: flex; gap: .85rem; align-items: center; margin-top: 2rem; }
.hero-primary { min-width: 235px; justify-content: space-between; padding: 1rem 1.15rem; }
.hero-secondary { border: 1px solid rgba(255,255,255,.25); border-radius: 3px; padding: .95rem 1.15rem; color: #f4f1e8; background: rgba(8,14,10,.42); font-size: .75rem; font-weight: 800; text-decoration: none; }
.hero-proof { display: flex; gap: 1.2rem; margin-top: 1.7rem; color: #768078; font-size: .66rem; }
.hero-proof span { border-left: 1px solid #354139; padding-left: .65rem; }
.hero-proof b { color: #d7ddd8; }

.hero-stage { position: relative; min-height: 530px; }
.stage-glow { position: absolute; inset: 10% -15%; border-radius: 50%; background: rgba(15,100,60,.15); filter: blur(70px); }
.mini-dashboard { position: absolute; top: 35px; right: 0; width: min(550px,100%); border: 1px solid rgba(212,178,95,.42); padding: 1.15rem; background: rgba(8,13,10,.89); box-shadow: 0 38px 90px rgba(0,0,0,.55); transform: perspective(1100px) rotateY(-5deg) rotateX(2deg); backdrop-filter: blur(12px); }
.mini-top { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #283029; padding: .1rem 0 .85rem; color: #d7dbd7; font-family: var(--display); font-weight: 700; }
.mini-top i { margin-right: .35rem; color: #d4b25f; font-family: Georgia,serif; font-style: normal; }
.mini-top small { color: #687269; font: 700 .52rem var(--body); letter-spacing: .14em; }
.mini-title { display: flex; align-items: end; justify-content: space-between; padding: 1.2rem 0 1rem; }
.mini-title div { display: grid; }
.mini-title small { color: #d4b25f; font-size: .5rem; font-weight: 800; letter-spacing: .18em; }
.mini-title strong { font: 800 2rem/1 var(--display); }
.mini-title > span { color: #6e776f; font-size: .58rem; }
.mini-stats { display: grid; grid-template-columns: 1.2fr .8fr; gap: .6rem; }
.mini-stats > span { display: grid; gap: .25rem; border: 1px solid #28312b; padding: .75rem; background: rgba(25,32,27,.65); }
.mini-stats small { color: #687169; font-size: .48rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.mini-stats b { font: 700 1.15rem var(--display); }
.mini-leaderboard { margin: .75rem 0; padding: 0; list-style: none; }
.mini-leaderboard li { display: grid; grid-template-columns: 28px 1fr auto; gap: .55rem; align-items: center; border-bottom: 1px solid #252c27; padding: .72rem .3rem; }
.mini-leaderboard em { color: #d4b25f; font: 800 1rem var(--display); font-style: normal; }
.mini-leaderboard li > span { display: grid; gap: .15rem; color: #e9e8e2; font-size: .7rem; font-weight: 700; }
.mini-leaderboard small { color: #d4b25f; font: 700 .65rem var(--display); letter-spacing: .04em; }
.mini-leaderboard small i { border: 1px solid #6e5a28; margin-right: .3rem; padding: 0 .15rem; font: 800 .38rem var(--body); font-style: normal; }
.mini-leaderboard li > b { color: #8f9991; font-size: .62rem; }
.mini-game { display: flex; justify-content: space-between; border-left: 2px solid #d4b25f; padding: .65rem .75rem; background: #131914; }
.mini-game span { display: grid; gap: .15rem; }
.mini-game small { color: #697169; font-size: .45rem; letter-spacing: .13em; }
.mini-game b { font: 700 .8rem var(--display); }
.mini-game > strong { align-self: center; color: #d4b25f; font-size: .62rem; }
.stage-note { position: absolute; right: -20px; bottom: 58px; display: grid; width: 150px; border: 1px solid #315c43; padding: .75rem .9rem; background: #0d2016; box-shadow: 0 20px 50px rgba(0,0,0,.4); }
.stage-note span { color: #69b98d; font-size: .45rem; font-weight: 800; letter-spacing: .16em; }
.stage-note strong { margin-top: .12rem; color: #f1f0e9; font: 800 2rem var(--display); }
.stage-note small { color: #718078; font-size: .52rem; }
.release-preview { position: relative; overflow: hidden; border: 1px solid rgba(212,178,95,.42); margin: 0; background: #07100b; box-shadow: 0 30px 80px rgba(0,0,0,.5); }
.release-preview picture, .release-preview img { display: block; width: 100%; }
.release-preview img { height: auto; transition: transform .24s ease,filter .24s ease; }
.release-preview::before { position: absolute; z-index: 2; top: .65rem; left: .7rem; width: 5px; height: 5px; border-radius: 50%; content: ""; background: #d4b25f; box-shadow: 10px 0 0 #69b98d,20px 0 0 #94504b; }
.release-preview figcaption { position: absolute; z-index: 2; right: .7rem; bottom: .7rem; display: grid; gap: .08rem; border-left: 2px solid #d4b25f; padding: .38rem .55rem; background: rgba(5,12,8,.88); backdrop-filter: blur(8px); }
.release-preview figcaption span { color: #8b968e; font-size: .42rem; font-weight: 800; letter-spacing: .14em; }
.release-preview figcaption strong { color: #f1eee5; font: 800 .72rem var(--display); letter-spacing: .06em; }
.screenshot-open { position: relative; display: block; width: 100%; border: 0; padding: 0; color: inherit; background: transparent; cursor: zoom-in; text-align: left; }
.screenshot-open > span { position: absolute; z-index: 3; bottom: .7rem; left: .7rem; display: flex; align-items: center; gap: .6rem; border: 1px solid rgba(225,199,125,.62); padding: .55rem .7rem; color: #f7f2e6; background: rgba(4,9,6,.92); box-shadow: 0 8px 28px rgba(0,0,0,.45); font-size: .58rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; backdrop-filter: blur(10px); }
.screenshot-open > span b { color: var(--gold-bright); font-size: .8rem; }
.screenshot-open:hover img { transform: scale(1.012); filter: brightness(1.07); }
.screenshot-open:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 4px; }
.hero-release-preview { position: absolute; top: 60px; right: 0; width: 100%; transform: perspective(1100px) rotateY(-2deg) rotateX(1deg); transform-origin: right center; }
.game-release-preview { border-color: #425247; }

.product-focus { position: relative; overflow: hidden; border: 1px solid rgba(212,178,95,.58); margin: 0; padding: 3.2rem .9rem .9rem; background: rgba(6,13,9,.93); box-shadow: 0 34px 90px rgba(0,0,0,.58); }
.hero-product-focus { position: absolute; top: 25px; right: 0; width: min(520px,100%); transform: perspective(1100px) rotateY(-2deg); transform-origin: right center; }
.product-focus-label { position: absolute; top: .9rem; left: 1rem; display: flex; align-items: baseline; gap: .65rem; }
.product-focus-label span { color: var(--gold); font-size: .48rem; font-weight: 800; letter-spacing: .18em; }
.product-focus-label strong { color: #e8e7e0; font: 800 .78rem var(--display); letter-spacing: .08em; }
.focus-window { position: relative; overflow: hidden; border: 1px solid #3c4941; background: #07100b; }
.focus-window img { display: block; width: 100%; height: auto; }
.focus-overview { width: min(430px,100%); height: 430px; margin: 0 auto; border-color: #756435; box-shadow: 0 18px 55px rgba(0,0,0,.48); }
.product-focus figcaption { display: grid; gap: .18rem; width: min(430px,100%); margin: .85rem auto 0; }
.product-focus figcaption span { color: var(--gold); font-size: .52rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.product-focus figcaption strong { color: #f2eee5; font: 700 1.12rem var(--display); letter-spacing: .025em; text-transform: uppercase; }


.launch-strip { display: flex; justify-content: center; gap: 2.2rem; border-block: 1px solid rgba(212,178,95,.2); padding: 1rem 2rem; color: #78837b; background: #09140e; font-size: .58rem; font-weight: 800; letter-spacing: .17em; white-space: nowrap; }
.launch-strip span:nth-child(even) { color: #d4b25f; }
.marketing-section { width: min(1320px,calc(100% - 64px)); margin: 0 auto; padding: 7rem 0; }
.section-kicker { display: grid; max-width: 760px; grid-template-columns: 1fr; }
.section-kicker h2 { margin: 0; font-size: clamp(2.8rem,5vw,5rem); letter-spacing: -.025em; line-height: .9; }
.section-kicker > p:last-child { max-width: 650px; margin: 1.25rem 0 0; color: #89948d; font-size: .9rem; line-height: 1.7; }

.preview-section { display: grid; grid-template-columns: 1fr; gap: 2.3rem; align-items: center; }
.preview-section .section-kicker { max-width: 760px; }
.product-tour { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.product-tour article { overflow: hidden; border: 1px solid #344139; background: rgba(7,15,10,.9); box-shadow: 0 24px 60px rgba(0,0,0,.3); }
.product-tour article.tour-featured { border-color: #8a7135; transform: translateY(-.45rem); }
.product-tour header { position: static; z-index: auto; display: block; height: auto; min-height: 190px; border-bottom: 1px solid #303b34; padding: 1.25rem 1.3rem 1.15rem; background: transparent; backdrop-filter: none; }
.product-tour header > span { color: var(--gold); font-size: .5rem; font-weight: 800; letter-spacing: .16em; }
.product-tour h3 { margin: .55rem 0 .45rem; color: #f2efe7; font: 800 1.8rem/1 var(--display); text-transform: uppercase; }
.product-tour p { margin: 0; color: #8c9790; font-size: .72rem; line-height: 1.65; }
.tour-crop { height: 390px; border: 0; border-top: 1px solid rgba(255,255,255,.03); }
.tour-crop img { will-change: transform; }
.focus-pot img { transform: translateY(-7%); }
.focus-winners img { transform: translateY(-48%); }
.focus-standings img { transform: translateY(-48%); }
.score-preview { border: 1px solid #344139; padding: .8rem; background: rgba(11,23,16,.85); box-shadow: 0 26px 65px rgba(0,0,0,.3); }
.score-head { display: flex; justify-content: space-between; padding: .55rem .55rem 1rem; }
.score-head span { display: grid; }
.score-head small { color: #7c877f; font-size: .48rem; font-weight: 800; letter-spacing: .16em; }
.score-head strong { font: 800 2rem var(--display); }
.score-head > b { align-self: center; border: 1px solid #735f2e; padding: .25rem .4rem; color: #d4b25f; font-size: .52rem; letter-spacing: .09em; }
.score-player { display: grid; grid-template-columns: 44px minmax(0,1fr) 90px 96px; gap: .65rem; align-items: center; margin-top: .45rem; border: 1px solid #29352e; padding: .8rem; background: #0c1610; }
.score-player > em { display: grid; width: 34px; height: 34px; border-radius: 50%; color: #0b100d; background: #d4b25f; font: 800 1rem var(--display); font-style: normal; place-items: center; }
.score-player > span { display: grid; gap: .2rem; min-width: 0; }
.score-player > span small { color: #d4b25f; font-size: .45rem; font-weight: 800; letter-spacing: .14em; }
.score-player > span strong { overflow: hidden; font-size: .73rem; text-overflow: ellipsis; white-space: nowrap; }
.score-player > span i { border: 1px solid #68572b; margin: 0 .2rem; padding: 0 .16rem; color: #d4b25f; font-size: .42rem; font-style: normal; }
.score-player label { display: grid; gap: .25rem; color: #77827a; font-size: .45rem; letter-spacing: .12em; }
.score-player label b { color: #e6e8e3; font-size: .75rem; }
.score-player.winner { border-color: #8b7131; background: linear-gradient(90deg,rgba(74,60,27,.33),#0c1610 38%); }
.score-player.second > em { background: #c6cfcc; }
.score-player.field > em { color: #c99d97; background: #392625; }

.feature-section { border-top: 1px solid #243129; }
.feature-grid { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 3.2rem; border-top: 1px solid #2b382f; border-left: 1px solid #2b382f; }
.feature-grid article { min-height: 210px; border-right: 1px solid #2b382f; border-bottom: 1px solid #2b382f; padding: 1.6rem; background: rgba(10,20,14,.45); }
.feature-grid article > span { color: #d4b25f; font: 700 .65rem var(--display); }
.feature-grid h3 { margin: 2.2rem 0 .7rem; font: 700 1.45rem var(--display); text-transform: uppercase; }
.feature-grid p { margin: 0; color: #7f8a82; font-size: .76rem; line-height: 1.65; }

.how-section { display: grid; grid-template-columns: .9fr 1.1fr; gap: 5rem; border-top: 1px solid #243129; }
.how-section ol { margin: 0; padding: 0; list-style: none; }
.how-section li { display: grid; grid-template-columns: 52px 1fr; gap: 1rem; border-top: 1px solid #2b382f; padding: 1.25rem 0; }
.how-section li > span { display: grid; width: 36px; height: 36px; border: 1px solid #6b5a32; border-radius: 50%; color: #d4b25f; place-items: center; }
.how-section h3 { margin: 0 0 .35rem; font: 700 1.35rem var(--display); text-transform: uppercase; }
.how-section li p { margin: 0; color: #7f8a82; font-size: .75rem; line-height: 1.6; }

.pricing-section { border-top: 1px solid #243129; }
.pricing-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; max-width: 860px; margin-top: 3rem; }
.pricing-grid article { display: flex; min-height: 430px; flex-direction: column; border: 1px solid #303b34; padding: 1.6rem; background: #0a1510; }
.pricing-grid .premium-plan { border-color: #8b7131; background: linear-gradient(140deg,rgba(78,62,25,.32),#0a1510 45%); }
.plan-label { color: #d4b25f; font-size: .62rem; font-weight: 800; letter-spacing: .17em; }
.plan-label span { margin-left: .5rem; border: 1px solid #6d5a2d; padding: .15rem .25rem; font-size: .42rem; }
.pricing-grid h3 { margin: .4rem 0 0; font: 800 3.3rem/1 var(--display); }
.pricing-grid h3 small { color: #8d968f; font-size: .85rem; }
.pricing-grid article > small, .lifetime { color: #77827a; font-size: .7rem; }
.lifetime { margin-top: .45rem; color: #d0b972; font-weight: 700; }
.pricing-grid ul { display: grid; gap: .7rem; margin: 2rem 0; padding: 0; color: #aeb5b0; font-size: .75rem; list-style: none; }
.pricing-grid li::before { margin-right: .55rem; color: #69b98d; content: "✓"; }
.pricing-grid button { width: 100%; margin-top: auto; }

.faq-section { border-top: 1px solid #243129; }
.faq-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: .7rem; margin-top: 2.5rem; }
.faq-grid details { border: 1px solid #2d3831; padding: 1rem 1.1rem; background: rgba(10,20,14,.56); }
.faq-grid summary { color: #e9e8e1; font: 700 1rem var(--display); cursor: pointer; text-transform: uppercase; }
.faq-grid details p { margin: .8rem 0 0; color: #818c84; font-size: .74rem; line-height: 1.65; }
.closing-cta { border-block: 1px solid #6e5a2b; padding: 6.5rem max(32px,calc((100vw - 1180px)/2)); text-align: center; background: radial-gradient(circle at 50% 20%,rgba(45,87,59,.4),transparent 45%),#0b1710; }
.closing-cta h2 { margin: 0; font-size: clamp(3.5rem,6vw,6rem); line-height: .9; }
.closing-cta > p:not(.eyebrow) { max-width: 600px; margin: 1.2rem auto 1.8rem; color: #8b968e; line-height: 1.7; }
.closing-cta > div { display: flex; justify-content: center; gap: .7rem; }
.marketing-footer { display: flex; width: min(1180px,calc(100% - 64px)); min-height: 130px; align-items: center; justify-content: space-between; gap: 1.5rem; margin: 0 auto; color: #707a73; font-size: .65rem; }
.marketing-footer p { margin: 0; }
.marketing-footer > div { display: flex; gap: 1rem; }
.marketing-footer a, .marketing-footer button { border: 0; color: #8c958f; background: none; font-size: .65rem; text-decoration: none; }
.policy-page { background: radial-gradient(circle at 85% 5%,rgba(46,88,60,.25),transparent 30%),#07110c; }
.policy-page main { width: min(760px,calc(100% - 40px)); margin: 0 auto; padding: 3.5rem 0 6rem; }
.policy-page .marketing-brand { margin-bottom: 5rem; }
.policy-page h1 { margin-bottom: .6rem; font-size: clamp(3.6rem,8vw,6rem); }
.policy-updated { margin-bottom: 3rem; color: #6f7a72; font-size: .7rem; }
.policy-page section { border-top: 1px solid #2a382f; padding: 1.5rem 0; }
.policy-page section h2 { margin-bottom: .55rem; font-size: 1.55rem; }
.policy-page section p { margin: 0; color: #9ba49e; font-size: .82rem; line-height: 1.75; }
.policy-page section p a { color: #d4b25f; text-underline-offset: 3px; }
.policy-back { display: inline-block; margin-top: 2rem; color: #d4b25f; font-size: .72rem; font-weight: 800; text-decoration: none; }

@media (max-width: 920px) {
  .marketing-nav { width: calc(100% - 32px); }
  .marketing-nav nav a { display: none; }
  .marketing-hero { min-height: auto; grid-template-columns: 1fr; gap: 2rem; padding: 130px 24px 60px; }
  .marketing-hero::before { background: linear-gradient(180deg,rgba(5,13,8,.74),#07110c 63%),url("assets/poker-table-shady-cartoon-v6.png") 60% 0/auto 58% no-repeat; }
  .hero-copy { max-width: 680px; }
  .hero-stage { width: min(620px,100%); min-height: 490px; justify-self: center; }
  .hero-release-preview { right: auto; left: 0; transform: none; }
  .hero-product-focus { right: auto; left: 50%; transform: translateX(-50%); }
  .mini-dashboard { right: auto; left: 0; }
  .stage-note { right: -5px; }
  .launch-strip { justify-content: flex-start; overflow: hidden; }
  .marketing-section { width: min(100% - 40px,760px); padding: 5rem 0; }
  .preview-section, .how-section { grid-template-columns: 1fr; gap: 2.5rem; }
  .feature-grid { grid-template-columns: repeat(2,1fr); }
  .product-tour { grid-template-columns: 1fr 1fr; }
  .product-tour article:last-child { grid-column: 1 / -1; }
}

@media (max-width: 600px) {
  .marketing-nav { height: 68px; }
  .marketing-brand small { display: none; }
  .marketing-signin { padding: .58rem .7rem; font-size: .6rem; }
  .marketing-hero { padding: 105px 18px 45px; }
  .hero-copy h1 { font-size: clamp(3.1rem,16.5vw,4.15rem); line-height: .84; }
  .hero-lead { margin-top: 1.35rem; font-size: .88rem; line-height: 1.62; }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .hero-primary, .hero-secondary { width: 100%; text-align: center; }
  .hero-proof { display: grid; grid-template-columns: repeat(3,1fr); gap: .45rem; }
  .hero-proof span { padding-left: .45rem; font-size: .55rem; }
  .hero-stage { min-height: 540px; }
  .hero-product-focus { top: 20px; width: calc(100% - 7px); padding: 3rem .65rem .7rem; }
  .focus-overview { height: 420px; }
  .product-focus figcaption { margin-top: .65rem; }
  .product-focus figcaption strong { font-size: .95rem; }
  .hero-release-preview { top: 20px; width: calc(100% - 7px); }
  .hero-release-preview img { height: 455px; object-fit: cover; object-position: top; }
  .game-release-preview img { height: 620px; object-fit: cover; object-position: top; }
  .mini-dashboard { top: 20px; width: calc(100% - 7px); padding: .7rem; transform: none; }
  .mini-title strong { font-size: 1.5rem; }
  .mini-leaderboard li { padding: .55rem .2rem; }
  .mini-stats b { font-size: .95rem; }
  .stage-note { right: 0; bottom: 4px; width: 120px; padding: .55rem .65rem; }
  .stage-note strong { font-size: 1.5rem; }
  .launch-strip { gap: 1rem; padding-inline: 1rem; font-size: .48rem; }
  .marketing-section { width: calc(100% - 28px); padding: 4rem 0; }
  .section-kicker h2 { font-size: 2.75rem; }
  .score-preview { padding: .45rem; }
  .score-player { grid-template-columns: 34px minmax(0,1fr) 57px; gap: .4rem; padding: .65rem .45rem; }
  .score-player label:last-child { display: none; }
  .score-player > em { width: 29px; height: 29px; }
  .score-player > span strong { font-size: .65rem; }
  .feature-grid, .pricing-grid, .faq-grid { grid-template-columns: 1fr; }
  .product-tour { grid-template-columns: 1fr; gap: .8rem; }
  .product-tour article:last-child { grid-column: auto; }
  .product-tour article.tour-featured { transform: none; }
  .product-tour header { min-height: 0; padding: 1rem; }
  .product-tour h3 { font-size: 1.6rem; }
  .tour-crop { height: 350px; }
  .feature-grid article { min-height: 170px; }
  .feature-grid h3 { margin-top: 1.5rem; }
  .pricing-grid article { min-height: 390px; }
  .closing-cta { padding: 5rem 20px; }
  .closing-cta > div { display: grid; }
  .marketing-footer { width: calc(100% - 32px); flex-wrap: wrap; padding: 2rem 0; }
  .marketing-footer p { order: 3; width: 100%; }
  .screenshot-open > span { bottom: .5rem; left: .5rem; padding: .48rem .58rem; font-size: .5rem; }
}

* { box-sizing: border-box; }
html { background: var(--bg-deep); }
body {
  margin: 0;
  min-height: 100vh;
  overflow-x: hidden;
  color: var(--text);
  background: radial-gradient(ellipse at 50% 18%, #12241a 0, #09120d 42%, #050806 100%);
  font-family: var(--body);
  font-size: 14px;
}
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.hidden { display: none !important; }
.muted { color: var(--muted); }
.error { min-height: 1.3em; color: #ee837a; font-size: .78rem; }
.eyebrow { margin: 0 0 .55rem; color: var(--gold); font-size: .67rem; font-weight: 800; letter-spacing: .2em; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--display); text-transform: uppercase; }
h1 { margin-bottom: .5rem; color: var(--text); font-size: clamp(2.4rem, 3.2vw, 3.15rem); font-weight: 700; letter-spacing: -.01em; line-height: .94; }
h2 { color: var(--text); font-size: 1.75rem; font-weight: 700; letter-spacing: .01em; }

/* Editorial login: product interface on the left, poker photography on the right. */
.login-shell { position: relative; display: grid; min-height: 100vh; overflow-x: hidden; overflow-y: auto; grid-template-columns: 45% 55%; background: #07100b; isolation: isolate; }
.login-shell::before { position: absolute; z-index: 2; top: 0; bottom: 0; left: 45%; width: 1px; content: ""; background: linear-gradient(transparent 3%, rgba(201,168,92,.55) 22%, rgba(201,168,92,.18) 80%, transparent); }
.login-atmosphere { position: absolute; z-index: -1; inset: 0 0 0 45%; background: linear-gradient(90deg, #07100b 0%, rgba(7,16,11,.08) 25%, transparent 48%), linear-gradient(0deg, rgba(2,7,4,.36), rgba(2,8,5,.01) 52%, rgba(2,7,4,.1)), url("assets/poker-table-shady-cartoon-v6.png") center / cover no-repeat; }
.login-atmosphere::after { position: absolute; right: 3rem; bottom: 2.6rem; border-left: 2px solid var(--gold); padding-left: .85rem; color: rgba(255,255,255,.7); content: "PRIVATE TABLE  /  EST. 2026"; font-family: var(--display); font-size: .72rem; font-weight: 700; letter-spacing: .2em; }
.floating-suit { display: none; }
.login-card { position: relative; z-index: 3; width: min(430px, calc(100% - 4rem)); align-self: center; justify-self: center; border: 0; padding: 2rem 0; background: transparent; box-shadow: none; text-align: left; }
.login-crest { display: grid; width: 46px; height: 46px; margin: 0 0 3.25rem; border: 1px solid #3b3e3d; color: var(--gold-bright); background: #111313; font-size: 1.5rem; place-items: center; transform: rotate(45deg); }
.login-crest span { font-family: Georgia, serif; transform: rotate(-45deg); }
.login-card h1 { margin: .8rem 0 1rem; font-size: clamp(2.9rem, 4.2vw, 4rem); line-height: .9; }
.login-intro { max-width: 390px; margin-bottom: 0; color: #989c9a; font-size: .88rem; line-height: 1.75; }
.login-rule { display: flex; align-items: center; gap: .8rem; margin: 2.1rem 0 1.15rem; color: #676c69; font-size: .59rem; font-weight: 800; letter-spacing: .18em; }
.login-rule::after { height: 1px; flex: 1; content: ""; background: #2a2d2c; }
.password-label { display: grid; gap: .55rem; color: #a8acaa; font-size: .67rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.login-card .password-label + .password-label { margin-top: .75rem; }
.password-box { position: relative; display: block; }
.password-box > span { position: absolute; z-index: 1; top: 50%; left: 1rem; color: var(--gold); font-family: Georgia, serif; transform: translateY(-52%); }
.password-box input { height: 50px; padding-left: 2.65rem; }
.login-submit { display: flex; width: 100%; align-items: center; justify-content: space-between; margin-top: .75rem; }
.login-fineprint { margin: .5rem 0 0; color: #5d625f; font-size: .66rem; }
.login-fineprint span { margin-right: .35rem; color: var(--green); font-size: .5rem; }
.login-link { display: block; margin: .75rem auto 0; border: 0; padding: .35rem; color: var(--gold); background: transparent; font-size: .7rem; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.login-link.subtle-link { margin-top: .25rem; color: #777d79; font-weight: 700; }
#league-request-form, #create-league-form { padding-block: 1rem; }
#league-request-form .login-crest, #create-league-form .login-crest { margin-bottom: 1.35rem; }
#league-request-form .login-rule, #create-league-form .login-rule { margin-top: 1.2rem; }
.password-label > span small { color: #626865; font-size: .55rem; font-weight: 600; text-transform: none; }
.invite-code-box input { color: var(--gold-bright); font-family: var(--display); font-size: 1.05rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.creation-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.terms-consent { display: flex; align-items: flex-start; gap: .7rem; margin: .9rem 0 .2rem; color: #929894; font-size: .68rem; line-height: 1.5; }
.terms-consent input { width: 18px; height: 18px; flex: 0 0 auto; margin: .05rem 0 0; accent-color: var(--gold); }
.terms-consent a { color: var(--gold-bright); text-underline-offset: 2px; }
.request-status-card { max-width: 430px; }
.request-status-card h1 { font-size: clamp(2.55rem,4vw,3.5rem); }
.request-summary { display: grid; margin: 1.35rem 0 .7rem; border-left: 2px solid var(--gold); padding: .65rem .8rem; background: rgba(15,20,17,.72); }
.request-summary span,.invite-code-panel > span { color: #6f7571; font-size: .56rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.request-summary strong { margin-top: .18rem; font-family: var(--display); font-size: 1.25rem; text-transform: uppercase; }
.request-summary small { margin-top: .12rem; color: #858b87; }
.invite-code-panel { display: grid; gap: .45rem; border: 1px solid #6a592f; padding: .85rem; background: linear-gradient(135deg,rgba(41,34,17,.92),rgba(14,18,15,.88)); }
.invite-code-panel strong { color: var(--gold-bright); font-family: var(--display); font-size: 1.65rem; letter-spacing: .1em; }
.invite-code-panel button { justify-self: start; }
.request-status-loading { border: 1px solid var(--line); padding: 1.5rem; color: var(--muted); background: rgba(9,14,11,.7); }
.recent-leagues { margin-top: .8rem; }
.recent-leagues > span { display: block; margin-bottom: .35rem; color: #626764; font-size: .57rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.recent-leagues > div { display: flex; gap: .35rem; overflow-x: auto; padding-bottom: .2rem; }
.recent-leagues button { flex: none; border: 1px solid var(--line); padding: .38rem .5rem; color: var(--text-soft); background: #111313; text-align: left; }
.recent-leagues button b, .recent-leagues button small { display: block; }
.recent-leagues button b { max-width: 150px; overflow: hidden; font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.recent-leagues button small { margin-top: .12rem; color: #737875; font-size: .53rem; }

/* Shell and controls */
.brand-mark { display: grid; width: 52px; height: 52px; margin-bottom: 1rem; border: 1px solid #3b3e3d; color: var(--gold); background: #121414; font-family: Georgia, serif; font-size: 1.65rem; place-items: center; }
.brand-mark.small { width: 38px; height: 38px; margin: 0; font-size: 1.15rem; transform: rotate(45deg); }
.brand-mark.small::first-letter { transform: rotate(-45deg); }
label { display: grid; gap: .42rem; color: #9fa3a1; font-size: .7rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
input, textarea, select { width: 100%; border: 1px solid var(--line); border-radius: 4px; padding: .78rem .85rem; color: var(--text); background: #0c0e0e; outline: none; transition: border-color .15s, background .15s, box-shadow .15s; }
input::placeholder, textarea::placeholder { color: #555a57; }
input:hover, textarea:hover, select:hover { border-color: #414544; }
input:focus, textarea:focus, select:focus { border-color: var(--gold); background: #101212; box-shadow: 0 0 0 2px rgba(201,168,92,.12); }
input[readonly] { color: var(--gold-bright); background: #17160f; font-weight: 800; }
textarea { min-height: 78px; resize: vertical; }
.app-shell { position: relative; min-height: 100vh; overflow: hidden; padding-bottom: 92px; isolation: isolate; }
.app-shell::before {
  position: fixed;
  z-index: 0;
  inset: 62px 0 0;
  content: "";
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(3,10,6,.08), rgba(3,10,6,.22) 60%, rgba(3,8,5,.48)),
    url("assets/poker-table-shady-cartoon-v6.png") center / cover no-repeat;
  box-shadow:
    inset 0 0 120px rgba(0,0,0,.38),
    inset 0 -120px 160px rgba(0,0,0,.3);
  filter: saturate(.9) brightness(.88) contrast(.94);
  opacity: .7;
}
header { position: sticky; z-index: 10; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 1rem; height: 62px; padding: 0 max(1rem, calc((100vw - 1180px) / 2)); border-bottom: 1px solid var(--line); background: rgba(6,12,8,.86); backdrop-filter: blur(18px); }
.header-actions { display: flex; align-items: center; gap: .45rem; }
.brand { display: flex; align-items: center; gap: .82rem; padding: 0; border: 0; color: var(--text); background: transparent; text-align: left; }
.brand .brand-mark { transform: none; }
.brand b, .brand small { display: block; }
.brand b { font-family: var(--display); font-size: 1.1rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.brand small { margin-top: .05rem; color: #646967; font-size: .56rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.app-shell main { position: relative; z-index: 1; width: min(1180px, calc(100% - 2rem)); margin: 0 auto; padding: 2.2rem 0 1.4rem; }
.app-shell nav { position: fixed; z-index: 20; bottom: 18px; left: 50%; display: flex; width: min(570px, calc(100% - 24px)); border: 1px solid #354039; padding: .35rem; background: rgba(8,15,11,.86); box-shadow: var(--shadow); backdrop-filter: blur(18px); transform: translateX(-50%); }
.app-shell nav button { position: relative; min-height: 52px; flex: 1; border: 0; border-radius: 2px; padding: .45rem .2rem; color: #707573; background: transparent; font-size: .61rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.app-shell nav button span { display: block; margin-bottom: .08rem; color: #8b908e; font-family: var(--display); font-size: .95rem; }
.app-shell nav button:hover { color: var(--text); background: #171919; }
.app-shell nav button.active { color: var(--text); background: #222525; }
.app-shell nav button.active::after { position: absolute; right: 28%; bottom: 0; left: 28%; height: 2px; content: ""; background: var(--gold); }
.app-shell nav button.active span { color: var(--gold-bright); }

button.primary { border: 1px solid var(--gold); border-radius: 3px; padding: .78rem 1rem; color: #0d0e0d; background: var(--gold); font-weight: 800; transition: background .14s, color .14s, transform .14s; }
button.primary:hover { background: var(--gold-bright); transform: translateY(-1px); }
button.compact { padding: .58rem .8rem; font-size: .73rem; }
button.secondary, button.ghost, button.danger { border: 1px solid var(--line); border-radius: 3px; padding: .66rem .82rem; color: var(--text-soft); background: #151717; font-weight: 700; }
button.secondary:hover, button.ghost:hover { border-color: #4a4e4d; color: var(--text); background: #1b1e1d; }
button:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 2px; }
button:disabled { cursor: not-allowed; opacity: .34; }
button.ghost { padding: .44rem .58rem; background: transparent; }
button.danger { color: #e47d74; }

/* Dashboard and content cards */
.page-head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.4rem; }
.page-head h1 { margin-bottom: 0; }
.grid { display: grid; gap: .85rem; }
.stats { grid-template-columns: repeat(4,1fr); margin-bottom: .85rem; }
.two-col { grid-template-columns: minmax(0,1.55fr) minmax(280px,.8fr); }
.card { border: 1px solid rgba(73,88,79,.72); border-radius: 4px; padding: 1rem; background: rgba(8,16,11,.52); box-shadow: 0 12px 34px rgba(0,0,0,.18); backdrop-filter: blur(4px) saturate(.9); }
.stat { position: relative; min-height: 92px; overflow: hidden; border-top: 2px solid #383c3b; }
.stat::after { position: absolute; right: .75rem; bottom: -1.2rem; color: rgba(255,255,255,.025); content: "♠"; font-family: Georgia, serif; font-size: 5.5rem; }
.stat small { display: block; margin-bottom: .65rem; color: #747977; font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.stat strong { position: relative; z-index: 1; font-family: var(--display); font-size: 1.95rem; font-weight: 700; letter-spacing: -.01em; text-transform: uppercase; }
.stat.gold { border-top-color: var(--gold); }
.stat.gold strong { color: var(--gold-bright); }
.section-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; }
.section-head h2 { margin: 0; }
.prize-pool { min-width: 205px; border-left: 2px solid var(--gold); padding: .35rem .8rem; background: #161711; text-align: right; }
.prize-pool small, .prize-pool strong, .prize-pool span { display: block; }
.prize-pool small, .prize-pool span { color: #7f8481; }
.prize-pool strong { margin: .04rem 0; color: var(--gold-bright); font-family: var(--display); font-size: 1.65rem; }
.prize-pool span { font-size: .65rem; }
.split-picker { display: flex; align-items: center; gap: .4rem; margin: -.15rem 0 .85rem; border: 1px solid var(--line); padding: .45rem; background: #0c0e0e; }
.split-picker > span { margin: 0 .4rem; color: #757a77; font-size: .61rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.split-option { border: 1px solid #303433; border-radius: 2px; padding: .48rem .7rem; color: #818683; background: #131515; font-family: var(--display); font-weight: 700; letter-spacing: .04em; }
.split-option.active { border-color: var(--gold); color: #111; background: var(--gold); }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th { color: #6e7471; font-size: .59rem; letter-spacing: .11em; text-align: right; text-transform: uppercase; }
th:first-child, td:first-child, th:nth-child(2), td:nth-child(2) { text-align: left; }
th, td { border-bottom: 1px solid var(--line-soft); padding: .78rem .5rem; text-align: right; white-space: nowrap; }
tbody tr:hover { background: rgba(255,255,255,.015); }
tbody tr:last-child td { border-bottom: 0; }
.rank { width: 35px; color: var(--gold); font-family: var(--display); font-weight: 800; }
.profit { color: #72c297; }
.loss { color: #df756d; }
.empty { padding: 2.5rem 1rem; color: #6f7471; text-align: center; }
.game-list { display: grid; gap: .6rem; }
.game-card { border: 1px solid rgba(56,69,61,.72); border-left: 2px solid #596a60; padding: .9rem; background: rgba(7,14,10,.42); }
.pending-game { border-left-color: var(--gold); }
.game-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.game-card-heading { min-width: 0; }
.game-title-line { display: flex; min-width: 0; align-items: center; flex-wrap: wrap; gap: .35rem .55rem; }
.game-card h3 { margin: 0; font-family: var(--display); font-size: 1.1rem; text-transform: uppercase; }
.game-split { border: 1px solid #5b4c28; padding: .16rem .32rem .13rem; color: var(--gold); background: #18150d; font-size: .5rem; font-weight: 800; letter-spacing: .08em; line-height: 1; text-transform: uppercase; white-space: nowrap; }
.game-pot { flex: none; text-align: right; }
.game-pot small { display: block; margin-top: .12rem; }
.game-card ol { margin: .7rem 0 0; padding-left: 1.4rem; color: var(--muted); }
.game-card li { padding: .24rem 0; }
.game-card li::marker { color: var(--gold); }
.game-card-actions { display: flex; gap: .45rem; margin-top: .8rem; }
.game-card-actions button { min-height: 38px; }
.game-card-actions .share-game { border-color: #5b4c28; color: var(--gold-bright); background: #17150e; }
.game-card-actions .share-game:hover { border-color: var(--gold); color: #0c0e0d; background: var(--gold); }
.share-game span { margin-right: .2rem; font-size: .85rem; }
.game-pending { display: grid; gap: .2rem; margin-top: .75rem; border: 1px solid #4e4429; padding: .65rem .7rem; background: #15130d; }
.game-pending strong { color: var(--gold-bright); font-family: var(--display); font-size: .9rem; letter-spacing: .04em; text-transform: uppercase; }
.game-pending span { color: #8f938f; font-size: .62rem; }
.game-result { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .65rem; }
.game-result-player { min-width: 0; }
.game-result-stats { display: flex; align-items: baseline; gap: .3rem; white-space: nowrap; }
.game-result-stats strong { color: #72c297; font-family: var(--display); font-size: .95rem; letter-spacing: .02em; }
.game-result-stats small { color: #747976; font-size: .58rem; }

.player-name-lockup { display: grid; min-width: 0; gap: .18rem; line-height: 1; }
.player-real-name { overflow: hidden; color: var(--text); font-size: .8rem; font-weight: 700; letter-spacing: .01em; text-overflow: ellipsis; white-space: nowrap; }
.player-alias { display: flex; min-width: 0; align-items: center; gap: .35rem; color: var(--gold-bright); font-family: var(--display); font-size: 1.02rem; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; }
.player-alias > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aka-chip { display: inline-flex; flex: none; align-items: center; border: 1px solid #655633; padding: .13rem .24rem .11rem; color: var(--gold); background: #1b180f; font-family: var(--body); font-size: .44rem; font-weight: 800; letter-spacing: .1em; line-height: 1; }
.player-name-lockup.inline { display: inline-flex; align-items: center; gap: .35rem; vertical-align: middle; }
.player-name-lockup.inline .player-alias { font-size: .86rem; }
.player-name-lockup.inline .player-real-name { color: var(--text-soft); }
.stat .player-name-lockup { gap: .28rem; }
.stat .player-real-name { font-family: var(--display); font-size: 1.55rem; font-weight: 700; text-transform: uppercase; }
.stat .player-alias { font-size: .9rem; }

/* Forms and results */
.form-grid { grid-template-columns: repeat(3,1fr); }
.span-all { grid-column: 1 / -1; }
.form-actions { display: flex; justify-content: flex-end; gap: .65rem; margin-top: 1rem; }
.results { display: grid; gap: .45rem; margin-top: 1rem; }
.result-tier { display: flex; align-items: center; gap: .7rem; margin-top: .55rem; padding: .5rem 0 .12rem; text-transform: uppercase; }
.result-tier small, .result-tier strong { display: block; }
.result-tier small { margin-bottom: .03rem; color: #747a77; font-size: .54rem; font-weight: 800; letter-spacing: .18em; }
.result-tier strong { font-family: var(--display); font-size: 1.3rem; font-weight: 700; letter-spacing: .03em; }
.tier-share { margin-left: auto; color: #6f7471; font-size: .57rem; font-weight: 800; letter-spacing: .12em; }
.first-tier { color: var(--gold-bright); }
.second-tier { color: var(--silver); }
.pending-tier { border-top: 1px solid var(--line-soft); color: #a4aaa6; }
.losers-tier { margin-top: .95rem; border-top: 1px solid #312826; padding-top: .75rem; color: #ca756d; }
.loser-sticker { width: 58px; height: 58px; margin: -.5rem 0 -.35rem; object-fit: contain; filter: saturate(.7) drop-shadow(0 6px 9px rgba(0,0,0,.28)); }
.result-row { position: relative; display: grid; align-items: center; gap: .65rem; overflow: hidden; border: 1px solid rgba(65,79,70,.72); border-radius: 3px; padding: .65rem; background: rgba(7,14,10,.54); backdrop-filter: blur(3px); }
.result-row::before { position: absolute; inset: 0 auto 0 0; width: 2px; content: ""; }
.finalist-row { grid-template-columns: 62px minmax(180px,1fr) 124px 104px auto; min-height: 82px; }
.field-row { grid-template-columns: minmax(220px,1fr) 124px auto; min-height: 58px; padding-left: .8rem; }
.seat-sticker { width: 58px; height: 58px; object-fit: contain; filter: saturate(.8) drop-shadow(0 7px 10px rgba(0,0,0,.3)); }
.player-result { min-width: 0; }
.player-result .player-real-name { font-size: .84rem; }
.player-result .player-alias { font-size: 1rem; }
.first-place { border-color: #756436; background: linear-gradient(90deg,rgba(32,29,16,.7),rgba(7,14,10,.5) 48%); }
.first-place::before { background: var(--gold); }
.second-place { border-color: #58645f; background: linear-gradient(90deg,rgba(22,31,26,.7),rgba(7,14,10,.5) 48%); }
.second-place::before { background: var(--silver); }
.loser-place { border-color: #324038; background: rgba(6,13,9,.48); }
.loser-place .player-real-name { color: #b9bcb8; }
.loser-place .player-alias { color: #a9a391; }
.loser-place .aka-chip { border-color: #494538; color: #a9a391; background: #15140f; }
.row-actions { display: flex; align-self: center; gap: .3rem; }
.result-actions { align-items: center; }
.buyin-stepper { display: grid; grid-template-columns: 34px minmax(40px,1fr) 34px; margin-top: .38rem; overflow: hidden; border: 1px solid var(--line); border-radius: 2px; background: #090a0a; }
.buyin-stepper button { border: 0; color: #d4d4ce; background: #1a1d1c; font-size: 1rem; font-weight: 800; }
.buyin-stepper button:hover:not(:disabled) { color: #111; background: var(--gold); }
.buyin-stepper input { min-width: 0; border: 0; border-right: 1px solid var(--line); border-left: 1px solid var(--line); border-radius: 0; padding: .62rem .15rem; text-align: center; font-weight: 800; -moz-appearance: textfield; }
.buyin-stepper input::-webkit-inner-spin-button, .buyin-stepper input::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
.buyin-stepper input:focus { box-shadow: inset 0 0 0 1px var(--gold); }
.finish-check { position: relative; display: block; cursor: pointer; }
.finish-check input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.finish-check span { display: flex; min-height: 34px; align-items: center; border: 1px solid var(--line); border-radius: 2px; padding: .4rem .57rem; color: #858a87; background: #121414; font-size: .61rem; font-weight: 800; letter-spacing: .025em; white-space: nowrap; }
.finish-check:hover span { border-color: #505554; color: var(--text); }
.finish-check input:focus-visible + span { outline: 2px solid var(--gold); outline-offset: 2px; }
.winner-check input:checked + span { border-color: var(--gold); color: #111; background: var(--gold); }
.runner-check input:checked + span { border-color: var(--silver); color: #111; background: var(--silver); }
.add-player-row { display: grid; grid-template-columns: 1fr auto; gap: .65rem; margin-top: 1rem; }
.player-name-help { margin: .25rem 0 -.25rem; font-size: .67rem; }
.player-name-form { align-items: end; }
.player-name-fields { display: grid; min-width: 0; flex: 1; grid-template-columns: minmax(160px,1fr) auto minmax(160px,1fr); align-items: end; gap: .65rem; }
.player-name-fields label > span { display: block; margin-bottom: .38rem; }
.player-aka-divider { display: grid; width: 38px; height: 38px; margin-bottom: .13rem; border: 1px solid #655633; color: var(--gold); background: #1b180f; font-size: .55rem; font-weight: 900; letter-spacing: .1em; place-items: center; }
.game-player-actions { grid-template-columns: minmax(180px,1fr) auto auto; }
.player-list { display: grid; gap: .45rem; margin-top: 1rem; }
.player-item { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border: 1px solid rgba(55,69,61,.68); border-left: 2px solid #506158; padding: .72rem .8rem; background: rgba(7,14,10,.48); backdrop-filter: blur(3px); }
.edit-player-form { align-items: end; }
.player-identity-block { display: grid; min-width: 0; gap: .38rem; }
.player-identity-block .player-real-name { font-size: .82rem; }
.player-identity-block .player-alias { font-size: 1.12rem; }
.player-status { color: #656b68; font-size: .57rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.player-actions { display: flex; align-items: center; gap: .4rem; }
.inactive { opacity: .46; }
.settings-form { display: grid; gap: 1rem; }
.league-access-card { margin-top: 1rem; }
.league-code-badge { max-width: 48%; overflow-wrap: anywhere; border: 1px solid #655633; padding: .28rem .45rem; color: var(--gold-bright); background: #1b180f; font-family: var(--display); font-size: .85rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.share-link { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .5rem; margin-top: .8rem; }
.league-actions { display: flex; justify-content: flex-end; gap: .5rem; margin-top: .7rem; }
.password-change { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: .65rem; }

/* Texas Hold'em quick reference */
.hands-page-head { align-items: center; margin-bottom: .65rem; }
.compact-suit-key { display: flex; align-items: center; gap: .38rem; }
.compact-suit-key > span { display: flex; min-width: 72px; align-items: center; justify-content: center; gap: .32rem; border: 1px solid rgba(71,78,73,.72); padding: .42rem .52rem; background: rgba(7,14,10,.62); backdrop-filter: blur(3px); }
.compact-suit-key .suit-guide-icon { width: 17px; height: 17px; fill: currentColor; }
.compact-suit-key small { color: #929794; font-size: .5rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.compact-suit-key .red { color: #c94a43; }
.compact-suit-key .black { color: #e1e4e2; }
.compact-suit-key > b { margin-left: .35rem; color: #747a76; font-size: .53rem; letter-spacing: .06em; text-transform: uppercase; }
.hand-ranking-section { margin-top: 0; }
.hands-board-head { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; border: 1px solid rgba(65,79,70,.72); border-bottom: 0; padding: .72rem .85rem; background: rgba(7,14,10,.62); backdrop-filter: blur(3px); }
.hands-board-head h2 { margin: 0; font-size: 1.5rem; }
.hands-board-head .eyebrow { margin-bottom: .2rem; }
.hands-rule-strip { display: flex; align-items: stretch; gap: .45rem; }
.hands-rule-strip p { display: flex; max-width: 330px; align-items: center; gap: .48rem; margin: 0; border-left: 1px solid #4b422b; padding: .3rem .6rem; color: #8f9491; font-size: .58rem; line-height: 1.45; }
.hands-rule-strip p > span { display: grid; width: 26px; height: 26px; flex: none; border: 1px solid #685832; border-radius: 50%; color: var(--gold-bright); font-family: var(--display); font-size: .82rem; font-weight: 800; place-items: center; }
.hands-rule-strip strong { color: var(--text-soft); }
.hand-ranking-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .45rem; }
.hand-rank { display: grid; min-width: 0; grid-template-columns: 34px minmax(118px,1fr) auto; align-items: center; gap: .65rem; border: 1px solid rgba(65,79,70,.72); border-left: 2px solid #536258; padding: .58rem .65rem; background: rgba(7,14,10,.64); backdrop-filter: blur(3px); }
.hand-rank:first-child { border-color: #66572f; border-left-color: var(--gold); background: linear-gradient(90deg,#18170f,rgba(13,15,15,.96) 44%); }
.hand-rank-number { color: var(--gold); font-family: var(--display); font-size: .92rem; font-weight: 800; }
.hand-copy h3 { margin: 0; font-family: var(--display); font-size: 1.03rem; letter-spacing: .03em; text-transform: uppercase; }
.hand-copy p { margin: .1rem 0 0; color: #777c79; font-size: .54rem; line-height: 1.35; }
.card-run { display: flex; gap: .24rem; padding: .18rem; }
.playing-card { position: relative; display: block; width: 38px; height: 52px; flex: none; overflow: hidden; border: 1px solid #d8d5cc; border-radius: 4px; color: #151918; background: #f7f5ef; box-shadow: 0 3px 8px rgba(0,0,0,.32); }
.playing-card.red-card { color: #b92f2c; }
.card-rank { position: absolute; z-index: 1; top: 5px; left: 5px; font-family: "Arial Narrow",Arial,Helvetica,sans-serif; font-size: .9rem; font-weight: 900; letter-spacing: -.08em; line-height: .82; }
.card-pip { position: absolute; right: 5px; bottom: 5px; display: grid; width: 18px; height: 18px; place-items: center; opacity: .92; }
.card-pip-suit { width: 100%; height: 100%; fill: currentColor; }
.hand-rank:first-child .playing-card { border-color: #c9b16f; box-shadow: 0 0 0 1px rgba(201,168,92,.14),0 4px 10px rgba(0,0,0,.4); }
#toast { position: fixed; z-index: 40; bottom: 90px; left: 50%; border: 1px solid var(--gold); border-radius: 2px; padding: .7rem .9rem; color: #111; background: var(--gold); box-shadow: var(--shadow); font-size: .72rem; font-weight: 800; opacity: 0; pointer-events: none; transition: .18s ease; transform: translate(-50%,18px); }
#toast.show { opacity: 1; transform: translate(-50%,0); }

@media (max-width: 1100px) {
  .hand-ranking-list { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .login-shell { grid-template-columns: 52% 48%; }
  .login-shell::before { left: 52%; }
  .login-atmosphere { left: 52%; }
  .login-card { width: min(390px,calc(100% - 2.5rem)); }
  .finalist-row { grid-template-columns: 64px minmax(140px,1fr) 120px; }
  .finalist-row .payout { grid-column: 2; }
  .finalist-row .result-actions { grid-column: 3; grid-row: 2; }
  .field-row { grid-template-columns: minmax(140px,1fr) 120px auto; }
}

@media (max-width: 760px) {
  input, textarea, select { font-size: 16px; }
  .login-shell { display: grid; grid-template-columns: 1fr; padding: 1rem; place-items: end center; }
  .login-shell::before { display: none; }
  .login-atmosphere { inset: 0; background: linear-gradient(180deg,rgba(3,10,6,.01),#07100b 59%),url("assets/poker-table-shady-cartoon-v6.png") 50% 0 / auto 44% no-repeat,#07100b; }
  .login-atmosphere::after { display: none; }
  .login-card { width: 100%; max-width: 460px; margin-top: 23vh; border-top: 1px solid var(--gold); padding: 1rem .85rem .65rem; background: linear-gradient(180deg,rgba(7,15,10,.94),#07100b 38%); }
  #league-request-form, #create-league-form { margin-top: 5vh; }
  .login-crest { width: 34px; height: 34px; margin-bottom: 1rem; font-size: 1rem; }
  .login-card h1 { font-size: clamp(2.35rem,9.5vw,2.55rem); line-height: .94; }
  .login-intro { line-height: 1.55; }
  .login-rule { margin: 1rem 0 .8rem; }
  .password-box input { height: 46px; }
  header { height: 56px; }
  .brand small { display: none; }
  .app-shell main { width: min(100% - 1rem,1180px); padding-top: 1.35rem; }
  h1 { font-size: clamp(2.2rem,8.8vw,2.55rem); line-height: .96; }
  .stats { grid-template-columns: repeat(2,1fr); }
  .two-col, .form-grid { grid-template-columns: 1fr; }
  .card { padding: .75rem; }
  .page-head { align-items: start; flex-direction: column; gap: .65rem; margin-bottom: 1rem; }
  .section-head { align-items: start; }
  .prize-pool { min-width: 140px; }
  .split-picker { display: grid; grid-template-columns: repeat(4,1fr); }
  .split-picker > span { grid-column: 1 / -1; }
  .split-option { padding-inline: .22rem; }
  .result-tier { margin-top: .4rem; padding: .4rem 0 .08rem; }
  .result-tier strong { font-size: 1.12rem; }
  .tier-share { font-size: .53rem; }
  .result-row { gap: .52rem; padding: .55rem; }
  .finalist-row { grid-template-columns: 48px minmax(80px,1fr) 148px; }
  .field-row { grid-template-columns: minmax(96px,1fr) 104px; padding-left: .55rem; }
  .seat-sticker { width: 44px; height: 44px; }
  .loser-sticker { width: 44px; height: 44px; }
  .finalist-row .payout { grid-column: 1 / 3; grid-row: 2; }
  .finalist-row .result-actions { grid-column: 3; grid-row: 2; justify-content: flex-end; }
  .finalist-row .finish-check span { padding-inline: .38rem; font-size: .56rem; }
  .finalist-row .result-actions .ghost { min-width: 27px; padding-inline: .4rem; }
  .result-actions { grid-column: 1 / -1; grid-row: auto; justify-content: flex-end; }
  .field-row .result-actions { grid-column: 1 / -1; }
  .buyin-stepper { grid-template-columns: 30px minmax(36px,1fr) 30px; }
  .buyin-stepper input { padding-block: .5rem; }
  .finish-check span { min-height: 30px; padding-block: .32rem; }
  .app-shell nav { bottom: 8px; width: min(570px,calc(100% - 12px)); padding: .25rem; }
  .app-shell nav button { min-height: 47px; }
  .app-shell { padding-bottom: 76px; }
  .app-shell::before { inset: 56px 0 0; background-position: center, 50% center; opacity: .52; }
  .edit-player-form { align-items: stretch; flex-direction: column; }
  .player-name-form { grid-template-columns: 1fr; }
  .player-name-form > .primary { width: 100%; }
  .player-name-fields { width: 100%; grid-template-columns: 1fr; gap: .5rem; }
  .player-aka-divider { width: auto; height: 24px; margin: -.05rem 0; }
  .edit-player-form .player-actions { justify-content: flex-end; }
  .player-actions { gap: .25rem; }
  .player-actions .ghost { padding: .48rem .5rem; font-size: .67rem; }
  .player-identity-block .player-alias { align-items: flex-start; }
  .player-identity-block .player-alias > span:last-child { overflow: visible; white-space: normal; }
  .hands-page-head { align-items: center; flex-direction: row; gap: .45rem; }
  .hands-page-head > div:first-child { flex: 1; }
  .compact-suit-key { width: auto; flex: none; flex-wrap: nowrap; gap: .2rem; }
  .compact-suit-key > span { min-width: 30px; padding: .35rem; }
  .compact-suit-key small, .compact-suit-key > b { display: none; }
  .hands-board-head { align-items: flex-start; flex-direction: column; gap: .5rem; padding: .58rem .65rem; }
  .hands-rule-strip { width: 100%; flex-direction: row; gap: .2rem; }
  .hands-rule-strip p { width: 50%; max-width: none; align-items: flex-start; padding: .25rem .4rem; font-size: .53rem; }
  .hands-rule-strip p > span { width: 23px; height: 23px; }
  .holdem-rule { grid-column: 1; }
  .hand-ranking-section .section-head { display: block; }
  .hand-ranking-section .section-head > small { display: block; margin-top: .25rem; color: #a2a6a3; font-size: .7rem; }
  .hand-rank { grid-template-columns: 38px minmax(0,1fr); gap: .65rem .75rem; padding: .9rem .8rem; background: rgba(7,14,10,.64); }
  .hand-rank-number { display: grid; width: 34px; height: 34px; align-self: start; border: 1px solid #5d5132; border-radius: 50%; background: #17150f; font-size: .9rem; place-items: center; }
  .hand-copy h3 { font-size: 1.38rem; line-height: 1; }
  .hand-copy p { margin-top: .32rem; color: #a7aba8; font-size: .75rem; line-height: 1.5; }
  .card-run { width: 100%; grid-column: 1 / -1; justify-content: space-between; gap: .28rem; }
  .playing-card { width: auto; min-width: 0; max-width: 56px; height: 72px; flex: 1; }
  .card-rank { top: 8px; left: 8px; font-size: 1.22rem; }
  .card-pip { right: 8px; bottom: 8px; width: 25px; height: 25px; }
  .tie-guide { align-items: flex-start; flex-direction: column; gap: .5rem; }
  .tie-guide p, .holdem-rule p { color: #a7aba8; font-size: .75rem; }
  .game-player-actions { grid-template-columns: 1fr 1fr; }
  .game-player-actions select { grid-column: 1 / -1; }
  .game-card-actions button { flex: 1; }
  .password-change { grid-template-columns: 1fr; }
  th:nth-child(5), td:nth-child(5) { display: none; }
}

@media (max-width: 420px) {
  .login-shell { padding-inline: .65rem; }
  .login-card { padding-inline: .55rem; }
  .share-link { grid-template-columns: 1fr; }
  .league-actions { align-items: stretch; flex-direction: column; }
  .stats { gap: .5rem; }
  .stat { min-height: 82px; padding: .65rem; }
  .stat strong { font-size: 1.4rem; }
  .finalist-row { grid-template-columns: 44px minmax(70px,1fr) 142px; gap: .45rem; }
  .field-row { grid-template-columns: minmax(76px,1fr) 96px; gap: .45rem; }
  .seat-sticker { width: 40px; height: 40px; }
  .player-result .player-real-name { font-size: .74rem; }
  .player-result .player-alias { font-size: .85rem; }
  .finish-check span { padding-inline: .48rem; }
  .suit-grid { grid-template-columns: repeat(2,1fr); }
  .suit-tile { min-height: 62px; }
  .suit-tile strong { font-size: .61rem; }
  .hand-ranking-list { gap: .65rem; }
  .hand-rank { padding: .8rem .65rem; }
  .card-run { gap: .2rem; }
  .playing-card { max-width: 51px; height: 70px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
