/* P1.04.86: game-only viewport lock and PWA safe-area fit. */
:root{
 --greedy-safe-top:env(safe-area-inset-top,0px);
 --greedy-safe-bottom:env(safe-area-inset-bottom,0px);
 --greedy-usable-height:calc(var(--greedy-frame-height,100dvh) - var(--greedy-safe-top) - var(--greedy-safe-bottom));
 --greedy-stage-width:min(100vw,662px,calc(100vh / 1.94));
 --greedy-head-ratio:.145;
 --greedy-bet-ratio:calc(221 / 738);
 --greedy-red-overlap:21.75cqw;
 --greedy-footer-bg:#ca1c2c;
 --greedy-footer-edge:calc(100% - var(--greedy-safe-bottom));
}
:root{color-scheme:light;font-family:Arial,"Microsoft YaHei", "PingFang SC", sans-serif;color:#052a3f}
*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background-color:#f2f5fa}body{position:relative;height:100vh;height:100dvh;padding-top:var(--greedy-safe-top);padding-bottom:var(--greedy-safe-bottom)}
/* Game colors behind the iPhone status and gesture areas. */
body{
 background-color:#f2f5fa;
 background-image:linear-gradient(to bottom,
  #f2f5fa 0,#f2f5fa var(--greedy-safe-top),
  #ffea69 var(--greedy-safe-top),#ffea69 var(--greedy-footer-edge),
  var(--greedy-footer-bg) var(--greedy-footer-edge),var(--greedy-footer-bg) 100%);
}
button,a{font:inherit;-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #215be5;outline-offset:2px}[hidden]{display:none!important}
/* Desktop gutters share the page background, including within the game frame. */
@media screen and (hover:hover) and (pointer:fine){body{background-image:none}}
.game-shell{container-type:inline-size;max-width:662px;width:var(--greedy-stage-width);height:100vh;min-height:0;margin:auto;display:flex;flex-direction:column;overflow:hidden;background:#ffea69 url('./assets/background/greedybigo_bg.b5e53a19.png') center top / 100% auto no-repeat;box-shadow:0 0 24px #0e253015}
@supports(height:100dvh){
 :root{--greedy-stage-width:min(100vw,662px,calc(var(--greedy-usable-height) / 1.94))}
 .game-shell{height:var(--greedy-usable-height)}
}
@media screen and (orientation:portrait) and (hover:none){
 :root{
  /* Match the start of the balance area below the header, 1300 by 1286 wheel, and bet panel. */
  --greedy-footer-edge:calc(var(--greedy-safe-top) + var(--greedy-stage-width) *
   (var(--greedy-head-ratio) + 1286 / 1300 + var(--greedy-bet-ratio)));
 }
 .game-shell{box-shadow:none}
}
.game-shell>.headbar,.game-shell>.wheel-section,.game-shell>.bet-panel,.game-shell>.stats-panel{flex:0 0 auto}
.headbar{width:100%;height:calc(100cqw * var(--greedy-head-ratio));background:url('./assets/background/head-bg.797bb138.png') center top / 100% 100% no-repeat;display:flex;align-items:flex-start;justify-content:space-between;padding:3.5cqw 3.5cqw 0 3.5cqw;position:relative;z-index:1}
.headnav{display:flex;align-items:center;gap:2.45cqw}.tool{display:grid;place-items:center;width:7.9cqw;height:8.2cqw;padding:1cqw;border:0.38cqw solid #27252d;border-radius:2cqw;background:linear-gradient(#fffef5,#fcf8e7);box-shadow:inset 0 0 0 .56cqw #ffe967,0 .55cqw 0 #a89d43;text-decoration:none;color:#a08505}
.issue{white-space:nowrap;padding-top:1.1cqw;font-size:3.7cqw;line-height:1.2;font-weight:500;color:#0d161e}
.wheel-section{position:relative;line-height:0;isolation:isolate}.wheel-section .wheel-art{display:block;width:100%;height:auto;overflow:visible}
/* P1.04.95: red/blue combo betting on the two outer meal plates only. */
.side-bet-zone,.side-bet-zone *,.side-info-zone{-webkit-tap-highlight-color:transparent}
.side-bet-zone,.side-info-zone{cursor:pointer;touch-action:manipulation;outline:none}
.side-bet-zone:focus-visible .side-bet-hit,.side-info-zone:focus-visible{stroke:#ffe329;stroke-width:6}
.food-stake{fill:#bd432d;font:35px Georgia,"Times New Roman",serif}
.side-bet-stake text{fill:#162028;font:33px Arial,sans-serif}
/* P1.04.94: remove native square tap highlight on the eight SVG food buttons. */
.food-unit,.food-unit *{-webkit-tap-highlight-color:transparent}
.food-unit{cursor:pointer;touch-action:manipulation;outline:none}.food-unit .plate-rim{transition:fill .08s linear}.food-unit .plate-lower{transition:fill .08s linear}.food-unit.is-lit .plate-rim{fill:#ffdc19!important}.food-unit.is-lit .plate-lower{fill:#ffc792!important}.food-unit:focus-visible .plate-rim{stroke:#1b336f;stroke-width:12px}.food-unit:active .plate-rim{filter:brightness(1.05)}
#pointerHand{transition:transform .1s ease-out;filter:drop-shadow(1px 2px 0 #1615217a)}
.bet-panel{
 height:calc(100cqw * var(--greedy-bet-ratio));position:relative;z-index:1;padding:1.1cqw 2.6cqw 0;
 border:.55cqw solid transparent;
 /* The tray widens toward its rounded base and scales from the 738 by 221 drawing. */
 background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='738' height='221' viewBox='0 0 738 221'%3E%3Cpath d='M26 2 H712 Q717 2 718 8 L732 189 C732 205 724 215 708 215 H30 C14 215 6 205 6 189 L20 8 Q21 2 26 2 Z' fill='%231fc1ff' stroke='%230d2a41' stroke-width='4' stroke-linejoin='round'/%3E%3C/svg%3E") center top / 100% auto no-repeat,
  url('./assets/background/red_bg.12ac4bc3.png') center calc(100cqw * var(--greedy-bet-ratio) - var(--greedy-red-overlap)) / 100% auto no-repeat;
 background-origin:border-box;
}
.coins{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) .72fr;align-items:center;gap:1.5cqw;width:100%;height:14cqw}.chip-box{display:grid;place-items:center;height:13.2cqw;min-width:0;padding:.8cqw;border:.35cqw solid #09283b;border-radius:1.3cqw;background:#fefdf7;box-shadow:0 .75cqw 0 #036788}.chip-box.chosen{background:#ff3866;border-color:#12273a}.coin{display:grid;place-items:center;width:10.4cqw;height:10.4cqw;border-radius:50%;background:radial-gradient(circle at 28% 24%,#fff87f 0,#ffed4c 30%,#ffd324 65%,#dd8b00 82%,#ae6a03 100%);border:.46cqw solid #845000;box-shadow:inset 0 0 0 .6cqw #ffdf33,inset 0 0 0 .9cqw #eaaa09,0 .4cqw 0 #614820;color:#402507;text-shadow:.2cqw .2cqw #ffe57c;font-size:3.3cqw}.settings{width:8.5cqw;height:8.5cqw;border-radius:50%;border:.5cqw solid #b77f00;box-shadow:inset 0 0 0 .6cqw #ffef75,0 .45cqw 0 #694a17;background:linear-gradient(#ffe94c,#ffa809);display:grid;place-items:center;padding:1.5cqw}.settings svg{display:block;width:100%;height:100%;fill:#fdfefa;stroke:#987000;stroke-width:1;stroke-linejoin:round}
.package-entry {
  position:absolute;bottom:0;left:15.8%;width:68.4%;height:11.3cqw;
  padding:0;border:0;background:none;
}
.package-entry-frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.package-entry-caption {
  position:absolute;inset:4% 26% auto;height:32%;display:grid;place-items:center;
  font-size:2.75cqw;line-height:1;white-space:nowrap;color:#2b1828;
}
.package-entry-text {
  position:absolute;inset:37% 0 0;display:flex;align-items:center;justify-content:center;
  font-size:3.2cqw;white-space:nowrap;color:#171d22;
}
.package-entry-text b{font-size:4.2cqw;font-weight:400;margin-left:1.1cqw}
.stats-panel{
 height:14.2cqw;border-top:1.5cqw solid transparent;
 background:var(--greedy-footer-bg) url('./assets/background/red_bg.12ac4bc3.png') center calc(0px - var(--greedy-red-overlap)) / 100% auto no-repeat;
 background-origin:border-box;
 display:flex;align-items:center;gap:2cqw;padding:1.2cqw 5.2cqw 1.1cqw}
.star-medal{width:9.5cqw;height:9.5cqw;flex:none}.star-medal svg{display:block;width:100%;height:100%}.stat{height:9.9cqw;border:.3cqw solid #193147;border-radius:999px;background:#fff;flex:1;min-width:0;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;color:#072b44}.stat:before,.stat:after{content:"";position:absolute;top:50%;width:.85cqw;height:.85cqw;background:#09374e;border-radius:50%;transform:translateY(-50%)}.stat:before{left:1.5cqw}.stat:after{right:1.5cqw}.stat>span{font-size:3.45cqw;line-height:1.24;white-space:nowrap}.stat strong{font-size:3.4cqw;font-weight:500;line-height:1.3;display:flex;align-items:center;gap:1.3cqw}.tiny-gold{display:inline-block;width:3cqw;height:3cqw;border-radius:50%;border:.16cqw solid #f6a800;background:linear-gradient(135deg,#fff37c 0 22%,#ffdd27 22% 63%,#f7b600 63%);vertical-align:middle;flex:none}
.result-zone{flex:1 0 auto;background:var(--greedy-footer-bg);min-height:34.8cqw;padding:0 5.4cqw 5cqw}.result-bar{height:12.4cqw;background:#e6525a;border-radius:2cqw;display:flex;align-items:center;padding:0 4cqw;gap:3.8cqw}.result-bar>span{color:white;font-size:3.1cqw;white-space:nowrap}.result-icons{display:flex;align-items:center;justify-content:space-between;gap:1cqw;min-width:0;flex:1}.draw-item{background:#b9f5f9;border-radius:50%;width:8.9cqw;height:8.9cqw;flex:none;border:0.3cqw solid #e9678f;display:grid;place-items:center;position:relative}.draw-item.red{background:#ff9cbb}.draw-item img{width:83%;height:83%;object-fit:contain}.draw-item small{position:absolute;bottom:-.35cqw;right:0;font-size:2cqw;color:#000;background:#ffef00;border:.2cqw solid #754e04;border-radius:2cqw;padding:0 .2cqw;line-height:2.2cqw}
.rank{width:100%;height:13.9cqw;margin-top:2.7cqw;background:#fff;border:0;border-radius:2cqw;display:flex;align-items:center;text-align:left;padding:1.6cqw 3cqw;gap:2.2cqw;color:#052742}.avatar{position:relative;display:block;width:8cqw;height:8cqw;border-radius:50%;background:#738496 url('/modules/profile/assets/avatars-r1407/avatar-01.jpg') center/cover no-repeat;flex:none}.rank-one{position:absolute;bottom:-.65cqw;right:-.55cqw;border-radius:50%;width:3.5cqw;height:3.5cqw;background:#fbee21;display:grid;place-items:center;color:#32310c;border:.2cqw solid #202943;font-size:2.1cqw}.rank-copy{display:flex;flex-direction:column;gap:.9cqw;font-size:3.25cqw}.rank-copy strong{font-size:3.65cqw;display:flex;align-items:center;gap:1cqw;font-weight:500}.rank-chevron{margin-left:auto;font-size:6cqw;color:#17334a;font-weight:200}
@media screen and (max-width:520px) and (orientation:portrait) and (hover:none){
 :root{
  --greedy-stage-width:100vw;
  --greedy-footer-edge:calc(100% - var(--greedy-safe-bottom));
 }
 /* Fill the phone width and scroll only when the board exceeds the available height. */
 .game-shell{
  overflow-y:auto;
  overscroll-behavior-y:none;
  scrollbar-width:none;
 }
 .game-shell::-webkit-scrollbar{display:none}
 .result-zone{min-height:0;padding-bottom:0}
}
:root{--greedy-feedback-unit:min(1vw,5.2px,calc(100vh / 194))}
@supports(height:100dvh){
 :root{--greedy-feedback-unit:min(1vw,5.2px,calc(var(--greedy-usable-height) / 194))}
}
@media(min-width:768px) and (hover:hover) and (pointer:fine){
 :root{--greedy-feedback-unit:5.2px}
}
.msg{
 position:fixed;z-index:60;top:50%;left:50%;transform:translate(-50%,-50%);
 width:max-content;max-width:calc(var(--greedy-feedback-unit) * 74.6667);
 padding:calc(var(--greedy-feedback-unit) * 3.2) calc(var(--greedy-feedback-unit) * 4.2667);
 border-radius:calc(var(--greedy-feedback-unit) * 6.6667);
 background:rgba(50,50,51,.88);color:#fff;text-align:center;white-space:pre-line;
 font-size:calc(var(--greedy-feedback-unit) * 3.7333);
 line-height:calc(var(--greedy-feedback-unit) * 5.3333);
 opacity:0;pointer-events:none;transition:opacity .2s;
}
.msg.show{opacity:1;transition:none}
.shade{position:fixed;z-index:50;inset:0;background:#0008;display:flex;align-items:flex-end;justify-content:center}.sheet{width:min(100%,662px);max-height:75vh;overflow:auto;background:#fff;border-radius:16px 16px 0 0;padding:18px 20px 28px;color:#28364a;box-shadow:0 -8px 22px #0003}.sheet-header{display:flex;align-items:center;justify-content:space-between;font-size:17px;border-bottom:1px solid #eaeaea;padding-bottom:10px}.sheet-header button{border:0;background:#f0f2f5;border-radius:50%;width:34px;height:34px;font-size:27px;color:#425266}.sheet-body{font-size:14px;line-height:1.85}.sheet-body p{margin:12px 0}.sheet-body ul{padding-left:23px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:0.01ms!important;transition-duration:0.01ms!important}}
/* BG-Greedy-P1.04.6 — draw lifecycle, results and ranking, isolated to Greedy */
.result-bar[role="button"]{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation}.result-bar[role="button"]:focus-visible{outline:3px solid #fff;outline-offset:1px}
/* Round feedback uses the reference trial's artwork and bottom panel. */
.shade.result-shade{
 --greedy-result-edge:min(100%,var(--greedy-result-frame-height,100%));
 z-index:90;width:auto;height:auto;max-width:none;max-height:none;
 margin:0;padding:0;border:0;overflow:hidden;overflow:clip;
 overscroll-behavior:contain;touch-action:manipulation;background:#000b;
}
.shade.result-shade::backdrop{background:transparent}
html.greedy-ios-pwa .shade.result-shade{
 background:linear-gradient(to bottom,#000b var(--greedy-result-edge),#6ac7ee var(--greedy-result-edge));
}
.result-viewport{
 position:absolute;inset:0 0 auto;height:var(--greedy-result-edge);
 display:flex;align-items:flex-end;justify-content:center;
 overflow:hidden;overflow:clip;outline:none;
}
.sheet.result-sheet{
 position:relative;container-type:inline-size;padding:0;max-height:calc(100% - 18px);overflow:auto;
 background:linear-gradient(#79ccf7,#6ac7ee);border:0;outline:none;box-shadow:none;
 border-radius:4.5% 4.5% 0 0 / 5% 5% 0 0;
 overscroll-behavior:contain;will-change:transform;
 -webkit-backface-visibility:hidden;backface-visibility:hidden;
 transform:translate3d(0,100%,0);
 transition:transform .25s cubic-bezier(.4,0,.85,.45);
}
.shade.result-shade.is-result-visible .result-sheet{
 transform:translate3d(0,0,0);
 transition-timing-function:cubic-bezier(.2,.72,.2,1);
}
.result-board{
 --greedy-result-top-space:12cqw;
 position:relative;padding:var(--greedy-result-top-space) 0 max(8.4cqw,var(--greedy-safe-bottom));color:#20243a;
}
html.greedy-ios-pwa .result-board{
 /* The blue area below the game frame contributes to the lower band. */
 padding-bottom:max(0px,calc(var(--greedy-result-top-space) - var(--greedy-result-host-bottom,0px)));
}
.result-art{
 position:absolute;top:1.4cqw;left:50%;transform:translateX(-50%);width:68%;
 aspect-ratio:500/145;background:url('./assets/feedback/T3_award_bg.e84a9497.png') center top/contain no-repeat;
 pointer-events:none;
}
.result-close-time{position:absolute;right:4cqw;top:3.45cqw;font-size:3.72cqw;line-height:1.3;z-index:2}
.featured-result{
 position:absolute;top:1.35cqw;left:50%;transform:translateX(-50%);
 display:grid;place-items:center;width:20.27cqw;aspect-ratio:1;
 border-radius:50%;background:50% / cover no-repeat;
}
.featured-result.red{background-image:url('./assets/feedback/red.0a7693e4.png')}
.featured-result.blue{background-image:url('./assets/feedback/blue.e9ef55ee.png')}
.featured-result img{display:block;width:12cqw;height:auto}
.result-card{
 margin:0 auto;width:92%;background:#fff;border-radius:3.1cqw;
 padding:10.8cqw 4.9cqw 3.1cqw;text-align:center;font-size:3.72cqw;line-height:1.3;
}
.result-lead{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.7cqw 1.25cqw}
.result-lead b{color:#e53636;font-weight:500;font-variant-numeric:tabular-nums}
.outcome-duo{display:inline-flex;align-items:center;gap:.65cqw}
.outcome-duo img{width:5.7cqw;height:5.7cqw;background:#ffc6c8;border-radius:50%;object-fit:contain;padding:.38cqw}
.featured-result.blue+.result-card .outcome-duo img{background:#c0ecfa}
.result-amounts{margin:1.6cqw 0 0;display:grid;justify-items:center;gap:1.45cqw}
.result-amounts div,.result-amounts dd{display:flex;align-items:center;gap:.7cqw;margin:0}
.result-amounts dt::after{content:":"}
.result-amounts dd{font-variant-numeric:tabular-nums}
.result-gem,.result-coin{display:inline-block;flex:none;width:1em;height:1em;background:50% / contain no-repeat}
.result-gem{background-image:url('./assets/feedback/reward-gem.png')}
.result-coin{background-image:url('./assets/feedback/stake-coin.png')}
.result-card .round-no-bet{margin:1.6cqw 0 0;font-weight:500}
.winner-divider{display:flex;align-items:center;justify-content:center;gap:2.7cqw;margin:4cqw 0 4.35cqw;font-weight:400}
.winner-divider::before,.winner-divider::after{content:"";height:1px;flex:1;background:#20243a52}
.winner-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 1.1cqw}
.winner-player{display:flex;flex-direction:column;align-items:center;min-width:0}
.winner-face{
 display:block;flex:none;width:13.2cqw;aspect-ratio:1;border-radius:50%;
 background:#e5e8f1;position:relative;border:1px solid #161622;
}
.winner-face img{width:100%;height:100%;display:block;border-radius:50%;object-fit:cover;object-position:center}
.winner-badge{
 position:absolute;right:0;bottom:-.6cqw;width:3.05cqw;height:3.05cqw;border-radius:50%;
 background:#fff41d;color:#0c344e;border:1px solid #161622;font-size:2.1cqw;line-height:1;display:grid;place-items:center;
}
.winner-name{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2.2cqw}
.winner-prize{display:flex;align-items:center;gap:.5cqw;margin-top:1.7cqw;font-size:3.4cqw;white-space:nowrap;font-variant-numeric:tabular-nums}
.shade.bet-notice-shade{align-items:center;background:rgba(0,0,0,.7)}
.shade.bet-closed-shade{background:rgba(0,0,0,.42)}
.sheet.bet-notice-sheet{
 width:calc(var(--greedy-feedback-unit) * 89.3333);
 padding:calc(var(--greedy-feedback-unit) * 7.4667) calc(var(--greedy-feedback-unit) * 4) calc(var(--greedy-feedback-unit) * 6.4);
 border:calc(var(--greedy-feedback-unit) * .4) solid #000063;
 border-radius:calc(var(--greedy-feedback-unit) * 5.3333);
 background:#7ecffa;color:#000063;text-align:center;box-shadow:none;
}
.bet-notice-sheet p{
 margin:0;font-size:calc(var(--greedy-feedback-unit) * 4.8);
 line-height:calc(var(--greedy-feedback-unit) * 6.6667);
}
.bet-notice-sheet button{
 display:block;width:calc(var(--greedy-feedback-unit) * 36.2667);
 height:calc(var(--greedy-feedback-unit) * 13.8667);
 margin:calc(var(--greedy-feedback-unit) * 7.4667) auto 0;
 padding:0 0 calc(var(--greedy-feedback-unit) * 1.0667);border:0;
 background:url('./assets/feedback/notice-ok.png') center / 100% 100% no-repeat;
 color:#000;font-size:calc(var(--greedy-feedback-unit) * 4.2667);line-height:1;
}
.bet-closed-sheet button{color:#090969;font-weight:600}

/* Chase: no eased CSS movement that could visually lag behind 40ms target steps. */
.wheel-section.is-drawing .food-unit .plate-rim,.wheel-section.is-drawing .food-unit .plate-lower{transition:none}
.wheel-section.is-drawing #pointerHand{transition:none}
/* BG-Greedy-P1.04.8: 30s to immediate chasing draw.
   Hide the hand during the entire fast spinning phase. No screen veil. */
.wheel-section.is-drawing #pointerHand{opacity:0!important;visibility:hidden!important}
/* BG-GREEDY-R1.01: native SVG transfer keeps the original sRGB brightness
   without relying on CSS brightness() support on SVG groups in WebKit. */
.wheel-section.is-drawing .food-unit{opacity:1;transition:none}
.wheel-section.is-drawing .food-unit.is-lit{filter:none}
.wheel-section.is-drawing .food-unit:not(.is-lit){filter:url(#greedy-food-dim)}

/* Keep only the winning plate bright while the result sheet is shown. */
.wheel-section.is-result .food-unit:not(.is-lit){
  opacity:1!important;filter:url(#greedy-food-hold-dim)!important;transition:none!important;
}
.wheel-section.is-result .food-unit.is-lit{
  opacity:1!important;filter:none!important;transition:none!important;
}
/* Keep the hand hidden through result reveal; restore it next round. */
.wheel-section.is-result #pointerHand{opacity:0!important;visibility:hidden!important}

/* BG-Greedy-P1.04.23 — reference-fine visual finish only.
   Wheel geometry is uniformly scaled inside the SVG, so coin, hand, HOT,
   selected rim and clickable areas remain aligned. Keep all phase logic intact. */
.headbar .tool{border-width:.31cqw;box-shadow:inset 0 0 0 .5cqw #ffe967,0 .38cqw 0 #a89d43}
.headbar .issue{font-size:3.5cqw;font-weight:400}
.bet-panel{border-width:.46cqw}
.chip-box{border-width:.3cqw;box-shadow:0 .53cqw 0 #036788}
.coin{width:9.95cqw;height:9.95cqw;border-width:.37cqw;box-shadow:inset 0 0 0 .50cqw #ffdf33,inset 0 0 0 .80cqw #eaaa09,0 .29cqw 0 #614820;font-size:3.15cqw}
.settings{width:8.2cqw;height:8.2cqw;border-width:.39cqw;box-shadow:inset 0 0 0 .54cqw #ffef75,0 .35cqw 0 #694a17}
.stat>span{font-size:3.28cqw}.stat strong{font-size:3.25cqw}
.result-bar>span{font-size:3.0cqw}
.rank-copy{font-size:3.08cqw}.rank-copy strong{font-size:3.45cqw}


/* P1.04.35: slightly lower bottom sheet; isolate every rule to quickbet */
.sheet.quickbet-sheet{
 width:min(100%,662px); max-height:none; overflow:visible;
 background:#7fdbff; color:#12314a; padding:0;
 border-radius:18px 18px 0 0;
 box-shadow:none;
 animation:quickbet-rise .50s cubic-bezier(.2,.68,.2,1) both;
}
.sheet.quickbet-sheet .sheet-body{padding:0;font-size:14px;line-height:1.35}
@keyframes quickbet-rise{
 from{transform:translateY(100%)}
 to{transform:translateY(0)}
}
/* Quick-bet exit: slide out before hiding the backdrop, no changes to other dialogs. */
.sheet.quickbet-sheet.is-closing{animation:quickbet-fall .30s cubic-bezier(.4,0,.85,.45) both;pointer-events:none}
@keyframes quickbet-fall{
 from{transform:translateY(0)}
 to{transform:translateY(100%)}
}
.sheet.quickbet-sheet .quickbet-wrap{position:relative;padding:72px 0 20px}
.sheet.quickbet-sheet .quickbet-top{
 position:absolute;left:0;right:0;top:-12px;
 height:64px;margin:0;padding:0;min-height:0;pointer-events:none;
}
.sheet.quickbet-sheet .qb-title{
 width:60%;max-width:353px;height:64px;margin:0 auto;
 display:flex;align-items:center;justify-content:center;
 background:#a8e4ff;border:2px solid #4440aa;
 border-radius:0 0 13px 13px;box-shadow:0 2px 0 #4951ae;
 padding:0;color:#142c83;font-size:23px;font-weight:700;
}
.sheet.quickbet-sheet .qb-close{
 position:absolute;right:22px;top:28px;width:29px;height:29px;
 padding:0;display:grid;place-items:center;
 background:#27bce8;border:2px solid #005b84;border-radius:50%;
 color:#09314a;font-weight:500;font-size:23px;line-height:1;
 pointer-events:auto;
}
.sheet.quickbet-sheet .qb-grid{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
 column-gap:17px;row-gap:16px;
 width:74%;max-width:435px;padding:0;margin:0 auto;
}
.sheet.quickbet-sheet .qb-option{
 height:58px;min-width:0;padding:0 11px 0 13px;
 display:flex;align-items:center;gap:8px;
 background:#fff;border:2px solid #153048;
 border-radius:999px;box-shadow:none;
 color:#193449;font-size:20px;font-weight:500;line-height:1;
}
.sheet.quickbet-sheet .qb-option.is-active{background:#ff344e;color:#fff}
.sheet.quickbet-sheet .qb-option:active{transform:none;filter:brightness(.95)}
.sheet.quickbet-sheet .qb-value{flex:1;text-align:center;letter-spacing:0;font-weight:500}
.sheet.quickbet-sheet .qb-coin{
 flex:none;display:grid;place-items:center;
 width:38px;height:38px;border-radius:50%;
 background:radial-gradient(circle at 28% 24%,#fff87f 0,#ffed4c 30%,#ffd324 65%,#dd8b00 82%,#ae6a03 100%);
 border:2px solid #845000;
 box-shadow:inset 0 0 0 2px #ffdf33,inset 0 0 0 4px #eaaa09,0 2px 0 #614820;
 color:#402507;text-shadow:1px 1px #ffe57c;font-size:16px;line-height:1;
}
.sheet.quickbet-sheet .qb-option[data-qb-chip="1000"] .qb-coin,
.sheet.quickbet-sheet .qb-option[data-qb-chip="2000"] .qb-coin{font-size:11px}
.sheet.quickbet-sheet .qb-coin.is-wide{font-size:10px;font-weight:700;letter-spacing:0}

.sheet.quickbet-sheet .qb-confirm{
 width:224px;max-width:54%;height:60px;
 display:block;margin:15px auto 0;border:2px solid #102d44;
 border-radius:999px;box-shadow:0 4px 0 #a27300;
 background:#ffbf00;color:#172d37;font-size:20px;font-weight:500;
}
.sheet.quickbet-sheet .qb-option:disabled,.sheet.quickbet-sheet .qb-confirm:disabled{
 opacity:.6;cursor:default;
}
@media(max-width:520px){
 .sheet.quickbet-sheet .quickbet-wrap{padding:clamp(49px,12.7vw,67px) 0 16px}
 .sheet.quickbet-sheet .quickbet-top{top:-9px;height:clamp(48px,10.7vw,58px)}
 .sheet.quickbet-sheet .qb-title{height:100%;font-size:clamp(17px,3.75vw,20px)}
 .sheet.quickbet-sheet .qb-close{right:14px;top:18px;width:28px;height:28px}
 .sheet.quickbet-sheet .qb-grid{width:78%;gap:clamp(9px,2.7vw,13px) clamp(9px,2.7vw,14px)}
 .sheet.quickbet-sheet .qb-option{height:clamp(43px,10vw,53px);padding:0 8px;font-size:clamp(15px,3.6vw,18px)}
 .sheet.quickbet-sheet .qb-coin{width:clamp(28px,7vw,35px);height:clamp(28px,7vw,35px);font-size:clamp(12px,3.2vw,15px)}

 .sheet.quickbet-sheet .qb-confirm{height:clamp(44px,11vw,54px);font-size:18px}
}
@media(max-height:560px){
 .sheet.quickbet-sheet{max-height:94dvh;overflow-y:auto;overflow-x:hidden}
 .sheet.quickbet-sheet .quickbet-top{top:0}
}
@media(prefers-reduced-motion:reduce){.sheet.quickbet-sheet{animation:none}}

/* BG-Greedy-P1.04.39: keep all eight recent food icons inside the red draw strip.
   The old fixed 8.9cqw circles plus flex gaps exceeded the available width. */
.result-bar{overflow:hidden}
.result-bar .result-icons{
 display:grid;grid-template-columns:repeat(8,minmax(0,1fr));
 justify-content:initial;align-items:center;gap:.65cqw;min-width:0;flex:1;
}
.result-bar .result-icons .draw-item{
 width:100%;max-width:8.9cqw;height:auto;aspect-ratio:1;min-width:0;flex:none;
}

/* P1.04.69: reference-style Greedy rules, same motion as quick-bet, isolated styling. */
.sheet.rules-sheet{
 width:min(100%,662px);height:clamp(330px,58dvh,690px);max-height:92dvh;
 padding:0;overflow:visible;background:#7fdbff;color:#123149;
 border-radius:18px 18px 0 0;box-shadow:none;
 animation:quickbet-rise .50s cubic-bezier(.2,.68,.2,1) both;
}
.sheet.rules-sheet .sheet-body{height:100%;min-height:0;padding:0;line-height:1.55}
.sheet.rules-sheet.is-closing{animation:quickbet-fall .30s cubic-bezier(.4,0,.85,.45) both;pointer-events:none}
.sheet.rules-sheet .rules-wrap{position:relative;width:100%;height:100%;padding:74px 20px 20px}
.sheet.rules-sheet .rules-top{position:absolute;top:-9px;left:0;right:0;height:64px;pointer-events:none}
.sheet.rules-sheet .rules-title{
 display:flex;align-items:center;justify-content:center;
 width:60%;max-width:353px;height:64px;margin:auto;
 border:2px solid #101a98;border-radius:0 0 13px 13px;
 box-shadow:0 2px 0 #13269f;background:#91e0ff;
 color:#000063;font-size:23px;font-weight:700;
}
.sheet.rules-sheet .rules-close{
 position:absolute;top:28px;right:22px;display:grid;place-items:center;
 width:29px;height:29px;padding:0;border:2px solid #005b84;border-radius:50%;
 background:#27bce8;color:#09314a;font-size:23px;line-height:1;pointer-events:auto;
}
.sheet.rules-sheet .rules-content{
 height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;
 padding:27px 23px 0;background:#fff;border-radius:17px;
 color:#0b2435;font-size:clamp(15px,3.06vw,16.5px);font-weight:500;line-height:1.4; -webkit-text-stroke:.15px currentColor;
 scrollbar-width:none;-ms-overflow-style:none;
}
.sheet.rules-sheet .rules-content::-webkit-scrollbar{display:none}
.sheet.rules-sheet .rules-list{list-style:decimal;margin:0;padding-left:23px}
.sheet.rules-sheet .rules-list li{padding-left:0;margin:0 0 14.5px}
.sheet.rules-sheet .rules-list li:last-child{margin-bottom:0}
@media(max-width:520px){
 .sheet.rules-sheet .rules-wrap{padding:clamp(52px,12.7vw,67px) 14px 14px}
 .sheet.rules-sheet .rules-top{top:-9px;height:clamp(48px,10.7vw,58px)}
 .sheet.rules-sheet .rules-title{height:100%;font-size:clamp(17px,3.75vw,20px)}
 .sheet.rules-sheet .rules-close{right:14px;top:18px;width:28px;height:28px}
 .sheet.rules-sheet .rules-content{padding:14px 16px 20px;font-size:clamp(13px,3.15vw,16px)}
 .sheet.rules-sheet .rules-list{padding-left:21px}
 .sheet.rules-sheet .rules-list li{margin-bottom:10px}
}
@media(prefers-reduced-motion:reduce){.sheet.rules-sheet{animation:none}}


/* P1.04.74: 10-member demonstration ranking; same motion as the rules sheet. */
.sheet.ranking-sheet{
 width:min(100%,662px);height:clamp(385px,48dvh,720px);max-height:94dvh;
 padding:0;overflow:visible;background:#7fdbff;color:#0a2b41;
 border-radius:18px 18px 0 0;box-shadow:none;
 animation:quickbet-rise .50s cubic-bezier(.2,.68,.2,1) both;
}
.sheet.ranking-sheet .sheet-body{height:100%;min-height:0;padding:0;line-height:1.35}
.sheet.ranking-sheet.is-closing{animation:quickbet-fall .30s cubic-bezier(.4,0,.85,.45) both;pointer-events:none}
.sheet.ranking-sheet .leader-wrap{position:relative;width:100%;height:100%;padding:73px 22px 0}
.sheet.ranking-sheet .leader-top{position:absolute;left:0;right:0;top:-9px;height:64px;pointer-events:none}
.sheet.ranking-sheet .leader-title{
 display:flex;align-items:center;justify-content:center;
 width:60%;max-width:353px;height:64px;margin:0 auto;
 border:2px solid #101a98;border-radius:0 0 13px 13px;
 background:#91e0ff;color:#000063;font-size:23px;font-weight:700;
}
.sheet.ranking-sheet .leader-close{
 position:absolute;top:28px;right:22px;display:grid;place-items:center;
 width:29px;height:29px;padding:0;border:2px solid #005b84;border-radius:50%;
 background:#27bce8;color:#09314a;font-size:23px;line-height:1;pointer-events:auto;
}
.sheet.ranking-sheet .leader-emblem{position:absolute;top:23px;left:23px;display:block;pointer-events:none}
.sheet.ranking-sheet .leader-emblem-image{display:block;width:66px;height:65px;object-fit:contain}
.sheet.ranking-sheet .leader-list{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;padding:0 0 10px}
.sheet.ranking-sheet .leader-list::-webkit-scrollbar{display:none}
.sheet.ranking-sheet .leader-row{display:flex;align-items:center;gap:11px;min-height:78px;margin-bottom:8px;padding:9px 16px;background:#fff;border:1px dashed #dbeaf0;border-radius:15px;color:#12334c}
.sheet.ranking-sheet .leader-row:last-child{margin-bottom:0}
.sheet.ranking-sheet .leader-place{position:relative;display:grid;place-items:center;flex:none;width:29px;height:29px;margin:0 1px 7px 0;color:#1c3a54;font-weight:500;font-size:19px}
.sheet.ranking-sheet .leader-place.place-1,.sheet.ranking-sheet .leader-place.place-2,.sheet.ranking-sheet .leader-place.place-3{border-radius:50%;font-size:16px;font-weight:700;z-index:0}
.sheet.ranking-sheet .leader-place.place-1{background:radial-gradient(circle at 31% 25%,#fff8a7,#ffd523 60%,#ffb900);color:#de7b00;box-shadow:0 0 0 2px #ffe173}
.sheet.ranking-sheet .leader-place.place-2{background:radial-gradient(circle at 31% 25%,#f7fbff,#c4d2dd 66%,#9eaebe);color:#78899a;box-shadow:0 0 0 2px #dce3ea}
.sheet.ranking-sheet .leader-place.place-3{background:radial-gradient(circle at 31% 25%,#ffdaa7,#ff995d 62%,#ee672e);color:#ea632a;box-shadow:0 0 0 2px #ffb78d}
.sheet.ranking-sheet .leader-place.place-1:after,.sheet.ranking-sheet .leader-place.place-2:after,.sheet.ranking-sheet .leader-place.place-3:after{content:"";position:absolute;top:24px;left:6px;z-index:-1;width:17px;height:15px;background:linear-gradient(100deg,#ffab28 48%,#ff762f 50%);clip-path:polygon(0 0,100% 0,100% 100%,50% 74%,0 100%)}
.sheet.ranking-sheet .leader-place.place-2:after{background:linear-gradient(100deg,#cdd8e2 48%,#8c9faf 50%)}
.sheet.ranking-sheet .leader-place.place-3:after{background:linear-gradient(100deg,#ffa462 48%,#ed743d 50%)}
.sheet.ranking-sheet .leader-avatar{display:grid;place-items:center;flex:none;width:43px;height:43px;border-radius:50%;color:#fff;font-size:17px;font-weight:600;background:radial-gradient(circle at 28% 20%,#7996cb,#143567 75%);border:2px solid #e2edfa;overflow:hidden}
.sheet.ranking-sheet .leader-avatar.avatar-1{background:radial-gradient(circle at 22% 22%,#949ca6,#32383e 75%)}
.sheet.ranking-sheet .leader-avatar.avatar-2{background:radial-gradient(circle at 20% 20%,#acb9c5,#0f2634 75%)}
.sheet.ranking-sheet .leader-avatar.avatar-3{background:radial-gradient(circle at 20% 20%,#9395a3,#22243e 75%)}
.sheet.ranking-sheet .leader-avatar.avatar-4{background:radial-gradient(circle at 20% 20%,#d67ebb,#5b277b 75%)}
.sheet.ranking-sheet .leader-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#15364b;font-size:17px;font-weight:500}
.sheet.ranking-sheet .leader-amount{display:flex;align-items:center;gap:7px;flex:none;margin-left:auto;color:#0e3045;font-size:18px;font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}
.sheet.ranking-sheet .leader-amount .tiny-gold{width:16px;height:16px;flex:none}
@media(max-width:520px){
 .sheet.ranking-sheet .leader-wrap{padding:clamp(51px,12.7vw,66px) 14px 0}
 .sheet.ranking-sheet .leader-top{height:clamp(48px,10.7vw,58px)}
 .sheet.ranking-sheet .leader-title{height:100%;font-size:clamp(17px,3.6vw,20px)}
 .sheet.ranking-sheet .leader-close{top:18px;right:14px;width:28px;height:28px}
 .sheet.ranking-sheet .leader-emblem{top:15px;left:15px}
 .sheet.ranking-sheet .leader-emblem-image{width:clamp(46px,10vw,56px);height:auto}
 .sheet.ranking-sheet .leader-row{gap:clamp(5px,1.7vw,9px);padding:8px 10px;min-height:clamp(62px,15vw,75px);margin-bottom:7px}
 .sheet.ranking-sheet .leader-place{width:24px;height:24px;font-size:16px;margin-right:0}
 .sheet.ranking-sheet .leader-place.place-1,.sheet.ranking-sheet .leader-place.place-2,.sheet.ranking-sheet .leader-place.place-3{font-size:14px}
 .sheet.ranking-sheet .leader-place.place-1:after,.sheet.ranking-sheet .leader-place.place-2:after,.sheet.ranking-sheet .leader-place.place-3:after{top:21px;left:5px;width:14px;height:12px}
 .sheet.ranking-sheet .leader-avatar{width:clamp(30px,8.1vw,40px);height:clamp(30px,8.1vw,40px);font-size:clamp(12px,3.4vw,16px)}
 .sheet.ranking-sheet .leader-name{font-size:clamp(12px,3.35vw,16px)}
 .sheet.ranking-sheet .leader-amount{gap:4px;font-size:clamp(12px,3.35vw,16px)}
 .sheet.ranking-sheet .leader-amount .tiny-gold{width:12px;height:12px}
}
@media(prefers-reduced-motion:reduce){.sheet.ranking-sheet{animation:none}}

/* BG-Greedy-P1.04.58: in-game, full-screen results panel (no game navigation). */
.history-overlay{position:fixed;z-index:100;left:50%;top:0;width:100%;max-width:662px;height:100vh;height:100dvh;background:#fff17a;overflow:hidden;-webkit-transform:translate3d(-50%,100%,0);transform:translate3d(-50%,100%,0);-webkit-transition:-webkit-transform .28s cubic-bezier(.22,.72,.23,1);transition:transform .28s cubic-bezier(.22,.72,.23,1);-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:transform;box-shadow:0 0 18px #0a2c4412}
.history-overlay.is-open{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0);-webkit-transition-duration:.30s;transition-duration:.30s}
.history-overlay .history-frame{display:block;border:0;width:100%;height:100%;background:#fff17a}
@media(prefers-reduced-motion:reduce){.history-overlay{transition:none}}

/* P1.04.82: the four reference button artworks are a single transparent sprite,
   made from the user's supplied comparison image; native click targets are retained. */
.headbar .headnav{gap:2.05cqw}
.headbar .tool{
  display:block;flex:none;appearance:none;-webkit-appearance:none;
  width:8.24cqw;height:8.25cqw;padding:0;border:0;border-radius:0;
  background-color:transparent;
  background-image:url('./assets/header-reference-p1.04.82.png?v=BG200-R1492');
  background-repeat:no-repeat;
  background-size:400% 100%;
  background-position:0% 0%;
  box-shadow:none;line-height:normal;
}
.headbar #soundBtn{
 background-image:url('./assets/feedback/sound-icons.png');background-size:339.473684% 226.315789%;
 background-position:97.252747% 5.208333%;
}
.headbar #soundBtn[aria-pressed="true"]{background-position:50% 94.791667%}
.headbar .tool:nth-child(3){background-position:66.666667% 0%}
.headbar .tool:nth-child(4){background-position:100% 0%}

/* BG-Greedy-P1.04.83: independent startup screen; no changes to the running game. */
.greedy-splash{position:fixed;inset:0;left:50%;right:auto;transform:translateX(-50%);width:100%;max-width:662px;height:100vh;height:100dvh;z-index:220;isolation:isolate;overflow:hidden;background-color:#f2f5fa;background-image:radial-gradient(circle,#ffd933 clamp(1.45px,.37vw,2.2px),transparent clamp(1.85px,.45vw,2.65px)),linear-gradient(#ffea69,#ffea69);background-size:clamp(12px,3.08vw,18px) clamp(12px,3.08vw,18px),100% 100%;background-position:-3px 7px,0 0;touch-action:none;user-select:none;-webkit-user-select:none}
.greedy-splash::before{content:"";position:absolute;top:0;left:0;right:0;height:var(--greedy-safe-top);background:#f2f5fa;pointer-events:none;z-index:5}
.greedy-load-error{
 position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);
 width:min(88%,280px);padding:20px;border-radius:12px;background:#fff;
 color:#182942;text-align:center;font:14px/1.5 system-ui,sans-serif;
}
.greedy-load-error a{
 display:inline-block;padding:8px 16px;border-radius:8px;background:#2779ee;
 color:#fff;text-decoration:none;
}
.greedy-splash .splash-stage{position:absolute;top:47.1%;left:50%;width:100%;height:clamp(230px,44vh,465px);transform:translate(-50%,-50%);pointer-events:none}
.greedy-splash .splash-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:clamp(165px,41%,245px);height:auto;object-fit:contain;z-index:2;pointer-events:none}
.greedy-splash .splash-food{position:absolute;display:block;width:clamp(32px,8%,57px);height:auto;object-fit:contain;filter:drop-shadow(1px 2px 1px #0d2c3a35);animation:splash-float 3.2s ease-in-out infinite alternate}
.greedy-splash .sf-carrot{left:-1%;top:5%;transform:rotate(-27deg)}
.greedy-splash .sf-lettuce{left:19%;top:9%;animation-delay:-.9s;width:clamp(32px,7%,50px)}
.greedy-splash .sf-skewer{right:14%;top:12%;animation-delay:-1.5s;transform:rotate(25deg)}
.greedy-splash .sf-steak{right:-2%;top:5%;animation-delay:-1.1s}
.greedy-splash .splash-confetti{position:absolute;display:block;width:13px;height:17px;border:2px solid #995c2e;background:#ee5880;clip-path:polygon(0 0,100% 43%,23% 100%);opacity:.95}
.greedy-splash .sc-1{left:-2%;top:41%;transform:rotate(37deg);background:#ff6d3d}
.greedy-splash .sc-2{left:20%;top:54%;transform:rotate(62deg);background:#e8b84e}
.greedy-splash .sc-3{right:24%;top:40%;transform:rotate(13deg);background:#ff647e}
.greedy-splash .sc-4{right:1%;top:48%;transform:rotate(4deg);background:#ff5b84}
.greedy-splash .sc-5{right:13%;top:52%;transform:rotate(70deg);background:#ffc046}
.greedy-splash .sc-6{left:31%;top:53%;transform:rotate(-40deg);background:#348cf2}
.greedy-splash .splash-ribbon{position:absolute;display:block;width:48px;height:70px;border-left:6px solid #2764e8;border-radius:45% 55% 50% 36%;transform:rotate(22deg) skewX(7deg);filter:drop-shadow(1px 1px 0 #122d4e)}
.greedy-splash .sr-left{left:22%;top:30%;transform:rotate(-25deg) skewX(10deg)}
.greedy-splash .sr-right{right:0%;top:54%;transform:rotate(65deg) skewX(7deg);border-color:#337cea}
.greedy-splash .sr-orange{left:1%;top:56%;transform:rotate(62deg);border-color:#ec8b17;width:52px}
.greedy-splash .sr-yellow{right:2%;top:30%;transform:rotate(22deg);border-color:#e1b909;width:19px;height:30px;border-width:4px}
.greedy-splash .splash-gem{position:absolute;font-size:23px;line-height:1;color:#fffdf1;-webkit-text-stroke:2px #b48b13;text-shadow:1px 2px 0 #674e17;transform:rotate(-25deg)}
.greedy-splash .sg-left{left:8%;top:24%}
.greedy-splash .sg-right{right:4%;bottom:5%;transform:rotate(27deg)}
.greedy-splash .splash-progress-area{position:absolute;left:50%;top:65.2%;transform:translateX(-50%);width:65.5%;max-width:385px;display:flex;flex-direction:column;align-items:center;gap:23px;z-index:4}
.greedy-splash .splash-progress-track{width:100%;height:clamp(19px,4.6vw,27px);background:#002c47;border:2px solid #004a7b;border-radius:999px;overflow:hidden}
.greedy-splash .splash-progress-fill{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;background:#00aadd;border-radius:999px;will-change:transform;box-shadow:inset 0 1px 2px #8fe8fa}
.greedy-splash .splash-loading-label{color:#111;font-size:clamp(18px,3.5vw,22px);line-height:1.3;font-weight:400}
@keyframes splash-float{from{translate:0 0}to{translate:0 -8px}}
@media(max-height:670px){.greedy-splash .splash-stage{top:44%;height:50vh}.greedy-splash .splash-progress-area{top:73%;gap:10px}.greedy-splash .splash-progress-track{height:22px}}
@media(prefers-reduced-motion:reduce){.greedy-splash .splash-food{animation:none}}

/* Keep the interactive bottom-sheet controls out of the PWA gesture area. */
.sheet.quickbet-sheet .quickbet-wrap{padding-bottom:calc(20px + var(--greedy-safe-bottom))}
.sheet.rules-sheet .rules-wrap{padding-bottom:calc(20px + var(--greedy-safe-bottom))}
.sheet.ranking-sheet .leader-list{padding-bottom:calc(10px + var(--greedy-safe-bottom))}
/* Standalone PWA: keep the results iframe clear of system status/gesture areas. */
@supports(height:100dvh){.history-overlay{top:var(--greedy-safe-top);height:var(--greedy-usable-height)}}
/* The records page already pads its scrollable list for the gesture area. */
html.greedy-ios-pwa .history-overlay{bottom:0;height:auto}
html.greedy-ios-pwa:is([data-greedy-floor="sheet"],[data-greedy-floor="ranking"]){background-color:#7fdbff}
html.greedy-ios-pwa[data-greedy-floor="notice"]{background-color:#3d080d}
html.greedy-ios-pwa[data-greedy-floor="bet-closed"]{background-color:#75101a}
html.greedy-ios-pwa[data-greedy-floor="history"]{background-color:#fff17a}
/* Use the same iOS PWA width as the other bottom sheets. */
html.greedy-ios-pwa .sheet.records-sheet,
html.greedy-ios-pwa .sheet.packages-sheet{width:min(100%,662px)}
/* Add the space below the normal frame to the scrollable ranking sheet. */
html.greedy-ios-pwa .sheet.ranking-sheet{
 --ranking-base-height:var(--greedy-frame-height,100dvh);
 --ranking-extra:max(0px,calc(100% - var(--ranking-base-height)));
 height:calc(clamp(385px,calc(var(--ranking-base-height) * .48),720px) + var(--ranking-extra));
 max-height:calc(var(--ranking-base-height) * .94 + var(--ranking-extra));
}
html.greedy-ios-pwa .sheet.ranking-sheet .leader-list{padding-bottom:0}
html.greedy-ios-pwa .sheet.ranking-sheet .leader-row:last-child{margin-bottom:var(--greedy-safe-bottom)}

/* P1.04.87: keep viewport clipping without fixing the BODY itself.
   On iOS WebKit, a fixed overflow-hidden root can suppress bottom-sheet animation paint.
   These standalone sheets live directly below BODY, not within scaled game-shell. */
.shade{isolation:isolate}
.sheet.quickbet-sheet,.sheet.rules-sheet,.sheet.ranking-sheet,.sheet.records-sheet,.sheet.packages-sheet{will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}

/* Restore only the explicitly requested panel slides when iOS reports reduced
   motion; leave the rest of the existing reduced-motion game behavior alone. */
@media(prefers-reduced-motion:reduce){
 html.greedy-ios-webkit .sheet.result-sheet{transition-duration:.25s!important}
 html.greedy-ios-webkit .sheet.quickbet-sheet,
 html.greedy-ios-webkit .sheet.rules-sheet,
 html.greedy-ios-webkit .sheet.ranking-sheet,
 html.greedy-ios-webkit .sheet.records-sheet,
 html.greedy-ios-webkit .sheet.packages-sheet{
  animation-name:quickbet-rise!important;
  animation-duration:.50s!important;
  animation-timing-function:cubic-bezier(.2,.68,.2,1)!important;
  animation-fill-mode:both!important;
 }
 html.greedy-ios-webkit .sheet.quickbet-sheet.is-closing,
 html.greedy-ios-webkit .sheet.rules-sheet.is-closing,
 html.greedy-ios-webkit .sheet.ranking-sheet.is-closing,
 html.greedy-ios-webkit .sheet.records-sheet.is-closing,
 html.greedy-ios-webkit .sheet.packages-sheet.is-closing{
  animation-name:quickbet-fall!important;
  animation-duration:.30s!important;
  animation-timing-function:cubic-bezier(.4,0,.85,.45)!important;
 }
 html.greedy-ios-webkit .history-overlay{
  -webkit-transition:-webkit-transform .28s cubic-bezier(.22,.72,.23,1)!important;
  transition:transform .28s cubic-bezier(.22,.72,.23,1)!important;
 }
 html.greedy-ios-webkit .history-overlay.is-open{-webkit-transition-duration:.30s!important;transition-duration:.30s!important}
}
/* BG-MOTION-R1.01: keep the starting state after the motion preference rules,
   so the entry animation begins only when its start class is removed. */
html.greedy-ios-webkit .sheet.greedy-ios-start{
 -webkit-animation:none!important;animation:none!important;
 -webkit-transform:translate3d(0,100%,0)!important;transform:translate3d(0,100%,0)!important;
}

/* P1.04.93: iOS standalone WebKit scroll-edge blur guard.
   A tiny opaque surface at the physical viewport top lets iOS sample the
   white status-area color without blurring the yellow in-game header.
   No layout space, scrolling, hit targets, or game timing is changed. */
@media (display-mode: standalone){
  html.greedy-ios-webkit body::before{
    content:"";
    position:fixed;
    top:0;
    left:0;
    right:0;
    height:8px;
    background-color:#f2f5fa;
    z-index:225;
    pointer-events:none;
  }
}

/* P1.05.09: local demo roster avatar display only; existing popup dimensions unchanged. */
.winner-face .demo-avatar-fallback,.sheet.ranking-sheet .leader-avatar .demo-avatar-fallback{position:absolute;inset:0;display:grid;place-items:center;font-size:18px;font-weight:600;color:#fff;background:linear-gradient(140deg,#407fc4,#35516f);border-radius:50%}
.winner-face .demo-avatar-image,.sheet.ranking-sheet .leader-avatar .demo-avatar-image{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.sheet.ranking-sheet .leader-avatar{position:relative}
.sheet.ranking-sheet .leader-title{gap:5px}
@media(max-width:520px){.sheet.ranking-sheet .leader-title{gap:3px}}

/* The standalone game and the homepage cover use a single progress run. */
.greedy-splash .splash-progress-fill {
  animation: greedy-hd-opening 1s linear forwards;
}
@keyframes greedy-hd-opening {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
@media (prefers-reduced-motion: reduce) {
  .greedy-splash .splash-progress-fill { animation: none; transform: scaleX(1); }
}

.shade.records-shade{--record-unit:var(--greedy-feedback-unit);background:rgba(0,0,0,.75)}
.sheet.records-sheet {
  position:relative;display:flex;flex-direction:column;
  width:calc(var(--record-unit) * 100);max-width:100%;
  height:75.5vh;height:75.5dvh;max-height:none;overflow:visible;
  padding:calc(var(--record-unit) * 5.2) calc(var(--record-unit) * 4.1) var(--greedy-safe-bottom);
  border-radius:16px 16px 0 0;background:#7fdbff;color:#002136;box-shadow:none;
  animation:quickbet-rise .50s cubic-bezier(.2,.68,.2,1) both;
}
.sheet.records-sheet.is-closing{animation:quickbet-fall .30s cubic-bezier(.4,0,.85,.45) both;pointer-events:none}
.sheet.records-sheet .sheet-header {
  justify-content:center;flex:none;
  height:max(40px,calc(var(--record-unit) * 11.8));padding:0;
  border:1.5px solid #002136;border-radius:calc(var(--record-unit) * 3);
  background:#91e0ff;font-size:clamp(17px,calc(var(--record-unit) * 4),22px);
}
.sheet.records-sheet .sheet-header strong{font-weight:500}
.sheet.records-sheet #closeSheet {
  position:absolute;right:calc(var(--record-unit) * 4.1);bottom:calc(100% + var(--record-unit) * 3);
  display:grid;place-items:center;width:clamp(25px,calc(var(--record-unit) * 5.2),32px);height:auto;aspect-ratio:1;
  padding:0;border:1.5px solid #002136;border-radius:50%;
  background:#01a9ec;color:#002136;font-size:23px;line-height:1;
}
.sheet.records-sheet #closeSheet::after{content:"";position:absolute;inset:-7px}
.sheet.records-sheet .sheet-body{display:flex;flex-direction:column;flex:1;min-height:0;line-height:1.4}
.game-record-date {
  display:flex;align-items:center;justify-content:center;flex:none;
  gap:calc(var(--record-unit) * 1.25);margin-top:calc(var(--record-unit) * 2);
  font-size:clamp(14px,calc(var(--record-unit) * 3.6),20px);font-variant-numeric:tabular-nums;
}
.game-record-date time{text-align:center;min-width:calc(var(--record-unit) * 22)}
.game-record-date button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;background:none}
.game-record-date button::before {
  content:"";width:clamp(15px,calc(var(--record-unit) * 3.7),20px);aspect-ratio:1;
  background:url('./assets/records/date-prev.png') center / contain no-repeat;
}
.game-record-date #gameRecordNext::before{transform:scaleX(-1)}
.game-record-date #gameRecordNext:disabled{cursor:default}
.game-record-date #gameRecordNext:disabled::before {
  transform:none;opacity:.65;background-image:url('./assets/records/date-next-disabled.png');
}
.game-record-content{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin-top:calc(var(--record-unit) * 2)}
.game-record-empty {
  display:grid;justify-items:center;color:#000063;
  padding-top:min(13vh,calc(var(--record-unit) * 16.5));
  padding-top:min(13dvh,calc(var(--record-unit) * 16.5));
  font-size:clamp(15px,calc(var(--record-unit) * 3.7),21px);
}
.game-record-empty-icon{position:relative;display:block;width:calc(var(--record-unit) * 32);aspect-ratio:1}
.game-record-empty-icon::before{content:"";position:absolute;inset:12%;border-radius:6%;background:#a5e9ff}
.game-record-empty-icon::after{content:"";position:absolute;inset:0;background:url('./assets/records/empty.png') center / contain no-repeat}
.sheet.records-sheet .game-record-empty p{margin:calc(var(--record-unit) * 4.5) 0 0}
.sheet.records-sheet .game-record-list{list-style:none;margin:0;padding:0 0 10px}
.game-record-content{margin-inline:calc(var(--record-unit) * -2)}
.game-record-list li + li{margin-top:calc(var(--record-unit) * 1.07)}
.game-record-card {
  display:flex;align-items:center;gap:calc(var(--record-unit) * 3.2);
  width:100%;padding:calc(var(--record-unit) * 3.8) calc(var(--record-unit) * 3.9);
  border:0;border-radius:calc(var(--record-unit) * 2);background:#fff;color:#25252f;
  text-align:start;line-height:1.35;
}
.game-record-summary{display:grid;flex:1;min-width:0;gap:3px;overflow-wrap:anywhere}
.game-record-summary strong{font-size:clamp(13px,calc(var(--record-unit) * 4),20px);font-weight:500}
.game-record-summary time{font-size:clamp(11px,calc(var(--record-unit) * 3.35),17px);font-variant-numeric:tabular-nums}
.game-record-status,.game-record-detail-amount{display:flex;align-items:center;justify-content:center;gap:4px}
.game-record-status{max-width:40%;font-size:clamp(12px,calc(var(--record-unit) * 3.7),18px);overflow-wrap:anywhere}
.game-record-status .tiny-gold,.game-record-detail-amount .tiny-gold {
  width:calc(var(--record-unit) * 3.75);height:calc(var(--record-unit) * 3.75);border-width:1px;
}
.game-record-arrow {
  display:block;flex:none;width:9px;height:9px;margin-right:3px;
  border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(-45deg);
}
.game-record-detail-layer {
  position:absolute;inset:0;z-index:2;display:grid;place-items:center;
  padding:14px;background:rgba(0,0,0,.60);
}
.game-record-detail {
  position:relative;display:flex;flex-direction:column;
  width:calc(var(--record-unit) * 80);max-width:100%;max-height:calc(100vh - 28px);max-height:calc(100dvh - 28px);
  padding:calc(var(--record-unit) * 6.67) calc(var(--record-unit) * 4) calc(var(--record-unit) * 4);
  border:1px solid #28282e;border-radius:calc(var(--record-unit) * 5.3);
  background:#fff;color:#25252f;text-align:center;
}
.game-record-detail h2{margin:0;font-size:clamp(16px,calc(var(--record-unit) * 4.27),23px);font-weight:500;line-height:1.25}
.game-record-detail-close {
  position:absolute;top:calc(var(--record-unit) * 3);right:calc(var(--record-unit) * 3);
  width:36px;height:36px;padding:0;border:0;background:none;color:#696970;font-size:28px;line-height:1;
}
.game-record-detail-tabs {
  display:grid;grid-template-columns:1fr 1fr;flex:none;
  margin:calc(var(--record-unit) * 4) 0;padding:calc(var(--record-unit) * 1.33);
  border-radius:calc(var(--record-unit) * 6);background:#f4f4f3;
}
.game-record-detail-tabs button {
  min-height:32px;height:calc(var(--record-unit) * 8);padding:0;border:0;border-radius:inherit;
  background:none;color:#76767b;font-size:clamp(14px,calc(var(--record-unit) * 3.6),19px);font-weight:600;
}
.game-record-detail-tabs button[aria-pressed="true"]{background:#fff;color:#25252f}
.game-record-detail-content{min-height:0;overflow-y:auto;overscroll-behavior:contain}
.game-record-detail-columns,.game-record-detail-list li{display:grid;grid-template-columns:1fr 1fr;align-items:center}
.game-record-detail-columns{margin-bottom:calc(var(--record-unit) * 2.67);font-size:clamp(12px,calc(var(--record-unit) * 2.95),16px)}
.game-record-detail-list{min-height:calc(var(--record-unit) * 36);margin:0;padding:0;list-style:none}
.game-record-detail-list li{min-height:calc(var(--record-unit) * 12);font-size:clamp(12px,calc(var(--record-unit) * 3.4),17px)}
.game-record-detail-list img{display:block;width:calc(var(--record-unit) * 9.87);height:calc(var(--record-unit) * 9.87);margin:auto;object-fit:contain}
.game-record-detail-list .game-record-detail-empty{display:block;color:#777}
@media(prefers-reduced-motion:reduce){.sheet.records-sheet,.sheet.packages-sheet{animation:none}}

.sheet.packages-sheet {
  position:relative;width:calc(var(--greedy-feedback-unit) * 100);max-width:100%;
  height:min(calc(var(--greedy-usable-height) * .88),
    max(300px,min(calc(var(--greedy-usable-height) * .73),calc(var(--greedy-feedback-unit) * 138))));
  max-height:92%;padding:0;overflow:visible;
  border-radius:18px 18px 0 0;background:#7fdbff;color:#111c63;box-shadow:none;
  animation:quickbet-rise .50s cubic-bezier(.2,.68,.2,1) both;
}
.sheet.packages-sheet.package-detail-sheet{height:calc(var(--greedy-usable-height) * .92)}
.sheet.packages-sheet.is-closing{animation:quickbet-fall .30s cubic-bezier(.4,0,.85,.45) both;pointer-events:none}
.sheet.packages-sheet .sheet-body{height:100%;font-size:clamp(13px,calc(var(--greedy-feedback-unit) * 3.65),19px);line-height:1.35}
.package-panel {
  display:flex;flex-direction:column;gap:clamp(8px,calc(var(--greedy-feedback-unit) * 2.4),14px);height:100%;
  padding:0 clamp(10px,calc(var(--greedy-feedback-unit) * 3.2),19px) max(12px,var(--greedy-safe-bottom));
}
.package-panel button,.package-prompt button{color:inherit}
.package-header{position:relative;flex:none;margin-top:-6px}
.package-heading {
  display:flex;align-items:center;justify-content:center;min-height:clamp(45px,calc(var(--greedy-feedback-unit) * 12),66px);
  width:min(79%,calc(100% - 58px));margin:auto;padding:0 3px;border:2px solid #101a65;border-radius:0 0 12px 12px;
  border-top-width:clamp(3px,calc(var(--greedy-feedback-unit) * .8),5px);
  background:#a8e4ff;font-size:clamp(16px,calc(var(--greedy-feedback-unit) * 4.4),23px);
}
.package-close,.package-prompt-close {
  position:absolute;right:0;top:54%;transform:translateY(-50%);
  display:grid;place-items:center;width:clamp(26px,calc(var(--greedy-feedback-unit) * 7),34px);aspect-ratio:1;padding:0;
  border:1.5px solid #005b84;border-radius:50%;background:#27bce8;font-size:23px;line-height:1;
}
.package-content,.package-editor-grid{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
.package-content{padding:2px 2px 5px}
.package-list{display:grid;gap:clamp(8px,2.2vw,14px)}
.package-card{padding:clamp(10px,calc(var(--greedy-feedback-unit) * 3),18px);border-radius:clamp(12px,3vw,19px);background:#a6eafa}
.package-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.package-card-top .package-primary{min-width:19%}
.package-card h3{margin:0 0 4px;font-size:1.06em;font-weight:500}
.package-cost{display:flex;align-items:center;gap:4px;min-width:0;font-variant-numeric:tabular-nums}
.package-panel .tiny-gold{width:1em;height:1em;border-width:1px}
.package-cost-help{position:relative;flex:none}
.package-cost-help summary {
  display:grid;place-items:center;width:17px;height:17px;list-style:none;
  border:1px solid currentColor;border-radius:50%;font-size:12px;line-height:1;cursor:pointer;
}
.package-cost-help summary::-webkit-details-marker{display:none}
.package-cost-help span {
  position:absolute;top:calc(100% + 4px);left:0;z-index:1;width:max-content;
  padding:5px 8px;border-radius:5px;background:#173449;color:#fff;font-size:12px;
}
.package-primary,.package-add,.package-editor-actions button,.package-prompt-actions button {
  min-height:34px;padding:5px 14px;border:1.5px solid #142944;border-radius:99px;
  background:#edf8fc;box-shadow:0 2px 0 #23415e;text-align:center;
}
button.package-primary,.package-prompt-actions button.package-primary{background:#ff7096}
.package-add {
  display:flex;align-items:center;justify-content:center;gap:.4em;flex:none;
  width:78%;min-height:clamp(36px,calc(var(--greedy-feedback-unit) * 12),56px);
  margin:0 auto clamp(5px,2vw,14px);border:2px solid #101a65;background:#fff;
  box-shadow:0 3px 0 #539fe2,0 4px 0 #101a65;
}
.package-add span{font-size:1.3em;line-height:1;font-weight:700}
.package-cancel{display:block;width:70%;margin:12px auto 3px}
.package-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
.package-tile {
  position:relative;display:grid;grid-template-rows:1fr auto;align-items:center;justify-items:center;
  width:100%;aspect-ratio:.88;min-width:0;padding:0;border:1.5px solid #172b41;
  border-radius:7px;background:#fffaf0;box-shadow:0 2px 0 #29465d;
}
.package-tile img{display:block;width:83%;height:75%;min-height:0;object-fit:contain}
.package-tiles .package-tile img{width:94%;height:88%}
.package-tile.red{--package-band:#ff9ba0}
.package-tile.blue{--package-band:#b2e7f7}
.package-mult {
  width:100%;border-top:1px solid #172b41;border-radius:0 0 5px 5px;
  background:var(--package-band);text-align:center;font-size:clamp(11px,calc(var(--greedy-feedback-unit) * 3.25),17px);
}
.package-count {
  position:absolute;top:-4px;left:-3px;z-index:1;min-width:1.4em;max-width:100%;
  padding:0 .19em;overflow:hidden;text-overflow:ellipsis;border:1px solid #1a2e42;border-radius:4px;
  background:#e4f7ff;text-align:center;font-size:.84em;font-variant-numeric:tabular-nums;
}
.package-count.has-count{background:#ffde3f}
.package-card-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}
.package-preview {
  display:flex;min-width:0;padding:5px 4px 6px;overflow-x:auto;overscroll-behavior-inline:contain;
  scrollbar-width:thin;scrollbar-color:#c9f4fd transparent;
}
.package-preview > *{flex:0 0 clamp(40px,calc(var(--greedy-feedback-unit) * 11.7),70px)}
.package-slot{aspect-ratio:.88;border:1px dashed #6494bd;border-radius:7px;background:#dcf7fd}
.package-edit {
  display:grid;place-items:center;width:clamp(28px,calc(var(--greedy-feedback-unit) * 5.5),37px);
  height:clamp(42px,calc(var(--greedy-feedback-unit) * 14),68px);padding:0;
  border:1.5px solid #172b59;border-radius:8px;background:#bbedff;box-shadow:0 2px 0 #23415e;
}
.package-edit svg{width:65%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.package-empty {
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:100%;padding:12px 6px;text-align:center;
}
.package-empty img{display:block;width:clamp(57px,calc(var(--greedy-feedback-unit) * 23),118px);aspect-ratio:1;object-fit:contain}
.package-editor-totals{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.package-editor {
  display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;padding:9px;
  border-radius:clamp(12px,3vw,19px);background:#a6eafa;text-align:center;
}
.package-editor p{margin:2px 0}
.package-editor-grid {
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;
  gap:clamp(9px,calc(var(--greedy-feedback-unit) * 2.9),17px);padding:6px 5px 8px;
}
.package-editor-grid button:nth-child(9){grid-column:2}
.package-editor-grid button[aria-pressed="true"]{outline:2px solid #c38e00;outline-offset:1px;background:#fff2bb}
.package-stepper {
  display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;
  width:54%;min-width:min(130px,100%);margin:0 auto;border-radius:99px;background:#b9e7f7;
}
.package-stepper button {
  display:grid;place-items:center;width:34px;height:34px;padding:0;border:1.5px solid #153656;border-radius:50%;
  background:#ffde3f;font-size:22px;line-height:1;
}
.package-stepper output{overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.package-panel button:disabled{opacity:.45;cursor:default}
.package-editor-actions{display:grid;grid-template-columns:1fr 1.7fr;gap:10px;flex:none}
.package-editor-actions button{min-height:clamp(34px,calc(var(--greedy-feedback-unit) * 12),56px)}
.package-prompt-layer {
  position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:12px;
  border-radius:inherit;background:#00172299;
}
.package-prompt {
  position:relative;width:min(100%,360px);padding:33px 13px 16px;border:1.5px solid #19344b;
  border-radius:13px;background:#f4fcff;text-align:center;
}
.package-prompt p{margin:2px 0 15px}
.package-prompt-close{right:7px;top:7px;transform:none}
.package-prompt-actions{display:flex;justify-content:center;gap:8px}
.package-prompt-actions button{padding-inline:10px}
