/* Hallmark · pre-emit critique: P4 H5 E4 S5 R5 V4
 * genre: atmospheric · macrostructure: Photographic · theme: custom midnight gothic
 * nav: N9 edge-aligned + native menu · footer: Ft1 mast-headed · enrichment: authentic game imagery
 * User palette and local Chinese system fonts intentionally override catalogue defaults. */
:root{--color-paper:#121212;--color-surface:#1b1a1b;--color-ink:#F5F0E8;--color-muted:#b5aea8;--color-accent:#D4AF37;--color-wine:#6B1E2B;--color-rule:#383332;--color-deep:#090a0c;--color-clear:transparent;--color-scrim:rgba(9,10,12,.88);--color-fade:rgba(9,10,12,.08);--color-shade:rgba(9,10,12,.62);--color-success:#a9c6a6;--color-error:#f4a7a7;--font-display:'Songti SC','STSong','Noto Serif CJK SC',serif;--font-body:'PingFang SC','Microsoft YaHei','Noto Sans CJK SC',sans-serif;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--space-3xl:96px;--gutter:clamp(20px,5vw,80px);--z-sticky:200;--z-modal:400}
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:108px}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:16px;line-height:1.8;padding-bottom:88px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-style:normal;overflow-wrap:anywhere;min-width:0}h1,h2{font-family:var(--font-display);font-weight:700;line-height:1.3}h1{font-size:clamp(36px,4.2vw,64px)}h2{font-size:clamp(28px,3vw,44px)}h3{font-size:20px;line-height:1.5}p{max-width:65ch}p+p{margin-top:16px}ul,ol{padding-left:24px}li+li{margin-top:12px}::selection{background:var(--color-wine);color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:5px}a:hover{color:var(--color-accent)}button:disabled{opacity:.4;cursor:not-allowed}button[data-state=loading]{cursor:progress}button[data-state=error]{color:var(--color-error)}button[data-state=success]{color:var(--color-success)}[hidden]{display:none!important}.muted{color:var(--color-muted)}.small{font-size:14px}.gold{color:var(--color-accent)}.wrap{max-width:1440px;margin:auto;padding-inline:var(--gutter)}.section{padding-block:80px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}.section-heading p{color:var(--color-muted);margin-top:14px}.skip{position:fixed;top:-80px;left:16px;z-index:var(--z-modal);background:var(--color-ink);color:var(--color-paper);padding:12px}.skip:focus{top:12px}
.site-header{height:88px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;background:var(--color-deep);z-index:var(--z-sticky)}.brand{display:flex;align-items:center;gap:16px;min-width:0}.brand img{width:137px;height:48px;object-fit:contain}.brand-note{color:var(--color-muted);font-size:12px;border-left:1px solid var(--color-rule);padding-left:16px;line-height:1.5}.header-actions{display:flex;align-items:center;gap:28px}.menu summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:12px;font-size:14px}.menu summary::-webkit-details-marker{display:none}.menu summary:after{content:'+';font-size:24px;font-weight:300}.menu[open] summary:after{content:'−'}.menu nav{position:absolute;right:var(--gutter);top:76px;width:240px;background:var(--color-surface);padding:20px;box-shadow:0 10px 30px var(--color-shade)}.menu nav a{display:block;padding:12px}.menu nav a[aria-current=page]{color:var(--color-accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:13px 26px;min-height:48px;background:var(--color-ink);color:var(--color-paper);font-weight:600;white-space:nowrap;border:1px solid var(--color-ink);border-radius:2px;font-size:15px;transition:background .18s,color .18s}.btn:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-deep)}.btn:active{transform:translateY(1px)}.btn-outline{background:var(--color-clear);color:var(--color-ink);border-color:var(--color-rule)}.btn-small{min-height:42px;padding:8px 18px;font-size:14px}.arrow{font-size:20px;font-weight:400;line-height:1}.text-link{display:inline-flex;min-height:44px;align-items:center;gap:16px;white-space:nowrap;border-bottom:1px solid var(--color-rule);font-size:14px}.actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:30px}
.hero{position:relative;isolation:isolate;min-height:640px;min-height:min(790px,calc(100svh - 88px));display:flex;align-items:end;overflow:clip;background:var(--color-deep)}.hero-media{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:68% center;animation:arrival 5s ease-out both}.hero:after{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,var(--color-scrim),var(--color-shade) 43%,var(--color-fade) 85%),linear-gradient(0deg,var(--color-deep),var(--color-clear) 58%)}.hero-content{width:100%;padding-block:76px 80px}.hero-kicker{display:flex;align-items:center;gap:12px;color:var(--color-muted);font-size:14px;margin-bottom:26px}.hero-kicker:before{content:'';width:24px;height:1px;background:var(--color-accent)}.hero h1{max-width:670px;letter-spacing:.02em}.hero h1 .english{display:block;font-family:var(--font-body);font-size:18px;letter-spacing:.16em;font-weight:400;margin:20px 0}.hero .lede{color:var(--color-muted);max-width:510px;font-size:16px;line-height:1.9}.hero-meta{display:flex;gap:22px;margin-top:26px;color:var(--color-muted);font-size:13px;flex-wrap:wrap}.hero-side{display:none}.hero-caption{position:absolute;right:var(--gutter);bottom:32px;color:var(--color-muted);font-size:12px}.local-nav{background:var(--color-deep);display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:20px;font-size:14px}.local-links{display:flex;flex-wrap:wrap;gap:8px 30px}.local-links a{min-height:44px;display:flex;align-items:center;white-space:nowrap}.local-nav .muted{font-size:12px}.intro{display:grid;gap:32px}.intro p{color:var(--color-muted)}.intro h2{max-width:550px}.fact-line{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-block:32px;margin-top:44px;border-top:1px solid var(--color-rule)}.fact-line dt{font-size:12px;color:var(--color-muted)}.fact-line dd{margin:8px 0 0;font-size:16px}.edition-pair{display:grid;gap:40px}.edition{position:relative}.edition figure{overflow:clip}.edition img{width:100%;aspect-ratio:16/9;object-fit:cover}.edition-info{padding:24px 0}.edition h3{font-family:var(--font-display);font-size:28px}.edition .edition-label{font-size:13px;color:var(--color-accent);margin-bottom:8px}.edition p{color:var(--color-muted);font-size:15px;margin-top:12px}.feature-band{position:relative;min-height:600px;display:flex;align-items:end;isolation:isolate;background:var(--color-deep)}.feature-band>img{position:absolute;width:100%;height:100%;object-fit:cover;z-index:-2}.feature-band:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,var(--color-scrim),var(--color-clear));z-index:-1}.feature-copy{width:100%;padding-block:72px}.feature-copy h2{max-width:650px}.feature-copy p{margin-top:24px;max-width:560px;color:var(--color-ink)}.mechanics{display:grid;gap:32px;margin-top:40px}.mechanics article{padding:0 0 0 24px;border-left:2px solid var(--color-wine)}.mechanics p{margin-top:12px;font-size:15px;color:var(--color-muted)}.gallery-feature{display:block;position:relative}.gallery-feature img{width:100%;aspect-ratio:16/9;object-fit:cover}.zoom-label{position:absolute;right:20px;bottom:20px;background:var(--color-scrim);padding:8px 14px;font-size:13px}.thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}.thumbs a{display:block}.thumbs img{width:100%;aspect-ratio:16/9;object-fit:cover}.thumbs a:hover{outline:1px solid var(--color-accent)}.caption{color:var(--color-muted);font-size:13px;margin-top:12px}.character-line{display:grid;gap:40px}.character-line article{display:flex;gap:24px}.character-line img{width:88px;height:88px;object-fit:cover;flex:none}.character-line p{color:var(--color-muted);margin-top:10px;font-size:15px}.faq-layout{display:grid;gap:40px}.faq-list details{padding:22px 0;border-bottom:1px solid var(--color-rule)}.faq-list summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:32px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';color:var(--color-accent);font-size:22px;flex:none}.faq-list details[open] summary:after{content:'−'}.faq-list details p{color:var(--color-muted);padding-top:18px;font-size:15px}.final-cta{background:var(--color-surface);padding-block:64px;display:flex;align-items:center;justify-content:space-between;gap:32px}.final-cta h2{font-size:32px}.final-cta p{color:var(--color-muted);margin-top:12px}.site-footer{padding-block:56px 32px}.footer-top{display:flex;gap:32px;justify-content:space-between;align-items:center;flex-wrap:wrap}.footer-top img{width:180px;max-height:70px;object-fit:contain;object-position:left}.footer-top p{font-size:13px;color:var(--color-muted);margin-top:12px}.footer-links,.related{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:13px}.footer-links a,.related a{min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}.related{margin-top:32px;color:var(--color-muted);padding-block:16px;border-top:1px solid var(--color-rule)}.related>span{display:inline-flex;align-items:center;color:var(--color-ink)}.copyright{font-size:12px;color:var(--color-muted);line-height:1.9}.mobile-cta{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-sticky);background:var(--color-deep);border-top:1px solid var(--color-rule);padding:12px max(20px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:center;gap:12px}.mobile-cta>span{font-size:13px;line-height:1.5}.mobile-cta small{font-size:11px;color:var(--color-muted)}
.breadcrumb{padding-top:30px;display:flex;gap:14px;align-items:center;font-size:13px;color:var(--color-muted);flex-wrap:wrap}.breadcrumb a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}.page-head{padding-block:48px 56px;max-width:900px}.page-head h1{font-size:clamp(34px,4vw,54px)}.page-head p{margin-top:22px;color:var(--color-muted)}.page-head .overline{color:var(--color-accent);font-size:13px;margin-bottom:16px}.download-layout{display:grid;gap:48px;align-items:start}.download-panel{background:var(--color-surface);padding:32px}.download-panel h2{font-size:30px;margin-top:24px}.download-panel p{font-size:14px;color:var(--color-muted);margin-top:18px}.download-panel img{width:100%;aspect-ratio:16/9;object-fit:cover}.download-panel .btn{width:100%;margin-top:26px}.download-main h2{font-size:30px;margin-bottom:24px}.reading-block{margin-bottom:52px}.reading-block p{color:var(--color-muted)}.steps{list-style:none;padding:0;counter-reset:steps}.steps li{counter-increment:steps;padding-left:44px;position:relative;margin-top:26px}.steps li:before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:0;color:var(--color-accent);font-size:14px}.steps strong{display:block}.steps p{font-size:15px;margin-top:8px}.notice{padding:20px 24px;background:var(--color-surface);border-left:2px solid var(--color-accent);font-size:14px;color:var(--color-muted);margin-top:24px}.specs{display:grid;gap:32px}.spec{background:var(--color-surface);padding:28px}.spec h3{margin-bottom:12px}.spec .small{color:var(--color-muted)}.spec dl{margin:18px 0 0}.spec dl>div{display:flex;justify-content:space-between;gap:24px;padding:12px 0;border-bottom:1px solid var(--color-rule);font-size:14px}.spec dt{color:var(--color-muted);flex:0 0 85px}.spec dd{margin:0;text-align:right}.guide-layout{display:grid;gap:40px;align-items:start}.toc{background:var(--color-surface);padding:24px}.toc h2{font-size:20px;margin-bottom:12px}.toc a{display:block;min-height:44px;padding:8px 0;font-size:14px}.guide-article section{margin-bottom:64px;scroll-margin-top:110px}.guide-article h2{font-size:32px;margin-bottom:24px}.guide-article h3{margin-top:28px;margin-bottom:12px}.guide-article p,.guide-article li{color:var(--color-muted)}.guide-article img{width:100%;aspect-ratio:16/9;object-fit:cover;margin-top:24px}.filters{display:flex;gap:12px;margin-bottom:32px;flex-wrap:wrap}.filter{background:var(--color-clear);border:1px solid var(--color-rule);color:var(--color-muted);padding:10px 22px;min-height:44px;white-space:nowrap;border-radius:2px}.filter:hover{border-color:var(--color-accent)}.filter[aria-pressed=true]{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink)}.gallery-grid{display:grid;gap:32px 24px}.gallery-grid img{width:100%;aspect-ratio:16/9;object-fit:cover}.gallery-grid figcaption{font-size:14px;margin-top:12px}.gallery-grid figcaption span{display:block;color:var(--color-muted);font-size:12px;margin-top:3px}.lightbox{border:1px solid var(--color-rule);background:var(--color-deep);color:var(--color-ink);width:min(1200px,95%);max-height:94svh;padding:20px}.lightbox::backdrop{background:var(--color-scrim)}.lightbox img{width:100%;max-height:74svh;object-fit:contain}.lightbox-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}.lightbox button{border:1px solid var(--color-rule);background:var(--color-surface);color:var(--color-ink);padding:8px 16px;min-height:44px;white-space:nowrap}.lightbox button:hover{border-color:var(--color-accent)}.lightbox .status{font-size:13px;color:var(--color-muted);margin-top:10px}.lightbox-close{margin-left:auto}.filter-status{color:var(--color-muted);font-size:13px;margin-bottom:24px}
@keyframes arrival{from{transform:scale(1.025)}to{transform:scale(1)}}
@media(min-width:48rem){.edition-pair,.specs,.character-line{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fact-line{grid-template-columns:repeat(4,minmax(0,1fr))}.intro{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:80px}.mechanics{grid-template-columns:repeat(2,minmax(0,1fr))}.faq-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.download-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.guide-layout{grid-template-columns:240px minmax(0,1fr)}.toc{position:sticky;top:116px}.hero-side{display:block;position:absolute;right:var(--gutter);bottom:106px;writing-mode:vertical-rl;font-size:12px;letter-spacing:.25em;color:var(--color-muted)}}
@media(min-width:64rem){body{padding-bottom:0}.mobile-cta{display:none}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.download-panel{position:sticky;top:116px}.edition-pair{gap:48px}.hero-content{padding-bottom:88px}}
@media(max-width:47.99rem){.site-header{height:74px}.brand img{width:108px;height:40px}.brand-note{display:none}.header-actions{gap:18px}.header-actions>.btn{display:none}.hero{min-height:610px;min-height:calc(94svh - 74px)}.hero-content{padding-block:170px 56px}.hero h1{font-size:36px}.hero h1 .english{font-size:15px;margin-block:16px}.hero-kicker{font-size:12px;margin-bottom:20px}.hero .lede{font-size:14px;max-width:30em}.hero .actions{gap:12px}.hero .btn{padding-inline:20px}.hero-meta{font-size:12px;gap:12px}.hero-media{object-position:63% center}.hero:after{background:linear-gradient(0deg,var(--color-deep),var(--color-shade) 60%,var(--color-fade))}.hero-caption{display:none}.local-nav .muted{display:none}.local-nav{padding-block:12px}.local-links{justify-content:space-between;gap:12px;width:100%;font-size:13px}.section{padding-block:52px}.section-heading{display:block}.section-heading>.text-link{margin-top:16px}.feature-band{min-height:490px}.feature-copy{padding-block:40px}.feature-copy p{font-size:15px}.thumbs{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.final-cta{align-items:start;flex-direction:column;padding-block:40px}.final-cta h2{font-size:28px}.site-footer{padding-bottom:32px}.page-head{padding-block:28px 40px}.download-panel{padding:24px}.spec{padding:24px}.character-line img{width:72px;height:72px}.lightbox{padding:12px}.lightbox-tools{gap:8px}.lightbox button{padding:8px 12px;font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
