@font-face{font-family:DuboText;src:url(/fonts/dubo-text.woff) format("woff");font-weight:300 700;font-display:swap}@font-face{font-family:DuboDisplay;src:url(/fonts/LilitaOne-Regular.ttf) format("truetype");font-display:swap}@font-face{font-family:Lilita;src:url(/fonts/LilitaOne-Regular.ttf) format("truetype")}@font-face{font-family:Fredoka;src:url(/fonts/dubo-text.woff) format("woff");font-weight:300 700}@font-face{font-family:Dangrek;src:url(/assets/fonts/Dangrek-Regular.ttf)}@font-face{font-family:BebasNeue;src:url(/assets/fonts/BebasNeue-Regular.ttf)}@property --iris{syntax: "<percentage>"; inherits: true; initial-value: 0%;}:root{--u: 1px;--tier: #ffb547;--coral: #ff7a6b;--coral-deep: #e2564a;--flamingo: #ff5e8a;--teal: #2ec4b6;--teal-deep: #159488;--navy: #12355b;--navy-deep: #0b2340;--cream: #ffe8c7;--cream-hi: #fff7ea;--sand: #f3d3a4;--gold: #ffb547;--gold-hi: #ffd27a;--gold-deep: #c9821b;--brass: #d9a441;--palm: #2f9e5b;--violet: #3b1f5c;--font-display: "DuboDisplay", "Lilita", "Arial Rounded MT Bold", system-ui, sans-serif;--font-text: "DuboText", "Fredoka", ui-rounded, system-ui, sans-serif;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in: cubic-bezier(.55, 0, .75, .2);--t-fast: .16s;--t-med: .22s;--panel-bg: linear-gradient(180deg, var(--cream-hi), var(--cream));--panel-edge: calc(3 * var(--u)) solid rgba(18, 53, 91, .14);--panel-shadow: 0 calc(6 * var(--u)) 0 rgba(11, 35, 64, .22), 0 calc(16 * var(--u)) calc(36 * var(--u)) rgba(11, 35, 64, .3);--text-outline: 0 calc(2 * var(--u)) 0 var(--navy), 0 0 calc(2 * var(--u)) var(--navy), 0 calc(4 * var(--u)) calc(10 * var(--u)) rgba(11, 35, 64, .45)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}#loader{position:fixed;inset:0;overflow:hidden;display:grid;grid-template-rows:1fr auto;padding:max(16px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:url(data:image/webp;base64,UklGRr4AAABXRUJQVlA4ILIAAADQBQCdASogABIAPtFWpU2oJCMiMBgIAQAaCWwAnTKEgW933AAIhSUUcmKVmjk2eQrrnzdc70agAP7Ff5zqbdqvnce3E2XX/NIWtwdqbU2+BJJ1skMi6QOspLBBVhVDV254bM+Jl1z0SR/s69Ci9WpKwWfQPHT4av0NAPllLuvIDZTXuqkX0FBRqdvXC+uvQPbB7ZI+YaAfnSaypJWQZmGO+jvNc4X79UWIgIoC96qqxAAA) center 60% / cover,linear-gradient(#f7b48a,#2ec4b6);color:var(--cream-hi);font-family:var(--font-text);transition:opacity .45s var(--ease-out),visibility 0s .45s}#loader .scene{position:absolute;inset:-2%;background:url(/art/ux/island-1920.webp) center 60% / cover no-repeat}@media(max-width:1100px){#loader .scene{background-image:url(/art/ux/island-1024.webp)}}#loader .scene:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 55% 50% at 24% 34%,rgba(255,232,199,.45),transparent 70%),linear-gradient(180deg,transparent 52%,rgba(11,35,64,.35) 72%,rgba(11,35,64,.82) 100%)}#loader .glitter{position:absolute;left:4%;right:55%;top:68%;height:14%;background:radial-gradient(circle at 12% 30%,#fff 0 1.5px,transparent 2.5px),radial-gradient(circle at 38% 70%,#fff 0 1.2px,transparent 2.2px),radial-gradient(circle at 62% 20%,#fff8d8 0 1.8px,transparent 3px),radial-gradient(circle at 84% 60%,#fff 0 1.2px,transparent 2.2px),radial-gradient(circle at 25% 90%,#fff8d8 0 1.4px,transparent 2.6px);filter:drop-shadow(0 0 4px #fff3c4)}#loader .brand{position:relative;align-self:center;justify-self:start;margin-left:5vw;margin-bottom:6vh;display:flex;flex-direction:column;align-items:center;width:min(44vw,74vh)}#loader.done .brand{animation:loader-bob 3.2s ease-in-out infinite}#loader .logo{display:none;width:100%;filter:drop-shadow(0 1.2vh 0 rgba(11,35,64,.35)) drop-shadow(0 2vh 3vh rgba(11,35,64,.35))}#loader .logo.loaded{display:block;animation:loader-pop .52s var(--ease-spring) both}#loader .wordmark{font:min(16vw,26vh) / .9 var(--font-display);letter-spacing:.02em;color:#39cfff;-webkit-text-stroke:min(1.4vw,2.2vh) var(--navy);paint-order:stroke fill;text-shadow:0 1.2vh 0 var(--navy)}#loader .logo.loaded+.wordmark{display:none}#loader .sub{margin:1.6vh 0 0;padding:.7vh 2.2vh .5vh;border-radius:999px;background:var(--coral);box-shadow:0 .6vh 0 var(--coral-deep),0 1.4vh 2.4vh #0b23404d;font:min(2.4vw,3.6vh) / 1.2 var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--cream-hi);white-space:nowrap}#loader .panel{position:relative;justify-self:center;width:min(88vw,760px);display:flex;flex-direction:column;gap:1.2vh}#loader .bar{position:relative;height:clamp(14px,3vh,26px);padding:clamp(3px,.5vh,5px);border-radius:999px;background:var(--cream-hi);box-shadow:0 .5vh #0b234059,0 1.4vh 3vh #0b234059}#loader .fill{height:100%;border-radius:999px;background:repeating-linear-gradient(-55deg,rgba(255,255,255,.28) 0 8px,transparent 8px 16px),linear-gradient(90deg,var(--gold),var(--coral));background-size:37px 100%,100% 100%;transform-origin:left center;transform:scaleX(var(--p, 0))}#loader .chip{position:absolute;top:50%;left:calc(clamp(3px,.5vh,5px) + (100% - 2 * clamp(3px,.5vh,5px)) * var(--p, 0));width:clamp(26px,5.6vh,44px);aspect-ratio:1;border-radius:50%;translate:-50% -50%;background:radial-gradient(circle,var(--cream-hi) 0 34%,var(--coral) 35% 46%,transparent 47%),repeating-conic-gradient(var(--coral) 0 30deg,var(--cream-hi) 30deg 60deg);box-shadow:0 0 0 clamp(2px,.4vh,3px) var(--navy),0 .5vh 0 clamp(2px,.4vh,3px) var(--navy);animation:loader-roll 1.6s steps(24) infinite}#loader .meta{display:flex;justify-content:space-between;align-items:baseline;padding:0 .6vh;font-weight:600;font-size:clamp(13px,2.6vh,20px);letter-spacing:.04em;text-shadow:0 2px 0 rgba(11,35,64,.6)}#loader .pct{font-family:var(--font-display);font-size:1.15em;color:var(--gold-hi);font-variant-numeric:tabular-nums}#loader .tip{align-self:center;min-height:2.6em;margin:.4vh 0 0;max-width:100%;padding:.7em 1.2em;border-radius:999px;background:#0b23408c;font-size:clamp(12px,2.3vh,17px);line-height:1.2;text-align:center}#loader .tip:empty{visibility:hidden}#loader .tip:before{content:"TIP";margin-right:.7em;padding:.15em .55em;border-radius:.5em;background:var(--teal);font:.85em / 1 var(--font-display);letter-spacing:.08em;vertical-align:.08em}#loader .tip.in{animation:loader-tip .36s var(--ease-out)}#loader.done{pointer-events:none;background:none}#loader .scene,#loader .panel{transition:opacity .45s var(--ease-out)}#loader.done .scene,#loader.done .panel{opacity:0}#loader.gone{opacity:0;visibility:hidden}#loader.gone .brand{animation:loader-leave .45s var(--ease-in) forwards}body:has(#loader) #overlay .backdrop:before{display:none}#loader.error .fill{background:var(--coral);animation:none}#loader.error .tip{opacity:1;background:none}#loader.error .tip:before{display:none}#loader .reload{padding:.5em 1.6em;border:0;border-radius:999px;background:var(--coral);box-shadow:0 4px 0 var(--coral-deep);color:#fff;font:1.2em var(--font-display);cursor:pointer}@media(max-height:500px){#loader .brand{margin-bottom:2vh;width:min(38vw,66vh)}#loader .tip{min-height:0;padding:.5em 1em}}@keyframes loader-bob{50%{transform:translateY(-1.2vh) rotate(-.8deg)}}@keyframes loader-pop{0%{transform:scale(.6)}}@keyframes loader-leave{to{transform:scale(1.12);opacity:0}}@keyframes loader-roll{to{rotate:360deg}}@keyframes loader-tip{0%{transform:translateY(6px)}}#curtain{position:fixed;inset:0;pointer-events:none;visibility:hidden}#curtain.iris{visibility:visible;background:radial-gradient(circle at 50% 50%,transparent var(--iris),var(--gold) var(--iris),var(--gold) calc(var(--iris) + .6%),transparent calc(var(--iris) + .6%)),url(/art/ux/island-1920.webp) center 60% / cover,var(--navy-deep);-webkit-mask-image:radial-gradient(circle at 50% 50%,transparent var(--iris),#000 var(--iris));mask-image:radial-gradient(circle at 50% 50%,transparent var(--iris),#000 var(--iris));animation:iris-open .62s var(--ease-in) forwards}#curtain.fade{visibility:visible;background:url(/art/ux/island-1024.webp) center 60% / cover,var(--navy-deep);animation:dip-out .42s var(--ease-out) forwards}#curtain.hold{animation-play-state:paused}#curtain.hold:after{content:"Opening the doors…";position:absolute;left:50%;bottom:calc(9vh + env(safe-area-inset-bottom));translate:-50% 0;padding:.6em 1.3em;border-radius:999px;background:#0b234099;color:var(--cream-hi);font:600 clamp(13px,2.4vh,18px) / 1.2 var(--font-text);white-space:nowrap;animation:hold-hint .3s .7s var(--ease-out) both}@keyframes hold-hint{0%{opacity:0;transform:translateY(6px)}}#curtain.dip{visibility:visible;opacity:0;background:radial-gradient(ellipse at 50% 42%,#12355be0,#0b2340f7 70%);transition:opacity .15s var(--ease-out)}#curtain.dip.dark{opacity:1}#curtain.dip.out{animation:dip-out var(--dip-out, .32s) var(--ease-out) forwards}@keyframes iris-open{0%{--iris: 0%}12%{--iris: 2%}to{--iris: 104%}}@keyframes dip-out{0%{opacity:1}to{opacity:0}}#rotate{display:none}@media(orientation:portrait)and (pointer:coarse){#rotate{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;background:linear-gradient(#0b2340b8,#0b2340db),url(/art/ux/island-1024.webp) 70% center / cover,var(--navy-deep);color:var(--cream-hi);text-align:center;touch-action:none}#rotate p{margin:10px 0 0;font:30px / 1.1 var(--font-display);letter-spacing:.02em;text-shadow:0 3px 0 var(--navy)}#rotate small{font-size:15px;font-weight:600;opacity:.8}#rotate .phone{position:relative;width:64px;height:112px;border-radius:16px;background:linear-gradient(160deg,var(--teal),var(--teal-deep));box-shadow:0 0 0 5px var(--cream-hi),0 8px 0 5px var(--navy),0 18px 30px #0006;animation:rotate-phone 2.4s var(--ease-spring) infinite}#rotate .phone:before{content:"";position:absolute;left:50%;top:8px;width:18px;height:5px;border-radius:3px;background:var(--navy);translate:-50% 0}#rotate .phone:after{content:"";position:absolute;inset:22px 10px;border-radius:6px;background:radial-gradient(circle at 50% 45%,var(--gold) 0 26%,transparent 28%),var(--cream)}}@keyframes rotate-phone{0%,20%{transform:rotate(0)}55%,80%{transform:rotate(-90deg)}to{transform:rotate(0)}}#hud{position:fixed;inset:0;pointer-events:none;line-height:1;font-family:var(--font-text);color:var(--navy);transition:opacity .32s var(--ease-out)}body:has(#curtain.iris) #hud,body:has(#curtain.hold) #hud{opacity:0;transition:none}#brand{position:absolute;top:calc(22 * var(--u) + env(safe-area-inset-top));left:calc(28 * var(--u) + env(safe-area-inset-left));display:flex;align-items:center;gap:calc(16 * var(--u))}#brand>img{height:calc(70 * var(--u));filter:drop-shadow(0 calc(4 * var(--u)) 0 rgba(11,35,64,.35)) drop-shadow(0 calc(8 * var(--u)) calc(14 * var(--u)) rgba(11,35,64,.3))}#place{display:flex;align-items:center;gap:calc(12 * var(--u));padding:calc(6 * var(--u)) calc(22 * var(--u)) calc(6 * var(--u)) calc(6 * var(--u));border-radius:999px;background:var(--panel-bg);box-shadow:var(--panel-shadow);white-space:nowrap}#place:empty{display:none}#place .num{display:grid;place-items:center;min-width:max(26px,calc(48 * var(--u)));height:max(26px,calc(48 * var(--u)));padding:0 calc(8 * var(--u));border-radius:999px;background:radial-gradient(circle at 50% 120%,var(--teal-deep),var(--teal) 70%);box-shadow:inset 0 calc(-3 * var(--u)) 0 #0b234040;color:var(--cream-hi);font:max(15px,calc(28 * var(--u))) / 1 var(--font-display)}#place .names{display:flex;flex-direction:column;gap:calc(3 * var(--u))}#place .name{font:max(14px,calc(26 * var(--u))) / 1 var(--font-display);letter-spacing:.01em}#place .kind{font-size:max(10px,calc(15 * var(--u)));font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-deep)}#place.flip .num{animation:floor-flip .42s var(--ease-spring)}#arrival{position:absolute;left:50%;top:calc(18% + env(safe-area-inset-top));display:flex;flex-direction:column;align-items:center;gap:calc(8 * var(--u));translate:-50% 0;visibility:hidden;text-align:center}#arrival .kind{padding:calc(6 * var(--u)) calc(16 * var(--u));border-radius:999px;background:var(--teal);color:var(--cream-hi);font:max(11px,calc(20 * var(--u))) / 1 var(--font-display);letter-spacing:.2em}#arrival .name{font:max(28px,calc(76 * var(--u))) / 1 var(--font-display);color:var(--cream-hi);text-shadow:var(--text-outline)}#arrival.show{visibility:visible;animation:arrival 2.6s var(--ease-out) forwards}#money{position:absolute;top:calc(22 * var(--u) + env(safe-area-inset-top));right:calc(28 * var(--u) + env(safe-area-inset-right));display:flex;flex-direction:column;align-items:stretch;gap:calc(10 * var(--u));min-width:calc(300 * var(--u));padding:calc(14 * var(--u)) calc(20 * var(--u));border-radius:calc(28 * var(--u));background:var(--panel-bg);box-shadow:var(--panel-shadow)}#balance{position:relative;display:flex;align-items:center;gap:calc(12 * var(--u));font:max(20px,calc(54 * var(--u))) / 1 var(--font-display);color:var(--navy)}#balance .chip{width:1.05em;height:1.05em;filter:drop-shadow(0 calc(3 * var(--u)) 0 rgba(11,35,64,.3))}#balance.gain .chip{animation:coin-spin .6s var(--ease-out)}#balance-value{flex:1;display:inline-block;text-align:right;font-variant-numeric:tabular-nums;transform-origin:85% 55%;transition:color var(--t-med),text-shadow var(--t-med)}#balance.gain #balance-value{color:var(--gold-deep);text-shadow:0 0 .35em rgba(255,181,71,.85);transition:none}#balance.loss #balance-value{color:var(--coral-deep);transition:none}#balance .currency{align-self:center;padding:calc(5 * var(--u)) calc(9 * var(--u)) calc(4 * var(--u));border-radius:calc(10 * var(--u));background:var(--teal);color:var(--cream-hi);font:700 max(9px,calc(15 * var(--u))) / 1 var(--font-text);letter-spacing:.1em}.punch{animation:punch .24s var(--ease-spring)}#balance-value.bounce{animation:bounce .42s var(--ease-spring)}#balance-value.shake{animation:nudge .38s var(--ease-out)}#balance-delta{position:absolute;right:calc(100% + 34 * var(--u));top:50%}#balance-delta .delta{position:absolute;right:0;top:-.5em;font:max(16px,calc(40 * var(--u))) / 1 var(--font-display);white-space:nowrap;text-shadow:var(--text-outline)}#balance-delta .delta.up{color:var(--gold-hi);animation:delta-up 1.4s var(--ease-out) forwards}#balance-delta .delta.down{color:var(--coral);animation:delta-down 1.2s var(--ease-in) forwards}#players{display:flex;flex-direction:column;gap:calc(6 * var(--u));padding-top:calc(10 * var(--u));border-top:calc(3 * var(--u)) dotted rgba(18,53,91,.18)}#players:empty{display:none}#players .row{display:flex;justify-content:space-between;align-items:center;gap:calc(16 * var(--u));font-size:max(11px,calc(22 * var(--u)));font-weight:600}#players .name{max-width:calc(170 * var(--u));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#players .profit{display:inline-block;font-family:var(--font-display);font-variant-numeric:tabular-nums;transform-origin:right center}#crosshair{position:absolute;left:50%;top:50%;width:max(6px,calc(11 * var(--u)));height:max(6px,calc(11 * var(--u)));border-radius:50%;translate:-50% -50%;background:var(--cream-hi);box-shadow:0 0 0 max(1.5px,calc(2.5 * var(--u))) #0b23408c;transition:width var(--t-fast) var(--ease-spring),height var(--t-fast) var(--ease-spring),background var(--t-fast),box-shadow var(--t-fast)}#crosshair.active{--ring: var(--cream-hi);width:max(18px,calc(36 * var(--u)));height:max(18px,calc(36 * var(--u)));background:transparent;box-shadow:inset 0 0 0 max(3px,calc(5 * var(--u))) var(--ring),0 0 0 max(1.5px,calc(2.5 * var(--u))) #0b23408c,inset 0 0 0 max(4.5px,calc(7.5 * var(--u))) #0b234073}#crosshair.active[data-tone=go]{--ring: var(--teal)}#crosshair.active[data-tone=busy]{--ring: var(--gold)}#crosshair.active[data-tone=warn]{--ring: var(--coral)}#crosshair.pressed{animation:cursor-press .22s var(--ease-spring)}#crosshair.refused{animation:cursor-refused .45s var(--ease-out)}#hint{position:absolute;left:50%;top:calc(50% + 44 * var(--u));display:flex;flex-direction:column;align-items:center;gap:calc(8 * var(--u));translate:-50% 0;opacity:0;transform:translateY(calc(-6 * var(--u))) scale(.94);transition:opacity .12s ease-out,transform .12s ease-out}#hint.visible{opacity:1;transform:none;transition:opacity var(--t-fast) var(--ease-out),transform var(--t-med) var(--ease-spring)}#hint .item-name{max-width:60vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:max(11px,calc(22 * var(--u)));font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cream-hi);text-shadow:0 calc(2 * var(--u)) 0 rgba(11,35,64,.8),0 0 calc(6 * var(--u)) rgba(11,35,64,.6)}#hint .tooltip{display:flex;align-items:center;gap:calc(10 * var(--u));padding:calc(6 * var(--u)) calc(20 * var(--u)) calc(6 * var(--u)) calc(6 * var(--u));border-radius:999px;background:var(--cream-hi);box-shadow:0 calc(4 * var(--u)) 0 #0b23404d,0 calc(10 * var(--u)) calc(22 * var(--u)) #0b23404d;color:var(--navy);white-space:nowrap}#hint .tooltip span{font:max(14px,calc(30 * var(--u))) / 1 var(--font-display);letter-spacing:.01em}#hint kbd{display:grid;place-items:center;min-width:max(20px,calc(40 * var(--u)));height:max(20px,calc(40 * var(--u)));border-radius:calc(12 * var(--u));background:var(--navy);box-shadow:inset 0 calc(-4 * var(--u)) 0 #0000004d;color:var(--cream-hi);font:max(12px,calc(24 * var(--u))) / 1 var(--font-display)}#hint[data-tone=go] kbd{background:var(--teal-deep)}#hint[data-tone=busy] .tooltip{background:var(--gold-hi)}#hint[data-tone=warn] .tooltip{background:var(--coral);color:#fff}#hint kbd.pressed{animation:key-press .2s var(--ease-out)}#hint .tooltip.refused{animation:nudge .36s var(--ease-out)}body.touch #hint kbd{display:none}body.touch #hint .tooltip{padding-left:calc(20 * var(--u))}body.touch #hint{top:auto;bottom:calc(12px + env(safe-area-inset-bottom));gap:3px;max-width:42vw}body.touch #hint .item-name{max-width:42vw}body.touch #crosshair{width:4px;height:4px;box-shadow:0 0 0 1px #0b23408c}body.touch #crosshair.active{width:6px;height:6px;background:var(--ring);box-shadow:0 0 0 1.5px #0b2340a6}#held-actions{position:absolute;right:calc(40 * var(--u) + env(safe-area-inset-right));bottom:calc(40 * var(--u) + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-end;gap:calc(10 * var(--u))}#held-actions .action{display:flex;align-items:center;gap:calc(12 * var(--u));padding:calc(6 * var(--u)) calc(6 * var(--u)) calc(6 * var(--u)) calc(18 * var(--u));border-radius:999px;background:var(--panel-bg);box-shadow:var(--panel-shadow);font:max(12px,calc(24 * var(--u))) / 1 var(--font-display)}#held-actions .key{position:relative;display:grid;place-items:center;width:calc(38 * var(--u));height:calc(38 * var(--u))}#held-actions kbd{display:grid;place-items:center;width:100%;height:100%;border-radius:calc(12 * var(--u));background:var(--navy);color:var(--cream-hi);font:inherit}#held-actions .mouse{width:100%;height:100%;background-color:var(--navy);-webkit-mask:url(/assets/ui/left-click.png) center / contain no-repeat;mask:url(/assets/ui/left-click.png) center / contain no-repeat}#held-actions small{position:absolute;top:calc(100% + 3 * var(--u));font:700 calc(13 * var(--u)) var(--font-text);letter-spacing:.08em;text-transform:uppercase;color:var(--cream-hi);text-shadow:0 1px 2px rgba(11,35,64,.8)}#throw-force{position:absolute;left:calc(50% + 373 * var(--u));top:50%;width:calc(252.5 * var(--u));height:calc(339.5 * var(--u));translate:-50% -50%;visibility:hidden}#throw-force.visible{visibility:visible}#throw-force:before,#throw-force .fill{content:"";position:absolute;inset:0;-webkit-mask:url(/assets/ui/throw-arc.png) center / contain no-repeat;mask:url(/assets/ui/throw-arc.png) center / contain no-repeat}#throw-force:before{background:var(--cream-hi);opacity:.4}#throw-force .fill{background:linear-gradient(0deg,var(--gold),var(--coral))}#feedback{position:absolute;top:calc(26 * var(--u) + env(safe-area-inset-top));left:50%;translate:-50% 0;display:flex;flex-direction:column;align-items:center;gap:calc(12 * var(--u))}.money-change{--c: var(--navy);display:flex;align-items:center;gap:calc(12 * var(--u));min-width:calc(240 * var(--u));padding:calc(6 * var(--u)) calc(22 * var(--u)) calc(6 * var(--u)) calc(6 * var(--u));border-radius:999px;background:var(--panel-bg);box-shadow:var(--panel-shadow);animation:pop-in .26s var(--ease-spring);transition:opacity .2s,transform .2s var(--ease-in)}.money-change.leaving{opacity:0;transform:translateY(calc(-10 * var(--u))) scale(.92)}.money-change .head{position:relative;flex:none;width:max(30px,calc(56 * var(--u)));height:max(30px,calc(56 * var(--u)));overflow:hidden;border-radius:50%;box-shadow:inset 0 0 0 calc(3 * var(--u)) #fff9}.money-change .face{position:absolute;inset:18% 14% 20%;background:url(/assets/ui/heads.png) center / contain no-repeat}.money-change .face.portrait{inset:2% 0 -4%;background-position:center bottom;background-size:cover}.money-change .column{display:flex;flex-direction:column;gap:calc(4 * var(--u));min-width:0}.money-change .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:max(10px,calc(19 * var(--u)));font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.75}.money-change .amount{font:max(16px,calc(36 * var(--u))) / 1 var(--font-display);color:var(--c);white-space:nowrap;font-variant-numeric:tabular-nums}#status{position:absolute;left:50%;bottom:calc(14 * var(--u) + env(safe-area-inset-bottom));translate:-50% 0;padding:calc(4 * var(--u)) calc(14 * var(--u));border-radius:999px;background:#0b234059;color:var(--cream-hi);font-size:max(9px,calc(16 * var(--u)));font-weight:600;letter-spacing:.08em;white-space:nowrap;opacity:.7}#status:empty{display:none}#voice-indicator{position:absolute;left:calc(34 * var(--u) + env(safe-area-inset-left));bottom:calc(34 * var(--u) + env(safe-area-inset-bottom));width:calc(64 * var(--u));height:calc(64 * var(--u));padding:calc(12 * var(--u));border-radius:50%;background:var(--teal);box-shadow:var(--panel-shadow);opacity:0;transform:scale(.8);transition:opacity 80ms linear,transform .12s var(--ease-spring)}#voice-indicator.on{opacity:1;transform:none}#voice-indicator img{width:100%;height:100%;object-fit:contain}body:has(#overlay:not(.hidden)) #hud>:not(#toasts){visibility:hidden}@keyframes punch{35%{transform:scale(1.14)}70%{transform:scale(.97)}}@keyframes bounce{30%{transform:translateY(calc(-6 * var(--u))) scale(1.2)}65%{transform:scale(.96)}}@keyframes nudge{20%{transform:translate(calc(-6 * var(--u)))}45%{transform:translate(calc(5 * var(--u)))}70%{transform:translate(calc(-3 * var(--u)))}}@keyframes coin-spin{50%{transform:rotateY(180deg) scale(1.15)}}@keyframes delta-up{0%{transform:translate(calc(30 * var(--u))) scale(1.5)}14%{transform:none}70%{opacity:1;transform:translate(calc(-14 * var(--u)),calc(-6 * var(--u)))}to{opacity:0;transform:translate(calc(-28 * var(--u)),calc(-16 * var(--u)))}}@keyframes delta-down{0%{opacity:1;transform:none}50%{opacity:1}to{opacity:0;transform:translate(calc(-30 * var(--u)),calc(90 * var(--u))) rotate(-8deg)}}@keyframes pop-in{0%{transform:scale(.6)}}@keyframes cursor-press{40%{scale:.72}}@keyframes cursor-refused{0%,60%{--ring: var(--coral);background-color:var(--coral)}15%{translate:calc(-50% - 5 * var(--u)) -50%}35%{translate:calc(-50% + 4 * var(--u)) -50%}}@keyframes key-press{40%{transform:translateY(calc(3 * var(--u)));box-shadow:none}}@keyframes floor-flip{0%{transform:rotateX(90deg) scale(.8)}}@keyframes arrival{0%{transform:translateY(calc(-30 * var(--u))) scale(.9)}10%{transform:none}80%{opacity:1;transform:none}to{opacity:0;transform:translateY(calc(-12 * var(--u)))}}body.touch #brand{left:calc(84px + env(safe-area-inset-left));top:calc(10px + env(safe-area-inset-top))}body.touch #brand>img{display:none}body.touch #money{top:calc(10px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));min-width:0;padding:7px 12px;border-radius:18px;gap:6px}body.touch #players .row:nth-child(n+4){display:none}body.touch #feedback{top:calc(64px + env(safe-area-inset-top))}body.touch .money-change.self,body.touch #status{display:none}body.touch #voice-indicator{left:calc(84px + env(safe-area-inset-left));top:calc(58px + env(safe-area-inset-top));bottom:auto}#result{position:absolute;inset:0}.banner{--c: var(--gold);position:absolute;left:50%;top:31%;display:flex;flex-direction:column;align-items:center;gap:calc(10 * var(--u));translate:-50% -50%;white-space:nowrap;animation:banner-in .38s var(--ease-spring) both}.banner .title{position:relative;padding:calc(8 * var(--u)) calc(26 * var(--u)) calc(6 * var(--u));border-radius:calc(14 * var(--u));background:var(--cream-hi);box-shadow:0 calc(4 * var(--u)) 0 #0b23404d;color:var(--navy);font:max(12px,calc(26 * var(--u))) / 1 var(--font-display);letter-spacing:.14em;text-transform:uppercase}.banner .amount{position:relative;font:max(34px,calc(110 * var(--u))) / .95 var(--font-display);color:var(--gold-hi);-webkit-text-stroke:calc(7 * var(--u)) var(--navy);paint-order:stroke fill;text-shadow:0 calc(8 * var(--u)) 0 var(--navy),0 calc(14 * var(--u)) calc(28 * var(--u)) rgba(11,35,64,.45);font-variant-numeric:tabular-nums}.banner .mult{position:relative;padding:calc(7 * var(--u)) calc(18 * var(--u)) calc(5 * var(--u));border-radius:999px;background:var(--teal);box-shadow:0 calc(4 * var(--u)) 0 var(--teal-deep);color:var(--cream-hi);font:max(14px,calc(32 * var(--u))) / 1 var(--font-display);animation:mult-in .42s .12s var(--ease-spring) both}.banner .rays{position:absolute;left:50%;top:50%;width:calc(900 * var(--u));aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--c) 55%,transparent) 0 9deg,transparent 9deg 22.5deg);-webkit-mask:radial-gradient(circle,#000 12%,transparent 66%);mask:radial-gradient(circle,#000 12%,transparent 66%);animation:rays-spin 9s linear infinite,rays-in .5s var(--ease-out) both}.banner.big .title{background:var(--coral);box-shadow:0 calc(5 * var(--u)) 0 var(--coral-deep);color:var(--cream-hi);font-size:max(16px,calc(40 * var(--u)));clip-path:polygon(0 0,100% 0,96% 50%,100% 100%,0 100%,4% 50%);padding-inline:calc(46 * var(--u))}.banner.big .amount{font-size:max(44px,calc(150 * var(--u)))}.banner.t-huge .amount{font-size:max(52px,calc(176 * var(--u)))}.banner.t-jackpot .title{background:linear-gradient(90deg,var(--flamingo),var(--coral),var(--gold))}.banner.t-jackpot .amount{font-size:max(60px,calc(200 * var(--u)));animation:jackpot .9s ease-in-out infinite}.banner.out{animation:banner-out .42s var(--ease-in) forwards}.banner.lost .amount,.banner.t-tie .amount{font-size:max(24px,calc(72 * var(--u)));-webkit-text-stroke-width:calc(5 * var(--u));text-shadow:0 calc(5 * var(--u)) 0 var(--navy)}.banner.lost .amount{color:var(--coral)}.banner.t-tie .amount{color:var(--cream-hi)}.banner.lost .title,.banner.t-tie .title{font-size:max(11px,calc(22 * var(--u)));opacity:.92}.banner.lost .mult{background:var(--navy);box-shadow:0 calc(4 * var(--u)) 0 var(--navy-deep);font-size:max(12px,calc(24 * var(--u)))}.banner.lost{animation:banner-drop .36s var(--ease-out) both}.banner.lost.out{animation:banner-sink .52s var(--ease-in) forwards}#flash{opacity:0;background:radial-gradient(circle at 50% 32%,color-mix(in srgb,var(--tier) 42%,transparent) 0%,transparent 55%);mix-blend-mode:screen}#flash.on{animation:flash .7s var(--ease-out)}#vignette{opacity:0}#vignette.win{box-shadow:inset 0 0 calc(260 * var(--u)) calc(8 * var(--u)) color-mix(in srgb,var(--tier) 50%,transparent)}#vignette.loss,#vignette.partial{background:radial-gradient(ellipse at center,transparent 52%,rgba(255,122,107,.38) 100%)}#vignette.partial{background:radial-gradient(ellipse at center,transparent 62%,rgba(255,122,107,.24) 100%)}#vignette.on{animation:vignette 1.3s var(--ease-out)}@keyframes banner-in{0%{transform:scale(.4)}to{transform:scale(1)}}@keyframes mult-in{0%{transform:scale(.3) rotate(-12deg)}}@keyframes banner-out{to{opacity:0;transform:translateY(calc(-40 * var(--u))) scale(1.05)}}@keyframes banner-drop{0%{transform:translateY(calc(-30 * var(--u))) scale(.9)}}@keyframes banner-sink{to{opacity:0;transform:translateY(calc(40 * var(--u)))}}@keyframes rays-spin{to{rotate:360deg}}@keyframes rays-in{0%{scale:.3}}@keyframes jackpot{25%{filter:brightness(1.25) saturate(1.2);transform:scale(1.05) rotate(-1.5deg)}75%{transform:scale(.98) rotate(1.5deg)}}@keyframes flash{15%{opacity:1}to{opacity:0}}@keyframes vignette{15%{opacity:1}55%{opacity:.8}to{opacity:0}}#toasts{position:fixed;z-index:25;left:50%;bottom:calc(64 * var(--u) + env(safe-area-inset-bottom));translate:-50% 0;display:flex;flex-direction:column;align-items:center;gap:calc(10 * var(--u));width:max-content;max-width:92vw;pointer-events:none}#denied{position:absolute;left:50%;top:calc(50% + 150 * var(--u));translate:-50% 0;display:flex;flex-direction:column;align-items:center}.toast{--k: var(--navy);display:flex;align-items:center;gap:calc(12 * var(--u));max-width:100%;padding:calc(8 * var(--u)) calc(22 * var(--u)) calc(8 * var(--u)) calc(8 * var(--u));border-radius:999px;background:var(--panel-bg);box-shadow:var(--panel-shadow);color:var(--navy);font-size:max(13px,calc(24 * var(--u)));font-weight:600;line-height:1.15;animation:toast-in var(--t-med) var(--ease-spring) both}.toast .icon{flex:none;display:grid;place-items:center;width:max(22px,calc(38 * var(--u)));height:max(22px,calc(38 * var(--u)));border-radius:50%;background:var(--k);color:var(--cream-hi);font:max(12px,calc(22 * var(--u))) / 1 var(--font-display)}.toast .text{overflow:hidden;text-overflow:ellipsis}.toast .count{flex:none;font-family:var(--font-display);color:var(--k)}.toast .count:empty{display:none}.toast.k-info{--k: var(--navy)}.toast.k-success{--k: var(--palm)}.toast.k-warn{--k: var(--gold-deep)}.toast.k-net{--k: var(--teal-deep)}.toast.k-net .icon{animation:toast-spin 1.2s linear infinite}.toast.k-error{--k: var(--coral-deep);background:linear-gradient(180deg,#fff1ec,#ffd9cf)}.toast.k-deny{background:var(--coral);box-shadow:0 calc(4 * var(--u)) 0 var(--coral-deep),0 calc(10 * var(--u)) calc(24 * var(--u)) #0b23404d;color:#fff;font-family:var(--font-display);font-weight:400;font-size:max(14px,calc(28 * var(--u)));letter-spacing:.02em;animation:toast-in var(--t-fast) var(--ease-spring) both,toast-shake .36s 80ms var(--ease-out)}.toast.k-deny .icon{background:#ffffff40}.toast.k-deny .count{color:var(--cream-hi)}.toast.pulse{animation:toast-pulse .26s var(--ease-spring)}.toast.k-deny.pulse{animation:toast-shake .36s var(--ease-out)}.toast.out{animation:toast-out .2s var(--ease-in) forwards}body.touch #toasts{bottom:auto;top:calc(10px + env(safe-area-inset-top));max-width:min(44vw,420px)}@keyframes toast-in{0%{transform:translateY(calc(12 * var(--u))) scale(.85)}}@keyframes toast-out{to{opacity:0;transform:scale(.9)}}@keyframes toast-pulse{40%{transform:scale(1.06)}}@keyframes toast-shake{20%{transform:translate(calc(-10 * var(--u)))}45%{transform:translate(calc(8 * var(--u)))}70%{transform:translate(calc(-4 * var(--u)))}}@keyframes toast-spin{to{rotate:360deg}}#overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-text);color:var(--navy)}#overlay.hidden{display:none}#overlay .backdrop{position:absolute;inset:0;overflow:hidden;background:url(/art/ux/island-1920.webp) center 60% / cover no-repeat,var(--navy-deep)}@media(max-width:1100px){#overlay .backdrop{background-image:url(/art/ux/island-1024.webp)}}#overlay .backdrop:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 55% 50% at 24% 34%,rgba(255,232,199,.45),transparent 70%),linear-gradient(180deg,transparent 52%,rgba(11,35,64,.35) 72%,rgba(11,35,64,.82) 100%)}#overlay .backdrop:before{content:"";position:absolute;z-index:1;left:5vw;top:calc(50% - 6vh - (min(22vw,37vh)*.45));width:min(44vw,74vh);aspect-ratio:900 / 350;background:url(/assets/dubo/logo.png) center / contain no-repeat;filter:drop-shadow(0 1.2vh 0 rgba(11,35,64,.35)) drop-shadow(0 2vh 3vh rgba(11,35,64,.35));animation:loader-bob 3.2s ease-in-out infinite}#overlay .carpet,#chip-loader{display:none}#title{position:absolute;left:50%;bottom:max(18px,calc(5vh + env(safe-area-inset-bottom)));translate:-50% 0;display:flex;flex-direction:column;align-items:center;gap:1.6vh;width:min(92vw,600px)}body:has(#loader.done) #title{animation:card-in .42s .14s var(--ease-spring) both}#tagline{margin:0;font:clamp(20px,4.6vh,40px) / 1 var(--font-display);letter-spacing:.02em;color:var(--cream-hi);-webkit-text-stroke:clamp(2px,.5vh,4px) var(--navy);paint-order:stroke fill;text-shadow:0 .6vh 0 var(--navy)}#join{display:flex;flex-direction:column;align-items:stretch;gap:1.2vh;width:100%;padding:clamp(12px,2.4vh,22px) clamp(14px,2.6vh,26px);border-radius:clamp(18px,3.4vh,30px);background:var(--panel-bg);box-shadow:0 .8vh #0b23404d,0 2vh 5vh #0b234066}#join label{font-size:clamp(11px,1.9vh,15px);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-deep)}#progress{display:none}#loading{margin:0;min-height:1.2em;font-size:clamp(11px,1.9vh,15px);font-weight:600;color:#12355bb3;text-align:center}#overlay.ready #loading:not(:empty){display:block}#overlay.error #loading{color:var(--coral-deep)}#join .row{display:flex;gap:1.2vh}#name{flex:1;min-width:0;padding:clamp(10px,1.8vh,16px) clamp(12px,2.2vh,20px);border:clamp(2px,.35vh,3px) solid rgba(18,53,91,.16);border-radius:999px;background:#fff;box-shadow:inset 0 .4vh #12355b0f;color:var(--navy);font:600 clamp(16px,3vh,24px) var(--font-text);outline:none;transition:border-color var(--t-fast),box-shadow var(--t-fast)}#name::placeholder{color:#12355b59}#name:focus{border-color:var(--teal);box-shadow:0 0 0 .5vh #2ec4b640}#overlay button{padding:clamp(10px,1.8vh,16px) clamp(22px,4.4vh,40px);border:0;border-radius:999px;background:linear-gradient(180deg,#ff8f81,var(--coral));box-shadow:0 clamp(4px,.7vh,6px) 0 var(--coral-deep),0 1.4vh 2.4vh #e2564a59;color:#fff;font:clamp(18px,3.4vh,28px) / 1 var(--font-display);letter-spacing:.04em;cursor:pointer;transition:transform var(--t-fast) var(--ease-spring),box-shadow var(--t-fast),filter var(--t-fast)}#overlay button:hover:not(:disabled){transform:translateY(-2px) scale(1.03);filter:brightness(1.05)}#overlay button:active:not(:disabled){transform:translateY(clamp(3px,.5vh,4px)) scale(.97);box-shadow:0 1px 0 var(--coral-deep)}#overlay button:focus-visible{outline:3px solid var(--teal);outline-offset:3px}#overlay button:disabled{background:#d9c9b1;box-shadow:0 clamp(4px,.7vh,6px) 0 #b9a68b;color:#12355b80;cursor:progress}#join .links{display:flex;align-items:center;justify-content:center;gap:2vh}#join .links .sep{width:2px;height:1.2em;background:#12355b33}#overlay button.link{position:relative;display:flex;align-items:center;gap:.6em;padding:.3em .2em;background:none;box-shadow:none;color:var(--navy);font:700 clamp(11px,1.9vh,15px) var(--font-text);letter-spacing:.1em;text-transform:uppercase}#overlay button.link:hover{color:var(--teal-deep);transform:none}#overlay button.link .icon{width:1.6em;height:1.1em;background:radial-gradient(circle at 30% 28%,currentColor 0 22%,transparent 24%),radial-gradient(ellipse at 30% 100%,currentColor 0 38%,transparent 40%),radial-gradient(circle at 72% 32%,currentColor 0 18%,transparent 20%),radial-gradient(ellipse at 74% 100%,currentColor 0 30%,transparent 32%)}#overlay button.link.soon:after{content:"Soon";position:absolute;left:50%;bottom:120%;padding:.3em .7em;border-radius:.5em;background:var(--teal);color:#fff;font:.9em var(--font-display);letter-spacing:.06em;white-space:nowrap;translate:-50% 0;animation:soon 1.6s var(--ease-out) forwards}.lobby{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));margin:0;font-size:clamp(10px,1.6vh,13px);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--cream-hi);opacity:.75}#overlay.paused .backdrop{background:#0b23408c;backdrop-filter:blur(6px);pointer-events:none}body.touch #overlay.paused .backdrop{background:#0b2340b8;backdrop-filter:none}#overlay.paused .backdrop:before,#overlay.paused .backdrop:after,#overlay.paused #title,#overlay.paused .lobby{display:none}#pause{position:relative;display:none;flex-direction:column;align-items:center;gap:2.4vh;max-height:100%;padding:2vh;overflow:auto}#overlay.paused #pause{display:flex;animation:card-in .3s var(--ease-spring) both}#pause h2{margin:0;font:normal clamp(40px,10vh,96px) / .9 var(--font-display);color:var(--cream-hi);-webkit-text-stroke:clamp(3px,.7vh,6px) var(--navy);paint-order:stroke fill;text-shadow:0 .9vh 0 var(--navy)}#pause .panel{display:flex;flex-direction:column;gap:2.2vh;width:min(92vw,560px);padding:2.6vh 3vh;border-radius:3.4vh;background:var(--panel-bg);box-shadow:0 .8vh #0b23404d,0 2vh 5vh #0b234066}.setting{display:grid;grid-template-columns:1fr auto;row-gap:1vh;font-size:clamp(13px,2.4vh,19px);font-weight:700}.setting output{font-family:var(--font-display);color:var(--teal-deep)}.setting input{grid-column:1 / -1;-webkit-appearance:none;appearance:none;height:clamp(12px,2vh,16px);margin:0;border-radius:999px;background:linear-gradient(to right,var(--teal) var(--p, 50%),rgba(18,53,91,.12) var(--p, 50%));cursor:pointer}.setting input::-webkit-slider-thumb{-webkit-appearance:none;width:clamp(22px,3.6vh,30px);height:clamp(22px,3.6vh,30px);border:clamp(3px,.5vh,4px) solid var(--navy);border-radius:50%;background:var(--cream-hi);box-shadow:0 3px 0 var(--navy)}.setting input::-moz-range-thumb{width:24px;height:24px;border:3px solid var(--navy);border-radius:50%;background:var(--cream-hi)}.setting .choices{grid-column:1 / -1;display:flex;gap:1vh}#overlay .setting .choices button{flex:1;padding:.6em .4em;background:#12355b14;box-shadow:none;color:var(--navy);font-size:clamp(12px,2.2vh,17px)}#overlay .setting .choices button.active{background:var(--teal);box-shadow:0 3px 0 var(--teal-deep);color:#fff}#pause .keys{margin:0;max-width:min(92vw,900px);font-size:clamp(11px,1.8vh,14px);font-weight:600;line-height:1.6;text-align:center;color:var(--cream-hi);opacity:.85}body.touch #pause .keys{display:none}@media(max-height:500px){#overlay .backdrop:before{top:10vh;width:min(38vw,66vh)}.lobby{left:max(16px,env(safe-area-inset-left));right:auto}#title{left:auto;right:max(16px,env(safe-area-inset-right));translate:none;bottom:max(12px,env(safe-area-inset-bottom));width:min(52vw,420px)}}@keyframes card-in{0%{transform:translateY(16px) scale(.96)}}@keyframes soon{0%{transform:translateY(6px)}12%,75%{opacity:1;transform:none}to{opacity:0}}body.touch{touch-action:none;-webkit-touch-callout:none}#touch{position:fixed;inset:0;display:none;touch-action:none}body.touch-playing #touch{display:block}body:has(#curtain.hold) #touch{visibility:hidden}#touch .stick-ghost{position:absolute;left:calc(54px + env(safe-area-inset-left));bottom:calc(40px + env(safe-area-inset-bottom));display:grid;place-items:center;width:116px;height:116px;border-radius:50%;border:3px dashed rgba(255,247,234,.55);background:radial-gradient(circle,#fff7ea38 0 30%,#0b23402e 31%);color:var(--cream-hi);font:13px / 1 var(--font-display);letter-spacing:.14em;text-shadow:0 1px 2px rgba(11,35,64,.7);pointer-events:none;transition:opacity var(--t-fast)}#touch.moving .stick-ghost{opacity:0}#touch .stick{position:absolute;left:0;top:0;width:116px;height:116px;margin:-58px 0 0 -58px;border-radius:50%;border:3px solid rgba(255,247,234,.75);background:#0b23404d;box-shadow:0 6px 18px #0b234059;opacity:0;transition:opacity .12s;pointer-events:none}#touch .stick.on{opacity:1}#touch .knob{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff,var(--cream) 70%);box-shadow:0 4px #0b234059,0 8px 14px #0b234059}.touch-button{position:absolute;display:grid;place-items:center;align-content:center;gap:2px;padding:0;border:0;border-radius:50%;background:linear-gradient(180deg,var(--cream-hi),var(--cream));box-shadow:0 5px #0b234061,0 10px 18px #0b23404d;color:var(--navy);font:13px / 1 var(--font-display);letter-spacing:.04em;opacity:.92;touch-action:none;transition:transform 90ms var(--ease-out),background var(--t-fast),box-shadow 90ms,opacity var(--t-fast)}.touch-button svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}.touch-button .label{font-size:11px;letter-spacing:.08em}.touch-button.down{transform:translateY(4px) scale(.94);box-shadow:0 1px #0b234061,0 4px 8px #0b23404d}.touch-button.use{right:calc(22px + env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));width:100px;height:100px}.touch-button.use svg{width:34px;height:34px}.touch-button.use .label{max-width:86%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:14px}.touch-button.use.ready{background:linear-gradient(180deg,#4fd8cb,var(--teal));box-shadow:0 5px 0 var(--teal-deep),0 0 0 5px #2ec4b64d,0 10px 22px #15948873;color:#fff;opacity:1;animation:use-breathe 1.6s ease-in-out infinite}.touch-button.use.ready.down{animation:none}.touch-button.use.ready.muted{background:var(--cream, #ffe8c7);box-shadow:0 5px #12355b40,0 8px 18px #0a142840;color:var(--navy, #12355b);animation:none}.touch-button.jump{right:calc(140px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));width:70px;height:70px}.touch-button.crouch{right:calc(46px + env(safe-area-inset-right));bottom:calc(140px + env(safe-area-inset-bottom));width:60px;height:60px}.touch-button.crouch.on{background:linear-gradient(180deg,var(--gold-hi),var(--gold));box-shadow:0 5px 0 var(--gold-deep),0 10px 18px #0b23404d}.touch-button.pause{left:calc(12px + env(safe-area-inset-left));top:calc(10px + env(safe-area-inset-top));width:60px;height:46px;border-radius:16px}.touch-button.pause svg{width:26px;height:26px}.touch-button.fullscreen{left:calc(12px + env(safe-area-inset-left));top:calc(66px + env(safe-area-inset-top));width:46px;height:40px;border-radius:14px;display:none;opacity:.8}.touch-button.fullscreen svg{width:22px;height:22px}.touch-button.fullscreen.shown{display:grid}@keyframes use-breathe{50%{transform:scale(1.04)}}@media(max-height:360px){.touch-button.use{width:88px;height:88px}.touch-button.jump{right:calc(124px + env(safe-area-inset-right));width:62px;height:62px}.touch-button.crouch{bottom:calc(124px + env(safe-area-inset-bottom));width:54px;height:54px}}#hud:has(#terminal-status.visible) #feedback{top:calc(92 * var(--u) + env(safe-area-inset-top))}#hud:has(#live-bets) #voice-indicator{left:calc(488 * var(--u) + env(safe-area-inset-left))}body.touch:has(#live-bets .lb-ticker.visible){--top-taken: 30px}body.touch:has(#terminal-status.visible){--top-taken: 64px}body.touch #toasts{top:calc(10px + var(--top-taken, 0px) + env(safe-area-inset-top))}body.touch #feedback{top:calc(64px + var(--top-taken, 0px) + env(safe-area-inset-top))}#overlay #join>#entry{width:auto;padding:0;border:none;background:none;box-shadow:none}#turn-timer{--size: max(46px, calc(76 * var(--u)));--tone: var(--gold);position:absolute;left:50%;top:50%;width:var(--size);height:var(--size);translate:-50% -50%;pointer-events:none;opacity:0;transform:scale(.85);transition:opacity var(--t-fast, .16s) ease-out,transform var(--t-med, .22s) var(--ease-spring, ease-out)}#turn-timer.visible{opacity:1;transform:none}#turn-timer.urgent{--tone: var(--coral)}#turn-timer svg{width:100%;height:100%;overflow:visible;rotate:-90deg}#turn-timer circle{fill:none;stroke-width:8}#turn-timer .shade{stroke:#0b23408c;stroke-width:14}#turn-timer .track{stroke:#fff7ea4d}#turn-timer .arc{stroke:var(--tone);stroke-linecap:round;transition:stroke .16s ease-out}#turn-timer .label{position:absolute;left:50%;top:calc(50% + 140 * var(--u));display:flex;align-items:center;gap:max(5px,calc(10 * var(--u)));translate:-50% 0;padding:max(2px,calc(4 * var(--u))) max(4px,calc(6 * var(--u))) max(2px,calc(4 * var(--u))) max(9px,calc(16 * var(--u)));border-radius:999px;background:#12355be0;box-shadow:0 calc(3 * var(--u)) calc(10 * var(--u)) #0a142859;color:var(--cream-hi);font:600 max(11px,calc(20 * var(--u))) / 1 var(--font-text, "DuboText", system-ui, sans-serif);letter-spacing:.05em;white-space:nowrap}#turn-timer .sec{display:grid;place-items:center;min-width:max(20px,calc(36 * var(--u)));height:max(20px,calc(36 * var(--u)));padding:0 max(3px,calc(6 * var(--u)));border-radius:999px;background:var(--tone);color:var(--navy);font:max(13px,calc(26 * var(--u))) / 1 var(--font-display, "DuboDisplay", sans-serif);letter-spacing:0;transition:background .16s ease-out}#turn-timer.urgent .sec{color:#fff}#turn-timer.pulse .sec{animation:turn-pulse .42s var(--ease-spring, ease-out)}#turn-timer.pulse svg{animation:turn-ring .42s ease-out}@keyframes turn-pulse{0%{transform:scale(1.35)}to{transform:none}}@keyframes turn-ring{0%{scale:1.12}to{scale:1}}body.touch #turn-timer{--size: 52px}body.touch #turn-timer .label{top:calc(100% + 6px)}body.touch #turn-timer circle{stroke-width:7}body.touch #turn-timer .shade{stroke-width:12}#terminal-status.urgent{border-color:#ff7a6bd9}#terminal-status.urgent:before{background:var(--coral);box-shadow:0 0 calc(8 * var(--u)) #ff7a6be6}@media(prefers-reduced-motion:reduce){#turn-timer.pulse .sec,#turn-timer.pulse svg{animation:none}}#away-timer{--loop: 2.6s;--tone: var(--gold);--sand: var(--gold);position:fixed;z-index:8;right:calc(40 * var(--u) + env(safe-area-inset-right));bottom:calc(44 * var(--u) + env(safe-area-inset-bottom));display:grid;grid-template-columns:auto auto;align-items:center;gap:calc(22 * var(--u));min-width:calc(440 * var(--u));padding:calc(18 * var(--u)) calc(34 * var(--u)) calc(30 * var(--u)) calc(18 * var(--u));border:calc(3 * var(--u)) solid rgba(18,53,91,.14);border-radius:calc(34 * var(--u));background:var(--panel-bg);box-shadow:var(--panel-shadow);color:var(--navy);font-family:var(--font-text);line-height:1;pointer-events:none;user-select:none;-webkit-user-select:none;visibility:hidden;opacity:0;transform:translateY(calc(18 * var(--u))) scale(.94);transform-origin:100% 100%;transition:opacity var(--t-med) var(--ease-out),transform var(--t-med) var(--ease-spring),border-color .16s ease-out,visibility 0s linear var(--t-med)}#away-timer.visible{visibility:visible;opacity:1;transform:none;pointer-events:auto;transition-delay:0s}#away-timer.lookable{cursor:pointer}#away-timer.urgent{--tone: var(--coral);--sand: var(--coral);--loop: 1s;border-color:#ff7a6bd9;box-shadow:var(--panel-shadow),0 0 calc(26 * var(--u)) #ff7a6b8c}body.tablet-open #away-timer,body:has(#curtain.iris) #away-timer,body:has(#curtain.hold) #away-timer{display:none}body:has(#held-actions .action) #away-timer{bottom:calc(230 * var(--u) + env(safe-area-inset-bottom))}#away-timer .glass{display:grid;place-items:center;width:calc(124 * var(--u));height:calc(124 * var(--u));border-radius:50%;background:radial-gradient(circle at 50% 35%,#1d4b7c,var(--navy) 62%,var(--navy-deep));box-shadow:inset 0 calc(-5 * var(--u)) 0 #00000038,0 0 0 calc(4 * var(--u)) var(--tone);transition:box-shadow .16s ease-out}#away-timer .glass svg{width:calc(64 * var(--u));height:calc(86 * var(--u));overflow:visible}#away-timer .hg-glass{fill:#fff7ea38;stroke:#fff7ead9;stroke-width:1.6}#away-timer .hg-sand{fill:var(--sand)}#away-timer .hg-stream{stroke:var(--sand);stroke-width:1.8;stroke-linecap:round;stroke-dasharray:2.2 2.4}#away-timer .hg-post{fill:#c98f2e}#away-timer .hg-plate{fill:var(--brass);stroke:#9c6a1c;stroke-width:1}#away-timer .hg,#away-timer .hg-top,#away-timer .hg-bottom,#away-timer .hg-stream{transform-box:fill-box;animation-duration:var(--loop);animation-iteration-count:infinite;animation-timing-function:linear}#away-timer .hg{transform-origin:50% 50%;animation-name:hg-flip}#away-timer .hg-top{transform-origin:50% 100%;animation-name:hg-top}#away-timer .hg-bottom{transform-origin:50% 100%;animation-name:hg-bottom}#away-timer .hg-stream{animation-name:hg-stream}#away-timer.urgent .glass.restart .hg{animation-name:hg-flip-urgent}#away-timer.urgent .glass.restart .hg-top{animation-name:hg-top-urgent}#away-timer.urgent .glass.restart .hg-bottom{animation-name:hg-bottom-urgent}#away-timer:not(.visible) .glass *{animation-play-state:paused}@keyframes hg-flip{0%,80%{transform:rotate(0);animation-timing-function:cubic-bezier(.45,-.25,.35,1.35)}to{transform:rotate(180deg)}}@keyframes hg-top{0%{transform:scaleY(1)}78%,to{transform:scaleY(0)}}@keyframes hg-bottom{0%{transform:scaleY(.05)}78%,to{transform:scaleY(1)}}@keyframes hg-stream{0%,74%{opacity:1}79%,to{opacity:0}}@keyframes hg-flip-urgent{0%,72%{transform:rotate(0);animation-timing-function:cubic-bezier(.45,-.25,.35,1.35)}to{transform:rotate(180deg)}}@keyframes hg-top-urgent{0%{transform:scaleY(1)}70%,to{transform:scaleY(0)}}@keyframes hg-bottom-urgent{0%{transform:scaleY(.05)}70%,to{transform:scaleY(1)}}#away-timer .text{display:flex;flex-direction:column;gap:calc(8 * var(--u));min-width:0}#away-timer .kind{color:var(--teal-deep);font:700 max(10px,calc(18 * var(--u))) / 1 var(--font-text);letter-spacing:.12em;text-transform:uppercase}#away-timer.owner .kind{color:var(--gold-deep)}#away-timer .game{font:max(18px,calc(46 * var(--u))) / 1 var(--font-display);letter-spacing:.01em;white-space:nowrap}#away-timer .line{display:flex;align-items:center;gap:calc(12 * var(--u));margin-top:calc(2 * var(--u));font:600 max(12px,calc(26 * var(--u))) / 1 var(--font-text);white-space:nowrap}#away-timer .line .sec{display:grid;place-items:center;min-width:max(26px,calc(58 * var(--u)));height:max(24px,calc(52 * var(--u)));padding:0 calc(10 * var(--u));border-radius:999px;background:var(--tone);box-shadow:inset 0 calc(-3 * var(--u)) 0 #0b234033;color:var(--navy);font:max(16px,calc(36 * var(--u))) / 1 var(--font-display);transition:background .16s ease-out}#away-timer.urgent .line .sec{color:#fff}#away-timer.urgent .glass.restart~.text .sec{animation:turn-pulse .42s var(--ease-spring, ease-out)}#away-timer.nosec .line .sec{display:none}#away-timer .bar{position:absolute;left:calc(34 * var(--u));right:calc(34 * var(--u));bottom:calc(14 * var(--u));height:calc(8 * var(--u));border-radius:999px;background:#12355b1f;overflow:hidden}#away-timer .bar>i{display:block;height:100%;border-radius:inherit;background:var(--tone);transform-origin:0 50%;transition:transform 60ms linear,background .16s ease-out}#away-timer.nobar .bar{display:none}#away-timer .hint{position:absolute;top:calc(-14 * var(--u));right:calc(30 * var(--u));display:flex;align-items:center;gap:calc(8 * var(--u));padding:calc(5 * var(--u)) calc(14 * var(--u)) calc(5 * var(--u)) calc(6 * var(--u));border-radius:999px;background:var(--navy);box-shadow:0 calc(3 * var(--u)) 0 #0b23404d;color:var(--cream-hi);font:700 max(9px,calc(16 * var(--u))) / 1 var(--font-text);letter-spacing:.08em;text-transform:uppercase}#away-timer .hint kbd{display:grid;place-items:center;min-width:calc(24 * var(--u));height:calc(22 * var(--u));padding:0 calc(5 * var(--u));border-radius:calc(6 * var(--u));background:var(--cream-hi);color:var(--navy);font:max(10px,calc(16 * var(--u))) / 1 var(--font-display)}#away-timer:not(.lookable) .hint{display:none}body.touch #away-timer{top:var(--away-top, calc(96px + env(safe-area-inset-top)) );right:calc(12px + env(safe-area-inset-right));bottom:auto;min-width:0;max-width:230px;gap:9px;padding:7px 14px 11px 7px;border-width:1px;border-radius:18px;transform-origin:100% 0}body.touch #away-timer .glass{width:42px;height:42px;box-shadow:inset 0 -2px #00000038,0 0 0 2px var(--tone)}body.touch #away-timer .glass svg{width:22px;height:30px}body.touch #away-timer .text{gap:3px}body.touch #away-timer .kind{display:none}body.touch #away-timer .hint{top:-7px;right:12px;padding:2px 6px;box-shadow:none;font-size:8px}body.touch #away-timer .game{font-size:15px}body.touch #away-timer .line{gap:6px;margin-top:0;font-size:11px}body.touch #away-timer .line .sec{min-width:22px;height:20px;padding:0 6px;font-size:14px}body.touch #away-timer .bar{left:14px;right:14px;bottom:5px;height:3px}@media(prefers-reduced-motion:reduce){#away-timer .hg,#away-timer.urgent .glass.restart~.text .sec{animation:none}}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;background:var(--navy-deep);font-family:var(--font-text);color:var(--cream-hi);user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}input,textarea{user-select:text;-webkit-user-select:text}#view{position:fixed;inset:0;z-index:0;width:100%;height:100%;display:block}#vignette,#flash,#fx{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}#vignette{z-index:1}#flash{z-index:2}#curtain{z-index:4}#hud{z-index:5}#fx{z-index:6}#touch{z-index:7}#overlay{z-index:10}#loader{z-index:20}#rotate{z-index:30}#overlay #entry{--navy: #12355b;--cream: #fff6e8;--sand: #ffe8c7;--coral: #ff7a6b;--coral-d: #d9564a;--teal: #2ec4b6;--gold: #ffb547;position:relative;display:flex;flex-direction:column;gap:10px;width:min(440px,92vw);padding:12px 14px 14px;border:3px solid var(--navy);border-radius:22px;background:var(--cream);box-shadow:0 6px 0 var(--navy),0 18px 40px #0a142873;color:var(--navy);font:500 15px/1.25 Fredoka,system-ui,sans-serif;text-transform:none;letter-spacing:0}#overlay #entry[hidden],#overlay #entry [hidden]{display:none!important}#overlay #entry .entry-mock{position:absolute;top:-12px;right:16px;padding:3px 10px;border:2px solid var(--navy);border-radius:999px;background:var(--gold);font:700 11px/1.2 Fredoka,sans-serif;letter-spacing:.08em;text-transform:uppercase}#overlay #entry .entry-tabs,#overlay #entry .entry-switch{display:flex;gap:4px;padding:4px;border-radius:14px;background:var(--sand);box-shadow:inset 0 2px #12355b14}#overlay #entry .entry-tab,#overlay #entry .entry-switch button{flex:1;min-height:36px;padding:6px 8px;border:none;border-radius:10px;background:transparent;box-shadow:none;color:#12355bb3;font:600 14px/1.1 Fredoka,sans-serif;letter-spacing:0;text-transform:none;transform:none;transition:background .15s,color .15s,transform .15s}#overlay #entry .entry-tab:hover,#overlay #entry .entry-switch button:hover{color:var(--navy);transform:none}#overlay #entry .entry-tab[aria-selected=true],#overlay #entry .entry-switch button[aria-checked=true]{background:#fff;color:var(--coral-d);box-shadow:0 2px #12355b2e}#overlay #entry .entry-switch{padding:3px;background:#12355b0f}#overlay #entry .entry-switch button{min-height:30px;font-size:13px}#overlay #entry .entry-pane{display:flex;flex-direction:column;gap:8px;animation:entry-pane .18s ease-out backwards}@keyframes entry-pane{0%{opacity:.4}}#overlay #entry label{font:700 11px/1 Fredoka,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#12355b99}#overlay #entry .row{display:flex;gap:8px;width:100%}#overlay #entry input{flex:1;min-width:0;min-height:46px;padding:10px 14px;border:2px solid rgba(18,53,91,.18);border-radius:12px;background:#fff;box-shadow:inset 0 2px #12355b0f;color:var(--navy);font:500 18px/1.2 Fredoka,sans-serif;text-transform:none;outline:none;transition:border-color .15s,box-shadow .15s;user-select:text}#overlay #entry input::placeholder{color:#12355b59}#overlay #entry input:focus{border-color:var(--teal);box-shadow:0 0 0 4px #2ec4b638}#overlay #entry input:disabled{opacity:.55}#overlay #entry .play-slot{display:contents}#overlay #entry #play,#overlay #entry .entry-primary{min-height:46px;padding:8px 26px;border:none;border-radius:14px;background:linear-gradient(180deg,#ff8d7f,var(--coral));box-shadow:0 5px 0 var(--coral-d),0 8px 16px #d9564a59;color:#fff;font:22px/1 Lilita,Fredoka,sans-serif;letter-spacing:.02em;text-transform:none;text-shadow:0 2px 0 rgba(150,40,30,.35);transition:transform .12s cubic-bezier(.3,1.6,.5,1),box-shadow .12s}#overlay #entry #play:hover:not(:disabled),#overlay #entry .entry-primary:hover:not(:disabled){transform:translateY(-1px) scale(1.02)}#overlay #entry #play:active:not(:disabled),#overlay #entry .entry-primary:active:not(:disabled){transform:translateY(4px) scale(.98,.95);box-shadow:0 1px 0 var(--coral-d)}#overlay #entry #play:disabled,#overlay #entry .entry-primary:disabled{background:#e3d6c3;box-shadow:0 5px #c9b9a2;color:#fff;text-shadow:none;cursor:progress}#overlay #entry #play:focus-visible,#overlay #entry .entry-tab:focus-visible,#overlay #entry .entry-switch button:focus-visible,#overlay #entry .entry-primary:focus-visible,#overlay #entry .entry-link:focus-visible{outline:3px solid var(--gold);outline-offset:2px}#overlay #entry .entry-note{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;color:#12355bb3}#overlay #entry .entry-chip{padding:2px 8px;border-radius:999px;background:var(--teal);color:#fff;font:700 10px/1.4 Fredoka,sans-serif;letter-spacing:.1em}#overlay #entry .entry-auth{display:flex;flex-direction:column;gap:8px}#overlay #entry .entry-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px}#overlay #entry[data-auth=register] .entry-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#overlay #entry .entry-fields .entry-primary{padding:8px 18px;font-size:19px}#overlay #join:has(#entry[data-mode=account]) .links{display:none}@media(max-height:820px){#overlay #title:has(#entry[data-mode=account]) #tagline,#overlay:has(#entry[data-mode=account]) .lobby{display:none}}#overlay #entry .entry-error{min-height:16px;margin:0;font-size:13px;color:var(--coral-d)}#overlay #entry .entry-error:empty{display:none}#overlay #entry.offline .entry-error{padding:8px 10px;border-radius:10px;background:#ffb54738;color:var(--navy)}#overlay #entry .entry-card{display:flex;flex-direction:column;gap:10px}#overlay #entry .entry-who{display:flex;align-items:center;gap:10px}#overlay #entry .entry-avatar{display:grid;place-items:center;width:50px;height:50px;border:2px solid var(--navy);border-radius:50%;background:#fff1dd center 35% / 118% no-repeat;overflow:hidden}#overlay #entry .entry-id{display:flex;flex:1;flex-direction:column;min-width:0}#overlay #entry .entry-id b{overflow:hidden;font:22px/1.1 Lilita,Fredoka,sans-serif;text-overflow:ellipsis;white-space:nowrap}#overlay #entry .entry-id small{font-size:12px;color:#12355b99}#overlay #entry .entry-link{padding:4px 6px;border:none;background:none;box-shadow:none;color:#12355ba6;font:600 13px/1 Fredoka,sans-serif;text-decoration:underline;text-transform:none;letter-spacing:0}#overlay #entry .entry-link:hover{color:var(--coral-d);transform:none}#overlay #entry .entry-balances{display:grid;grid-template-columns:1fr 1fr;gap:8px}#overlay #entry .entry-balance{display:grid;grid-template-columns:1fr auto;align-items:end;padding:8px 10px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 2px #12355b14}#overlay #entry .entry-balance small{grid-column:1 / -1;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#12355b8c}#overlay #entry .entry-balance b{font:600 20px/1.1 Fredoka,sans-serif;font-variant-numeric:tabular-nums}#overlay #entry .entry-balance.usd b{color:#c27a12}#overlay #entry .entry-balance i{padding:1px 6px;border-radius:999px;background:var(--sand);font:700 10px/1.4 Fredoka,sans-serif;font-style:normal;letter-spacing:.06em}#overlay #entry .entry-balance.usd i{background:var(--gold)}#overlay #entry .entry-balance.demo i{background:var(--teal);color:#fff}#overlay #entry .entry-card #play{width:100%}@media(max-height:520px){#overlay #title{top:47%}#overlay #title:has(#entry[data-mode=account][data-auth=register]){top:40%}#overlay #entry .entry-switch button{min-height:28px}#overlay #entry{gap:6px;width:min(420px,70vw);padding:8px 10px 10px;border-radius:18px;font-size:13px}#overlay #entry .entry-tab{min-height:32px;font-size:13px}#overlay #entry .entry-guest label{display:none}#overlay #entry input,#overlay #entry #play,#overlay #entry .entry-primary{min-height:40px;font-size:16px}#overlay #entry #play,#overlay #entry .entry-primary{font-size:19px}#overlay #entry .entry-note{font-size:12px}#overlay #join .links{display:none}#overlay #entry .entry-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 8px}#overlay #entry .entry-who{grid-column:1 / -1}#overlay #entry .entry-card #play{width:auto;height:100%}#overlay #entry .entry-card #play .play-as{display:none}}@media(max-height:700px){#overlay #entry .entry-card{gap:6px}#overlay #entry .entry-avatar{width:38px;height:38px}#overlay #entry .entry-id b{font-size:18px}#overlay #entry .entry-balance{padding:5px 8px}#overlay #entry .entry-balance b{font-size:16px}#overlay #entry .entry-card #play{min-height:40px}}
