.mobile-viewport{position:relative;width:min(430px,100%);height:min(820px,calc(100svh - 24px));min-height:720px;max-height:820px;overflow:hidden;display:flex;flex-direction:column;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));isolation:isolate}.mobile-viewport:after{content:'';position:absolute;z-index:40;inset:5px;border:1px solid rgba(255,255,255,.09);border-radius:29px;pointer-events:none}.mobile-viewport .stage{flex:1;min-height:0;height:auto;overflow:hidden;contain:layout paint;border-radius:22px}.mobile-viewport .stage>*{max-width:100%;max-height:100%;position:relative;z-index:1}.mobile-viewport .phone-status,.mobile-viewport .phone-game-title,.mobile-viewport .notice,.mobile-viewport .result,.mobile-viewport .feature-bar,.mobile-viewport .hud{flex:none}.mobile-viewport .stage.round-sealed:before{content:'RNG SEALED';position:absolute;z-index:30;inset:10px 10px auto auto;width:max-content;height:max-content;padding:6px 8px;border-radius:99px;background:rgba(4,12,10,.82);border:1px solid var(--secondary);color:var(--secondary);font:800 .37rem var(--display);letter-spacing:.08em;animation:sealPulse .65s ease-in-out infinite alternate;pointer-events:none}.mobile-viewport .stage.round-settled:before{content:'SETTLED';color:#b7ff34;border-color:#b7ff34;animation:none}.mobile-viewport .stage.anticipation{animation:viewportAnticipation .32s ease-in-out 3}.mobile-viewport .stage.anticipation:after{animation:ambient-spin 2s linear infinite;filter:brightness(1.8)}body[data-engine="throw"] .mobile-viewport .stage,body[data-engine="target"] .mobile-viewport .stage,body[data-engine="bowling"] .mobile-viewport .stage,body[data-engine="claw"] .mobile-viewport .stage{padding:8px}.throw-field.deluxe{width:100%;height:min(330px,48svh);max-height:100%;overflow:hidden}.moving-target{animation:coconutTargetDrift 2.4s ease-in-out infinite alternate;transform-origin:center}.moving-target.locked{animation-play-state:paused}.throw-field.deluxe .combo-chip{max-width:55%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.throw-field.deluxe:before{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,214,82,.12) 50%,transparent 60%);animation:arenaSweep 4s linear infinite;z-index:1}.throw-field .wind-lines{position:absolute;inset:0;z-index:2;pointer-events:none;background:repeating-linear-gradient(165deg,transparent 0 34px,rgba(255,255,255,.11) 35px 36px,transparent 37px 68px);animation:windMove 2.8s linear infinite}.throw-field .impact-burst{position:absolute;z-index:8;left:var(--ix,50%);top:var(--iy,50%);width:12px;height:12px;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 0 rgba(255,214,82,.9);opacity:0}.throw-field .impact-burst.show{animation:impactRing .55s ease-out}.coconut-markets{position:relative;z-index:5}.round-history{position:absolute;z-index:25;left:12px;right:12px;bottom:106px;display:flex;justify-content:flex-end;gap:4px;pointer-events:none}.round-history i{width:8px;height:8px;border-radius:50%;background:#ff586d;box-shadow:0 0 8px currentColor}.round-history i.win{background:#b7ff34}.round-history i.big{background:#ffd65a;transform:scale(1.3)}@keyframes sealPulse{to{filter:brightness(1.5);box-shadow:0 0 14px color-mix(in srgb,var(--secondary) 50%,transparent)}}@keyframes viewportAnticipation{50%{transform:scale(.992);filter:brightness(1.2)}}@keyframes coconutTargetDrift{0%{transform:translate(-50%,-50%) translate(-13px,6px) rotate(-2deg)}100%{transform:translate(-50%,-50%) translate(13px,-6px) rotate(2deg)}}@keyframes arenaSweep{to{transform:translateX(100%)}}@keyframes windMove{to{background-position:130px -40px}}@keyframes impactRing{0%{opacity:1;box-shadow:0 0 0 0 rgba(255,214,82,.95)}100%{opacity:0;box-shadow:0 0 0 70px rgba(255,214,82,0)}}@media(max-width:540px){.mobile-viewport{width:100vw;height:calc(100svh - 52px);max-height:none;min-height:640px;border-radius:0!important;border:0!important;padding-inline:max(8px,env(safe-area-inset-left))}.mobile-viewport .bet-control{grid-column:auto}.mobile-viewport:after{border-radius:0}.mobile-viewport .stage{border-radius:18px}.throw-field.deluxe{height:min(320px,45svh)}}
