*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{color:#000;background-color:#7bcce9;background-image:url(/pokemonbg.jpg);background-position:50%;background-size:cover;background-attachment:fixed;flex-direction:column;justify-content:flex-start;align-items:center;min-height:100vh;font-family:"Press Start 2P",cursive;display:flex}.game-board--flipping,.game-board--flipping *{pointer-events:none;cursor:default!important}.game-board{box-sizing:border-box;grid-template-columns:repeat(auto-fill,minmax(140px,220px));justify-content:center;gap:1rem;width:100vw;max-width:100vw;margin-top:1.5rem;padding:1rem;display:grid}.card{cursor:url(/HandCursor.png) 0 0,pointer;perspective:1000px}.card-inner{transform-style:preserve-3d;animation:.4s forwards flip-in;position:relative}.card-inner.flipping{animation:.4s forwards flip-out}.card-front,.card-back{backface-visibility:hidden}.card-front img{width:100%;display:block}.card-back{position:absolute;inset:0;transform:rotateY(180deg)}.card-back img{object-fit:cover;width:100%;height:100%}@keyframes flip-in{0%{transform:rotateY(180deg)}to{transform:rotateY(0)}}@keyframes flip-out{0%{transform:rotateY(0)}to{transform:rotateY(180deg)}}.score-display{justify-content:center;gap:2rem;display:flex}.score-display h2{align-items:center;margin:0;font-size:.77rem;font-weight:400;display:flex}.trophy-icon{height:2em;margin:0 .25em}h1{justify-content:center;align-items:center;font-size:1.5rem;display:flex}h1 .title-icon{height:1.75em;margin-right:.25em}h1 .poke{color:red}h1 .rest{color:#fff}.instructions{text-align:center;margin:.5rem 0 1rem;font-size:.65rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container{flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex;position:fixed;inset:0}.loading-spinner{width:80px;height:80px;animation:1s linear infinite spin}.loading-text{color:#000;margin:0;font-size:.65rem}.dots-loader:after{content:".";animation:1.5s steps(5,end) infinite dots}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%{content:"..."}80%,to{content:""}}.music-player{z-index:10;cursor:url(/HandCursor.png) 0 0,pointer;background:#ffffff59;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.5rem;display:flex;position:fixed;top:.5rem;left:.5rem}@media (width<=375px){.modal-header{font-size:.6rem}}@media (width<=479px){.music-player{margin-bottom:.5rem;position:static}.score-display{gap:.75rem}.score-display h2{font-size:.68rem}}.music-icon{width:1.5rem;height:1.5rem;display:block}.game-start-overlay{background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-header{color:#000;margin:0 0 1.25rem;font-size:1.2rem}.modal-button-list{flex-direction:column;align-items:flex-start;width:100%;display:flex}.modal-button{color:#000;cursor:url(/HandCursor.png) 0 0,pointer;background:0 0;border:none;align-items:center;gap:.5rem;padding:.35rem 0;font-family:inherit;font-size:.8rem;display:flex}.modal-button:before{content:"►";visibility:hidden;animation:none}.modal-button--selected:before{visibility:visible;animation:.8s step-start infinite blink}@keyframes blink{0%,to{visibility:visible}50%{visibility:hidden}}@keyframes modal-enter{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.game-start{flex-direction:column;align-items:center;width:fit-content;max-width:90vw;margin:0;display:flex}.game-start-enter{animation:.4s cubic-bezier(.16,1,.3,1) forwards slide-up}@keyframes slide-up{0%{transform:translateY(100vh)}to{transform:translateY(0)}}.battle-modal{opacity:0;animation:.3s both modal-fade-in}@keyframes modal-fade-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.fade-in-delayed{opacity:0;animation:.3s both fade-in}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal-text{align-items:center;gap:.3rem;margin:0 0 .75rem;font-size:.75rem;display:flex}.modal-icon{width:1rem;height:1rem}.modal-gif{width:16rem;margin-bottom:.75rem}.intro-gif{width:50px;margin-bottom:1rem}.framed{border-style:solid;border-width:21px;border-image:url(/border-corner.png) 42 round;width:90vw;min-width:320px;max-width:440px;margin:1em 0 0;padding:1.5rem;position:relative}.neutral-border{color:#181010;background:#f8f3f8}
