@import"https://fonts.cdnfonts.com/css/pokemon-solid";:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--pokelab-red: #d62f3a;--pokelab-red-dark: #a91f2b;--pokelab-white: #ffffff;--pokelab-ink: #17212b;--pokelab-surface: #fffdf7;--pokelab-muted: #5d6873;--pokelab-focus: #ffd84d;--pokelab-shadow: 0 18px 45px rgba(15, 24, 33, .28);--pokelab-radius: 28px}*,*:before,*:after{box-sizing:border-box}body{background-image:url(/Lab_Fondo.png);background-size:cover;background-repeat:no-repeat;background-position:center;margin:0}img{max-width:100%;height:auto}.home-container{min-height:100vh;min-height:100dvh;padding:clamp(.75rem,2vw,1.75rem);overflow-x:clip;color:var(--pokelab-ink);background:linear-gradient(#0c19240f,#0c192429),url(/Lab_Fondo.png) center 48%/cover no-repeat;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.home-stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(14.5rem,32%);align-items:stretch;width:min(100%,75rem);min-height:calc(100vh - clamp(1.5rem,4vw,3.5rem));min-height:calc(100dvh - clamp(1.5rem,4vw,3.5rem));margin:0 auto}.professor-oak{grid-row:1;grid-column:2;align-self:end;justify-self:center;z-index:1;display:block;width:clamp(13.75rem,26vw,21.875rem);max-height:min(72vh,40.625rem);max-height:min(72dvh,40.625rem);object-fit:contain;object-position:bottom center;filter:drop-shadow(0 .75rem .9rem rgba(15,24,33,.24));-webkit-user-select:none;user-select:none}.speech-bubble{position:relative;grid-row:1;grid-column:1/-1;align-self:start;justify-self:start;z-index:2;width:min(76%,53.75rem);margin:clamp(.5rem,4vh,2.625rem) 0 0 clamp(0rem,2vw,1.5rem);border:3px solid var(--pokelab-ink);border-radius:clamp(1.25rem,3vw,var(--pokelab-radius));background:var(--pokelab-surface);box-shadow:var(--pokelab-shadow)}.speech-bubble:before,.speech-bubble:after{content:"";position:absolute;left:82%;width:0;height:0;transform:translate(-50%);border-style:solid}.speech-bubble:before{bottom:-1.65rem;border-width:1.6rem 1.35rem 0;border-color:var(--pokelab-ink) transparent transparent}.speech-bubble:after{bottom:-1.25rem;border-width:1.25rem 1.05rem 0;border-color:var(--pokelab-surface) transparent transparent}.speech-bubble__header{padding:clamp(.85rem,2vw,1.4rem) clamp(1rem,3vw,2rem);border-bottom:3px solid var(--pokelab-ink);border-radius:calc(clamp(1.25rem,3vw,var(--pokelab-radius)) - 3px) calc(clamp(1.25rem,3vw,var(--pokelab-radius)) - 3px) 0 0;background:linear-gradient(135deg,var(--pokelab-red),var(--pokelab-red-dark))}.speech-bubble__header h1{margin:0;color:var(--pokelab-focus);font-family:Pokemon Solid,Impact,fantasy;font-size:clamp(1.35rem,2.6vw,2.35rem);font-weight:400;line-height:1.25;letter-spacing:clamp(.05rem,.22vw,.15rem);text-align:center;text-shadow:2px 3px 0 rgba(19,31,43,.88)}.speech-bubble__body{padding:clamp(1rem,2.5vw,1.75rem) clamp(1rem,3vw,2rem) clamp(1.2rem,3vw,2rem)}.speech-bubble__body h2{margin:0 0 .55rem;color:var(--pokelab-ink);font-size:clamp(1.05rem,1.8vw,1.45rem);line-height:1.25;letter-spacing:.08em;text-align:center;text-transform:uppercase}.speech-bubble__body p{display:grid;gap:.15rem;margin:0 auto clamp(.9rem,2vw,1.35rem);max-width:43rem;color:var(--pokelab-muted);font-size:clamp(.9rem,1.4vw,1.05rem);line-height:1.5;text-align:center}.speech-bubble__body p strong{color:var(--pokelab-ink)}.trainer-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem .75rem;align-items:end}.trainer-form label{grid-column:1/-1;color:var(--pokelab-ink);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.trainer-form input{width:100%;min-width:0;min-height:3.25rem;padding:.75rem 1rem;border:2px solid #9aa5ae;border-radius:.9rem;outline:none;background:var(--pokelab-white);color:var(--pokelab-ink);font:inherit;font-size:1rem;box-shadow:inset 0 1px 2px #0f182114;transition:border-color .16s ease,box-shadow .16s ease}.trainer-form input::placeholder{color:#6e7882}.trainer-form input:focus-visible{border-color:var(--pokelab-red-dark);box-shadow:0 0 0 4px #d62f3a33}.trainer-form button{min-height:3.25rem;padding:.75rem clamp(1rem,2vw,1.4rem);border:2px solid var(--pokelab-ink);border-radius:.9rem;background:var(--pokelab-red);color:var(--pokelab-white);cursor:pointer;font:inherit;font-size:.88rem;font-weight:800;letter-spacing:.035em;line-height:1.2;text-transform:uppercase;box-shadow:0 5px 0 var(--pokelab-ink),0 9px 18px #0f182133;transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease}.trainer-form button:hover{background:var(--pokelab-red-dark);transform:translateY(-1px)}.trainer-form button:active{box-shadow:0 2px 0 var(--pokelab-ink),0 5px 10px #0f18212e;transform:translateY(3px)}.trainer-form button:focus-visible{outline:4px solid var(--pokelab-focus);outline-offset:3px}@media(max-width:56.25rem){.home-stage{grid-template-columns:minmax(0,1fr) minmax(12rem,34%)}.speech-bubble{justify-self:center;width:min(88%,45rem);margin-left:0}.professor-oak{width:clamp(12rem,32vw,17.25rem)}}@media(max-width:38.75rem){.home-container{padding:.75rem;background-position:54% center}.home-stage{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);min-height:calc(100vh - 1.5rem);min-height:calc(100dvh - 1.5rem)}.speech-bubble{grid-row:1;grid-column:1;width:100%;margin:0}.speech-bubble:before,.speech-bubble:after{left:50%}.speech-bubble__header{padding-block:.8rem}.speech-bubble__body{padding:.9rem .9rem 1.1rem}.speech-bubble__body h2{margin-bottom:.35rem}.speech-bubble__body p{margin-bottom:.75rem}.trainer-form{grid-template-columns:minmax(0,1fr);gap:.5rem}.trainer-form label,.trainer-form input,.trainer-form button{grid-column:1}.trainer-form button{width:100%}.professor-oak{grid-row:2;grid-column:1;align-self:end;width:clamp(9.5rem,43vw,13rem);max-height:35vh;max-height:35dvh;margin-top:-.35rem}}@media(prefers-reduced-motion:reduce){.trainer-form input,.trainer-form button{transition:none}}.pokecard{--type-accent: #76838f;--type-soft: #eef1f4;position:relative;display:flex;flex-direction:column;min-width:0;min-height:20.5rem;overflow:hidden;color:var(--pokelab-ink);text-decoration:none;background:var(--pokelab-surface);border:1px solid rgba(255,255,255,.7);border-top:5px solid var(--type-accent);border-radius:20px;box-shadow:0 12px 26px #06101a33;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.pokecard__media{position:relative;display:grid;place-items:center;height:9.75rem;padding:.8rem;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.9) 0 18%,transparent 52%),linear-gradient(145deg,var(--type-soft),#ffffff)}.pokecard__number{position:absolute;top:.7rem;left:.8rem;z-index:1;padding:.2rem .55rem;color:#35424d;font-size:.72rem;font-weight:800;letter-spacing:.08em;background:#ffffffc7;border:1px solid rgba(23,33,43,.12);border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pokecard__image{width:8.65rem;height:8.65rem;object-fit:contain;filter:drop-shadow(0 9px 8px rgba(23,33,43,.2))}.pokecard__body{display:flex;flex:1;flex-direction:column;padding:.85rem 1rem 1rem}.pokecard__name{margin:0;color:var(--pokelab-ink);font-size:clamp(1.2rem,2vw,1.4rem);line-height:1.15;text-transform:capitalize}.pokecard__types{display:flex;flex-wrap:wrap;gap:.4rem;min-height:1.65rem;margin-top:.55rem}.pokecard__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;margin:.85rem 0 0;padding:.75rem 0 0;border-top:1px solid rgba(23,33,43,.12)}.pokecard__stats div{min-width:0;text-align:center}.pokecard__stats dt{color:var(--pokelab-muted);font-size:.66rem;font-weight:800;letter-spacing:.06em}.pokecard__stats dd{margin:.1rem 0 0;color:var(--pokelab-ink);font-size:1rem;font-weight:800}.pokecard__action{align-self:flex-end;margin-top:auto;padding-top:.65rem;color:var(--type-accent);font-size:.78rem;font-weight:800}.pokecard--loading,.pokecard--error{cursor:default}.pokecard--error{align-items:center;justify-content:center;gap:.35rem;padding:1.5rem;text-align:center}.pokecard--error span{color:var(--pokelab-muted)}.pokecard__skeleton{background:linear-gradient(100deg,#e5e8eb 30%,#f7f8f9,#e5e8eb 70%);background-size:220% 100%;animation:pokecard-shimmer 1.4s ease-in-out infinite}.pokecard__skeleton-line{display:block;width:100%;height:.8rem;margin-bottom:.7rem;background:#e5e8eb;border-radius:999px}.pokecard__skeleton-line--short{width:58%;height:1.25rem}.pokecard:not(.pokecard--loading,.pokecard--error):hover{transform:translateY(-3px);border-color:var(--type-accent);box-shadow:0 18px 34px #06101a47}.pokecard:focus-visible{outline:3px solid var(--pokelab-focus);outline-offset:3px}.pokemon-type{--badge-color: #66737e;padding:.22rem .55rem;color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.04em;line-height:1.2;text-transform:uppercase;background:var(--badge-color);border-radius:999px}.pokecard.type--normal{--type-accent: #8b7379;--type-soft: #f1e9eb}.pokemon-type--normal{--badge-color: #8b7379}.pokecard.type--fighting{--type-accent: #cc593b;--type-soft: #f8e5df}.pokemon-type--fighting{--badge-color: #cc593b}.pokecard.type--flying{--type-accent: #7294d0;--type-soft: #e8eef9}.pokemon-type--flying{--badge-color: #7294d0}.pokecard.type--poison{--type-accent: #8f54bd;--type-soft: #f1e7f8}.pokemon-type--poison{--badge-color: #8f54bd}.pokecard.type--ground{--type-accent: #a8752d;--type-soft: #f5ecdd}.pokemon-type--ground{--badge-color: #a8752d}.pokecard.type--rock{--type-accent: #817d76;--type-soft: #eeece8}.pokemon-type--rock{--badge-color: #817d76}.pokecard.type--bug{--type-accent: #4d9d4b;--type-soft: #e4f3e3}.pokemon-type--bug{--badge-color: #4d9d4b}.pokecard.type--ghost{--type-accent: #52579c;--type-soft: #e7e8f6}.pokemon-type--ghost{--badge-color: #52579c}.pokecard.type--steel{--type-accent: #71827c;--type-soft: #e7ecea}.pokemon-type--steel{--badge-color: #71827c}.pokecard.type--fire{--type-accent: #d9512f;--type-soft: #fde8e1}.pokemon-type--fire{--badge-color: #d9512f}.pokecard.type--water{--type-accent: #2776d2;--type-soft: #e2effd}.pokemon-type--water{--badge-color: #2776d2}.pokecard.type--grass{--type-accent: #318c61;--type-soft: #e2f4e9}.pokemon-type--grass{--badge-color: #318c61}.pokecard.type--electric{--type-accent: #a67800;--type-soft: #fff3c8}.pokemon-type--electric{--badge-color: #a67800}.pokecard.type--psychic{--type-accent: #d6537a;--type-soft: #fbe5ec}.pokemon-type--psychic{--badge-color: #d6537a}.pokecard.type--ice{--type-accent: #3b93b8;--type-soft: #e1f4fb}.pokemon-type--ice{--badge-color: #3b93b8}.pokecard.type--dragon{--type-accent: #43818a;--type-soft: #e1eff1}.pokemon-type--dragon{--badge-color: #43818a}.pokecard.type--dark{--type-accent: #3f4a47;--type-soft: #e6e9e8}.pokemon-type--dark{--badge-color: #3f4a47}.pokecard.type--fairy{--type-accent: #bd4c75;--type-soft: #f9e5ec}.pokemon-type--fairy{--badge-color: #bd4c75}.pokecard.type--stellar{--type-accent: #7040a1;--type-soft: #efe5f7}.pokemon-type--stellar{--badge-color: #7040a1}.pokecard.type--unknown{--type-accent: #6b7379;--type-soft: #eceeef}.pokemon-type--unknown{--badge-color: #6b7379}.pokecard.type--shadow{--type-accent: #485a50;--type-soft: #e6ebe8}.pokemon-type--shadow{--badge-color: #485a50}@keyframes pokecard-shimmer{to{background-position-x:-220%}}@media(prefers-reduced-motion:reduce){.pokecard{transition:none}.pokecard__skeleton{animation:none}}.pokelist{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14.5rem),1fr));gap:clamp(.85rem,1.5vw,1.15rem);align-items:stretch}.pokedex-page{min-height:100vh;min-height:100dvh;padding:clamp(1rem,3vw,2.5rem);color:var(--pokelab-white);background:radial-gradient(circle at 88% 3%,rgba(214,47,58,.3),transparent 24rem),radial-gradient(circle at 5% 35%,rgba(40,112,155,.18),transparent 28rem),linear-gradient(145deg,#0a1420,#172b3d 52%,#101c29)}.pokedex-shell{width:min(100%,82rem);margin:0 auto}.pokedex-header{display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(1.25rem,4vw,3rem);padding:clamp(1rem,2.5vw,1.75rem) 0 clamp(1.5rem,3vw,2.25rem)}.pokedex-header__brand{min-width:0}.pokedex-header__brand>span{display:block;color:#ff8590;font-size:.75rem;font-weight:900;letter-spacing:.22em;text-transform:uppercase}.pokedex-header__brand h1{margin:.12rem 0 0;font-family:Pokemon Solid,Impact,fantasy;font-size:clamp(2.3rem,6vw,4.2rem);font-weight:400;letter-spacing:.045em;line-height:1.05;text-shadow:0 5px 16px rgba(0,0,0,.35)}.pokedex-header__brand p{max-width:36rem;margin:.65rem 0 0;color:#c8d2dc;font-size:clamp(.95rem,1.8vw,1.08rem)}.pokedex-header__user{display:flex;flex-shrink:0;align-items:center;gap:.9rem}.pokedex-header__user p{margin:0;color:#d7e0e7;font-size:.9rem}.pokedex-header__user strong{color:#fff}.pokedex-header__user button{min-height:2.75rem;padding:.65rem 1rem;color:#fff;font:inherit;font-size:.86rem;font-weight:800;background:#ffffff12;border:1px solid rgba(255,255,255,.38);border-radius:999px;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}.pokedex-header__user button:hover{background:#ffffff24;border-color:#ffffffbf}.pokedex-header__user button:active{transform:translateY(1px)}.pokedex-header__user button:focus-visible{outline:3px solid var(--pokelab-focus);outline-offset:3px}.pokedex-toolbar{padding:clamp(1rem,2.5vw,1.4rem);color:var(--pokelab-ink);background:#fffdf7f7;border:1px solid rgba(255,255,255,.7);border-radius:22px;box-shadow:0 18px 42px #050e1847}.pokedex-toolbar form{display:grid;grid-template-columns:minmax(0,1fr) minmax(11rem,15rem);gap:.9rem;align-items:end}.pokedex-field{min-width:0}.pokedex-field label{display:block;margin:0 0 .38rem .15rem;color:#35424d;font-size:.73rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.pokedex-field input,.pokedex-field select,.pokedex-field button{min-height:3rem;font:inherit;border-radius:13px}.pokedex-field input,.pokedex-field select{width:100%;min-width:0;color:var(--pokelab-ink);background-color:#fff;border:1px solid #bdc6ce;transition:border-color .16s ease,box-shadow .16s ease}.pokedex-field input:hover,.pokedex-field select:hover{border-color:#7b8995}.pokedex-field input:focus-visible,.pokedex-field select:focus-visible{outline:none;border-color:var(--pokelab-red);box-shadow:0 0 0 3px #d62f3a2e}.pokedex-field input{padding:.72rem .9rem}.pokedex-field input::placeholder{color:#78848f}.pokedex-field select{padding:.72rem 2.5rem .72rem .9rem;cursor:pointer}.pokedex-field__controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem}.pokedex-field__controls button{min-width:7rem;padding:.7rem 1.25rem;color:#fff;font-weight:900;text-transform:capitalize;background:var(--pokelab-red);border:1px solid var(--pokelab-red);box-shadow:0 7px 16px #a91f2b3d;cursor:pointer;transition:background .16s ease,transform .16s ease,box-shadow .16s ease}.pokedex-field__controls button:hover{background:var(--pokelab-red-dark);box-shadow:0 9px 19px #a91f2b52}.pokedex-field__controls button:active{transform:translateY(1px)}.pokedex-field__controls button:focus-visible{outline:3px solid var(--pokelab-focus);outline-offset:3px}.pokedex-results{padding:clamp(1.25rem,3vw,2rem) 0 0}.pokedex-results__summary{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;min-height:3rem;margin-bottom:1rem;padding:0 .2rem}.pokedex-results__summary p,.pokedex-results__summary span{margin:0}.pokedex-results__summary p{color:#d2dce4}.pokedex-results__summary strong{display:block;margin-bottom:.18rem;color:#fff;font-size:1.08rem}.pokedex-results__summary>span{flex-shrink:0;color:#fff;font-size:.82rem;font-weight:800;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:.38rem .75rem}.pokedex-state{display:grid;place-content:center;justify-items:center;gap:.75rem;min-height:16rem;padding:2rem;color:var(--pokelab-ink);text-align:center;background:#fffdf7f7;border-radius:20px;box-shadow:0 14px 34px #050e1838}.pokedex-state p{margin:0}.pokedex-state__indicator{width:2.25rem;height:2.25rem;border:4px solid #e0e4e7;border-top-color:var(--pokelab-red);border-radius:50%;animation:pokedex-spin .8s linear infinite}.pokedex-state--error{color:#7e1a23;border:1px solid #f1bac0}.pokedex-state--empty{color:var(--pokelab-muted)}.pokedex-search-result{display:grid;grid-template-columns:minmax(10rem,.8fr) minmax(13rem,1.2fr);width:min(100%,38rem);min-height:15rem;margin:0 auto;overflow:hidden;color:var(--pokelab-ink);text-decoration:none;background:var(--pokelab-surface);border:1px solid rgba(255,255,255,.7);border-radius:22px;box-shadow:0 16px 34px #050e1845;transition:transform .16s ease,box-shadow .16s ease}.pokedex-search-result__media{display:grid;place-items:center;padding:1rem;background:linear-gradient(145deg,#e7edf2,#fff)}.pokedex-search-result__media img{width:11rem;height:11rem;object-fit:contain}.pokedex-search-result__body{display:flex;flex-direction:column;justify-content:center;padding:1.4rem}.pokedex-search-result__body>span{color:var(--pokelab-muted);font-size:.75rem;font-weight:900;letter-spacing:.08em}.pokedex-search-result__body h2{margin:.15rem 0;font-size:1.8rem;text-transform:capitalize}.pokedex-search-result__body>strong{margin-top:1.2rem;color:var(--pokelab-red-dark);font-size:.85rem}.pokedex-search-result__types{display:flex;flex-wrap:wrap;gap:.4rem}.pokedex-search-result__types span{padding:.2rem .55rem;color:#fff;font-size:.68rem;font-weight:800;text-transform:uppercase;background:#65727c;border-radius:999px}.pokedex-search-result:hover{transform:translateY(-3px);box-shadow:0 20px 40px #050e1857}.pokedex-search-result:focus-visible{outline:3px solid var(--pokelab-focus);outline-offset:3px}.pokedex-pagination{display:grid;grid-template-columns:auto minmax(0,auto) auto;justify-content:center;align-items:center;gap:.65rem;margin-top:clamp(1.5rem,4vw,2.5rem);padding:1rem;background:#08141fa3;border:1px solid rgba(255,255,255,.13);border-radius:18px}.pokedex-pagination button{min-width:2.65rem;min-height:2.65rem;padding:.5rem .7rem;color:#fff;font:inherit;font-size:.82rem;font-weight:800;background:#ffffff14;border:1px solid rgba(255,255,255,.28);border-radius:11px;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.pokedex-pagination button:hover:not(:disabled){background:#ffffff29;border-color:#ffffffa6}.pokedex-pagination button:active:not(:disabled){transform:translateY(1px)}.pokedex-pagination button:focus-visible{outline:3px solid var(--pokelab-focus);outline-offset:2px}.pokedex-pagination button:disabled{color:#81909d;background:#ffffff08;border-color:#ffffff1a;cursor:not-allowed}.pokedex-pagination button[aria-current=page]{color:#fff;background:var(--pokelab-red);border-color:var(--pokelab-red);box-shadow:0 5px 13px #d62f3a52}.pokedex-pagination__pages{display:flex;align-items:center;justify-content:center;gap:.38rem}.pokedex-pagination__ellipsis{min-width:1.3rem;color:#aebbc6;text-align:center}.pokedex-pagination>p{grid-column:1/-1;margin:.15rem 0 0;color:#aebbc6;font-size:.75rem;text-align:center}@keyframes pokedex-spin{to{transform:rotate(360deg)}}@media(max-width:43rem){.pokedex-header{align-items:flex-start}.pokedex-header__user{flex-direction:column;align-items:flex-end;gap:.45rem}.pokedex-header__user p{font-size:.8rem}.pokedex-toolbar form{grid-template-columns:minmax(0,1fr)}}@media(max-width:34rem){.pokedex-page{padding:.85rem}.pokedex-header{flex-wrap:wrap}.pokedex-header__user{width:100%;flex-direction:row;justify-content:space-between;align-items:center}.pokedex-field__controls{grid-template-columns:minmax(0,1fr)}.pokedex-pagination{grid-template-columns:1fr 1fr}.pokedex-pagination__pages{grid-column:1/-1;grid-row:1;gap:.25rem}.pokedex-pagination__direction{width:100%}.pokedex-search-result{grid-template-columns:minmax(0,1fr)}.pokedex-search-result__media{min-height:11rem}.pokedex-results__summary{align-items:flex-start;flex-direction:column;gap:.6rem}}@media(prefers-reduced-motion:reduce){.pokedex-state__indicator{animation:none}}.pokemon-page{min-height:100vh;min-height:100dvh;padding:clamp(1rem,3vw,2.5rem);color:var(--pokelab-white);background:radial-gradient(circle at 88% 4%,rgba(214,47,58,.27),transparent 25rem),radial-gradient(circle at 4% 55%,rgba(40,112,155,.17),transparent 30rem),linear-gradient(145deg,#0a1420,#172b3d 52%,#101c29)}.pokemon-page__shell{width:min(100%,72rem);margin:0 auto}.pokemon-back{display:inline-flex;align-items:center;gap:.55rem;min-height:2.85rem;margin-bottom:clamp(1rem,2vw,1.4rem);padding:.65rem 1rem;color:#fff;font:inherit;font-size:.88rem;font-weight:800;background:#ffffff14;border:1px solid rgba(255,255,255,.32);border-radius:999px;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}.pokemon-back>span:first-child{font-size:1.2rem;line-height:1}.pokemon-back:hover{background:#ffffff26;border-color:#ffffffad;transform:translate(-2px)}.pokemon-back:active{transform:translate(-1px)}.pokemon-back:focus-visible{outline:3px solid var(--pokelab-focus);outline-offset:3px}.pokemon-detail{--detail-accent: #64727d;--detail-soft: #edf0f2;overflow:hidden;color:var(--pokelab-ink);background:var(--pokelab-surface);border:1px solid rgba(255,255,255,.72);border-top:6px solid var(--detail-accent);border-radius:clamp(20px,3vw,30px);box-shadow:var(--pokelab-shadow)}.pokemon-detail__hero{display:grid;grid-template-columns:minmax(18rem,.9fr) minmax(20rem,1.1fr);min-height:25rem;border-bottom:1px solid rgba(23,33,43,.1)}.pokemon-detail__media{position:relative;display:grid;place-items:center;min-height:24rem;padding:clamp(1.5rem,4vw,3rem);overflow:hidden;background:radial-gradient(circle at center,rgba(255,255,255,.92) 0 18%,transparent 49%),linear-gradient(145deg,var(--detail-soft),#ffffff)}.pokemon-detail__media img{position:relative;z-index:1;width:min(100%,21rem);height:20rem;object-fit:contain;filter:drop-shadow(0 18px 16px rgba(23,33,43,.24))}.pokemon-detail__orb{position:absolute;width:min(72%,20rem);aspect-ratio:1;opacity:.25;border:2px solid var(--detail-accent);border-radius:50%}.pokemon-detail__orb:before,.pokemon-detail__orb:after{position:absolute;content:""}.pokemon-detail__orb:before{top:50%;right:0;left:0;border-top:2px solid var(--detail-accent)}.pokemon-detail__orb:after{top:50%;left:50%;width:18%;aspect-ratio:1;background:#fff;border:2px solid var(--detail-accent);border-radius:50%;transform:translate(-50%,-50%)}.pokemon-detail__identity{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:clamp(2rem,5vw,4rem)}.pokemon-detail__eyebrow{color:var(--detail-accent);font-size:.7rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.pokemon-detail__id{align-self:flex-start;margin-top:1rem;padding:.28rem .65rem;color:#43515c;font-size:.78rem;font-weight:900;letter-spacing:.08em;background:var(--detail-soft);border-radius:999px}.pokemon-detail h1{margin:.45rem 0 0;color:var(--pokelab-ink);font-size:clamp(2.4rem,6vw,4.5rem);line-height:1.03;overflow-wrap:anywhere;text-transform:capitalize}.pokemon-detail__types{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.pokemon-detail__type{--type-badge: #65727c;padding:.32rem .75rem;color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;background:var(--type-badge);border-radius:999px}.pokemon-detail__measurements{display:grid;grid-template-columns:repeat(2,minmax(7rem,1fr));gap:.75rem;width:min(100%,22rem);margin:2rem 0 0}.pokemon-detail__measurements div{padding:.85rem 1rem;background:#fff;border:1px solid rgba(23,33,43,.11);border-radius:14px}.pokemon-detail__measurements dt{color:var(--pokelab-muted);font-size:.7rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.pokemon-detail__measurements dd{margin:.15rem 0 0;color:var(--pokelab-ink);font-size:1.35rem;font-weight:900}.pokemon-detail__content{display:grid;gap:1rem;padding:clamp(1rem,3vw,2rem);background:#f2f4f5}.pokemon-detail__secondary{display:grid;grid-template-columns:minmax(15rem,.72fr) minmax(0,1.28fr);gap:1rem}.pokemon-panel{min-width:0;padding:clamp(1rem,2.5vw,1.5rem);background:#fff;border:1px solid rgba(23,33,43,.1);border-radius:18px;box-shadow:0 8px 20px #17212b12}.pokemon-panel__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.pokemon-panel__heading span{display:block;color:var(--detail-accent);font-size:.65rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.pokemon-panel__heading h2{margin:.08rem 0 0;color:var(--pokelab-ink);font-size:1.35rem;line-height:1.15}.pokemon-panel__heading p{margin:0;color:var(--pokelab-muted);font-size:.72rem}.pokemon-panel__heading>strong{min-width:2.4rem;padding:.25rem .55rem;color:var(--detail-accent);font-size:.78rem;text-align:center;background:var(--detail-soft);border-radius:999px}.pokemon-stats__list{margin:0}.pokemon-stats__row{display:grid;grid-template-columns:minmax(6.5rem,.6fr) 2.6rem minmax(8rem,1.4fr);align-items:center;gap:.8rem;min-height:2.15rem}.pokemon-stats__row dt{color:#46535e;font-size:.78rem;font-weight:800}.pokemon-stats__row dd{margin:0;color:var(--pokelab-ink);font-size:.84rem;font-weight:900;text-align:right}.pokemon-stats__track{height:.55rem;overflow:hidden;background:#e5e9ec;border-radius:999px}.pokemon-stats__track>span{display:block;width:var(--stat-percentage);height:100%;background:linear-gradient(90deg,var(--detail-accent),color-mix(in srgb,var(--detail-accent) 65%,white));border-radius:inherit}.pokemon-abilities ul{display:grid;gap:.6rem;margin:0;padding:0;list-style:none}.pokemon-abilities li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:2.75rem;padding:.65rem .8rem;background:var(--detail-soft);border-left:4px solid var(--detail-accent);border-radius:10px}.pokemon-abilities li>span{font-size:.86rem;font-weight:800}.pokemon-abilities li small{flex-shrink:0;color:var(--pokelab-muted);font-size:.65rem;font-weight:800}.pokemon-moves__scroll{max-height:17rem;padding:.15rem .45rem .15rem .15rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--detail-accent) #e6eaed;scrollbar-width:thin}.pokemon-moves__scroll:focus-visible{outline:3px solid var(--pokelab-focus);outline-offset:3px;border-radius:8px}.pokemon-moves ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.45rem;margin:0;padding:0;list-style:none}.pokemon-moves li{min-width:0;padding:.48rem .65rem;color:#43505a;font-size:.72rem;font-weight:750;overflow-wrap:anywhere;background:#f1f3f5;border:1px solid #e0e4e7;border-radius:9px}.pokemon-request{display:flex;align-items:center;justify-content:center;gap:1.25rem;min-height:min(65vh,34rem);padding:clamp(2rem,6vw,4rem);color:var(--pokelab-ink);background:var(--pokelab-surface);border-radius:var(--pokelab-radius);box-shadow:var(--pokelab-shadow)}.pokemon-request h1{margin:0;font-size:clamp(1.5rem,4vw,2.3rem)}.pokemon-request p{max-width:30rem;margin:.35rem 0 0;color:var(--pokelab-muted)}.pokemon-request__ball,.pokemon-request__symbol{flex:0 0 auto;width:3.5rem;aspect-ratio:1;border-radius:50%}.pokemon-request__ball{background:linear-gradient(var(--pokelab-red) 0 44%,#1d2730 44% 56%,#ffffff 56%);border:3px solid #1d2730;box-shadow:0 8px 18px #17212b33;animation:pokemon-pulse 1s ease-in-out infinite alternate}.pokemon-request__symbol{display:grid;place-items:center;color:#fff;font-size:1.8rem;font-weight:900;background:var(--pokelab-red)}.pokemon-detail.type--normal{--detail-accent: #8b7379;--detail-soft: #f1e9eb}.pokemon-detail__type--normal{--type-badge: #8b7379}.pokemon-detail.type--fighting{--detail-accent: #cc593b;--detail-soft: #f8e5df}.pokemon-detail__type--fighting{--type-badge: #cc593b}.pokemon-detail.type--flying{--detail-accent: #617fb8;--detail-soft: #e8eef9}.pokemon-detail__type--flying{--type-badge: #617fb8}.pokemon-detail.type--poison{--detail-accent: #8f54bd;--detail-soft: #f1e7f8}.pokemon-detail__type--poison{--type-badge: #8f54bd}.pokemon-detail.type--ground{--detail-accent: #9a6d2a;--detail-soft: #f5ecdd}.pokemon-detail__type--ground{--type-badge: #9a6d2a}.pokemon-detail.type--rock{--detail-accent: #746f68;--detail-soft: #eeece8}.pokemon-detail__type--rock{--type-badge: #746f68}.pokemon-detail.type--bug{--detail-accent: #438e42;--detail-soft: #e4f3e3}.pokemon-detail__type--bug{--type-badge: #438e42}.pokemon-detail.type--ghost{--detail-accent: #52579c;--detail-soft: #e7e8f6}.pokemon-detail__type--ghost{--type-badge: #52579c}.pokemon-detail.type--steel{--detail-accent: #667a73;--detail-soft: #e7ecea}.pokemon-detail__type--steel{--type-badge: #667a73}.pokemon-detail.type--fire{--detail-accent: #d9512f;--detail-soft: #fde8e1}.pokemon-detail__type--fire{--type-badge: #d9512f}.pokemon-detail.type--water{--detail-accent: #2776d2;--detail-soft: #e2effd}.pokemon-detail__type--water{--type-badge: #2776d2}.pokemon-detail.type--grass{--detail-accent: #318c61;--detail-soft: #e2f4e9}.pokemon-detail__type--grass{--type-badge: #318c61}.pokemon-detail.type--electric{--detail-accent: #8d6800;--detail-soft: #fff3c8}.pokemon-detail__type--electric{--type-badge: #8d6800}.pokemon-detail.type--psychic{--detail-accent: #c7476d;--detail-soft: #fbe5ec}.pokemon-detail__type--psychic{--type-badge: #c7476d}.pokemon-detail.type--ice{--detail-accent: #337f9f;--detail-soft: #e1f4fb}.pokemon-detail__type--ice{--type-badge: #337f9f}.pokemon-detail.type--dragon{--detail-accent: #3e7880;--detail-soft: #e1eff1}.pokemon-detail__type--dragon{--type-badge: #3e7880}.pokemon-detail.type--dark{--detail-accent: #3f4a47;--detail-soft: #e6e9e8}.pokemon-detail__type--dark{--type-badge: #3f4a47}.pokemon-detail.type--fairy{--detail-accent: #af4169;--detail-soft: #f9e5ec}.pokemon-detail__type--fairy{--type-badge: #af4169}.pokemon-detail.type--stellar{--detail-accent: #7040a1;--detail-soft: #efe5f7}.pokemon-detail__type--stellar{--type-badge: #7040a1}.pokemon-detail.type--unknown{--detail-accent: #667078;--detail-soft: #eceeef}.pokemon-detail__type--unknown{--type-badge: #667078}.pokemon-detail.type--shadow{--detail-accent: #485a50;--detail-soft: #e6ebe8}.pokemon-detail__type--shadow{--type-badge: #485a50}@keyframes pokemon-pulse{to{transform:translateY(-5px) rotate(4deg)}}@media(max-width:48rem){.pokemon-detail__hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.pokemon-detail__media{min-height:20rem;padding:1.5rem}.pokemon-detail__media img{height:17rem}.pokemon-detail__identity{padding:2rem}.pokemon-detail__secondary{grid-template-columns:minmax(0,1fr)}}@media(max-width:38rem){.pokemon-page{padding:.85rem}.pokemon-detail__hero{grid-template-columns:minmax(0,1fr)}.pokemon-detail__media{min-height:17rem}.pokemon-detail__media img{width:min(100%,16rem);height:15.5rem}.pokemon-detail__identity{padding:1.5rem}.pokemon-detail__measurements{width:100%;margin-top:1.4rem}.pokemon-panel__heading{align-items:flex-start}.pokemon-panel__heading p{max-width:8rem;text-align:right}.pokemon-stats__row{grid-template-columns:minmax(5.2rem,.8fr) 2.2rem minmax(4rem,1.2fr);gap:.55rem}.pokemon-request{align-items:flex-start;flex-direction:column;min-height:24rem}}@media(prefers-reduced-motion:reduce){.pokemon-back{transition:none}.pokemon-request__ball{animation:none}}.not-found-page{display:grid;min-height:100vh;min-height:100dvh;padding:clamp(1rem,4vw,3rem);place-items:center;color:var(--pokelab-white);background:radial-gradient(circle at 50% 15%,rgba(214,47,58,.28),transparent 24rem),linear-gradient(145deg,#0a1420,#172b3d 55%,#101c29)}.not-found{width:min(100%,38rem);padding:clamp(2rem,7vw,4.5rem);color:var(--pokelab-ink);text-align:center;background:var(--pokelab-surface);border:1px solid rgba(255,255,255,.72);border-radius:var(--pokelab-radius);box-shadow:var(--pokelab-shadow)}.not-found__pokeball{position:relative;width:5rem;aspect-ratio:1;margin:0 auto 1.25rem;overflow:hidden;background:linear-gradient(var(--pokelab-red) 0 44%,#1e2831 44% 56%,#ffffff 56%);border:4px solid #1e2831;border-radius:50%;box-shadow:0 12px 24px #17212b33}.not-found__pokeball span{position:absolute;top:50%;left:50%;width:1.55rem;aspect-ratio:1;background:#fff;border:4px solid #1e2831;border-radius:50%;transform:translate(-50%,-50%)}.not-found__code{display:block;margin:0;color:var(--pokelab-red);font-family:Pokemon Solid,Impact,fantasy;font-size:clamp(3.5rem,12vw,6rem);letter-spacing:.08em;line-height:1}.not-found h2{margin:.65rem 0 0;font-size:clamp(1.75rem,5vw,2.6rem)}.not-found p{max-width:29rem;margin:.85rem auto 1.6rem;color:var(--pokelab-muted)}.not-found__action{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.7rem 1.35rem;color:#fff;font-weight:900;text-decoration:none;background:var(--pokelab-red);border:1px solid var(--pokelab-red);border-radius:13px;box-shadow:0 8px 18px #a91f2b42;transition:background .16s ease,transform .16s ease,box-shadow .16s ease}.not-found__action:hover{background:var(--pokelab-red-dark);box-shadow:0 10px 22px #a91f2b57;transform:translateY(-2px)}.not-found__action:focus-visible{outline:3px solid var(--pokelab-focus);outline-offset:3px}@media(prefers-reduced-motion:reduce){.not-found__action{transition:none}}
