@keyframes dice-roll-animation{0%{transform:rotateX(0deg) rotateY(0deg) scale(1)}25%{transform:rotateX(-180deg) rotateY(-180deg) scale(1.2)}50%{transform:rotateX(180deg) rotateY(180deg) scale(.8)}75%{transform:rotateX(-90deg) rotateY(-90deg) scale(1.1)}to{transform:rotateX(0deg) rotateY(0deg) scale(1)}}.animate-dice-roll .dice-face{animation:dice-roll-animation 1s ease-in-out}.dice-face{display:grid;grid-template-areas:"a . c" "e g f" "d . b";width:60px;height:60px;padding:8px;background-color:hsl(var(--card));border:2px solid hsl(var(--border));border-radius:10px;box-shadow:0 4px 6px rgba(0,0,0,.1);transition:transform .3s ease}.dot{display:block;width:12px;height:12px;border-radius:50%;background-color:hsl(var(--primary));align-self:center;justify-self:center}.dice-face[data-value="1"] .dot:first-of-type{grid-area:g}.dice-face[data-value="2"] .dot:first-of-type{grid-area:a}.dice-face[data-value="2"] .dot:nth-of-type(2){grid-area:b}.dice-face[data-value="3"] .dot:first-of-type{grid-area:a}.dice-face[data-value="3"] .dot:nth-of-type(2){grid-area:g}.dice-face[data-value="3"] .dot:nth-of-type(3){grid-area:b}.dice-face[data-value="4"] .dot:first-of-type{grid-area:a}.dice-face[data-value="4"] .dot:nth-of-type(2){grid-area:c}.dice-face[data-value="4"] .dot:nth-of-type(3){grid-area:d}.dice-face[data-value="4"] .dot:nth-of-type(4){grid-area:b}.dice-face[data-value="5"] .dot:first-of-type{grid-area:a}.dice-face[data-value="5"] .dot:nth-of-type(2){grid-area:c}.dice-face[data-value="5"] .dot:nth-of-type(3){grid-area:g}.dice-face[data-value="5"] .dot:nth-of-type(4){grid-area:d}.dice-face[data-value="5"] .dot:nth-of-type(5){grid-area:b}.dice-face[data-value="6"] .dot:first-of-type{grid-area:a}.dice-face[data-value="6"] .dot:nth-of-type(2){grid-area:c}.dice-face[data-value="6"] .dot:nth-of-type(3){grid-area:e}.dice-face[data-value="6"] .dot:nth-of-type(4){grid-area:f}.dice-face[data-value="6"] .dot:nth-of-type(5){grid-area:d}.dice-face[data-value="6"] .dot:nth-of-type(6){grid-area:b}.dice-face[data-value="2"] .dot:first-of-type{justify-self:start;align-self:start}.dice-face[data-value="2"] .dot:nth-of-type(2){justify-self:end;align-self:end}.coin-container{perspective:1000px;display:flex;justify-content:center;align-items:center;cursor:pointer;width:200px;height:200px}.coin{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform 1.5s cubic-bezier(.3,0,.3,1)}.coin.flipping{animation:flip 1.5s cubic-bezier(.3,0,.3,1) forwards}.coin.heads{transform:rotateY(0deg)}.coin.tails{transform:rotateY(180deg)}@keyframes flip{0%{transform:rotateY(0)}to{transform:rotateY(5turn)}}.coin-face{position:absolute;width:100%;height:100%;backface-visibility:hidden;display:flex;justify-content:center;align-items:center;border-radius:50%;box-shadow:inset 0 0 15px rgba(0,0,0,.3),0 5px 15px rgba(0,0,0,.2);border:4px solid #b8860b}.coin-side-text{font-size:2.25rem;font-weight:700;color:#8B4513;text-shadow:1px 1px 2px rgba(255,255,255,.5);max-width:80%;text-align:center;word-break:break-word}.front{background:radial-gradient(circle,#FFD700 60%,#FFA500 100%);z-index:2;transform:rotateY(0deg)}.back{background:radial-gradient(circle,#E6C300 60%,#CC8400 100%);transform:rotateY(180deg)}.coin-edge{left:0;width:100%;border-radius:50%;transform-style:preserve-3d;pointer-events:none}.coin-edge,.coin-edge-segment{position:absolute;top:0;height:100%}.coin-edge-segment{left:50%;width:8px;background:#B8860B;transform-origin:0 0;backface-visibility:hidden;border-left:1px solid #a77a0a;border-right:1px solid #a77a0a}.coin-edge-segment:first-child{transform:rotateY(0deg) translateZ(calc(100px - 4px))}.coin-edge-segment:nth-child(2){transform:rotateY(10deg) translateZ(calc(100px - 4px))}.game-card{width:120px;height:180px;display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:4rem;font-weight:700;color:white;box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);transition:transform .3s ease,box-shadow .3s ease;position:relative;perspective:1000px}.game-card.current{background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary)/.8))}.game-card.next{background:linear-gradient(135deg,hsl(var(--secondary)),hsl(var(--secondary)/.8));color:hsl(var(--secondary-foreground));transform-style:preserve-3d}.game-card.next.reveal{animation:flip-reveal .6s ease-in-out forwards}@keyframes flip-reveal{0%{transform:rotateY(90deg)}to{transform:rotateY(0deg)}}.game-board-catch{position:relative;width:400px;height:400px;background-color:hsl(var(--muted)/.7);border:2px solid hsl(var(--border));border-radius:8px;overflow:hidden;cursor:none}.falling-object{width:25px;height:25px;font-size:20px}.basket,.falling-object{position:absolute;text-align:center;user-select:none}.basket{bottom:10px;width:60px;height:30px;font-size:28px;line-height:30px}.game-overlay{position:absolute;top:0;left:0;height:100%;justify-content:center;background-color:hsla(var(--background)/.7);backdrop-filter:blur(4px);border-radius:8px}.game-overlay,.hangman-container{width:100%;display:flex;align-items:center}.hangman-container{flex-direction:column;gap:1.5rem;max-width:500px;margin:0 auto}.rps-choice-button{transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.rps-choice-button:hover{transform:translateY(-5px) scale(1.05);box-shadow:0 10px 20px hsla(var(--primary)/.15)}.rps-choice-button:active{transform:translateY(-2px) scale(1.02)}.rps-reveal-area{position:relative;perspective:1000px}.rps-card{width:120px;height:120px;position:relative;transform-style:preserve-3d;transition:transform .6s}.rps-card.flipping{animation:rps-flip-animation 1s ease-in-out}.rps-card-face{position:absolute;width:100%;height:100%;backface-visibility:hidden;display:flex;align-items:center;justify-content:center;border-radius:1rem;box-shadow:0 4px 12px hsla(var(--foreground)/.1);background-color:hsl(var(--card));border:1px solid hsl(var(--border))}.rps-card-front{font-size:3rem;color:hsl(var(--muted-foreground))}.rps-card-back{transform:rotateY(180deg);font-size:4rem}@keyframes rps-flip-animation{0%{transform:rotateY(0deg)}50%{transform:rotateY(180deg)}to{transform:rotateY(1turn)}}.winner-highlight-player{box-shadow:0 0 20px 5px hsla(var(--primary)/.5);border-radius:50%}.winner-highlight-computer{box-shadow:0 0 20px 5px hsla(var(--destructive)/.5);border-radius:1rem}.snake-game-container{display:flex;flex-direction:column;align-items:center;gap:1rem;background-color:hsl(var(--background));padding:1rem;border-radius:1rem;box-shadow:0 4px 12px hsla(var(--foreground)/.1);border:1px solid hsl(var(--border));width:100%;max-width:440px}.game-board{display:grid;grid-template-columns:repeat(20,1fr);grid-template-rows:repeat(20,1fr);width:100%;aspect-ratio:1/1;background-color:hsl(var(--muted)/.5);border:2px solid hsl(var(--border));border-radius:8px;overflow:hidden}.cell{width:100%;height:100%;border-right:1px solid hsl(var(--border)/.5);border-bottom:1px solid hsl(var(--border)/.5)}.cell:nth-child(20n){border-right:none}.cell:nth-child(n+381){border-bottom:none}.snake-segment{background-color:hsl(var(--primary));border-radius:20%;border:1px solid hsla(var(--primary-foreground)/.2);transition:all .1s linear;width:100%;height:100%}.food-segment{width:100%;height:100%;background-color:hsl(var(--destructive));border-radius:50%;animation:pulse-food 1s infinite alternate}@keyframes pulse-food{0%{transform:scale(.8);box-shadow:0 0 5px hsl(var(--destructive)/.5)}to{transform:scale(1);box-shadow:0 0 10px hsl(var(--destructive)/.8)}}.sudoku-board{display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr);border:3px solid hsl(var(--foreground));border-radius:8px;background-color:hsl(var(--background));box-shadow:0 8px 25px hsla(var(--foreground)/.15);width:100%;max-width:500px;aspect-ratio:1/1}.sudoku-cell{display:flex;align-items:center;justify-content:center;width:100%;height:100%;box-sizing:border-box;border:1px solid hsl(var(--border));font-size:clamp(1rem,4vw,1.75rem);font-weight:500;text-align:center;background-color:transparent;caret-color:hsl(var(--primary));transition:background-color .2s ease-in-out;color:hsl(var(--primary))}.sudoku-cell:focus{outline:none}.sudoku-cell:nth-child(3n){border-right:2px solid hsl(var(--foreground)/.7)}.sudoku-cell:nth-child(9n){border-right:none}.sudoku-board .sudoku-cell:nth-child(n+19):nth-child(-n+27),.sudoku-board .sudoku-cell:nth-child(n+46):nth-child(-n+54),.sudoku-row:nth-child(3n) .sudoku-cell{border-bottom:2px solid hsl(var(--foreground)/.7)}.sudoku-cell.given{font-weight:700;color:hsl(var(--foreground));background-color:transparent}.sudoku-cell.selected{background-color:hsl(var(--primary)/.2);box-shadow:inset 0 0 0 2px hsl(var(--primary))}.sudoku-cell.peer{background-color:hsl(var(--muted))}.sudoku-cell.same-value{background-color:hsl(var(--primary)/.15)}.sudoku-cell.invalid{color:hsl(var(--destructive));background-color:hsl(var(--destructive)/.15);animation:shake .3s ease-in-out}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}.board-container{padding:1rem;background-color:hsl(var(--muted));border-radius:1rem;box-shadow:0 4px 12px hsla(var(--foreground)/.1)}.board{display:grid;grid-template-columns:repeat(3,1fr);width:300px;height:300px}.board,.square{position:relative}.square{width:100px;height:100px;display:flex;align-items:center;justify-content:center;cursor:pointer;background-color:transparent;border:none}.square:hover{background-color:hsla(var(--primary)/.05);border-radius:.5rem}.square:first-child,.square:nth-child(2),.square:nth-child(3),.square:nth-child(4),.square:nth-child(5),.square:nth-child(6){border-bottom:4px solid hsl(var(--border))}.square:first-child,.square:nth-child(2),.square:nth-child(4),.square:nth-child(5),.square:nth-child(7),.square:nth-child(8){border-right:4px solid hsl(var(--border))}.symbol{font-size:5rem;font-weight:700;line-height:1;animation:pop-in .3s cubic-bezier(.175,.885,.32,1.275)}.symbol.x{color:hsl(var(--primary))}.symbol.o{color:hsl(var(--destructive))}.square.winning{background-color:hsla(var(--primary)/.1)}.square.winning .symbol{animation:winner-pulse .5s ease-in-out infinite alternate}@keyframes pop-in{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes winner-pulse{0%{transform:scale(1)}to{transform:scale(1.1)}}.status{min-height:28px}.strike-line{position:absolute;background-color:hsl(var(--foreground)/.8);height:5px;border-radius:2px;transform-origin:center}.strike-row-1{top:50px}.strike-row-1,.strike-row-2{left:15px;width:270px;transform:translateY(-50%)}.strike-row-2{top:150px}.strike-row-3{top:250px;left:15px;width:270px;transform:translateY(-50%)}.strike-col-1{left:50px}.strike-col-1,.strike-col-2{top:15px;height:270px;width:5px;transform:translateX(-50%)}.strike-col-2{left:150px}.strike-col-3{left:250px;top:15px;height:270px;width:5px;transform:translateX(-50%)}.strike-diag-1{top:15px;left:15px;width:360px;transform-origin:top left;transform:rotate(45deg)}.strike-diag-2{top:15px;right:15px;width:360px;transform-origin:top right;transform:rotate(-45deg)}.strike-line{width:0;animation:draw-line .5s ease-out forwards}@keyframes draw-line{to{width:270px}}.strike-col-1,.strike-col-2,.strike-col-3{height:0;width:5px;animation:draw-col-line .5s ease-out forwards}@keyframes draw-col-line{to{height:270px}}.strike-diag-1,.strike-diag-2{width:0;animation:draw-diag-line .5s ease-out forwards}@keyframes draw-diag-line{to{width:360px}}