
.lounge-layout .extra-stage {gap:0;}
.lounge-value {margin:19px auto 12px;}
.lounge-value>strong {font:600 40px var(--numeric,var(--sans));}
.lounge-reveal {width:100%;margin-top:10px;min-height:43px;}
.lounge-paytable {border-top:1px solid #d0b58515;margin-top:16px;padding-top:15px;color:#abb5c4;font:12px var(--sans);}
.lounge-paytable summary {cursor:pointer;text-align:center;}
.lounge-paytable>div {margin:14px auto 0;max-width:430px;}
.lounge-paytable>div>span {display:grid;grid-template-columns:minmax(0,1fr) 75px 70px;gap:10px;align-items:center;padding:10px 4px;border-bottom:1px solid #ffffff08;}
.lounge-paytable b {font-weight:500;color:#d4d5d8;}
.lounge-paytable strong {font:600 15px var(--numeric,var(--sans));text-align:right;color:#dfc393;}
.lounge-paytable small {text-align:right;font:11px var(--numeric,var(--sans));color:#a5b2c2;}
.lounge-paytable>p {font-size:10px;line-height:1.6;max-width:430px;margin:12px auto;color:#8390a2;}
.horse-picks {display:grid;gap:7px;margin:4px 0 14px;}
.horse-picks>button {display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;background:#151f2f;border:1px solid #354055;border-radius:6px;min-height:51px;padding:9px 10px;color:#cbd2dd;}
.horse-picks>button>i {width:22px;height:22px;display:grid;place-items:center;background:color-mix(in srgb,var(--runner) 18%,#172030);border:1px solid var(--runner);border-radius:4px;font:11px var(--numeric);color:var(--runner);}
.horse-picks>button span {display:grid;gap:3px;min-width:0;}
.horse-picks b {font:550 12px var(--sans);}
.horse-picks small {font:10px var(--sans);color:#8f9caf;}
.horse-picks strong {font:600 14px var(--numeric,var(--sans));color:#d7c296;}
.horse-picks>button.is-active {background:linear-gradient(110deg,#41352b,#252a35);border-color:#ba985f;box-shadow:inset 3px 0 #c6a469;}
.horse-picks>button:disabled {cursor:default;}
.race-course {width:100%;margin:5px auto 0;border:1px solid #a88b582d;border-radius:12px;background:radial-gradient(ellipse at 50% 0,#a8834720,transparent 70%),#141e2d;overflow:hidden;}
.race-marquee {display:flex;justify-content:space-between;align-items:center;gap:10px;padding:19px 20px;border-bottom:1px solid #d2ad692a;}
.race-marquee>span {color:#d9bf8e;font:650 12px var(--sans);letter-spacing:2px;}
.race-marquee>i {font:9px var(--sans);color:#8291a7;letter-spacing:1px;}
.race-track {padding:8px 16px 10px;}
.race-lane {display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;min-height:60px;border-bottom:1px solid #a5b2bb16;align-items:center;}
.race-lane-label {display:flex;align-items:center;gap:8px;min-width:0;}
.race-lane-label>b {font:550 10px var(--numeric);color:var(--runner);}
.race-lane-label>small {font:9px var(--sans);color:#96a3b7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.race-lane.is-backed {background:linear-gradient(90deg,#d5b17014,transparent 85%);}
.race-runway {position:relative;height:60px;background:repeating-linear-gradient(90deg,transparent 0 47px,#fff1 48px 49px,transparent 50px 80px);}
.race-finish {position:absolute;right:17px;top:0;bottom:0;width:10px;background:conic-gradient(#b9b8ac 25%,#26313e 0 50%,#b9b8ac 0 75%,#26313e 0) 0 0/10px 10px;opacity:.6;}
.race-runner {display:block;position:absolute;left:0;bottom:8px;width:58px;height:40px;will-change:transform;}
.race-horse-art {display:block;width:100%;height:100%;filter:drop-shadow(0 4px 2px #0004);}
.race-place {position:absolute;left:20px;top:-8px;display:none;width:16px;height:16px;border-radius:50%;background:#c7aa79;color:#1b202c;text-align:center;font:600 10px/16px var(--numeric);}
.race-runner.is-finished .race-place {display:block;}
.race-course.is-racing .horse-leg {transform-box:fill-box;transform-origin:50% 0%;animation:horse-stride .2s linear infinite alternate;}
.race-course.is-racing .front-leg {animation-delay:-.1s;}
.race-course.is-racing .race-horse-art {animation:horse-gallop .2s ease-in-out infinite alternate;}
.race-ticket {display:flex;justify-content:space-between;gap:12px;padding:15px 20px;background:#101927;border-top:1px solid #d2ad6920;}
.race-ticket>span {display:grid;gap:6px;font:8px var(--sans);letter-spacing:1px;color:#8b98ad;}
.race-ticket>span:last-child {text-align:right;}
.race-ticket b {font:550 13px var(--sans);color:#dbbe89;letter-spacing:0;}
@keyframes horse-stride {from{transform:rotate(-24deg)}to{transform:rotate(24deg)}}
@keyframes horse-gallop {to{transform:translateY(-2px) rotate(-2deg)}}
.scratch-ticket {position:relative;max-width:360px;width:100%;margin:12px auto 0;padding:19px 20px 16px;border:1px solid #c5a474;border-radius:11px;color:#e6d4ae;background:repeating-linear-gradient(135deg,#ffffff04 0 1px,transparent 1px 10px),linear-gradient(140deg,#513047,#30253b 65%,#212539);box-shadow:0 15px 25px #0002;}
.scratch-ticket-top {display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #f1d7a944;padding-bottom:12px;}
.scratch-ticket-top>span {font:650 18px var(--sans);letter-spacing:1px;}
.scratch-ticket-top>img {width:37px;height:37px;object-fit:contain;}
.scratch-ticket>p {font:11px var(--sans);color:#b9a7ae;text-align:center;margin:14px 0 16px;}
.scratch-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;}
.scratch-panel {position:relative;aspect-ratio:1;padding:8px;border:1px solid #cdb57f38;border-radius:6px;background:#182132;overflow:hidden;touch-action:none;cursor:crosshair;}
.scratch-panel>span {position:absolute;inset:7px;display:grid;place-items:center;}
.ticket-symbol {width:100%;height:100%;max-width:62px;max-height:62px;filter:drop-shadow(0 3px 3px #0004);}
.scratch-panel>canvas {position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;}
.scratch-panel>small {position:absolute;left:0;right:0;top:calc(50% - 5px);color:#665c48;font:650 7px var(--sans);letter-spacing:1px;pointer-events:none;}
.scratch-panel:disabled {opacity:1;}
.scratch-panel.is-matched {background:#594330;box-shadow:inset 0 0 18px #dcb77723;border-color:#d5b579;}
.scratch-ticket-footer {display:flex;justify-content:space-between;gap:9px;margin-top:16px;font:8px var(--sans);color:#b7a6a5;letter-spacing:.5px;}
.scratch-ticket-footer i {font-size:7px;color:#b18e81;}
.fishing-scene {position:relative;width:100%;max-width:650px;margin:16px auto 0;border:1px solid #34455b;border-radius:12px;background:#17263a;overflow:hidden;box-shadow:inset 0 0 30px #0003;}
.fishing-lake {display:block;width:100%;height:auto;}
.lake-caption {display:flex;justify-content:space-between;gap:8px;padding:13px 17px;border-top:1px solid #b9a7831a;background:#101d2c;}
.lake-caption>span {font:600 9px var(--sans);letter-spacing:1.3px;color:#c9b187;}
.lake-caption>i {font:9px var(--sans);color:#8ea4b1;}
.fishing-scene.has-bite #fishingRipple {animation:lake-ripple .85s ease-out infinite;transform-box:fill-box;transform-origin:50% 50%;}
@keyframes lake-ripple {from{opacity:.8;scale:.8}to{opacity:.2;scale:1.5}}
.gumball-scene {position:relative;width:100%;max-width:400px;aspect-ratio:480/500;margin:3px auto 0;}
.gumball-machine {width:100%;height:100%;filter:drop-shadow(0 12px 14px #0004);}
.gum-capsule {position:absolute;left:50%;top:82%;width:64px;height:64px;transform:translateX(-50%);perspective:600px;}
.capsule-art {display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 4px 5px #0004);}
.capsule-top {transform:translateY(calc(var(--capsule-open,0)*-22px)) rotate(calc(var(--capsule-open,0)*-23deg));transform-origin:45px 47px;}
.capsule-bottom {transform:rotate(calc(var(--capsule-open,0)*9deg));transform-origin:45px 47px;}
.gum-prize {position:absolute;left:50%;bottom:68px;width:130px;transform:translateX(-50%);display:grid;gap:8px;text-align:center;padding:12px 13px;background:linear-gradient(145deg,#344151,#152132);border:1px solid var(--capsule-color);border-radius:9px;box-shadow:0 0 30px color-mix(in srgb,var(--capsule-color) 20%,transparent);animation:capsule-prize .5s ease-out both;}
.gum-prize>small {color:var(--capsule-color);font:10px var(--sans);}
.gum-prize>strong {color:#efddba;font:600 28px var(--numeric,var(--sans));}
@keyframes capsule-prize {from{opacity:0;bottom:20px;scale:.65}to{opacity:1;bottom:68px;scale:1}}
.card-flip-table {max-width:400px;width:100%;margin:6px auto 0;padding:18px 22px 23px;background:radial-gradient(ellipse at 50% 0,#6244343a,transparent 70%),#121c2d;border:1px solid #79613d66;border-radius:12px;}
.card-flip-table-label {display:block;text-align:center;color:#9c8e79;font:9px var(--sans);letter-spacing:2px;margin-bottom:18px;}
.card-flip-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;}
.card-pick {position:relative;width:100%;aspect-ratio:5/7;padding:0;border:0;border-radius:6px;background:none;perspective:650px;box-shadow:0 5px 10px #0004;cursor:pointer;opacity:1!important;}
.flip-card-inner {position:absolute;inset:0;display:block;transform-style:preserve-3d;}
.flip-card-back,.flip-card-front {position:absolute;inset:0;backface-visibility:hidden;border-radius:6px;overflow:hidden;}
.flip-card-back {display:grid;place-items:center;border:2px solid #cab180;background:repeating-linear-gradient(45deg,#f0d6ab08 0 1px,transparent 1px 7px),linear-gradient(130deg,#6d314d,#3c223c);box-shadow:inset 0 0 0 3px #24182a,inset 0 0 0 4px #b6976255;}
.flip-card-back>img {width:50%;height:50%;object-fit:contain;}
.flip-card-back>i {position:absolute;inset:8px;border:1px solid #c9a96f55;border-radius:3px;}
.flip-card-front {transform:rotateY(180deg);background:#efe6cb;}
.flip-card-front>img {width:100%;height:100%;object-fit:fill;display:block;}
.card-pick:not(:disabled):hover {outline:2px solid #e5c68a;outline-offset:3px;transform:translateY(-3px);}
.card-pick.is-revealed .flip-card-inner {transform:rotateY(180deg);}
.card-pick.is-flipping {outline:2px solid #d3b77c;outline-offset:3px;}
.lounge-lobby {position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:30px 16px 15px;overflow:hidden;}
.lounge-lobby-horses .race-horse-art {width:178px;height:125px;transform:rotate(-6deg);}
.lounge-lobby-horses>i {position:absolute;right:24px;bottom:24px;color:#e4c49266;font:550 43px var(--numeric);}
.game-horses .lobby-art {background:radial-gradient(ellipse at 65% 65%,#976b3940,transparent 75%),linear-gradient(135deg,#2e3038,#172132);}
.lounge-lobby-scratch {width:145px;height:133px;position:absolute;left:50%;top:55%;transform:translate(-50%,-50%) rotate(-8deg);padding:13px 9px;border:1px solid #c8a16a;border-radius:7px;background:linear-gradient(145deg,#58324a,#28283a);flex-direction:column;gap:12px;box-shadow:8px 12px 12px #0004;}
.lounge-lobby-scratch>span {font:650 12px var(--sans);color:#edd6a4;letter-spacing:1px;}
.lounge-lobby-scratch>div {display:flex;border:1px solid #c3ad7833;background:#192333;padding:5px;border-radius:4px;}
.lounge-lobby-scratch .ticket-symbol {width:32px;height:32px;}
.lounge-lobby-scratch>i {font:7px var(--sans);letter-spacing:1px;color:#b59fa7;}
.game-scratch .lobby-art {background:radial-gradient(ellipse at 50% 80%,#a7457540,transparent 75%),#2a2533;}
.lounge-lobby-fishing>svg {width:180px;height:125px;}
.game-fishing .lobby-art {background:radial-gradient(ellipse at 40% 80%,#39677366,transparent 75%),linear-gradient(135deg,#253445,#152334);}
.lounge-lobby-gumball {flex-direction:column;padding-top:25px;}
.lobby-gum-globe {display:flex;flex-wrap:wrap;gap:0;align-content:center;justify-content:center;padding:14px 10px;width:95px;height:91px;border:2px solid #c3b28f77;border-radius:50%;background:#758a9530;overflow:hidden;}
.lobby-gum-globe>i {display:block;width:27px;height:27px;border-radius:50%;box-shadow:inset 3px 3px 4px #fff4,0 3px 2px #0003;}
.lobby-gum-base {display:grid;place-items:center;width:70px;height:59px;border:1px solid #c8a474;background:linear-gradient(110deg,#7d3550,#bb6577,#5c2b40);clip-path:polygon(12% 0,88% 0,100% 100%,0 100%);border-radius:4px;}
.lobby-gum-base>i {width:24px;height:24px;border:4px solid #c2aa86;border-radius:50%;position:relative;}
.lobby-gum-base>i:after {content:'';position:absolute;left:-4px;right:-4px;top:6px;height:4px;background:#e0ca9b;}
.game-gumball .lobby-art {background:radial-gradient(ellipse at 50% 75%,#98614640,transparent 75%),#2c2633;}
.lounge-lobby-cardflip {gap:0;}
.lounge-lobby-cardflip>img,.lobby-flip-back {width:77px;height:108px;border-radius:5px;box-shadow:0 9px 13px #0004;}
.lounge-lobby-cardflip>img {transform:rotate(13deg);margin-left:-15px;}
.lobby-flip-back {display:grid;place-items:center;border:2px solid #d2b987;background:repeating-linear-gradient(45deg,#e5c38812 0 1px,transparent 1px 7px),#58283f;transform:rotate(-13deg);}
.lobby-flip-back>img {width:45px;height:45px;object-fit:contain;}
.game-cardflip .lobby-art {background:radial-gradient(ellipse at 50% 70%,#9e71513a,transparent 75%),#292c38;}
@media(max-width:700px){
 .lounge-value>strong{font-size:31px}.race-marquee{padding:14px 12px}.race-marquee>span{font-size:10px;letter-spacing:1px}.race-marquee>i{font-size:7px}.race-track{padding:6px 9px}.race-lane{grid-template-columns:57px minmax(0,1fr);gap:5px;min-height:48px}.race-lane-label{gap:4px}.race-lane-label>small{font-size:7px}.race-lane-label>b{font-size:8px}.race-runway{height:48px}.race-runner{width:44px;height:33px;bottom:6px}.race-ticket{padding:13px 12px}.race-ticket b{font-size:11px}.race-place{left:16px;top:-4px;width:13px;height:13px;font:9px/13px var(--numeric)}
 .scratch-ticket{max-width:315px;padding:15px 15px 13px}.scratch-ticket-top>span{font-size:15px}.scratch-grid{gap:7px}.scratch-ticket-footer{font-size:7px}.scratch-ticket-footer i{font-size:6px}
 .lake-caption{padding:12px 10px}.lake-caption>span,.lake-caption>i{font-size:7px;letter-spacing:.7px}.fishing-scene{margin-top:8px}
 .gumball-scene{max-width:315px}.gum-capsule{width:50px;height:50px}.gum-prize{width:109px;bottom:54px;padding:10px}.gum-prize>strong{font-size:24px}
 .card-flip-table{max-width:310px;padding:17px 18px 19px}.card-flip-grid{gap:11px}.card-flip-table-label{font-size:8px}
 .lounge-lobby-horses .race-horse-art{width:135px;height:100px}.lounge-lobby-horses>i{right:13px;bottom:19px;font-size:30px}.lounge-lobby-scratch{width:108px;height:100px;gap:8px;padding:10px 7px}.lounge-lobby-scratch>span{font-size:9px}.lounge-lobby-scratch>div{padding:3px}.lounge-lobby-scratch .ticket-symbol{width:24px;height:24px}.lounge-lobby-scratch>i{font-size:5px}.lounge-lobby-fishing>svg{width:127px;height:92px}.lobby-gum-globe{width:70px;height:66px;padding:8px 5px}.lobby-gum-globe>i{width:21px;height:21px}.lobby-gum-base{width:53px;height:43px}.lobby-gum-base>i{scale:.75}.lounge-lobby-cardflip>img,.lobby-flip-back{width:58px;height:81px}.lobby-flip-back>img{width:33px;height:33px}.lounge-lobby{padding:24px 7px 8px}
}
@media(prefers-reduced-motion:reduce){.lounge-layout *, .lounge-layout *:before,.lounge-layout *:after{animation:none!important;transition:none!important}.gum-prize{opacity:1}.race-course .horse-leg,.race-course .race-horse-art{animation:none}.fishing-scene.has-bite #fishingRipple{animation:none}}


/* Reference wrapper: the real foil seam separates from the body when torn. */
.pack-opening:has(.pack-reference) {min-height:430px;padding-top:22px;padding-bottom:16px;}
.foil-pack.pack-reference {width:216px;height:375px;transform:rotate(-3deg);filter:drop-shadow(6px 13px 12px #0005);}
.pack-reference .pack-foil-body,.pack-reference .pack-foil-top {position:absolute;inset:0;width:100%;height:100%;background:url('brokeprint-assets/pack-wrapper-v1.png') 50% 50%/136.2% 117.6% no-repeat;border:0;border-radius:0;}
.pack-reference .pack-foil-body {display:block;clip-path:polygon(0 11.2%,100% 11.2%,100% 100%,0 100%);}
.pack-reference .pack-foil-body:before,.pack-reference .pack-foil-body:after {display:none;}
.pack-reference .pack-foil-top {clip-path:polygon(0 0,100% 0,100% 11.3%,0 11.3%);transform-origin:0 11.3%;}
.pack-reference .pack-foil-top>i {top:10.8%;bottom:auto;height:2px;background:#ffe3a4;box-shadow:0 0 5px #f7c06a;}
.foil-pack.pack-reference.is-tearing .pack-foil-body {clip-path:polygon(0 11.5%,8% 11%,15% 11.7%,24% 11.1%,35% 11.7%,45% 11.1%,55% 11.7%,67% 11.1%,78% 11.7%,89% 11.1%,100% 11.5%,100% 100%,0 100%);}
.lobby-pack-wrapper>img {width:125px;height:195px;object-fit:contain;transform:rotate(-9deg);filter:drop-shadow(7px 9px 7px #0005);}
@media(max-width:700px){.pack-opening:has(.pack-reference){min-height:370px;padding-top:14px}.foil-pack.pack-reference{width:190px;height:330px}.lobby-pack-wrapper>img{width:98px;height:145px}}

.gum-prize{animation-delay:var(--prize-delay,0ms)}
.horse-picks>button:disabled{opacity:.8}

.card-flip-grid.is-dealing .card-pick{animation:lounge-card-deal .25s cubic-bezier(.18,.8,.3,1) both;animation-delay:calc(var(--deal-index)*35ms + var(--deal-elapsed,0ms))}
@keyframes lounge-card-deal{from{transform:translate(35px,-22px) rotate(8deg) scale(.9)}to{transform:none}}
