/* Unity LobbyMOBILE uses a 3840-high canvas. Values here are converted to 1080 units. */

@font-face {
    font-family: Roboto;
    src: url('assets/roboto-medium.ttf') format('truetype');
    font-weight: 500;
    font-display: swap
}

.pin-display {
    left: -1.5625px;
    width: 703.125px;
    height: 151.976px;
    top: 65.820px;
    border-radius: 0;
    font-family: Roboto,Arial,sans-serif
}

.login-screen {
    background-image: url('assets/bg.png')
}

.login-screen::before {
    background: rgba(0,0,0,.50)
}

.pin-display {
    color: transparent;
    caret-color: transparent
}

/* Keep the native password field usable, but render only our PIN artwork. */
.pin-display.pin-art-ready {
    opacity: 0;
    z-index: 3
}

.pin-readout::before {
    content: '';
    position: absolute;
    inset: 0;
    left: -3px;
    background: url('assets/pin-numerics-panel.png') center/100% 100% no-repeat;
    z-index: -1
}

.pin-readout {
    isolation: isolate;
    z-index: 2;
    position: absolute;
    left: 1.4375px;
    top: 65.820px;
    width: 703.125px;
    height: 151.976px;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    color: transparent;
    font: 700 78px/1 Roboto,Arial,sans-serif;
    letter-spacing: 6px;
    background: linear-gradient(to bottom,#fbecf8 30%,#f9a5a3 68%);
    background: linear-gradient(to bottom in srgb,#fbecf8 30%,#f9a5a3 68%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-stroke: 0
}

.pin-readout canvas {
    filter: drop-shadow(1.4px 0 #000) drop-shadow(-1.4px 0 #000)
            drop-shadow(0 1.4px #000) drop-shadow(0 -1.4px #000);
}

.login-screen .login-message {
    top: 226.3px;
    left: -46.5px;
    font: 400 61.2px/1.2 Arial,sans-serif;
    color: #eece21;
    text-shadow: none;
}

/* Extend the sprite's gold edge to match the original keypad outline. */

.key-digit {
    filter: drop-shadow(1px 0 #ffe34c) drop-shadow(-1px 0 #ffe34c)
            drop-shadow(0 1px #ffe34c) drop-shadow(0 -1px #ffe34c)
}

.keypad {
    left: -1.5625px;
    top: 314.4375px;
    grid-template-columns: repeat(3,196.875px);
    grid-auto-rows: 126.5625px;
    gap: 22.5px 56.5px
}

.key {
    width: 196.875px;
    height: 126.5625px;
    background-size: 100% auto;
    display: flex;
    align-items: center;
    justify-content: center
}

.key:hover {
    filter: none
}

.key-digit {
    height: 59px;
    width: auto;
    max-width: 65px;
    pointer-events: none;
    transform: translate(-2.13px,-1.87px)
}

.key-1 .key-digit { transform: translate(-5.17px,-2.3px); }
.key-4 .key-digit { transform: translate(-1.7px,-2.3px); }

.key:active {
    transform: none;
    filter: brightness(.78)
}

.remember {
    left: -1.5px;
    top: 910.5px;
    gap: 5px
}

.remember>img {
    width: 586px;
    height: 100.3px
}

.checkbox-art {
    width: 70px;
    height: 70px
}

.login-screen .demo-mark {
    display: none
}

.checkbox-art {
    transform: translateY(1.55px)
}

.remember input:checked+.checkbox-art::after {
    inset: auto;
    left: 7.82px;
    top: 10.1px;
    width: 58.35px;
    height: 52.62px;
    background: url('assets/check-mark-lobby.png') center/100% 100% no-repeat
}

.jackpots {
    width: min(calc(100% - 28 * var(--u)),calc(1174 * var(--u)));
    gap: calc(12 * var(--u));
    top: calc(105 * var(--u));
    height: calc(76 * var(--u))
}

.jackpot {
    top: calc(.87 * var(--u));
    height: calc(76 * var(--u));
    padding-right: calc(24 * var(--u));
    padding-left: calc(76 * var(--u))
}

.jackpot-value {
    font-size: calc(33 * var(--u))!important;
    letter-spacing: calc(3 * var(--u))!important;
    color: #ffe0da
}

.jackpot-1 .jackpot-value {
    color: #f1c1ff
}

.jackpot-2 .jackpot-value {
    color: #c9eaff
}

.jackpot-3 .jackpot-value {
    color: #ccffc9
}

.jackpot-icon {
    position: absolute;
    left: calc(-8 * var(--u));
    top: calc(-21 * var(--u));
    width: calc(105 * var(--u));
    height: calc(105 * var(--u));
    background-size: 3000% 100%;
    background-repeat: no-repeat;
    background-position: 0 0
}

.icon-0 {
    background-image: url('assets/effects/7-animation.png')
}

.icon-1 {
    background-image: url('assets/effects/bell-animation.png')
}

.icon-2 {
    background-image: url('assets/effects/bar-animation.png')
}

.icon-3 {
    background-image: url('assets/effects/cherry-animation.png')
}

/* Frames are positioned by presentation.js so adjacent strip frames never
bleed into a glyph at a fractional CSS pixel. */

.jackpot-icon.is-playing {
    animation: none
}

.game-carousel {
    top: calc(285 * var(--u));
    height: calc(590 * var(--u));
    scroll-snap-type: none;
    touch-action: pan-y
}

.game-tile {
    height: calc(533 * var(--u))
}

.game-tile:hover {
    filter: none
}

.bottom-center {
    width: calc(530 * var(--u));
    height: calc(157 * var(--u));
    top: calc(20 * var(--u))
}

.bottom-left,.bottom-right {
    width: 52%
}

.wallet-label {
    width: calc(174 * var(--u));
    top: calc(-4 * var(--u))
}

.amount-panel {
    font-family: Roboto,Arial,sans-serif;
    font-weight: 500;
    font-size: calc(52 * var(--u))
}

@media(prefers-reduced-motion:reduce) {
    .jackpot-icon {
        animation: none
    }

}

/* Serialized title child rectangles, including the original transparent margins. */

.multi-title {
    width: calc(604.6875 * var(--u));
    height: calc(76.6828 * var(--u))
}

.multi-game,.multi-denom {
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    height: calc(51.6319 * var(--u))
}

.multi-game {
    left: calc(50% - 180.5625 * var(--u));
    width: calc(215.0156 * var(--u))
}

.multi-denom {
    left: calc(50% + 106.3125 * var(--u));
    width: calc(367.3997 * var(--u))
}

/* LobbyMOBILE / SweepstakesBottom: RectTransform pivots and Image preserveAspect.
The side textures extend beyond the viewport; percentage widths distorted this curve. */

.bottom-left,.bottom-right {
    top: auto;
    bottom: calc(-4.2497 * var(--u));
    width: calc(685.3445 * var(--u));
    height: calc(190.076 * var(--u));
    background-size: 100% 100%
}

.bottom-left {
    left: calc(-80.65695 * var(--u))
}

.bottom-right {
    right: calc(-80.9382 * var(--u));
    width: calc(685.6 * var(--u));
    height: calc(190.154 * var(--u))
}

.bottom-center {
    top: auto;
    bottom: calc(-4.2497 * var(--u));
    width: calc(100% - 668.8637 * var(--u));
    height: calc(161.1565 * var(--u));
    background: none;
    border-style: solid;
    border-width: 0 calc(241.07144 * var(--u));
    border-image: url('assets/bottom-middle.png') 0 90 fill stretch
}

.bottom-center::before,.bottom-center::after {
    content: '';
    position: absolute;
    top: calc(12 * var(--u));
    bottom: 0;
    width: 3px;
    pointer-events: none;
    background-image: url('assets/bottom-middle.png');
    background-size: 512px calc(161.1565 * var(--u));
    background-repeat: no-repeat
}

.bottom-center::before {
    left: -1.5px;
    background-position: -89px bottom
}

.bottom-center::after {
    right: -1.5px;
    background-position: -420px bottom
}

.logout-form {
    top: auto;
    bottom: calc(82.798 * var(--u));
    left: calc(50% - 1.78 * var(--u));
    transform: translate(-50%,50%)
}

.logout-button {
    width: calc(24.22331vw + 32.398 * var(--u));
    height: auto;
    aspect-ratio: 512/124
}

.logout-button img {
    display: block;
    height: auto;
    aspect-ratio: 512/124
}

/* The active ScrollingNumberText uses these colored sprites, not a browser font. */

.jackpot-value {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    max-width: 100%;
    height: 100%;
    text-shadow: none!important
}

.jackpot .jackpot-digit {
    position: static;
    display: block;
    width: calc(45 * var(--u));
    height: calc(45 * var(--u));
    object-fit: contain;
    min-width: 0;
    flex: 0 0 auto;
    margin: 0 calc(-11.25 * var(--u))
}

.jackpot .jackpot-digit.punctuation {
    width: calc(45 * var(--u));
    margin: 0 calc(-16.75 * var(--u));
    object-fit: contain
}

/* Measured from equal-resolution original captures: punctuation keeps the
   full sprite scale but has a shorter advance than a numeral. */
.jackpot .jackpot-digit[src$="-12.png"] {
    margin-left: calc(-13.75 * var(--u));
}
.jackpot-2 .jackpot-digit[src$="-10.png"],
.jackpot-3 .jackpot-digit[src$="-10.png"] {
    margin-right: calc(-14.25 * var(--u));
}

.policy-screen .multi-title {
    top: calc(116 * var(--u))
}

.policy-panel {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: calc(232 * var(--u));
    width: calc(1440 * var(--u));
    height: calc(748 * var(--u));
    background: url('assets/effects/policy-frame.png') center/100% 100% no-repeat
}

.policy-panel h1 {
    position: absolute;
    top: calc(-38 * var(--u));
    left: 50%;
    transform: translateX(-50%);
    width: calc(552 * var(--u));
    height: calc(76 * var(--u));
    margin: 0;
    background: url('assets/effects/policy-plaque.png') center/100% 100% no-repeat
}

.policy-panel h1 img {
    opacity: 0;
    width: 100%;
    height: 100%;
    object-fit: contain
}

.policy-copy {
    position: absolute;
    left: 5%;
    right: 5%;
    top: calc(64 * var(--u));
    height: calc(544 * var(--u));
    padding: calc(20 * var(--u));
    overflow-y: auto;
    background: #2d0800;
    border: calc(4 * var(--u)) solid #e9c755;
    border-radius: calc(23 * var(--u));
    font: calc(34 * var(--u))/1.16 Arial,sans-serif;
    scrollbar-color: #a94c42 #641c12;
    scrollbar-width: thin
}

.policy-copy strong {
    display: block;
    color: #f3cf52;
    font-size: 1.08em;
    margin-bottom: 1.08em
}

.policy-copy p {
    margin: 0 0 1.17em;
    letter-spacing: calc(.16 * var(--u))
}

.policy-actions {
    position: absolute;
    bottom: calc(23 * var(--u));
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: calc(85 * var(--u))
}

.policy-actions button {
    border: 0;
    background: none;
    padding: 0;
    width: calc(336 * var(--u));
    max-width: 40vw;
    aspect-ratio: 412/119
}

.policy-actions img {
    display: block;
    width: 100%;
    height: 100%
}

.policy-actions button:active {
    filter: brightness(.78)
}

@media(prefers-reduced-motion:reduce) {
    .jackpot-icon.is-playing {
        animation: none
    }

}

/* Curved Unity canvas brings the outer cards toward the camera. */

.game-carousel {
    top: calc(240 * var(--u));
    height: calc(650 * var(--u));
    padding-top: calc(65 * var(--u));
    clip-path: none
}

.game-tile {
    transform: translateX(var(--curve-x,0px)) translateZ(var(--depth,0px)) rotateY(var(--angle,0deg))
}

.jackpot-icon {
    top: calc(-27 * var(--u));
    width: calc(110 * var(--u));
    height: calc(110 * var(--u))
}

.game-tile {
    flex-basis: calc(306 * var(--u))
}

/* Screenshot match: reduce horizontal slot spacing so outer cards sit like the Unity reference. */
.game-carousel {
    gap: calc(24 * var(--u))
}

.wallet-label {
    width: calc(190 * var(--u))
}

/* In the Unity board the BAR sprite is 0.07 units lower than the other
jackpot sprites (its serialized local Y is 0.01 instead of 0.08). */

.jackpot-0 .jackpot-icon {
    left: calc(-9 * var(--u));
    top: calc(-25 * var(--u))
}

.jackpot-1 .jackpot-icon {
    left: 0;
    top: calc(-31 * var(--u))
}

.jackpot-2 .jackpot-icon {
    left: calc(-6 * var(--u));
    top: calc(-17 * var(--u))
}

.jackpot-3 .jackpot-icon {
    left: calc(-9 * var(--u));
    top: calc(-24 * var(--u))
}

/* Screen-space HUD geometry measured against the supplied wide reference. */

body:not(.cabinet-view) .lobby-stage .top-hud {
    /* Match the original enlarged strip and its crop, including the texture phase. */
    height: calc(98.4 * var(--u));
    background-size: calc(2933 * var(--u)) calc(172 * var(--u));
    background-position: calc(-1249 * var(--u)) bottom;
    background-repeat: repeat-x
}

body:not(.cabinet-view) .lobby-stage .top-hud::before {
    content: none;
}

body:not(.cabinet-view) .lobby-stage .top-middle {
    width: calc(606 * var(--u));
    height: calc(84 * var(--u))
}

body:not(.cabinet-view) .lobby-stage .av-logo {
    width: calc(226 * var(--u));
    height: calc(116 * var(--u));
    top: calc(-10.1 * var(--u))
}

/* Outrank the wide lobby texture crop: Terms and its loader use one strip. */
body:not(.cabinet-view).policy-screen .lobby-stage .top-hud {
    height: calc(87.4 * var(--u))!important;
    background-image: url('assets/top-hud.png');
    background-size: calc(2930 * var(--u)) calc(166.7 * var(--u));
    background-position: calc(-1063.5 * var(--u)) calc(100% + 11.3 * var(--u));
    background-repeat: repeat-x;
    box-shadow: 0 calc(5 * var(--u)) calc(8 * var(--u)) rgba(0,0,0,.3)
}

.policy-screen .lobby-stage .top-middle,.policy-screen .lobby-stage .av-logo {
    z-index: 1
}

.policy-screen .demo-mark {
    display: none
}

.lobby-screen:not(.policy-screen) .demo-mark {
    display: none
}

.policy-screen .lobby-stage .top-middle {
    width: calc(608 * var(--u))!important;
    height: calc(84.2 * var(--u))!important
}

.policy-screen .lobby-stage .av-logo {
    left: 50%;
    width: calc(222 * var(--u))!important;
    height: calc(115 * var(--u))!important;
    top: calc(-9.9 * var(--u))!important
}

body:not(.cabinet-view) .wallet-label {
    width: calc(220 * var(--u));
    height: calc(42 * var(--u));
    top: calc(-5 * var(--u))
}

body:not(.cabinet-view) .credit-display {
    left: calc(40 * var(--u))
}

body:not(.cabinet-view) .win-display {
    right: calc(40 * var(--u))
}

.policy-actions {
    bottom: calc(29 * var(--u))
}

.policy-panel {
    z-index: 5;
    top: calc(232 * var(--u));
    width: calc(1433 * var(--u));
    height: calc(744 * var(--u));
    background: none;
    border: 0;
    border-image: none
}

.policy-panel::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    transform: translateX(calc(3 * var(--u)));
    border: calc(40 * var(--u)) solid transparent;
    border-image: url('assets/effects/policy-frame.png') 30 fill stretch
}

.policy-panel::after {
    content: '';
    position: absolute;
    top: calc(30 * var(--u));
    right: calc(110 * var(--u));
    bottom: calc(35 * var(--u));
    left: calc(110 * var(--u));
    z-index: 1;
    pointer-events: none;
    mix-blend-mode: screen;
    background: radial-gradient(ellipse 35% 10% at 50% 87%,rgba(38,5,2,.65),transparent 100%),linear-gradient(to bottom,rgba(13,4,2,.75),rgba(8,3,1,.6) 78%,transparent)
}

.policy-panel h1 {
    top: calc(-40 * var(--u));
    width: calc(548 * var(--u));
    height: calc(79 * var(--u))
}

.policy-panel h1,.policy-copy,.policy-actions,.policy-scrollbar {
    z-index: 2
}

.policy-copy {
    left: 5.27%;
    right: 4.75%;
    top: calc(64 * var(--u));
    height: calc(541 * var(--u));
    padding-top: calc(18.5 * var(--u));
    padding-left: calc(19 * var(--u));
    padding-right: calc(5 * var(--u));
    background: #330403;
    border-color: #f8be31 #daa638 #be9c34 #f6ca2f;
    font: calc(33.3 * var(--u))/1.18 Arial,sans-serif;
    letter-spacing: 0;
    scrollbar-width: none
}

.policy-copy p.policy-first-clause {
    width: 100%;
    white-space: nowrap;
    line-height: 1.15;
    letter-spacing: 0;
}

.policy-copy::-webkit-scrollbar {
    display: none
}

.policy-reference-lines span {
    display: block;
    white-space: nowrap
}

.policy-actions {
    bottom: calc(32 * var(--u))
}

.policy-copy::before {
    content: 'SWEEPSTAKES RULES';
    display: block;
    color: #f3cf52;
    font-size: 1.135em;
    font-weight: bold;
    letter-spacing: calc(2.5 * var(--u));
    margin-bottom: 1em
}

.local-demo-notice {
    border-top: calc(2 * var(--u)) solid #a97b34;
    padding-top: calc(22 * var(--u));
    margin-top: calc(32 * var(--u))
}

.policy-scrollbar {
    position: absolute;
    top: calc(70 * var(--u));
    right: calc(54 * var(--u));
    width: calc(7 * var(--u));
    height: calc(523 * var(--u));
    background: linear-gradient(#7a1b13,#711a11);
    border-radius: calc(5 * var(--u));
    pointer-events: none
}

.policy-scrollbar::before {
    content: '';
    display: block;
    width: 100%;
    height: calc(181 * var(--u));
    border-radius: inherit;
    background: #aa4541;
    transform: translateY(var(--policy-thumb-y,0px))
}

/* ==========================================================
   Unity Community Board Mobile / Jackpot Panel size match

   Original Unity geometry:
   - panel centers: -3, -1, +1, +3
   - panel sprites: 512x138 px (Winner is 512x139 with matching world height)
   - mobile panel scale: 1.0
   Keep the four slots equal and preserve the 12u separation.
   ========================================================== */
.jackpots {
    left: 50%;
    top: calc(103 * var(--u));
    justify-content: center;
    /* Unity centers these four 2-unit panels at -3, -1, +1, +3, so their
       layout bounds touch. The visible gap comes from the sprite margins. */
    gap: 0;
    width: min(calc(100% - 28 * var(--u)),calc(1178 * var(--u)));
}

.jackpot {
    flex: 0 0 calc(25% + 3 * var(--u));
    width: calc(25% + 3 * var(--u));
    margin-left: calc(-1.5 * var(--u));
    margin-right: calc(-1.5 * var(--u));
    height: calc(80 * var(--u));
    box-sizing: border-box;
    justify-content: center;
    padding-right: 0;
    /* Increase the pill box itself: oversizing background-image clips its
       rounded ends and makes the BAR look rectangular. */
    background-size: 100% 100% !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

.jackpot .jackpot-value {
    justify-content: center;
}

/* The sprite sheets have different visible right edges inside their 256px
   frames. Center each amount between that edge and the pill's right edge. */
.jackpot-0,.jackpot-1 { padding-left: calc(85 * var(--u)); }
.jackpot-2 { padding-left: calc(101 * var(--u)); }
.jackpot-3 { padding-left: calc(95 * var(--u)); }

/* Same-resolution comparison against the original 1749x1270 capture. */
.jackpot-0 .jackpot-value { transform: translate(calc(-11 * var(--u)),calc(-3.37 * var(--u))); }
.jackpot-1 .jackpot-value { transform: translate(calc(-2.1 * var(--u)),calc(-3.37 * var(--u))); }
.jackpot-2 .jackpot-value { transform: translate(calc(-2.9 * var(--u)),calc(-3.37 * var(--u))); }
.jackpot-3 .jackpot-value { transform: translate(calc(-3.26 * var(--u)),calc(-3.37 * var(--u))); }

/* ==========================================================
   BAR jackpot icon — match the Unity Community Board Mobile

   Unity source transform:
   Lucky Winner/Bar
   position: X -0.625, Y 0.01
   scale:    0.28038, 0.28038, 0.28038

   The generic .jackpot-icon rule fixes every icon to 110u.
   Resize the BAR sprite itself here, independently of the pill.
   110u is the screenshot-calibrated web size, not a serialized Unity value.
   ========================================================== */
.jackpot-2 .jackpot-icon,
.jackpot-2 .icon-2 {
    width: calc(105 * var(--u)) !important;
    height: calc(105 * var(--u)) !important;
    left: calc(4.35 * var(--u)) !important;
    top: calc(-14 * var(--u)) !important;
    background-size: 3000% 100% !important;
}

.jackpot-0 .jackpot-icon {
    width: calc(105 * var(--u));
    height: calc(106 * var(--u));
    left: calc(-7.26 * var(--u));
    top: calc(-25.87 * var(--u));
}

.jackpot-1 { left: calc(2.6 * var(--u)); }
.jackpot-1 .jackpot-icon { left: calc(-.87 * var(--u)); top: calc(-28.4 * var(--u)); }

.jackpot-3 .jackpot-icon {
    width: calc(105 * var(--u));
    height: calc(104 * var(--u));
    left: calc(-6.4 * var(--u));
    top: calc(-24.87 * var(--u));
}
.jackpot-3 { left: calc(-1.74 * var(--u)); }

/* The original has a wider gap between the bell and BAR jackpot panels. */
.jackpot-2 {
    margin-left: calc(5.5 * var(--u));
    left: calc(-2.6 * var(--u));
}

/* Terms UI: LobbyMOBILE canvas reference is 2160x3840, Expand.
   Landscape viewports are height-constrained by that portrait reference.
   var(--u) is viewport-height/1080, so Unity units convert by 1080/3840. */
.policy-screen{--unity-s:calc(var(--u) * .28125)}
.policy-screen .policy-panel{inset:0;left:0;top:0;width:100%;height:100%;transform:none;background:none}
.policy-screen .policy-panel::before{
  inset:auto;left:calc(50% - 713.5 * var(--u));
  top:calc(232 * var(--u));
  width:calc(1433 * var(--u));height:calc(746 * var(--u));
  transform:none;background:none;box-sizing:border-box;
  /* A sliced Image preserves the corners instead of stretching the full bitmap. */
  /* Cropped web asset: keep the existing pixel scale (100/60 = 50/30),
     but put both slice boundaries past the complete decorative corners. */
  border:0;border-image:none;
  background:url('assets/effects/policy-frame-web.png') center/100% 100% no-repeat
}
.policy-screen .policy-panel::after{display:none}
.policy-screen .policy-panel h1{
  top:calc(194 * var(--u));left:50%;width:calc(548 * var(--u));height:calc(79 * var(--u));
  /* This asset is the visible plaque crop; padded sprite dimensions must not
     be applied to it, or its lettering becomes vertically compressed. */
  background:url('assets/effects/policy-plaque.png') center/100% 100% no-repeat
}
.policy-screen .policy-copy{
  left:calc(50% + (26.100 - 4586 / 2 - 17) * var(--unity-s));right:auto;
  top:calc(50% + (48.386 - 892.836) * var(--unity-s) - 8 * var(--u));
  width:calc(4586 * var(--unity-s));height:calc((1785.671 + 71.405 + 66) * var(--unity-s) + 4 * var(--u));
  padding:calc(18.5 * var(--u)) calc(19.5 * var(--u)) 0;
  background:#2e0903;border:calc(5 * var(--u)) solid #e8c44f;border-radius:calc(24 * var(--u));
  box-shadow:inset 0 0 0 calc(1 * var(--u)) #743b18;
  font:400 calc(120 * var(--unity-s))/1.18 Arial,sans-serif;color:#f5f3ee;letter-spacing:0;scrollbar-width:none
}
.policy-screen .policy-copy strong{font-size:calc(34.3 * var(--u));font-weight:700;letter-spacing:calc(1 * var(--u));margin-bottom:1.04em;color:#f6d65d}
.policy-screen .policy-copy p{font-size:calc(33.5 * var(--u));line-height:1.16;margin:0 0 1.17em;letter-spacing:0}
.policy-screen .policy-copy p.policy-first-clause{letter-spacing:0;line-height:1.16}
.policy-screen .policy-copy p b{font-size:calc(34.7 * var(--u));font-weight:400;margin-right:calc(6 * var(--u))}
.policy-screen .policy-copy::before{font-size:calc(38.6 * var(--u));font-weight:400;letter-spacing:calc(2.4 * var(--u));margin-bottom:1em;color:#f6d65d}
.policy-screen .policy-scrollbar{top:calc(305 * var(--u));left:calc(50% + 2330 * var(--unity-s));right:auto;height:calc(523 * var(--u))}
.policy-screen .policy-scrollbar::before{height:calc(181 * var(--u))}
.policy-screen .policy-actions{bottom:calc(135 * var(--u));left:50%;gap:calc(86 * var(--u))}
.policy-screen .policy-actions button{width:calc(336 * var(--u))}

/* The active Mobile/Particles/Additive shader uses SrcAlpha / One.
   Its compiled pass overrides the unused blend properties saved on Glow. */
#lobby-particles{mix-blend-mode:screen}
@supports(mix-blend-mode:plus-lighter){#lobby-particles{mix-blend-mode:plus-lighter}}

/* Bottom readouts only. HUD artwork and logout retain their approved geometry.
   Original CashAmount: Roboto-Medium SDF, 180 Unity units, normal shader weight.
   Glyphs use the original atlas and advances instead of browser font hinting. */
.bottom-hud .amount-panel{
    --wallet-glyph-unit:calc(50.625 / 131 * var(--u));
    padding:0;
    text-shadow:none;
}
.wallet-number{display:block;width:auto;height:calc(121.671875 * var(--wallet-glyph-unit));overflow:visible;pointer-events:none}
.cabinet-view .bottom-hud .amount-panel{--wallet-glyph-unit:calc(26 / 131 * var(--u))}
body:not(.cabinet-view) .bottom-hud .credit-display,
body:not(.cabinet-view) .bottom-hud .win-display{width:calc(331.1887664794922 * var(--u))}
body:not(.cabinet-view) .bottom-hud .credit-display{left:calc(42 * var(--u))}
body:not(.cabinet-view) .bottom-hud .win-display{right:calc(42 * var(--u))}
body:not(.cabinet-view) .bottom-hud .amount-panel{height:calc(84 * var(--u));top:calc(32 * var(--u))}
body:not(.cabinet-view) .bottom-hud .wallet-label{
    width:calc(171.9253063201904 * var(--u));
    height:calc(43.770938873291016 * var(--u));
    top:calc(-4 * var(--u));
    object-fit:contain;
}

/* Original logout has a soft dark rim beneath its gold button. */
.bottom-hud .logout-button img{
    filter:drop-shadow(0 calc(2 * var(--u)) calc(3 * var(--u)) rgba(25,0,0,.65));
}
