/* Hallmark · macrostructure: Photographic · tone: dungeon field dossier · anchor hue: cyan
 * custom: dark tactical game archive · paper oklch(16.7% .016 279) · accent oklch(90.5% .155 194.8)
 * fonts: Barlow Condensed + Noto Sans SC · axes: dark / condensed-sans / cyan-pink · nav: N12 · footer: Ft4
 * Pre-emit critique: P4 H5 E4 S5 R5 V4 */
@import url('tokens.css');
@import url('fonts.css');
*{box-sizing:border-box}html,body{overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.8}body.modal-open{overflow-y:hidden}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-style:normal;font-weight:800;line-height:1.35;overflow-wrap:anywhere;min-width:0}h2{font-size:var(--text-heading);letter-spacing:-.035em}h3{font-size:var(--text-lead)}p{color:var(--color-muted)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:var(--color-clear)}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-focus);outline-offset:5px}button:disabled,[aria-disabled=true]{opacity:.5;cursor:not-allowed}button:active,.button:active{transform:translateY(1px)}button[data-state=error]{border-color:var(--color-error)}button[data-state=success]{border-color:var(--color-success)}button[aria-busy=true]{opacity:.65}img{display:block;width:100%;height:auto}img[data-error]{opacity:.2}a,button{touch-action:manipulation}button{background:var(--color-paper-2);border:1px solid var(--color-rule)}[hidden]{display:none!important}.wrap{width:min(1280px,calc(100% - 80px));margin-inline:auto}.skip{position:fixed;top:0;left:16px;padding:12px;background:var(--color-accent);color:var(--color-accent-ink);z-index:var(--z-modal);transform:translateY(-150%)}.skip:focus{transform:none}.site-header{position:fixed;inset:0 0 auto;z-index:var(--z-sticky);background:var(--color-paper);color:var(--color-ink);transition:transform var(--dur-short) var(--ease-out)}.site-header.compact{transform:translateY(calc(-1 * var(--banner-height)))}.announcement{height:var(--banner-height);background:var(--color-paper-3);color:var(--color-accent);display:flex;justify-content:center;align-items:center;font-size:var(--text-small);letter-spacing:.03em}.dismiss{position:absolute;right:16px;top:0;width:44px;height:36px;min-height:36px;border:0;background:var(--color-clear);font-size:22px}.nav-wrap{width:min(1360px,calc(100% - 48px));margin:auto;min-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:18px;line-height:1.3}.brand img{width:38px;height:38px;object-fit:cover}.brand small{display:block;font-family:var(--font-display);font-weight:500;letter-spacing:.13em;font-size:12px;color:var(--color-muted);margin-top:5px}.nav-wrap nav{display:flex;gap:28px;margin-left:auto}.nav-wrap nav a{font-size:15px;min-height:44px;display:flex;align-items:center;white-space:nowrap}.nav-wrap nav a[aria-current]{color:var(--color-accent)}.nav-cta .button{padding:11px 22px;min-height:44px}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:56px;padding:14px 24px;border:1px solid var(--color-rule);font-weight:750;white-space:nowrap;line-height:1.4;position:relative;transition:transform var(--dur-micro) var(--ease-out)}.primary{background:var(--color-pink);color:var(--color-pink-ink);border-color:var(--color-pink);box-shadow:inset 0 0 0 1px var(--color-ink)}.primary span{font-size:20px}.secondary{background:var(--color-paper-2);color:var(--color-ink)}.actions{display:flex;flex-wrap:wrap;gap:12px}.text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--color-accent);white-space:nowrap;font-weight:650}.hero{min-height:790px;height:calc(100svh - 32px);max-height:980px;position:relative;isolation:isolate;padding-top:116px}.hero-image{position:absolute;inset:116px 0 0 auto;width:88%;height:calc(100% - 116px);object-fit:cover;object-position:68% center;z-index:-3}.hero-shade{position:absolute;inset:116px 0 0;z-index:-2;background:linear-gradient(90deg,var(--color-hero-left) 3%,var(--color-hero-right) 100%)}.hero-shade:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,var(--color-paper) 0%,var(--color-clear) 70%)}.hero-content{height:100%;display:flex;align-items:center;position:relative;padding-block:48px 96px}.hero-copy{width:660px;max-width:100%}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.tags span,.tag{font-size:var(--text-small);color:var(--color-accent);padding:4px 10px;border:1px solid var(--color-rule);background:var(--color-paper-2)}.hero h1{font-size:var(--text-display);letter-spacing:-.055em;line-height:1.35}.hero h1 strong{display:block;font-size:clamp(3.5rem,6.5vw,6rem);font-weight:900;margin-top:10px}.hero h1 strong span{font-family:var(--font-display);font-size:clamp(3rem,6vw,6rem);margin-left:24px;color:var(--color-accent);letter-spacing:-.03em;font-weight:800}.english{font-family:var(--font-display);font-size:21px;letter-spacing:.015em;color:var(--color-muted);margin-top:12px}.hero-description{font-size:20px;color:var(--color-ink);line-height:1.8;margin:28px 0}.hero-facts{display:flex;gap:24px;flex-wrap:wrap;margin-top:28px;font-size:14px;color:var(--color-muted)}.hero-facts span:before{content:'—';margin-right:8px;color:var(--color-accent)}.hero-caption{position:absolute;right:0;bottom:28px;text-align:right;font-size:14px;color:var(--color-muted);white-space:nowrap}.hero-caption span{display:block;color:var(--color-accent)}.spec-strip{background:var(--color-paper-2);color:var(--color-ink);position:relative;margin-top:-8px}.spec-strip dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:24px 28px;gap:20px}.spec-strip dt{font-size:14px;color:var(--color-muted)}.spec-strip dd{font-size:15px;white-space:nowrap;font-weight:650;font-variant-numeric:tabular-nums;margin-top:8px}.story{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:center;padding-block:96px 64px}.story-copy p{margin-top:24px;max-width:40ch}.story-copy .text-link{margin-top:24px}.story-media img{aspect-ratio:16/9;object-fit:contain}.story-media{background:var(--color-paper-2);color:var(--color-ink)}figcaption{font-size:14px;color:var(--color-muted);padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:10px}.story-media figcaption{padding:12px 20px}.section-heading{margin-bottom:32px}.section-heading p{margin-top:12px}.section-heading.inline{display:flex;justify-content:space-between;align-items:end;gap:24px}.mechanics{padding-block:32px 72px}.mechanic-list{border-top:1px solid var(--color-rule)}.mechanic-list article{display:grid;grid-template-columns:140px minmax(0,1fr);gap:36px;padding:28px 0;border-bottom:1px solid var(--color-rule);align-items:start}.mechanic-list b{font-size:30px;color:var(--color-accent);font-weight:500}.mechanic-list p{margin-top:8px;max-width:75ch}.gallery-preview{padding-block:24px 72px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery-item{min-width:0}.image-link{display:block;position:relative;overflow:clip;background:var(--color-paper-2);color:var(--color-ink)}.image-link img{aspect-ratio:16/9;object-fit:contain;transition:transform var(--dur-short) var(--ease-out)}.expand{position:absolute;right:12px;bottom:12px;background:var(--color-paper);color:var(--color-ink);width:32px;height:32px;text-align:center;line-height:32px}.gallery-item figcaption small{font-size:12px;white-space:nowrap}.route-banner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:64px;padding-block:48px;background:var(--color-paper-2);color:var(--color-ink);padding-inline:40px;align-items:center}.route-banner h2{margin-top:20px}.route-banner p{margin:20px 0 28px}.route-banner img{aspect-ratio:16/9;object-fit:cover}.audience{padding-block:72px 56px}.audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:28px}.audience-grid strong{display:block;font-size:18px;color:var(--color-ink);margin-bottom:12px}.release{padding-block:16px 56px}.release h2{margin-bottom:24px}.release summary{display:flex;gap:28px;align-items:center;min-height:80px}.release summary span{margin-left:auto}.release time{font-family:var(--font-display);font-size:24px;color:var(--color-accent);font-variant-numeric:tabular-nums}.release p{padding:0 0 24px}.release details{border-block:1px solid var(--color-rule)}.faq-section{padding-block:16px 64px}.faq-section h2{margin-bottom:28px}.faq details{border-bottom:1px solid var(--color-rule)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.faq summary{min-height:72px;padding:20px 0;display:flex;gap:20px;align-items:center;justify-content:space-between;font-weight:650}.faq summary span{width:20px;flex-shrink:0}.faq summary span:after{content:'＋';color:var(--color-accent)}.faq details[open] summary span:after{content:'−'}.faq p{padding:0 40px 24px 0;max-width:90ch}.final-cta{border-top:1px solid var(--color-accent);padding-block:40px;display:flex;align-items:center;justify-content:space-between;gap:32px}.final-cta p{margin-top:8px}.footer{padding-block:48px 32px;border-top:1px solid var(--color-rule)}.footer-brand{font-size:24px;font-weight:850}.footer-brand span{font-family:var(--font-display);color:var(--color-accent);margin-left:16px}.footer>p{margin-top:12px;font-size:14px}.footer-nav{display:flex;flex-wrap:wrap;gap:8px 28px;margin-block:20px}.footer-nav a,.related a{font-size:14px;min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}.related summary{min-height:44px;display:flex;align-items:center;font-size:14px}.related summary:after{content:'＋';margin-left:12px;color:var(--color-accent)}.related[open] summary:after{content:'−'}.related>div{display:flex;flex-wrap:wrap;gap:4px 24px;padding-block:8px}.copyright{color:var(--color-muted);max-width:100ch}.mobile-cta{display:none}.page-heading{padding-block:172px 48px}.breadcrumb{font-size:14px;color:var(--color-accent);display:inline-flex;min-height:44px;align-items:center;white-space:nowrap}.page-heading h1{font-size:clamp(2rem,4vw,3.5rem);margin-block:16px 20px;max-width:26ch}.page-heading>p{max-width:70ch;font-size:18px}.gallery-page{padding-bottom:96px;min-height:55vh}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{padding:10px 24px;min-height:44px;white-space:nowrap}.filters button[aria-pressed=true]{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}.gallery-count{margin-block:16px 24px;font-size:14px}.download-panel{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);background:var(--color-paper-2);color:var(--color-ink)}.download-art{display:flex;align-items:center;background:var(--color-paper);color:var(--color-ink)}.download-info{padding:40px}.download-info h2{margin-top:24px;font-size:26px}.download-info dl{margin-block:24px}.download-info dl>div{display:flex;gap:20px;justify-content:space-between;font-size:14px;margin:10px 0}.download-info dt{color:var(--color-muted)}.download-info .button{width:100%}.small{font-size:14px;margin-top:12px}.install{padding-block:64px 40px}.steps{padding:0;list-style:none;counter-reset:steps;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:32px}.steps li{counter-increment:steps}.steps li:before{content:'0' counter(steps);font-family:var(--font-display);color:var(--color-accent);font-size:36px;display:block;margin-bottom:12px}.steps p{margin-top:12px}.requirements{padding-block:16px 48px}.requirements h2{margin-bottom:28px}.table-scroll{overflow:auto}.table-scroll table{width:100%;border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums;font-size:15px}.table-scroll th,.table-scroll td{padding:16px 20px;border-bottom:1px solid var(--color-rule);vertical-align:top}.table-scroll thead{background:var(--color-paper-2);color:var(--color-ink)}.table-scroll tbody th{width:18%;color:var(--color-muted);font-weight:400}.table-scroll tbody td{width:41%}.table-note{font-size:14px;margin:20px 0}.guide-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:64px}.guide-index a{background:var(--color-paper-2);color:var(--color-ink);padding:28px;display:flex;justify-content:space-between;align-items:center;gap:16px}.guide-index h2{font-size:19px}.guide-index span{white-space:nowrap;font-size:14px;color:var(--color-accent)}.article-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:72px;padding-bottom:64px}.toc{align-self:start;position:sticky;top:120px;border-top:2px solid var(--color-accent);padding-top:20px;display:flex;flex-direction:column}.toc strong{margin-bottom:16px}.toc a{font-size:14px;min-height:44px;display:flex;align-items:center;white-space:nowrap}.article-body{max-width:850px}.article-body section{margin-bottom:56px;scroll-margin-top:120px}.article-body h2{font-size:27px;margin-bottom:24px}.article-body p+p{margin-top:20px}.article-body li{margin-bottom:12px;color:var(--color-muted)}.advice{background:var(--color-paper-2);color:var(--color-ink);padding:24px;margin-top:24px}.article-body>figure{margin-block:32px}.lightbox{position:fixed;inset:0;margin:auto;width:min(1280px,94vw);height:fit-content;max-height:94svh;padding:16px 24px;border:1px solid var(--color-rule);background:var(--color-paper);color:var(--color-ink);overflow:auto}.lightbox::backdrop{background:var(--color-overlay)}.lightbox-top,.lightbox-bottom{display:flex;gap:16px;align-items:center;justify-content:space-between}.lightbox-top{margin-bottom:12px}.lightbox-top button,.lightbox-bottom button{min-height:44px;min-width:48px;padding:8px 16px}.lightbox-img{max-height:72svh;object-fit:contain;aspect-ratio:16/9;background:var(--color-paper-2);color:var(--color-ink)}.lightbox-bottom{margin-top:12px}.lightbox-bottom p{font-size:14px}.lightbox-status:empty{display:none}.lightbox-status{padding:12px;color:var(--color-error)}.lightbox [aria-busy=true]{opacity:.4}
@media(hover:hover){a:hover{color:var(--color-accent)}.primary:hover{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}.secondary:hover,button:hover{background:var(--color-paper-3);color:var(--color-ink)}.image-link:hover img{transform:scale(1.025)}.guide-index a:hover{background:var(--color-paper-3);color:var(--color-ink)}summary:hover{color:var(--color-accent)}}
@media(min-width:1600px){.hero-image{width:83%;object-position:80% center}.hero-shade{background:linear-gradient(90deg,var(--color-hero-left) 20%,var(--color-hero-right) 100%)}}
@media(max-width:1024px){.wrap{width:calc(100% - 48px)}.nav-wrap{gap:20px}.nav-wrap nav{gap:20px}.brand small{display:none}.nav-cta .button{padding-inline:16px;gap:12px}.hero{min-height:760px}.hero-copy{width:580px}.hero-image{width:100%;object-position:70% center}.hero-shade{background:linear-gradient(90deg,var(--color-hero-left),var(--color-hero-right))}.story{gap:32px}.spec-strip dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gallery-grid{gap:16px}.route-banner{gap:32px;padding-inline:28px}.article-layout{grid-template-columns:200px minmax(0,1fr);gap:40px}.guide-index a{display:block}.guide-index span{display:inline-block;margin-top:12px}.download-info{padding:28px}}
@media(max-width:768px){.nav-wrap{width:calc(100% - 32px);min-height:68px;gap:12px}.brand{font-size:16px}.brand img{width:32px;height:32px}.menu-toggle{display:block;margin-left:auto;min-height:44px;padding:8px 14px;font-size:14px}.nav-cta .button{font-size:14px;min-height:44px;gap:8px;padding:10px 14px}.nav-wrap nav{display:none;position:absolute;top:calc(var(--banner-height) + 68px);left:0;right:0;margin:0;background:var(--color-paper-2);color:var(--color-ink);padding:16px 24px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;border-bottom:1px solid var(--color-rule)}.nav-wrap nav.open{display:grid}.nav-wrap nav a{padding:8px}.hero{height:auto;min-height:760px;padding-top:104px}.hero-image{inset:104px 0 auto;width:100%;height:400px;object-position:center;opacity:.8}.hero-shade{inset:104px 0 0;background:linear-gradient(0deg,var(--color-paper) 40%,var(--color-hero-right) 100%)}.hero-shade:after{display:none}.hero-content{padding-top:210px;padding-bottom:40px;display:block}.hero h1{font-size:32px}.hero h1 strong{font-size:54px}.hero h1 strong span{font-size:54px;margin-left:20px}.english{font-size:18px}.hero-description{font-size:18px;margin-block:20px}.hero-caption{position:static;display:inline-block;text-align:left;margin-top:24px;font-size:12px}.hero-caption span{display:none}.hero-facts{gap:16px;margin-top:24px}.tags{margin-bottom:16px}.spec-strip{margin-top:0}.spec-strip dl{grid-template-columns:repeat(2,minmax(0,1fr));padding:24px}.story{grid-template-columns:minmax(0,1fr);padding-block:56px;gap:32px}.story-copy p{max-width:100%}.mechanic-list article{grid-template-columns:90px minmax(0,1fr);gap:20px}.mechanic-list b{font-size:24px}.section-heading.inline{display:block}.section-heading.inline .text-link{margin-top:16px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid .gallery-item:first-child{grid-column:1/-1}.route-banner{grid-template-columns:minmax(0,1fr);padding:28px;gap:32px}.audience-grid{grid-template-columns:minmax(0,1fr);gap:24px}.audience-grid p{padding-bottom:24px;border-bottom:1px solid var(--color-rule)}.audience{padding-block:56px 32px}.final-cta{display:block}.final-cta .button{margin-top:24px}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:var(--z-sticky);align-items:center;justify-content:space-between;gap:16px;background:var(--color-paper-2);color:var(--color-ink);padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--color-rule)}.mobile-cta>span{font-size:14px;font-weight:700;line-height:1.5}.mobile-cta small{display:block;font-size:12px;color:var(--color-muted);font-weight:400}.mobile-cta .button{min-height:44px;padding:10px 24px;font-size:15px;gap:20px}.footer{padding-bottom:124px}.page-heading{padding-top:144px;padding-bottom:32px}.page-heading h1{font-size:32px}.page-heading>p{font-size:16px}.download-panel{grid-template-columns:minmax(0,1fr)}.download-info{padding:28px}.steps{grid-template-columns:minmax(0,1fr);gap:24px}.steps li:before{margin-bottom:8px}.steps p{margin-top:8px}.article-layout{grid-template-columns:minmax(0,1fr);gap:32px}.toc{position:static;display:flex;flex-direction:row;flex-wrap:wrap;gap:4px 20px}.toc strong{width:100%;margin-bottom:8px}.article-body h2{font-size:24px}.table-scroll th,.table-scroll td{padding:12px;font-size:14px}.table-scroll tbody th{min-width:85px}.release summary{gap:16px;flex-wrap:wrap;padding-block:16px}.release summary strong{font-size:15px}.release time{font-size:20px}.lightbox{padding:12px;width:96vw}.lightbox-bottom{gap:8px}.lightbox-bottom button{padding:8px 12px}.lightbox-img{max-height:64svh}.lightbox-bottom p{text-align:center}.announcement{font-size:12px;padding-right:24px}}
@media(max-width:414px){.wrap{width:calc(100% - 32px)}.nav-wrap{gap:8px}.brand{font-size:14px;gap:8px}.brand img{width:28px;height:28px}.nav-cta{display:none}.hero h1{font-size:27px}.hero h1 strong{font-size:48px}.hero h1 strong span{font-size:46px;margin-left:14px}.hero-description{font-size:17px}.hero .actions{display:grid;grid-template-columns:minmax(0,1fr);max-width:320px;gap:10px}.hero .button{min-height:52px}.hero{min-height:840px}.hero-content{padding-top:200px}.hero-facts{gap:12px;font-size:12px}.hero-facts span:before{margin-right:4px}.spec-strip dl{padding:20px 16px;gap:20px 12px}.spec-strip dd{font-size:13px}.spec-strip dt{font-size:12px}.gallery-grid{grid-template-columns:minmax(0,1fr)}.gallery-grid .gallery-item:first-child{grid-column:auto}.mechanic-list article{display:block}.mechanic-list b{display:block;margin-bottom:12px}.mechanics{padding-bottom:48px}.route-banner{padding:24px 20px}.route-banner .button{font-size:14px;padding-inline:14px}.guide-index{grid-template-columns:minmax(0,1fr)}.guide-index a{padding:20px}.guide-index h2{font-size:18px}.faq summary{font-size:15px}.faq p{padding-right:0}.filters button{padding-inline:16px}.page-heading h1{font-size:28px}.page-heading .breadcrumb{font-size:13px}.article-body section{margin-bottom:40px}.table-scroll table{min-width:480px}.mobile-cta{padding-inline:16px}.mobile-cta .button{padding-inline:20px}.footer .related a{font-size:13px}.copyright{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.image-link:hover img{transform:none}}
