@charset "UTF-8";.notice-banner{padding:1rem 1rem;margin-bottom:1rem;border-radius:0.375rem}.notice-banner--warning{background:linear-gradient(135deg,#fff3cd 0%,#ffeaa7 100%);border-left:4px solid #ffc107}.notice-banner--info{background:linear-gradient(135deg,#d1ecf1 0%,#bee5eb 100%);border-left:4px solid #17a2b8}.notice-banner__inner{max-width:1024px;margin:0 auto;display:flex;align-items:center;gap:0.75rem}@media (max-width:639px){.notice-banner__inner{flex-direction:column;text-align:center}}.notice-banner__icon{font-size:1.25rem;flex-shrink:0}.notice-banner__content{flex:1}.notice-banner__title{font-size:1.125rem;font-weight:600;color:#856404;margin:0 0 0.25rem 0}.notice-banner__text{font-size:1rem;color:#856404;margin:0;line-height:1.625}.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:2px solid transparent;border-radius:0.5rem;cursor:pointer;transition:all 150ms ease-in-out;min-height:44px}@media (max-width:400px){.btn{white-space:normal;font-size:0.875rem;padding:0.75rem 1rem}}.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.5;cursor:not-allowed;pointer-events:none}.btn--primary{background-color:#2563eb;color:#ffffff;border-color:#2563eb;box-shadow:0 2px 4px rgba(37,99,235,0.2)}.btn--primary:hover{background-color:#1d4ed8;border-color:#1d4ed8;transform:translateY(-2px);box-shadow:0 4px 12px rgba(37,99,235,0.3);text-decoration:none}.btn--primary:active{transform:translateY(0);box-shadow:0 2px 4px rgba(37,99,235,0.2)}.btn--outline{background-color:transparent;color:#2563eb;border-color:#2563eb}.btn--outline:hover{background-color:#eff6ff;color:#1d4ed8;border-color:#1d4ed8;text-decoration:none}.btn--ghost{background-color:transparent;color:#4b5563;border-color:transparent}.btn--ghost:hover{background-color:#f8fafc;color:#1f2937;text-decoration:none}.btn--small{padding:0.5rem 1rem;font-size:0.875rem;min-height:36px}.btn--large{padding:1rem 2rem;font-size:1.125rem;min-height:52px;font-weight:600}.btn--full{width:100%}.btn__badge{display:inline-block;padding:0.25rem 0.5rem;font-size:0.75rem;font-weight:400;background-color:rgba(255,255,255,0.2);border-radius:0.125rem;margin-left:0.5rem}.link{color:#2563eb;text-decoration:none;transition:color 150ms ease-in-out}.link:hover{color:#1d4ed8;text-decoration:underline}.link--small{font-size:0.875rem;color:#4b5563}.link--small:hover{color:#2563eb}.hero{padding:4rem 0;background:linear-gradient(135deg,#eff6ff 0%,#fff 50%,#f8fafc 100%)}@media (max-width:767px){.hero{padding:3rem 0 2rem}}.hero__container{max-width:1280px;margin:0 auto;padding:0 1rem}@media (min-width:1024px){.hero__container{padding:0 1.5rem}}.hero__content{text-align:center;max-width:900px;margin:0 auto}.hero__title{margin-bottom:2rem}.hero__logo{display:block;font-size:3rem;font-weight:700;color:#2563eb;line-height:1;margin-bottom:0.75rem}@media (min-width:1024px){.hero__logo{font-size:3.75rem}}.hero__subtitle{display:block;font-size:1.125rem;font-weight:400;color:#4b5563;line-height:1.625}@media (min-width:1024px){.hero__subtitle{font-size:1.25rem}}.hero__lead{font-size:1.5rem;font-weight:600;color:#1f2937;margin-bottom:2rem}@media (min-width:1024px){.hero__lead{font-size:1.875rem}}.hero__paths{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}@media (min-width:768px){.hero__paths{grid-template-columns:repeat(2,1fr);gap:2rem}}.hero__links{display:flex;justify-content:center;align-items:center;gap:0.75rem;font-size:0.875rem;color:#6b7280}.hero__separator{color:#6b7280}.path-card{background:#fff;border:2px solid #e2e8f0;border-radius:0.75rem;padding:2rem;text-align:center;transition:all 200ms ease-in-out;box-shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06)}.path-card:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05)}.path-card--creator{border-color:#bfdbfe;background:linear-gradient(135deg,#fff 0%,#eff6ff 100%)}.path-card--creator:hover{border-color:#60a5fa}.path-card--user{border-color:#e2e8f0;background:linear-gradient(135deg,#fff 0%,#f8fafc 100%)}.path-card--user:hover{border-color:#94a3b8}.path-card__icon{font-size:4rem;margin-bottom:1rem;display:block}.path-card__title{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:0.75rem}@media (min-width:1024px){.path-card__title{font-size:1.875rem}}.path-card__description{font-size:1rem;color:#4b5563;line-height:1.625;margin-bottom:1.5rem}.path-card .btn{margin-bottom:0.75rem}.timeline-section{padding:4rem 0;background-color:#f8fafc}@media (max-width:767px){.timeline-section{padding:3rem 0}}.timeline-section__container{max-width:1024px;margin:0 auto;padding:0 1rem}@media (min-width:1024px){.timeline-section__container{padding:0 1.5rem}}.timeline-section__title{font-size:1.875rem;font-weight:700;color:#1f2937;text-align:center;margin-bottom:1rem}@media (min-width:1024px){.timeline-section__title{font-size:2.25rem}}.timeline-section__subtitle{font-size:1rem;color:#4b5563;text-align:center;line-height:1.625;margin-bottom:3rem;max-width:700px;margin-left:auto;margin-right:auto}.timeline-section__subtitle strong{color:#2563eb;font-weight:600}.timeline-section__cta{display:flex;justify-content:center;margin-top:2rem}.timeline{display:flex;flex-direction:column;gap:0;position:relative;padding:1rem 0;margin-bottom:3rem}@media (min-width:768px){.timeline{padding:1.5rem 0}}.timeline__item{display:flex;align-items:flex-start;gap:1rem;position:relative;padding:1rem 0}@media (min-width:768px){.timeline__item{gap:1.5rem}}.timeline__item--start .timeline__marker,.timeline__item--end .timeline__marker{background-color:#1f2937;color:#fff;font-size:1.25rem}.timeline__item--end .timeline__marker{background-color:#22c55e}.timeline__marker{flex-shrink:0;width:48px;height:48px;border-radius:50%;background-color:#ffffff;border:3px solid #e2e8f0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.125rem;color:#4b5563;box-shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06);position:relative;z-index:2}@media (min-width:768px){.timeline__marker{width:56px;height:56px;font-size:1.25rem}}.timeline__marker--primary{background-color:#dbeafe;border-color:#3b82f6;color:#1d4ed8}.timeline__marker--success{background-color:#dcfce7;border-color:#22c55e;color:#15803d}.timeline__content{flex:1;padding-top:0.5rem}.timeline__title{font-size:1.125rem;font-weight:600;color:#1f2937;margin-bottom:0.5rem}@media (min-width:768px){.timeline__title{font-size:1.25rem}}.timeline__description{font-size:1rem;color:#4b5563;line-height:1.625}.timeline__description small{display:block;font-size:0.875rem;color:#6b7280;margin-top:0.25rem}.timeline__warning{color:#d97706;font-weight:500}.timeline__connector{display:flex;align-items:center;padding-left:24px;margin:0;position:relative}@media (min-width:768px){.timeline__connector{padding-left:28px}}.timeline__connector::before{content:'';position:absolute;left:24px;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#93c5fd,#bfdbfe);border-radius:9999px}@media (min-width:768px){.timeline__connector::before{left:28px}}.timeline__duration{background-color:#ffffff;border:2px solid #cbd5e1;border-radius:0.5rem;padding:0.75rem 1rem;font-size:0.875rem;color:#4b5563;font-weight:500;margin-left:2rem;position:relative;z-index:1;box-shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06)}.timeline__duration--warning{background-color:#fff3cd;border-color:#ffc107;color:#856404;font-weight:600}.alert{background-color:#ffffff;border:2px solid #e2e8f0;border-radius:0.5rem;padding:1.5rem;display:flex;gap:1rem;box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06)}.alert--important{border-color:#fbbf24;background:linear-gradient(135deg,#fff 0%,#fffbf0 100%)}.alert__icon{flex-shrink:0;font-size:1.875rem}.alert__content{flex:1}.alert__title{font-size:1.25rem;font-weight:600;color:#1f2937;margin-bottom:0.75rem}.alert__list{list-style:none;padding:0;margin:0 0 0.75rem 0}.alert__list li{padding:0.5rem 0;border-bottom:1px solid #cbd5e1}.alert__list li:last-child{border-bottom:none}.alert__list li strong{font-weight:600}.alert__note{font-size:0.875rem;color:#6b7280;margin:0;font-style:italic}.text-success{color:#16a34a}.text-danger{color:#dc2626}.characters-section{padding:4rem 0}@media (max-width:767px){.characters-section{padding:3rem 0}}.characters-section__container{max-width:1280px;margin:0 auto;padding:0 1rem}@media (min-width:1024px){.characters-section__container{padding:0 1.5rem}}.characters-section__title{font-size:1.875rem;font-weight:700;color:#1f2937;text-align:center;margin-bottom:3rem}@media (min-width:1024px){.characters-section__title{font-size:2.25rem}}.characters-section__more{display:flex;justify-content:center;margin-top:3rem}.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)}}@media (min-width:1280px){.characters-grid{grid-template-columns:repeat(4,1fr)}}.character-card{background-color:#ffffff;border:2px solid #e2e8f0;border-radius:0.75rem;overflow:hidden;transition:all 200ms ease-in-out;box-shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06)}.character-card:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);border-color:#93c5fd}.character-card__link{text-decoration:none;color:inherit;display:block}.character-card__image{position:relative;width:100%;height:220px;overflow:hidden;background-color:#f1f5f9;display:flex;align-items:center;justify-content:center}@media (min-width:768px){.character-card__image{height:240px}}.character-card__img{width:100%;height:100%;object-fit:cover;transition:transform 200ms ease-in-out}.character-card:hover .character-card__img{transform:scale(1.05)}.character-card__placeholder{font-size:5rem;color:#6b7280}.character-card__body{padding:1.25rem}.character-card__name{font-size:1.125rem;font-weight:700;color:#1f2937;margin-bottom:0.5rem;line-height:1.25}@media (min-width:768px){.character-card__name{font-size:1.25rem}}.character-card__description{font-size:0.875rem;color:#4b5563;line-height:1.625;margin-bottom:1rem;min-height:3em}.character-card__tags{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:1rem}.character-card__footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid #cbd5e1}.character-card__stat{display:flex;align-items:center;gap:0.25rem;font-size:0.875rem;color:#6b7280}.character-card__stat-icon{font-size:1rem}.character-card__stat-value{font-weight:500}.character-card__price{font-size:1rem;font-weight:600;color:#2563eb}.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;border:1px solid #bfdbfe}.tag--small{padding:4px 0.5rem;font-size:11px}.user-dashboard{padding:4rem 0;background-color:#f8fafc}@media (max-width:767px){.user-dashboard{padding:3rem 0}}.user-dashboard__container{max-width:1280px;margin:0 auto;padding:0 1rem}@media (min-width:1024px){.user-dashboard__container{padding:0 1.5rem}}.user-dashboard__title{font-size:1.875rem;font-weight:700;color:#1f2937;text-align:center;margin-bottom:3rem}@media (min-width:1024px){.user-dashboard__title{font-size:2.25rem}}.dashboard-section{margin-bottom:3rem}.dashboard-section__title{font-size:1.5rem;font-weight:600;color:#1f2937;margin-bottom:1.5rem}.favorite-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.favorite-card{background-color:#ffffff;border:2px solid #fca5a5;border-radius:0.5rem;overflow:hidden;transition:all 200ms ease-in-out;box-shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06)}.favorite-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:#ef4444}.favorite-card__link{text-decoration:none;color:inherit;display:block}.favorite-card__image{position:relative;width:100%;height:150px;overflow:hidden;background-color:#f1f5f9;display:flex;align-items:center;justify-content:center}.favorite-card__img{width:100%;height:100%;object-fit:cover}.favorite-card__placeholder{font-size:3rem;color:#6b7280}.favorite-card__body{padding:1rem}.favorite-card__name{font-size:1rem;font-weight:600;color:#1f2937;margin-bottom:0.75rem;text-align:center}.features-section{padding:4rem 0;background-color:#ffffff}@media (max-width:767px){.features-section{padding:3rem 0}}.features-section__container{max-width:1280px;margin:0 auto;padding:0 1rem}@media (min-width:1024px){.features-section__container{padding:0 1.5rem}}.features-section__title{font-size:1.875rem;font-weight:700;color:#1f2937;text-align:center;margin-bottom:3rem}@media (min-width:1024px){.features-section__title{font-size:2.25rem}}.features-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width:640px){.features-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.features-grid{grid-template-columns:repeat(3,1fr)}}.feature-card{background-color:#ffffff;border:2px solid #e2e8f0;border-radius:0.5rem;padding:1.5rem;text-align:center;transition:all 200ms ease-in-out}.feature-card:hover{border-color:#93c5fd;box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06)}.feature-card__icon{font-size:3.5rem;margin-bottom:1rem;display:block}.feature-card__title{font-size:1.125rem;font-weight:600;color:#1f2937;margin-bottom:0.75rem}.feature-card__description{font-size:0.875rem;color:#4b5563;line-height:1.625}.faq-section{padding:4rem 0;background-color:#f8fafc}@media (max-width:767px){.faq-section{padding:3rem 0}}.faq-section__container{max-width:1024px;margin:0 auto;padding:0 1rem}@media (min-width:1024px){.faq-section__container{padding:0 1.5rem}}.faq-section__title{font-size:1.875rem;font-weight:700;color:#1f2937;text-align:center;margin-bottom:3rem}@media (min-width:1024px){.faq-section__title{font-size:2.25rem}}.faq-section__more{display:flex;justify-content:center;margin-top:3rem}.faq-list{display:flex;flex-direction:column;gap:1.5rem}.faq-item{background-color:#ffffff;border:2px solid #e2e8f0;border-radius:0.5rem;padding:1.5rem;transition:all 200ms ease-in-out}.faq-item:hover{border-color:#93c5fd;box-shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06)}.faq-item__question{font-size:1.125rem;font-weight:600;color:#1f2937;margin-bottom:0.75rem;line-height:1.25}.faq-item__question::before{content:'Q. ';color:#2563eb;font-weight:700}.faq-item__answer{font-size:1rem;color:#4b5563;line-height:1.625;margin:0;padding-left:1.5rem}.faq-item__answer strong{color:#1f2937;font-weight:600}.faq-item__answer br{margin-bottom:0.5rem}.site-footer{padding:3rem 0 2rem;background-color:#ffffff;border-top:1px solid #cbd5e1}.site-footer__container{max-width:1280px;margin:0 auto;padding:0 1rem;text-align:center}@media (min-width:1024px){.site-footer__container{padding:0 1.5rem}}.site-footer__links{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:1.5rem}@media (min-width:640px){.site-footer__links{gap:1.5rem}}.site-footer__link{color:#4b5563;text-decoration:none;font-size:0.875rem;transition:color 150ms ease-in-out}.site-footer__link:hover{color:#2563eb;text-decoration:underline}@media (min-width:640px){.site-footer__link{font-size:1rem}}.site-footer__copyright{font-size:0.875rem;color:#6b7280;margin:0}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}.character-card:hover,.path-card:hover,.btn:hover{transform:none!important}}@media (prefers-contrast:high){.btn{border-width:3px}.character-card,.path-card,.alert,.faq-item{border-width:3px}.tag{border-width:2px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-0{margin-bottom:0}.mb-2{margin-bottom:0.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-0{margin-top:0}.mt-2{margin-top:0.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}