/* --- CONFIGURATION DES COULEURS & VARIABLES --- */ :root { --table-green: radial-gradient(circle, #277d46 0%, #1a5e33 100%); --poker-border: #2c1b18; /* Marron cuir très sombre */ --gold: #d4af37; --gold-light: #f9e27d; --dark-bg: #0f0f0f; --panel-bg: #1a1a1a; --white: #ffffff; --shadow: 0 10px 30px rgba(0,0,0,0.8); } /* --- RESET & BASE --- */ body { background-color: var(--dark-bg); background-image: radial-gradient(circle at center, #1a1a1a 0%, #0a0a0a 100%); color: var(--white); font-family: 'Segoe UI', Roboto, sans-serif; margin: 0; height: 100vh; display: flex; flex-direction: column; overflow: hidden; } /* --- STATS BAR (TOP) --- */ .stats-bar { background: rgba(0, 0, 0, 0.8); backdrop-filter: blur(10px); padding: 12px 25px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid rgba(212, 175, 55, 0.3); z-index: 100; } /* --- TABLE DE JEU --- */ .table-container { flex-grow: 1; display: flex; justify-content: center; align-items: center; perspective: 1000px; /* Petit effet de profondeur */ padding: 40px; } .poker-table { width: 900px; height: 450px; background: var(--table-green); border: 18px solid var(--poker-border); border-radius: 250px; position: relative; /* Ombre interne pour l'effet rebords et ombre externe pour la profondeur */ box-shadow: inset 0 0 60px rgba(0,0,0,0.7), 0 25px 50px rgba(0,0,0,0.9), 0 0 0 4px #3d2b27; } /* Ligne blanche de démarcation sur la table */ .poker-table::after { content: ''; position: absolute; top: 25px; left: 25px; right: 25px; bottom: 25px; border: 2px solid rgba(255,255,255,0.1); border-radius: 230px; pointer-events: none; } /* --- ZONE CENTRALE (POT) --- */ .pot-area { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; z-index: 2; } .total-pot { font-size: 3.5rem; font-weight: 900; color: var(--white); text-shadow: 0 4px 10px rgba(0,0,0,0.5); letter-spacing: -1px; } .total-pot::before { content: 'POT: '; font-size: 0.9rem; display: block; color: var(--gold); letter-spacing: 2px; } .current-bet-display { font-size: 1rem; text-transform: uppercase; color: rgba(255,255,255,0.6); margin-top: -5px; } /* --- JOUEURS --- */ .player-slot { position: absolute; width: 150px; z-index: 10; transition: transform 0.3s ease; } .player-info { background: linear-gradient(145deg, #1e1e1e, #111); border: 2px solid #333; border-radius: 15px; padding: 10px; text-align: center; box-shadow: var(--shadow); } /* Joueur actif : Effet brillant or */ .player-info.active { border-color: var(--gold); box-shadow: 0 0 20px rgba(212, 175, 55, 0.4); transform: scale(1.08); background: linear-gradient(145deg, #2a2a2a, #111); } .player-name { display: block; color: var(--gold); font-weight: 700; font-size: 0.9rem; margin-bottom: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .player-money { font-size: 1.2rem; font-weight: bold; color: #fff; } .player-bet { font-size: 0.8rem; color: #888; background: rgba(0,0,0,0.3); border-radius: 20px; padding: 2px 8px; display: inline-block; margin-top: 5px; } /* Dealer Badge */ .dealer-badge { position: absolute; top: -12px; right: -12px; background: #fff; color: #000; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 900; box-shadow: 0 2px 5px rgba(0,0,0,0.5); border: 2px solid var(--poker-border); } /* --- POSITIONNEMENT DES SLOTS (AUTO-ADAPTATIF) --- */ .slot-0 { top: -75px; left: 50%; transform: translateX(-50%); } .slot-1 { top: 10%; right: -130px; } .slot-2 { top: 50%; right: -160px; transform: translateY(-50%); } .slot-3 { bottom: 10%; right: -130px; } .slot-4 { bottom: -75px; left: 50%; transform: translateX(-50%); } .slot-5 { bottom: 10%; left: -130px; } .slot-6 { top: 50%; left: -160px; transform: translateY(-50%); } .slot-7 { top: 10%; left: -130px; } /* --- PANNEAU D'ACTION --- */ .action-panel { background: var(--panel-bg); border-top: 2px solid var(--gold); padding: 25px; box-shadow: 0 -10px 30px rgba(0,0,0,0.5); } .turn-info { text-align: center; margin-bottom: 20px; font-size: 1.1rem; } .action-buttons { display: flex; justify-content: center; gap: 15px; align-items: center; } /* Boutons de base */ .btn { padding: 14px 28px; border-radius: 10px; border: none; font-weight: 800; cursor: pointer; text-transform: uppercase; transition: all 0.2s; font-size: 0.9rem; } .btn-fold { background: #333; color: #999; } .btn-fold:hover { background: #444; color: #fff; } .btn-call { background: transparent; color: #fff; border: 2px solid var(--gold); } .btn-call:hover { background: var(--gold); color: #000; } .btn-allin { background: linear-gradient(45deg, #8b0000, #e60000); color: white; box-shadow: 0 4px 15px rgba(230, 0, 0, 0.3); } .btn-allin:hover { transform: translateY(-3px); box-shadow: 0 6px 20px rgba(230, 0, 0, 0.5); } /* Groupe Relance Spécial */ .raise-group { display: flex; background: #000; border: 2px solid var(--gold); border-radius: 10px; overflow: hidden; } #raise-amount { width: 90px; background: transparent; border: none; color: white; padding: 10px; text-align: center; font-weight: bold; outline: none; } .btn-validate { background: var(--gold); border: none; padding: 0 20px; color: #000; font-weight: bold; cursor: pointer; } /* Boutons utilitaires du haut */ .btn-spaction, .btn-back, .btn-money { background: rgba(255,255,255,0.05); border: 1px solid rgba(212, 175, 55, 0.5); color: var(--gold); padding: 8px 15px; border-radius: 5px; cursor: pointer; text-decoration: none; font-size: 0.8rem; transition: 0.3s; margin-left: 5px; } .btn-spaction:hover, .btn-back:hover { background: var(--gold); color: #000; } /* Suppression des flèches du type "number" */ input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }