/* A little sleight of hand. All overrides stay inside the pre-game shell. */
#front-return-fade { position:fixed; inset:0; width:100%; height:100%; max-width:none; max-height:none; margin:0; padding:0; border:0; outline:0; box-sizing:border-box; background:#040b0e; opacity:0; }
#front-return-fade::backdrop { background:transparent; }
/* The receptionist is a short cutscene before the existing registration runs. */
#club-entry { position:fixed; inset:0; z-index:64; pointer-events:auto; color:#f3e8d2; font-family:'AEH Text',system-ui,sans-serif; }
#club-entry[hidden] { display:none; }
#club-entry-curtain { position:absolute; inset:0; background:#040b0e; opacity:0; pointer-events:none; }
#club-entry-caption { position:absolute; left:50%; bottom:12px; width:min(820px,calc(100% - 56px)); transform:translateX(-50%); text-align:center; pointer-events:none; transition:opacity 180ms; }
#club-entry-subtitle { margin:0; padding:6px 22px; border-radius:7px; color:#f3e8d2; background:linear-gradient(90deg,#06151900,#061519dc 18%,#061519dc 82%,#06151900); font-size:clamp(16px,2vh,20px); line-height:1.35; text-shadow:0 2px 7px #000; }
#club-entry-subtitle:empty { display:none; }
#club-entry-skip { position:absolute; right:30px; bottom:26px; min-height:42px; padding:10px 18px; border:1px solid #d9b77966; border-radius:5px; color:#f3e8d2; background:#0a1b20dc; font:500 13px 'AEH Text',system-ui,sans-serif; cursor:pointer; }
#club-entry-skip span { margin-left:13px; color:#d9b779; }
#club-entry-skip:hover { border-color:#d9b779; background:#173235; }
#club-entry-skip:focus-visible { outline:2px solid #f3d299; outline-offset:4px; }
#club-entry-skip:disabled { opacity:0; pointer-events:none; }
#club-entry:is([data-phase='leaving'],[data-phase='seating'],[data-phase='submitting'],[data-phase='arriving']) #club-entry-caption { opacity:0; }
body.club-entry-active #start { opacity:0; pointer-events:none; transition:opacity 300ms ease; }
/* Keep the lobby opaque until the curtain covers the underlying seated view. */
body.club-entry-active[data-club-entry-phase='leaving'] #start { opacity:1; }
body.club-entry-active:not([data-club-entry-phase='leaving']) #start { visibility:hidden; }
body.club-entry-active:not([data-club-entry-phase='arriving']) :is(#topbar,#club-toolbar,#sidepanel,#actionbar,#club-cards,#club-pot-label,#tvpot,#tvpanels,#banner,#outsbar,.plate,.betlabel,.pctfloat,#holeOverlay) { visibility:hidden!important; pointer-events:none!important; }
body.club-enabled.club-entry-reception #c3d { inset:0!important; width:100%; height:100%; }
body.club-entry-active #verificationGate { z-index:100; }
@media(max-width:600px) { #club-entry-caption { bottom:78px; width:calc(100% - 24px); } #club-entry-subtitle { padding:12px; } #club-entry-skip { right:18px; bottom:20px; } }
@media(prefers-reduced-motion:reduce) { body.club-entry-active #start,#club-entry-caption { transition:none; } }
/* Avoid flashing the former all-at-once lobby while deferred composition loads.
   If a script fails, the original registration remains available after 5s. */
html.aeh-theme #start:not([data-front-view]) #startcard { opacity: 0; animation: front-lobby-fallback 0s 5s forwards; }
@keyframes front-lobby-fallback { to { opacity: 1; } }
html.aeh-theme #start[data-front-view] {
  --front-paper: #f3e8d2; --front-gold: #d9b779; --front-soft: #b4b9b3;
  --front-rail: 196px;
  display: block; isolation: isolate; background: #091417; padding: 0;
  overflow: auto; overscroll-behavior: contain;
}
html.aeh-theme #start[data-front-view]::before,
html.aeh-theme #start[data-front-view]::after {
  content: ''; position: fixed; inset: 0; pointer-events: none; z-index: -1;
}
html.aeh-theme #start[data-front-view]::before {
  background: url('../assets/ui/title-room-v1.34e5107a9d5b9e1d.webp') center 55% / cover no-repeat;
  opacity: .94; transform: scale(1.035); transition: opacity 1200ms ease, transform 2800ms cubic-bezier(.16,.7,.2,1), filter 1100ms;
}
html.aeh-theme #start[data-front-view]::after {
  background: radial-gradient(ellipse at 50% 43%, transparent 20%, #0712144d 74%, #02090bd1), linear-gradient(#060e1738, transparent 40%, #0511145c);
  transition: background 1000ms;
}
html.aeh-theme #start[data-front-view="gate"]::before { opacity: .035; filter: blur(8px); transform: scale(1.13); }
html.aeh-theme #start[data-front-view="gate"]::after { background: radial-gradient(ellipse at 50% 47%, #18303566, #050d13 80%); }
html.aeh-theme #start[data-front-view="flow"]::before { opacity: .16; filter: blur(5px); transform: scale(1.06); }
html.aeh-theme #start[data-front-view="flow"]::after { background: radial-gradient(ellipse at 53% 45%, #16303355, #071013c9 90%); }
html.aeh-theme #start[data-front-view] #startcard {
  position: relative; z-index: 2; max-width: none; width: 100%; min-height: 100svh; margin: 0; padding: 0; background: none;
}
html.aeh-theme #start[data-front-view] #startcard > :is(.lobby-header,.lobby-hero,.lobby-guide,.lobby-footer) { display: none; }
html.aeh-theme #start[data-front-view] #startcard > .club-presentation-choice { display: none; }
#front-door { position: relative; min-height: 100svh; color: var(--front-paper); font-family: 'AEH Text',system-ui,sans-serif; }
#front-door [hidden] { display: none !important; }
.front-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#front-door button { font-family: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent; }
#front-door :is(button,a,input,summary):focus-visible { outline: 2px solid #f3d299; outline-offset: 6px; }
#start[data-front-input="pointer"] :is(#front-enter,#front-title-heading,#front-stage-heading):focus { outline: none; }
#front-gate { position: fixed; inset: 0; pointer-events: none; }
#front-enter {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);
  width: clamp(130px,13.5vw,208px); aspect-ratio: 5 / 7; border: 0; border-radius: 10px;
  padding: 0; color: transparent; background: transparent; pointer-events: auto;
}
#front-enter:hover { box-shadow: 0 0 60px #d8bb7030; }
#front-enter-hint { position: absolute; left: 0; right: 0; top: calc(50% + clamp(91px,9.45vw,146px) + 36px); text-align: center; font-size: 11px; letter-spacing: .23em; color: #ddcbaa; text-transform: uppercase; }
#front-enter-hint { opacity: 0; transition: opacity 900ms ease; }
.front-hint-visible #front-enter-hint { opacity: .75; }
#front-title { position: relative; height: max(650px,100svh); pointer-events: none; }
#front-title button, #front-title a { pointer-events: auto; }
#front-version {
  position: absolute; right: max(16px,calc(env(safe-area-inset-right) + 12px));
  bottom: max(12px,calc(env(safe-area-inset-bottom) + 8px)); margin: 0;
  color: #b8b4a9; font: 500 11px/1.4 'AEH Text',system-ui,sans-serif;
  letter-spacing: .06em; white-space: nowrap; text-shadow: 0 1px 4px #000;
}
body.collection-open #front-version { visibility: hidden; }
#front-title .front-title-brand, #front-title > h1, #front-title .front-title-heading {
  position: absolute; left: 50%; top: 9%; width: max-content; max-width: 96%; transform: translateX(-50%);
  text-align: center; margin: 0; text-shadow: 0 5px 40px #0008;
}
html.aeh-theme #startcard #front-title h1 {
  color: var(--front-paper); background: none; -webkit-text-fill-color: initial;
  font-family: 'AEH Display','Arial Narrow',sans-serif; font-weight: 600; line-height: .88; letter-spacing: .035em;
}
.front-title-aces { display: block; font-size: clamp(76px,8.4vw,138px); letter-spacing: .105em; padding-left: .105em; color: #f1e6cf; }
.front-title-rest { display: block; font-size: clamp(26px,2.7vw,44px); letter-spacing: .29em; padding-left: .29em; margin-top: 13px; color: #d9b779; }
.front-title-eyebrow { font-size: 9px; font-weight: 500; letter-spacing: .32em; color: #c9bda6; margin-bottom: 17px; text-transform: uppercase; }
#front-mobile-note { display:none; }
body.is-mobile #front-mobile-note { display:block; box-sizing:border-box; width:min(460px,calc(100vw - 40px)); margin:18px auto 0; padding:10px 14px; border:1px solid #d9b77944; border-radius:5px; background:#0a1b20e8; color:#dfd5bf; font:400 12px/1.5 'AEH Text',system-ui,sans-serif; letter-spacing:normal; text-shadow:none; }
#front-mobile-note strong { color:#edce91; font-weight:600; }
#front-title:not([hidden]) .front-title-brand { animation: front-title-arrive 1s 280ms both; }
#front-title:not([hidden]) .front-title-nav { animation: front-title-arrive 850ms 550ms both; }
@keyframes front-title-arrive { from { opacity: 0; translate: 0 18px; filter: blur(5px); } to { opacity: 1; translate: 0 0; filter: blur(0); } }
.front-title-navigation, .front-title-nav { position: absolute; top: 78%; left: 50%; transform: translateX(-50%); display: flex; align-items: center; justify-content: center; gap: 12px; width: min(850px,94%); }
#front-play {
  position: relative; min-width: 210px; min-height: 64px; border: 1px solid #f4d79c;
  border-radius: 5px; padding: 17px 42px; color: #1a2427; background: linear-gradient(130deg,#f0d69a,#d5b272 80%);
  font-size: 19px; font-weight: 700; letter-spacing: .04em; box-shadow: 0 4px 0 #725c38,0 12px 45px #0006,inset 0 1px #ffedc5;
  transition: transform 220ms,box-shadow 220ms,filter 220ms;
}
#front-play > span { margin-left: 30px; display: inline-block; transition: transform 250ms; }
#front-play:hover { transform: translateY(-3px) scale(1.02); box-shadow: 0 5px 0 #725c38,0 20px 50px #0007,0 0 25px #dcba7140; filter: brightness(1.08); }
#front-play:hover > span { transform: translateX(5px); }
#front-play:active { transform: translateY(2px); }
#front-settings, #front-leaderboards, .front-nav-button {
  min-height: 52px; padding: 14px 24px; border: 1px solid #bdaa773e; border-radius: 4px; color: #e5dac5;
  background: #0e1d22b8; backdrop-filter: blur(12px); font-size: 12px; transition: border-color 200ms,background 200ms,transform 200ms;
}
#front-settings:hover, #front-leaderboards:hover, .front-nav-button:hover { border-color: #d0b577; background: #263532; transform: translateY(-2px); }
#front-flow { display:flex; flex-direction:column; box-sizing:border-box; min-height:100svh; padding:0 4vw 22px; }
#front-flow > * { flex-shrink:0; }
.front-topbar { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 20px; min-height: 86px; border-bottom: 1px solid #d2b6791a; }
#front-flow-settings { margin-left: auto; }
.front-flow-footer { display:flex; align-items:center; gap:20px; width:100%; margin:auto 0 0; padding-top:24px; }
.front-flow-brand, #front-home { margin-right: auto; border: 0; background: none; color: #e5d9bb; font: 600 23px 'AEH Display',sans-serif; letter-spacing: .08em; padding: 10px 0; }
#front-back { display: inline-flex; align-items: center; justify-content:center; gap: 25px; min-width:180px; min-height:58px; padding:15px 30px; font-size:17px; font-weight:700; letter-spacing:.025em; }
#front-back > span { display:inline-block; transition:transform 180ms; }
#front-back:hover:not(:disabled) > span { transform:translateX(-4px); }
#front-progress { display: flex; align-items: center; justify-content: center; gap: 26px; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
#front-progress button, .front-progress-item { display: inline-flex; align-items: center; gap: 8px; border: 0; background: none; padding: 12px 0; color: #738687; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
#front-progress [aria-current="step"], #front-progress .is-current { color: #ebcd91; }
#front-progress button:not(:disabled):hover { color: #fff0d1; }
#front-progress button:disabled { cursor: default; }
#front-progress .front-step-number { font: 600 14px 'AEH Display',sans-serif; }
.front-stage-shell { display: grid; grid-template-areas: 'header' 'content' 'rail'; grid-template-columns: minmax(0,1fr); grid-template-rows: auto auto auto; width: 100%; margin: 0 auto; align-items: start; }
#front-stage-header { grid-area: header; width: 100%; text-align: center; padding-top: clamp(28px,4vh,48px); margin: 0 auto 34px; }
#front-stage-kicker { color: #caae73; font-size: 10px; letter-spacing: .24em; text-transform: uppercase; margin-bottom: 12px; }
#front-stage-heading { color: #f2e9d7; font: 600 clamp(36px,3.25vw,56px)/1.08 'AEH Display',sans-serif; letter-spacing: .025em; margin: 0; }
html.aeh-theme #startcard #front-stage-heading { display: block; font: 600 clamp(36px,3.25vw,56px)/1.08 'AEH Display',sans-serif; letter-spacing: .025em; color: #f2e9d7; margin: 0; }
#front-stage-copy { margin: 13px auto 0; color: #a7b9b5; font-size: 12px; line-height: 1.6; max-width: 620px; }
html.aeh-theme #start[data-front-view="flow"] #startcard .lobby-layout { display: block; max-width: 1140px; margin: 0 auto; width: 100%; }
#front-stage-content { grid-area: content; position: relative; width: 100%; min-width: 0; margin: 0 auto; max-width: 1500px; padding: 4px 12px 12px; perspective: 1400px; }
html.aeh-theme #start[data-front-view] #startcard .lobby-section { display: none; margin: 0; }
html.aeh-theme #start[data-front-view] #startcard .lobby-section.front-step-active { display: block; }
html.aeh-theme #start[data-front-view] #startcard .lobby-launch { display: none; }
html.aeh-theme #start[data-front-view] #startcard .lobby-launch.front-register-active { display: flex; }
html.aeh-theme #start[data-front-view] #startcard .front-step-active > .rowlabel { display: none; }
html.aeh-theme #start[data-front-view] #startcard .optrow { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(16px,1.9vw,32px); overflow: visible; align-items: stretch; perspective: 1200px; }
html.aeh-theme #start[data-front-view] #startcard .optcard {
  border: 1px solid #a790624a; border-radius: 10px; background: linear-gradient(150deg,#26383a,#152227 80%);
  box-shadow: 0 5px 0 -2px #8f815841,0 7px 0 -3px #142027,0 9px 0 -4px #8f81584d,0 20px 30px #0004;
  transform: translateY(0) rotate(var(--front-rest-angle,0deg)) scale(1);
  transform-origin: center; transition: transform 260ms cubic-bezier(.16,.8,.2,1),box-shadow 350ms,border-color 350ms,background 350ms;
}
/* Only the choice cards rock in the hand. Selection receipts stay level. */
html.aeh-theme #start[data-front-view="flow"] #startcard .front-step-active .optcard:is(:hover,:focus-visible):not(.locked) {
  border-color: #e1c48b; background: linear-gradient(145deg,#304440,#1a2b30);
  transform: translateY(-12px) rotateX(var(--front-tilt-x,3deg)) rotateY(var(--front-tilt-y,-3deg)) rotateZ(0deg) scale(1.045);
  box-shadow: 0 6px 0 -2px #b99a603d,0 9px 0 -4px #243136,0 26px 50px #0008,0 0 40px #b49a4f10;
  z-index: 4;
}
html.aeh-theme #start[data-front-view] #startcard .optcard.sel { border-color: #a7906260; background-color: #1c2d30; box-shadow: 0 5px 0 -2px #8f815841,0 9px 0 -4px #8f81584d,0 20px 30px #0004; }
html.aeh-theme #start[data-front-view] #startcard .lobby-choice-state { display: none; }
html.aeh-theme #start[data-front-view] #startcard .front-step-active .optcard { animation: front-choice-arrive 620ms cubic-bezier(.2,.8,.2,1) both; }
html.aeh-theme #start[data-front-view] #startcard .front-step-active .optcard:nth-child(1) { --front-rest-angle: -1.2deg; }
html.aeh-theme #start[data-front-view] #startcard .front-step-active .optcard:nth-child(2) { animation-delay: 65ms; --front-rest-angle: -.4deg; }
html.aeh-theme #start[data-front-view] #startcard .front-step-active .optcard:nth-child(3) { animation-delay: 130ms; --front-rest-angle: .4deg; }
html.aeh-theme #start[data-front-view] #startcard .front-step-active .optcard:nth-child(4) { animation-delay: 195ms; --front-rest-angle: 1.2deg; }
@keyframes front-choice-arrive { from { opacity: 0; translate: 55px 24px; } to { opacity: 1; translate: 0 0; } }
html.aeh-theme #start[data-front-view] #startcard .optcard.front-lock-source { opacity: 0 !important; }
html.aeh-theme #start[data-front-view] #startcard #gamerow .optcard { height: clamp(300px,42vh,445px); min-height: 300px; padding: 0; background: #0d191c; }
html.aeh-theme #start[data-front-view] #startcard .lobby-game-mark { background-position: 50% 38%; }
html.aeh-theme #start[data-front-view] #startcard .lobby-game-mark::after { inset: 37% 0 0; background: linear-gradient(transparent,#081214 88%); }
html.aeh-theme #start[data-front-view] #startcard #gamerow h3 { left: 8px; right: 8px; bottom: 36px; font-size: clamp(21px,1.7vw,28px); font-weight: 600; letter-spacing: .015em; }
html.aeh-theme #start[data-front-view] #startcard #gamerow p { bottom: 17px; font-size: 10px; color: #b7c2b8; }
html.aeh-theme #start[data-front-view] #startcard .lobby-art-hand { bottom: 97px; }
html.aeh-theme #start[data-front-view] #startcard #gamerow .lobby-playing-card { width: clamp(69px,6.1vw,96px); }
html.aeh-theme #start[data-front-view] #startcard #gamerow :is([data-game="plo"],[data-game="stud"]) .lobby-playing-card { width: clamp(57px,5.3vw,83px); }
html.aeh-theme #start[data-front-view] #startcard #gamerow [data-game="plo"] .lobby-playing-card { width: clamp(52px,4.8vw,75px); }
html.aeh-theme #start[data-front-view] #startcard #rigrow .optcard { height: 355px; min-height: 330px; padding: 29px 14px 20px; border-radius: 10px; }
html.aeh-theme #start[data-front-view] #startcard #rigrow h3 { font-size: clamp(19px,1.65vw,26px); min-height: 28px; margin: 0 0 19px; }
html.aeh-theme #start[data-front-view] #startcard .lobby-package-hand { height: 138px; margin-bottom: 14px; }
html.aeh-theme #start[data-front-view] #startcard .lobby-package-hand .lobby-playing-card { width: 87px; }
/* Keep Omaha's four-card fans inside the package panels without shrinking the cards. */
html.aeh-theme #start[data-front-view] #startcard[data-lobby-game="plo"] #rigrow .lobby-deal-layer > span:not(:first-child) { margin-left: -50px; }
html.aeh-theme #start[data-front-view] #startcard .lobby-package-caption { font-size: 11px; min-height: 35px; text-align: center; }
html.aeh-theme #start[data-front-view] #startcard #rigrow .package-difficulty { margin-top: auto; border-color: #c5b28035; padding-top: 14px; font-size: 12px; }
html.aeh-theme #start[data-front-view] #startcard #rigrow .package-difficulty small { font-size: 11px; color: #aabdb6; margin-top: 6px; }
html.aeh-theme #start[data-front-view] #startcard .lobby-package-guide { text-align: center; margin-top: 36px; color: #9aaba7; font-size: 11px; }
html.aeh-theme #start[data-front-view] #startcard .package-description-list { text-align: left; max-width: 720px; margin: 8px auto; background: #112326; border-radius: 4px; }
html.aeh-theme #start[data-front-view] #startcard .lobby-section:has(#optClueless) .optcard {
  display: flex; flex-direction: column; align-items: center; padding: 28px 20px 24px; min-height: 355px; height: auto; gap: 0;
}
html.aeh-theme #start[data-front-view] #startcard .lobby-section:has(#optClueless) h3 { font-size: 28px; margin: 22px 0 10px; text-align: center; }
html.aeh-theme #start[data-front-view] #startcard .lobby-section:has(#optClueless) p { text-align: center; font-size: 12px; line-height: 1.7; color: #bbc7be; max-width: 220px; }
html.aeh-theme #start[data-front-view] #startcard #optCracked.locked { cursor: not-allowed; border-color: #4c595b; background: linear-gradient(145deg,#27302f,#182224); box-shadow: 0 5px 0 -2px #65716b25,0 20px 30px #0004; }
html.aeh-theme #start[data-front-view] #startcard #optCracked.locked > p:first-of-type { color: #84928f; }
html.aeh-theme #start[data-front-view] #startcard #optCracked .cracked-requirement { margin: 15px 0 0; padding-top: 12px; color: #bac7be; font-size: 11px; line-height: 1.5; }
html.aeh-theme #start[data-front-view] #startcard .lobby-mode-portrait { width: 120px; height: 124px; border-color: #c2a36b; box-shadow: 0 8px 20px #0005,0 0 0 5px #c6a65a08; flex-shrink: 0; }
html.aeh-theme #start[data-front-view] #startcard[data-lobby-game="nlhe"] .lobby-section:has(#optClueless) > .optrow { grid-template-columns: repeat(4,minmax(0,1fr)); }
html.aeh-theme #start[data-front-view] #startcard:not([data-lobby-game="nlhe"]):not([data-lobby-game="vegas"]) .lobby-section:has(#optClueless) > .optrow { grid-template-columns: repeat(3,minmax(0,1fr)); max-width: 900px; margin: 0 auto; }
html.aeh-theme #start[data-front-view] #startcard #vegasFormatRow { grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 730px; margin: auto; }
html.aeh-theme #start[data-front-view] #startcard #vegasFormatRow .optcard { min-height: 230px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 34px; }
html.aeh-theme #start[data-front-view] #startcard #vegasFormatRow h3 { font-size: 34px; }
html.aeh-theme #start[data-front-view] #startcard #vegasFormatRow p { font-size: 14px; }
html.aeh-theme #start[data-front-view] #startcard[data-lobby-game="vegas"] .lobby-section:has(#optClueless) > .optrow { grid-template-columns: minmax(0,300px); justify-content: center; }
html.aeh-theme #start[data-front-view] #startcard[data-lobby-game="vegas"] .lobby-section:has(#optClueless) .optcard:not(#optVegasClassic) { display: none !important; }
html.aeh-theme #start[data-front-view] #startcard:not([data-lobby-game="vegas"]) #optVegasClassic { display: none !important; }
html.aeh-theme #start[data-front-view] #startcard .lobby-launch.front-register-active { width: min(465px,100%); margin: 0 auto; padding: 24px 30px; background: linear-gradient(135deg,#273936,#102026); border: 1px solid #aa906155; border-top: 2px solid #e0c080; border-radius: 9px; box-shadow: 0 35px 70px #0006; }
html.aeh-theme #start[data-front-view] #startcard .launch-stats { gap: 55px; margin: 18px 0; border-color: #acb9a629; }
html.aeh-theme #start[data-front-view] #startcard .launch-details { gap: 13px; }
html.aeh-theme #start[data-front-view] #startcard .launch-identity { border-color: #acb9a629; }
html.aeh-theme #start[data-front-view] #startcard .launch-identity label { color: #fff8e9; font-weight: 700; }
html.aeh-theme #start[data-front-view] #startcard #lbname { min-height: 50px; color: #14272b; caret-color: #14272b; background: #f7f5ed; border: 2px solid #ffffff; box-shadow: 0 0 0 4px #ffffff0b; font-weight: 600; }
html.aeh-theme #start[data-front-view] #startcard #lbname::placeholder { color: #59696b; }
html.aeh-theme #start[data-front-view] #startcard #lbname:focus { outline: 2px solid #e7c584; outline-offset: 4px; background: #fff; box-shadow: 0 0 24px #e5cb872a; }
html.aeh-theme #start[data-front-view] #startcard #btnRegister { background: linear-gradient(130deg,#f0d69a,#d5b272); min-height: 58px; border-color: #efd19a; border-radius: 5px; font-size: 16px; animation: front-register-breathe 2.6s ease-in-out infinite; }
html.aeh-theme #start[data-front-view] #startcard #btnRegister:hover { filter: brightness(1.1); }
html.aeh-theme #start[data-front-view] #startcard #btnRegister:disabled { animation: none; }
@keyframes front-register-breathe { 50% { box-shadow: 0 3px 0 #8a6b34,0 0 28px #e3bd7240; } }
#front-selection-rail { grid-area: rail; position: relative; width: 100%; min-height: 166px; display: flex; align-items: stretch; justify-content: center; gap: 22px; margin: 20px auto 12px; perspective: 900px; z-index: 3; }
.front-selection-card { position: relative; display: flex; flex: 0 0 180px; flex-direction: column; text-align: left; padding: 10px 12px; border: 1px solid #bfa46f50; border-radius: 6px; min-width: 0; min-height: 75px; color: #eddfc4; background: linear-gradient(140deg,#273b3ada,#112429ed); box-shadow: 0 10px 24px #0004; transition: transform 220ms ease,border-color 220ms ease; }
.front-selection-card .front-selection-label { color: #aead95; text-transform: uppercase; letter-spacing: .13em; font-size: 8px; margin-bottom: 5px; }
.front-selection-card .front-selection-value { font: 600 21px/1.15 'AEH Display',sans-serif; }
.front-selection-card .front-selection-edit { color: #c7aa71; font-size: 9px; margin-top: 7px; }
.front-ticket-copy { display: flex; flex-direction: column; gap: 2px; }
.front-ticket-art { position: relative; display: block; flex-shrink: 0; width: 100%; height: 66px; overflow: hidden; margin-bottom: 10px; border-radius: 3px; background: #102024; }
.front-ticket-art--format { background: radial-gradient(ellipse at 50% 48%,#36504788,#102024 78%); }
.front-format-icon { display: block; width: 100%; height: 100%; padding: 3px; box-sizing: border-box; fill: none; stroke: #dec18a; stroke-width: 1.8; stroke-linejoin: round; }
.front-format-seats { fill: #8c7349; stroke: #e2c790; }
.front-format-table { fill: #b5955c; stroke: #edcf91; }
.front-format-felt { fill: #16332e; stroke: #5a7158; stroke-width: 1; }
.front-format-cards { fill: #f0dfb7; stroke: none; }
html.aeh-theme #start[data-front-view] #startcard .front-ticket-art .lobby-game-mark { inset: 0; background-position: center 23%; }
html.aeh-theme #start[data-front-view] #startcard .front-ticket-art .lobby-art-hand { display: none; }
html.aeh-theme #start[data-front-view] #startcard .front-ticket-art .lobby-mode-portrait { width: 100%; height: 100%; border: 0; border-radius: 0; background-position: center 40%; box-shadow: none; }
html.aeh-theme #start[data-front-view] #startcard .front-ticket-art .lobby-package-hand { height: 100%; margin: 0; }
html.aeh-theme #start[data-front-view] #startcard .front-ticket-art .lobby-package-hand .lobby-playing-card { width: 42px; }
.front-fixed-cards { padding: 10px 14px; color: #d8d7bd; font-size: 10px; border-left: 1px solid #b99d6759; }
.front-fixed-cards :is(span,strong,small) { display: block; margin-bottom: 6px; }
.front-fixed-cards span { font-size: 8px; letter-spacing: .1em; text-transform: uppercase; color: #a8aa98; }
.front-fixed-cards strong { font-weight: 500; font-size: 12px; }
.front-fixed-cards small { color: #90a5a0; line-height: 1.4; }
#front-selection-rail button:is(:hover,:focus-visible) { border-color: #d9b879; transform: translateY(-3px) scale(1.025); }
#start[data-front-step="register"] .front-stage-shell { grid-template-areas: 'header header' 'rail content'; grid-template-columns: var(--front-rail) minmax(0,465px); grid-template-rows: auto auto; column-gap: 32px; max-width: 693px; min-height: 0; align-items: stretch; }
#start[data-front-step="register"] #front-stage-header { padding-top: 20px; margin-bottom: 25px; }
#start[data-front-step="register"] #front-stage-content { padding: 0; }
#start[data-front-step="register"] #front-selection-rail { display: grid; grid-template-columns: minmax(0,1fr); grid-auto-rows: minmax(min-content,1fr); justify-content: stretch; gap: 15px; margin: 0; min-height: 0; }
#start[data-front-step="register"] #front-selection-rail:has(.front-fixed-cards) { grid-template-rows: repeat(3,minmax(min-content,1fr)) auto; }
#start[data-front-step="register"] .front-selection-card { width: 100%; padding: 12px 14px; justify-content: center; }
#start[data-front-step="register"] .front-ticket-art { height: 78px; }
html.aeh-theme #start[data-front-phase="gathering"] #startcard .lobby-launch { visibility: hidden; pointer-events: none; }
#start[data-front-phase] #front-selection-rail { pointer-events: none; }
.front-selection-flying, .front-flying-card { position: fixed; pointer-events: none; z-index: 300; transform-origin: center; }
.front-flow-hint { text-align: center; color: #708f8b; font-size: 10px; letter-spacing: .06em; margin: 26px auto 0; }
/* The title and game use the exact same sound and deck controls. */
#front-settings-dialog { position: fixed; inset: 0; width: min(480px,calc(100vw - 32px)); max-height: calc(100svh - 48px); margin: auto; padding: 27px; border: 1px solid #a792655e; border-radius: 12px; color: #efe7d5; background: #112329; box-shadow: 0 30px 90px #000b; overflow: auto; }
#front-settings-dialog::backdrop { background: #040c10b8; backdrop-filter: blur(7px); }
#front-settings-dialog > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-bottom: 20px; border-bottom: 1px solid #b9a67825; margin-bottom: 16px; }
#front-settings-dialog > header h2 { font: 600 32px 'AEH Display',sans-serif; margin: 0; }
#front-settings-close { min-width: 70px; height: 38px; padding: 0 12px; background: #ffffff08; border: 1px solid #a4b2a936; border-radius: 4px; color: #e1d8c8; font: 12px 'AEH Text',sans-serif; cursor: pointer; }
#front-settings-dialog #club-audio-settings > summary { display: none; }
#front-settings-dialog #club-audio-settings > div { position: static !important; inset: auto !important; width: 100%; max-width: none; max-height: none; padding: 0; background: none; border: 0; box-shadow: none; overflow: visible; }
#front-settings-dialog #club-audio-settings .settings-section { margin: 16px 0; border-bottom: 1px solid #b9a67825; padding-bottom: 12px; }
#front-settings-dialog #club-audio-settings .settings-section > summary { font: 600 22px 'AEH Display',sans-serif; }
#front-settings-dialog #club-audio-settings input { accent-color: #d8b977; }
#front-settings-dialog #club-audio-settings select { background: #0c1a20; border-color: #8c9c8566; }
#front-settings-dialog #club-audio-settings #btnSound { background: #233c3d; border-color: #d0b77d50; }
@media (min-width: 1900px) {
  html.aeh-theme #start[data-front-view] #startcard .lobby-layout { max-width: 1330px; }
  html.aeh-theme #start[data-front-view] #startcard #gamerow .optcard { height: min(46vh,500px); }
  html.aeh-theme #start[data-front-view] #startcard #rigrow .optcard { height: 405px; padding-top: 38px; }
  html.aeh-theme #start[data-front-view] #startcard .lobby-package-hand { height: 160px; }
  html.aeh-theme #start[data-front-view] #startcard .lobby-package-hand .lobby-playing-card { width: 100px; }
  html.aeh-theme #start[data-front-view] #startcard[data-lobby-game="plo"] #rigrow .lobby-deal-layer > span:not(:first-child) { margin-left: -55px; }
}
@media (max-width: 1100px) {
  #front-flow { padding: 0 3vw 30px; }
  #front-stage-header { margin-bottom: 32px; }
  #front-progress { gap: 15px; }
  #front-selection-rail { gap: 16px; }
  html.aeh-theme #start[data-front-view] #startcard .optrow { gap: 16px; }
  html.aeh-theme #start[data-front-view] #startcard #gamerow .optcard { height: 330px; }
  html.aeh-theme #start[data-front-view] #startcard .lobby-section:has(#optClueless) .optcard { padding: 24px 12px; }
  html.aeh-theme #start[data-front-view] #startcard .lobby-mode-portrait { width: 94px; height: 98px; }
  html.aeh-theme #start[data-front-view] #startcard .lobby-section:has(#optClueless) h3 { font-size: 24px; }
  html.aeh-theme #start[data-front-view] #startcard .lobby-section:has(#optClueless) p { font-size: 11px; }
  html.aeh-theme #start[data-front-view] #startcard #rigrow .optcard { height: 330px; padding: 26px 9px 17px; }
  html.aeh-theme #start[data-front-view] #startcard .lobby-package-hand .lobby-playing-card { width: 63px; }
  html.aeh-theme #start[data-front-view] #startcard[data-lobby-game="plo"] #rigrow .lobby-deal-layer > span:not(:first-child) { margin-left: -38px; }
  html.aeh-theme #start[data-front-view] #startcard .lobby-package-hand { height: 117px; }
}
@media (max-width: 760px) {
  #front-title { height: 100svh; min-height: 570px; }
  #front-title .front-title-brand,#front-title > h1,#front-title .front-title-heading { top: 11%; }
  .front-title-aces { font-size: 76px; }
  .front-title-rest { font-size: 24px; }
  .front-title-eyebrow { font-size: 8px; letter-spacing: .2em; }
  .front-title-navigation,.front-title-nav { top: 77%; flex-wrap: wrap; gap: 10px; }
  #front-play { min-width: 180px; min-height: 56px; padding: 15px 32px; }
  #front-settings,#front-leaderboards,#front-collection { min-height: 45px; padding: 12px 17px; }
  #front-flow { padding: 0 18px 32px; }
  .front-topbar { display: flex; min-height: 66px; gap: 15px; flex-wrap: wrap; padding: 9px 0; }
  .front-flow-brand,#front-home { font-size: 18px; }
  #front-progress { width: 100%; order: 3; justify-content: space-between; gap: 8px; border-top: 1px solid #d2b67915; }
  #front-progress button,.front-progress-item { font-size: 8px; padding: 9px 0; }
  #front-stage-header { padding-top: 27px; margin-bottom: 30px; }
  #front-stage-heading { font-size: 37px; }
  #front-stage-copy { font-size: 11px; }
  #front-stage-content { padding: 0 4px 20px; }
  .front-stage-shell { min-height: 0; }
  #front-selection-rail { min-height: 0; gap: 8px; margin: 16px 0 12px; }
  #front-selection-rail:empty { margin: 0; }
  .front-selection-card { flex: 1; min-width: 0; min-height: 62px; padding: 10px; }
  .front-selection-card .front-selection-value { font-size: 17px; }
  .front-ticket-art { display: none; }
  .front-selection-card .front-selection-edit { display: none; }
  #start[data-front-step="register"] .front-stage-shell { grid-template-areas: 'header' 'rail' 'content'; grid-template-columns: minmax(0,1fr); row-gap: 18px; max-width: 465px; }
  #start[data-front-step="register"] #front-stage-header { margin-bottom: 6px; }
  #start[data-front-step="register"] #front-selection-rail { grid-auto-rows: auto; gap: 8px; }
  #start[data-front-step="register"] #front-selection-rail:has(.front-fixed-cards) { grid-template-rows: none; }
  #start[data-front-step="register"] .front-selection-card { flex-direction: row; align-items: center; gap: 12px; padding: 9px 12px; min-height: 59px; }
  #start[data-front-step="register"] .front-ticket-art { display: block; width: 66px; height: 45px; margin: 0; }
  #start[data-front-step="register"] .front-ticket-copy { flex: 1; }
  #start[data-front-step="register"] .front-selection-edit { display: block; }
  .front-fixed-cards { margin: 0; padding: 7px; }
  html.aeh-theme #start[data-front-view] #startcard :is(#gamerow,#rigrow),html.aeh-theme #start[data-front-view] #startcard[data-lobby-game="nlhe"] .lobby-section:has(#optClueless) > .optrow { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 17px; }
  html.aeh-theme #start[data-front-view] #startcard:not([data-lobby-game="nlhe"]):not([data-lobby-game="vegas"]) .lobby-section:has(#optClueless) > .optrow { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html.aeh-theme #start[data-front-view] #startcard #gamerow .optcard { height: 296px; min-height: 250px; }
  html.aeh-theme #start[data-front-view] #startcard #gamerow h3 { font-size: 22px; bottom: 36px; }
  html.aeh-theme #start[data-front-view] #startcard #gamerow p { font-size: 8px; }
  html.aeh-theme #start[data-front-view] #startcard #gamerow .lobby-playing-card { width: 61px; }
  html.aeh-theme #start[data-front-view] #startcard #gamerow :is([data-game="plo"],[data-game="stud"]) .lobby-playing-card { width: 49px; }
  html.aeh-theme #start[data-front-view] #startcard .lobby-art-hand { bottom: 92px; }
  html.aeh-theme #start[data-front-view] #startcard #rigrow .optcard { height: 290px; min-height: 280px; padding: 20px 10px 16px; }
  html.aeh-theme #start[data-front-view] #startcard #rigrow h3 { font-size: 21px; margin-bottom: 8px; }
  html.aeh-theme #start[data-front-view] #startcard .lobby-package-hand { height: 112px; margin-bottom: 8px; }
  html.aeh-theme #start[data-front-view] #startcard .lobby-package-caption { font-size: 10px; }
  html.aeh-theme #start[data-front-view] #startcard .lobby-section:has(#optClueless) .optcard { min-height: 300px; padding: 23px 13px; }
  html.aeh-theme #start[data-front-view] #startcard .lobby-launch.front-register-active { padding: 24px; }
  html.aeh-theme #start[data-front-view] #startcard #vegasFormatRow .optcard { min-height: 210px; padding: 20px; }
  html.aeh-theme #start[data-front-view] #startcard #vegasFormatRow h3 { font-size: 27px; }
}
@media (max-width: 420px) {
  /* Let a wrapped menu and its small version footer extend a short phone title. */
  #front-title { display: flex; flex-direction: column; height: auto; min-height: max(570px,100svh); }
  #front-title .front-title-brand { top: 12%; }
  .front-title-aces { font-size: 65px; }
  .front-title-rest { font-size: 20px; }
  #front-play { flex-basis: 80%; }
  .front-title-navigation,.front-title-nav { position: relative; top: auto; left: auto; transform: none; flex-shrink: 0; max-width: 320px; margin: max(416px,73svh) auto 0; }
  #front-version { position: static; align-self: flex-end; flex-shrink: 0; margin: auto max(16px,calc(env(safe-area-inset-right) + 12px)) max(12px,calc(env(safe-area-inset-bottom) + 8px)); padding-top: 18px; }
  #front-flow { padding-inline: 14px; }
  html.aeh-theme #start[data-front-view] #startcard[data-lobby-game="plo"] #rigrow .lobby-deal-layer > span:not(:first-child) { margin-left: -43px; }
  html.aeh-theme #start[data-front-view] #startcard #gamerow h3 { font-size: 19px; }
  html.aeh-theme #start[data-front-view] #startcard #gamerow .optcard { height: 260px; }
  html.aeh-theme #start[data-front-view] #startcard .optcard { border-radius: 8px; }
}
@media (max-height: 700px) and (min-width: 761px) {
  #front-title { height: 100svh; min-height: 490px; }
  .front-title-aces { font-size: 78px; }
  .front-title-rest { font-size: 25px; margin-top: 7px; }
  #front-title .front-title-brand { top: 6%; }
  .front-title-eyebrow { margin-bottom: 10px; }
  .front-title-navigation,.front-title-nav { top: 82%; }
  #front-play { min-height: 52px; padding-top: 12px; padding-bottom: 12px; }
  .front-flow-nav,.front-topbar { min-height: 60px; }
  #front-stage-header { padding-top: 22px; margin-bottom: 30px; }
  #front-stage-heading { font-size: 37px; }
  html.aeh-theme #start[data-front-view] #startcard #gamerow .optcard { height: 300px; }
}
@media (prefers-reduced-motion: reduce) {
  #start[data-front-view] *,#start[data-front-view]::before,#start[data-front-view]::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  html.aeh-theme #start[data-front-view] #startcard .optcard,#front-selection-rail button { transform: none !important; }
}

/* Completed tournaments keep the approved champagne finish throughout selection. */
html.aeh-theme #start[data-front-view] #startcard .optcard.reward-tournament-won {
  --reward-winner-surface: radial-gradient(ellipse at 28% 0%,#fff6ceaa 0%,transparent 58%),linear-gradient(145deg,#e6cb80 0%,#ecdda4 37%,#d8bd75 69%,#bc9a52 100%);
  --reward-winner-edge: #f0dca0;
  --reward-winner-shadow: inset 0 1px 0 #fff9dd,inset 0 0 0 4px #fff8d11a,0 5px 0 -2px #8f7538,0 9px 0 -4px #6b592f,0 22px 38px #0006;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--reward-winner-surface) !important;
  border-color: var(--reward-winner-edge) !important;
  box-shadow: var(--reward-winner-shadow) !important;
}
html.aeh-theme #start[data-front-view] #startcard .optcard.reward-tournament-won > * { position: relative; z-index: 1; }
html.aeh-theme #start[data-front-view] #startcard .optcard.reward-tournament-won.sel {
  box-shadow: inset 0 0 0 2px #3545318c,var(--reward-winner-shadow) !important;
}
html.aeh-theme #start[data-front-view] #startcard .optcard.reward-tournament-won:is(:hover,:focus-visible):not(.locked) {
  box-shadow: inset 0 0 0 2px #fff4c38c,var(--reward-winner-shadow),0 28px 48px #0005 !important;
}
html.aeh-theme #start[data-front-view] #startcard .optcard.reward-tournament-won:focus-visible {
  outline: 3px solid #fff3c6;
  outline-offset: 4px;
}
html.aeh-theme #start[data-front-view] #startcard .optcard.reward-tournament-won h3 {
  color: #24362f !important;
  text-shadow: 0 1px 0 #fff2c066;
}
html.aeh-theme #start[data-front-view] #startcard .optcard.reward-tournament-won p { color: #3d4732 !important; }
html.aeh-theme #start[data-front-view] #startcard .optcard.reward-tournament-won .lobby-mode-portrait {
  border-color: #785b22;
  box-shadow: 0 0 0 4px #fff0b038,0 10px 24px #563d3240;
}
html.aeh-theme #start[data-front-view] #startcard .optcard.reward-tournament-won .reward-choice-price {
  flex-direction: column;
  align-items: center;
  gap: 7px;
  color: #25382e;
  border-color: #65562245;
}
html.aeh-theme #start[data-front-view] #startcard .optcard.reward-tournament-won .reward-choice-summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
}
html.aeh-theme #start[data-front-view] #startcard .optcard.reward-tournament-won .reward-choice-summary strong { color: inherit; }
html.aeh-theme #start[data-front-view] #startcard .optcard.reward-tournament-won .reward-choice-summary .lobby-trophy {
  display: block;
  width: 25px;
  height: 29px;
  padding: 4px;
  flex: 0 0 25px;
  box-sizing: content-box;
  color: #e4bd58;
  background: #183329;
  border: 1px solid #fff6c147;
  border-radius: 50%;
  filter: drop-shadow(0 1px 0 #fff3bb);
}
html.aeh-theme #start[data-front-view] #startcard .optcard.reward-tournament-won .reward-leaderboard-rank {
  color: #303b24;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
}

/* The current leaderboard leader earns the brighter foil finish and a single glint. */
html.aeh-theme #start[data-front-view] #startcard .optcard.reward-tournament-won.reward-leaderboard-first {
  --reward-winner-surface: linear-gradient(121deg,#af7d27 0%,#e5bd54 15%,#f9e4a0 29%,#d4a339 43%,#bb8829 56%,#efd07a 78%,#ca9839 100%);
  --reward-winner-edge: #ffe79b;
  --reward-winner-shadow: inset 0 1px 0 #fff6cd,inset 0 0 0 4px #fff1bb21,0 5px 0 -2px #a47b27,0 9px 0 -4px #614b22,0 20px 38px #0006,0 0 28px #ecc0521c;
}
html.aeh-theme #start[data-front-view] #startcard .optcard.reward-leaderboard-first h3 { color: #2c3425 !important; }
html.aeh-theme #start[data-front-view] #startcard .optcard.reward-leaderboard-first p { color: #3d3d22 !important; }
html.aeh-theme #start[data-front-view] #startcard .optcard.reward-leaderboard-first .reward-choice-price { border-color: #694d2055; color: #2e3927; }
html.aeh-theme #start[data-front-view] #startcard .optcard.reward-leaderboard-first .lobby-mode-portrait {
  border-color: #ffe6a0;
  box-shadow: 0 0 0 4px #7250114d,0 10px 24px #4b331d55;
}
html.aeh-theme #start[data-front-view] #startcard .optcard.reward-leaderboard-first::after {
  content: '';
  position: absolute;
  z-index: 0;
  inset: -40% -75%;
  pointer-events: none;
  background: linear-gradient(110deg,transparent 42%,#fff9d38a 49%,#fffff0ab 50%,#fff2ab5e 52%,transparent 60%);
  transform: translateX(-75%);
  opacity: 0;
}
html.aeh-theme #start[data-front-view] #startcard .optcard.reward-leaderboard-first:is(:hover,:focus-visible):not(.locked)::after {
  animation: reward-leaderboard-glint 950ms ease-out both;
}
@keyframes reward-leaderboard-glint {
  0% { transform: translateX(-75%); opacity: 0; }
  15%,85% { opacity: 1; }
  100% { transform: translateX(75%); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html.aeh-theme #start[data-front-view] #startcard .optcard.reward-leaderboard-first:is(:hover,:focus-visible)::after { animation: none !important; }
}

/* Navigation is a visible counterpart to the gold Play button. */
#front-door :is(.front-secondary,#front-flow-settings),
#front-settings-close,
html.aeh-theme #start[data-front-view] #startcard .lobby-package-guide > summary {
  border:1px solid #d4b379; border-radius:5px; color:#efdbad;
  background:linear-gradient(130deg,#203b35,#0e2223 85%);
  box-shadow:0 3px 0 #071414,inset 0 1px 0 #e4c78e26,0 7px 18px #0003;
  transition:background 180ms,border-color 180ms,transform 180ms,box-shadow 180ms;
}
#front-flow-settings,#front-settings-close {
  display:inline-flex; align-items:center; justify-content:center; gap:15px;
  min-height:44px; padding:11px 20px; font:600 13px 'AEH Text',system-ui,sans-serif;
}
#front-door :is(.front-secondary,#front-flow-settings):hover:not(:disabled),
#front-settings-close:hover,
html.aeh-theme #start[data-front-view] #startcard .lobby-package-guide > summary:hover {
  color:#ffedc4; border-color:#f0d59a; background:linear-gradient(130deg,#315146,#173330);
  transform:translateY(-2px); box-shadow:0 5px 0 #071414,0 10px 22px #0004;
}
#front-door .front-secondary:active:not(:disabled),#front-flow-settings:active,#front-settings-close:active { transform:translateY(1px); }
#front-door .front-secondary:disabled { opacity:.45; cursor:default; }
#front-home { border:1px solid #b7a16d55; border-radius:5px; padding:11px 15px; background:#112724aa; font-size:20px; width:fit-content; }
#front-home:hover { border-color:#d4b379; background:#1d3831; }
#front-progress { gap:8px; }
#front-progress button { min-height:44px; padding:10px 13px; border:1px solid #b7a16d50; border-radius:5px; background:#132a27; color:#d6d9c6; }
#front-progress button[aria-current="step"] { border-color:#d4b379; background:#d4b3791c; color:#f5deb0; }
#front-progress button:disabled:not([aria-current="step"]) { border-color:#8f9f9226; color:#899b92; background:#12252366; }
#front-progress button:hover:not(:disabled) { border-color:#ecd194; background:#294337; }
.front-topbar { grid-template-columns:minmax(0,1fr) auto minmax(95px,1fr) auto; gap:18px; }
#front-home { grid-column:1; }
#front-progress { grid-column:2; }
#front-flow-settings { grid-column:4; }
#front-door .rewards-wallet-registration { position:static; transform:none; grid-column:3; grid-row:1; justify-self:end; margin:0; }
html.aeh-theme #start[data-front-view] #startcard .lobby-package-guide { margin-top:24px; }
html.aeh-theme #start[data-front-view] #startcard .lobby-package-guide > summary { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; padding:11px 20px; font-size:12px; font-weight:600; list-style:none; }
html.aeh-theme #start[data-front-view] #startcard .lobby-package-guide > summary::-webkit-details-marker { display:none; }
html.aeh-theme #start[data-front-view] #startcard .lobby-package-guide > summary::after { content:'+'; font-size:19px; }
html.aeh-theme #start[data-front-view] #startcard .lobby-package-guide[open] > summary::after { content:'−'; }
@media(min-width:701px) and (max-width:1050px) {
  .front-topbar { grid-template-columns:1fr auto auto; }
  #front-progress { grid-column:1/-1; grid-row:2; padding-bottom:12px; }
  #front-flow-settings { grid-column:3; grid-row:1; }
  #front-door .rewards-wallet-registration { grid-column:2; }
}
@media(max-width:700px) {
  .front-topbar { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:8px; }
  #front-home { min-width:0; font-size:clamp(13px,3.8vw,16px); letter-spacing:.04em; padding:10px; }
  #front-flow-settings { padding:10px 14px; font-size:12px; }
  #front-flow-settings { grid-column:3; grid-row:1; }
  #front-door .rewards-wallet-registration { grid-column:2; }
  #front-progress { grid-column:1/-1; grid-row:2; gap:5px; padding-top:8px; }
  #front-progress button { flex:1; justify-content:center; gap:5px; font-size:9px; padding:9px 6px; }
  #front-back { min-width:154px; min-height:52px; padding:13px 24px; font-size:15px; }
}
/* Keep the existing registration action reachable on short touch screens.
   The full selection, name, rules and prize summary remain scrollable. */
@media (pointer:coarse) and (max-height:500px) and (orientation:landscape) {
  #start[data-front-step="register"] { scroll-padding-bottom:88px; }
  #start[data-front-step="register"] #front-stage-content { perspective:none; }
  html.aeh-theme #start[data-front-step="register"] #startcard .lobby-launch { transform:none!important; }
  html.aeh-theme #start[data-front-step="register"] #startcard #btnRegister {
    position:fixed; z-index:12; right:max(12px,env(safe-area-inset-right));
    bottom:max(10px,env(safe-area-inset-bottom)); width:calc(50vw - 24px);
    min-height:48px; box-shadow:0 0 0 8px #102026,0 8px 22px #0009;
  }
  #start[data-front-step="register"] .front-flow-footer { padding-bottom:80px; }
}
