.roulette-container{position:relative}[data-controller="roulette"] .currency-symbol,[data-controller="roulette"] .currency-symbol img,[data-controller="roulette"] .currency-symbol svg{display:inline-flex;align-items:center;vertical-align:middle}[data-controller="roulette"] .currency-symbol img,[data-controller="roulette"] .currency-symbol svg{height:1em;width:auto}.roulette-controls .millionaire-stats-row{flex-wrap:wrap}.roulette-controls .millionaire-stats-row .millionaire-stat-box:nth-child(1),.roulette-controls .millionaire-stats-row .millionaire-stat-box:nth-child(2){flex:1 1 calc(50% - 6px);min-width:80px}.roulette-controls .millionaire-stats-row .millionaire-stat-box:nth-child(3){flex:1 1 100%;flex-direction:row;justify-content:space-between;align-items:center}.roulette-controls .millionaire-stats-row .millionaire-stat-box:nth-child(3) .stat-label{margin-bottom:0}.showing-result[data-controller="roulette"] .roulette-table-container,.showing-result[data-controller="roulette"] .roulette-racetrack{pointer-events:none;opacity:0.6}.showing-result[data-controller="roulette"] .racetrack-section,.showing-result[data-controller="roulette"] .racetrack-num{cursor:not-allowed}.roulette-game-area{position:relative;flex:1;min-width:300px;display:flex;flex-direction:column;gap:16px;background:#1a202c;border-radius:12px;padding:20px}.roulette-result-strip{position:relative;width:100%;height:80px;background:linear-gradient(180deg, #1a1a2e 0%, #0f0f1a 100%);border:2px solid #c9a227;border-radius:12px;overflow:hidden;margin-bottom:16px;box-shadow:inset 0 4px 20px rgba(0,0,0,0.5),0 4px 12px rgba(0,0,0,0.3)}.result-strip-viewport{position:relative;width:100%;height:100%;overflow:hidden;mask-image:linear-gradient(90deg, transparent 0%, black 10%, black 90%, transparent 100%);-webkit-mask-image:linear-gradient(90deg, transparent 0%, black 10%, black 90%, transparent 100%)}.result-strip-reel{display:flex;align-items:center;height:100%;padding:10px 20px;gap:10px;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}.result-strip-reel.spinning{transition:none}.result-strip-reel.settling{transition:transform 4s cubic-bezier(0.15, 0.85, 0.35, 1)}.result-tile{flex-shrink:0;width:60px;height:60px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:24px;font-weight:bold;color:white;text-shadow:0 2px 4px rgba(0,0,0,0.5);box-shadow:0 4px 8px rgba(0,0,0,0.3),inset 0 1px 0 rgba(255,255,255,0.2);border:2px solid rgba(255,255,255,0.1);contain:layout style paint}.result-tile.red{background:linear-gradient(135deg, #e53935 0%, #c62828 50%, #b71c1c 100%)}.result-tile.black{background:linear-gradient(135deg, #424242 0%, #212121 50%, #0a0a0a 100%)}.result-tile.green{background:linear-gradient(135deg, #43a047 0%, #2e7d32 50%, #1b5e20 100%)}.result-tile .tile-number{font-size:28px;line-height:1}.result-tile .tile-payout{font-size:10px;opacity:0.8;margin-top:2px}.result-strip-pointer{position:absolute;top:0;left:50%;transform:translateX(-50%);width:4px;height:100%;background:#c9a227;box-shadow:0 0 10px rgba(201,162,39,0.8);z-index:10}.result-strip-pointer::before,.result-strip-pointer::after{content:'';position:absolute;left:50%;transform:translateX(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent}.result-strip-pointer::before{top:-2px;border-top:12px solid #c9a227}.result-strip-pointer::after{bottom:-2px;border-bottom:12px solid #c9a227}.result-tile.winner{box-shadow:0 0 20px rgba(201,162,39,0.8),0 0 40px rgba(201,162,39,0.5),0 4px 8px rgba(0,0,0,0.3),inset 0 1px 0 rgba(255,255,255,0.2);border-color:#c9a227}.roulette-current-bets{background:rgba(15,23,42,0.6);border:1px solid rgba(201,162,39,0.2);border-radius:8px;overflow:hidden}.current-bets-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:rgba(201,162,39,0.1);cursor:pointer;user-select:none}.current-bets-header:hover{background:rgba(201,162,39,0.15)}.current-bets-title{color:#c9a227;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px}.current-bets-total{color:#ffd700;font-size:11px;font-weight:700;margin-left:auto;margin-right:8px}.current-bets-toggle{color:#c9a227;font-size:10px;transition:transform 0.2s ease}.roulette-current-bets.collapsed .current-bets-toggle{transform:rotate(-90deg)}.current-bets-items{max-height:150px;overflow-y:auto;transition:max-height 0.3s ease, padding 0.3s ease}.roulette-current-bets.collapsed .current-bets-items{max-height:0;overflow:hidden}.current-bets-items::-webkit-scrollbar{width:4px}.current-bets-items::-webkit-scrollbar-track{background:rgba(0,0,0,0.2)}.current-bets-items::-webkit-scrollbar-thumb{background:rgba(201,162,39,0.4);border-radius:2px}.current-bets-items .bet-list-empty{color:rgba(255,255,255,0.4);font-size:11px;text-align:center;padding:12px;font-style:italic}.current-bets-items .bet-list-item{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;border-bottom:1px solid rgba(255,255,255,0.05);font-size:11px;transition:background 0.15s ease}.current-bets-items .bet-list-item:last-child{border-bottom:none}.current-bets-items .bet-list-item:hover{background:rgba(255,215,0,0.1);cursor:pointer}.current-bets-items .bet-item-type{color:rgba(255,255,255,0.9);display:flex;align-items:center;gap:6px}.current-bets-items .bet-item-chip{width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:bold;color:white;flex-shrink:0;border:1.5px solid rgba(255,255,255,0.3)}.current-bets-items .bet-item-chip.chip-red{background:#c41e3a}.current-bets-items .bet-item-chip.chip-black{background:#1a1a1a}.current-bets-items .bet-item-chip.chip-green{background:#0d7b3f}.current-bets-items .bet-item-chip.chip-gold{background:linear-gradient(135deg, gold 0%, #b8860b 100%)}.current-bets-items .bet-item-amount{color:#22c55e;font-weight:600;font-size:11px}.roulette-wheel-and-bets{display:none}.roulette-wheel-container{display:none}.roulette-bet-list{width:280px;height:280px;background:rgba(15,23,42,0.9);border:1px solid rgba(201,162,39,0.3);border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.bet-list-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:rgba(201,162,39,0.15);border-bottom:1px solid rgba(201,162,39,0.3)}.bet-list-title{color:#c9a227;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px}.bet-list-total{color:#ffd700;font-size:13px;font-weight:700;display:flex;align-items:center;gap:4px}.bet-list-total img,.bet-list-total svg{height:14px;width:auto;vertical-align:middle}.bet-list-items{flex:1;min-height:0;overflow-y:scroll;overflow-x:hidden;padding:8px}.bet-list-items::-webkit-scrollbar{width:4px}.bet-list-items::-webkit-scrollbar-track{background:rgba(0,0,0,0.2)}.bet-list-items::-webkit-scrollbar-thumb{background:rgba(201,162,39,0.4);border-radius:2px}.bet-list-empty{color:rgba(255,255,255,0.4);font-size:12px;text-align:center;padding:20px 10px;font-style:italic}.bet-list-item{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;margin-bottom:4px;background:rgba(255,255,255,0.05);border-radius:4px;font-size:12px;transition:background 0.15s ease}.bet-list-item:last-child{margin-bottom:0}.bet-list-item:hover{background:rgba(255,215,0,0.15);cursor:pointer}.bet-list-item.new-bet{animation:betListSlideIn 0.3s ease}@keyframes betListSlideIn{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.bet-list-item.just-modified{animation:betModifiedPulse 0.5s ease}@keyframes betModifiedPulse{0%{background:rgba(255,215,0,0.4)}100%{background:rgba(255,255,255,0.05)}}.bet-item-type{color:rgba(255,255,255,0.9);display:flex;align-items:center;gap:6px}.bet-item-chip{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:bold;color:white;flex-shrink:0;border:2px solid rgba(255,255,255,0.3)}.bet-item-chip.chip-red{background:#c41e3a}.bet-item-chip.chip-black{background:#1a1a1a}.bet-item-chip.chip-green{background:#0d7b3f}.bet-item-chip.chip-gold{background:linear-gradient(135deg, gold 0%, #b8860b 100%)}.bet-item-amount{color:#22c55e;font-weight:600;display:flex;align-items:center;gap:3px;transition:transform 0.15s ease}.bet-list-item:hover .bet-item-amount{transform:scale(1.05)}.bet-list-item.winner{background:rgba(34,197,94,0.25);border-left:3px solid #22c55e;animation:betWinPulse 1s ease-in-out}.bet-list-item.winner .bet-item-amount{color:#22c55e;text-shadow:0 0 8px rgba(34,197,94,0.5)}.bet-list-item.loser{opacity:0.5;background:rgba(239,68,68,0.1)}.bet-list-item.loser .bet-item-amount{color:#ef4444}@keyframes betWinPulse{0%,100%{box-shadow:0 0 0 rgba(34,197,94,0)}50%{box-shadow:0 0 12px rgba(34,197,94,0.4)}}.bet-item-amount img,.bet-item-amount svg{height:12px;width:auto}.roulette-wheel-svg{width:100%;height:100%;will-change:transform}.roulette-ball{position:absolute;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 30% 30%, #fff 0%, #e8e8e8 40%, #b0b0b0 100%);box-shadow:0 2px 4px rgba(0,0,0,0.5),inset 0 -1px 2px rgba(0,0,0,0.2);opacity:0;z-index:20;top:50%;left:50%;pointer-events:none;will-change:transform, opacity;transition:opacity 0.3s ease-out}.roulette-ball.visible{opacity:1}.roulette-ball.bouncing,.roulette-ball.settled{transition:none}.roulette-recent-results{padding-top:12px;border-top:1px solid #334155}.roulette-recent-results h4{color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:0.5px;margin:0 0 10px 0}.roulette-results-strip{display:flex;gap:6px;flex-wrap:nowrap;overflow:hidden;min-height:28px}.roulette-result-chip{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;transition:box-shadow 0.2s}.roulette-result-chip:first-child{animation:rouletteChipFadeIn 0.3s ease-out}@keyframes rouletteChipFadeIn{from{opacity:0}to{opacity:1}}.roulette-result-chip:hover{transform:scale(1.1)}.roulette-result-chip.red{background:rgba(196,30,58,0.2);color:#ef4444;border:1px solid rgba(196,30,58,0.3)}.roulette-result-chip.red:first-child{box-shadow:0 0 12px rgba(196,30,58,0.4)}.roulette-result-chip.black{background:rgba(100,116,139,0.2);color:#94a3b8;border:1px solid rgba(100,116,139,0.3)}.roulette-result-chip.black:first-child{box-shadow:0 0 12px rgba(100,116,139,0.3)}.roulette-result-chip.green{background:rgba(34,197,94,0.2);color:#22c55e;border:1px solid rgba(34,197,94,0.3)}.roulette-result-chip.green:first-child{box-shadow:0 0 12px rgba(34,197,94,0.4)}.roulette-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.roulette-table{display:grid;grid-template-columns:50px repeat(12, 1fr) 50px;gap:2px;min-width:600px}.roulette-cell{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;border:1px solid rgba(255,255,255,0.2);transition:all 0.15s ease;user-select:none}.roulette-cell:hover{outline:2px solid rgba(255,215,0,0.8);outline-offset:-2px}.roulette-cell.red{background:#c41e3a}.roulette-cell.black{background:#1a1a2e}.roulette-cell.green{background:#0d7b3f}.roulette-row{display:contents}.roulette-cell.winning{box-shadow:0 0 8px rgba(255,215,0,0.4);border:2px solid rgba(255,215,0,0.6) !important;z-index:10}.roulette-dolly{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);z-index:100;pointer-events:none;animation:dollyAppear 0.3s ease-out}.dolly-base{width:28px;height:28px;background:linear-gradient(135deg, rgba(255,255,255,0.95) 0%, rgba(220,220,220,0.9) 100%);border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,0.4),0 4px 16px rgba(0,0,0,0.2),inset 0 2px 4px rgba(255,255,255,0.8),inset 0 -2px 4px rgba(0,0,0,0.1);border:2px solid rgba(255,215,0,0.8)}.dolly-top{position:absolute;top:4px;left:50%;transform:translateX(-50%);width:16px;height:16px;background:linear-gradient(135deg, rgba(255,215,0,0.9) 0%, rgba(218,165,32,0.9) 100%);border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,0.3),inset 0 1px 2px rgba(255,255,255,0.5)}@keyframes dollyAppear{0%{transform:translate(-50%, -50%) scale(0) translateY(-20px);opacity:0}60%{transform:translate(-50%, -50%) scale(1.2) translateY(0)}100%{transform:translate(-50%, -50%) scale(1) translateY(0);opacity:1}}.roulette-dolly .dolly-base{animation:dollyPulse 1.5s ease-in-out infinite}@keyframes dollyPulse{0%,100%{box-shadow:0 2px 8px rgba(0,0,0,0.4),0 4px 16px rgba(0,0,0,0.2),inset 0 2px 4px rgba(255,255,255,0.8),inset 0 -2px 4px rgba(0,0,0,0.1)}50%{box-shadow:0 2px 12px rgba(255,215,0,0.6),0 4px 20px rgba(255,215,0,0.3),inset 0 2px 4px rgba(255,255,255,0.8),inset 0 -2px 4px rgba(0,0,0,0.1)}}@keyframes rouletteWinPulse{0%,100%{transform:scale(1);box-shadow:0 0 25px rgba(255,215,0,0.8),inset 0 0 15px rgba(255,215,0,0.3)}50%{transform:scale(1.1);box-shadow:0 0 40px gold,inset 0 0 25px rgba(255,215,0,0.5)}}.roulette-chip{position:absolute;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;z-index:5;pointer-events:auto;box-shadow:0 2px 4px rgba(0,0,0,0.4);border:2px dashed rgba(255,255,255,0.5);isolation:isolate;cursor:pointer}.roulette-chip:hover{transform:scale(1.1);box-shadow:0 4px 8px rgba(0,0,0,0.6)}.roulette-chip.highlighted{transform:scale(1.3);box-shadow:0 0 0 3px gold,0 0 15px rgba(255,215,0,0.7);z-index:10;animation:chip-pulse 0.6s ease-in-out infinite}@keyframes chip-pulse{0%,100%{box-shadow:0 0 0 3px gold,0 0 15px rgba(255,215,0,0.7)}50%{box-shadow:0 0 0 4px gold,0 0 25px rgba(255,215,0,0.9)}}.chip-tooltip{position:fixed;background:rgba(0,0,0,0.95);color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:600;z-index:20;pointer-events:none;white-space:nowrap;border:1px solid rgba(255,215,0,0.5);opacity:0;transition:opacity 0.15s ease}.chip-tooltip.visible{opacity:1}.chip-tooltip .tooltip-amount{color:#ffd700;font-size:14px;display:flex;align-items:center;gap:4px}.chip-tooltip .tooltip-amount img,.chip-tooltip .tooltip-amount svg{height:14px;width:auto;vertical-align:middle}.chip-tooltip .tooltip-type{color:#94a3b8;font-size:11px;margin-top:2px}.roulette-chip.chip-0-1{background:#ef4444}.roulette-chip.chip-0-5{background:#3b82f6}.roulette-chip.chip-1{background:#22c55e}.roulette-chip.chip-5{background:#a855f7}.roulette-chip.chip-10{background:#f97316}.roulette-chip.chip-25{background:#ec4899}.roulette-chip.chip-100{background:#000;border-color:#ffd700}.roulette-chip.chip-250{background:linear-gradient(135deg, gold, #b8860b);border-color:#ffd700}.roulette-chip-stack{position:absolute;display:flex;flex-direction:column;align-items:center;z-index:10}.roulette-chip-stack .roulette-chip{position:relative;margin-top:-18px}.roulette-chip-stack .roulette-chip:first-child{margin-top:0}.roulette-chip-selector{display:flex;flex-wrap:wrap;gap:8px;padding:12px;background:#0f172a;border-radius:8px;justify-content:center}.chip-option{width:44px;height:44px;border-radius:50%;border:3px dashed rgba(255,255,255,0.4);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;cursor:pointer;transition:all 0.2s;box-shadow:0 2px 4px rgba(0,0,0,0.3)}.chip-option:hover{transform:scale(1.1)}.chip-option.selected{transform:scale(1.15);box-shadow:0 0 12px rgba(255,215,0,0.6);border-color:#ffd700}.chip-option.chip-0-1{background:#ef4444}.chip-option.chip-0-5{background:#3b82f6}.chip-option.chip-1{background:#22c55e}.chip-option.chip-5{background:#a855f7}.chip-option.chip-10{background:#f97316}.chip-option.chip-25{background:#ec4899}.chip-option.chip-100{background:#000;border-color:#ffd700}.chip-option.chip-250{background:linear-gradient(135deg, gold, #b8860b);border-color:#ffd700}.roulette-racetrack-toggle{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:#1e3a5f;border:1px solid #334155;border-radius:6px;color:#e2e8f0;font-size:12px;cursor:pointer;transition:all 0.2s}.roulette-racetrack-toggle:hover{background:#2d4a6f}.roulette-racetrack-toggle.active{background:#3b82f6;border-color:#60a5fa}.roulette-racetrack-container{display:none;margin-top:16px}.roulette-racetrack-container.visible{display:block}.roulette-racetrack{display:flex;align-items:stretch;background:#0a3d20;border:3px solid #c9a227;border-radius:45px;overflow:hidden;box-shadow:inset 0 0 15px rgba(0,0,0,0.4),0 4px 8px rgba(0,0,0,0.3)}.racetrack-left-curve{display:flex;flex-direction:column;justify-content:stretch;background:#0a3d20;min-width:36px;padding:0;border-right:2px solid #c9a227;overflow:hidden;position:relative;z-index:1;border-radius:42px 0 0 42px}.racetrack-right-curve{display:flex;flex-direction:column;justify-content:center;background:#0a3d20;min-width:36px;padding:0;border-left:2px solid #c9a227;overflow:hidden;position:relative;z-index:1;border-radius:0 42px 42px 0}.racetrack-main{flex:1;display:flex;flex-direction:column}.racetrack-row{display:flex;background:#0a3d20}.racetrack-top-row{border-bottom:2px solid #c9a227}.racetrack-bottom-row{border-top:2px solid #c9a227}.racetrack-sections{display:flex;flex:1;background:linear-gradient(to bottom, #f5e6c8 0%, #d4c4a0 100%);min-height:32px}.racetrack-section{flex:1;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#1a1a1a;text-transform:uppercase;letter-spacing:1.5px;cursor:pointer;transition:all 0.2s;border-right:2px solid #c9a227;padding:6px 10px;position:relative}.racetrack-section:last-child{border-right:none}.racetrack-section:hover{background:rgba(201,162,39,0.3)}.racetrack-section.tiers{flex:2.5}.racetrack-section.orphelins{flex:2}.racetrack-section.voisins{flex:3}.racetrack-section.jeu-zero{flex:1.5}.racetrack-num{display:flex;align-items:center;justify-content:center;flex:1;min-width:26px;height:30px;font-size:13px;font-weight:700;color:#fff;cursor:pointer;transition:all 0.15s ease;border-right:1px solid rgba(201,162,39,0.5);text-shadow:1px 1px 2px rgba(0,0,0,0.6)}.racetrack-num:last-child{border-right:none}.racetrack-num:hover{outline:2px solid rgba(255,215,0,0.8);outline-offset:-2px;z-index:10}.racetrack-num.highlighted{outline:2px solid rgba(255,215,0,0.8);outline-offset:-2px;z-index:10}.racetrack-section.has-bet{background:linear-gradient(to bottom, rgba(255,215,0,0.3) 0%, rgba(201,162,39,0.4) 100%);box-shadow:inset 0 0 8px rgba(255,215,0,0.4)}.racetrack-bet-amount{position:absolute;bottom:0;right:2px;font-size:9px;font-weight:700;color:#1a1a1a;display:flex;align-items:center;gap:2px}.racetrack-bet-amount img{height:10px;width:auto}.racetrack-num.red{background:linear-gradient(to bottom, #c41e1e 0%, #991515 100%)}.racetrack-num.black{background:linear-gradient(to bottom, #2d2d42 0%, #1a1a2e 100%)}.racetrack-num.green{background:linear-gradient(to bottom, #0f9f4f 0%, #0a7638 100%)}.racetrack-left-curve .racetrack-num,.racetrack-right-curve .racetrack-num{border-right:none;border-bottom:none;min-width:100%;height:auto;flex:1;padding:10px 4px;position:relative}.racetrack-diagonal-separator{display:none}.racetrack-neighbour-selector{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px}.neighbour-count-btn{width:28px;height:28px;border-radius:4px;background:#1e3a5f;border:1px solid #334155;color:#e2e8f0;font-size:12px;cursor:pointer;transition:all 0.2s}.neighbour-count-btn:hover{background:#2d4a6f}.neighbour-count-btn.active{background:#3b82f6;border-color:#60a5fa}.roulette-bet-summary{display:flex;flex-direction:column;gap:8px;padding:12px;background:#0f172a;border-radius:8px}.millionaire-field:has(.roulette-total-bet){display:flex;flex-direction:row;justify-content:space-between;align-items:center}.millionaire-field:has(.roulette-total-bet)>label{margin-bottom:0}.roulette-total-bet{font-size:14px;color:#e2e8f0}.roulette-total-bet .amount{display:flex;align-items:center;gap:4px;font-weight:700;color:#fbbf24}.roulette-total-bet .amount img,.roulette-total-bet .amount svg{height:14px;width:auto}.roulette-floating-error{position:fixed;z-index:50;font-size:13px;font-weight:500;color:#fff;padding:8px 14px;background:rgba(220,38,38,0.95);border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,0.4);white-space:nowrap;pointer-events:none;opacity:0;transform:translateX(-50%) translateY(5px);transition:opacity 0.2s ease, transform 0.2s ease}.roulette-floating-error.visible{opacity:1;transform:translateX(-50%) translateY(0)}.roulette-floating-error.fade-out{opacity:0;transform:translateX(-50%) translateY(-10px)}.roulette-limit-error{display:none}.roulette-action-buttons{display:flex;gap:6px;flex-wrap:wrap}.roulette-undo-btn,.roulette-repeat-btn,.roulette-clear-btn{flex:1;min-width:60px;padding:8px 10px;background:#334155;border:none;border-radius:6px;color:#e2e8f0;font-size:11px;cursor:pointer;transition:all 0.2s}.roulette-undo-btn:hover,.roulette-repeat-btn:hover,.roulette-clear-btn:hover{background:#475569}.roulette-undo-btn:disabled,.roulette-repeat-btn:disabled,.roulette-clear-btn:disabled{opacity:0.5;cursor:not-allowed}.roulette-repeat-btn{background:#1e3a5f;border:1px solid #3b82f6}.roulette-repeat-btn:hover:not(:disabled){background:#2563eb}.roulette-result-display{position:absolute;top:35%;left:50%;transform:translate(-50%, -50%) scale(0);z-index:50;display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px;background:rgba(15,23,42,0.85);border-radius:16px;border:2px solid #b8860b;box-shadow:0 0 40px rgba(0,0,0,0.8);opacity:0;transition:all 0.3s ease}.roulette-result-display.visible{transform:translate(-50%, -50%) scale(1);opacity:1;animation:rouletteResultFadeIn 0.3s ease-out}@keyframes rouletteResultFadeIn{from{opacity:0;transform:translate(-50%, -50%) scale(0.9)}to{opacity:1;transform:translate(-50%, -50%) scale(1)}}.roulette-result-display.visible.win-state{background:radial-gradient(circle at center, rgba(34,197,94,0.15) 0%, rgba(15,23,42,0.95) 70%);border-color:#22c55e}.roulette-result-display.visible.loss-state{background:radial-gradient(circle at center, rgba(239,68,68,0.1) 0%, rgba(15,23,42,0.95) 70%)}.roulette-result-number{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,0.5);animation:rouletteResultNumberPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1)}@keyframes rouletteResultNumberPop{0%{transform:scale(0) rotate(-180deg);opacity:0}50%{transform:scale(1.2) rotate(10deg)}100%{transform:scale(1) rotate(0deg);opacity:1}}.roulette-result-number.red{background:#c41e3a}.roulette-result-number.black{background:#1a1a2e;border:3px solid #334155}.roulette-result-number.green{background:#0d7b3f}.roulette-result-amounts{display:flex;flex-direction:column;gap:8px;animation:roulettePayoutSlide 0.4s ease-out 0.2s both}.roulette-result-row{display:flex;justify-content:space-between;align-items:center;gap:20px;min-width:180px}.result-label{font-size:13px;color:rgba(255,255,255,0.6);text-transform:uppercase;letter-spacing:0.5px}.roulette-result-payout,.roulette-result-profit{display:flex;align-items:center;gap:4px;font-size:18px;font-weight:700}.roulette-result-payout img,.roulette-result-payout svg,.roulette-result-profit img,.roulette-result-profit svg{height:16px;width:auto;vertical-align:middle}@keyframes roulettePayoutSlide{from{transform:translateY(15px);opacity:0}to{transform:translateY(0);opacity:1}}.roulette-result-payout.win,.roulette-result-profit.win{color:#22c55e}.roulette-result-payout.lose,.roulette-result-profit.lose{color:#ef4444}.roulette-result-buttons{display:flex;flex-direction:column;gap:10px;align-items:center}.roulette-result-close{padding:10px 32px;background:#3b82f6;border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all 0.2s;min-width:160px}.roulette-result-close:hover{background:#2563eb}.roulette-result-repeat{padding:10px 32px;background:transparent;border:1px solid rgba(255,215,0,0.5);border-radius:6px;color:#ffd700;font-size:13px;font-weight:500;cursor:pointer;transition:all 0.2s;min-width:160px}.roulette-result-repeat:hover{background:rgba(255,215,0,0.1);border-color:#ffd700}.roulette-spin-btn{position:relative;overflow:hidden}.roulette-spin-btn::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg, transparent, rgba(255,255,255,0.1), transparent);transform:rotate(45deg);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translateX(-100%) rotate(45deg)}100%{transform:translateX(100%) rotate(45deg)}}.roulette-spin-btn:disabled{animation:none}.roulette-spin-btn:disabled::before{display:none}.roulette-table-layout{display:flex;flex-direction:column;gap:2px;background:#064e3b;padding:10px;border-radius:8px;border:3px solid #c9a227}.roulette-numbers-area{display:flex;gap:2px}.roulette-zero-column{display:flex;width:50px;min-width:50px}.roulette-cell.zero{flex:1;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;min-height:auto}.roulette-numbers-main{flex:1;display:flex;flex-direction:column;gap:2px}.roulette-number-row{display:flex;gap:2px}.roulette-number-row .roulette-cell{flex:1;min-width:0}.roulette-column-bets{display:flex;flex-direction:column;gap:2px;width:36px;min-width:36px}.roulette-cell.column{flex:1;background:#1e3a5f;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.roulette-dozens-row{display:flex;gap:2px;margin-top:2px;padding-left:52px;padding-right:38px}.roulette-dozens-row .roulette-cell.dozen{flex:1;background:#1e3a5f;font-size:13px;font-weight:600;min-height:36px}.roulette-even-money{display:flex;gap:2px;margin-top:2px;padding-left:52px;padding-right:38px}.roulette-even-money .roulette-cell.outside{flex:1;background:#1e3a5f;font-size:13px;font-weight:600;min-height:36px}.roulette-cell.outside.red-bet{background:#dc2626 !important}.roulette-cell.outside.black-bet{background:#1a1a2e !important}.roulette-cell.number{position:relative}.roulette-cell.number.highlighted{outline:3px solid #ffd700;outline-offset:-3px;background-color:rgba(255,215,0,0.15) !important}.hit-zone{position:absolute;z-index:5;cursor:pointer;transition:background 0.15s ease}.hit-zone-center{top:20%;left:20%;width:60%;height:60%}.hit-zone-top{top:0;left:20%;width:60%;height:20%}.hit-zone-bottom{bottom:0;left:20%;width:60%;height:20%}.hit-zone-left{top:20%;left:0;width:20%;height:60%}.hit-zone-right{top:20%;right:0;width:20%;height:60%}.hit-zone-corner-tl{top:0;left:0;width:20%;height:20%}.hit-zone-corner-tr{top:0;right:0;width:20%;height:20%}.hit-zone-corner-bl{bottom:0;left:0;width:20%;height:20%}.hit-zone-corner-br{bottom:0;right:0;width:20%;height:20%}.hit-zone:hover{background:rgba(255,215,0,0.4)}.hit-zone-center:hover{background:rgba(255,215,0,0.5)}.roulette-cell.highlight-split{box-shadow:0 0 0 2px #ffd700 inset;background-color:rgba(255,215,0,0.2) !important}.roulette-cell.highlight-corner{box-shadow:0 0 0 2px #ffd700 inset;background-color:rgba(255,215,0,0.3) !important}.roulette-cell.highlight-street{box-shadow:0 0 0 2px #ffd700 inset;background-color:rgba(255,215,0,0.25) !important}.roulette-mode-toggle{display:flex;gap:4px;background:#0f172a;border-radius:8px;padding:4px}.roulette-mode-btn{flex:1;padding:10px 16px;background:transparent;border:none;border-radius:6px;color:#64748b;font-size:13px;font-weight:600;cursor:pointer;transition:all 0.2s}.roulette-mode-btn:hover{background:#334155;color:#94a3b8}.roulette-mode-btn.active{background:#3b82f6;color:#fff}.roulette-auto-controls{display:none}.roulette-auto-controls.visible{display:flex;flex-direction:column;gap:10px}.roulette-manual-controls{display:flex;flex-direction:column;gap:10px}.roulette-manual-controls.hidden{display:none}.roulette-spin-btn.stop-mode{background:linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important}.roulette-spin-btn.stop-mode:hover{background:linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important}.roulette-cell.highlight-bet{outline:3px solid #ffd700 !important;outline-offset:-3px;background-color:rgba(255,215,0,0.15) !important}.inside-bet-tooltip{position:fixed;background:rgba(0,0,0,0.9);color:#ffd700;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap;pointer-events:none;z-index:20;opacity:0;transition:opacity 0.15s ease;border:1px solid rgba(255,215,0,0.3)}.inside-bet-tooltip.visible{opacity:1}@media (max-width: 1023px){.roulette-layout{flex-direction:row;gap:12px}.roulette-controls{flex:0 0 240px;max-width:240px;padding:12px;gap:10px}.roulette-game-area{padding:16px;gap:12px}.roulette-wheel-container{width:220px;height:220px}.roulette-ball{width:10px;height:10px}.roulette-cell{min-height:38px;font-size:13px}.chip-option{width:36px;height:36px;font-size:10px}.roulette-undo-btn,.roulette-repeat-btn,.roulette-clear-btn{padding:8px 6px;font-size:11px}.roulette-spin-btn{padding:12px;font-size:14px}.roulette-chip{width:22px;height:22px;font-size:9px}.roulette-chip-stack .roulette-chip{margin-top:-16px}.roulette-racetrack{border-radius:40px}.racetrack-num{min-width:20px;height:24px;font-size:10px}.racetrack-section{font-size:9px;letter-spacing:0.5px}.roulette-result-display{padding:28px 24px}}@media (max-width: 899px){.roulette-controls{flex:0 0 220px;max-width:220px;padding:10px;gap:8px}.roulette-wheel-container{width:200px;height:200px}.roulette-bet-list{height:200px}.chip-option{width:32px;height:32px;font-size:9px}.roulette-chip{width:20px;height:20px;font-size:8px;border-width:1.5px}.roulette-chip-stack .roulette-chip{margin-top:-14px}.roulette-undo-btn,.roulette-repeat-btn,.roulette-clear-btn{padding:6px 4px;font-size:10px;min-width:50px}.roulette-spin-btn{padding:10px;font-size:13px}.roulette-mode-btn{padding:8px;font-size:12px}.roulette-total-bet{font-size:14px}.roulette-field label{font-size:10px}.roulette-racetrack-toggle{padding:8px;font-size:11px}.roulette-racetrack-toggle svg{width:14px;height:14px}}@media (max-width: 767px){.roulette-container{max-width:400px;margin:0 auto;padding:0}.roulette-layout{flex-direction:column;gap:8px}.roulette-game-area{order:1;width:100%;padding:12px;gap:12px}.roulette-controls{order:2;flex:none;width:100%;max-width:100%;padding:12px;gap:10px}.roulette-mode-toggle{width:100%}.roulette-mode-btn{flex:1;padding:10px;font-size:13px}.roulette-wheel-and-bets{flex-direction:column;align-items:center;gap:12px}.roulette-wheel-container{width:200px;height:200px;margin:0}.roulette-bet-list{width:100%;max-width:100%;height:120px}.roulette-ball{width:8px;height:8px}.roulette-cell{min-height:34px;font-size:12px}.roulette-chip-selector{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;padding:6px}.roulette-recent-results{padding:8px}.roulette-results-strip{gap:4px;flex-wrap:wrap}.roulette-racetrack{border-radius:35px}.racetrack-num{min-width:18px;height:22px;font-size:9px}.racetrack-section{font-size:8px;padding:2px 4px}.racetrack-left-curve,.racetrack-right-curve{min-width:26px}.racetrack-bet-amount{font-size:7px}.roulette-total-bet{padding:8px 10px;font-size:16px}.roulette-field label{font-size:11px}.roulette-field input,.roulette-field select{padding:8px 10px;font-size:14px}.roulette-action-buttons{display:flex;gap:6px;width:100%}.roulette-undo-btn,.roulette-repeat-btn,.roulette-clear-btn{flex:1;padding:10px 8px;font-size:12px}.roulette-spin-btn{padding:14px;font-size:16px}.roulette-auto-controls{width:100%}.roulette-racetrack-toggle{width:100%;justify-content:center;padding:10px}.roulette-result-display{padding:24px 20px;width:90%;max-width:320px}.roulette-result-number{width:70px;height:70px;font-size:28px}.roulette-result-row{min-width:160px;gap:16px}.result-label{font-size:12px}.roulette-result-payout,.roulette-result-profit{font-size:16px}.roulette-result-buttons{width:100%;gap:8px}.roulette-result-close,.roulette-result-repeat{width:100%;padding:12px 20px;font-size:14px}.roulette-limit-error{font-size:11px}.millionaire-info{padding:10px}.roulette-zero-column{width:28px;min-width:28px}.roulette-cell.zero{font-size:16px;min-height:auto}.roulette-column-bets{width:24px;min-width:24px}.roulette-cell.column{font-size:9px;min-height:auto}.roulette-dozens-row,.roulette-even-money{padding-left:30px;padding-right:26px}.roulette-cell.dozen,.roulette-cell.outside{font-size:11px;min-height:32px}.roulette-number-row .roulette-cell{min-height:30px;font-size:11px}.roulette-table-layout{min-width:340px;padding:6px;border-radius:12px}.chip-option{width:32px;height:32px;font-size:10px;line-height:normal}.roulette-result-strip{height:42px;margin-bottom:0}.result-tile{width:30px;height:30px;border-radius:6px}.result-tile .tile-number{font-size:16px}.result-tile .tile-payout{display:none}.result-strip-reel{padding:6px 12px;gap:5px}.result-strip-pointer{width:0}.result-strip-pointer::before{border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid #c9a227}.result-strip-pointer::after{border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:8px solid #c9a227}.roulette-chip{width:12px;height:12px;font-size:5px;border-width:1px}.roulette-chip-stack .roulette-chip{margin-top:-8px}.roulette-recent{display:none}.roulette-racetrack-container{display:none}.roulette-racetrack-container.visible{display:block}.roulette-racetrack-toggle{display:flex}.roulette-controls{display:flex;flex-direction:column}.roulette-manual-controls{order:1}.roulette-auto-controls{order:1}.roulette-chip-selector{order:2}.roulette-controls>.millionaire-field:has(.roulette-chip-selector){order:2}.roulette-controls>.millionaire-field:has(.roulette-total-bet){order:3}.roulette-action-buttons{order:4}.roulette-mode-toggle{order:5;margin-bottom:0}.roulette-racetrack-toggle{order:6}.roulette-current-bets{order:7}.millionaire-stats-row{order:8}.millionaire-balance{order:9}.millionaire-info{order:10}.millionaire-toggle{order:11}.roulette-controls>.millionaire-field:has(.roulette-chip-selector)>label{display:none}.roulette-controls>.millionaire-field:has(.roulette-total-bet){display:flex;flex-direction:row;justify-content:space-between;align-items:center;line-height:normal}.roulette-controls>.millionaire-field:has(.roulette-total-bet)>label{margin-bottom:0}.roulette-total-bet{padding:0 10px}.chip-tooltip{padding:5px 8px;font-size:10px;border-radius:4px}.chip-tooltip .tooltip-amount{font-size:11px}.chip-tooltip .tooltip-amount img,.chip-tooltip .tooltip-amount svg{height:11px}.chip-tooltip .tooltip-type{font-size:9px}.inside-bet-tooltip{padding:4px 8px;font-size:10px;border-radius:4px}}@media (max-width: 479px){.roulette-container{max-width:400px;margin:0 auto;padding:0}.roulette-controls{padding:10px;gap:8px}.roulette-mode-btn{padding:8px;font-size:12px}.roulette-wheel-container{width:160px;height:160px}.roulette-bet-list{height:100px}.bet-list-header{padding:6px 8px}.bet-list-title{font-size:10px}.bet-list-total{font-size:11px}.bet-list-item{padding:4px 6px;font-size:10px}.bet-item-chip{width:14px;height:14px}.roulette-wheel{border-width:5px}.roulette-wheel-center{width:36px;height:36px}.roulette-ball{width:7px;height:7px}.roulette-racetrack{border-radius:28px}.racetrack-num{min-width:15px;height:18px;font-size:7px}.racetrack-section{font-size:6px;padding:2px}.racetrack-sections{min-height:20px}.racetrack-left-curve,.racetrack-right-curve{min-width:20px}.racetrack-bet-amount{font-size:6px}.roulette-total-bet{padding:6px 8px;font-size:14px}.roulette-undo-btn,.roulette-repeat-btn,.roulette-clear-btn{padding:8px 6px}.roulette-spin-btn{padding:12px;font-size:14px}.roulette-result-display{top:0;left:0;right:0;bottom:0;width:100%;max-width:none;transform:scale(0);border-radius:12px;padding:20px 16px;gap:12px;justify-content:center}.roulette-result-display.visible{transform:scale(1)}@keyframes rouletteResultFadeIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}.roulette-result-number{width:60px;height:60px;font-size:24px}.roulette-result-row{min-width:140px;gap:12px}.result-label{font-size:11px}.roulette-result-payout,.roulette-result-profit{font-size:14px}.roulette-result-close,.roulette-result-repeat{padding:10px 16px;font-size:13px}.roulette-zero-column{width:24px;min-width:24px}.roulette-cell.zero{font-size:14px;min-height:auto}.roulette-column-bets{width:20px;min-width:20px}.roulette-cell.column{font-size:8px;min-height:auto}.roulette-dozens-row,.roulette-even-money{padding-left:26px;padding-right:22px}.roulette-cell.dozen,.roulette-cell.outside{font-size:10px;min-height:28px}.roulette-number-row .roulette-cell{min-height:26px;font-size:10px}.roulette-table-layout{min-width:310px;padding:4px}.chip-option{width:32px;height:32px;font-size:9px}}@media (max-width: 359px){.roulette-container{max-width:100%;margin:0 auto;padding:0}.roulette-controls{padding:8px;gap:6px}.roulette-mode-btn{padding:6px;font-size:11px}.roulette-wheel-container{width:140px;height:140px}.roulette-bet-list{height:80px}.bet-list-header{padding:4px 6px}.bet-list-title{font-size:9px}.bet-list-total{font-size:10px}.bet-list-item{padding:3px 5px;font-size:9px}.bet-item-chip{width:12px;height:12px}.roulette-wheel{border-width:4px}.roulette-wheel-center{width:30px;height:30px}.roulette-ball{width:6px;height:6px}.roulette-racetrack{border-radius:22px}.racetrack-num{min-width:12px;height:16px;font-size:6px}.racetrack-section{font-size:5px;padding:1px;letter-spacing:0}.racetrack-sections{min-height:16px}.racetrack-left-curve,.racetrack-right-curve{min-width:16px}.racetrack-bet-amount{font-size:5px}.roulette-total-bet{padding:5px 6px;font-size:12px}.roulette-undo-btn,.roulette-repeat-btn,.roulette-clear-btn{padding:6px 4px}.roulette-spin-btn{padding:10px;font-size:13px}.roulette-racetrack-toggle{padding:8px;font-size:11px}.roulette-result-display{padding:16px 12px;gap:10px}.roulette-result-number{width:50px;height:50px;font-size:20px}.roulette-result-row{min-width:120px;gap:10px}.result-label{font-size:10px}.roulette-result-payout,.roulette-result-profit{font-size:13px}.roulette-result-close,.roulette-result-repeat{padding:8px 12px;font-size:12px}.roulette-zero-column{width:20px;min-width:20px}.roulette-cell.zero{font-size:12px;min-height:auto}.roulette-column-bets{width:18px;min-width:18px}.roulette-cell.column{font-size:7px;min-height:auto}.roulette-dozens-row,.roulette-even-money{padding-left:22px;padding-right:20px}.roulette-cell.dozen,.roulette-cell.outside{font-size:9px;min-height:24px}.roulette-number-row .roulette-cell{min-height:22px;font-size:9px}.roulette-table-layout{min-width:275px;padding:3px}.chip-option{width:26px;height:26px;font-size:7px}}
