diff --git a/poker-paf/Css/Game.css b/poker-paf/Css/Game.css index e0c8884..ed1cd3e 100644 --- a/poker-paf/Css/Game.css +++ b/poker-paf/Css/Game.css @@ -1,288 +1,189 @@ -/* --- CONFIGURATION DES COULEURS & VARIABLES --- */ +/* --- CONFIGURATION & VARIABLES --- */ :root { --table-green: radial-gradient(circle, #277d46 0%, #1a5e33 100%); - --poker-border: #2c1b18; /* Marron cuir très sombre */ + --poker-border: #2c1b18; --gold: #d4af37; - --gold-light: #f9e27d; - --dark-bg: #0f0f0f; - --panel-bg: #1a1a1a; + --dark-bg: #0a0a0a; + --panel-bg: #151515; --white: #ffffff; --shadow: 0 10px 30px rgba(0,0,0,0.8); } -/* --- RESET & BASE --- */ +/* --- STRUCTURE PRINCIPALE --- */ 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; + font-family: 'Segoe UI', 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; +.game-container { display: flex; - justify-content: space-between; - align-items: center; - border-bottom: 1px solid rgba(212, 175, 55, 0.3); - z-index: 100; + width: 100%; + height: 100%; } -/* --- TABLE DE JEU --- */ +/* --- TABLE DE JEU (GAUCHE) --- */ .table-container { - flex-grow: 1; + flex: 1; /* Prend tout l'espace restant */ display: flex; justify-content: center; align-items: center; - perspective: 1000px; /* Petit effet de profondeur */ - padding: 40px; + padding: 20px; + background: radial-gradient(circle at center, #1a1a1a 0%, #050505 100%); } .poker-table { - width: 900px; - height: 450px; + width: 800px; + height: 400px; background: var(--table-green); - border: 18px solid var(--poker-border); - border-radius: 250px; + border: 15px solid var(--poker-border); + border-radius: 200px; 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; + box-shadow: inset 0 0 50px rgba(0,0,0,0.7), 0 20px 40px rgba(0,0,0,0.8); } -/* 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 --- */ +/* --- PANNEAU D'ACTION (DROITE) --- */ .action-panel { + width: 300px; background: var(--panel-bg); - border-top: 2px solid var(--gold); - padding: 25px; - box-shadow: 0 -10px 30px rgba(0,0,0,0.5); + border-left: 2px solid #222; + padding: 30px 20px; + display: flex; + flex-direction: column; + justify-content: center; + box-shadow: -10px 0 30px rgba(0,0,0,0.5); + z-index: 100; } .turn-info { text-align: center; - margin-bottom: 20px; - font-size: 1.1rem; + margin-bottom: 30px; + font-size: 1.2rem; + border-bottom: 1px solid #333; + padding-bottom: 20px; } .action-buttons { display: flex; - justify-content: center; + flex-direction: column; /* Boutons empilés à droite */ gap: 15px; - align-items: center; } -/* Boutons de base */ +/* --- BOUTONS --- */ .btn { - padding: 14px 28px; - border-radius: 10px; + width: 100%; + padding: 16px; + border-radius: 8px; border: none; font-weight: 800; cursor: pointer; text-transform: uppercase; - transition: all 0.2s; - font-size: 0.9rem; + transition: 0.2s; } -.btn-fold { background: #333; color: #999; } -.btn-fold:hover { background: #444; color: #fff; } +.btn-fold { background: #2a2a2a; color: #777; } +.btn-fold:hover { background: #333; color: #fff; } +/* Suivre en Blanc */ .btn-call { - background: transparent; - color: #fff; - border: 2px solid var(--gold); + background: #ffffff; + color: #000; + box-shadow: 0 4px 10px rgba(255,255,255,0.2); } -.btn-call:hover { background: var(--gold); color: #000; } +.btn-call:hover { background: #eeeeee; transform: scale(1.02); } .btn-allin { - background: linear-gradient(45deg, #8b0000, #e60000); + background: #8b0000; 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); } +.btn-allin:hover { background: #b00; } -/* Groupe Relance Spécial */ +.btn-back { + text-align: center; + text-decoration: none; + color: #555; + font-size: 0.9rem; + margin-top: 20px; +} + +/* Relance */ .raise-group { display: flex; - background: #000; border: 2px solid var(--gold); - border-radius: 10px; + border-radius: 8px; overflow: hidden; } - #raise-amount { - width: 90px; - background: transparent; + flex: 1; + background: #000; border: none; color: white; - padding: 10px; + padding: 12px; text-align: center; - font-weight: bold; - outline: none; + font-size: 1.1rem; } - .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; +/* --- EFFETS JOUEURS COUCHÉS (BLUR / PIXEL) --- */ +/* Effet de base : Flou */ +.blur-effect, .All-in-Blur { + filter: blur(4px) grayscale(0.8); + opacity: 0.6; + pointer-events: none; } -.btn-spaction:hover, .btn-back:hover { - background: var(--gold); - color: #000; +/* Simulation de "1 chance sur 4" de pixeliser au lieu de flouter */ +/* On cible arbitrairement certains IDs pour l'effet pixel */ +.player-slot[data-id$="2"], +.player-slot[data-id$="5"], +.player-slot[data-id$="8"] { + /* Si la classe blur est active sur ces IDs, on applique l'effet pixel */ + image-rendering: pixelated; +} +.player-slot[data-id$="2"].blur-effect, +.player-slot[data-id$="5"].blur-effect { + filter: contrast(2) brightness(0.5) opacity(0.7); /* Effet "glitch" visuel */ } -/* Suppression des flèches du type "number" */ -input::-webkit-outer-spin-button, -input::-webkit-inner-spin-button { - -webkit-appearance: none; - margin: 0; -} \ No newline at end of file +/* --- POSITIONNEMENT JOUEURS --- */ +.player-info { + background: #1e1e1e; + border: 2px solid #333; + border-radius: 12px; + padding: 8px; + text-align: center; + min-width: 120px; +} +.player-info.active { + border-color: var(--gold); + box-shadow: 0 0 15px rgba(212, 175, 55, 0.4); +} + +.slot-0 { top: -60px; left: 50%; transform: translateX(-50%); } +.slot-1 { top: 10%; right: -110px; } +.slot-2 { top: 50%; right: -130px; transform: translateY(-50%); } +.slot-3 { bottom: 10%; right: -110px; } +.slot-4 { bottom: -60px; left: 50%; transform: translateX(-50%); } +.slot-5 { bottom: 10%; left: -110px; } +.slot-6 { top: 50%; left: -130px; transform: translateY(-50%); } +.slot-7 { top: 10%; left: -110px; } + +/* --- POT --- */ +.pot-area { + position: absolute; + top: 50%; left: 50%; + transform: translate(-50%, -50%); + text-align: center; +} +.total-pot { font-size: 3rem; font-weight: 900; } +.total-pot::before { content: 'POT'; font-size: 0.8rem; color: var(--gold); display: block; } \ No newline at end of file