@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;700&family=Crimson+Text:wght@400;600&display=swap";:root{--bg-primary: #1a1510;--bg-secondary: #2d2419;--bg-accent: #3d3020;--text-primary: #e8dcc8;--text-secondary: #b8a888;--text-accent: #ff6b35;--accent-red: #8b2635;--accent-gold: #c9a227;--accent-purple: #4a306d;--accent-green: #2d5016;--hover-glow: rgba(201, 162, 39, .3);--active-glow: rgba(255, 107, 53, .5);--die-bg: #f5e6d3;--die-pips: #1a1510}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:Crimson Text,serif;background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden}#root,.App{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:Cinzel,serif;font-weight:700;color:var(--accent-gold)}p{line-height:1.6}button{font-family:Cinzel,serif;cursor:pointer;transition:all .2s ease}button:focus{outline:none}::selection{background:#c9a2274d;color:var(--text-primary)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--accent-gold);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#d4ac2b}.board,.die,.score-board{-webkit-user-select:none;user-select:none}*{transition-property:background-color,border-color,color,box-shadow;transition-duration:.2s;transition-timing-function:ease}@media(max-width:768px){html{font-size:14px}}@media(max-width:480px){html{font-size:12px}}.game-menu{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:linear-gradient(135deg,#1a1510,#2d2419)}.game-title{font-family:Cinzel,serif;font-size:48px;color:#c9a227;text-shadow:0 0 20px rgba(201,162,39,.5),0 4px 8px rgba(0,0,0,.5);margin-bottom:40px;text-align:center;letter-spacing:4px}.menu-container{background:#2d2419e6;border:2px solid #c9a227;border-radius:16px;padding:40px;max-width:400px;width:100%;box-shadow:0 20px 60px #00000080,inset 0 1px #ffffff1a}.difficulty-section{margin-bottom:30px}.difficulty-label{font-family:Cinzel,serif;font-size:16px;color:#b8a888;margin-bottom:15px;text-transform:uppercase;letter-spacing:2px}.difficulty-options{display:flex;flex-direction:column;gap:10px}.difficulty-option{display:flex;align-items:center;padding:12px 16px;background:#3d302099;border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s ease}.difficulty-option:hover{background:#3d3020cc;border-color:#c9a22780}.difficulty-option.selected{background:#c9a22733;border-color:#c9a227}.difficulty-radio{width:20px;height:20px;border:2px solid #c9a227;border-radius:50%;margin-right:12px;display:flex;align-items:center;justify-content:center}.difficulty-radio.selected:after{content:"";width:10px;height:10px;background:#c9a227;border-radius:50%}.difficulty-text{font-family:Crimson Text,serif;font-size:16px;color:#e8dcc8}.start-button{width:100%;padding:16px 24px;font-family:Cinzel,serif;font-size:18px;font-weight:700;color:#1a1510;background:linear-gradient(145deg,#c9a227,#b8941f);border:none;border-radius:8px;cursor:pointer;text-transform:uppercase;letter-spacing:3px;transition:all .2s ease;box-shadow:0 4px 15px #c9a2274d}.start-button:hover{background:linear-gradient(145deg,#d4ac2b,#c9a227);transform:translateY(-2px);box-shadow:0 6px 20px #c9a22766}.start-button:active{transform:translateY(0)}.game-rules{margin-top:30px;padding-top:30px;border-top:1px solid rgba(201,162,39,.3)}.rules-title{font-family:Cinzel,serif;font-size:14px;color:#c9a227;margin-bottom:15px;text-transform:uppercase;letter-spacing:2px}.rules-text{font-family:Crimson Text,serif;font-size:14px;color:#b8a888;line-height:1.6}.rules-text p{margin-bottom:10px}.game-over{position:fixed;inset:0;background:#1a1510f2;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.game-over-content{background:#2d2419f2;border:3px solid #c9a227;border-radius:20px;padding:50px;text-align:center;max-width:500px;width:90%;box-shadow:0 30px 80px #0009,0 0 100px #c9a22733;animation:slideUp .4s ease-out}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.result-title{font-family:Cinzel,serif;font-size:36px;margin-bottom:30px;text-transform:uppercase;letter-spacing:4px}.result-title.victory{color:#c9a227;text-shadow:0 0 30px rgba(201,162,39,.6)}.result-title.defeat{color:#8b2635;text-shadow:0 0 30px rgba(139,38,53,.6)}.result-title.draw{color:#b8a888}.final-scores{margin-bottom:40px;padding:30px;background:#1a151099;border-radius:12px}.score-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;font-family:Crimson Text,serif;font-size:20px;color:#e8dcc8}.score-row:last-child{margin-bottom:0}.score-row.winner{color:#c9a227;font-weight:700}.score-row.winner:after{content:"★";margin-left:10px;color:#c9a227}.score-label{text-transform:uppercase;letter-spacing:2px}.score-number{font-family:Cinzel,serif;font-size:28px}.game-over-buttons{display:flex;gap:15px;justify-content:center}.game-over-button{padding:14px 28px;font-family:Cinzel,serif;font-size:16px;font-weight:700;border:2px solid;border-radius:8px;cursor:pointer;text-transform:uppercase;letter-spacing:2px;transition:all .2s ease}.game-over-button.primary{color:#1a1510;background:linear-gradient(145deg,#c9a227,#b8941f);border-color:#c9a227}.game-over-button.primary:hover{background:linear-gradient(145deg,#d4ac2b,#c9a227);transform:translateY(-2px);box-shadow:0 4px 15px #c9a22766}.game-over-button.secondary{color:#c9a227;background:transparent;border-color:#c9a227}.game-over-button.secondary:hover{background:#c9a2271a;transform:translateY(-2px)}.die{width:60px;height:60px;background:linear-gradient(145deg,#f5e6d3,#e8dcc8);border:3px solid #3d3020;border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 4px 6px #0000004d,inset 0 2px 4px #ffffff4d;transition:transform .2s ease,box-shadow .2s ease}.die:hover{transform:scale(1.05);box-shadow:0 6px 12px #0006,0 0 20px #c9a2274d,inset 0 2px 4px #ffffff4d}.die-face{width:100%;height:100%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:6px;gap:2px}.die-pip{width:12px;height:12px;background:#1a1510;border-radius:50%;justify-self:center;align-self:center;box-shadow:inset 0 1px 2px #00000080}.die-value-1 .die-pip:nth-child(5){grid-column:2;grid-row:2;width:14px;height:14px}.die-value-2 .die-pip:nth-child(1){grid-column:1;grid-row:1}.die-value-2 .die-pip:nth-child(2){grid-column:3;grid-row:3}.die-value-3 .die-pip:nth-child(1){grid-column:1;grid-row:1}.die-value-3 .die-pip:nth-child(2){grid-column:2;grid-row:2}.die-value-3 .die-pip:nth-child(3){grid-column:3;grid-row:3}.die-value-4 .die-pip:nth-child(1){grid-column:1;grid-row:1}.die-value-4 .die-pip:nth-child(2){grid-column:3;grid-row:1}.die-value-4 .die-pip:nth-child(3){grid-column:1;grid-row:3}.die-value-4 .die-pip:nth-child(4){grid-column:3;grid-row:3}.die-value-5 .die-pip:nth-child(1){grid-column:1;grid-row:1}.die-value-5 .die-pip:nth-child(2){grid-column:3;grid-row:1}.die-value-5 .die-pip:nth-child(3){grid-column:2;grid-row:2}.die-value-5 .die-pip:nth-child(4){grid-column:1;grid-row:3}.die-value-5 .die-pip:nth-child(5){grid-column:3;grid-row:3}.die-value-6 .die-pip:nth-child(1){grid-column:1;grid-row:1}.die-value-6 .die-pip:nth-child(2){grid-column:3;grid-row:1}.die-value-6 .die-pip:nth-child(3){grid-column:1;grid-row:2}.die-value-6 .die-pip:nth-child(4){grid-column:3;grid-row:2}.die-value-6 .die-pip:nth-child(5){grid-column:1;grid-row:3}.die-value-6 .die-pip:nth-child(6){grid-column:3;grid-row:3}@keyframes rollDie{0%{transform:rotate(0) scale(1)}25%{transform:rotate(90deg) scale(1.1)}50%{transform:rotate(180deg) scale(1)}75%{transform:rotate(270deg) scale(1.1)}to{transform:rotate(360deg) scale(1)}}.die-rolling{animation:rollDie .5s ease-out}@keyframes placeDie{0%{transform:scale(1.5);opacity:0}50%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}.die-placing{animation:placeDie .3s ease-out}@keyframes destroyDie{0%{transform:scale(1) rotate(0);opacity:1;filter:brightness(1)}50%{transform:scale(1.2) rotate(10deg);opacity:.8;filter:brightness(1.5) sepia(1) hue-rotate(-50deg) saturate(5)}to{transform:scale(0) rotate(20deg);opacity:0;filter:brightness(2)}}.die-destroying{animation:destroyDie .4s ease-in forwards}.die-placeholder{width:60px;height:60px;border:2px dashed rgba(201,162,39,.3);border-radius:12px;background:#2d241980}.board{display:flex;gap:10px;padding:15px;background:#2d241999;border:2px solid #c9a227;border-radius:12px;box-shadow:0 8px 32px #00000080,inset 0 1px #ffffff1a}.board-column{display:flex;flex-direction:column-reverse;gap:8px;min-width:70px}.board-column.valid-drop{background:#c9a2271a;border-radius:8px;cursor:pointer;transition:all .2s ease}.board-column.valid-drop:hover{background:#c9a22740;box-shadow:0 0 20px #c9a2274d}.board-column.disabled{opacity:.5;cursor:not-allowed}.board-column.active-turn{box-shadow:0 0 30px #c9a22766}.column-score{text-align:center;margin-top:8px;font-family:Cinzel,serif;font-size:14px;color:#c9a227;font-weight:700}.board.ai-board,.board.ai-board .board-column{transform:rotate(180deg)}.score-board{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px;background:#2d2419cc;border:2px solid #c9a227;border-radius:12px;min-width:120px}.score-label{font-family:Cinzel,serif;font-size:14px;color:#b8a888;text-transform:uppercase;letter-spacing:2px}.score-value{font-family:Cinzel,serif;font-size:36px;font-weight:700;color:#c9a227;text-shadow:0 0 10px rgba(201,162,39,.3)}.score-board.active{box-shadow:0 0 30px #c9a22766;border-color:#ff6b35}.score-board.winner{animation:winnerPulse 1.5s ease-in-out infinite}@keyframes winnerPulse{0%,to{box-shadow:0 0 30px #c9a22766}50%{box-shadow:0 0 50px #c9a227cc}}.score-changing{animation:scorePop .3s ease-out}@keyframes scorePop{0%{transform:scale(1)}50%{transform:scale(1.2);color:#ff6b35}to{transform:scale(1)}}.game-container{min-height:100vh;background:linear-gradient(135deg,#1a1510,#2d2419,#1a1510);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;color:#e8dcc8}.game-header{text-align:center;margin-bottom:20px}.game-header h1{font-family:Cinzel,serif;font-size:32px;color:#c9a227;text-shadow:0 0 20px rgba(201,162,39,.5);margin-bottom:10px;letter-spacing:3px}.difficulty-badge{font-family:Crimson Text,serif;font-size:14px;color:#b8a888;text-transform:uppercase;letter-spacing:2px}.game-boards{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:600px}.board-section{display:flex;align-items:center;gap:20px;width:100%;justify-content:center}.board-label{font-family:Cinzel,serif;font-size:14px;color:#b8a888;text-transform:uppercase;letter-spacing:2px;min-width:60px}.die-display-area{display:flex;flex-direction:column;align-items:center;padding:20px 40px;background:#2d2419cc;border:2px solid #c9a227;border-radius:16px;min-width:200px}.turn-indicator{font-family:Cinzel,serif;font-size:14px;color:#b8a888;text-transform:uppercase;letter-spacing:2px;margin-bottom:10px}.turn-indicator.active{color:#c9a227;text-shadow:0 0 10px rgba(201,162,39,.5)}.current-die-container{min-height:80px;display:flex;align-items:center;justify-content:center}.roll-instruction{font-family:Crimson Text,serif;font-size:16px;color:#b8a888;font-style:italic}.game-footer{margin-top:20px;display:flex;gap:20px}.menu-button{padding:10px 20px;font-family:Cinzel,serif;font-size:14px;color:#c9a227;background:transparent;border:2px solid #c9a227;border-radius:6px;cursor:pointer;text-transform:uppercase;letter-spacing:2px;transition:all .2s ease}.menu-button:hover{background:#c9a2271a}@keyframes dieShake{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}.die-rolling-display{animation:dieShake .3s ease-in-out infinite}
