:root{--deep:#050f18;--navy:#091c28;--cyan:#94f7e4;--white:#eff9f7;--muted:#a6bcc4;--line:#c1e8ea26;--accent:#fa873c}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--deep);color:var(--white);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}button,a,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}[hidden]{display:none!important}.skip{position:absolute;top:-80px;z-index:100;background:white;color:var(--deep);padding:12px}.skip:focus{top:0}
.header{position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:28px 5vw;z-index:5;border-bottom:1px solid var(--line)}.logo{display:flex;flex-direction:column;line-height:1.2}.logo span{font-family:Arial,sans-serif;font-weight:900;font-size:1.65rem;letter-spacing:-.04em}.logo small{margin-top:8px;font-size:.75rem;letter-spacing:.35em}nav{display:flex;align-items:center;gap:32px;font-weight:700;font-size:.85rem}nav a:not(.nav-cta){transition:color .2s}nav a:hover{color:var(--cyan)}.nav-cta{border:1px solid #bfeae870;padding:10px 24px;background:#05152266}.menu{display:none}
.hero{position:relative;isolation:isolate;min-height:800px;height:100svh;max-height:1150px;padding:180px 8vw 190px;display:flex;align-items:center;overflow:hidden}.hero-art{position:absolute;inset:0;z-index:-3;background:url('/assets/hero.webp') 60% center/cover;animation:hero-enter 2s ease both}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#030f1dde 0%,#030f1d75 46%,#030f1d0d 75%),linear-gradient(0deg,var(--deep),transparent 30%)}.hero-frame{position:absolute;inset:140px 3vw 95px;border:1px solid #bff8f423;pointer-events:none;display:flex;justify-content:space-between;align-items:flex-start;padding:16px 20px;font-family:Arial,sans-serif;font-size:.7rem;letter-spacing:.16em;color:#c3e9ea9e}.hero-frame:after{content:"";position:absolute;right:-1px;top:-1px;width:36px;height:36px;border-top:2px solid var(--cyan);border-right:2px solid var(--cyan);box-shadow:4px -4px 30px #86f9e923}.hero-content{position:relative;z-index:2;max-width:900px;animation:copy-enter .9s ease both}.eyebrow{font-family:Arial,"Yu Gothic",sans-serif;letter-spacing:.18em;font-size:.8rem;font-weight:700;color:var(--cyan);margin-bottom:24px}.hero .eyebrow{border-left:3px solid var(--cyan);padding-left:16px;letter-spacing:.12em}h1{font-size:clamp(2.8rem,4.7vw,5.2rem);font-weight:900;line-height:1.4;letter-spacing:-.055em;margin-bottom:22px;text-shadow:0 4px 40px #02091470}h1 span{font-size:.78em}.hero-sub{font-size:1rem;letter-spacing:.16em;color:#d3e4e8}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{min-height:56px;display:inline-flex;justify-content:center;align-items:center;padding:13px 28px;font-size:.95rem;font-weight:700;border:1px solid transparent;transition:background .2s,transform .2s}.orange{background:var(--cyan);color:#08232b;box-shadow:0 0 30px #94f7e42b}.orange:hover{background:#c7fff4;transform:translateY(-3px)}.ghost{border-color:#c8eee761;background:#0b27384d}.ghost:hover{background:#214354}.release-badge{font-family:Arial,sans-serif;font-size:.75rem;letter-spacing:.12em;margin:24px 0 0;color:#bde3e2}.release-badge span{display:inline-block;border-left:1px solid #c7eeeb55;margin-left:14px;padding-left:14px;font-size:.8rem;letter-spacing:.02em}.hero-wordmark{position:absolute;bottom:60px;left:3vw;right:3vw;margin:0;font-family:Arial,sans-serif;font-weight:900;font-size:clamp(3rem,11.5vw,12rem);line-height:1.05;letter-spacing:-.06em;white-space:nowrap;color:#d9fff411;-webkit-text-stroke:1px #e2fff44d;pointer-events:none}.hero-bottom{position:absolute;bottom:24px;left:5vw;right:5vw;display:flex;justify-content:space-between;font-size:.7rem;letter-spacing:.12em;color:#a7c9ce}.hero-bottom a{font-size:.8rem;letter-spacing:.03em;border-bottom:1px solid #96c4c9}
.news-strip{padding:22px 8vw;display:flex;align-items:center;gap:24px;background:#0b2531;border-block:1px solid var(--line);font-size:.9rem}.news-strip>span:first-child{color:var(--cyan);font-family:Arial;font-weight:800;letter-spacing:.14em}.news-strip time{color:var(--muted);font-size:.8rem}.news-strip strong{font-weight:500}.strip-more{margin-left:auto;color:#b2d4d8;font-size:.8rem}
.section{padding:110px 8vw}h2{font-size:clamp(2rem,3.6vw,3.5rem);line-height:1.45;letter-spacing:-.04em;font-weight:900;margin-bottom:24px}.section-heading{max-width:1100px;margin:0 auto 50px}.section-heading>p:last-child{color:var(--muted);line-height:2.1;max-width:750px}.about{background:var(--deep);position:relative}.about .section-heading{display:grid;grid-template-columns:1fr 1fr;gap:0 70px;max-width:none}.about .eyebrow{grid-column:1/-1}.about h2{margin:0}.about .section-heading>p:last-child{margin:0}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:64px}.features article{border-top:1px solid #96ded85c;padding:28px 0 0;position:relative}.feature-number{font-size:.75rem;color:var(--cyan);letter-spacing:.15em;display:block;margin-bottom:20px}.features h3{font-size:1.4rem;margin-bottom:14px}.features p{color:var(--muted);font-size:.95rem;margin:0}
.monsters{background:linear-gradient(130deg,#0c2634,#06131e 70%);border-block:1px solid var(--line);overflow:hidden}.monster-select{display:flex;gap:0;margin-bottom:36px;border-bottom:1px solid var(--line)}.monster-select button{flex:1;text-align:left;border:0;border-bottom:2px solid transparent;padding:18px 20px;background:transparent;color:#839ba5;transition:background .2s,color .2s}.monster-select button span{display:block;font-family:Arial;font-size:.75rem;letter-spacing:.15em;margin-bottom:5px}.monster-select button strong{font-size:1.1rem}.monster-select button[aria-selected=true]{background:#a3f7e40b;color:var(--white);border-bottom-color:var(--cyan)}.monster-select button:first-child[aria-selected=true]{border-bottom-color:#f48b4a}.monster-select button:last-child[aria-selected=true]{border-bottom-color:#f0d568}.monster-select button:hover{color:white;background:#ffffff08}.monster-card{display:grid;grid-template-columns:1.45fr 1fr;gap:50px;align-items:center;animation:card-enter .45s ease}.poster-open{padding:0;background:transparent;border:0;position:relative;color:white;display:block;text-align:left;min-width:0}.poster-window{aspect-ratio:1.6;position:relative;overflow:hidden;border:1px solid #ffffff32;box-shadow:0 30px 80px #00000066}.poster-window img{width:165%;max-width:none;height:auto;position:absolute;left:-35%;top:0;transition:transform .6s}.poster-open:hover img{transform:scale(1.035)}.earth .poster-window img{width:100%;height:100%;left:0;object-fit:cover;object-position:50% 47%}.poster-label{position:absolute;bottom:16px;right:16px;background:#041622dc;border:1px solid #b5edda80;padding:8px 14px;font-size:.8rem;backdrop-filter:blur(10px)}.monster-info{min-width:0}.file-id{color:#aac4c9;letter-spacing:.1em;font-family:Arial;font-size:.75rem;display:flex;align-items:center;gap:16px;margin-bottom:20px}.file-id span{font-family:inherit;border:1px solid var(--line);padding:2px 12px;color:var(--cyan);font-size:.85rem;white-space:nowrap}.monster-info h3{font-size:1.2rem;line-height:1.1;margin-bottom:26px}.monster-info h3 small{font-family:Arial,sans-serif;display:block;font-size:clamp(3.2rem,6vw,6rem);font-weight:900;letter-spacing:-.065em;margin-bottom:14px;color:#f4faf9}.monster-catch{font-weight:800;font-size:clamp(1.2rem,2vw,1.8rem);line-height:1.65;margin-bottom:20px}.monster-info>p:last-child{color:var(--muted);font-size:.95rem;margin:0}.fire .monster-catch{color:#ffb07d}.earth .monster-catch{color:#b6e9a9}.thunder .monster-catch{color:#ffdf82}.art-note{font-size:.8rem;color:#8da7b2;margin:30px 0 0}.monster-grid{min-height:420px}
.news{display:grid;grid-template-columns:1fr 1.5fr;align-items:start;gap:50px}.news-title h2{font-size:clamp(1.7rem,2.4vw,2.5rem)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:24px 0;font-size:.95rem;font-weight:700}summary::marker{color:var(--cyan)}.news-item{border-top:1px solid var(--line)}.news-item summary{display:flex;gap:12px;flex-wrap:wrap;list-style:none;align-items:center}.news-item summary>span:nth-of-type(2){width:calc(100% - 40px);margin-top:8px}.news-item time{font-family:Arial;font-size:.8rem;color:var(--muted)}.tag{border:1px solid #486573;padding:1px 10px;font-size:.75rem;line-height:1.9}.plus{margin-left:auto;color:var(--cyan);font-size:1.4rem}.news-body{padding-bottom:26px;font-size:.9rem;color:var(--muted)}.news-body p{margin:0}
.release{position:relative;isolation:isolate;text-align:center;overflow:hidden;padding-block:125px}.release:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,#04121fe8,#04121f9e),url('/assets/hero.webp') center 45%/cover}.release:after{content:"";position:absolute;inset:25px 3vw;z-index:-1;border:1px solid #c9ffed2b}.release h2{font-size:clamp(2.5rem,5vw,5rem);line-height:1.45}.release>p:not(.eyebrow){color:#b9d1d6}.platforms{display:flex;justify-content:center;gap:22px;font-size:.85rem;color:#d3e3e6;margin:26px 0 34px}.platforms span{border:1px solid #dcf7f332;padding:6px 16px}.faq{max-width:1080px;margin:auto;padding-block:90px}.faq h2{font-size:2rem}.faq details p{font-size:.95rem;color:var(--muted);padding-bottom:24px}.faq summary{font-size:1rem}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:32px;padding:60px 8vw;color:#aec5cd}footer .logo{color:white}footer p{font-size:.85rem;margin-bottom:8px}footer a:not(.logo){font-size:.8rem}.copyright{color:#8aa3ac;font-size:.75rem!important;margin:20px 0 0}.top{border-bottom:1px solid #799ca5}
dialog{padding:0;width:min(820px,94vw);max-height:92dvh;overflow:auto;background:var(--deep);color:white;border:1px solid #9af2e56b;box-shadow:0 0 90px #60e8cb15}dialog::backdrop{background:#020b16e8;backdrop-filter:blur(8px)}.dialog-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#0a2233;padding:15px 20px}.dialog-header h2{font-size:1rem;letter-spacing:0;margin:0}.dialog-header button{background:transparent;border:1px solid #b4e7d876;padding:7px 14px;color:white;font-size:.85rem}dialog img{width:100%;height:auto}dialog>p{padding:15px 20px;font-size:.8rem;color:var(--muted);margin:0}.mobile-break{display:none}.reveal{opacity:0;transform:translateY(20px);transition:opacity .75s,transform .75s}.reveal.visible{opacity:1;transform:none}
@keyframes hero-enter{from{transform:scale(1.05);opacity:.5}to{transform:scale(1);opacity:1}}@keyframes copy-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes card-enter{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1500px){.section,footer,.news-strip{padding-left:max(8vw,calc((100vw - 1300px)/2));padding-right:max(8vw,calc((100vw - 1300px)/2))}}
@media(max-width:1000px){.hero{padding-left:7vw;min-height:760px}.section{padding:85px 6vw}.monster-card{gap:30px;grid-template-columns:1.3fr 1fr}.monster-info h3 small{font-size:4rem}.news{grid-template-columns:1fr;gap:24px}.news-title h2{margin-bottom:8px}.features{gap:24px}.header{padding:24px 5vw}nav{gap:20px}.logo span{font-size:1.4rem}}
@media(max-width:640px){.header{height:85px;padding:22px 6vw}.logo span{font-size:1.3rem}.logo small{font-size:.7rem}.menu{display:block;background:#04152280;border:1px solid #a2d2d56b;padding:7px 12px;color:white;font-size:.8rem}nav{display:none;position:absolute;top:85px;left:0;right:0;background:#081e2bf5;padding:24px 6vw;flex-direction:column;align-items:stretch;gap:20px}nav.open{display:flex}.nav-cta{text-align:center}.hero{height:100svh;min-height:780px;max-height:1000px;padding:190px 7vw 170px;align-items:center}.hero-art{background-position:66% center}.hero-art:after{background:linear-gradient(90deg,#03131cbb,#03131c44),linear-gradient(0deg,var(--deep),transparent 40%)}.hero-frame{inset:112px 4vw 96px;padding:13px;font-size:.6rem}.hero-frame>span:last-child{display:none}h1{font-size:clamp(2.1rem,8.5vw,3rem);letter-spacing:-.06em;line-height:1.5;margin-bottom:22px}h1 span{font-size:.79em}.hero .eyebrow{font-size:.7rem;padding-left:10px;letter-spacing:.015em}.hero-sub{font-size:.85rem;letter-spacing:.035em}.hero-wordmark{font-size:12vw;bottom:68px;left:4vw;right:4vw}.hero-bottom{left:6vw;right:6vw;bottom:28px;font-size:.58rem;letter-spacing:.06em}.hero-bottom a{display:none}.hero-actions{gap:10px;margin-top:24px}.button{font-size:.85rem;padding:12px 20px;min-height:50px}.release-badge{font-size:.6rem;letter-spacing:.08em}.release-badge span{font-size:.7rem;margin-left:10px;padding-left:10px}.news-strip{padding:18px 6vw;gap:12px;flex-wrap:wrap}.news-strip strong{width:100%;font-size:.85rem}.strip-more{display:none}.section{padding:65px 6vw}h2{font-size:2rem}.section-heading{margin-bottom:30px}.section-heading>p:last-child{font-size:.9rem}.section-heading br:not(.mobile-break){display:none}.mobile-break{display:block}.about .section-heading{display:block}.about h2{margin-bottom:24px}.eyebrow{font-size:.7rem}.features{grid-template-columns:1fr;margin-top:35px;gap:25px}.features article{padding-top:20px}.features h3{font-size:1.2rem;margin-bottom:10px}.features p{font-size:.9rem}.feature-number{margin-bottom:12px}.monster-select{margin-bottom:28px}.monster-select button{padding:12px 9px}.monster-select button span{font-size:.58rem;letter-spacing:.05em}.monster-select button strong{font-size:.95rem}.monster-card{grid-template-columns:1fr;gap:28px}.poster-window{aspect-ratio:1.4}.poster-window img{width:190%;left:-48%}.earth .poster-window img{width:100%;left:0;object-position:50% 48%}.monster-info h3{font-size:1rem;margin-bottom:20px}.monster-info h3 small{font-size:4.5rem;margin-bottom:10px}.monster-catch{font-size:1.5rem;margin-bottom:15px}.monster-info>p:last-child{font-size:.9rem}.file-id{margin-bottom:16px}.monster-grid{min-height:600px}.art-note{font-size:.75rem}.news-title h2{font-size:1.7rem}.news-item summary{font-size:.9rem}.release{padding-block:85px}.release h2{font-size:2.4rem}.release>p:not(.eyebrow){font-size:.9rem}.release>p:not(.eyebrow) br{display:none}.platforms{flex-direction:column;align-items:center;gap:10px}.faq h2{font-size:1.8rem}.faq summary{font-size:.9rem}.faq details p{font-size:.85rem}footer{padding:45px 6vw;flex-direction:column;align-items:flex-start;gap:30px}.dialog-header{padding:12px}.dialog-header h2{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
/* Let enlarged text expand the hero instead of clipping it. */
.hero{height:auto;min-height:100svh;max-height:none}
@media(max-width:640px){.hero{height:auto;min-height:max(780px,100svh);max-height:none}}

footer .legal-links{display:flex;position:static;flex-wrap:wrap;gap:10px 20px;max-width:560px;margin-top:18px;padding:0;background:none}footer .legal-links a{line-height:1.7;text-decoration:underline;text-underline-offset:4px}
