:root{--background:#fffaf2;--ink:#243044;--muted:#596579;--math:#2869c7;--japanese:#b63f58;--english:#297c63;--card:#fff;--focus:#7a4be3;--content:70rem;--sky:#bfe7ff;--sky-deep-start:#5bc8ff;--sky-deep-end:#2e86de;--sunshine:#ffd54a;--coin:#f5a623;--coin-ink:#5a3600;--night:#1d2b50;--math-tint:#e7eefb;--japanese-tint:#fbe9ec;--english-tint:#e6f5ef;--sky-tint:#e5f3fd}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:hidden}body{background:var(--background);color:var(--ink);margin:0;font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,system-ui,-apple-system,sans-serif;line-height:1.7;overflow-x:hidden}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}img{max-width:100%;height:auto}a{color:inherit}h1,h2,h3,.siteLogo,.appStoreCta,.externalLinkButton{font-family:var(--font-rounded), "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", system-ui, -apple-system, sans-serif;font-weight:800}@keyframes gentleBob{0%{transform:translateY(-8px)}to{transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){*{animation:none!important}}.plainList{margin:0;padding:0;list-style:none}.skipLink{z-index:100;background:var(--card);color:var(--ink);border-radius:0 0 .5rem .5rem;padding:.75rem 1.25rem;font-weight:700;text-decoration:none;transition:top .15s ease-in-out;position:absolute;top:-3rem;left:.5rem;box-shadow:0 2px 8px #24304433}.skipLink:focus{top:0}.siteHeader{z-index:10;background:var(--card);border-bottom:1px solid #24304414;position:sticky;top:0}.siteHeader:after{content:"";background:linear-gradient(90deg, var(--sky-deep-start), var(--sunshine), var(--coin));height:3px;position:absolute;bottom:-3px;left:0;right:0}.siteHeaderInner{max-width:var(--content);flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin:0 auto;padding:.75rem 1rem;display:flex}.siteLogo{color:var(--ink);align-items:center;gap:.5rem;margin-right:auto;font-size:1.35rem;text-decoration:none;display:inline-flex}.siteLogoIcon{border-radius:.5rem;width:1.75rem;height:1.75rem;box-shadow:0 2px 6px #24304433}.siteNav{order:3;width:100%}.siteNav ul{flex-wrap:wrap;gap:.5rem 1.25rem;display:flex}.siteNav a{color:var(--muted);padding:.25rem 0;font-weight:600;text-decoration:none;display:inline-block}.siteNav a:hover{color:var(--ink)}.siteHeaderCta{order:2}@media (min-width:48rem){.siteHeaderInner{flex-wrap:nowrap}.siteNav{order:2;width:auto}.siteHeaderCta{order:3}}.appStoreCta{background:linear-gradient(160deg, var(--sunshine), var(--coin));color:var(--coin-ink);white-space:nowrap;border-radius:999px;padding:.85rem 1.75rem;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-block;position:relative;box-shadow:0 4px #c97f0f,0 10px 18px #1d2b5038}.appStoreCta:hover{transform:translateY(-2px);box-shadow:0 6px #c97f0f,0 14px 22px #1d2b5042}.appStoreCta:active{transform:translateY(0);box-shadow:0 2px #c97f0f,0 6px 10px #1d2b5033}.appStoreCtaComingSoon{color:#4a3d20;cursor:default;background:linear-gradient(160deg,#efe2c4,#d8c393);box-shadow:0 4px #b8a374,0 10px 18px #1d2b5024}.appStoreCtaComingSoon:hover,.appStoreCtaComingSoon:active{transform:none;box-shadow:0 4px #b8a374,0 10px 18px #1d2b5024}.siteHeaderCta .appStoreCta{padding:.55rem 1.25rem;font-size:.9rem;box-shadow:0 3px #c97f0f,0 6px 12px #1d2b502e}main{max-width:var(--content);min-height:40vh;margin:0 auto;padding:2rem 1rem 4rem}.siteFooter{background:var(--night);border-top:none}.siteFooterInner{max-width:var(--content);flex-direction:column;gap:1rem;margin:0 auto;padding:1.5rem 1rem;display:flex}.siteFooterNav ul{flex-wrap:wrap;gap:.5rem 1.5rem;display:flex}.siteFooterNav a{color:#ffffffd9;font-weight:600;text-decoration:none}.siteFooterNav a:hover{color:#fff}.siteFooterCopy{color:#ffffffb3;margin:0;font-size:.875rem}@media (min-width:48rem){.siteFooterInner{flex-direction:row;justify-content:space-between;align-items:center}}.subjectBadge{background:var(--subject-color,var(--muted));color:#fff;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .75rem;font-size:.875rem;font-weight:700;display:inline-flex}.hero{isolation:isolate;background:linear-gradient(180deg, #0f1e3a80 0%, #0f1e3a29 44%, #0f1e3a00 60%), linear-gradient(180deg, transparent 58%, #bfe7ffa6 82%, var(--background) 100%), url(/generated/backgrounds/addition_village_map_page_1.png) center 30% / cover no-repeat;background-color:var(--sky-deep-end);width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);position:relative;overflow:hidden}.heroSprites{z-index:1;pointer-events:none;position:absolute;inset:0}.heroSprite{filter:drop-shadow(0 8px 12px #0f1e3a4d);animation:3.6s ease-in-out infinite alternate gentleBob;position:absolute}.heroSprite1{width:5.5rem;animation-duration:3.4s;top:8%;left:4%}.heroSprite2{width:5rem;animation-duration:4s;animation-delay:.6s;top:12%;right:6%}.heroSprite3{width:5rem;animation-duration:3.8s;animation-delay:1.1s;bottom:16%;left:8%}.heroSprite4{width:4.5rem;animation-duration:4.2s;animation-delay:.3s;bottom:12%;right:10%}.heroContent{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:1rem;max-width:34rem;margin:0 auto;padding:3.5rem 1.25rem 4.5rem;display:flex;position:relative}.hero h1{color:#fff;text-shadow:0 2px #0f1e3ae6,0 8px 20px #0f1e3a66;margin:0;font-size:clamp(1.9rem,1.2rem + 3.2vw,3rem);line-height:1.35}.heroLead{color:#fff;text-shadow:0 1px 6px #0f1e3a8c;max-width:32rem;margin:0;font-size:1.0625rem}.heroIcon{background:#fff;border:4px solid #fff;border-radius:1.5rem;width:5.5rem;height:5.5rem;box-shadow:0 10px 24px #0f1e3a59}.heroCta{margin-top:.25rem}.heroWave{z-index:2;width:100%;height:4.5rem;position:absolute;bottom:-1px;left:0;right:0}.heroWave path{fill:var(--background)}@media (max-width:48rem){.heroSprite3,.heroSprite4{display:none}.heroSprite1{width:2.75rem;top:2%;left:2%}.heroSprite2{width:2.5rem;top:2%;right:2%}.heroContent{padding:3rem 1.25rem 4rem}}.pageIntro{flex-direction:column;gap:1rem;max-width:42rem;padding:1rem 0 2.5rem;display:flex}.pageIntro h1{margin:0;font-size:clamp(1.5rem,3vw + 1rem,2.25rem);line-height:1.3}.section{border-top:1px solid #24304414;padding:2.5rem 0}.sectionHeading{text-align:center;margin:0 0 1.5rem;font-size:clamp(1.375rem,1.15rem + 1vw,1.75rem)}.sectionHeading:after{content:"";background:radial-gradient(circle, var(--coin) 0 100%) no-repeat left center / .5rem .5rem, radial-gradient(circle, var(--sunshine) 0 100%) no-repeat right center / .5rem .5rem, linear-gradient(90deg, var(--sunshine), var(--coin)) no-repeat center / 4rem .3rem;width:6rem;height:.5rem;margin:.6rem auto 0;display:block}.sectionLead{color:var(--muted);text-align:center;max-width:40rem;margin:0 auto 1.5rem}.sectionMore{margin:1.5rem 0 0;font-weight:700}.subjectHeading{margin:0 0 1rem}.cardGrid{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.25rem;display:grid}.card{background:var(--card);border-radius:1.25rem;padding:1.5rem;transition:transform .18s,box-shadow .18s;box-shadow:0 2px 10px #24304414}.card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #24304424}.card h2,.card h3{margin:0 0 .5rem;font-size:1.125rem}.card p{color:var(--muted);margin:0}#features .cardGrid .card{border-top:5px solid var(--focus)}#features .cardGrid .card:nth-child(3n+1){border-top-color:var(--math)}#features .cardGrid .card:nth-child(3n+2){border-top-color:var(--japanese)}#features .cardGrid .card:nth-child(3n+3){border-top-color:var(--english)}.cardMascot{object-fit:contain;width:3.5rem;height:3.5rem;margin:0 0 .75rem}.subjectCard{flex-direction:column;gap:.5rem;display:flex}.subjectCard .subjectHeading{margin:0}.subjectCard:first-child{background:var(--math-tint)}.subjectCard:nth-child(2){background:var(--japanese-tint)}.subjectCard:nth-child(3){background:var(--english-tint)}.assuranceSection .cardGrid .card{padding-top:3.25rem;position:relative}.assuranceSection .cardGrid .card:nth-child(odd){background:var(--english-tint)}.assuranceSection .cardGrid .card:nth-child(2n){background:var(--sky-tint)}.assuranceSection .cardGrid .card:before{content:"✓";text-align:center;background:var(--english);color:#fff;border-radius:50%;width:1.75rem;height:1.75rem;font-size:.95rem;font-weight:800;line-height:1.75rem;position:absolute;top:1.25rem;left:1.5rem;box-shadow:0 3px 8px #297c6359}.pricingSection ul{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin:1.25rem 0;padding:0;list-style:none;display:grid}.pricingSection li{background:var(--card);border:2px solid #f5a62333;border-radius:1.25rem;padding:1.25rem 1.5rem;box-shadow:0 2px 10px #24304414}.pricingSection li strong{color:var(--coin-ink);margin-bottom:.35rem;font-size:1.05rem;display:block}.screenshotRow{flex-wrap:nowrap;justify-content:center;align-items:flex-end;gap:0;margin:0;padding:1.5rem 2.5rem 2.5rem;display:flex}.screenshotCard{text-align:center;width:clamp(9rem,20vw,12rem);transform:rotate(var(--tilt,0deg)) translateY(var(--lift,0));flex:none;margin:0 -1.1rem;transition:transform .2s}.screenshotCard:first-child{--tilt:-6deg;--lift:10px;z-index:1}.screenshotCard:nth-child(2){--tilt:-2deg;--lift:0px;z-index:2}.screenshotCard:nth-child(3){--tilt:2deg;--lift:0px;z-index:2}.screenshotCard:nth-child(4){--tilt:6deg;--lift:10px;z-index:1}.screenshotCard:hover{transform:rotate(var(--tilt,0deg)) translateY(calc(var(--lift,0px) - 10px)) scale(1.05);z-index:5}.screenshotCard img{border:6px solid #fff;border-radius:1.25rem;width:100%;height:auto;display:block;box-shadow:0 14px 30px #1d2b503d}.screenshotCard figcaption{color:var(--muted);margin-top:.75rem;font-size:.9rem;font-weight:700}@media (max-width:47.99rem){.screenshotRow{scroll-snap-type:x mandatory;justify-content:flex-start;padding-inline:1.25rem;overflow-x:auto}.screenshotCard{--tilt:0deg;--lift:0px;scroll-snap-align:center;width:65vw;max-width:15rem;margin:0 .6rem}.screenshotCard:hover{transform:none}}.pricingNote{color:var(--muted)}.paradeList{grid-template-columns:repeat(6,1fr);place-items:end center;gap:1.5rem 1rem;max-width:46rem;margin:.5rem auto 0;padding:0;display:grid}@media (max-width:37.5rem){.paradeList{grid-template-columns:repeat(3,1fr)}}.paradeItem{justify-content:center;align-items:center;width:4.5rem;height:4.5rem;animation:3.4s ease-in-out infinite alternate gentleBob;display:flex}.paradeItem img{object-fit:contain;filter:drop-shadow(0 6px 10px #1d2b502e);width:100%;height:100%}.paradeItem:nth-child(2n){animation-delay:.3s}.paradeItem:nth-child(3n){animation-duration:3.9s;animation-delay:.6s}.paradeItem:nth-child(4n){animation-delay:.9s}.paradeItem:first-child,.paradeItem:last-child{width:5.5rem;height:5.5rem}.paradeItem:first-child img,.paradeItem:last-child img{filter:drop-shadow(0 0 10px #f5a6238c)drop-shadow(0 6px 10px #1d2b5040)}.faqList{flex-direction:column;gap:1.25rem;display:flex}.faqItem{background:var(--card);border-radius:1rem;padding:1.25rem 1.5rem;box-shadow:0 2px 10px #24304414}.faqItem h3{margin:0 0 .35rem;font-size:1.0625rem}.faqItem p{color:var(--muted);margin:0}.ctaBand{isolation:isolate;text-align:center;background:linear-gradient(135deg, var(--sky-deep-start), var(--sky-deep-end));color:#fff;border-radius:1.5rem;flex-direction:column;align-items:center;gap:1.25rem;margin:1rem 0 0;padding:3.5rem 1.5rem 3rem;display:flex;position:relative;overflow:hidden}.ctaBand h2{text-shadow:0 2px 8px #0f1e3a59;max-width:32rem;margin:0;font-size:1.375rem}.ctaBandSprites{z-index:0;pointer-events:none;position:absolute;inset:0}.ctaBandSprite{filter:drop-shadow(0 8px 12px #0f1e3a4d);width:4.5rem;animation:3.6s ease-in-out infinite alternate gentleBob;position:absolute;top:-2.5rem}.ctaBandSprite1{left:8%}.ctaBandSprite2{width:5rem;animation-delay:.5s;top:-3rem;left:46%}.ctaBandSprite3{animation-delay:1s;right:8%}.ctaBand>:not(.ctaBandSprites){z-index:1;position:relative}@media (max-width:37.5rem){.ctaBandSprite{width:3.25rem;top:-1.5rem}.ctaBandSprite2{width:3.5rem;top:-1.75rem}}.pageMeta{color:var(--muted);margin:0;font-size:.875rem}.legalSection h2{font-size:1.25rem}.legalSection h3{margin:1.5rem 0 .5rem;font-size:1rem}.legalSection ul{padding-left:1.25rem}.legalSection li{margin:.5rem 0}.newsList{flex-direction:column;gap:1rem;padding:0 0 2.5rem;display:flex}.newsList .card:hover{transform:none;box-shadow:0 2px 10px #24304414}.newsDate{color:var(--muted);margin:0 0 .35rem;font-size:.85rem}.newsEmpty{color:var(--muted);padding:0 0 2.5rem}.faqDetailsList{flex-direction:column;gap:.75rem;padding:1rem 0 2.5rem;display:flex}.faqDetails{background:var(--card);border-radius:1rem;padding:1rem 1.5rem;box-shadow:0 2px 10px #24304414}.faqDetails summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;font-weight:700;list-style:none;display:flex}.faqDetails summary::-webkit-details-marker{display:none}.faqDetails summary:after{content:"+";text-align:center;background:var(--sunshine);width:1.75rem;height:1.75rem;color:var(--coin-ink);border-radius:50%;flex:none;font-weight:800;line-height:1.75rem;transition:transform .2s}.faqDetails[open] summary:after{transform:rotate(45deg)}.faqDetails p{color:var(--muted);margin:.75rem 0 0}.externalLinkButton{background:var(--ink);color:#fff;border-radius:999px;padding:.6rem 1.25rem;font-weight:700;text-decoration:none;display:inline-block}.externalLinkButton:hover{background:var(--focus)}.guideSubjectGroup{margin:0 0 2rem}.guideSubjectGroup:last-child{margin-bottom:0}.dungeonCardGrid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.25rem;margin:1rem 0 0;display:grid}.dungeonCard{background:var(--card);border-radius:1.25rem;transition:transform .18s,box-shadow .18s;overflow:hidden;box-shadow:0 2px 10px #24304414}.dungeonCard:hover{transform:translateY(-4px);box-shadow:0 12px 26px #24304429}.dungeonCardLink{height:100%;color:inherit;flex-direction:column;text-decoration:none;display:flex}.dungeonCardImage{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;display:block}.dungeonCardBody{flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.dungeonCardName{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;font-size:1.0625rem;display:flex}.eventTag{background:var(--focus);color:#fff;border-radius:999px;align-items:center;padding:.15rem .6rem;font-size:.75rem;font-weight:700;display:inline-flex}.dungeonCardMeta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;font-weight:700;display:flex}.dungeonCardDescription{color:var(--muted);margin:0}.dungeonCardStats{color:var(--muted);margin:0;font-size:.875rem}.dungeonHero{gap:.75rem}.dungeonHeroFrame{border-radius:1.5rem;position:relative;overflow:hidden;box-shadow:0 10px 26px #2430442e}.dungeonHeroFrame:after{content:"";background:linear-gradient(#1d2b5000 55%,#1d2b508c 100%);position:absolute;inset:0}.dungeonHeroImage{width:100%;height:auto;box-shadow:none;border-radius:0;display:block}.dungeonHeroMeta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;font-weight:700;display:flex}.breadcrumbs{padding:1rem 0 0}.breadcrumbsList{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.875rem;display:flex}.breadcrumbsList li:not(:last-child):after{content:"›";color:var(--muted);margin-left:.4rem}.breadcrumbsList a{color:var(--muted);text-decoration:underline}.breadcrumbsList a:hover{color:var(--ink)}.breadcrumbsList li[aria-current=page]{color:var(--ink);font-weight:700}.tableScroll{overflow-x:auto}.stageTable{border-collapse:collapse;width:100%;min-width:32rem}.stageTable th,.stageTable td{text-align:left;border-bottom:1px solid #24304414;padding:.6rem .75rem}.stageTable th{color:var(--muted);font-size:.875rem}.questionSampleList{flex-direction:column;gap:1rem;margin:1rem 0 0;display:flex}.questionSample{background:var(--card);border-radius:.75rem;padding:1rem 1.25rem;box-shadow:0 2px 10px #24304414}.questionSampleText{margin:0 0 .4rem;font-weight:700}.questionSampleChoices,.questionSampleAnswer{color:var(--muted);margin:.25rem 0 0}.monsterGrid{grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:1.25rem;margin:1rem 0 0;display:grid}.monsterCard{background:var(--card);text-align:center;border-radius:.75rem;padding:1rem;box-shadow:0 2px 10px #24304414}.monsterCardImage{width:100%;max-width:7rem;height:auto;margin:0 auto .5rem;display:block}.monsterCardName{margin:0;font-weight:700}.monsterCardMeta{color:var(--muted);margin:.25rem 0 0;font-size:.8125rem}.bossImage{width:100%;max-width:10rem;height:auto;margin:0 0 1rem;display:block}.relatedDungeonList{flex-wrap:wrap;gap:.75rem 1.5rem;margin:1rem 0 0;display:flex}.relatedDungeonList a{font-weight:700;text-decoration:underline}.notFound{flex-direction:column;gap:1rem;max-width:40rem;display:flex}.notFoundMascot{filter:drop-shadow(0 8px 14px #24304433);width:6rem;height:6rem}.notFound h1{font-size:1.5rem}.notFound ul{flex-direction:column;gap:.5rem;display:flex}.notFound a{font-weight:700;text-decoration:underline}
