body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#1e3a8a,#065f46);color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;min-height:100vh;padding:0}*{box-sizing:border-box}.card{border-radius:12px;box-shadow:0 4px 8px #0000004d;transition:all .2s ease}.card:hover{box-shadow:0 8px 16px #0006;transform:translateY(-4px)}.card-red{background:#e53e3e}.card-blue,.card-red{border:4px solid #fff}.card-blue{background:#3182ce}.card-yellow{background:#ecc94b;border:4px solid #fff}.card-green{background:#38a169;border:4px solid #fff}.card-wild{background:#1a1a1a;border:4px solid #fff;position:relative}.card-wild:before{background:#fff;height:35px;width:75px;z-index:1}.card-wild:after,.card-wild:before{border-radius:50px;content:"";left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.card-wild:after{background:linear-gradient(90deg,#e53e3e 25%,#3182ce 0,#3182ce 50%,#ecc94b 0,#ecc94b 75%,#38a169 0);height:30px;width:70px;z-index:2}.card-back{background:#1a202c;border:4px solid #fff;position:relative}.card-back:before{color:#e53e3e;content:"UNO";font-size:21px;font-weight:700;left:50%;position:absolute;text-shadow:2px 2px 4px #00000080;top:50%;transform:translate(-50%,-50%) rotate(-45deg)}.btn{border:none;border-radius:8px;cursor:pointer;font-weight:600;letter-spacing:.5px;padding:12px 24px;text-transform:uppercase;transition:all .2s ease}.btn:hover{box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.btn-secondary{background:linear-gradient(135deg,#facc15,#eab308);color:#000}.w-30{width:120px}.h-42{height:168px}.rounded-xl{border-radius:12px}.card-number-large{color:#fff;font-size:36px;font-weight:700;text-shadow:2px 2px 4px #00000080}.card-number-small{color:#fff;font-size:15px;font-weight:700;position:absolute;text-shadow:1px 1px 2px #00000080}.card-number-top{left:9px;top:6px}.card-number-bottom{bottom:6px;right:9px;transform:rotate(180deg)}.card-action-large{color:#fff;font-size:24px;font-weight:700;text-shadow:2px 2px 4px #00000080}.card-action-small{color:#fff;font-size:12px;font-weight:700;position:absolute;text-shadow:1px 1px 2px #00000080}.card-action-top{left:9px;top:6px}.card-action-bottom{bottom:6px;right:9px;transform:rotate(180deg)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{height:12px}::-webkit-scrollbar-track{background:#ffffff1a;border-radius:6px}::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#ffffff80}.deck-draw-animation{animation:deckPulse .5s ease-in-out}@keyframes deckPulse{0%{box-shadow:0 4px 8px #0000004d;transform:scale(1)}50%{box-shadow:0 8px 16px #fff6;transform:scale(1.1)}to{box-shadow:0 4px 8px #0000004d;transform:scale(1)}}.turn-flash-yellow{animation:flashYellow 1s ease-in-out infinite}@keyframes flashYellow{0%{color:#fbbf24;text-shadow:2px 2px 4px #00000080}50%{color:#fef08a;text-shadow:2px 2px 8px #fbbf24cc}to{color:#fbbf24;text-shadow:2px 2px 4px #00000080}}.card-playing{animation:cardToDiscard .6s ease-in-out forwards;z-index:1000}.card-drawing{animation:cardFromDeck .6s ease-in-out forwards;z-index:1000}.hand-shifting{animation:handShiftLeft .4s ease-in-out}@keyframes cardToDiscard{0%{opacity:1;transform:translateY(0) scale(1)}50%{opacity:.8;transform:translateY(-200px) scale(1.1)}to{opacity:0;transform:translateY(-280px) scale(1)}}@keyframes cardFromDeck{0%{opacity:0;transform:translateY(-280px) translateX(0) scale(1)}50%{opacity:.8;transform:translateY(-140px) translateX(0) scale(1.1)}to{opacity:1;transform:translateY(0) translateX(0) scale(1)}}@keyframes handShiftLeft{0%{transform:translateX(0)}to{transform:translateX(-126px)}}.landing-page{display:flex;flex-direction:column;margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem}.landing-header{margin-bottom:3rem;text-align:center}.landing-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fbbf24,#f59e0b 25%,#ef4444 50%,#3b82f6 75%,#8b5cf6);-webkit-background-clip:text;background-clip:text;font-size:3.5rem;font-weight:700;margin-bottom:1rem;text-shadow:0 2px 4px #0000001a}.landing-subtitle{color:#fffc;font-size:1.25rem;margin:0}.games-container{align-items:flex-start;display:flex;flex:1 1;justify-content:center}.games-grid{grid-gap:2.5rem;align-items:stretch;display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));max-width:1200px;width:100%}.game-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:16px;display:flex;flex-direction:column;height:auto;min-height:320px;padding:2rem;transition:all .3s ease}.game-card:hover:not(.coming-soon){border-color:#fff6;box-shadow:0 20px 40px #0000004d;transform:translateY(-8px)}.game-card.coming-soon{opacity:.6;overflow:hidden;position:relative}.game-card.coming-soon:before{background:repeating-linear-gradient(45deg,#0000,#0000 10px,#ffffff1a 0,#ffffff1a 20px);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.game-card.uno-card{border-color:#ef4444;box-shadow:0 0 20px #ef44444d}.game-card-header{gap:1rem;margin-bottom:1rem}.game-card-header,.game-icon{align-items:center;display:flex}.game-icon{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff1a;border-radius:12px;font-size:2.5rem;height:60px;justify-content:center;width:60px}.game-title{color:#fff;font-size:1.75rem;font-weight:700;margin:0}.game-description{display:flex;flex:1 1;flex-direction:column;gap:1rem}.game-description p{color:#ffffffe6;line-height:1.6;margin:0}.game-features{display:flex;flex-wrap:wrap;gap:.5rem}.feature-tag{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fff3;border-radius:20px;color:#fff;font-size:.875rem;font-weight:500;padding:.25rem .75rem}.play-button{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1.125rem;font-weight:600;letter-spacing:.5px;margin-top:auto;padding:1rem 2rem;text-transform:uppercase;transition:all .3s ease}.play-button:hover:not(:disabled){background:linear-gradient(135deg,#f87171,#ef4444);box-shadow:0 8px 25px #ef444466;transform:translateY(-2px)}.play-button:disabled{background:#64646480;box-shadow:none;cursor:not-allowed;transform:none}.landing-footer{border-top:1px solid #ffffff1a;margin-top:3rem;padding-top:2rem;text-align:center}.landing-footer p{color:#fff9;margin:0}.back-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;left:20px;padding:.75rem 1.5rem;position:fixed;top:20px;transition:all .3s ease;z-index:1000}.back-button:hover{background:#fff3;transform:translateX(-2px)}@media (max-width:1024px){.games-grid{gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (max-width:768px){.landing-page{padding:1rem}.landing-title{font-size:2.5rem}.games-grid{gap:1.5rem;grid-template-columns:1fr;max-width:400px}.game-card{min-height:300px;padding:1.5rem}}@media (max-width:480px){.landing-title{font-size:2rem}.games-grid{gap:1rem}.game-card{min-height:280px;padding:1.25rem}.game-title{font-size:1.5rem}}.checkers-board{--board-size:min(80vmin,calc(100vh - 240px));border:5px solid #333;box-shadow:0 10px 20px #0003;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);height:var(--board-size);margin:0 auto;width:var(--board-size)}.board-row{display:contents}.square{align-items:center;display:flex;height:100%;justify-content:center;transition:background-color .2s ease;width:100%}.square.dark{background-color:#769656}.square.light{background-color:#eeeed2}.square.selected{background-color:#f6f669}.square.forced{background-color:#f44336;cursor:pointer}.piece{align-items:center;border-radius:50%;box-shadow:inset 0 -5px 5px #0003,0 2px 2px #0000004d;display:flex;height:80%;justify-content:center;transition:transform .2s ease;width:80%}.piece.red{background-color:#d13b3b;border:3px solid #a02d2d}.piece.black{background-color:#333;border:3px solid #111}.piece .king{color:gold;font-size:2em;text-shadow:1px 1px 2px #000}.checkers-game .game-status{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;min-height:3rem}.checkers-game .game-status p{margin:0}.checkers-game .winner{font-size:1.75rem;font-weight:700}.checkers-game .new-game-button{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem;transition:background .2s ease}.checkers-game .new-game-button:hover{background:#ffffff40}.checkers-game .difficulty-picker{align-items:center;color:#ffffffd9;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:.5rem 0 1rem}.checkers-game .difficulty-option{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:999px;color:#fff;cursor:pointer;font-weight:600;padding:.4rem .9rem;transition:background .2s ease}.checkers-game .difficulty-option:hover{background:#ffffff40}.checkers-game .difficulty-option.selected{background:#f6f669;border-color:#f6f669;color:#333}.chess-game{--board-size:min(calc(100vw - 32px),max(300px,calc(100vh - 330px)),600px);--square-size:calc((var(--board-size) - 12px)/8);align-items:center;display:flex;flex-direction:column;gap:.6rem;min-height:100vh;padding:24px 16px}.chess-game h1{font-size:2rem;line-height:1.2;margin:0}.chess-game .segmented{background:#ffffff1a;border:1px solid #ffffff40;border-radius:999px;display:inline-flex;gap:4px;padding:4px}.chess-game .segmented button{background:#0000;border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.45rem 1rem;transition:background .2s ease}.chess-game .segmented button:hover{background:#ffffff26}.chess-game .segmented button.active{background:#fff;color:#1e3a8a}.chess-status{font-size:1.25rem;font-weight:600;margin:0;min-height:1.6em;text-align:center}.chess-status.game-over{font-size:1.6rem;font-weight:800}.chess-play-area{display:flex;flex-direction:column;gap:.4rem;width:var(--board-size)}.chess-board-wrapper{position:relative}.chess-board{border:6px solid #5c3a1e;border-radius:6px;box-shadow:0 10px 30px #00000059;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);height:var(--board-size);overflow:hidden;width:var(--board-size)}.chess-square{-webkit-tap-highlight-color:transparent;align-items:center;border:none;border-radius:0;cursor:pointer;display:flex;font:inherit;height:100%;justify-content:center;margin:0;min-height:0;min-width:0;padding:0;position:relative;width:100%}.chess-square.light{background-color:#f0d9b5}.chess-square.dark{background-color:#b58863}.chess-square.last-move.light{background-color:#cdd26a}.chess-square.last-move.dark{background-color:#aaa23a}.chess-square.selected{background-color:#7fc97f}.chess-square.in-check{background-image:radial-gradient(circle,#ff3b30 0,#ff3b3099 40%,#0000 75%)}.chess-square.move-target:after{background:#143c1459;border-radius:50%;content:"";height:30%;pointer-events:none;position:absolute;width:30%}.chess-square.capture-target:after{border:calc(var(--square-size)*.08) solid #143c1466;border-radius:50%;content:"";inset:4%;pointer-events:none;position:absolute}.chess-square:focus-visible{outline:3px solid #3b82f6;outline-offset:-3px;z-index:1}.chess-square .coord{font-size:calc(var(--square-size)*.2);font-weight:700;line-height:1;pointer-events:none;position:absolute}.chess-square .coord.rank{left:5%;top:4%}.chess-square .coord.file{bottom:4%;right:6%}.chess-square.light .coord{color:#b58863}.chess-square.dark .coord{color:#f0d9b5}.chess-piece{-webkit-user-drag:none;display:block;pointer-events:none;-webkit-user-select:none;user-select:none}.chess-square .chess-piece{height:86%;position:relative;transition:transform .15s ease;width:86%}.chess-square.selected .chess-piece{transform:scale(1.08)}.captured-row{align-items:center;display:flex;font-size:.9rem;gap:.5rem;min-height:1.9rem}.captured-label{opacity:.75;white-space:nowrap}.captured-pieces{display:flex;flex-wrap:wrap}.captured-pieces .chess-piece{height:1.5rem;margin-right:-.35rem;width:1.5rem}.material-lead{color:#86efac;font-weight:700}.promotion-overlay{align-items:center;background:#0000008c;border-radius:6px;display:flex;inset:0;justify-content:center;position:absolute;z-index:10}.promotion-dialog{background:#1e293b;border:1px solid #fff3;border-radius:16px;box-shadow:0 10px 30px #00000080;max-width:90%;padding:1rem 1.25rem;text-align:center}.promotion-dialog p{font-weight:600;margin:0 0 .75rem}.promotion-choices{display:flex;gap:.5rem;justify-content:center}.promotion-choices button{align-items:center;background:#f0d9b5;border:none;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:.2rem;padding:.4rem .6rem;transition:transform .15s ease}.promotion-choices button:hover{transform:translateY(-3px)}.promotion-choices .chess-piece{height:calc(var(--square-size)*.85);width:calc(var(--square-size)*.85)}.promotion-name{color:#5c3a1e;font-size:.8rem;font-weight:700;text-transform:capitalize}.chess-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:.5rem}.chess-button{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.6rem 1.1rem;transition:background .2s ease}.chess-button:hover:not(:disabled){background:#ffffff40}.chess-button:disabled{cursor:not-allowed;opacity:.4}@media (max-width:760px){.chess-game{padding-top:64px}}@media (max-width:480px){.chess-game h1{font-size:1.75rem}.chess-game .segmented button{font-size:.85rem;padding:.4rem .7rem}.chess-game .back-button{left:12px;padding:.5rem 1rem;top:12px}}.escoba-game{--card-lg:min(112px,27vw);--card-md:min(80px,19vw);--card-sm:min(42px,10vw);align-items:center;box-sizing:border-box;color:#fff;display:flex;flex-direction:column;gap:.6rem;min-height:100vh;padding:24px 16px 32px}.escoba-game h1{font-size:2rem;line-height:1.2;margin:0}.escoba-game .segmented{background:#ffffff1a;border:1px solid #ffffff40;border-radius:999px;display:inline-flex;gap:4px;padding:4px}.escoba-game .segmented button{background:#0000;border:none;border-radius:999px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.45rem 1rem}.escoba-game .segmented button:hover{background:#ffffff26}.escoba-game .segmented button.active{background:#fff;color:#1e3a8a}.escoba-scoreboard{align-items:baseline;display:flex;flex-wrap:wrap;font-size:1.15rem;gap:.5rem;justify-content:center}.escoba-scoreboard strong{font-size:1.5rem}.escoba-scoreboard .score-target{flex-basis:100%;font-size:.85rem;opacity:.8;text-align:center}.spanish-card{aspect-ratio:208/319;background:none;border:none;border-radius:8px;display:block;flex:none;margin:0;padding:0;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.spanish-card img{border-radius:8px;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35));height:100%;-webkit-user-select:none;user-select:none;width:100%}.spanish-card.sm{width:var(--card-sm)}.spanish-card.md{width:var(--card-md)}.spanish-card.lg{width:var(--card-lg)}button.spanish-card:not(:disabled){cursor:pointer}button.spanish-card:disabled{cursor:default}.escoba-hand button.spanish-card:not(:disabled):hover{transform:translateY(-6px)}.spanish-card.selected{box-shadow:0 0 0 4px #f6f669,0 10px 20px #00000059}.escoba-hand .spanish-card.selected:hover,.spanish-card.selected{transform:translateY(-14px)}.spanish-card.picked{box-shadow:0 0 0 4px #f6f669;transform:translateY(-8px)}.spanish-card.reachable{box-shadow:0 0 0 3px #ffffffb3}.spanish-card.dimmed{opacity:.45}.spanish-card.hinted{animation:escoba-hint 1s ease-in-out infinite alternate}@keyframes escoba-hint{0%{box-shadow:0 0 0 3px #f6f6694d}to{box-shadow:0 0 0 6px #f6f669}}.escoba-opponent{align-items:center;display:flex;gap:.8rem}.opponent-hand{display:flex;gap:4px;min-height:calc(var(--card-sm)*319/208)}.pile-info{font-size:.9rem;opacity:.85}.escoba-table{align-items:center;background:radial-gradient(ellipse at center,#2f8f4e 0,#1d6b37 70%,#155a2d 100%);border:6px solid #6b4423;border-radius:18px;box-shadow:inset 0 0 30px #00000059,0 8px 20px #00000040;box-sizing:border-box;display:flex;gap:12px;min-height:calc(var(--card-md)*319/208 + 36px);padding:14px;position:relative;width:min(100%,720px)}.escoba-table .deck{align-items:center;display:flex;flex:none;flex-direction:column;font-size:.8rem;gap:2px;opacity:.9}.table-cards{display:flex;flex:1 1;flex-wrap:wrap;gap:8px;justify-content:center}.table-empty{font-style:italic;opacity:.7}.escoba-banner{animation:escoba-pop .3s ease-out;background:#f6f669;border-radius:999px;box-shadow:0 8px 24px #00000059;color:#333;font-size:1.3rem;font-weight:800;inset:50% auto auto 50%;padding:.6rem 1.2rem;position:absolute;transform:translate(-50%,-50%);white-space:nowrap}@keyframes escoba-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.escoba-last-plays{display:flex;flex-direction:column;font-size:.9rem;gap:4px;min-height:calc(var(--card-sm)*319/208 + 8px);width:min(100%,720px)}.play-line{align-items:center;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;text-align:center}.play-line+.play-line{opacity:.6}.play-who{font-weight:700}.play-cards{display:inline-flex;gap:3px}.play-escoba{color:#f6f669;font-weight:800}.escoba-status{font-size:1.15rem;font-weight:600;margin:0;min-height:1.5em;text-align:center}.escoba-actions,.escoba-newgame{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.escoba-button{background:#ffffff1f;border:1px solid #ffffff59;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.55rem 1.1rem;transition:background .2s ease,opacity .2s ease}.escoba-button:hover:not(:disabled){background:#ffffff40}.escoba-button:disabled{cursor:default;opacity:.4}.escoba-button.primary{background:#f6f669;border-color:#f6f669;color:#333}.escoba-button.primary:hover:not(:disabled){background:#fbfb9a}.escoba-button.primary:disabled{background:#ffffff1f;border-color:#ffffff59;color:#fff}.escoba-hand{display:flex;gap:10px;justify-content:center;min-height:calc(var(--card-lg)*319/208 + 16px);padding-top:16px}.escoba-rules{background:#ffffff14;border-radius:12px;font-size:.95rem;padding:.6rem 1rem;width:min(100%,620px)}.escoba-rules summary{cursor:pointer;font-weight:700}.escoba-rules li{margin:.35rem 0}.escoba-credit{font-size:.75rem;margin:0;opacity:.6}.escoba-credit a{color:inherit}.escoba-overlay{background:#0000008c;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1100}.escoba-overlay,.escoba-sheet{align-items:center;display:flex}.escoba-sheet{background:#1e3a5f;border-radius:16px;box-shadow:0 20px 50px #00000080;box-sizing:border-box;flex-direction:column;gap:.8rem;max-height:100%;overflow-y:auto;padding:1.2rem;width:min(100%,560px)}.sheet-title{font-size:1.4rem;margin:0;text-align:center}.sheet-leftover{align-items:center;display:flex;flex-direction:column;font-size:.9rem;gap:4px;text-align:center}.sheet-cards{display:flex;flex-wrap:wrap;gap:3px;justify-content:center}.sheet-table{border-collapse:collapse;font-size:.95rem;width:100%}.sheet-table td,.sheet-table th{border-bottom:1px solid #ffffff1f;padding:.4rem .3rem;text-align:center}.sheet-table tbody th,.sheet-table tfoot th{font-weight:600;text-align:left}.sheet-table small{display:block;font-weight:400;opacity:.7}.sheet-table tfoot td,.sheet-table tfoot th{border-bottom:none;font-weight:800}.sheet-table .point{color:#f6f669;font-weight:700;white-space:nowrap}.sheet-table .no-point{font-size:.85rem;opacity:.6}.sheet-note{font-weight:600;margin:0}@media (max-width:480px){.escoba-game{--card-md:min(80px,16vw);gap:.45rem}.escoba-game h1{font-size:1.6rem;margin-top:48px}.escoba-game .segmented button{font-size:.9rem;padding:.4rem .8rem}.escoba-table{border-width:5px;gap:6px;padding:8px 6px}.table-cards{gap:6px}.escoba-actions .escoba-button{font-size:.95rem;padding:.5rem .7rem}.escoba-status{font-size:1.05rem}.sheet-table{font-size:.85rem}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.501ed444.css.map*/