:root{
  --green:#20e287;--green2:#16d879;--green-dark:#08b965;--red:#ef3d54;--violet:#b347d6;
  --orange:#f4a22e;--blue:#4f8ed8;--ink:#333;--muted:#858585;--line:#ededed;--page:#f2f2f2;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;background:#e9e9e9;color:var(--ink)}
button,input,textarea{font:inherit}.hidden{display:none!important}button{cursor:pointer}

/* Auth */
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:22px;background:linear-gradient(180deg,#20e287 0 34%,#f2f2f2 34%)}
.auth-card{width:min(390px,100%);background:#fff;border-radius:18px;padding:24px 20px 22px;box-shadow:0 12px 35px rgba(0,0,0,.12)}
.auth-logo,.yw-logo{position:relative;color:#fff;font-weight:900;font-style:italic;letter-spacing:-1px;text-align:center}
.auth-logo{color:var(--green-dark);font-size:31px}.auth-logo span,.yw-logo span{position:absolute;left:50%;transform:translateX(-50%);bottom:-4px;width:62px;height:9px;border-bottom:2px solid currentColor;border-radius:50%}
.auth-sub{text-align:center;color:#8a8a8a;margin:8px 0 19px;font-size:13px}.auth-tabs{display:flex;border-radius:9px;background:#f2f2f2;padding:3px;margin-bottom:14px}.auth-tabs button{flex:1;border:0;background:transparent;padding:9px;border-radius:7px;color:#777}.auth-tabs button.active{background:var(--green);color:#fff;font-weight:700}
label{display:block;font-size:13px;margin:12px 0 6px;color:#555}.auth-card input,.panel input,.panel textarea{width:100%;border:1px solid #ddd;border-radius:8px;padding:11px 12px;outline:none;background:#fff}.auth-card input:focus,.panel input:focus,.panel textarea:focus{border-color:var(--green);box-shadow:0 0 0 2px rgba(32,226,135,.15)}
.primary,.danger,.ghost,.ghost-dark{border:0;border-radius:8px;padding:11px 14px;font-weight:700}.primary{background:var(--green);color:#fff}.danger{background:#ffeaed;color:#cf3347}.full{width:100%;margin-top:17px}.msg{font-size:12px;color:#d23347;min-height:16px;margin-top:9px}

/* Main shell */
.app-shell{width:min(100%,430px);min-height:100vh;margin:0 auto;background:#fff;position:relative;box-shadow:0 0 24px rgba(0,0,0,.12);overflow-x:hidden}.yw-header{height:47px;background:var(--green);display:grid;grid-template-columns:42px 1fr 84px;align-items:center;padding:0 6px;position:sticky;top:0;z-index:50}.yw-logo{font-size:20px;line-height:1}.yw-logo span{width:54px;bottom:-5px;border-width:1.6px}.header-icon,.header-svg{border:0;background:transparent;color:#fff;width:34px;height:34px;display:grid;place-items:center}.header-icon{font-size:31px;font-weight:300;line-height:1}.header-actions{display:flex;justify-content:flex-end}.header-svg svg{width:19px;height:19px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.86}.game-main{padding:8px 10px 18px;background:#fff}

/* Wallet */
.wallet-card{background:#fff;border-radius:14px;padding:11px 14px 10px;text-align:center;box-shadow:0 3px 12px rgba(0,0,0,.08);border:1px solid #f4f4f4}.balance-line{display:flex;align-items:center;justify-content:center;gap:5px}.balance-line strong{font-size:18px;color:#222}.balance-refresh{border:0;background:transparent;color:#b2b2b2;font-size:15px;padding:0 3px}.wallet-label{font-size:11px;margin-top:4px;color:#555}.wallet-dot{color:var(--green);font-size:10px}.user-phone{display:none}.wallet-buttons{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:9px;padding:0 8px}.wallet-pill{height:27px;border-radius:18px;border:0;color:#fff;font-size:11px;font-weight:700}.withdraw{background:#df2841}.deposit{background:#19d77b}

.notice-strip{height:31px;margin-top:7px;border:1px solid #bdf4d9;border-radius:6px;display:grid;grid-template-columns:23px 1fr auto;align-items:center;padding:0 5px;background:#fbfffd;overflow:hidden}.speaker{font-size:10px;color:#21d982;transform:rotate(180deg)}.notice-text{font-size:8px;color:#7b7b7b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-pill{border:1px solid #21df85;background:#fff;color:#19c972;border-radius:10px;font-size:8px;padding:2px 6px;font-weight:700}

/* Game modes */
.mode-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:7px;height:69px;border-radius:9px;background:#fafafa;overflow:hidden;border:1px solid #f0f0f0}.mode{border:0;background:#fafafa;color:#8a8a8a;font-size:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;position:relative}.mode b{font-weight:400}.mode-icon{width:27px;height:27px;border-radius:50%;background:#ededed;color:#777;display:grid;place-items:center;border:2px solid #ddd;font-size:12px}.mode.active{background:var(--green);color:#fff}.mode.active .mode-icon{background:#d9fff0;border-color:#fff;color:#19be6d}.mode.active:after{content:"";position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);width:31px;height:5px;background:#fff;border-radius:8px 8px 0 0}

/* Round panel */
.round-panel{position:relative;margin-top:7px;min-height:70px;background:var(--green);border-radius:8px;color:#fff;display:grid;grid-template-columns:1fr 1.12fr;padding:8px 9px 7px}.round-panel:before,.round-panel:after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:12px;height:12px;background:#fff;border-radius:50%}.round-panel:before{top:-6px}.round-panel:after{bottom:-6px}.round-left{padding-right:6px}.how-btn{border:1px solid #fff;background:transparent;color:#fff;border-radius:4px;height:19px;padding:0 8px;font-size:8px}.mode-caption{font-size:8px;margin:5px 0 4px}.mini-results{display:flex;gap:3px}.mini-ball{width:15px;height:15px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:7px;font-weight:900}.mini-ball.green-n,.mini-ball.n1,.mini-ball.n3,.mini-ball.n7,.mini-ball.n9{color:#20c779}.mini-ball.red-n,.mini-ball.n2,.mini-ball.n4,.mini-ball.n6,.mini-ball.n8{color:#ef4258}.mini-ball.n0{color:#b33cdc}.mini-ball.n5{color:#8d3ed4}.round-right{text-align:right}.time-label{font-size:9px;font-weight:700;margin-bottom:4px}.timer-boxes{display:flex;justify-content:flex-end;align-items:center;gap:2px}.timer-boxes span{width:18px;height:25px;background:#fff;color:#222;border-radius:2px;display:grid;place-items:center;font-size:17px;font-family:"Arial Narrow",Arial,sans-serif;border:1px solid rgba(0,0,0,.08)}.timer-boxes i{font-style:normal;font-size:17px;font-weight:900;line-height:1}.period-number{display:block;font-size:8px;letter-spacing:.1px;margin-top:5px;font-weight:600;white-space:nowrap}

/* Betting */
.bet-board{padding-top:7px}.bet-grid{display:grid;gap:9px}.colors{grid-template-columns:repeat(3,1fr)}.bet-btn{border:0;color:#fff;height:28px;border-radius:4px;font-size:11px}.green{background:#1ed77c}.violet{background:#ac3cc8}.red{background:#d9233c}.number-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px 9px;padding:10px 7px 8px;background:#fafafa;border-radius:7px;margin-top:6px}.num-ball{position:relative;aspect-ratio:1;border:0;border-radius:50%;padding:0;background:transparent;display:grid;place-items:center;filter:drop-shadow(0 1px 1px rgba(0,0,0,.08))}.num-ball:before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--ball,#24d988);box-shadow:inset 0 0 0 2px rgba(255,255,255,.72)}.num-ball:after{content:"";position:absolute;inset:6px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px rgba(0,0,0,.03)}.num-ball .num-value{position:relative;z-index:2;font-size:18px;font-weight:900;color:var(--ball,#24d988);line-height:1}.num-ball.green-num{--ball:#27d78b}.num-ball.red-num{--ball:#ef4258}.num-ball.num-0{--ball:#d84a8a}.num-ball.num-5{--ball:#a442d2}.num-ball.num-0:before{background:conic-gradient(#ef4258 0 52%,#9b43d0 52% 100%)}.num-ball.num-5:before{background:conic-gradient(#28d78a 0 52%,#a443d0 52% 100%)}.num-ball.num-0 .num-value,.num-ball.num-5 .num-value{background:linear-gradient(90deg,#a441d0,#ef4258);-webkit-background-clip:text;background-clip:text;color:transparent}
.multiplier-row{display:grid;grid-template-columns:1.25fr repeat(6,.82fr);align-items:center;gap:4px;margin:6px 0}.random-btn,.mul{height:24px;border-radius:5px;border:0;background:#f2f2f2;color:#a0a0a0;font-size:8px;padding:0}.random-btn{border:1px solid #db3450;background:#fff;color:#d9334d;font-size:9px}.mul.active{background:var(--green);color:#fff}.sizes{grid-template-columns:1fr 1fr;gap:0;border-radius:16px;overflow:hidden;margin:2px 6px 0}.sizes .bet-btn{height:29px;border-radius:0;font-weight:700}.big{background:var(--orange)}.smallsize{background:var(--blue)}

/* History */
.history-card{margin-top:8px}.history-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.history-tab{height:30px;border:1px solid #e2e2e2;background:#fff;border-radius:5px;font-size:9px;color:#777;box-shadow:0 1px 4px rgba(0,0,0,.05)}.history-tab.active{background:var(--green);border-color:var(--green);color:#fff}.hist-head{margin-top:7px;background:var(--green);color:#fff;height:31px;display:grid;grid-template-columns:1.7fr .55fr .8fr .55fr;align-items:center;font-size:8px;text-align:center}.hist-row{min-height:28px;display:grid;grid-template-columns:1.7fr .55fr .8fr .55fr;align-items:center;font-size:8px;text-align:center;color:#666}.hist-row:nth-child(odd){background:#fff}.hist-period{text-align:left;padding-left:9px;font-size:7.5px;color:#707070}.hist-number{font-size:14px;font-weight:800}.hist-number.green-n{color:#21c879}.hist-number.red-n{color:#e73950}.hist-number.violet-n{background:linear-gradient(90deg,#8e45d4,#eb3e7a);-webkit-background-clip:text;background-clip:text;color:transparent}.color-dots{display:flex;justify-content:center;gap:3px}.color-dot{width:6px;height:6px;border-radius:50%;display:block}.dot-green{background:#36ca85}.dot-red{background:#e93d55}.dot-violet{background:#c445d7}.muted{color:#8e8e8e;font-size:11px;text-align:center;padding:15px}.pager{height:42px;display:flex;justify-content:center;align-items:center;gap:22px;color:#8d8d8d;font-size:9px}.pager button{width:30px;height:25px;border:0;border-radius:3px;background:#efefef;color:#bbb;font-size:20px;line-height:1}.pager button:last-child{background:var(--green);color:#fff}.chart-box{padding:10px 4px}.chart-title{font-size:10px;color:#777;margin:3px 0 8px}.chart-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.chart-item{border:1px solid #eee;border-radius:7px;padding:7px 2px;text-align:center}.chart-item b{display:block;font-size:14px}.chart-item small{font-size:8px;color:#999}.mine-row{min-height:44px;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:7px;border-bottom:1px solid #eee;padding:5px 6px;font-size:8px}.mine-icon{width:29px;height:29px;border-radius:5px;background:#f5a22f;color:#fff;display:grid;place-items:center;font-weight:900}.mine-main b{font-size:8px}.mine-main small{display:block;color:#999;margin-top:2px}.mine-status{border:1px solid #e4e4e4;border-radius:3px;padding:3px 6px}.mine-status.WIN{color:#23bd76;border-color:#9ae3c0}.mine-status.LOSS{color:#e43e53;border-color:#f0aab4}.mine-status.PENDING{color:#da9a1f;border-color:#e8cd96}

/* Last seconds overlay */
.closing-overlay{position:fixed;inset:0;background:rgba(0,0,0,.61);z-index:70;display:grid;place-items:center;pointer-events:none}.closing-digits{display:flex;gap:8px}.closing-digits span{width:82px;height:118px;background:#fff;border-radius:8px;display:grid;place-items:center;color:#16df84;font-size:78px;font-weight:800;box-shadow:0 7px 20px rgba(0,0,0,.3)}

/* Betting bottom sheet */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:100;display:flex;align-items:flex-end;justify-content:center}.bet-sheet{width:min(100%,430px);background:#fff;box-shadow:0 -8px 25px rgba(0,0,0,.2)}.bet-sheet-head{position:relative;background:#ef4057;color:#fff;text-align:center;padding:11px 18px 18px}.bet-sheet-head:after{content:"";position:absolute;left:0;right:0;bottom:-17px;margin:auto;width:0;height:0;border-left:215px solid transparent;border-right:215px solid transparent;border-top:17px solid #ef4057;max-width:100%}.bet-sheet-head strong{display:block;font-size:10px;margin-bottom:6px}.selection-pill{height:22px;background:#fff;color:#555;border-radius:3px;display:grid;place-items:center;font-size:9px;font-weight:700}.bet-sheet-body{padding:31px 18px 10px}.sheet-row{display:flex;align-items:center;justify-content:space-between;margin:8px 0;font-size:10px}.balance-options{display:flex;gap:16px}.base-amount{border:0;background:transparent;color:#4f7089;font-size:8px;padding:4px 5px}.base-amount.active{background:#d9344d;color:#fff}.qty-control{display:flex;align-items:center;gap:19px}.qty-control button{width:22px;height:22px;border:0;background:#cf2942;color:#fff;border-radius:2px;font-weight:800}.qty-control b{font-size:10px;min-width:12px;text-align:center}.sheet-multipliers{display:flex;justify-content:flex-end;gap:18px;margin:9px 0 12px;padding-left:60px}.sheet-mul{border:0;background:transparent;color:#455d74;font-size:8px;padding:3px}.sheet-mul.active{background:#d72f49;color:#fff}.agree-row{display:flex;align-items:center;gap:4px;font-size:9px;margin:3px 0}.agree-row input{width:13px;height:13px;accent-color:#24dc87}.agree-row em{font-style:normal;color:#e2485b}.bet-sheet-footer{display:grid;grid-template-columns:1fr 2.2fr;height:40px}.cancel-bet,.total-bet{border:0;font-size:10px}.cancel-bet{background:#fff;color:#777}.total-bet{background:#df2f48;color:#fff;font-weight:700}

/* Floating tool */
.tool-float{position:fixed;right:max(12px,calc((100vw - 430px)/2 + 12px));bottom:17px;z-index:55;border:0;background:rgba(25,205,117,.95);color:#fff;border-radius:22px;padding:5px 9px 5px 5px;display:flex;align-items:center;gap:5px;box-shadow:0 5px 14px rgba(0,0,0,.2);font-size:9px;font-weight:700;max-width:130px}.tool-float-icon{width:25px;height:25px;border-radius:50%;background:#fff;color:#16bd6f;display:grid;place-items:center;font-weight:900;overflow:hidden}.tool-logo-img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}

/* Tool modal */
.tool-overlay{position:fixed;inset:0;background:rgba(8,10,18,.76);display:grid;place-items:center;z-index:120;padding:18px}.tool-card{width:min(380px,100%);background:linear-gradient(160deg,#151827,#232a42);color:#fff;border-radius:22px;padding:24px 20px 20px;text-align:center;position:relative;box-shadow:0 22px 65px rgba(0,0,0,.5)}.x{position:absolute;right:13px;top:11px;border:0;background:rgba(255,255,255,.12);color:#fff;width:29px;height:29px;border-radius:50%;font-size:20px}.tool-logo{width:62px;height:62px;margin:0 auto 10px;border-radius:18px;background:linear-gradient(145deg,#22e287,#2aa0ff);display:grid;place-items:center;font-size:30px;font-weight:900;overflow:hidden}.tool-card h2{font-size:20px;margin:7px 0}.tool-game{display:inline-block;background:rgba(255,255,255,.08);border-radius:20px;padding:6px 12px;font-size:11px;color:#dce8e3}.tool-period-box{background:#0d1420;border:1px solid rgba(255,255,255,.08);padding:12px;border-radius:12px;margin:15px 0}.tool-period-box small{display:block;color:#8e9aa9;font-size:9px}.tool-period-box strong{display:block;margin-top:4px;font-size:17px}.tool-start{width:100%;height:39px;border:0;border-radius:8px;background:var(--green);color:#fff;font-weight:900}.tool-result{margin-top:14px;background:rgba(255,255,255,.06);border-radius:13px;padding:13px}.tool-result>small{font-size:9px;color:#b7c0ca}.tool-number{width:64px;height:64px;border-radius:50%;margin:9px auto;display:grid;place-items:center;background:#fff;color:#222;font-size:29px;font-weight:900}.tool-number.Green{background:#24d583;color:#fff}.tool-number.Red{background:#eb4056;color:#fff}.tool-number.Violet{background:#b547d0;color:#fff}.tool-tags{display:flex;justify-content:center;gap:7px}.tool-tag{font-size:9px;padding:5px 9px;border-radius:10px;background:#506176}.tool-tag.Green{background:#24d583}.tool-tag.Red{background:#eb4056}.tool-tag.Violet{background:#b547d0}.tool-hint,.tool-custom-text{font-size:10px;color:#9eabb7;line-height:1.45;margin-top:10px}.tool-custom-text{padding-top:10px;border-top:1px solid rgba(255,255,255,.1);white-space:pre-wrap}
.toast{position:fixed;left:50%;bottom:72px;transform:translateX(-50%);background:#333;color:#fff;border-radius:18px;padding:8px 13px;font-size:10px;z-index:200;white-space:nowrap;box-shadow:0 4px 16px rgba(0,0,0,.25)}

/* Admin */
.admin-body{background:#f3f5f5}.admin-shell{min-height:100vh}.topbar{height:56px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.brand{display:flex;align-items:center;gap:9px}.brand-mark{width:34px;height:34px;border-radius:50%;background:#fff;color:var(--green-dark);display:grid;place-items:center;font-weight:900}.brand h1{margin:0;font-size:24px}.brand p{margin:3px 0 0;color:#888;font-size:12px}.brand.mini strong{font-size:16px}.ghost{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.35)}.small{padding:7px 10px;font-size:11px}.linkbtn{text-decoration:none}.admin-main{max-width:760px;margin:auto;padding:14px}.panel{background:#fff;border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 3px 12px rgba(0,0,0,.06)}.panel h2{font-size:17px;margin:0 0 11px}.row{display:flex;gap:8px;align-items:center}.row input{flex:1}.user-card,.tx-item{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee;padding:11px 0}.user-card strong{display:block;margin-top:3px}.tx-list{padding:0}.tx-item{font-size:12px}.pos{color:#19b970}.neg{color:#dc4055}.check-row{display:flex;align-items:center;gap:8px}.check-row input{width:auto}.admin-logo-row{display:flex;gap:13px;align-items:center}.admin-logo-preview{width:72px;height:72px;flex:0 0 72px;border-radius:16px;background:var(--green);display:grid;place-items:center;overflow:hidden;color:#fff;font-size:31px;font-weight:900}.admin-logo-preview img{width:100%;height:100%;object-fit:cover}.admin-logo-actions{flex:1}.admin-logo-actions input{padding:7px}.admin-logo-actions small{display:block;color:#888;font-size:10px;margin-top:5px}.ghost-dark{border:1px solid #ddd;background:#f7f7f7;color:#555;margin-top:6px}.admin-help{font-size:11px;color:#888;text-align:left;padding:0;margin:-4px 0 8px}.panel textarea{resize:vertical}

@media(max-width:430px){.app-shell{box-shadow:none}.game-main{padding-left:8px;padding-right:8px}.wallet-buttons{gap:32px}.bet-sheet-head:after{border-left-width:50vw;border-right-width:50vw}.closing-digits span{width:72px;height:106px;font-size:68px}}
.bet-sheet-head:after{border-top-color:var(--head-color,#ef4057)}
