body{margin:0;background:#0b3d0b;color:#fff;font-family:system-ui,sans-serif}.wrap{max-width:420px;margin:40px auto;padding:16px;display:flex;flex-direction:column;gap:10px}input,button{font-size:16px;padding:10px;border-radius:8px;border:1px solid #2c6b2c}button{background:#c8f250;color:#10210a;font-weight:700;cursor:pointer}button:disabled{opacity:.5;cursor:default}.row{display:flex;gap:8px}.row input{flex:1}.err{color:#ff6b6b}ul{list-style:none;padding:0}li{padding:6px 0;border-bottom:1px solid #2c6b2c}.gameWrap{padding:12px}.leaveBtn{margin-bottom:10px}.board{position:relative;display:grid;grid-template-columns:repeat(11,minmax(70px,1fr));grid-template-rows:repeat(11,minmax(60px,auto));gap:2px;max-width:1100px;margin:0 auto}.tile{background:#14401a;border:1px solid #2c6b2c;border-radius:4px;padding:4px;font-size:10px;display:flex;flex-direction:column;min-height:60px;position:relative}.tileGroup{height:6px;border-radius:2px;margin-bottom:2px}.tileName{flex:1;line-height:1.2}.tilePrice{color:#c8f250;font-weight:700}.token{position:absolute;width:16px;height:16px;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 4px #00000080;transition:left .2s linear,top .2s linear;z-index:5;pointer-events:none}.center{grid-column:2 / 11;grid-row:2 / 11;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#0e2f12;border-radius:8px}.turn{font-size:20px;font-weight:800}.timer{font-size:14px;font-weight:700;color:#f4a261}.doubleBadge{color:#c8f250;font-weight:800}.note{color:#9db89a;font-size:13px}.winner{font-size:24px;font-weight:800;color:#c8f250}.buyBox{display:flex;flex-direction:column;gap:8px;align-items:center}.players{min-width:200px}.players li{border:none;font-weight:700}.diceRow{display:flex;gap:20px}.diceFall{--fx: 40px;--fy: -110px;--frot: 40deg;animation:diceFall .7s cubic-bezier(.34,1.56,.64,1)}@keyframes diceFall{0%{transform:translate(var(--fx),var(--fy)) rotate(var(--frot)) scale(.6);opacity:0}55%{transform:translate(calc(var(--fx) * .06),10px) rotate(calc(var(--frot) * .1)) scale(1.05);opacity:1}75%{transform:translateY(-6px) rotate(0) scale(1)}to{transform:translate(0) rotate(0) scale(1)}}.diceScene{width:44px;height:44px;perspective:300px}.diceCube{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform 1s cubic-bezier(.2,.8,.3,1)}.diceFace{position:absolute;width:40px;height:40px;background:#f4f1e8;border:1px solid #999;border-radius:6px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:5px;box-sizing:border-box}.diceDot{width:6px;height:6px;border-radius:50%;background:#1a1a1a;align-self:center;justify-self:center}
