:root{--gold:#e2b44f;--gold2:#ffe08a;--txt:#f4ecdc;--mut:#9fa9c4;--navy:#0b1226}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}
html,body{margin:0;position:fixed;inset:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none;touch-action:none;background:#070b18;color:var(--txt);font-family:-apple-system,"Segoe UI",Heebo,Arial,sans-serif}
body{background:radial-gradient(90% 120% at 50% 40%,#16244a 0%,#0b1226 55%,#05080f 100%)}
#stage{position:absolute;left:0;top:0;width:1280px;height:576px;transform-origin:0 0;direction:rtl;overflow:hidden}
.hidden{display:none!important}
.scr{position:absolute;inset:0}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
.btn{font-weight:700;font-size:26px;color:var(--txt);background:linear-gradient(#2c3a63,#1b2644);border:2px solid #44568a;border-radius:18px;min-height:68px;padding:0 24px;box-shadow:0 6px 14px #0008,inset 0 1px 0 #ffffff22;transition:transform .08s,filter .1s}
.btn:active{transform:scale(.96);filter:brightness(1.15)}
.btn:disabled{opacity:.45}
.btn.gold{background:linear-gradient(#f5d37a,#c8932a);border-color:#ffe9a8;color:#2a1a04;text-shadow:0 1px 0 #ffffff66}
.btn.blue{background:linear-gradient(#5b86b8,#34567e);border-color:#9cc2ea;color:#fff}
.btn.big{min-height:84px;font-size:30px}
.btn.danger{background:linear-gradient(#a8443a,#6d231d);border-color:#e08a7e}
.link{color:var(--mut);text-decoration:underline;font-size:22px;padding:8px}
.coin{display:inline-block;width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3b0,#e0a92b 60%,#9a6a10);box-shadow:0 0 0 2px #7a5410 inset,0 2px 3px #000a;vertical-align:-4px}.coin.big{width:44px;height:44px}
/* lobby */
.lb-head{position:absolute;left:0;right:0;top:14px;height:84px;display:flex;align-items:center;justify-content:center}
.brand{font-size:68px;font-weight:900;letter-spacing:2px;background:linear-gradient(#ffe9a0,#c2923a);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 12px #000a)}
.lb-ver{position:absolute;left:24px;top:30px;color:var(--mut);font-size:18px}
.lb-cols{position:absolute;left:24px;right:24px;top:108px;height:384px;display:grid;grid-template-columns:1.05fr 1fr 1.1fr;gap:20px}
.lcard{background:linear-gradient(#18244a,#0f1833);border:2px solid #34457a;border-radius:26px;padding:20px;display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:0 14px 34px #000a,inset 0 1px 0 #ffffff1a;position:relative;overflow:hidden}
.lcard:before{content:"";position:absolute;inset:0;background:radial-gradient(70% 50% at 50% 0%,#ffffff12,transparent);pointer-events:none}
.ltitle{font-size:36px;font-weight:800;color:var(--gold2)}.lsub{color:var(--mut);font-size:22px}.lsub.small{font-size:19px}
.chips{display:flex;gap:10px}.chips button{font-size:26px;font-weight:700;min-width:84px;height:62px;border-radius:16px;background:#1a2547;border:2px solid #3b4d82;color:var(--mut)}
.chips button.on{background:linear-gradient(#f5d37a,#c8932a);color:#2a1a04;border-color:#ffe9a8}.chips button:disabled{opacity:.3}
.prof .av-big{width:110px;height:110px;border-radius:50%;padding:4px;background:linear-gradient(#ffe9a0,#9a6a10);box-shadow:0 8px 20px #000a}.av-big img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
#nameInput,#codeInput{font:inherit;font-size:26px;font-weight:700;text-align:center;background:#0a1128;color:var(--txt);border:2px solid #3b4d82;border-radius:16px;height:60px;width:100%;user-select:text;-webkit-user-select:text;outline:none}
#codeInput{letter-spacing:6px;width:200px;direction:ltr;text-transform:uppercase}
.avpick{display:flex;gap:10px}.avpick img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:3px solid transparent;opacity:.65}.avpick img.on{border-color:var(--gold2);opacity:1;transform:scale(1.08)}
.wbal{display:flex;align-items:center;gap:10px;font-size:52px;font-weight:900;color:var(--gold2)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%}.stats div{background:#0a1128;border-radius:12px;padding:6px 0;display:flex;flex-direction:column;align-items:center}.stats b{font-size:26px}.stats span{font-size:15px;color:var(--mut)}
#btnDaily{min-height:46px;font-size:20px;padding:0 16px;position:absolute;top:18px;left:18px;border-radius:14px}
.joinrow{display:flex;gap:10px;width:100%;justify-content:center}.joinrow .btn{min-height:60px;font-size:24px}
.err{position:absolute;left:0;right:0;bottom:44px;text-align:center;color:#ff9b8a;font-size:22px;margin:0;min-height:28px}
.foot{position:absolute;left:0;right:0;bottom:12px;text-align:center;color:var(--mut);font-size:18px;margin:0}
/* wait */
.wcard{position:absolute;left:290px;right:290px;top:16px;bottom:16px;background:linear-gradient(#18244a,#0f1833);border:2px solid #34457a;border-radius:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-shadow:0 14px 34px #000a}
.wcard h2{margin:0;font-size:40px;color:var(--gold2)}.sub{color:var(--mut);margin:0;font-size:22px;text-align:center;max-width:560px}
.codebox{font-size:56px;letter-spacing:12px;font-weight:900;direction:ltr;color:var(--gold2);background:#0a1128;border:2px dashed #3b4d82;border-radius:20px;padding:6px 28px}
.wrow{display:flex;gap:16px}.hint{color:var(--mut);margin:0;font-size:22px}
.joinbox{display:flex;flex-direction:column;align-items:center;gap:8px}.jb1{color:var(--mut);font-size:22px}.jb2{display:flex;gap:10px;align-items:center;font-size:60px;font-weight:900;color:var(--gold2)}
/* game */
#game{position:absolute;inset:0}
#pixiHost,#diceLayer{position:absolute;left:0;top:0;width:1280px;height:576px}
#pixiHost canvas{display:block;touch-action:none}
#diceLayer{perspective:520px;pointer-events:none}
#diceLayer .die3d{filter:drop-shadow(0 7px 5px #000a);position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;transform:rotate(var(--rz,0deg));transition:opacity .25s}
#diceLayer .die3d.used{opacity:.42}
.cube{position:absolute;inset:0;transform-style:preserve-3d}
.face{position:absolute;inset:0;border-radius:10px;background:radial-gradient(circle at 28% 22%,rgba(255,130,130,.88) 0%,rgba(215,25,40,.78) 28%,rgba(150,10,26,.82) 70%,rgba(95,4,16,.9) 100%);border:1.5px solid rgba(255,210,205,.75);box-shadow:inset 0 0 12px rgba(255,230,225,.65),inset 0 -7px 10px rgba(70,0,12,.5),inset 0 5px 7px rgba(255,255,255,.4);display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);padding:7px;backface-visibility:visible}
.face i{width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#f0dcd8);box-shadow:inset 0 -1px 2px #8a4a4a,0 0 1px #0006;place-self:center}
.f1{transform:translateZ(22px)}.f6{transform:rotateY(180deg) translateZ(22px)}.f2{transform:rotateY(90deg) translateZ(22px)}.f5{transform:rotateY(-90deg) translateZ(22px)}.f3{transform:rotateX(90deg) translateZ(22px)}.f4{transform:rotateX(-90deg) translateZ(22px)}
#dblLab{position:absolute;transform:translate(-50%,0);font-size:26px;font-weight:900;color:var(--gold2);text-shadow:0 2px 4px #000,0 0 10px #000a;display:none}
#hudL{position:absolute;left:0;top:0;width:96px;height:576px;pointer-events:none}
.pcard{position:absolute;left:0;width:96px;display:flex;flex-direction:column;align-items:center;gap:2px}
.pcard.opp{top:14px}.pcard.me{bottom:12px}
.ring{position:relative;width:78px;height:78px;border-radius:50%;padding:4px;background:linear-gradient(#c8d4f0,#5b6b99);box-shadow:0 6px 14px #000a}.ring.mine{background:linear-gradient(#7bf0a8,#1f8a4a)}
.ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.dot{position:absolute;right:2px;bottom:2px;width:18px;height:18px;border-radius:50%;background:#4cd37a;border:3px solid #0b1226}.dot.off{background:#e0553a}
.pcard .nm{font-size:20px;font-weight:800;max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px 4px #000}
.coins{display:inline-flex;align-items:center;gap:4px;color:var(--gold2);font-size:20px;font-weight:800}.coins .coin{width:18px;height:18px}
.pip{font-size:17px;color:var(--mut)}.pip:before{content:"מרחק "}
#hudR{position:absolute;left:1100px;top:0;width:180px;height:576px}
.stakepill{position:absolute;left:10px;top:12px;width:160px;height:46px;border-radius:23px;background:linear-gradient(#18244a,#0f1833);border:2px solid #d4a84b;display:flex;align-items:center;justify-content:center;gap:10px;font-size:20px;font-weight:800;color:var(--gold2)}
.stakepill span:first-child{color:var(--mut);font-weight:600;font-size:17px}
.status{position:absolute;left:6px;top:66px;width:168px;height:86px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:26px;font-weight:800;line-height:1.15;color:var(--txt);text-shadow:0 2px 6px #000}
.status small{display:block;font-size:18px;color:var(--mut);font-weight:600;margin-top:2px}.status.mine{color:var(--gold2)}
#timerWrap{position:absolute;left:34px;top:158px;width:112px;height:112px}
#timerWrap svg{position:absolute;inset:0}
.tbg{fill:#0b1226cc;stroke:#1f2c52;stroke-width:9}.tfg{fill:none;stroke:#3fe07a;stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset .3s linear;filter:drop-shadow(0 0 5px #3fe07a88)}.tfg.opp{stroke:#8fa0c8;filter:none}.tfg.low{stroke:#e8b64a;filter:drop-shadow(0 0 5px #e8b64a88)}
#ttxt{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:900;text-shadow:0 2px 4px #000}
#timerWrap.idle #ttxt{opacity:0}
.roll{position:absolute;left:8px;top:282px;width:164px;height:84px;font-size:28px;min-height:84px;padding:0 8px;white-space:nowrap}
#btnUndo{position:absolute;left:8px;top:376px;width:164px;height:60px;min-height:60px;font-size:22px;padding:0 6px;white-space:nowrap}
.rail{position:absolute;left:8px;top:448px;width:164px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.emo{display:contents}
.ib{position:relative;width:48px;height:48px;border-radius:50%;background:linear-gradient(#2c3a63,#1b2644);border:2px solid #44568a;display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--gold2)}.ib:active{transform:scale(.92)}
.badge{position:absolute;top:-6px;right:-6px;min-width:22px;height:22px;border-radius:11px;background:#e0553a;color:#fff;font:700 13px/22px system-ui;text-align:center;font-style:normal;padding:0 4px}
.banner{position:absolute;left:50%;top:14px;transform:translateX(-50%);font-size:28px;font-weight:900;padding:6px 26px;border-radius:999px;color:#fff;pointer-events:none;opacity:0;white-space:nowrap;z-index:6;transition:opacity .25s;box-shadow:0 6px 18px #000a}
.banner.good{background:#8a5a14;border:2px solid #f0cf7a}.banner.bad{background:#3a3550;border:2px solid #8a86b0}.banner.show{opacity:1}
.emoji{position:absolute;inset:0;pointer-events:none}.emoji span{position:absolute;font-size:64px;animation:floatup 2s ease-out forwards}
@keyframes floatup{from{transform:translateY(0) scale(.6);opacity:1}to{transform:translateY(-180px) scale(1.4);opacity:0}}
/* overlays */
.overlay{position:absolute;inset:0;background:#050810cc;display:flex;align-items:center;justify-content:center;z-index:20;backdrop-filter:blur(4px)}
.card{background:linear-gradient(#1a2750,#0f1833);border:2px solid #d4a84b;border-radius:28px;padding:26px 40px;display:flex;flex-direction:column;align-items:center;gap:12px;min-width:480px;box-shadow:0 20px 60px #000}
#overIcon{font-size:76px}.card h2{margin:0;font-size:46px;color:var(--gold2)}.overcoins{margin:0;color:var(--txt);font-size:24px;text-align:center;max-width:620px}
.fair{width:100%}.fbt{font-size:17px;color:var(--mut);text-align:center}.fbars{direction:ltr;display:flex;gap:10px;justify-content:center;align-items:flex-end;height:64px;margin-top:4px}.fb{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:2px}.fb div{width:26px;min-height:2px;background:linear-gradient(#ff7b7e,#b71c28);border-radius:4px 4px 0 0}.fb span{font-size:15px;color:var(--mut)}
.chatpane{position:absolute;right:0;left:auto;top:0;width:420px;height:576px;background:#0c1328f5;border-inline-start:2px solid #34457a;z-index:25;display:flex;flex-direction:column;box-shadow:-14px 0 40px #000c}
.chathead{display:flex;justify-content:space-between;align-items:center;padding:10px 18px;color:var(--gold2);font-size:26px}
.chatlist{flex:1;overflow-y:auto;padding:8px 14px;display:flex;flex-direction:column;gap:8px}
.msg{max-width:84%;padding:10px 14px;border-radius:18px;font-size:22px;line-height:1.3;word-break:break-word;-webkit-user-select:text;user-select:text}.msg span{display:block;unicode-bidi:plaintext;text-align:start}
.msg.me{align-self:flex-start;background:linear-gradient(#f5d37a,#c8932a);color:#2a1a04}.msg.opp{align-self:flex-end;background:#26325a;color:var(--txt)}
.chatform{display:flex;gap:8px;padding:10px}#chatInput{flex:1;min-width:0;font:inherit;font-size:22px;background:#0a1128;color:var(--txt);border:2px solid #3b4d82;border-radius:14px;padding:8px 12px;unicode-bidi:plaintext;text-align:start;-webkit-user-select:text;user-select:text;height:56px}
.toast{position:absolute;left:50%;bottom:24px;transform:translateX(-50%) translateY(30px);background:#000d;color:#fff;font-size:24px;padding:12px 26px;border-radius:999px;opacity:0;pointer-events:none;transition:.25s;z-index:40;white-space:nowrap}.toast.show{opacity:1;transform:translateX(-50%)}
/* portrait guard */
#rot{display:none;position:fixed;inset:0;z-index:99;background:radial-gradient(#16244a,#05080f);align-items:center;justify-content:center;text-align:center}
.rotbox h2{font-size:30px;color:var(--gold2);margin:16px 0 4px}.rotbox p{color:var(--mut);margin:0 0 16px}.rotbox a{color:var(--gold2)}
.phone{width:54px;height:90px;border:4px solid var(--gold2);border-radius:12px;margin:0 auto;animation:rotp 2.2s ease-in-out infinite}
@keyframes rotp{0%,25%{transform:rotate(0)}60%,100%{transform:rotate(-90deg)}}
@media (orientation:portrait){#rot{display:flex}}

#pixiHost.shake{animation:shk .28s}@keyframes shk{0%,100%{transform:translateX(0)}20%{transform:translateX(-7px)}40%{transform:translateX(7px)}60%{transform:translateX(-5px)}80%{transform:translateX(4px)}}

/* v3 look */
#lobby{background:linear-gradient(270deg,#0b1226 0%,rgba(11,18,38,.94) 42%,rgba(11,18,38,.35) 78%,rgba(11,18,38,.15) 100%),url(assets/lobbybg.jpg) left center/cover no-repeat}
.lb-cols{left:310px!important;right:24px!important;top:112px!important}
.lb-head{left:310px;right:24px;justify-content:flex-start}
.lb-ver{left:auto;right:0;top:34px}
.brand{font-size:72px;background:linear-gradient(#fff3bf 0%,#f0c35a 45%,#9a6a14 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 #5a3a08) drop-shadow(0 6px 14px #000c)}
.lcard{background:linear-gradient(rgba(30,40,78,.82),rgba(12,18,40,.9));backdrop-filter:blur(8px);border:2px solid rgba(214,168,75,.55);box-shadow:0 18px 44px #000b,inset 0 1px 0 #ffffff30,inset 0 0 40px rgba(212,168,75,.06)}
.lcard:nth-child(3){background:linear-gradient(rgba(70,50,22,.85),rgba(28,18,8,.92));border-color:rgba(230,180,80,.7)}
.lcard:nth-child(2){background:linear-gradient(rgba(20,62,52,.85),rgba(8,26,24,.92))}
.foot{left:310px;right:24px;text-align:center}
.err{left:310px;right:24px}
#over .card{position:relative;margin-top:96px;padding-top:112px;min-width:640px;background:linear-gradient(#18244a,#0b1226);box-shadow:0 20px 70px #000,0 0 60px rgba(226,180,79,.25)}
.trophy{position:absolute;top:-150px;left:50%;width:230px;height:230px;margin-left:-115px;mix-blend-mode:screen;pointer-events:none}
.ribbonw{position:absolute;top:-20px;left:50%;width:560px;margin-left:-280px;height:140px;pointer-events:none}
.ribbonw img{width:100%;position:absolute;top:-4px;left:0;mix-blend-mode:screen}
.ribbonw h2{position:absolute;inset:0;margin:0;display:flex;align-items:center;justify-content:center;font-size:44px;padding-bottom:8px;background:linear-gradient(#fff3bf,#e8b94c);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 2px #000)}
#overIcon{display:none}
.vs{display:flex;align-items:center;gap:26px;margin:2px 0}.vs .pl{display:flex;flex-direction:column;align-items:center;font-size:26px;font-weight:800}.vs .pl small{font-size:15px;color:var(--mut);font-weight:600}.vs .pl img{width:84px;height:84px;border-radius:50%;border:4px solid #7b89b3;object-fit:cover}.vs .pl.win img{border-color:var(--gold2);box-shadow:0 0 18px rgba(226,180,79,.6)}.vs i{font-style:normal;color:var(--mut);font-size:22px}
.overcoins{font-size:34px!important;font-weight:900;color:var(--gold2)!important}

.lb-cols{left:200px!important;gap:14px!important}.lb-head{left:200px}.foot,.err{left:200px}
.chips{gap:8px}.chips button{min-width:70px;font-size:24px;height:58px}
#btnDaily{position:static!important;margin-top:-2px;min-height:40px;font-size:18px}
.prof{gap:8px!important;padding-top:14px!important}.prof .av-big{width:92px;height:92px}.avpick img{width:46px;height:46px}.wbal{font-size:44px}.wbal .coin.big{width:38px;height:38px}
#nameInput{height:50px;font-size:24px}
.joinrow{flex-direction:row}#codeInput{width:150px;font-size:24px;letter-spacing:4px}.joinrow .btn{padding:0 14px}
#over{backdrop-filter:none!important;-webkit-backdrop-filter:none}
#over .card{margin-top:70px;padding:104px 36px 20px;gap:6px;min-width:600px}
.trophy{top:-96px;width:170px;height:170px;margin-left:-85px}
.ribbonw{top:26px;width:500px;margin-left:-250px;height:100px}.ribbonw h2{font-size:38px}
.vs .pl img{width:64px;height:64px}.vs .pl{font-size:22px}
.fbars{height:44px}.fb div{width:22px}.fbt{font-size:14px}
#over .btn.big{min-height:64px;font-size:26px}
.overcoins{font-size:28px!important}

.trophy,.ribbonw img{mix-blend-mode:normal!important}
#over .card{margin-top:44px;padding-top:140px}
.trophy{top:-84px}.ribbonw{top:30px}
.ribbonw h2{padding:16px 0 0!important}
