/* Bank Heist owns the UI; these overrides only adapt Skyscraper artwork. */
.sky-brand{font-size:28px;color:#c09b55;margin-right:6px}.brand-bank{font-size:.78em}.brand-heist{font-size:.85em}
#stage{aspect-ratio:1.88;isolation:isolate}.town#skyline-canvas{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-width:none;object-fit:fill;transform:none;z-index:0}
.desert-plants,.rolling-weed,.gold-stream,.money-bag,.stage-caption{visibility:hidden!important;pointer-events:none}
#skyline-results{position:absolute;inset:0;z-index:2;pointer-events:none}.sky-result{position:absolute;transform:translate(-50%,-100%);font-size:clamp(12px,1.8vw,29px);font-weight:750;color:#fff;text-shadow:none;white-space:nowrap}.sky-result small{font-size:.7em}
#stage .multiplier-sign{position:absolute;left:79.85%;top:32.6%;width:10%;height:14%;min-width:0;aspect-ratio:auto;transform:translateX(-50%);transform-origin:50% 0;animation:sky-sign-wind 6s ease-in-out infinite;z-index:4}
#stage .multiplier-sign>svg{width:100%;height:100%;overflow:visible}#stage .sign-copy{inset:33% 3% 3%;display:flex;align-items:center;justify-content:center}#stage .sign-copy strong{font-size:clamp(15px,2.2vw,35px);color:white;text-shadow:none;white-space:nowrap}#stage .sign-copy strong span{font-size:.65em}#round-state,#countdown{display:none!important}
@keyframes sky-sign-wind{0%,100%{transform:translateX(-50%) rotate(-3deg)}50%{transform:translateX(-50%) rotate(3deg)}}
#stage .cloud-layer{z-index:1;pointer-events:none}#stage .cloud{filter:none;opacity:.6}#stage .cloud-one{width:22%;height:17%;top:5%;left:8%;animation:sky-cloud-drift 85s linear infinite alternate}#stage .cloud-two{width:18%;height:15%;top:10%;left:54%;animation:sky-cloud-drift 110s linear infinite alternate-reverse}#stage .cloud-three,#stage .cloud-four,#stage .cloud-five,#stage .cloud-six{display:none}
@keyframes sky-cloud-drift{from{transform:translateX(-25%)}to{transform:translateX(85%)}}
.no-animation #stage .multiplier-sign,.no-animation #stage .cloud,.game-paused #stage .multiplier-sign,.game-paused #stage .cloud{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){#stage .multiplier-sign,#stage .cloud{animation:none!important}}
@media(max-width:800px){#stage{aspect-ratio:1.88}.sky-result{font-size:clamp(11px,2.7vw,22px)}#stage .sign-copy strong{font-size:clamp(13px,3vw,25px)}}
/* Right-hand activity panel; preserve readable gameplay on small screens. */
.game-layout{grid-template-columns:minmax(0,1fr) clamp(225px,22vw,335px)}
.play-area{grid-column:1;grid-row:1;min-width:0}.bets-sidebar{grid-column:2;grid-row:1;min-width:0}
#stage{container-type:inline-size;min-width:0}
#stage .sky-result{font-size:clamp(9px,2.25cqw,29px)}
#stage .sign-copy strong{font-size:clamp(10px,2.8cqw,35px)}
#stage .multiplier-sign{animation-duration:3.2s}
#stage .cloud-one{animation-duration:22s}
#stage .cloud-two{animation-duration:28s}
#stage .cloud-three{display:block;width:14%;height:13%;top:21%;left:25%;opacity:.45;animation:sky-cloud-drift 19s linear infinite alternate}
#stage .cloud-four{display:block;width:17%;height:14%;top:3%;left:70%;opacity:.5;animation:sky-cloud-drift 25s linear infinite alternate-reverse}
#stage .cloud-five{display:block;width:12%;height:11%;top:30%;left:3%;opacity:.38;animation:sky-cloud-drift 18s linear infinite alternate}
#stage .cloud-six{display:block;width:13%;height:12%;top:23%;left:55%;opacity:.42;animation:sky-cloud-drift 30s linear infinite alternate-reverse}
.game-header .wordmark{min-width:0;white-space:nowrap}.game-header .sky-brand{flex-shrink:0}.bet-panel,.bet-main,.stake-box{min-width:0}
@media(min-width:801px){.game-layout{grid-template-columns:minmax(0,1fr) clamp(225px,22vw,335px)}}
@media(max-width:800px){html,body{height:auto;overflow:auto}.game-layout{display:flex;height:auto;min-height:0;flex-direction:column}.play-area{order:0;width:100%}.bets-sidebar{order:1;width:100%;height:390px;min-height:300px;max-height:430px}#stage{height:auto;flex:none;aspect-ratio:1.88}.game-tools{flex-wrap:wrap}.game-header{height:auto;min-height:58px;flex-wrap:wrap;padding-block:8px}.header-spacer{min-width:0}.wallet{margin-left:auto}}
@media(max-width:480px){.game-header .wordmark{font-size:17px}.sky-brand{font-size:21px;margin-right:2px}.game-header .demo-badge{display:none}.game-header .back{margin-right:0}.game-header .wallet strong{font-size:14px}.game-header .icon{min-width:26px;width:26px}.bet-panels{grid-template-columns:1fr;height:auto}.auto-options{flex-wrap:wrap}.intro-brand{width:150px;height:48px}.round-intro>strong{font-size:25px}.intro-label{font-size:6px;letter-spacing:1.5px}.intro-track{width:120px;margin:3px 0}.round-intro>p{font-size:9px;margin:3px 0}.rounds-bar{min-width:0}.stage-frame{min-width:0}}
@media(min-width:801px) and (max-height:600px){html,body{height:auto;overflow:auto}.game-layout{height:auto;align-items:start}.play-area{display:block}.stage-frame{display:block}#stage{height:auto;aspect-ratio:1.88}.bets-sidebar{height:520px}.bet-panels{margin-top:10px}.game-tools{margin-top:10px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){#stage .cloud,#stage .multiplier-sign{animation:none!important}}

/* Emphasize the active round with a larger crane and hanging display. */
#stage .multiplier-sign{left:77.45%;top:26%;width:17%;height:20%;filter:drop-shadow(0 3px 7px #77502044) drop-shadow(0 0 9px #ffe5a34d)}
#stage .sign-copy strong{font-size:clamp(16px,4.4cqw,64px);font-weight:800;color:#fff;text-shadow:none}
#stage .sign-copy{inset:33% 3% 3%}

/* Let content determine height: short windows scroll instead of clipping controls. */
html,body{height:auto;min-height:100%;overflow:auto}
.game-header{height:auto;min-height:48px;flex-wrap:wrap;padding-block:8px}
.game-header .wordmark{max-width:100%;flex-wrap:wrap;line-height:1.2}
.game-header .wallet{margin-left:auto}
.game-header .avatar{display:inline-flex}
.game-header #sound{display:inline-block}
.game-layout{height:auto;align-items:start}
.play-area{display:flex;flex-direction:column;gap:8px;min-height:0}
.stage-frame{display:block;flex:none;width:100%}
#stage{height:auto;min-height:0;flex:none;aspect-ratio:1440/766}
.bet-panels{height:auto;min-height:0;margin:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));align-items:start}
.bet-panels.single{grid-template-columns:minmax(0,1fr)}
.bet-panel{height:auto;min-width:0}
.bet-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.auto-options{flex-wrap:wrap;height:auto;gap:8px}
.panel-top{height:auto;min-height:29px}.panel-help{overflow-wrap:anywhere}
.bet-action{min-width:0;padding:8px 4px;overflow-wrap:anywhere}
.bet-action span{max-width:100%;font-size:clamp(16px,2vw,24px)}
.game-tools{height:auto;flex-wrap:wrap;padding-block:8px;gap:8px 16px}
.bets-sidebar{height:clamp(390px,calc(100dvh - 80px),850px);min-height:0;max-height:none}
#recent-rounds{overflow-x:auto;scrollbar-width:thin}
.fairness-footer{flex-wrap:wrap}.player-row>span{min-width:0;overflow-wrap:anywhere}
.player-name i{flex-shrink:0}
#top-filters{flex-wrap:wrap}#top-filters .segmented{min-width:0;flex-wrap:wrap}
#stage .sign-copy strong{font-size:clamp(7px,3.2cqw,46px);letter-spacing:0;line-height:1.1}
#stage .sky-result{font-size:clamp(6px,2.05cqw,29px)}
#stage .intro-brand{width:38cqw;height:12cqw;transform:none;margin:0}
#stage .intro-label{font-size:1.35cqw;letter-spacing:.3cqw}
#stage .round-intro>strong{font-size:5cqw;line-height:1.3}
#stage .intro-track{width:28cqw;margin:1cqw 0;height:3px}
#stage .round-intro>p{font-size:1.6cqw;margin:.5cqw 0 0}
dialog{width:min(600px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:clamp(12px,3vw,24px);overflow:auto}
.modal-heading{gap:10px}.modal-heading h2{min-width:0;overflow-wrap:anywhere}.modal-heading .icon{flex-shrink:0}
#modal-content{overflow-wrap:anywhere;overflow-x:auto}.setting-row{gap:10px}.setting-row>span{min-width:0}
.history-table{min-width:360px}.public-chat{max-height:calc(100dvh - 24px);overflow-y:auto}
.chat-heading,#chat-form,.chat-status{flex-shrink:0}.chat-messages{min-height:60px}
@media(max-width:800px){.bets-sidebar{height:430px;min-height:0;max-height:none}.game-header .demo-badge{display:inline-block}.game-header .wallet>span{display:block}}
@media(max-width:380px){.bet-main{grid-template-columns:minmax(0,1fr)}.round-badges{flex-wrap:wrap}.panel-top .segmented{width:auto;flex:1}.game-header .wordmark{font-size:15px}}
@media(max-width:300px){.game-header .header-spacer{display:none}.game-layout{padding:5px}.bets-sidebar{padding-inline:4px}.sidebar-tabs button{padding-inline:3px}.bet-panel{padding:8px}.segmented button{white-space:normal}.presets{flex-wrap:wrap}.game-header .wallet{margin-left:0}}

/* Reserve desktop space for controls before sizing the scene. */
@media(min-width:1100px) and (min-height:650px){
 html,body{height:100%;overflow:hidden}
 .game-header{height:48px;min-height:48px;flex-wrap:nowrap}
 .game-layout{height:calc(100dvh - 48px);align-items:stretch}
 .play-area{display:grid;grid-template-rows:24px minmax(0,1fr) auto auto;gap:8px;min-height:0}
 .stage-frame{container-type:size;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;background:#a5cfee}
 .fun-strip{width:100%;flex:none}
 #stage{width:100%;height:calc(100% - 17px);aspect-ratio:auto;flex:none;max-height:none}
 .bet-panels{grid-template-columns:repeat(2,minmax(0,1fr))}
 .bets-sidebar{height:100%;max-height:none}
 .game-tools{padding-block:2px}
}

/* Local TopFloor day/night theme. */
.night-toggle{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;border:1px solid var(--line);border-radius:16px;padding:6px 9px;background:#fff;font-size:11px;white-space:nowrap}
.night-toggle[aria-checked=true]{background:#324976;color:#fff;border-color:#6d8fc9}
.night-mode{color-scheme:dark;--ink:#e5edf9;--muted:#a6b4ca;--line:#334158;background:#101827;color:#e5edf9}
.night-mode body{background:#101827;color:#e5edf9}
.night-mode .game-header,.night-mode .bets-sidebar,.night-mode .bet-panel,.night-mode dialog{background:#182337;color:#e5edf9;border-color:#334158}
.night-mode .brand-bank,.night-mode #chat-toggle{color:#e5edf9}
.night-mode .icon,.night-mode .night-toggle,.night-mode .stake-box button{background:#283750;color:#e5edf9;border-color:#40516d}
.night-mode .night-toggle[aria-checked=true]{background:#324976;border-color:#8eafe9}
.night-mode .segmented,.night-mode .stake-box,.night-mode .presets button,.night-mode .auto-threshold,.night-mode .dialog-input,.night-mode .proof,.night-mode .avatar-picker button,.night-mode #top-filters select{background:#243149;color:#e5edf9;border-color:#40516d}
.night-mode .segmented button[aria-selected=true]{background:#41618d;color:#fff}
.night-mode .activity-summary{background:linear-gradient(125deg,#243149,#1c2940);border-color:#334158}
.night-mode .table-labels,.night-mode .panel-help,.night-mode .game-tools button,.night-mode #modal-content p,.night-mode .summary-line small,.night-mode .total span,.night-mode .powered-brand,.night-mode .empty{color:#b4c2d8}
.night-mode .player-row{border-color:#2c3b52}.night-mode .player-row.won{background:#183f36;color:#9aebc4}
.night-mode .player-name i,.night-mode .avatar-stack span{background:#344660;border-color:#243149}
.night-mode .round-chip{color:#8bd2ff}.night-mode .round-chip.medium{color:#c9a7ff}.night-mode .round-chip.high{color:#fface4}
.night-mode #stage{background:#172c4b}.night-mode #skyline-canvas{filter:none}
.night-mode #stage .cloud{opacity:.2}.night-mode .stage-frame{background:#172c4b;border-color:#334158}
.night-mode .fun-strip{background:#745623;color:#ffe7ad}
.night-mode .round-id{background:#253955db;color:#dce8ff}
.night-mode .public-chat{background:#182337eb;border-color:#40516d;color:#e5edf9}
.night-mode .chat-heading,.night-mode .chat-status,.night-mode .chat-message{background:#283750;color:#e5edf9;border-color:#40516d}
.night-mode .chat-message.mine{background:#594921}.night-mode .chat-heading button{background:#40516d;color:white}
.night-mode #chat-message,.night-mode #chat-message::placeholder{color:#d4e2f7}
.night-mode .chat-message time,.night-mode .proof dd,.night-mode .history-table th{color:#b4c2d8}
.night-mode .fair-callout,.night-mode .fair-inputs span,.night-mode .fair-step{background:#243149;border-color:#40516d;color:#e5edf9}
.night-mode .powered-brand img{mix-blend-mode:normal;background:#fff;border-radius:4px}
@media(max-width:600px){.night-toggle{font-size:10px;padding:5px 7px}}
.night-mode button{appearance:none;-webkit-appearance:none}
.night-mode .demo-badge{background:#283750;color:#e5edf9}
.night-mode .segmented .selected{background:#41618d;color:#fff}
.night-mode progress,.night-mode progress::-webkit-progress-bar{background:#344158}
.night-mode .players-scroll{scrollbar-color:#50617a transparent}

/* TopFloor controls, scoped to this game only. */
#modal{scrollbar-width:none}#modal::-webkit-scrollbar{display:none;width:0;height:0}.crash-multipliers{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:8px;padding:4px 0 12px}.crash-multipliers .round-chip{text-align:center;padding:10px 6px}

#players{scrollbar-width:none}#players::-webkit-scrollbar{display:none;width:0;height:0}

#players .player-row{content-visibility:auto;contain-intrinsic-size:auto 44px}


/* Top results: compact filter rows and individual result cards. */
#activity-panel.show-top .activity-summary,#activity-panel.show-top .table-labels{display:none}
#top-filters{flex-direction:column;gap:4px;margin:8px 0;padding:5px;background:#0b1525;border-radius:15px;flex-shrink:0}
#top-filters .segmented{background:transparent;padding:0;width:100%}
#top-filters button{padding:7px 3px;font-size:12px;font-weight:400}
#top-filters button.selected{background:#2d405d;color:#fff}
.top-result{padding:12px 10px;margin-bottom:7px;background:#0a1423;border-radius:16px;color:#c4cfdf}
.top-result header{display:flex;align-items:center;gap:8px;margin-bottom:13px}
.top-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#26384f;font-size:24px;flex-shrink:0}
.top-result header strong{font-size:12px;font-weight:500}.top-result time{display:block;font-size:10px;color:#8392a9;margin-top:2px}
.top-proof{margin-left:auto;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#253147;color:#a4b1c5;flex-shrink:0}
.top-result dl{display:grid;grid-template-columns:1fr 1fr;gap:7px 10px;margin:0;font-size:10px;font-variant-numeric:tabular-nums}
.top-result dl div{display:flex;justify-content:space-between;gap:4px;min-width:0}.top-result dt{color:#8392a9;white-space:nowrap}.top-result dd{margin:0;text-align:right;overflow-wrap:anywhere}.top-result .top-mult{color:#8bd2ff}.top-result .top-mult.medium{color:#c9a7ff}.top-result .top-mult.high{color:#fface4}

/* Center manual controls; automatic controls use the space below them. */
.bet-panel{display:flex;flex-direction:column}
.bet-panel>.panel-top,.bet-panel>.bet-main,.bet-panel>.auto-options,.bet-panel>.panel-help{flex-shrink:0}
.bet-panel:has(.auto-options[hidden])>.bet-main{margin-top:auto}
.bet-panel:has(.auto-options[hidden])>.panel-help{margin-bottom:auto}


.game-header{height:38px;min-height:38px;padding:0 12px;gap:8px}
.game-header .wordmark{font-size:20px}.game-header .sky-brand{font-size:22px;margin-right:3px}
.game-header .demo-badge{font-size:8px;padding:4px 6px}
.game-header .wallet strong{font-size:13px;font-weight:400;letter-spacing:0}
.game-header .icon{width:25px;min-width:25px;height:25px;font-size:16px}
.game-header .night-toggle{font-size:10px;padding:4px 7px}
.rounds-bar>.icon{display:grid;place-items:center;padding:0;width:26px;min-width:26px;height:22px;border-radius:7px;flex:0 0 26px}
.rounds-bar>.icon svg{display:block}
.fun-strip,.night-mode .fun-strip{background:#f6d60c;color:#182337}
.fair-modal-brand img{background:#fff;border-radius:4px;padding:4px;mix-blend-mode:normal}
#modal-content,.history-table,.players-scroll,#recent-rounds{scrollbar-width:none}
#modal-content::-webkit-scrollbar,.players-scroll::-webkit-scrollbar,#recent-rounds::-webkit-scrollbar{display:none;width:0;height:0}
#top-filters{display:flex;background:#eef3f8}#top-filters button.selected{background:#c4e0ff;color:#10213e}
.top-result{background:#eef3f8;color:#10213e}.top-result dt,.top-result time{color:#60718a}
.top-proof,.top-avatar{background:#d9e7f7;color:#334c70}
.top-result .top-mult{color:#2571aa}.top-result .top-mult.medium{color:#853bd0}.top-result .top-mult.high{color:#bc37a3}
.night-mode #top-filters,.night-mode .top-result{background:#101b2d;color:#e5edf9}
.night-mode #top-filters button.selected{background:#41618d;color:white}
.night-mode .top-result dt,.night-mode .top-result time{color:#b4c2d8}
.night-mode .top-proof,.night-mode .top-avatar{background:#283750;color:#d8e7fc}
.night-mode .top-result .top-mult{color:#8bd2ff}.night-mode .top-result .top-mult.medium{color:#c9a7ff}.night-mode .top-result .top-mult.high{color:#fface4}
.bet-panel{min-height:175px}.auto-options{flex-wrap:wrap;gap:8px}.panel-help:empty{min-height:12px}
@media(min-width:1100px) and (min-height:650px){.game-layout{height:calc(100dvh - 38px)}}
@media(max-width:600px){.game-header{height:auto;min-height:38px;padding:5px 8px;gap:6px}.game-header .wordmark{font-size:18px}.game-header .wallet strong{font-size:13px}.game-header .wallet{margin-left:0}.game-header .header-spacer{min-width:0}.top-result dl{font-size:11px}}
.stake-controls{container-type:inline-size}.stake-box input{font-size:clamp(12px,10cqw,22px);padding-inline:0}

/* TopFloor cashout confirmation, matching current Tbilisi. */
#cashout-popups{position:fixed;top:46px;left:50%;transform:translateX(-50%);z-index:100;display:grid;gap:8px;width:min(470px,calc(100vw - 24px));pointer-events:none}
.topfloor-cashout-popup{display:flex;align-items:center;gap:14px;padding:10px 12px 10px 20px;border:1px solid #92c9ff88;border-radius:12px;background:linear-gradient(110deg,#173659de,#345f8eb8);backdrop-filter:blur(12px);box-shadow:0 7px 28px #07162c55,inset 0 1px 0 #dceeff22;color:#f0f6ff;pointer-events:auto;animation:win-arrive .22s ease-out;transition:opacity .25s,transform .25s}
.cashout-message{display:grid;gap:4px;flex:1;text-align:center;min-width:0}.cashout-message span{font-size:13px;color:#d2e3f7}.cashout-message strong{font-size:20px;font-weight:800}
.cashout-payout{display:grid;gap:4px;text-align:center;background:#77b6ee33;border:1px solid #aed6ff33;border-radius:8px;padding:7px 18px;min-width:115px}.cashout-payout span{font-size:12px;color:#d4e7ff}.cashout-payout strong{font-size:24px;line-height:1.1;font-weight:800}
.topfloor-cashout-popup button{flex-shrink:0;width:32px;height:32px;padding:0;border-radius:7px;background:#c0ddff12;color:#e5f1ff;font-size:25px;line-height:1}.topfloor-cashout-popup.leaving{opacity:0;transform:translateY(-6px);pointer-events:none}
@media(max-width:480px){.topfloor-cashout-popup{gap:8px;padding:9px}.cashout-message span{font-size:11px}.cashout-payout{min-width:92px;padding:7px 10px}.cashout-payout strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){.topfloor-cashout-popup{animation:none;transition:none}}
.no-animation .topfloor-cashout-popup{animation:none;transition:none}

/* Compact translucent cashout popup; the artwork win indicator remains unchanged. */
#cashout-popups{width:min(310px,calc(100vw - 24px));gap:5px}
.topfloor-cashout-popup{gap:10px;padding:6px 10px;border-radius:8px;background:linear-gradient(110deg,#17365980,#345f8e66);border-color:#92c9ff55;backdrop-filter:blur(5px);box-shadow:0 3px 12px #07162c22;pointer-events:none}
.cashout-message{gap:2px}.cashout-message span{font-size:11px}.cashout-message strong{font-size:17px}
.cashout-payout{gap:2px;min-width:85px;padding:4px 10px;border-radius:6px;background:#77b6ee1a;border-color:#aed6ff22}.cashout-payout span{font-size:10px}.cashout-payout strong{font-size:19px}
@media(max-width:480px){#cashout-popups{width:min(290px,calc(100vw - 24px))}.topfloor-cashout-popup{padding:5px 8px;gap:8px}.cashout-payout{min-width:78px;padding:4px 8px}.cashout-payout strong{font-size:18px}}
