*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;touch-action:pan-x pan-y;overscroll-behavior:none;-webkit-overflow-scrolling:touch;position:fixed;font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#app{width:100%;height:100%;position:relative;overflow:hidden;overscroll-behavior:none}#canvas{width:100%;height:100%;display:block}#ui{position:absolute;bottom:30px;left:50%;transform:translate(-50%);text-align:center;color:#fff;font-family:Montserrat,sans-serif;pointer-events:none}#hint{font-size:18px;text-shadow:0 2px 4px rgba(0,0,0,.5);padding:12px 24px;background:#0006;border-radius:20px;display:none}#result{font-family:Alfa Slab One,serif;font-size:48px;font-weight:400;letter-spacing:2px;margin-bottom:10px;text-shadow:0 2px 8px rgba(0,0,0,.5);max-width:90vw;white-space:nowrap;color:#e0e0e0;cursor:pointer;transition:all .2s ease;pointer-events:auto;font-display:swap}#result:hover{transform:scale(1.05);color:#fff}#result:active{transform:scale(.98)}#boost-icon{position:fixed;bottom:20px;left:50%;transform:translate(-50%);width:48px;height:48px;background:transparent;border:none;border-radius:8px;display:none;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;pointer-events:auto;z-index:150}#boost-icon:hover{transform:translate(-50%) scale(1.1)}#boost-icon:active{transform:translate(-50%) scale(.95)}#boost-icon svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}@keyframes pulse{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.1)}}@keyframes slideDown{0%{transform:translate(-50%) translateY(-20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@keyframes slideUp{0%{transform:translate(-50%) translateY(0);opacity:1}to{transform:translate(-50%) translateY(-20px);opacity:0}}.betting-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease}.betting-modal{background:#000000e6;border-radius:16px;padding:24px;max-width:400px;width:90%;box-shadow:0 8px 32px #00000080;animation:slideInUp .3s ease}.betting-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.betting-header .balance{font-size:18px;font-weight:600;color:gold}.betting-header .close-btn{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.betting-header .close-btn:hover{background:#ffffff1a}.betting-content h3{color:#fff;font-size:24px;margin-bottom:8px;text-align:center}.betting-subtitle{color:#ffffffb3;text-align:center;margin-bottom:24px;font-size:14px}.bet-options{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.bet-btn{background:#ffffff1a;border:2px solid rgba(255,255,255,.2);color:#fff;padding:16px;border-radius:12px;font-size:18px;font-weight:600;cursor:pointer;transition:all .2s}.bet-btn:hover:not(.disabled){background:#ffffff26;border-color:#ffffff4d;transform:translateY(-2px)}.bet-btn.active{background:#ffd70033;border-color:gold;color:gold}.bet-btn.disabled{opacity:.5;cursor:not-allowed}.custom-bet{margin-bottom:20px}.custom-bet label{display:block;color:#fffc;margin-bottom:8px;font-size:14px}.custom-bet-input{width:100%;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);color:#fff;padding:12px;border-radius:8px;font-size:16px;font-family:Montserrat,sans-serif}.custom-bet-input:focus{outline:none;border-color:gold}.pot-display{background:#ffd7001a;border:2px solid rgba(255,215,0,.3);border-radius:12px;padding:16px;text-align:center;margin-bottom:20px}.pot-label{color:#ffffffb3;font-size:14px;margin-bottom:4px}.pot-amount{color:gold;font-size:24px;font-weight:700}.players-bets{margin-bottom:20px}.bets-list{background:#ffffff0d;border-radius:8px;padding:12px}.bets-header{color:#ffffffb3;font-size:12px;text-transform:uppercase;margin-bottom:8px}.bet-item{display:flex;justify-content:space-between;align-items:center;padding:8px;margin-bottom:4px;border-radius:6px;background:#ffffff0d}.bet-item.confirmed{background:#4caf501a;border-left:3px solid #4CAF50}.bet-item.pending{background:#ffc1071a;border-left:3px solid #FFC107}.bet-player{color:#fff;font-size:14px}.bet-amount{color:gold;font-weight:600}.bet-status{font-size:16px}.betting-footer{margin-top:20px}.confirm-btn{width:100%;background:linear-gradient(135deg,gold,orange);border:none;color:#000;padding:16px;border-radius:12px;font-size:18px;font-weight:700;cursor:pointer;transition:all .2s;font-family:Montserrat,sans-serif}.confirm-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #ffd70066}.confirm-btn:disabled{opacity:.5;cursor:not-allowed}.confirm-btn.confirmed{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
