/* Hallmark · macrostructure: Split Studio · tone: urban game dossier · anchor hue: cyan / pink
 * theme: custom · nav: N12 · footer: Ft1 · display: Tomorrow + Noto Sans SC · body: Noto Sans SC
 * axes: dark / heavy sans / cyan-pink · pre-emit critique: P4 H5 E4 S4 R5 V4 */
@import url('tokens.css');
@font-face{font-family:'Noto Sans SC';src:url('../fonts/noto-sans-sc.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Tomorrow';src:url('../fonts/tomorrow.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:112px}body{font-family:var(--font-body);background:var(--color-paper);color:var(--color-ink);line-height:1.8;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:var(--color-panel);border:1px solid var(--color-line)}button,a{ -webkit-tap-highlight-color:var(--color-transparent)}button:active,.button:active{transform:translateY(1px)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}button:disabled,[aria-disabled=true]{opacity:.55;cursor:not-allowed}button[data-state=error]{border-color:var(--color-error)}button[data-state=success]{border-color:var(--color-success)}[hidden]{display:none!important}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-style:normal;line-height:1.25;overflow-wrap:anywhere;min-width:0}h2{font-size:var(--text-title);font-weight:800;letter-spacing:-.04em}h3{font-size:22px}p{color:var(--color-muted)}img{display:block;width:100%;height:auto}small{font-size:12px}a,button,summary{touch-action:manipulation}a.button,nav a,.backtop,.text-link,.crumb,.related a{white-space:nowrap}.wrap{width:min(1328px,calc(100% - 80px));margin-inline:auto}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--color-ink);color:var(--color-paper);padding:12px}.skip:focus{top:10px}.header{position:sticky;top:-32px;z-index:30;background:var(--color-paper);color:var(--color-ink);border-bottom:1px solid var(--color-line)}.announcement{height:32px;background:var(--color-cyan);color:var(--color-paper);font-size:12px;font-weight:700;letter-spacing:.04em}.announcement .wrap{display:flex;justify-content:space-between;align-items:center;height:100%}.nav{height:80px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap;font-weight:800;font-size:19px;line-height:1.3}.brand small{display:block;font-family:var(--font-display);font-weight:700;font-size:9px;letter-spacing:.1em;margin-top:6px;color:var(--color-muted)}.brand-mark{font-size:25px;display:grid;place-items:center;width:46px;height:46px;background:var(--color-accent);color:var(--color-paper);border-radius:var(--radius-sm)}.nav nav{margin-left:auto;display:flex;gap:28px;height:100%;align-items:center}.nav nav a{height:100%;display:flex;align-items:center;font-size:14px;border-bottom:3px solid var(--color-transparent)}.nav nav a[aria-current]{border-bottom-color:var(--color-cyan);color:var(--color-cyan)}.button{display:inline-flex;gap:24px;align-items:center;justify-content:space-between;min-height:52px;padding:12px 24px;font-weight:800;border:1px solid var(--color-accent);font-size:16px;position:relative;overflow:clip;border-radius:var(--radius-sm);transition:transform var(--dur-short) var(--ease-out)}.button.primary{background:var(--color-accent);color:var(--color-accent-ink)}.button.primary::after{content:'';position:absolute;top:-25%;height:150%;width:18px;background:var(--color-ink);opacity:0;transform:translateX(-90px) rotate(18deg)}.button.primary:hover::after{animation:sweep .5s var(--ease-out)}@keyframes sweep{0%{opacity:.18;transform:translateX(-90px) rotate(18deg)}100%{opacity:0;transform:translateX(340px) rotate(18deg)}}.button span{font-size:22px;line-height:1}.nav>.button{min-height:44px;padding:8px 18px;font-size:14px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:56px;align-items:center;padding-top:40px;padding-bottom:48px;min-height:calc(100svh - 112px);max-height:960px}.hero-media{min-width:0}.media-label,.media-foot{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.05em}.media-label{font-family:var(--font-display);color:var(--color-cyan);margin-bottom:12px}.media-foot{margin-top:16px;color:var(--color-muted)}.media-foot a{color:var(--color-ink);white-space:nowrap;padding-block:8px}.zoom{display:block;width:100%;padding:0;position:relative;background:var(--color-panel);color:var(--color-ink);overflow:clip;border:0;text-align:left}.zoom img{aspect-ratio:16/9;object-fit:cover;transition:transform var(--dur-short) var(--ease-out)}.hero-shot img{aspect-ratio:4/3;object-fit:cover}.image-caption{position:absolute;bottom:0;left:0;right:0;background:var(--color-shade);color:var(--color-ink);padding:12px 16px;font-size:12px;display:flex;justify-content:space-between}.image-caption span{color:var(--color-cyan)}.hero-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}.hero-thumbs button{padding:0;border:2px solid var(--color-transparent);opacity:.65}.hero-thumbs button[aria-pressed=true]{border-color:var(--color-cyan);opacity:1}.hero-thumbs img{aspect-ratio:16/9;object-fit:cover}.tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12px}.tags span,.tags b{border:1px solid var(--color-line);padding:3px 10px;font-weight:500}.tags b{color:var(--color-accent);border-color:var(--color-accent)}.hero h1{font-size:var(--text-display);font-weight:900;line-height:1.14;letter-spacing:-.06em;margin-top:24px}.hero h1 span{color:var(--color-cyan)}.hero h1 i{color:var(--color-accent);font-style:normal}.japanese{font-size:15px;letter-spacing:.18em;margin-top:12px}.lede{margin-top:24px;color:var(--color-ink);font-size:17px}.hero-spec{margin:24px 0;display:grid;gap:10px}.hero-spec>div{display:flex;align-items:center;justify-content:space-between;gap:20px}.hero-spec dt{color:var(--color-muted);font-size:13px}.hero-spec dd{margin:0;font-family:var(--font-display);font-size:15px}.hero-spec .size{font-size:32px;color:var(--color-cyan);line-height:1.2}.size span{font-size:15px}.hero-copy>.button{width:100%;min-height:60px;font-size:19px}.download-note{font-size:12px;margin:9px 0 16px}.text-link{display:inline-flex;align-items:center;min-height:44px;font-weight:600;font-size:14px;border-bottom:1px solid var(--color-line)}.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--color-line);padding-block:28px;gap:28px}.facts span{display:block;color:var(--color-muted);font-size:12px;margin-bottom:6px}.facts strong{font-size:16px}.section{padding-top:80px;padding-bottom:16px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:36px}.section-head>p{max-width:430px}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;align-items:center}.story p+p{margin-top:20px}.story .text-link{margin-top:18px}.mechanics{display:grid;gap:0}.mechanics article{border-top:1px solid var(--color-line);padding:20px 0}.mechanics b{font-size:19px;color:var(--color-cyan)}.mechanics p{margin-top:6px;font-size:15px}.feature-band{margin-top:80px;padding-block:48px;background:var(--color-panel);color:var(--color-ink)}.feature-band h2{margin-bottom:24px}.feature-band .text-link{margin-top:20px}.gallery-grid{display:grid;gap:24px}.preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shot{min-width:0}.shot figcaption{display:flex;justify-content:space-between;gap:16px;font-size:14px;padding:12px 0;color:var(--color-ink)}.shot figcaption small{color:var(--color-muted)}.zoom-sign{position:absolute;right:12px;bottom:12px;width:36px;height:36px;display:grid;place-items:center;background:var(--color-paper);color:var(--color-cyan);font-size:24px}.section-end{display:flex;justify-content:space-between;gap:24px;margin-top:18px}.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px}.two-columns h2{font-size:28px;margin-bottom:24px}.updates details{border-top:1px solid var(--color-line)}.updates summary{display:flex;gap:20px;font-size:14px;align-items:center;cursor:pointer;padding:18px 0}.updates time{font-family:var(--font-display);color:var(--color-cyan);font-size:12px}.updates p{padding:0 0 20px;font-size:14px}.audience{margin:0;padding-left:20px;color:var(--color-muted)}.audience li{margin-bottom:14px}.faq-list{border-top:1px solid var(--color-line)}.faq-list details{border-bottom:1px solid var(--color-line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;cursor:pointer;font-weight:600;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:24px;color:var(--color-cyan);min-width:20px;text-align:right}.faq-list summary span::before{content:'+'}.faq-list details[open] summary span::before{content:'−'}.faq-list p{padding:0 48px 24px 0;max-width:850px}.final-cta{margin-top:80px;padding:40px;border:1px solid var(--color-cyan);display:flex;justify-content:space-between;gap:28px;align-items:center}.final-cta h2{font-size:28px}.final-cta p{margin-top:10px;font-size:14px}.footer{padding-top:64px;padding-bottom:32px}.foot-top{display:flex;justify-content:space-between;gap:24px;align-items:center}.foot-brand{font-size:23px;font-weight:800}.foot-top p{font-size:14px;margin-top:8px}.backtop{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--color-cyan)}.foot-nav{display:flex;gap:28px;flex-wrap:wrap;margin:24px 0}.foot-nav a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}.related{display:flex;gap:8px 24px;flex-wrap:wrap;font-size:12px;border-block:1px solid var(--color-line);padding-block:12px}.related span{color:var(--color-muted);width:100%}.related a{min-height:44px;display:inline-flex;align-items:center}.legal{margin-top:20px}.legal p{font-size:11px;margin-top:4px}.mobile-cta{display:none}.page-intro{padding-top:48px;padding-bottom:40px}.crumb{display:inline-block;min-height:44px;font-size:13px;color:var(--color-cyan)}.page-intro h1{font-size:clamp(2.4rem,5vw,4.5rem);letter-spacing:-.05em;white-space:pre-line;margin:12px 0 20px}.page-intro>p{font-size:18px}.gallery-toolbar{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:28px;border-block:1px solid var(--color-line);padding-block:16px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{min-height:44px;padding:8px 22px;font-size:14px;background:var(--color-paper);color:var(--color-ink)}.filters button[aria-pressed=true]{background:var(--color-cyan);color:var(--color-paper);border-color:var(--color-cyan);font-weight:800}.gallery-toolbar>span{color:var(--color-muted);font-size:12px;white-space:nowrap}.all-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.download-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}.download-panel{background:var(--color-panel);color:var(--color-ink);padding:36px;border-top:3px solid var(--color-cyan)}.download-panel h2{font-family:var(--font-display);font-size:42px;margin:24px 0 20px}.download-size{font-family:var(--font-display);color:var(--color-cyan);font-size:58px;margin:24px 0}.download-size small{font-size:24px}.download-panel>.button{width:100%}.download-layout>div>h2{font-size:28px;margin-bottom:24px}.requirements{margin:0}.requirements>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:20px;border-top:1px solid var(--color-line);padding:20px 0}.requirements dt{color:var(--color-muted);font-size:14px}.requirements dd{margin:0;overflow-wrap:anywhere}.steps{list-style:none;counter-reset:step;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.steps li{counter-increment:step;border-top:1px solid var(--color-line);padding-top:24px}.steps li::before{content:'0' counter(step);font:700 36px var(--font-display);color:var(--color-cyan)}.steps h3{font-size:21px;margin:16px 0 14px}.guide-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:72px;align-items:start}.guide-toc{position:sticky;top:120px;border-top:2px solid var(--color-cyan);padding-top:20px;display:grid;gap:6px}.guide-toc>span{font-size:12px;color:var(--color-muted);margin-bottom:12px}.guide-toc>a{padding-block:12px;white-space:normal;font-size:14px}.guide-content section{padding-bottom:56px;margin-bottom:40px;border-bottom:1px solid var(--color-line)}.guide-content h2,.article h2{font-size:29px;margin-bottom:24px}.guide-content p+p{margin-top:20px}.guide-content .shot{margin-top:28px}.read-next{background:var(--color-panel);color:var(--color-ink);padding:28px;display:grid;gap:16px}.read-next h3{font-size:18px}.read-next a{display:block;color:var(--color-cyan);font-size:15px;min-height:44px;line-height:44px}.article{max-width:900px}.article-lead{font-size:21px;color:var(--color-ink);border-block:1px solid var(--color-line);padding-block:28px;margin-bottom:48px}.article h2{margin-top:48px}.article .shot{margin-top:32px}.article .read-next{margin-top:40px}.lightbox{position:fixed;inset:0;margin:auto;width:min(1160px,94vw);max-height:92svh;height:fit-content;overflow:auto;background:var(--color-paper);color:var(--color-ink);padding:20px;border:1px solid var(--color-line)}.lightbox::backdrop{background:var(--color-shade)}.lightbox-top,.lightbox-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center}.lightbox button{min-height:44px;padding:8px 16px;white-space:nowrap}.lightbox-top{margin-bottom:16px}.lightbox-top>span{color:var(--color-cyan);font-size:13px}.lightbox-media img{max-height:68svh;object-fit:contain;aspect-ratio:16/9}.lightbox-media[data-state=loading]{opacity:.5}.lightbox-media #image-error{padding:40px;color:var(--color-error)}.lightbox-bottom{margin-top:16px}.lightbox-bottom p{font-size:13px;text-align:center}.lightbox-media{touch-action:pan-y}
@media(hover:hover){.nav a:hover,.text-link:hover,.foot-nav a:hover,.related a:hover,.read-next a:hover{color:var(--color-cyan)}.zoom:hover img{transform:scale(1.025)}.hero-thumbs button:hover{opacity:1}.button:hover{transform:translateY(-2px)}.filters button:hover{border-color:var(--color-cyan)}.faq-list summary:hover{color:var(--color-cyan)}}
@media(min-width:1600px){.hero{min-height:760px}}
@media(max-width:1100px){.wrap{width:calc(100% - 48px)}.nav{gap:20px}.nav nav{gap:18px}.brand{font-size:16px}.brand-mark{width:38px;height:38px}.hero{gap:32px;min-height:auto;padding-block:40px}.hero h1{font-size:60px}.lede{font-size:15px}.split{gap:36px}.section-head{gap:32px}.guide-layout{gap:40px;grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:800px){.nav nav{gap:14px}.nav nav a{font-size:12px}.nav>.button{display:none}.hero{grid-template-columns:minmax(0,1fr);max-height:none}.hero-copy{grid-row:1}.hero h1 br{display:none}.hero h1{font-size:52px}.hero-copy .tags{margin-bottom:16px}.hero h1{margin-top:16px}.hero-spec{max-width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.hero-spec>div{display:block}.hero-spec dd{margin-top:8px;font-size:13px}.hero-spec .size{font-size:25px}.hero-copy>.button{width:auto;min-width:240px}.hero-copy>.text-link{margin-left:20px}.download-note{margin-bottom:0}.hero-shot img{aspect-ratio:16/9}.hero-media{max-width:100%}.split,.two-columns{grid-template-columns:minmax(0,1fr)}.facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.section-head{align-items:start;flex-direction:column;gap:20px}.section-head>p{max-width:100%}.feature-band .split{gap:24px}.section{padding-top:56px}.feature-band{margin-top:56px}.all-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.download-layout{grid-template-columns:minmax(0,1fr);gap:40px}.steps{grid-template-columns:minmax(0,1fr)}.guide-layout{grid-template-columns:minmax(0,1fr);gap:40px}.guide-toc{position:static;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.guide-toc>span{grid-column:1/-1}.final-cta{padding:28px}.final-cta h2{font-size:24px}}
@media(max-width:640px){body{padding-bottom:78px}.wrap{width:calc(100% - 32px)}.announcement .wrap>span{font-size:10px}.announcement .wrap{font-size:10px}.nav{height:68px;gap:12px}.brand{font-size:15px}.brand small{font-size:8px}.brand-mark{width:36px;height:36px;font-size:22px}.menu-toggle{display:block;margin-left:auto;min-height:44px;padding:8px 12px;font-size:13px}.nav nav{display:none;position:absolute;top:100%;left:0;right:0;padding:16px;background:var(--color-panel);color:var(--color-ink);height:auto;border-bottom:1px solid var(--color-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px}.nav nav.is-open{display:grid}.nav nav a{font-size:14px;padding:10px 0;min-height:44px}.hero{padding-top:28px;padding-bottom:28px;gap:32px}.hero h1{font-size:clamp(35px,8.8vw,52px);letter-spacing:-.06em}.hero h1 i{display:none}.japanese{font-size:12px;letter-spacing:.15em}.lede{margin-top:20px;font-size:15px}.hero-spec{margin-block:24px;gap:12px}.hero-spec dd{font-size:11px;white-space:nowrap}.hero-spec dt{font-size:11px}.hero-spec .size{font-size:24px}.hero-copy>.button{width:100%;min-height:54px;font-size:17px}.hero-copy>.text-link{margin:12px 0 0}.hero-thumbs{gap:8px;margin-top:8px}.media-foot{font-size:10px}.media-label{font-size:10px}.facts{padding:20px 0;gap:20px}.facts strong{font-size:14px}.section{padding-top:48px}.section-head{margin-bottom:24px}h2{font-size:29px}.split{gap:24px}.story p{font-size:15px}.feature-band{padding-block:28px;margin-top:48px}.preview-grid,.all-gallery{grid-template-columns:minmax(0,1fr)}.section-end{flex-direction:column;gap:4px;align-items:start}.two-columns{gap:36px}.faq-list summary{padding:18px 0;font-size:15px;align-items:start}.faq-list p{padding-right:0;font-size:14px}.final-cta{margin-top:48px;flex-direction:column;align-items:stretch;padding:24px}.final-cta h2{font-size:25px}.final-cta>.button{justify-content:space-between}.footer{padding-top:40px}.foot-top{align-items:start;flex-direction:column;gap:12px}.foot-nav{gap:8px 24px;margin:16px 0}.related{gap:0 12px}.related a{font-size:11px;min-height:44px}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;justify-content:space-between;gap:12px;align-items:center;padding:12px 16px max(12px,env(safe-area-inset-bottom));background:var(--color-paper);color:var(--color-ink);border-top:1px solid var(--color-line)}.mobile-cta>div{font-size:13px;font-weight:700;line-height:1.5}.mobile-cta small{font-size:10px;color:var(--color-muted);display:block;font-weight:400}.mobile-cta .button{min-height:44px;gap:16px;padding:8px 16px;font-size:14px}.page-intro{padding-top:28px;padding-bottom:28px}.page-intro h1{font-size:38px}.page-intro>p{font-size:16px}.gallery-toolbar{align-items:start;flex-direction:column;gap:12px}.filters{gap:6px}.filters button{padding:8px 16px}.gallery-grid{gap:16px}.download-panel{padding:24px}.requirements>div{grid-template-columns:60px minmax(0,1fr);gap:16px}.requirements dd{font-size:14px}.guide-toc{grid-template-columns:minmax(0,1fr);gap:0}.guide-content h2,.article h2{font-size:25px}.guide-content section{padding-bottom:32px;margin-bottom:32px}.read-next{padding:20px}.read-next a{font-size:13px;line-height:1.8;display:flex;align-items:center}.article-lead{font-size:18px}.lightbox{width:96vw;padding:12px}.lightbox-bottom{gap:8px;flex-wrap:wrap}.lightbox-bottom p{order:3;width:100%}.lightbox button{padding:8px 12px;font-size:13px}.lightbox-media img{max-height:58svh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.zoom:hover img,.button:hover{transform:none}}

.guide-toc>a{white-space:nowrap}a:active,summary:active{opacity:.8}
