body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-display:swap;font-family:Montserrat,sans-serif}*,:after,:before{box-sizing:border-box}body.no-scroll{overflow:hidden;overscroll-behavior:contain;touch-action:none}body{background-attachment:fixed;background-image:url(/static/media/bg.50a0ccb2c6794b3d85ab.svg);background-position:50%;background-repeat:no-repeat;background-size:cover;min-height:100vh;position:relative}.App-header{align-items:center;backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);background-color:rgba(0,0,0,.6);box-shadow:0 4px 16px rgba(0,0,0,.3);display:flex;flex-direction:row;gap:1rem;justify-content:space-between;padding:.75rem 1rem;position:-webkit-sticky;position:sticky;top:0;width:100%;z-index:1000}.App-title{color:#fff;font-size:clamp(1.1rem,2vw,1.5rem);font-weight:600;margin-left:.5rem}.App-logo{display:block;height:36px;margin:0 .5rem;max-width:min(42vw,280px);width:auto}.App-nav-wrapper{flex:1 1;gap:1rem;justify-content:flex-end;overflow:hidden;position:relative}.App-nav,.App-nav-wrapper{align-items:center;display:flex}.App-nav{gap:1.25rem}.App-nav a{color:#fff;font-size:.95rem;font-weight:600;line-height:1;padding:.4rem .2rem;text-decoration:none;transition:color .2s ease}.App-nav a:hover{color:#00bfff}.App-main{align-items:center;color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 64px);padding:3rem 1rem;text-align:center}.App-description{color:#fff;font-size:clamp(1rem,2vw,1.4rem);font-weight:300;max-width:800px;padding:0 1rem}main p{margin:0 auto;width:70%}.App-icon-body{height:auto;margin-bottom:1rem;width:120px}.App-logo-body{height:auto;width:300px}.intro-playing .App-description,.intro-playing .App-logo-body{-webkit-animation:fadeInUp 2.6s ease forwards;animation:fadeInUp 2.6s ease forwards;-webkit-animation-delay:2.2s;animation-delay:2.2s;opacity:0;will-change:transform,opacity}.intro-playing .App-description{-webkit-animation-delay:2.6s;animation-delay:2.6s}.intro-icon{-webkit-animation:iconIntro 4.8s cubic-bezier(.16,1,.3,1) forwards;animation:iconIntro 4.8s cubic-bezier(.16,1,.3,1) forwards;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:center center;transform-origin:center center;will-change:transform,opacity}@-webkit-keyframes iconIntro{0%{opacity:0;-webkit-transform:scale(.82);transform:scale(.82)}20%{opacity:1;-webkit-transform:scale(2);transform:scale(2)}28%{-webkit-transform:scale(2) rotate(-10deg);transform:scale(2) rotate(-10deg)}36%{-webkit-transform:scale(2) rotate(10deg);transform:scale(2) rotate(10deg)}50%{-webkit-transform:scale(2) rotate(0deg);transform:scale(2) rotate(0deg)}61%{-webkit-transform:scale(2) rotate(0deg);transform:scale(2) rotate(0deg)}75%{-webkit-transform:translateY(-12px) scale(1.08);transform:translateY(-12px) scale(1.08)}to{opacity:1;-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@keyframes iconIntro{0%{opacity:0;-webkit-transform:scale(.82);transform:scale(.82)}20%{opacity:1;-webkit-transform:scale(2);transform:scale(2)}28%{-webkit-transform:scale(2) rotate(-10deg);transform:scale(2) rotate(-10deg)}36%{-webkit-transform:scale(2) rotate(10deg);transform:scale(2) rotate(10deg)}50%{-webkit-transform:scale(2) rotate(0deg);transform:scale(2) rotate(0deg)}61%{-webkit-transform:scale(2) rotate(0deg);transform:scale(2) rotate(0deg)}75%{-webkit-transform:translateY(-12px) scale(1.08);transform:translateY(-12px) scale(1.08)}to{opacity:1;-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.icons-container{display:block}.App-social-networks{align-items:center;display:flex;flex-direction:row;justify-content:center;list-style-type:none;margin:0;padding:0}.App-social-networks li{padding:0 .6rem}.App-social-networks img{cursor:pointer;height:1.5rem;opacity:.9;transition:opacity .2s,-webkit-transform .2s;transition:transform .2s,opacity .2s;transition:transform .2s,opacity .2s,-webkit-transform .2s;width:1.5rem}.App-social-networks img:hover{-webkit-filter:invert(39%) sepia(91%) saturate(525%) hue-rotate(170deg) brightness(95%) contrast(92%);filter:invert(39%) sepia(91%) saturate(525%) hue-rotate(170deg) brightness(95%) contrast(92%);opacity:1;-webkit-transform:scale(1.08);transform:scale(1.08)}.toggle-darkmode{align-items:center;background:none;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;justify-content:center;padding:.4rem .6rem;transition:background-color .2s ease,color .2s ease}.toggle-darkmode:hover{background-color:hsla(0,0%,100%,.06);color:#00bfff}.toggle-darkmode .theme-icon{stroke:currentColor;height:1.2rem;transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease;width:1.2rem}.toggle-darkmode:hover .theme-icon{-webkit-transform:scale(1.1);transform:scale(1.1)}body.dark .toggle-darkmode{color:#00bfff}.menu-toggle{align-items:center;background:none;border:none;border-radius:10px;cursor:pointer;display:none;flex-direction:column;gap:5px;justify-content:center;margin-left:auto;padding:10px}.hamburger{background-color:#fff;border-radius:2px;display:block;height:2px;transition:.3s;width:24px}.menu-toggle .hamburger.open:first-child{-webkit-transform:rotate(45deg) translate(5px,5px);transform:rotate(45deg) translate(5px,5px)}.menu-toggle .hamburger.open:nth-child(2){opacity:0}.menu-toggle .hamburger.open:nth-child(3){-webkit-transform:rotate(-45deg) translate(5.5px,-6px);transform:rotate(-45deg) translate(5.5px,-6px)}@media (min-width:2560px){.App-description{font-size:2rem}.App-icon-body{padding-top:30rem;width:180px}.App-logo-body{width:460px}.App-title{font-size:4rem}.App-social-networks img{height:2rem;margin-right:1rem;width:2rem}.App-nav{gap:2rem}.App-nav a{font-size:1.2rem}.toggle-darkmode{font-size:1.1rem}}@media (max-width:1024px){.menu-toggle{display:flex}.App-header{align-items:center;flex-direction:row;padding:.5rem .75rem;position:-webkit-sticky;position:sticky;top:0}.App-nav-wrapper{background-color:rgba(0,0,0,.9)!important;border-radius:0 0 12px 12px;box-shadow:0 8px 20px rgba(0,0,0,.5);display:none;flex-direction:column;gap:.75rem;left:0;overflow-x:hidden;overflow-y:auto;padding:.75rem .75rem 1rem;position:absolute;right:0;top:100%;width:100%;z-index:1000}.App-nav-wrapper.open{display:flex}.App-nav{align-items:flex-start;flex-direction:column;gap:.5rem}.App-logo{height:30px;margin:0;width:auto}.App-social-networks{flex-direction:row;justify-content:flex-start;margin-top:.25rem}.App-main{min-height:85vh;padding-top:2rem}.App-icon-body{margin-top:-8rem;width:300px}.App-logo-body{width:25rem}.App-description{font-size:1rem}.toggle-darkmode{align-self:flex-start;font-size:.95rem;margin-left:0;margin-top:.25rem}.toggle-darkmode .theme-icon{height:1.1rem;width:1.1rem}}@media (max-width:480px){.App-logo{height:28px}.App-nav a{font-size:.95rem}.App-social-networks img{height:1.25rem;margin-right:.5rem;width:1.25rem}.App-icon-body{padding-top:1rem;width:70px}.App-logo-body{width:180px}.App-description{font-size:.95rem;padding:0 1rem}.App-title{font-size:1.2rem;margin-left:0;text-align:center}.toggle-darkmode{font-size:.95rem;margin-left:0;margin-top:.25rem}.toggle-darkmode .theme-icon{height:1rem;width:1rem}}body.dark{background:linear-gradient(135deg,#121212,#222);color:#eee}body.dark .container{background-color:rgba(30,30,30,.8);box-shadow:0 8px 20px rgba(0,0,0,.7);color:#eee}body.dark .sobre-nosotros-img{box-shadow:0 4px 10px hsla(0,0%,100%,.15)}body.dark .sponsors-section{background:#111;color:#ccc}body.dark .sponsors-subtext{color:#bbb}body.dark .sponsor-card{background:#222;box-shadow:0 4px 10px rgba(0,0,0,.7);color:#ccc}body.dark .sponsor-card:hover{background-color:rgba(50,50,50,.95)}body.dark .sponsor-card h3{color:#00bfff}body.dark .sponsor-card p{color:#ccc}body.dark .Altavoz-svg,body.dark .EnEspecie-svg,body.dark .Monetario-svg,body.dark .Venue-svg{fill:#00bfff}.container{-webkit-animation:fadeIn .6s ease-in-out;animation:fadeIn .6s ease-in-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:hsla(0,0%,100%,.05);border-radius:20px;box-shadow:0 8px 20px rgba(0,0,0,.2);color:#fff;margin:3rem auto 4rem;max-width:900px;padding:2rem;text-align:center}.Listado{align-items:start;display:flex;flex-direction:column;justify-content:center;margin-top:2rem}.sobre-nosotros-img{border-radius:20px;box-shadow:0 4px 10px rgba(0,0,0,.2);height:auto;margin-bottom:1.5rem;width:100%}.container h1{color:#00bfff;font-size:2.8rem;font-weight:700;margin-bottom:1.5rem}.container p{font-size:1.3rem;font-weight:300;line-height:1.8;margin-bottom:1.2rem;text-align:justify}.sponsors-section{background:linear-gradient(180deg,#f3e2b0 0,#e7d3a3 40%,#dfcd98 70%,#cbb994);color:#0a0a0a;padding:4rem 2rem;text-align:center}.sponsors-section h2{font-size:3rem;font-weight:700}.sponsors-section h2 span{font-weight:400}.sponsors-subtext{color:#0a0a0a;font-size:1.3rem;margin:1rem auto 3rem;max-width:600px}.sponsor-options{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.sponsor-card{background:#fff;border-radius:1rem;box-shadow:0 4px 10px #000;padding:1.5rem;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease;width:260px}.sponsor-card:hover{background-color:hsla(0,0%,73%,.795);-webkit-transform:translateY(-15px);transform:translateY(-15px)}.sponsor-card img{height:60px;margin-bottom:1rem;width:60px}.sponsor-card h3{color:#06c;font-size:1.3rem;margin-bottom:.5rem}.sponsor-card p{color:#0a0a0a;font-size:1.2rem}.Altavoz-svg,.EnEspecie-svg,.Monetario-svg,.Venue-svg{fill:#00bfff;height:100px;width:100px}@media screen and (max-width:600px) and (min-width:320px){.container h1{font-size:2rem}.container p{font-size:1.1rem}.sponsors-subtext{text-align:justify}}@media screen and (max-width:992px) and (min-width:601px){.container h1{font-size:2.4rem}.Listado{align-items:start;display:flex;flex-direction:column;justify-content:center;margin-top:1rem}.container p{font-size:1.2rem}.sponsors-subtext{text-align:justify}}@media screen and (min-width:1440px){.container h1{font-size:3.2rem}.container p{font-size:1.6rem}.sobre-nosotros-img{max-width:1000px}}@media screen and (min-width:2560px){.container h1{font-size:3.2rem}.container p{font-size:1.6rem}.sobre-nosotros-img{max-width:1000px}}.venue-container{-webkit-animation:fadeIn .7s cubic-bezier(.39,.575,.565,1) both;animation:fadeIn .7s cubic-bezier(.39,.575,.565,1) both;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#f3e2b0,#cbb994);border:1.5px solid #fffbe7;border-radius:24px;box-shadow:0 8px 32px rgba(0,0,0,.18);color:#222;margin:3rem auto;max-width:60%;padding:3rem 2rem;text-align:center}.venue-title{color:#0077b6;font-size:2.6rem;font-weight:800;letter-spacing:1px;margin-bottom:1.2rem}.venue-description{color:#444;font-size:1.2rem;font-weight:400;margin-bottom:2.2rem}.venue-details{background:#fffbe7;border-radius:14px;box-shadow:0 2px 8px rgba(0,0,0,.07);color:#222;font-size:1.1rem;margin-bottom:2rem;padding:1.5rem 1rem;text-align:left}.venue-details strong{color:#0077b6}.venue-map{border:none;border-radius:14px;box-shadow:0 2px 8px rgba(0,0,0,.09);height:500px;margin-bottom:1.5rem;width:100%}@media (max-width:600px){.venue-container{padding:1.2rem .5rem}.venue-title{font-size:2rem}.venue-map{height:200px}}:root{--color-primary:#1e81b0;--color-primary-dark:#145374;--color-background:#fdf7f2;--color-text:#333;--color-text-muted:#555;--font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;--border-radius:8px;--max-width:720px}body{background-color:#fdf7f2;background-color:var(--color-background);color:#333;color:var(--color-text);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-family:var(--font-family);line-height:1.6;margin:0}.coc-container{-webkit-animation:fadeIn .6s ease-in-out;animation:fadeIn .6s ease-in-out;background-color:#fff;border-radius:8px;border-radius:var(--border-radius);box-shadow:0 8px 24px rgba(30,129,176,.15);margin:3rem auto;max-width:720px;max-width:var(--max-width);padding:2rem 2.5rem}.coc-title{color:#1e81b0;color:var(--color-primary);font-size:2.8rem;font-weight:700;letter-spacing:1px;margin-bottom:2rem;text-align:center}.coc-section h2{border-left:4px solid #1e81b0;border-left:4px solid var(--color-primary);color:#145374;color:var(--color-primary-dark);font-size:1.8rem;font-weight:600;margin-bottom:1rem;padding-left:1rem}.coc-section{margin-bottom:2rem}.coc-section p,.coc-section ul{color:#555;color:var(--color-text-muted);font-size:1.1rem;margin:0}.coc-section ul{list-style-type:disc;margin-top:.3rem;padding-left:1.4rem}.coc-section ul li{margin-bottom:.6rem}.coc-section a{border-bottom:2px solid transparent;color:#1e81b0;color:var(--color-primary);font-weight:600;text-decoration:none;transition:border-color .3s ease}.coc-section a:hover{border-bottom-color:#1e81b0;border-bottom-color:var(--color-primary)}.coc-footer{color:#145374;color:var(--color-primary-dark);font-size:1.25rem;font-style:italic;font-weight:600;margin-top:3rem;text-align:center}@-webkit-keyframes fadeIn{0%{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@media (max-width:768px){.coc-container{margin:2rem 1rem;padding:1.5rem}.coc-title{font-size:2.2rem}.coc-section h2{font-size:1.4rem}.coc-section p,.coc-section ul{font-size:1rem}.coc-footer{font-size:1.1rem}}@media (max-width:480px){.coc-title{font-size:1.8rem}.coc-section h2{font-size:1.2rem}.coc-section p,.coc-section ul{font-size:.95rem}.coc-footer{font-size:1rem}}@media (min-width:1440px){:root{--max-width:960px}.coc-title{font-size:3.2rem}.coc-section h2{font-size:2.2rem}.coc-section p,.coc-section ul{font-size:1.2rem}}@media (min-width:2560px){:root{--max-width:1080px}.coc-title{font-size:3.6rem}.coc-section h2{font-size:2.6rem}.coc-section p,.coc-section ul{font-size:1.35rem}.coc-footer{font-size:1.4rem}}:root{--color-surface:#fff;--color-fg:#333;--color-border:#e0e0e0;--shadow-sm:0 1px 3px rgba(0,0,0,.1)}body.dark{--color-surface:#1a1a1a;--color-fg:#fff;--color-border:#404040;--shadow-sm:0 1px 3px rgba(0,0,0,.3)}.donaciones-wrapper{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 72px);padding:2rem 1rem}.donaciones-text{color:#fff;font-size:1.15rem;margin-bottom:1.5rem;max-width:720px;text-align:center}body.dark .donaciones-text{color:#333;color:var(--color-fg)}.donaciones-flex{align-items:stretch;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;width:100%}.donacion-card{border-radius:14px;display:flex;flex-direction:column;gap:.75rem;max-width:380px;padding:1.5rem;text-align:center;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease;width:100%}.donacion-card:hover{-webkit-transform:scale(1.05);transform:scale(1.05)}.patreon-card,.paypal-card{border:none}.donar-link{align-items:center;color:#fff;display:flex;flex-direction:column;font-size:1rem;font-weight:700;gap:.75rem;text-decoration:none}body.dark .donar-link{color:#333;color:var(--color-fg)}.patreon-png,.paypal-svg{background:#fff;background:var(--color-surface);border:none;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:var(--shadow-sm);height:180px;max-width:480px;padding:.5rem;transition:-webkit-transform .25s ease;transition:transform .25s ease;transition:transform .25s ease,-webkit-transform .25s ease;width:100%}.paypal-svg{background-color:#fcbe2f}.patreon-png{background-color:#f96854}.patreon-png:hover,.paypal-svg:hover{-webkit-transform:translateY(-4px);transform:translateY(-4px)}@media (max-width:1440px){.patreon-png,.paypal-svg{height:160px}}@media (max-width:1024px){.patreon-png,.paypal-svg{height:140px}}@media (max-width:768px){.donaciones-flex{gap:1rem}.patreon-png,.paypal-svg{height:120px}}@media (max-width:375px){.patreon-png,.paypal-svg{height:100px}}@media (max-width:320px){.patreon-png,.paypal-svg{height:90px}}.snake-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:rgba(0,0,0,.7);display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.snake-container{background:#0f172a;background:var(--snake-bg,#0f172a);border:1px solid hsla(0,0%,100%,.12);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.35);color:#fff;width:min(92vw,520px)}.snake-topbar{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.08);display:flex;justify-content:space-between;padding:10px 14px}.snake-title{font-weight:700;letter-spacing:.3px}.snake-controls{align-items:center;display:flex;gap:8px}.snake-score{margin-right:6px;opacity:.85}.snake-btn{background:#1f2937;border:1px solid hsla(0,0%,100%,.12);border-radius:8px;color:#fff;cursor:pointer;padding:6px 10px}.snake-btn:hover{background:#374151}.snake-close{background:#7f1d1d}.snake-close:hover{background:#991b1b}.snake-canvas-wrapper{display:grid;padding:14px;place-items:center;position:relative}.snake-canvas{border:1px solid hsla(0,0%,100%,.12);border-radius:8px;height:400px;image-rendering:pixelated;width:400px}@media (max-width:460px){.snake-canvas{height:320px;width:320px}}.snake-overlay-message{background:rgba(0,0,0,.6);border-radius:8px;display:grid;inset:14px;place-items:center;position:absolute}.snake-message-box{background:#111827;border:1px solid hsla(0,0%,100%,.1);border-radius:10px;padding:16px;text-align:center}.snake-message-title{font-weight:800;margin-bottom:8px}.snake-message-body{margin-bottom:12px;opacity:.9}.snake-message-actions{display:flex;gap:10px;justify-content:center}.snake-help{font-size:12px;opacity:.7;padding:0 14px 14px;text-align:center}.life-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:rgba(0,0,0,.7);display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.life-container{background:#0b1220;border:1px solid hsla(0,0%,100%,.12);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.35);color:#fff;width:min(94vw,760px)}.life-topbar{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.08);display:flex;justify-content:space-between;padding:10px 14px}.life-title{font-weight:700}.life-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.life-stat{margin-right:6px;opacity:.85}.life-speed{align-items:center;display:flex;gap:6px}.life-btn{background:#1f2937;border:1px solid hsla(0,0%,100%,.12);border-radius:8px;color:#fff;cursor:pointer;padding:6px 10px}.life-btn:hover{background:#374151}.life-close{background:#7f1d1d}.life-close:hover{background:#991b1b}.life-canvas-wrapper{display:grid;padding:14px;place-items:center;position:relative}.life-canvas{border:1px solid hsla(0,0%,100%,.12);border-radius:8px;height:360px;image-rendering:pixelated;width:480px}@media (max-width:540px){.life-canvas{height:270px;width:360px}}.life-help{font-size:12px;opacity:.7;padding:0 14px 14px;text-align:center}.doom-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:rgba(0,0,0,.7);display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.doom-container{background:#0b1220;border:1px solid hsla(0,0%,100%,.12);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.35);color:#fff;width:min(94vw,760px)}.doom-topbar{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.08);display:flex;justify-content:space-between;padding:10px 14px}.doom-title{font-weight:700}.doom-controls{align-items:center;display:flex;gap:8px}.doom-stat{margin-right:6px;opacity:.85}.doom-btn{background:#1f2937;border:1px solid hsla(0,0%,100%,.12);border-radius:8px;color:#fff;cursor:pointer;padding:6px 10px}.doom-btn:hover{background:#374151}.doom-close{background:#7f1d1d}.doom-close:hover{background:#991b1b}.doom-canvas-wrapper{display:grid;padding:14px;place-items:center;position:relative}.doom-canvas{border:1px solid hsla(0,0%,100%,.12);border-radius:8px;height:300px;image-rendering:pixelated;width:480px}@media (max-width:540px){.doom-canvas{height:225px;width:360px}}.flappy-overlay{align-items:center;background:rgba(0,0,0,.9);color:#fff;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.flappy-container{display:flex;flex-direction:column;gap:8px;width:min(92vw,460px)}.flappy-topbar{align-items:center;background:rgba(17,24,39,.7);border:1px solid hsla(0,0%,100%,.12);border-radius:8px;display:flex;justify-content:space-between;padding:6px 8px}.flappy-title{font-weight:700}.flappy-controls{align-items:center;display:flex;gap:8px}.flappy-btn{background:#1f2937;border:1px solid hsla(0,0%,100%,.15);border-radius:6px;color:#fff;cursor:pointer;padding:6px 10px}.flappy-btn:hover{background:#374151}.flappy-close{background:#7f1d1d}.flappy-canvas-wrapper{align-items:center;display:flex;flex-direction:column;gap:8px}.flappy-canvas{background:#000;border:1px solid hsla(0,0%,100%,.12);border-radius:8px;height:auto;image-rendering:pixelated;width:100%}.flappy-help{color:hsla(0,0%,100%,.8);font-size:12px}.pokemon-game{align-items:center;background:#000;color:#fff;display:flex;font-family:Courier New,monospace;font-size:14px;height:100vh;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:9999}@-webkit-keyframes pokemonEnter{0%{opacity:0;-webkit-transform:translateX(100px) scale(.5);transform:translateX(100px) scale(.5)}50%{opacity:1}to{opacity:1;-webkit-transform:translateX(0) scale(1);transform:translateX(0) scale(1)}}@keyframes pokemonEnter{0%{opacity:0;-webkit-transform:translateX(100px) scale(.5);transform:translateX(100px) scale(.5)}50%{opacity:1}to{opacity:1;-webkit-transform:translateX(0) scale(1);transform:translateX(0) scale(1)}}@-webkit-keyframes attackBounce{0%,to{-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}75%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes attackBounce{0%,to{-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}75%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@-webkit-keyframes shake{0%,to{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-5px);transform:translateX(-5px)}20%,40%,60%,80%{-webkit-transform:translateX(5px);transform:translateX(5px)}}@keyframes shake{0%,to{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-5px);transform:translateX(-5px)}20%,40%,60%,80%{-webkit-transform:translateX(5px);transform:translateX(5px)}}@-webkit-keyframes damage{0%,to{-webkit-filter:brightness(100%);filter:brightness(100%)}50%{-webkit-filter:brightness(200%) contrast(200%);filter:brightness(200%) contrast(200%)}}@keyframes damage{0%,to{-webkit-filter:brightness(100%);filter:brightness(100%)}50%{-webkit-filter:brightness(200%) contrast(200%);filter:brightness(200%) contrast(200%)}}@-webkit-keyframes faintOut{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}}@keyframes faintOut{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}}@-webkit-keyframes hpDamage{0%{background:#000}50%{background:#f44}to{background:#000}}@keyframes hpDamage{0%{background:#000}50%{background:#f44}to{background:#000}}@-webkit-keyframes typewriter{0%{border-right-color:transparent}to{border-right-color:#fff}}@keyframes typewriter{0%{border-right-color:transparent}to{border-right-color:#fff}}@-webkit-keyframes cursorBlink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes cursorBlink{0%,50%{opacity:1}51%,to{opacity:0}}.pokemon-enter{-webkit-animation:pokemonEnter 1s ease-out;animation:pokemonEnter 1s ease-out}.attack-bounce{-webkit-animation:attackBounce .6s ease-in-out;animation:attackBounce .6s ease-in-out}.shake{-webkit-animation:shake .8s ease-in-out;animation:shake .8s ease-in-out}.enemy-damage,.player-damage{-webkit-animation:damage .5s ease-in-out;animation:damage .5s ease-in-out}.enemy-faint{-webkit-animation:faintOut 1s ease-in-out forwards;animation:faintOut 1s ease-in-out forwards}.hp-damage{-webkit-animation:hpDamage .3s ease-in-out;animation:hpDamage .3s ease-in-out}.typing .cursor{-webkit-animation:cursorBlink 1s infinite;animation:cursorBlink 1s infinite}.cursor{opacity:0}.pokemon-overworld{background:#fff;border:4px solid #000;color:#000;max-width:600px;padding:20px;position:relative;text-align:center;width:90%}.overworld-header{align-items:center;border-bottom:2px solid #000;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:10px}.overworld-header h2{font-size:18px;letter-spacing:2px;margin:0}.pokemon-close{background:#000;border:2px solid #000;color:#fff;cursor:pointer;font-family:Courier New,monospace;font-size:16px;padding:5px 10px}.pokemon-close:hover{background:#fff;color:#000}.overworld-map{grid-gap:1px;aspect-ratio:1;background:#000;display:grid;gap:1px;grid-template-columns:repeat(10,1fr);margin:20px auto;max-width:400px;padding:2px}.tile{align-items:center;aspect-ratio:1;display:flex;font-size:20px;font-weight:700;justify-content:center}.tile.grass{background:#ddd;color:#444}.tile.path{background:#fff;color:#000}.tile.house{background:#999;border:1px solid #666;color:#000}.tile.building{background:#777;border:1px solid #444;color:#000}.tile.water{background:#333;color:#fff;position:relative}.tile.water:after{background:repeating-linear-gradient(45deg,transparent,transparent 2px,hsla(0,0%,100%,.1) 0,hsla(0,0%,100%,.1) 4px);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.tile.player{background:#000!important;color:#fff!important;position:relative;z-index:10}.overworld-controls{margin-top:20px;text-align:center}.overworld-controls p{font-size:12px;margin:5px 0}.pokemon-battle{background:#fff;border:4px solid #000;color:#000;display:flex;flex-direction:column;height:80vh;max-width:800px;padding:20px;width:95%}.battle-header{align-items:center;border-bottom:2px solid #000;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:10px}.battle-header h2{font-size:18px;letter-spacing:2px;margin:0}.battle-area{flex:1 1;flex-direction:column;padding:20px 0}.battle-area,.enemy-section{display:flex;justify-content:space-between}.enemy-section{align-items:flex-start;margin-bottom:40px}.enemy-info{text-align:left}.enemy-sprite{text-align:right}.enemy-sprite img{background:#fff;border:2px solid #000;-webkit-filter:contrast(100%) brightness(100%);filter:contrast(100%) brightness(100%);height:120px;image-rendering:pixelated;width:120px}.player-section{align-items:flex-end;display:flex;justify-content:space-between}.player-sprite{color:#000;font-size:60px;text-align:left}.player-sprite img{background:#fff;border:2px solid #000;-webkit-filter:contrast(100%) brightness(100%);filter:contrast(100%) brightness(100%);height:100px;image-rendering:pixelated;width:100px}.player-info{flex:1 1;margin-left:20px;text-align:right}.pokemon-name{font-size:16px;font-weight:700;letter-spacing:2px;margin-bottom:5px}.pokemon-level{font-size:14px;margin-bottom:10px}.hp-container{align-items:center;display:flex;gap:10px;margin-bottom:5px}.hp-label{font-weight:700;min-width:30px}.hp-bar{background:#fff;border:2px solid #000;height:8px;position:relative;width:150px}.hp-fill{background:#000;height:100%;transition:width .5s ease}.hp-numbers{font-size:12px;min-width:50px;text-align:right}.battle-ui{border-top:4px solid #000;min-height:120px;padding-top:20px}.battle-text{align-items:center;background:#000;border:2px solid #000;color:#fff;display:flex;font-size:14px;letter-spacing:1px;margin-bottom:15px;min-height:40px;padding:15px}.battle-menu{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;max-width:400px}.battle-button{background:#fff;border:3px solid #000;color:#000;cursor:pointer;font-family:Courier New,monospace;font-size:14px;font-weight:700;letter-spacing:1px;padding:15px 20px;transition:all .1s}.battle-button:hover{background:#000;color:#fff}.battle-button:active{-webkit-transform:translateY(2px);transform:translateY(2px)}@media (max-width:768px){.pokemon-game{font-size:12px}.pokemon-battle{height:85vh;padding:15px}.overworld-map{max-width:300px}.tile{font-size:16px}.enemy-sprite img{height:90px;width:90px}.player-sprite{font-size:40px}.player-sprite img{height:70px;width:70px}.hp-bar{width:100px}.battle-button{font-size:12px;padding:12px 15px}.pokemon-name{font-size:14px}}@media (max-width:480px){.pokemon-battle{height:90vh;padding:10px}.overworld-map{max-width:250px}.enemy-sprite img{height:70px;width:70px}.player-sprite{font-size:30px}.player-sprite img{height:50px;width:50px}.hp-bar{width:80px}.battle-text{font-size:12px;padding:10px}.battle-button{font-size:11px;padding:10px}}
/*# sourceMappingURL=main.97a9954d.css.map*/