@charset "UTF-8";.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.75rem 1.5rem;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:500;line-height:1;text-align:center;text-decoration:none;white-space:nowrap;border:1px solid transparent;border-radius:0.5rem;cursor:pointer;transition:all 150ms ease-in-out;min-height:2.5rem}.btn:focus{outline:2px solid #2563eb;outline-offset:2px}.btn:focus:not(:focus-visible){outline:none}.btn:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.btn:disabled{opacity:0.6;cursor:not-allowed;pointer-events:none}.btn--primary{background-color:#2563eb;color:#ffffff;border-color:#2563eb}.btn--primary:hover{background-color:#1d4ed8;border-color:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);text-decoration:none}.btn--primary:active{transform:translateY(0);box-shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06)}.btn--secondary{background-color:#ffffff;color:#2563eb;border-color:#2563eb}.btn--secondary:hover{background-color:#eff6ff;text-decoration:none}.btn--outline{background-color:transparent;color:#4b5563;border-color:#cbd5e1}.btn--outline:hover{background-color:#f8fafc;border-color:#60a5fa;color:#2563eb;text-decoration:none}.btn--small{padding:0.5rem 1rem;font-size:0.875rem;min-height:2rem}.btn--large{padding:1rem 2rem;font-size:1.125rem;min-height:3rem}.btn--full{width:100%}.hero{padding:4rem 0 3rem;background:linear-gradient(135deg,#eff6ff 0%,#ffffff 100%)}@media (max-width:767px){.hero{padding:3rem 0 2rem}}.hero__container{max-width:1280px;margin:0 auto;padding:0 1rem;display:grid;grid-template-columns:1fr;gap:3rem;align-items:center}@media (min-width:1024px){.hero__container{grid-template-columns:2fr 1fr;padding:0 1.5rem}}.hero__content{text-align:center}@media (min-width:1024px){.hero__content{text-align:left}}.hero__title{font-size:2.25rem;font-weight:700;color:#1f2937;line-height:1.25;margin-bottom:1.5rem}@media (min-width:1024px){.hero__title{font-size:3rem}}@media (min-width:1280px){.hero__title{font-size:3.75rem}}.hero__title-accent{color:#2563eb;position:relative}.hero__title-accent::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#60a5fa,#f87171);border-radius:9999px;transform:scaleX(0);animation:underline 2s ease-out 0.5s forwards}.hero__description{font-size:1.125rem;color:#4b5563;line-height:1.625;margin-bottom:2rem;max-width:600px}@media (min-width:1024px){.hero__description{margin-bottom:2.5rem}}@media (max-width:1023px){.hero__description{margin:0 auto 2rem}}.hero__cta{display:flex;flex-direction:column;gap:1rem;align-items:center}@media (min-width:640px){.hero__cta{flex-direction:row;justify-content:center}}@media (min-width:1024px){.hero__cta{justify-content:flex-start}}.hero__visual{display:flex;align-items:center;justify-content:center;padding:2rem}@media (max-width:767px){.hero__visual{display:none}}.hero__illustration{font-size:6rem;opacity:0;animation:fadeInUp 1s ease-out 1s forwards}@media (min-width:1024px){.hero__illustration{font-size:8rem}}.service-overview{padding:4rem 0;background-color:#f8fafc}@media (max-width:767px){.service-overview{padding:3rem 0}}.service-overview__container{max-width:1024px;margin:0 auto;padding:0 1rem;text-align:center}@media (min-width:1024px){.service-overview__container{padding:0 1.5rem}}.service-overview__title{font-size:1.875rem;font-weight:700;color:#1f2937;margin-bottom:1.5rem}@media (min-width:1024px){.service-overview__title{font-size:2.25rem}}.service-overview__description{font-size:1.125rem;color:#4b5563;line-height:1.625;margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}.service-overview__cta{display:flex;justify-content:center}.characters{padding:4rem 0}@media (max-width:767px){.characters{padding:3rem 0}}.characters__container{max-width:1280px;margin:0 auto;padding:0 1rem}@media (min-width:1024px){.characters__container{padding:0 1.5rem}}.characters__title{font-size:1.875rem;font-weight:700;color:#1f2937;text-align:center;margin-bottom:3rem}@media (min-width:1024px){.characters__title{font-size:2.25rem}}.characters__grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width:640px){.characters__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.characters__grid{grid-template-columns:repeat(3,1fr)}}.character-card{background-color:#ffffff;border:1px solid #e2e8f0;border-radius:0.75rem;overflow:hidden;transition:all 200ms ease-in-out}.character-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);border-color:#bfdbfe}.character-card--mine{border-color:#86efac;background:linear-gradient(135deg,#f0fdf4 0%,#ffffff 100%)}.character-card--favorite{border-color:#fca5a5}.character-card__image{position:relative;width:100%;height:200px;overflow:hidden;background-color:#f1f5f9;display:flex;align-items:center;justify-content:center}.character-card__img{width:100%;height:100%;object-fit:cover}.character-card__placeholder{font-size:4rem;color:#6b7280}.character-card__content{padding:1.5rem}.character-card__name{font-size:1.25rem;font-weight:700;color:#1f2937;margin-bottom:0.75rem}.character-card__description{font-size:1rem;color:#4b5563;line-height:1.625;margin-bottom:1rem}.character-card__meta{display:flex;flex-direction:column;gap:0.75rem;margin-bottom:1.5rem}.character-card__tags{display:flex;flex-wrap:wrap;gap:0.5rem}.character-card__stats{display:flex;align-items:center;gap:1rem}.character-card__favorites{font-size:0.875rem;color:#6b7280}.tag{display:inline-flex;align-items:center;padding:0.25rem 0.75rem;font-size:0.75rem;font-weight:500;color:#1d4ed8;background-color:#dbeafe;border-radius:9999px;white-space:nowrap}.user-section{padding:4rem 0;background-color:#f8fafc}@media (max-width:767px){.user-section{padding:3rem 0}}.user-section__container{max-width:1280px;margin:0 auto;padding:0 1rem}@media (min-width:1024px){.user-section__container{padding:0 1.5rem}}.user-section__title{font-size:1.875rem;font-weight:700;color:#1f2937;text-align:center;margin-bottom:3rem}@media (min-width:1024px){.user-section__title{font-size:2.25rem}}.user-character{margin-bottom:3rem}.user-character__title{font-size:1.5rem;font-weight:600;color:#1f2937;margin-bottom:1.5rem}.favorite-characters__title{font-size:1.5rem;font-weight:600;color:#1f2937;margin-bottom:1.5rem}.favorite-characters__list{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width:640px){.favorite-characters__list{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.favorite-characters__list{grid-template-columns:repeat(3,1fr)}}.features{padding:4rem 0}@media (max-width:767px){.features{padding:3rem 0}}.features__container{max-width:1280px;margin:0 auto;padding:0 1rem}@media (min-width:1024px){.features__container{padding:0 1.5rem}}.features__title{font-size:1.875rem;font-weight:700;color:#1f2937;text-align:center;margin-bottom:3rem}@media (min-width:1024px){.features__title{font-size:2.25rem}}.features__grid{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width:768px){.features__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.features__grid{grid-template-columns:repeat(4,1fr)}}.feature{text-align:center;padding:1.5rem}.feature__icon{font-size:3rem;margin-bottom:1rem;display:block}.feature__title{font-size:1.25rem;font-weight:600;color:#1f2937;margin-bottom:1rem}.feature__description{font-size:1rem;color:#4b5563;line-height:1.625}@keyframes underline{to{transform:scaleX(1)}}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}.hero__title-accent::after{animation:none;transform:scaleX(1)}.hero__illustration{animation:none;opacity:1}.pricing__card:hover,.character-card:hover{transform:none}}@media (prefers-contrast:high){.btn--primary{border-width:2px}.character-card,.pricing__card{border-width:2px}.tag{border:1px solid #2563eb}}