*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#1a1a2e;color:#eee;min-height:100vh;overflow:hidden}body:after{content:"";position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:9999;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");background-repeat:repeat}#root{min-height:100vh}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#333;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#555}button{transition:opacity .15s,transform .1s,filter .15s}button:hover:not(:disabled){filter:brightness(1.15)}button:active:not(:disabled){transform:scale(.97)}button:disabled{cursor:not-allowed!important}input:focus{border-color:#f39c12!important;box-shadow:0 0 0 2px #f39c1233}svg polygon,svg line,svg circle,svg rect{transition:opacity .2s}@media (max-width: 900px){body{overflow:auto}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes diceTumble1{0%{transform:rotate(-3deg) scale(1)}15%{transform:rotate(25deg) scale(1.12)}30%{transform:rotate(-18deg) scale(1.08)}50%{transform:rotate(12deg) scale(1.05)}70%{transform:rotate(-8deg) scale(1.02)}85%{transform:rotate(4deg) scale(1.01)}to{transform:rotate(-3deg) scale(1)}}@keyframes diceTumble2{0%{transform:rotate(5deg) scale(1)}15%{transform:rotate(-22deg) scale(1.1)}30%{transform:rotate(20deg) scale(1.06)}50%{transform:rotate(-14deg) scale(1.04)}70%{transform:rotate(9deg) scale(1.02)}85%{transform:rotate(-5deg) scale(1.01)}to{transform:rotate(5deg) scale(1)}}@keyframes diceBounce{0%{transform:scale(1)}20%{transform:scale(1.15)}40%{transform:scale(.95)}60%{transform:scale(1.05)}80%{transform:scale(.98)}to{transform:scale(1)}}@keyframes buildPopIn{0%{transform:scale(0) translateY(10px);opacity:0}50%{transform:scale(1.2) translateY(-3px);opacity:1}70%{transform:scale(.95) translateY(1px)}to{transform:scale(1) translateY(0);opacity:1}}@keyframes roadDraw{0%{stroke-dashoffset:100;opacity:.3}to{stroke-dashoffset:0;opacity:1}}@keyframes robberSlide{0%{transform:translateY(-30px) scale(.5);opacity:0}40%{transform:translateY(5px) scale(1.05);opacity:1}60%{transform:translateY(-3px) scale(.98)}to{transform:translateY(0) scale(1);opacity:1}}@keyframes floatUp{0%{transform:translateY(0);opacity:1}70%{opacity:1}to{transform:translateY(-50px);opacity:0}}@keyframes floatDown{0%{transform:translateY(0);opacity:1}70%{opacity:1}to{transform:translateY(30px);opacity:0}}@keyframes cardSlideIn{0%{transform:translateY(-20px) scale(.8);opacity:0}60%{transform:translateY(3px) scale(1.02);opacity:1}to{transform:translateY(0) scale(1);opacity:1}}@keyframes totalPop{0%{transform:scale(0)}60%{transform:scale(1.3)}80%{transform:scale(.9)}to{transform:scale(1)}}@keyframes tokenGlow{0%{filter:drop-shadow(0 0 0 transparent)}20%{filter:drop-shadow(0 0 12px rgba(255,215,0,.9))}50%{filter:drop-shadow(0 0 18px rgba(255,180,0,1))}80%{filter:drop-shadow(0 0 12px rgba(255,215,0,.9))}to{filter:drop-shadow(0 0 0 transparent)}}@keyframes tokenPulseRing{0%{r:17;opacity:.8;stroke-width:3}50%{r:28;opacity:.3;stroke-width:1}to{r:35;opacity:0;stroke-width:.5}}@keyframes turnFlash{0%{opacity:0;transform:scale(.8)}30%{opacity:1;transform:scale(1.05)}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:.3}}@keyframes victoryPulse{0%,to{transform:scale(1);text-shadow:0 0 20px rgba(243,156,18,.5)}50%{transform:scale(1.05);text-shadow:0 0 40px rgba(243,156,18,.8)}}@keyframes victorySlideIn{0%{opacity:0;transform:translateY(-40px) scale(.8)}60%{transform:translateY(5px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tradeComplete{0%{opacity:0;transform:scale(.5)}40%{opacity:1;transform:scale(1.1)}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9) translateY(-20px)}}@keyframes cardDraw{0%{transform:translateY(30px) rotateY(90deg) scale(.5);opacity:0}40%{transform:translateY(-5px) rotateY(20deg) scale(1.05);opacity:1}70%{transform:translateY(2px) rotateY(-5deg) scale(.98)}to{transform:translateY(0) rotateY(0) scale(1);opacity:1}}@keyframes hexShimmer{0%{opacity:0}30%{opacity:.3}60%{opacity:.15}to{opacity:0}}@keyframes chatBubblePop{0%{opacity:0;transform:translateY(8px) scale(.8)}15%{opacity:1;transform:translateY(-2px) scale(1.05)}25%{opacity:1;transform:translateY(0) scale(1)}80%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-10px) scale(.95)}}
