/* Hallmark · macrostructure: Split Studio · theme: custom · genre: atmospheric
 * nav: custom commerce masthead (N6 adapted) · footer: Ft1 Mast-headed · enrichment: verified game imagery
 * vibe: gothic night, compact game store · paper: oklch(16.8% .016 278) · accent: oklch(90.5% .155 194.8)
 * display: Tomorrow · body: Noto Sans SC · axes: dark / grotesk-sans / cool
 * pre-emit critique: Philosophy 4 · Hierarchy 5 · Execution 4 · Specificity 5 · Restraint 5 · Variety 4 */
@import url('../tokens.css');
@import url('fonts.css');
* {box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:148px;overflow-x:clip}body{margin:0;overflow-x:clip;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-body);line-height:1.75}button,input{font:inherit}button,a{-webkit-tap-highlight-color:var(--color-transparent)}a{color:inherit;text-decoration:none}button{color:inherit;background:none;cursor:pointer}button,a,summary{touch-action:manipulation}img{display:block;width:100%;height:auto}figure,p,h1,h2,h3,dl{margin:0}h1,h2,h3{font-style:normal;line-height:1.3;min-width:0;overflow-wrap:anywhere}h1,h2,h3,strong,b{font-weight:700}h2{font-size:var(--text-heading);letter-spacing:-.025em}h3{font-size:var(--text-lg)}p+p{margin-top:var(--space-md)}li+li{margin-top:var(--space-xs)}ul,ol{padding-left:1.4em}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:5px}a:hover{color:var(--color-accent)}button:active,.button:active{transform:translateY(1px)}button:disabled,[aria-disabled=true]{opacity:.45;cursor:not-allowed}.wrap{width:min(1280px,calc(100% - 40px));margin-inline:auto}.section{padding-block:var(--space-3xl)}.muted,.micro{color:var(--color-muted)}.micro{font-size:var(--text-small);line-height:1.7}.skip{position:fixed;top:8px;left:12px;transform:translateY(-200%);background:var(--color-accent);color:var(--color-paper);padding:12px;z-index:var(--z-modal)}.skip:focus{transform:none}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-lg);min-height:52px;padding:12px 22px;white-space:nowrap;font-weight:700;border:1px solid var(--color-rule);border-radius:var(--radius-sm);position:relative;overflow:hidden}.button span{font-size:1.25em}.primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-paper)}.primary:after{content:'';position:absolute;inset:-20% auto -20% -50%;width:26%;background:var(--color-ink);opacity:.32;transform:skewX(-24deg)}.primary:hover{color:var(--color-paper)}.primary:hover:after{transform:translateX(700%) skewX(-24deg);transition:transform 500ms var(--ease-out)}.secondary:hover{border-color:var(--color-accent)}.small{min-height:44px;padding:8px 18px;font-size:var(--text-small)}.text-link{display:inline-flex;align-items:center;gap:18px;min-height:44px;white-space:nowrap;border-bottom:1px solid var(--color-rule)}.text-link:hover{border-color:var(--color-accent)}.site-header{position:sticky;top:0;z-index:var(--z-sticky);background:var(--color-paper);border-bottom:1px solid var(--color-rule)}.header-inner{width:min(1440px,100%);padding:14px 20px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:12px}.wordmark{font-family:var(--font-display);font-weight:700;font-size:1.25rem;line-height:1.1;letter-spacing:-.045em;white-space:nowrap}.wordmark span{color:var(--color-accent)}.header-actions{display:flex;align-items:center;gap:24px}.desktop-note{display:none;font-family:var(--font-display);font-size:var(--text-small);color:var(--color-muted)}.menu-toggle{min-height:44px;border:1px solid var(--color-rule);padding:8px 12px;white-space:nowrap}.menu-toggle span{margin-left:8px}.site-nav{display:flex;flex-wrap:wrap;gap:4px 24px;padding:0 20px 10px;width:min(1280px,100%);margin:auto}.site-nav a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;font-size:var(--text-small);position:relative}.site-nav a[aria-current=page]{color:var(--color-accent)}.site-nav a[aria-current=page]:after{content:'';height:2px;background:var(--color-accent);position:absolute;left:0;right:0;bottom:0}.js .site-nav:not(.is-open){display:none}.hero{padding-top:var(--space-lg);padding-bottom:var(--space-2xl);display:grid;gap:var(--space-xl)}.hero-media{min-width:0}.hero-shot{display:block;position:relative;background:var(--color-panel);aspect-ratio:16/10}.hero-shot img{height:100%;object-fit:cover;object-position:46% center}.zoom{display:block;position:relative;overflow:hidden}.zoom-label{position:absolute;bottom:12px;right:12px;background:var(--color-overlay);padding:4px 12px;color:var(--color-ink);font-size:var(--text-small);line-height:1.8}.zoom:hover .zoom-label{background:var(--color-accent);color:var(--color-paper)}.media-label{position:absolute;top:16px;left:16px;color:var(--color-ink);background:var(--color-overlay);font-family:var(--font-display);font-size:.75rem;padding:5px 10px}.hero-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.hero-thumb{border:1px solid var(--color-rule);padding:0;min-width:0;overflow:hidden}.hero-thumb img{aspect-ratio:16/9;object-fit:cover;opacity:.68}.hero-thumb span{display:none;white-space:nowrap;font-size:.75rem;padding:5px 3px}.hero-thumb[aria-pressed=true]{border-color:var(--color-accent)}.hero-thumb[aria-pressed=true] img,.hero-thumb:hover img{opacity:1}.hero-copy{min-width:0}.tag-row{display:flex;justify-content:space-between;align-items:center;color:var(--color-accent);font-size:var(--text-small);margin-bottom:var(--space-md)}.age{display:inline-flex;color:var(--color-pink);font-size:var(--text-small);font-weight:700;border:1px solid var(--color-pink);padding:2px 8px;white-space:nowrap}.hero h1{font-size:var(--text-display);letter-spacing:-.045em}.hero h1>span{display:block;font-family:var(--font-display);font-size:clamp(1.1rem,1.55vw,1.45rem);line-height:1.25;letter-spacing:.03em;color:var(--color-muted);margin-top:12px}.hero h1>span br{display:none}.hero-lead{font-size:1.4rem;line-height:1.6;margin-top:24px}.hero-description{font-size:var(--text-body);color:var(--color-muted);margin-top:10px;max-width:35em}.product-spec{margin-top:22px;font-size:var(--text-small);border-top:1px solid var(--color-rule)}.product-spec>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--color-rule);padding:8px 0}.product-spec dt{color:var(--color-muted);flex-shrink:0}.product-spec dd{margin:0;text-align:right}.hero-actions{display:grid;gap:10px;margin-top:24px}.hero-copy .micro{margin-top:12px}.spec-strip{background:var(--color-light);color:var(--color-dark-ink)}.spec-strip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding-block:24px;gap:24px}.spec-strip-grid>div{display:flex;align-items:center;gap:16px}.spec-strip-grid strong{font-family:var(--font-display);font-size:2rem;line-height:1}.spec-strip-grid span{font-size:var(--text-small);line-height:1.4}.intro{display:grid;gap:var(--space-2xl);padding-block:var(--space-4xl)}.intro-copy>p{max-width:38em;color:var(--color-muted);margin-top:24px}.intro-copy .text-link{margin-top:24px}.mechanics article{display:grid;grid-template-columns:86px minmax(0,1fr);gap:20px;padding:22px 0;border-bottom:1px solid var(--color-rule)}.mechanics article:first-child{padding-top:0}.mechanic-label{font-family:var(--font-display);font-size:.75rem;color:var(--color-accent);padding-top:7px}.mechanics p{color:var(--color-muted);font-size:var(--text-small);margin-top:8px}.visual-band{background:var(--color-panel);padding-block:var(--space-2xl)}.visual-split{display:grid;gap:var(--space-xl);align-items:center}.visual-picture img{aspect-ratio:16/9;object-fit:cover}.visual-picture>span{display:block;font-size:var(--text-small);color:var(--color-muted);padding-top:12px}.visual-copy p{color:var(--color-muted);margin-top:20px}.visual-copy .text-link{margin-top:20px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px;flex-wrap:wrap}.gallery-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px 24px}.gallery-item img{aspect-ratio:16/9;object-fit:cover}.gallery-item figcaption{display:flex;justify-content:space-between;gap:12px;padding-top:12px;font-size:var(--text-small)}[hidden]{display:none!important}.release-row{display:grid;gap:28px;padding:var(--space-xl) 0 var(--space-3xl);border-bottom:1px solid var(--color-rule)}.release-row>div>p{margin-top:12px}.release-row summary time{font-family:var(--font-display);font-size:var(--text-small);color:var(--color-accent);margin-right:14px}.faq-block{padding-block:var(--space-3xl)}details{border-bottom:1px solid var(--color-rule)}summary{cursor:pointer;position:relative;list-style:none;min-height:64px;padding:18px 36px 18px 0;line-height:1.65;font-weight:700}summary::-webkit-details-marker{display:none}summary>span:last-child:after{content:'+';position:absolute;right:4px;top:17px;color:var(--color-accent);font-family:var(--font-display);font-size:1.3rem;font-weight:400}details[open]>summary>span:last-child:after{content:'−'}.answer{padding:0 32px 24px 0;max-width:65em;color:var(--color-muted)}.final-cta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;border-top:1px solid var(--color-accent);padding:36px 0 64px}.final-cta h2{font-size:1.65rem}.final-cta p{color:var(--color-muted);font-size:var(--text-small);margin-top:12px}.footer{background:var(--color-panel);padding:40px 0 120px}.footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer-top .wordmark{font-size:1.75rem}.footer-top p{font-size:var(--text-small);color:var(--color-muted)}.top-link{font-size:var(--text-small);white-space:nowrap;display:inline-flex;align-items:center;min-height:44px}.footer-nav{display:flex;gap:10px 28px;flex-wrap:wrap;margin-block:32px}.footer-nav a,.related a{min-height:44px;display:inline-flex;align-items:center;white-space:nowrap;font-size:var(--text-small)}.related{border-block:1px solid var(--color-rule);padding-block:18px}.related>p{font-size:var(--text-small);color:var(--color-muted)}.related>div{display:flex;gap:0 24px;flex-wrap:wrap}.legal{margin-top:24px;display:grid;gap:20px}.legal p,.legal summary{font-size:var(--text-small);color:var(--color-muted)}.legal details{border:0}.legal summary{min-height:44px;padding:0;text-decoration:underline;font-weight:400}.mobile-cta{position:fixed;bottom:0;left:0;right:0;background:var(--color-paper);border-top:1px solid var(--color-rule);z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px calc(12px + env(safe-area-inset-bottom))}.mobile-cta strong{font-size:var(--text-small)}.mobile-cta small{display:block;color:var(--color-muted);font-size:.7rem}.mobile-cta .button{min-height:44px;font-size:var(--text-small);padding:8px 16px}.page-head{padding-block:28px 40px}.breadcrumb{display:flex;gap:12px;align-items:center;font-size:var(--text-small);color:var(--color-muted);margin-bottom:24px}.breadcrumb a{min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}.page-head h1{font-size:var(--text-display);line-height:1.35}.page-head>p:last-child{color:var(--color-muted);max-width:48em;margin-top:20px}.filter-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid var(--color-rule)}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{white-space:nowrap;border:1px solid var(--color-rule);padding:8px 15px;min-height:44px}.filters button[aria-pressed=true]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-paper);font-weight:700}.result-count,.gallery-help{font-size:var(--text-small);color:var(--color-muted)}.gallery-help{margin-top:24px}.gallery-page .final-cta{margin-top:52px}.download-lead{display:grid;gap:28px;background:var(--color-panel);padding:20px}.download-lead img{aspect-ratio:16/9;object-fit:cover}.image-caption{font-family:var(--font-display);font-size:.75rem;color:var(--color-muted);display:block;margin-top:12px}.download-box{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:18px}.download-box p{margin:0;color:var(--color-muted)}.download-box .button{width:100%}.platform-names{display:flex;gap:8px 16px;flex-wrap:wrap;font-family:var(--font-display);font-size:var(--text-small)}.platform-grid{display:grid;gap:24px}.platform-card{border-top:1px solid var(--color-accent);background:var(--color-panel);padding:24px}.platform-card h3{font-family:var(--font-display);font-size:1.5rem;margin-bottom:20px}.platform-card dl>div{padding-block:10px;border-top:1px solid var(--color-rule)}.platform-card dt{color:var(--color-muted);font-size:var(--text-small)}.platform-card dd{margin:4px 0 0}.install{padding-top:0}.steps{display:grid;gap:24px;list-style:none;padding:0;counter-reset:steps;margin-top:28px}.steps li{margin:0;padding-top:20px;border-top:1px solid var(--color-rule);counter-increment:steps}.steps li:before{content:'0' counter(steps);font-family:var(--font-display);color:var(--color-accent);display:block;margin-bottom:12px}.steps p{color:var(--color-muted);margin-top:12px}.guide-cards{display:grid;gap:16px;margin-bottom:48px}.guide-cards a{padding:24px;background:var(--color-panel);position:relative;display:block}.guide-cards a:hover{background:var(--color-panel-hover);color:var(--color-ink)}.guide-cards span{font-family:var(--font-display);color:var(--color-accent);display:block;margin-bottom:16px}.guide-cards h2{font-size:1.35rem;letter-spacing:0}.guide-cards p{color:var(--color-muted);font-size:var(--text-small);margin-top:10px}.guide-cards b{display:block;margin-top:20px;font-size:var(--text-small);font-weight:400}.article-layout{display:grid;gap:32px}.toc{align-self:start;border-top:1px solid var(--color-accent);padding-top:20px}.toc p{font-size:var(--text-small);color:var(--color-muted);margin-bottom:8px}.toc a{display:block;padding:10px 0;min-height:44px;font-size:var(--text-small);white-space:nowrap}.article{max-width:800px}.article section{padding-bottom:48px;scroll-margin-top:148px}.article h2{margin-bottom:24px}.article p,.article li{color:var(--color-muted);line-height:1.9}.article strong{color:var(--color-ink)}.article-image{margin-bottom:40px}.article-image figcaption{color:var(--color-muted);font-size:var(--text-small);margin-top:10px}.loop-flow{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;padding:24px;background:var(--color-panel);margin-block:24px}.loop-flow span{font-size:var(--text-small)}.loop-flow b{color:var(--color-accent)}.article-next{margin-top:28px;padding:24px;background:var(--color-panel)}.article-next p{margin-top:12px}.article-next .text-link{margin-top:20px}.formula{padding:24px;background:var(--color-panel);margin-block:24px}.formula span{display:block;color:var(--color-accent);font-size:var(--text-small);margin-bottom:10px}.formula strong{font-size:var(--text-lg);font-weight:700}.comparison{display:grid;gap:28px;margin-bottom:24px}.comparison h3{margin-bottom:12px}.lightbox{background:var(--color-paper);color:var(--color-ink);border:1px solid var(--color-rule);width:min(1440px,calc(100% - 24px));max-width:none;max-height:calc(100dvh - 24px);padding:16px;overflow:auto}.lightbox::backdrop{background:var(--color-backdrop)}.lightbox-top,.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:var(--text-small)}.lightbox-top{margin-bottom:16px}.lightbox button{border:1px solid var(--color-rule);min-height:44px;padding:8px 14px;white-space:nowrap}.lightbox button:hover{border-color:var(--color-accent);color:var(--color-accent)}.lightbox-stage{position:relative;min-height:160px}.lightbox-stage img{width:100%;height:auto;max-height:calc(100dvh - 200px);object-fit:contain}.lightbox-controls{margin-top:16px}.image-status:not(:empty){padding:12px;background:var(--color-panel);color:var(--color-error)}.lightbox[data-state=loading] .image-status{color:var(--color-muted)}.lightbox[data-state=error] .lightbox-stage img{display:none}.lightbox[data-state=success] .lightbox-stage{border-color:var(--color-success)}.lightbox-counter{font-family:var(--font-display);font-size:.75rem;white-space:nowrap}
@media(min-width:640px){.wrap{width:min(1280px,calc(100% - 64px))}.header-inner{padding-inline:32px}.hero-thumbs{gap:12px}.hero-thumb span{display:block}.hero-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spec-strip-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.spec-strip-grid>div{flex-direction:column;align-items:flex-start;gap:12px}.comparison{grid-template-columns:repeat(2,minmax(0,1fr))}.desktop-note{display:block}.legal{grid-template-columns:2fr 1fr}}
@media(min-width:768px){.hero-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}.hero-shot{aspect-ratio:16/9}.intro{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}.visual-split{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:48px}.release-row{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.download-lead{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);padding:28px}.platform-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.steps{grid-template-columns:repeat(3,minmax(0,1fr))}.article-layout{grid-template-columns:190px minmax(0,1fr);gap:40px}.toc{position:sticky;top:150px}.hero-actions{grid-template-columns:minmax(0,1fr)}.hero-copy .hero-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.header-inner{padding-block:16px}.site-nav,.js .site-nav:not(.is-open){display:flex;padding:0 32px 8px;gap:36px}.menu-toggle{display:none}.hero{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:center;padding-top:40px;padding-bottom:48px;min-height:calc(100svh - 116px)}.hero-shot{aspect-ratio:1.24}.hero-copy .hero-actions{grid-template-columns:minmax(0,1fr)}.hero h1>span br{display:block}.hero-thumbs{margin-top:16px}.hero-lead{margin-top:22px}.hero-copy .product-spec{margin-top:20px}.hero-actions{margin-top:22px}.spec-strip-grid{padding-block:28px}.spec-strip-grid>div{flex-direction:row;align-items:center;gap:20px}.spec-strip-grid strong{font-size:2.5rem}.visual-split{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:72px}.visual-copy{padding-right:24px}.mobile-cta{display:none}.footer{padding-bottom:40px}.article-layout{grid-template-columns:240px minmax(0,1fr);gap:80px}.guide-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.download-lead{padding:32px;gap:48px}.download-box .button{margin-top:8px}.page-head{padding-top:36px;padding-bottom:48px}}
@media(min-width:1280px){.hero{gap:52px}.hero-copy .hero-actions{grid-template-columns:minmax(0,1fr)}.hero-shot{aspect-ratio:1.3}.hero h1{font-size:3.35rem}.hero-thumb span{padding-block:7px}.hero h1>span{font-size:1.6rem}.hero-lead{font-size:1.6rem}.hero-description{font-size:var(--text-body)}}
@media(max-width:639px){.header-inner .wordmark{font-size:1rem}.header-actions{gap:8px}.header-inner .small{display:none}.hero{padding-top:20px}.section-head{display:block}.section-head>a,.section-head>p{margin-top:12px}.spec-strip-grid strong{font-size:1.7rem}.spec-strip-grid span{font-size:.75rem}.final-cta .button{width:100%}.lightbox{padding:10px}.lightbox button{padding-inline:10px}.release-row summary time{display:block}.hero-lead br{display:none}.hero h1>span{font-size:.98rem}.filter-row{align-items:flex-start}.filters{gap:6px}.filters button{padding-inline:12px}.footer .related a{font-size:.78rem}.gallery-grid{gap:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.primary:after{display:none}}
/* Compact product details keep both hero actions within a laptop viewport. */
.button{line-height:1.25}.button span{line-height:1}
@media(min-width:1024px){.header-inner{padding-block:12px}.hero{padding-top:28px;padding-bottom:40px;min-height:calc(100svh - 108px)}.hero h1{font-size:2.9rem;line-height:1.2}.hero h1>span{font-size:1.2rem;line-height:1.3;margin-top:12px}.hero h1>span br{display:none}.hero-lead{font-size:1.35rem;line-height:1.5;margin-top:18px}.hero-description{margin-top:12px}.hero-copy .product-spec{margin-top:16px}.product-spec>div{line-height:1.5;padding-block:7px}.hero-copy .hero-actions{margin-top:18px;gap:8px}.hero-shot{aspect-ratio:1.4}.hero-thumbs{margin-top:12px}.tag-row{margin-bottom:14px}}
/* Put the product identity before media on phones and tablets. */
@media(max-width:1023px){.hero{display:flex;flex-direction:column;gap:0}.hero-copy{display:contents}.hero-copy .tag-row{order:-3;margin-bottom:12px}.hero-copy h1{order:-2;margin-bottom:24px}.hero-media{order:-1;margin-bottom:24px}.hero-lead{margin-top:0}.hero-copy .hero-actions{margin-top:24px}.hero-copy .micro{margin-top:12px}}
