/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html{-webkit-text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}h1{margin:.67em 0;font-size:2em}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:#0000}abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:100%;line-height:1.15}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring{outline:1px dotted buttontext}[type=button]:-moz-focusring{outline:1px dotted buttontext}[type=reset]:-moz-focusring{outline:1px dotted buttontext}[type=submit]:-moz-focusring{outline:1px dotted buttontext}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;white-space:normal;max-width:100%;padding:0;display:table}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template,[hidden]{display:none}@font-face{font-family:Inter;src:url(/assets/Inter-Regular-CuH2jfV0.woff2)format("woff2");font-weight:400;font-style:normal}@font-face{font-family:Inter;src:url(/assets/Inter-Medium-DVwNBK5Q.woff2)format("woff2");font-weight:500;font-style:normal}@font-face{font-family:Inter;src:url(/assets/Inter-Black-B5fx6SzK.woff2)format("woff2");font-weight:900;font-style:normal}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at top left, #ffca2826, transparent 30%), radial-gradient(circle at top right, #3b4cca1f, transparent 35%), var(--color-background);min-width:320px;color:var(--color-text);margin:0;font-family:Inter,Arial,sans-serif}button,input{font:inherit}img{max-width:100%}:root{--color-primary:#ef5350;--color-primary-dark:#c62828;--color-secondary:#ffca28;--color-accent:#3b4cca;--color-background:#f6f7fb;--color-surface:#fff;--color-text:#202124;--color-text-secondary:#6b7280;--color-border:#e5e7eb;--shadow-card:0 12px 30px #00000014;--radius-small:10px;--radius-medium:18px;--radius-large:28px}.header{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:24px 32px;display:flex}.header__title{color:var(--color-primary);letter-spacing:-.03em;margin:0;font-size:32px;font-weight:900}@media screen and (width<=600px){.header{flex-direction:column;gap:16px;padding:20px 16px}.header__title{font-size:28px}}.navigation{align-items:center;gap:12px;display:flex}.navigation__link{color:var(--color-text);border-radius:var(--radius-small);padding:10px 16px;font-weight:500;text-decoration:none;transition:background-color .2s,color .2s,transform .2s}.navigation__link:hover{background-color:var(--color-surface);color:var(--color-primary);transform:translateY(-2px)}.navigation__user{color:var(--color-text);padding:10px 12px;font-weight:600}.navigation__button{border-radius:var(--radius-small);background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;padding:10px 16px;font-family:inherit;font-size:16px;font-weight:600;transition:transform .2s,opacity .2s}.navigation__button:hover{opacity:.9;transform:translateY(-2px)}.navigation__button:active{transform:translateY(0)}@media screen and (width<=600px){.navigation{flex-wrap:wrap;justify-content:center}.navigation__user{text-align:center;width:100%}}.main{padding:72px 24px 40px}.main__intro{text-align:center;max-width:900px;margin:0 auto}.main__title{color:var(--color-text);margin:0 0 20px;font-size:clamp(40px,7vw,72px);font-weight:500;line-height:1}.main__description{max-width:620px;color:var(--color-text-secondary);margin:0 auto;font-size:18px;line-height:1.6}@media screen and (width<=600px){.main{padding-top:48px}.main__title{font-size:30px}.main__description{font-size:16px}}.about{max-width:900px;margin:0 auto;padding:40px 24px}.about__title{margin:0 0 16px;font-size:20px}.about__text{margin:0;line-height:1.6}@media screen and (width<=600px){.about{padding:32px 16px}.about__title{font-size:24px}}.footer{text-align:center;border-top:1px solid #ddd;padding:24px}.footer__copyright{margin:0;font-size:14px}.search-form{background-color:var(--color-surface);border-radius:var(--radius-large);max-width:640px;box-shadow:var(--shadow-card);flex-wrap:wrap;margin:36px auto;padding:8px;display:flex}.search-form__input{border-radius:var(--radius-large);border:none;outline:none;flex:1;min-width:220px;padding:16px 18px}.search-form__input::placeholder{color:var(--color-text-secondary)}.search-form__button{border-radius:var(--radius-large);background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;padding:14px 28px;font-weight:700;transition:background-color .2s,transform .2s,box-shadow .2s}.search-form__button:hover{background-color:var(--color-primary-dark);transform:translateY(-2px)}.search-form__button:active{transform:translateY(0)}.search-form__button:disabled{cursor:not-allowed;opacity:.5}.search-form__error{width:100%;color:var(--color-primary-dark);margin:8px 16px 0;font-size:14px}@media screen and (width<=600px){.search-form{margin:28px 16px}.search-form__input,.search-form__button{width:100%}}.pokemon-page{min-height:60vh;padding:40px 24px}.pokemon-page__title{text-align:center;margin:0;font-size:32px}.pokemon-page__error{text-align:center;max-width:600px;margin:32px auto 0}@media screen and (width<=600px){.pokemon-page{padding:32px 16px}.pokemon-page__title{font-size:26px}}.pokemon-card{border:1px solid var(--color-border);border-radius:var(--radius-large);width:min(100%,380px);box-shadow:var(--shadow-card);background:linear-gradient(145deg,#fffffffa,#ffffffe0);margin:40px auto;padding:28px;transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden}.pokemon-card:hover{transform:translateY(-6px);box-shadow:0 20px 45px #00000024}.pokemon-card:before{content:"";background:radial-gradient(circle, #ffffff40 0 18%, transparent 19%), var(--pokemon-color);opacity:.18;border-radius:50%;width:230px;height:230px;position:absolute;top:-70px;right:-70px}.pokemon-card:after{content:"";opacity:.5;background:repeating-linear-gradient(135deg,#0000 0 10px,#ffffff2e 10px 12px);border-radius:50%;width:180px;height:180px;position:absolute;top:40px;right:20px}.pokemon-card__header,.pokemon-card__image,.pokemon-card__name-row,.pokemon-card__info,.pokemon-card__types,.pokemon-card__stats{z-index:1;position:relative}.pokemon-card__header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.pokemon-card__number{letter-spacing:.08em;color:var(--color-text-secondary);font-size:14px;font-weight:900}.pokemon-card__primary-type{background-color:var(--pokemon-color);color:#fff;text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.pokemon-card__image{filter:drop-shadow(0 18px 16px #00000024);width:220px;max-width:100%;margin:8px auto 0;transition:transform .25s,filter .25s;display:block}.pokemon-card:hover .pokemon-card__image{filter:drop-shadow(0 24px 18px #0000002e);transform:translateY(-8px)scale(1.07)}.pokemon-card__name-row{justify-content:center;align-items:center;gap:10px;margin:12px 0 20px;display:flex}.pokemon-card__name{text-align:center;text-transform:capitalize;letter-spacing:-.03em;margin:0;font-size:36px;font-weight:900;line-height:1}.pokemon-card__favorite-button{color:#6b7280;cursor:pointer;background-color:#0000;border:none;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;padding:0;font-size:30px;line-height:1;transition:transform .2s,color .2s,background-color .2s;display:flex}.pokemon-card__favorite-button:hover{color:var(--color-secondary);transform:scale(1.12)}.pokemon-card__favorite-button:active{transform:scale(.95)}.pokemon-card__favorite-button:focus-visible{outline:2px solid var(--pokemon-color);outline-offset:3px}.pokemon-card__info{color:var(--color-text-secondary);margin:8px 0;font-size:16px;line-height:1.4}.pokemon-card__types{flex-wrap:wrap;justify-content:center;gap:8px;margin:20px 0;display:flex}.pokemon-card__type{color:#fff;text-transform:capitalize;border-radius:999px;padding:6px 12px;font-size:14px;font-weight:700}.pokemon-card__stats{margin:24px 0 0;padding:0;list-style:none}.pokemon-card__stat{margin-bottom:14px}.pokemon-card__stat:last-child{margin-bottom:0}.pokemon-card__stat-header{text-transform:capitalize;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:14px;display:flex}.pokemon-card__stat-bar{background-color:var(--color-border);border-radius:999px;height:8px;overflow:hidden}.pokemon-card__stat-value{background:linear-gradient(90deg, var(--pokemon-color), var(--color-secondary));border-radius:inherit;height:100%;transition:width .3s}.pokemon-card__favorite-button_active{color:var(--color-secondary)}@media screen and (width<=600px){.pokemon-card{width:auto;margin:28px 16px;padding:22px}.pokemon-card__image{width:190px}.pokemon-card__name{font-size:30px}.pokemon-card__favorite-button{width:34px;height:34px;font-size:26px}.pokemon-card__info{font-size:15px}.pokemon-card__stat-header{font-size:13px}}.pokemon-card-list{max-width:1200px;margin:0 auto;padding:48px 24px}.pokemon-card-list__title{text-align:center;margin:0 0 32px;font-size:32px}.pokemon-card-list__items{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.pokemon-card-list__button{border-radius:var(--radius-large);background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;margin:32px auto 0;padding:14px 28px;font-weight:700;transition:background-color .2s,transform .2s;display:block}.pokemon-card-list__button:hover{background-color:var(--color-primary-dark);transform:translateY(-2px)}.pokemon-card-list__button:active{transform:translateY(0)}@media screen and (width<=900px){.pokemon-card-list__items{grid-template-columns:repeat(2,1fr)}}@media screen and (width<=600px){.pokemon-card-list{padding:32px 16px}.pokemon-card-list__items{grid-template-columns:1fr}}.preloader{flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px 0;display:flex}.preloader__circle{border:4px solid #d9d9d9;border-top-color:#333;border-radius:50%;width:44px;height:44px;animation:.8s linear infinite preloader-spin}.preloader__text{margin:0;font-size:16px}@keyframes preloader-spin{to{transform:rotate(360deg)}}@media screen and (width<=600px){.preloader{padding:24px 0}.preloader__circle{width:36px;height:36px}.preloader__text{font-size:14px}}.nothing-found{text-align:center;max-width:500px;margin:40px auto 0;padding:24px}.nothing-found__title{margin:0 0 12px;font-size:24px;line-height:1.3}.nothing-found__text{margin:0;font-size:16px;line-height:1.5}@media screen and (width<=600px){.nothing-found{margin-top:24px;padding:16px}.nothing-found__title{font-size:20px}.nothing-found__text{font-size:14px}}.register{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.register__form{background-color:#fff;border-radius:16px;flex-direction:column;gap:16px;width:100%;max-width:430px;padding:32px;display:flex;position:relative}.register__title{text-align:center;margin:0 0 12px}.register__label{flex-direction:column;gap:8px;font-weight:500;display:flex}.register__input{border:1px solid #ccc;border-radius:8px;padding:12px;font-family:inherit;font-size:16px}.register__button{background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px;font-family:inherit;font-size:16px;font-weight:600}.register__button:disabled{opacity:.5;cursor:not-allowed}.register__switch{color:var(--color-primary);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:14px}.register__error{color:#d32f2f;margin:0;font-size:14px}.register__close{cursor:pointer;background:0 0;border:none;font-size:32px;line-height:1;position:absolute;top:12px;right:16px}.register__close:hover{opacity:.6}.register__field-error{color:#d32f2f;font-size:13px;font-weight:400}.login{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.login__form{background-color:#fff;border-radius:16px;flex-direction:column;gap:16px;width:100%;max-width:430px;padding:32px;display:flex;position:relative}.login__title{text-align:center;margin:0 0 12px}.login__label{flex-direction:column;gap:8px;font-weight:500;display:flex}.login__input{border:1px solid #ccc;border-radius:8px;padding:12px;font-family:inherit;font-size:16px}.login__button{background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px;font-family:inherit;font-size:16px;font-weight:600}.login__button:disabled{opacity:.5;cursor:not-allowed}.login__switch{color:var(--color-primary);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:14px}.login__error{color:#d32f2f;margin:0;font-size:14px}.login__close{cursor:pointer;background:0 0;border:none;font-size:32px;line-height:1;position:absolute;top:12px;right:16px}.login__close:hover{opacity:.6}.login__field-error{color:#d32f2f;font-size:13px;font-weight:400}.favorites-page{padding:40px 20px}.favorites-page__title{text-align:center;margin:0 0 32px}.favorites-page__list{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1000px;margin:0 auto;display:grid}.favorites-page__card{text-align:center;background-color:#fff;border-radius:16px;padding:24px;position:relative}.favorites-page__image{object-fit:contain;width:150px;height:150px}.favorites-page__name,.favorites-page__type{text-transform:capitalize}.favorites-page__empty{text-align:center}.favorites-page__delete{cursor:pointer;background-color:#0000;border:none;border-radius:50%;width:32px;height:32px;font-size:24px;line-height:1;transition:background-color .2s,transform .2s;position:absolute;top:12px;right:12px}.favorites-page__delete:hover{background-color:#00000014;transform:scale(1.1)}@media screen and (width<=700px){.favorites-page__list{grid-template-columns:1fr}}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}
