/* Hallmark · macrostructure: Catalogue Editorial · tone: industrial dark fantasy / pixel field guide · anchor hue: warning yellow */
/* Hallmark · pre-emit critique: P4 H4 E4 S5 R4 V4 */
@import url("./tokens.css");
*,*::before,*::after{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:88px}body{background:var(--color-ink);color:var(--color-text);font:16px/1.7 var(--font-body)}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-display);font-style:normal;line-height:1.16}h1,h2{overflow-wrap:anywhere;min-width:0}h2{font-size:var(--text-h2)}p{max-width:72ch}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}.wrap{width:min(1440px,calc(100% - 64px));margin-inline:auto}.narrow{max-width:900px}.micro{font:700 .72rem/1.4 var(--font-mono);letter-spacing:.18em;color:var(--color-yellow);text-transform:uppercase}.site-header{position:sticky;top:0;z-index:30;background:var(--color-ink);border-bottom:var(--rule-thin) solid var(--color-line)}.header-inner{width:min(1540px,calc(100% - 48px));height:74px;margin:auto;display:flex;align-items:center;gap:40px}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border:2px solid var(--color-yellow);color:var(--color-cyan);font:bold 22px/1 var(--font-display)}.brand-type{font:700 18px/1.1 var(--font-display);letter-spacing:.06em}.brand-type span{display:block;font:600 9px/1.5 var(--font-mono);letter-spacing:.2em;color:var(--color-muted)}.main-nav{display:flex;align-items:center;gap:25px;margin-left:auto}.main-nav a{font-size:.87rem;color:var(--color-muted);white-space:nowrap}.main-nav a:hover,.main-nav a[aria-current]{color:var(--color-yellow)}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:53px;padding:10px 23px;background:var(--color-yellow);border:1px solid var(--color-yellow);box-shadow:4px 4px 0 var(--color-red);color:var(--color-accent-ink);font:800 .92rem/1.2 var(--font-body);white-space:nowrap;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.button:hover{background:var(--color-paper)}.button:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--color-red)}.button[aria-disabled="true"],.button.is-disabled{opacity:.5;pointer-events:none}.button.is-loading{cursor:progress;opacity:.7}.button.is-error{box-shadow:4px 4px 0 var(--color-red)}.button.is-success{box-shadow:4px 4px 0 var(--color-cyan)}.button-small{min-height:39px;padding:8px 15px;font-size:.76rem;box-shadow:3px 3px 0 var(--color-red)}.button-outline{background:transparent;color:var(--color-paper);border-color:var(--color-line);box-shadow:none}.button-outline:hover{background:var(--color-ink-soft);color:var(--color-yellow)}.button-outline:active{box-shadow:none}.hero{min-height:640px;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:4vw;align-items:center;padding-block:82px 76px}.hero h1{font-size:var(--text-display);letter-spacing:-.06em;max-width:11ch;margin:20px 0 25px}.hero h1 small{display:block;font:400 clamp(.84rem,1.4vw,1.15rem)/1.45 var(--font-body);letter-spacing:.04em;color:var(--color-muted);margin-top:18px;max-width:44ch}.hero-lede{font-size:clamp(1.07rem,1.7vw,1.34rem);line-height:1.75;max-width:34em;color:var(--color-paper)}.hero-facts{display:flex;flex-wrap:wrap;gap:9px;margin:29px 0 35px}.hero-facts span{border:1px solid var(--color-gun);padding:5px 11px;color:var(--color-cyan);font:700 .75rem/1.4 var(--font-mono)}.hero-actions{display:flex;flex-wrap:wrap;gap:18px}.hero-note{font-size:.75rem;color:var(--color-muted);margin:18px 0 0}.hero-visual{border:1px solid var(--color-line);background:var(--color-ink-soft);padding:10px;box-shadow:18px 18px 0 var(--color-shadow)}.visual-top,.visual-bottom{display:flex;justify-content:space-between;gap:16px;padding:8px 5px;color:var(--color-muted);font:700 .69rem/1.3 var(--font-mono);letter-spacing:.08em}.visual-top span:first-child,.visual-bottom span:last-child{color:var(--color-yellow)}.hero-visual img{width:100%;aspect-ratio:1440/976;object-fit:contain;background:var(--color-ink)}.spec-band{background:var(--color-paper);color:var(--color-ink);border-top:6px solid var(--color-yellow)}.spec-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.spec-grid>div{padding:21px 15px 24px;border-right:1px solid var(--color-paper-deep)}.spec-grid>div:first-child{border-left:1px solid var(--color-paper-deep)}.spec-grid span{display:block;font:.7rem var(--font-mono);color:var(--color-gun);margin-bottom:7px}.spec-grid strong{font-size:1.05rem}.section{padding-block:var(--space-4xl)}.section-heading{margin-bottom:35px}.section-heading h2{max-width:18ch;margin:12px 0 0}.story-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:9vw}.story-copy{font-size:1.08rem;color:var(--color-paper);line-height:1.95}.story-copy p{margin-bottom:20px}.text-link{display:inline-block;border-bottom:1px solid var(--color-yellow);color:var(--color-yellow);font-weight:700;padding-bottom:4px}.text-link:hover{color:var(--color-paper);border-color:var(--color-paper)}.quote-panel{background:var(--color-ink-soft);border-left:4px solid var(--color-red);padding:33px 38px;align-self:start}.quote-panel span,.guide-aside span{font:700 .7rem var(--font-mono);letter-spacing:.14em;color:var(--color-cyan)}.quote-panel strong{display:block;font:700 clamp(1.8rem,3vw,3rem)/1.38 var(--font-display);margin:20px 0;color:var(--color-paper)}.quote-panel p{color:var(--color-muted);margin:0}.feature-shell{background:var(--color-paper);color:var(--color-ink)}.feature-shell .micro{color:var(--color-red)}.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--color-gun)}.features article{padding:30px 32px 7px 0;margin-right:28px;border-right:1px solid var(--color-paper-deep)}.features article:last-child{border:0}.feature-index{font:800 1.6rem/1 var(--font-mono);color:var(--color-red)}.features h3{font-size:1.56rem;margin:24px 0 12px}.features p{color:var(--color-ink-soft);line-height:1.85}.heading-row{display:flex;justify-content:space-between;align-items:end;gap:20px}.gallery-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px}.gallery-link{display:block;position:relative;border:1px solid var(--color-line);background:var(--color-ink-soft);overflow:hidden}.gallery-link img{width:100%;height:300px;object-fit:contain}.gallery-link span{display:block;padding:10px 14px;border-top:1px solid var(--color-line);font-size:.84rem;color:var(--color-paper)}.gallery-link:hover{border-color:var(--color-yellow)}.update-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw;border-top:1px solid var(--color-line)}.update-card{border:1px solid var(--color-line);padding:28px;background:var(--color-ink-soft)}.update-card>div{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--color-line);padding-bottom:16px}.update-card strong{color:var(--color-yellow);font:700 1.7rem var(--font-mono)}.update-card time{color:var(--color-muted);font:.85rem var(--font-mono)}.update-card ul{margin:20px 0 0;padding-left:20px}.fit-panel p{color:var(--color-paper);font-size:1.06rem;line-height:1.9}.faq-section{background:var(--color-ink-soft)}.faq-section details,.download-faq details{border-top:1px solid var(--color-line);padding:0}.faq-section details:last-child,.download-faq details:last-child{border-bottom:1px solid var(--color-line)}summary{cursor:pointer;padding:18px 38px 18px 0;font-weight:700;position:relative;list-style:none}summary::-webkit-details-marker{display:none}summary::after{content:'+';position:absolute;right:6px;color:var(--color-yellow);font:400 1.5rem/1 var(--font-mono)}details[open] summary::after{content:'−'}details p{color:var(--color-muted);padding:0 25px 20px 0;margin:0}.final-cta{padding:86px 0 94px;background:linear-gradient(115deg,var(--color-ink),var(--color-ink-soft));border-top:5px solid var(--color-red)}.final-cta h2{max-width:12ch;margin:10px 0 16px}.final-cta p:not(.micro){color:var(--color-muted);font-size:1.12rem}.final-cta small{display:block;color:var(--color-muted);margin-top:22px}.footer{background:var(--color-footer);border-top:1px solid var(--color-line);padding:57px 0 20px}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr 1.3fr;gap:50px}.footer-logo{font:700 1.5rem var(--font-display)}.footer-logo span{font:700 .66rem var(--font-mono);color:var(--color-yellow)}.footer p{color:var(--color-muted);font-size:.86rem}.footer h2{font:700 .8rem var(--font-mono);color:var(--color-yellow);margin-bottom:17px}.footer a:not(.button){display:block;color:var(--color-muted);font-size:.84rem;margin:5px 0}.footer a:hover{color:var(--color-yellow)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:30px;margin-top:40px;border-top:1px solid var(--color-line);color:var(--color-gun);font-size:.74rem}.back-top{position:fixed;right:22px;bottom:22px;z-index:20;display:grid;place-items:center;width:39px;height:39px;background:var(--color-ink);border:1px solid var(--color-line);color:var(--color-yellow)}.mobile-cta{display:none}.subpage{padding:38px 0 105px}.breadcrumbs{display:flex;gap:10px;color:var(--color-muted);font-size:.78rem;margin-bottom:60px}.breadcrumbs a:hover{color:var(--color-yellow)}.subhead{border-bottom:1px solid var(--color-line);padding-bottom:45px;margin-bottom:38px}.subhead h1{font-size:clamp(2.7rem,5vw,5.4rem);max-width:16ch;letter-spacing:-.05em;margin:15px 0 20px}.subhead p:last-child{font-size:1.08rem;color:var(--color-muted)}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}.filter{background:var(--color-ink-soft);color:var(--color-paper);border:1px solid var(--color-line);padding:9px 20px;cursor:pointer}.filter:hover,.filter.is-active{border-color:var(--color-yellow);color:var(--color-yellow)}.filter:active{transform:translateY(2px)}.gallery-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.gallery-card{margin:0;border:1px solid var(--color-line);background:var(--color-ink-soft)}.gallery-card:first-child{grid-column:span 2}.gallery-card img{width:100%;height:auto;max-height:650px;object-fit:contain}.gallery-card figcaption{display:flex;justify-content:space-between;gap:15px;padding:14px 17px;border-top:1px solid var(--color-line)}.gallery-card figcaption span{font-weight:700}.gallery-card figcaption small{color:var(--color-muted)}.gallery-card[hidden]{display:none}.next-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:50px}.next-links a{border-bottom:1px solid var(--color-yellow);color:var(--color-yellow);font-weight:700}.guide-toc{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 45px}.guide-toc a{border:1px solid var(--color-line);padding:10px 16px;font-size:.85rem}.guide-toc a:hover{border-color:var(--color-yellow);color:var(--color-yellow)}.guide-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr);gap:8vw}.guide-body section{scroll-margin-top:105px;border-top:1px solid var(--color-line);padding:35px 0 45px}.guide-body h2{font-size:clamp(1.7rem,2.5vw,2.7rem);margin-bottom:22px}.guide-body p,.guide-body li{line-height:1.95;color:var(--color-paper)}.guide-body li{margin-bottom:8px}.guide-body a:not(.guide-figure a){color:var(--color-yellow);text-decoration:underline;text-underline-offset:4px}.guide-figure{margin:32px 0 0}.guide-figure img{border:1px solid var(--color-line)}figcaption{color:var(--color-muted);font-size:.82rem;margin-top:8px}.guide-aside{align-self:start;position:sticky;top:105px;border:1px solid var(--color-line);padding:24px;background:var(--color-ink-soft)}.guide-aside strong{display:block;font:700 1.5rem/1.5 var(--font-display);margin:12px 0}.guide-aside p{color:var(--color-muted);font-size:.9rem}.download-layout{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:7vw}.download-card{align-self:start;position:sticky;top:105px;border:1px solid var(--color-yellow);padding:26px;background:var(--color-ink-soft)}.download-card-top{border-bottom:1px solid var(--color-line);padding-bottom:20px}.download-card-top span{font:700 .7rem var(--font-mono);color:var(--color-cyan);letter-spacing:.12em}.download-card-top strong{display:block;font:700 1.8rem var(--font-display);margin-top:12px}.download-card dl{margin:20px 0}.download-card dl div{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid var(--color-line)}.download-card dt{color:var(--color-muted)}.download-card dd{margin:0;font-weight:700;text-align:right}.download-card .button{width:100%}.fine{font-size:.72rem!important;color:var(--color-muted)}.download-detail section{border-top:1px solid var(--color-line);padding:28px 0 40px}.download-detail h2{font-size:clamp(1.7rem,2.6vw,2.65rem)}.download-detail p{color:var(--color-paper);line-height:1.9}.steps{list-style:none;counter-reset:step;padding:0}.steps li{display:grid;grid-template-columns:38px 1fr;column-gap:16px;margin:25px 0}.steps li::before{counter-increment:step;content:counter(step,decimal-leading-zero);grid-row:span 2;color:var(--color-yellow);font:700 1.1rem var(--font-mono)}.steps strong{font-size:1.05rem}.steps p{grid-column:2;margin:3px 0 0}.lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:58px 60px 35px;background:var(--color-overlay);color:var(--color-paper);z-index:100}.lightbox::backdrop{background:var(--color-backdrop)}.lightbox figure{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0}.lightbox img{max-height:calc(100dvh - 125px);max-width:100%;width:auto;object-fit:contain}.lightbox figcaption{font-size:.9rem;color:var(--color-paper)}.lightbox button{position:absolute;border:1px solid var(--color-line);background:var(--color-ink);color:var(--color-yellow);cursor:pointer;width:42px;height:42px}.lightbox-close{right:18px;top:18px}.lightbox-prev{left:12px;top:50%}.lightbox-next{right:12px;top:50%}
@media(max-width:1080px){.header-inner{gap:20px}.main-nav{gap:13px}.header-cta{display:none}.hero{gap:35px}.hero h1{font-size:clamp(2.65rem,5vw,4.2rem)}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid .gallery-link:first-child{grid-column:span 2}.gallery-link img{height:260px}}
@media(max-width:760px){.wrap{width:min(100% - 32px,580px)}.header-inner{width:calc(100% - 24px);height:auto;min-height:66px;flex-wrap:wrap;gap:5px;padding:8px 0}.brand{margin-right:auto}.brand-type{font-size:16px}.main-nav{order:2;width:100%;justify-content:space-between;gap:8px;margin-left:0;overflow-x:auto;padding:6px 0 3px}.main-nav a{font-size:.76rem}.hero{display:flex;flex-direction:column;align-items:stretch;gap:35px;min-height:0;padding-block:42px 55px}.hero h1{font-size:clamp(2.55rem,10vw,4rem)}.hero-lede{font-size:1.04rem}.hero-actions{gap:12px}.hero-actions .button{flex:1}.hero-visual{box-shadow:8px 8px 0 var(--color-shadow)}.spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spec-grid>div{border-bottom:1px solid var(--color-paper-deep)}.section{padding-block:66px}.story-grid,.update-grid,.guide-layout,.download-layout{grid-template-columns:minmax(0,1fr);gap:38px}.section-heading h2{max-width:none}.features{grid-template-columns:minmax(0,1fr)}.features article{border-right:0;border-bottom:1px solid var(--color-paper-deep);margin:0;padding:27px 0}.features article:last-child{border:0}.heading-row{display:block}.heading-row .text-link{margin-top:17px}.gallery-grid{grid-template-columns:minmax(0,1fr)}.gallery-grid .gallery-link:first-child{grid-column:auto}.gallery-link img{height:auto}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.footer-grid>div:first-child{grid-column:span 2}.footer-bottom{display:block}.footer-bottom span{display:block;margin:6px 0}.back-top{bottom:81px;right:16px}.mobile-cta{display:block;position:fixed;z-index:40;bottom:0;left:0;right:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--color-ink);border-top:1px solid var(--color-line)}.mobile-cta .button{width:100%;min-height:48px}.footer{padding-bottom:100px}.subpage{padding-top:20px}.breadcrumbs{margin-bottom:40px}.subhead{padding-bottom:30px}.subhead h1{font-size:clamp(2.4rem,9vw,4rem)}.gallery-page-grid{grid-template-columns:minmax(0,1fr)}.gallery-card:first-child{grid-column:auto}.gallery-card figcaption{display:block}.gallery-card figcaption small{display:block}.guide-aside,.download-card{position:static;order:-1}.lightbox{padding:58px 40px 70px}.lightbox-prev{left:3px}.lightbox-next{right:3px}}
@media(max-width:380px){.brand-type{font-size:14px}.brand-mark{width:31px;height:31px}.main-nav a{font-size:.7rem}.hero-actions{display:grid;grid-template-columns:minmax(0,1fr)}.hero h1{font-size:2.36rem}.spec-grid strong{font-size:.91rem}.visual-top,.visual-bottom{font-size:.56rem}.footer-grid{grid-template-columns:minmax(0,1fr)}.footer-grid>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.brand-game-logo{width:128px;height:auto;aspect-ratio:310/110;object-fit:contain}.footer-game-logo{width:178px;height:auto;aspect-ratio:310/110;object-fit:contain;margin-bottom:12px}@media(max-width:760px){.brand-game-logo{width:105px}.brand-type{font-size:14px}}@media(max-width:380px){.brand-game-logo{width:92px}.brand-type{font-size:12px}}
