*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#0c2b50;font-family:Arial,Helvetica,sans-serif;color:#fff}body{background:radial-gradient(ellipse at center,#315b89 0,#173b64 55%,#0b2c52 100%)}#viewport{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);overflow:hidden}#game{position:relative;width:385px;height:716px;overflow:hidden;background:#0a1732;transform-origin:top left;user-select:none}.castle{position:absolute;top:0;left:0;width:385px;height:270px;background:url('assets/sprites/image_background_BG1.png') center top/385px auto no-repeat}.starfield{position:absolute;inset:0 0 auto;height:230px;background:linear-gradient(#041a46aa,transparent 48%);pointer-events:none}header{position:absolute;z-index:7;top:0;width:100%;height:100px;pointer-events:none}.demo-tag{position:absolute;top:5px;left:5px;padding:2px 5px;background:#081936a8;border:1px solid #72add0;border-radius:3px;color:#d2edff;font:bold 8px Arial;letter-spacing:1px}.logo{position:absolute;top:-3px;left:149px;width:87px;height:53px;object-fit:contain;filter:drop-shadow(0 1px 2px #000)}.round{position:absolute;top:50px;left:143px;width:100px;text-align:center;color:#ffe685;font-size:11px;font-weight:700;text-shadow:1px 1px #6e180f}.icon-button{pointer-events:auto;position:absolute;right:13px;top:12px;border:0;background:none;padding:0;width:38px;height:40px;cursor:pointer}.icon-button img{width:100%;height:100%}.timer{position:absolute;z-index:5;top:91px;left:41px;width:48px;height:54px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,#fff 0 50%,#ffd3a2 52% 60%,#f06e14 67%,transparent 70%);filter:drop-shadow(0 2px 3px #08132c);font-size:19px;font-weight:800;color:#b92423}.recent{position:absolute;z-index:4;top:51px;right:9px;width:105px;height:53px;background:#031944cb;border-radius:3px;text-align:center}.recent-dots{display:flex;gap:5px;justify-content:center;margin-top:7px}.recent-dots i{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff,#dce1e8 65%,#888);box-shadow:0 1px 2px #000}.recent-dots i.red{background:radial-gradient(circle at 30% 25%,#ff7070,#f21c29 65%,#9d1018)}.recent span{display:block;margin-top:6px;color:#ffd44f;font-weight:bold;font-size:10px}.players{position:absolute;z-index:4;right:18px;top:195px;display:flex;flex-direction:column;align-items:center;color:#ffdc72;text-shadow:0 1px 2px #000}.players>span{display:grid;place-items:center;width:27px;height:27px;border:2px solid #e4bc58;border-radius:50%;background:#133f77;font-size:20px}.players small{margin-top:-1px;padding:0 3px;background:#093d8a;border:1px solid #9bb9f2;border-radius:6px;color:white;font-size:10px}.stage-edge{position:absolute;z-index:1;left:0;right:0;top:239px;height:17px;background:linear-gradient(#1d131c,#494050 45%,#160d17 90%);box-shadow:0 2px 8px #000}#animation-layer{position:absolute;z-index:4;inset:0;pointer-events:none}#animation-layer canvas{width:385px;height:716px}.playfield{position:absolute;z-index:3;left:0;top:258px;width:385px;height:458px;background:linear-gradient(#171b2b 0%,#111624 45%,#101629 100%)}.bet-hint{height:10px;text-align:right;padding-right:8px;color:#b6b0bb;font-size:9px}.main-bets{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin:0 5px}.bet-zone{height:118px;border:1px solid #1d438b;color:#14a1ff;background:linear-gradient(120deg,#163566,#1e497e);font:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;text-shadow:0 1px 1px #04224c}.bet-zone.red{background:linear-gradient(120deg,#841c1a,#a0231e);border-color:#a52c26;color:#ff3e34}.bet-zone strong{font-size:20px}.bet-zone small{font-size:15px;margin-top:4px}.bet-zone.selected{outline:2px solid #ffe56c;outline-offset:-2px;filter:brightness(1.2)}.odds-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,57px);gap:3px;margin:4px 5px 0}.odd{border:1px solid #545666;background:#1d1e28;color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;cursor:pointer}.odd.selected{border-color:#ffe56c;background:#343443}.balls{display:flex;align-items:center;gap:2px}.ball{display:block;width:19px;height:19px;background:url('assets/image-no-zip_game_betPanel_white.png') center/contain no-repeat}.ball.red{background-image:url('assets/image-no-zip_game_betPanel_red.png')}.ball.num{display:grid;place-items:center;background:#f7f7f7;border-radius:50%;font-size:12px;color:#263042;font-weight:bold}.ball.num.red{background:#f34043;color:#fff}.odd b{font-size:12px}.money-row{height:24px;display:flex;align-items:center;justify-content:space-around;font-size:11px;background:#151925}.money-row div{display:flex;align-items:center;gap:2px}.money-row img{width:14px;height:14px}.money-row b{color:#ffd430;margin-left:2px}.money-row div:last-child b{color:#4dfa47}.chip-panel{position:relative;height:71px;background:url('assets/image-no-zip_ui_bet_panel_background.png') center bottom/cover no-repeat;display:flex;align-items:center;padding-left:82px;gap:2px}.avatar{position:absolute;left:6px;bottom:9px;width:69px;height:57px;object-fit:contain}.nickname{position:absolute;left:5px;bottom:1px;width:73px;background:#062867;border-radius:7px;text-align:center;color:#ffe15a;font-weight:bold;font-size:11px}.chips{display:flex;gap:2px}.chip{position:relative;width:47px;height:47px;flex:none;border:0;padding:0;background:none;cursor:pointer;opacity:.68}.chip img{width:100%;height:100%}.chip span{position:absolute;inset:0;display:grid;place-items:center;color:#fff;text-shadow:0 1px 2px #833;font-weight:bold;font-size:14px}.chip.active{width:55px;height:55px;opacity:1;filter:drop-shadow(0 0 3px #ffcb32)}.chip.active img{transform:rotate(-12deg)}.small-round{width:27px;height:27px;border-radius:50%;border:2px solid #f7bb35;background:#093769;color:#f6c843;cursor:pointer}.action{width:44px;height:39px;border-radius:50%;font-size:24px;font-weight:bold;border:2px solid #627a9d;background:#5b6686;color:#b4b8ca;cursor:pointer}.action.confirm{border-color:#3b9db0;background:#0d8d8a;color:#b6fff1}.history{height:143px;background:#10172a;padding:1px 5px;position:relative}.history-title{font-size:9px;color:#c9ced8;padding:2px 3px;height:18px;display:flex;justify-content:space-between}.history-title span{color:#ddd}.history-dots{display:grid;grid-template-columns:repeat(12,11px);grid-auto-rows:11px;gap:1px;width:144px;height:78px;overflow:hidden}.history-dots i,.roadmap i{width:9px;height:9px;border-radius:50%;background:#f5f6f8}.history-dots i.red,.roadmap i.red{background:#f34141}.history-dots i.blue,.roadmap i.blue{background:#22a8e6}.history-dots i.green,.roadmap i.green{background:#46d870}.roadmap{position:absolute;top:20px;left:156px;width:222px;height:82px;display:grid;grid-template-columns:repeat(18,11px);grid-auto-rows:11px;gap:1px;overflow:hidden;background:#031a30}.history-label{position:absolute;bottom:34px;right:6px;font-size:7px;color:#aab6c7}.toast{position:absolute;z-index:20;bottom:155px;left:50%;transform:translateX(-50%);width:max-content;max-width:320px;padding:8px 12px;border-radius:18px;background:#061a37e8;color:#fff;font-size:12px;opacity:0;transition:opacity .2s;pointer-events:none}.toast.show{opacity:1}.menu{position:absolute;z-index:30;top:115px;left:55px;width:275px;padding:22px;background:linear-gradient(#143c8d,#092a64);border:2px solid #c49a46;border-radius:12px;box-shadow:0 10px 30px #0009;text-align:center}.menu.hidden{display:none}.menu h2{margin:2px 0 12px;color:#ffda76;font-size:18px}.menu p{font-size:13px;line-height:1.4}.menu button{cursor:pointer}.menu #close-menu{position:absolute;right:7px;top:5px;border:0;background:none;color:#fff;font-size:21px}.menu #play-round{border:1px solid #efbe51;border-radius:18px;padding:8px 16px;background:#1b9d57;color:#fff;font-weight:bold}

.result-banner{position:absolute;z-index:7;left:120px;top:180px;width:145px;height:45px;background:url("assets/sprites/image_background_resultBg.png") center/100% 100% no-repeat;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0;filter:drop-shadow(0 2px 3px #0009)}.result-banner.hidden{display:none}#result-balls{display:flex;gap:3px}#result-balls i{width:18px;height:18px;background:url("assets/image-no-zip_game_betPanel_white.png") center/contain no-repeat}#result-balls i.red{background-image:url("assets/image-no-zip_game_betPanel_red.png")}#result-words{font-size:10px;color:#ffcc6b;text-shadow:0 1px 2px #000}.menu #sound-button{display:block;margin:0 auto 10px;border:1px solid #8ac6f8;border-radius:17px;padding:7px 14px;background:#174682;color:white;font-weight:bold}

.flying-chips{position:absolute;z-index:5;inset:0 0 184px;pointer-events:none;overflow:hidden}.flying-chip{position:absolute;width:25px;height:25px;left:var(--from-x);top:var(--from-y);background:url("assets/sprites/image_chip_5.png") center/contain no-repeat;filter:drop-shadow(0 2px 2px #0009);transform:translate(-50%,-50%) scale(.72);animation:chip-flight .62s cubic-bezier(.23,.75,.45,1) forwards;opacity:1}.flying-chip.land{left:var(--to-x);top:var(--to-y);transform:translate(-50%,-50%) scale(var(--land-scale,.55));animation:none;opacity:.86}.flying-chip.mine.land{filter:drop-shadow(0 0 2px #ffdc45)}@keyframes chip-flight{0%{left:var(--from-x);top:var(--from-y);transform:translate(-50%,-50%) scale(.8) rotate(0deg);opacity:1}55%{transform:translate(-50%,-85%) scale(1) rotate(160deg);opacity:1}100%{left:var(--to-x);top:var(--to-y);transform:translate(-50%,-50%) scale(var(--land-scale,.55)) rotate(320deg);opacity:.86}}
