body.oyunSayfa{background:#0f1f17}
.oAlan{overflow:hidden}
.rvKap{--zem1:#1d3b2c;--zem2:#0c1a12;--kece1:#2f8a4e;--kece2:#1d6a39;--kece3:#14522b;--cizgi:#0b3d1c;--ahsap1:#8a5a2b;--ahsap2:#5e3a17;--ahsap3:#a8743d;--vurgu:#ffd166;
  position:relative;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));
  background:radial-gradient(ellipse at 50% 30%,var(--zem1),var(--zem2) 75%);color:#fff;user-select:none;-webkit-user-select:none;overflow:hidden;touch-action:manipulation}
.rvKap[data-tema="mavi"]{--zem1:#1b2a4a;--zem2:#0a1122;--kece1:#2f6fb0;--kece2:#1f5390;--kece3:#163d6e;--cizgi:#0d2a52;--ahsap1:#4a4f5c;--ahsap2:#262a33;--ahsap3:#6b7180}
.rvKap[data-tema="bordo"]{--zem1:#3d1a22;--zem2:#1a0a0e;--kece1:#9a2f3f;--kece2:#7a1f2f;--kece3:#5c1422;--cizgi:#3e0c16;--ahsap1:#c49a5a;--ahsap2:#8a6430;--ahsap3:#e0bf86}
.onOyun .rvKap{min-height:100%}
/* oyuncu panelleri */
.rvUst{display:flex;gap:8px;align-items:stretch;width:min(560px,100%)}
.rvOy{flex:1;min-width:0;display:flex;align-items:center;gap:8px;background:#ffffff0f;border:2px solid #ffffff1a;border-radius:14px;padding:6px 10px;transition:border-color .2s,box-shadow .2s,transform .2s}
.rvOy.w{text-align:right}
.rvOy.sira{border-color:var(--vurgu);box-shadow:0 0 0 3px #ffd16633,0 0 18px #ffd16655;transform:translateY(-1px)}
.rvOy span{flex:1;min-width:0}
.rvOy b{display:block;font:800 14px Nunito,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rvOy small{display:block;font-size:11px;opacity:.75;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rvOy em{font:800 28px/1 'Baloo 2',Nunito,sans-serif;font-style:normal;min-width:34px;text-align:center}
.rvOy em.zip{animation:rvZip .35s}
@keyframes rvZip{40%{transform:scale(1.35);color:var(--vurgu)}}
.rvMini{flex:0 0 26px;height:26px;border-radius:50%;box-shadow:0 2px 4px #0008}
.rvMini.s{background:radial-gradient(circle at 35% 30%,#6b707c,#202228 45%,#050506 80%)}
.rvMini.w{background:radial-gradient(circle at 35% 30%,#fff,#eef0f4 45%,#b3b8c2 90%)}
.rvOrta{display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;font-size:11px;opacity:.85;min-width:48px;text-align:center;line-height:1.2}
.rvOrta b{font:800 18px 'Baloo 2',Nunito,sans-serif}
.rvOrta .sure{font:800 18px 'Baloo 2',Nunito,sans-serif;padding:0 8px;border-radius:8px;background:#ffffff18}
.rvOrta .sure.az{background:#ef476f;animation:rvNabiz .5s infinite alternate}
@keyframes rvNabiz{to{transform:scale(1.12)}}
.rvDurum{font:800 16px Nunito,sans-serif;min-height:24px;text-align:center;text-shadow:0 1px 2px #0008}
.rvDurum .rvMini{display:inline-block;width:16px;height:16px;vertical-align:-3px;margin-right:4px}
/* tahta */
.rvTahtaKap{position:relative;width:340px;height:340px;flex:0 0 auto}
.rvCerceve{--pay:4.2%;position:absolute;inset:0;border-radius:14px;padding:var(--pay);
  background:repeating-linear-gradient(97deg,#ffffff08 0 2px,transparent 2px 9px),repeating-linear-gradient(83deg,#0000001a 0 1px,transparent 1px 13px),linear-gradient(145deg,var(--ahsap3),var(--ahsap1) 35%,var(--ahsap2));
  box-shadow:0 18px 40px #000a,0 4px 0 #0006,inset 0 2px 1px #ffffff40,inset 0 -3px 4px #0006}
.rvEt{position:absolute;font:800 10px Nunito,sans-serif;color:#ffffffb0;text-shadow:0 1px 1px #0008;transform:translate(-50%,-50%);pointer-events:none}
.rvEt.ust{top:calc(var(--pay)/2)}
.rvEt.yan{left:calc(var(--pay)/2)}
.rvTahta{position:relative;width:100%;height:100%;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);border-radius:4px;overflow:hidden;
  background:radial-gradient(circle at 30% 25%,#ffffff1c,transparent 55%),repeating-radial-gradient(circle at 17% 33%,#ffffff05 0 1px,transparent 1px 3px),radial-gradient(ellipse at 50% 50%,var(--kece1),var(--kece2) 70%,var(--kece3));
  box-shadow:inset 0 0 0 2px #0005,inset 0 3px 10px #0007}
.rvH{position:relative;perspective:240px;border:0;margin:0;padding:0;background:transparent;box-shadow:inset -1px -1px 0 var(--cizgi),inset 1px 1px 0 #ffffff12;cursor:default;-webkit-tap-highlight-color:transparent}
.rvH:nth-child(8n){box-shadow:inset 0 -1px 0 var(--cizgi),inset 1px 1px 0 #ffffff12}
.rvH.gec{cursor:pointer}
.rvH.gec::after{content:'';position:absolute;inset:36%;border-radius:50%;background:#0007;box-shadow:0 0 0 2px #ffffff22;animation:rvGec 1.4s ease-in-out infinite alternate;pointer-events:none}
.rvTahta[data-renk="w"] .rvH.gec::after{background:#fff9;box-shadow:0 0 0 2px #0002}
@keyframes rvGec{from{transform:scale(.8);opacity:.6}to{transform:scale(1);opacity:1}}
@media (hover:hover){.rvH.gec:hover::after{inset:10%;opacity:.55;animation:none;transition:inset .12s}}
.rvH.ipucu::before{content:'';position:absolute;inset:6%;border-radius:50%;border:3px solid var(--vurgu);box-shadow:0 0 16px var(--vurgu),inset 0 0 10px var(--vurgu);animation:rvIpucu .8s ease-in-out infinite alternate;z-index:4;pointer-events:none}
@keyframes rvIpucu{from{transform:scale(.85);opacity:.6}to{transform:scale(1.04);opacity:1}}
.rvNokta{position:absolute;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:var(--cizgi);box-shadow:0 1px 0 #ffffff1a;pointer-events:none}
/* taşlar: 3B dönen disk */
.rvTas{position:absolute;inset:9%;z-index:2;pointer-events:none;transform-style:preserve-3d}
.rvTas::before{content:'';position:absolute;inset:6% 2% -6% 8%;border-radius:50%;background:#000a;filter:blur(2.5px);transform:translateZ(-1px)}
.rvDon{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .46s cubic-bezier(.3,.1,.3,1)}
.rvDon i{position:absolute;inset:0;border-radius:50%;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.rvDon .yS{background:radial-gradient(circle at 34% 28%,#8a909c 0,#3a3d45 18%,#16171b 48%,#030304 80%);box-shadow:inset 0 -3px 5px #ffffff14,inset 0 0 0 1.5px #000,0 0 0 1px #0009}
.rvDon .yB{transform:rotateY(180deg);background:radial-gradient(circle at 66% 28%,#ffffff 0,#f7f8fa 22%,#dfe2e8 55%,#a9aeb8 92%);box-shadow:inset 0 -3px 5px #0000002a,inset 0 0 0 1.5px #9aa0aa,0 0 0 1px #0006}
.rvTas.dus{animation:rvDus .32s cubic-bezier(.2,.9,.3,1.3)}
@keyframes rvDus{from{transform:translateY(-24%) scale(1.45);opacity:0}60%{opacity:1}to{transform:none}}
.rvTas.cev{animation:rvKalk .5s ease-in-out}
.rvTas.cev::before{animation:rvGolge .5s ease-in-out}
@keyframes rvKalk{45%{transform:scale(1.2)}}
@keyframes rvGolge{45%{transform:translate(8%,10%);opacity:.6}}
.rvH.son::before{content:'';position:absolute;left:50%;top:50%;width:16%;height:16%;margin:-8% 0 0 -8%;border-radius:50%;background:#ef476f;box-shadow:0 0 6px #ef476f,0 0 0 1.5px #fff8;z-index:3;pointer-events:none;animation:rvSon .4s .3s both}
.rvH.son.ipucu::before{display:none}
@keyframes rvSon{from{transform:scale(0)}to{transform:scale(1)}}
.rvTahta.kilit .rvH{cursor:default}
.rvFx{position:absolute;inset:-10%;width:120%;height:120%;pointer-events:none;z-index:6}
.rvPas{position:absolute;left:50%;top:50%;z-index:7;transform:translate(-50%,-50%);background:#0d1a12ee;border:2px solid var(--vurgu);border-radius:16px;padding:10px 22px;font:800 24px 'Baloo 2',Nunito,sans-serif;text-align:center;box-shadow:0 10px 30px #000a;animation:rvPas 1.7s ease both;pointer-events:none;white-space:nowrap}
.rvPas small{display:block;font:700 13px Nunito,sans-serif;opacity:.85}
@keyframes rvPas{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}25%{transform:translate(-50%,-50%) scale(1)}80%{opacity:1}100%{opacity:0}}
/* alt düğmeler */
.rvAlt{min-height:42px;display:flex;gap:6px;flex-wrap:nowrap;justify-content:center;width:min(560px,100%)}
.rvAlt .btn{min-width:0;flex:1 1 0;padding:10px 6px;font-size:14px;white-space:nowrap}
.rvAlt .btn small{font-size:11px;opacity:.85}
.rvAlt .btn:disabled{opacity:.45;cursor:default}
/* menü */
.rvMenu{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:14px;background:radial-gradient(ellipse at 50% 25%,#1d3b2cf2,#0b1610f7);z-index:8;overflow:auto}
.rvMenu[hidden]{display:none}
.rvKutu{width:min(420px,100%);text-align:center;margin:auto}
.rvLogo{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 2px}
.rvLogo h1{font:800 46px/1 'Baloo 2',Nunito,sans-serif;margin:0;letter-spacing:2px;background:linear-gradient(180deg,#fff,#ffe6a3);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #0006)}
.rvLogoTas{position:relative;width:46px;height:46px;perspective:300px}
.rvLogoTas i{position:absolute;inset:0;border-radius:50%;animation:rvLogoDon 3.2s ease-in-out infinite;backface-visibility:hidden}
.rvLogoTas i.s{background:radial-gradient(circle at 34% 28%,#8a909c 0,#3a3d45 18%,#16171b 48%,#030304 80%)}
.rvLogoTas i.w{background:radial-gradient(circle at 34% 28%,#fff,#eceef2 40%,#a9aeb8 92%);transform:rotateY(180deg);animation-name:rvLogoDon2}
@keyframes rvLogoDon{0%,35%{transform:rotateY(0)}50%,85%{transform:rotateY(180deg)}100%{transform:rotateY(360deg)}}
@keyframes rvLogoDon2{0%,35%{transform:rotateY(180deg)}50%,85%{transform:rotateY(360deg)}100%{transform:rotateY(540deg)}}
.rvAltB{margin:2px 0 10px;color:#cfe8d6;font-weight:700}
.rvOzet{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:6px 0}
.rvOzet div{background:#ffffff10;border-radius:12px;padding:6px 2px}
.rvOzet small{display:block;font-size:10.5px;font-weight:800;opacity:.75;text-transform:uppercase}
.rvOzet b{font:800 20px 'Baloo 2',Nunito,sans-serif}
.rvGrup{margin:9px 0}
.rvGrup>small{display:block;font-weight:800;font-size:12px;letter-spacing:.5px;color:#cfe8d6;text-transform:uppercase;margin-bottom:5px}
.rvSec{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:6px}
.rvSec button{font:800 14px Nunito,sans-serif;color:#fff;background:#ffffff10;border:2px solid #ffffff22;border-radius:12px;padding:9px 6px;cursor:pointer;line-height:1.2;display:flex;flex-direction:column;align-items:center;gap:2px}
.rvSec button small{display:block;font-size:11px;opacity:.75}
.rvSec button.aktif{background:linear-gradient(180deg,#3aa864,#22783f);border-color:#9be3b3;box-shadow:0 0 12px #3aa86466}
.rvSec .rvMini{display:inline-block;width:20px;height:20px;flex:0 0 20px}
.rvTemaO{display:inline-block;width:34px;height:20px;border-radius:6px;border:3px solid;box-shadow:0 2px 4px #0006}
.rvKutu>.btn{width:100%;margin-top:8px}
.rvOyna{font-size:21px!important;padding:13px!important}
/* oyun sonu */
.rvSonTas{display:flex;justify-content:center;gap:18px;margin:8px 0 6px;font:800 34px 'Baloo 2',Nunito,sans-serif;align-items:center}
.rvSonTas span{display:flex;align-items:center;gap:8px}
.rvSonTas .rvMini{width:34px;height:34px;flex-basis:34px}
.rvSonBar{display:flex;height:12px;border-radius:8px;overflow:hidden;margin:4px 0 10px;box-shadow:inset 0 0 0 1px #fff3}
.rvSonBar i{display:block;transition:width .8s}
.rvSonBar .s{background:linear-gradient(180deg,#5a5f6a,#16171b)}.rvSonBar .w{background:#eceef2}
.rvPuanK{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:8px 0}
.rvPuanK div{background:#ffffff10;border-radius:12px;padding:6px}
.rvPuanK small{display:block;font-size:11px;font-weight:800;opacity:.75;text-transform:uppercase}
.rvPuanK b{font:800 22px 'Baloo 2',Nunito,sans-serif}
.rvPuanK .yeni{color:#ffd166}
.rvBekleSec{display:flex;gap:6px;justify-content:center;margin:6px 0 10px;flex-wrap:wrap}
.rvBekleSec button{font:800 14px Nunito,sans-serif;color:#fff;background:#ffffff12;border:2px solid #ffffff22;border-radius:10px;padding:7px 12px;cursor:pointer}
.rvBekleSec button.aktif{background:#2f8a4e;border-color:#9be3b3}
.rvBekleSec button:disabled{cursor:default;opacity:.8}
@media (max-height:560px){.rvUst{width:min(560px,100%)}.rvOy{padding:3px 8px}.rvOy em{font-size:22px}.rvDurum{font-size:14px;min-height:20px}.rvKap{gap:5px}}
@media (min-width:900px) and (min-height:600px){.rvOy b{font-size:16px}.rvDurum{font-size:18px}}
@media (max-width:420px){.rvOy{padding:5px 7px;gap:6px}.rvOy b{font-size:13px}.rvOy em{font-size:24px;min-width:28px}.rvMini{flex-basis:22px;height:22px}.rvOrta{min-width:38px}}
