/* Hallmark · pre-emit critique: P4 H5 E4 S5 R5 V4
 * macrostructure: Catalogue adapted to VN chapter shelf · genre: atmospheric
 * theme: custom · axes: dark / Chinese roman serif / yellow
 * nav: N1b (4 links, solid, no dropdown) · footer: Ft4 (ragged-right credits)
 * enrichment: actual local game screenshots · reveal: none
 * User's industrial hex anchors and system Chinese type are preserved deliberately.
 */
:root{--color-paper:#111315;--color-paper-2:#1a1d20;--color-paper-3:#252a2e;--color-ink:#f5f0e6;--color-ink-2:#d4d4ce;--color-muted:#abb3bd;--color-rule:#4b5563;--color-accent:#facc15;--color-accent-ink:#111315;--color-accent-hover:#e8bb10;--color-focus:#8069a2;--color-error:#dc2626;--color-success:#b4c992;--color-washi:#f5f0e6;--color-washi-ink:#262523;--color-washi-muted:#595650;--color-washi-rule:#c8c0b3;--color-seal:#b8322a;--color-scrim:rgba(17,19,21,.92);--color-glass:rgba(17,19,21,.96);--color-clear:transparent;--font-display:'Songti SC','STSong','SimSun',serif;--font-body:'PingFang SC','Microsoft YaHei',sans-serif;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--space-3xl:96px;--z-base:1;--z-raised:10;--z-sticky:200;--z-modal:400;--dur-micro:120ms;--ease-out:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html,body{overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--color-paper);color:var(--color-ink);font:16px/1.7 var(--font-body);padding-bottom:100px}h1,h2,h3,h4{font-family:var(--font-display);font-style:normal;line-height:1.25;overflow-wrap:anywhere;min-width:0;margin:0;font-weight:700}h1{font-size:clamp(36px,5.2vw,72px);letter-spacing:-.035em}h2{font-size:clamp(28px,3vw,40px)}h3{font-size:24px}p{margin:0 0 16px;max-width:65ch}a{color:inherit;text-underline-offset:5px}img{display:block;max-width:100%;height:auto}figure{margin:0}button{font:inherit;color:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:var(--color-clear)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}button:disabled,[aria-disabled=true]{opacity:.48;cursor:not-allowed}.wrap{width:min(1200px,calc(100% - 32px));margin-inline:auto}.skip{position:absolute;inset:0 auto auto 16px;transform:translateY(-120%);background:var(--color-accent);color:var(--color-accent-ink);padding:12px;z-index:var(--z-modal)}.skip:focus{transform:none}
.nav{position:sticky;top:0;background:var(--color-paper);color:var(--color-ink);z-index:var(--z-sticky);border-bottom:1px solid var(--color-rule)}.nav-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:72px;gap:16px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-weight:700;white-space:nowrap}.brand img{width:36px;height:36px;object-fit:cover;border-radius:2px}.brand span small{display:block;font-weight:400;color:var(--color-muted);font-size:10px;line-height:1.3;letter-spacing:.12em}.nav-center{display:none;gap:24px}.nav-center a,.foot-links a,.crumb a{white-space:nowrap;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.nav-center [aria-current=page]{color:var(--color-accent);text-decoration:underline}.nav-action{display:none}.mobile-menu{position:relative}.mobile-menu summary{list-style:none;padding:8px 12px;border:1px solid var(--color-rule);min-height:44px;cursor:pointer;white-space:nowrap}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{position:absolute;right:0;top:56px;width:230px;padding:12px;background:var(--color-paper-2);color:var(--color-ink);border:1px solid var(--color-rule)}.mobile-menu a{display:block;padding:10px;text-decoration:none;white-space:nowrap;min-height:44px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 20px;min-height:48px;white-space:nowrap;text-decoration:none;border:1px solid var(--color-rule);background:var(--color-paper-3);color:var(--color-ink);box-shadow:0 4px 0 var(--color-paper);transition:transform var(--dur-micro) var(--ease-out),background-color var(--dur-micro) var(--ease-out);font-weight:700;border-radius:2px}.btn-primary{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}.btn:active{transform:translateY(2px);box-shadow:0 2px 0 var(--color-paper)}.btn[aria-disabled=true]{pointer-events:none}.btn[data-state=loading]{opacity:.7}.btn[data-state=error]{border-color:var(--color-error)}.btn[data-state=success]{border-color:var(--color-success)}.arrow{font-size:20px;font-family:var(--font-body)}.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.small{font-size:14px;color:var(--color-muted)}.kicker{font-size:12px;letter-spacing:.15em;color:var(--color-muted);margin-bottom:12px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.tag{font-size:12px;line-height:1.5;border:1px solid var(--color-rule);padding:4px 8px;background:var(--color-paper-2);color:var(--color-ink-2);white-space:nowrap}.tag-status{border-color:var(--color-accent);color:var(--color-accent)}
.hero{padding-top:28px}.hero-layout{display:grid;grid-template-columns:minmax(0,1fr);position:relative}.hero-copy{padding:24px 0 28px}.hero-copy h1 span{display:block;font-family:var(--font-body);font-size:16px;letter-spacing:.22em;font-weight:400;margin-top:12px;color:var(--color-muted)}.hero-copy .lead{font-size:18px;color:var(--color-ink-2);margin-top:24px;max-width:32em}.hero-art{position:relative;min-height:280px;background:var(--color-paper-2);color:var(--color-ink)}.hero-art>img{height:100%;width:100%;object-fit:cover;object-position:76% 50%}.hero-art figcaption{position:absolute;bottom:16px;left:16px;background:var(--color-glass);padding:8px 12px;font-size:12px;color:var(--color-ink)}.hero-word{position:absolute;top:20px;left:20px;font-size:12px;letter-spacing:.16em;background:var(--color-glass);padding:6px 10px}.quick-rail{display:none}.shelf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:var(--color-paper-2);color:var(--color-ink);margin:0;border-bottom:1px solid var(--color-rule)}.shelf>div{padding:20px;border-bottom:1px solid var(--color-rule)}dt{font-size:12px;color:var(--color-muted);margin-bottom:6px}dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}.shelf dd{font-size:18px}.version-note{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:14px 0;color:var(--color-muted);font-size:12px}.version-note a{white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.section{padding:64px 0}.section-head{display:flex;flex-direction:column;gap:12px;align-items:flex-start;margin-bottom:28px}.section-head p{color:var(--color-muted);margin:0;max-width:38em}.section-head a{white-space:nowrap;min-height:44px;display:flex;align-items:center}.feature-ledger{display:grid;grid-template-columns:minmax(0,1fr);gap:0;border-top:1px solid var(--color-rule)}.feature-row{padding:24px 0;border-bottom:1px solid var(--color-rule);display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.feature-row h3{font-size:24px}.feature-row p{color:var(--color-ink-2);margin:0}.feature-row .key{display:inline-block;font-size:12px;color:var(--color-accent);margin-top:8px}.washi{background:var(--color-washi);color:var(--color-washi-ink);padding:40px 24px;margin:40px 0 0;background-image:radial-gradient(var(--color-washi-rule) .4px,var(--color-clear) .5px);background-size:7px 7px}.washi h2{margin-bottom:20px}.washi p{color:var(--color-washi-muted)}.seal{color:var(--color-seal);border:2px solid var(--color-seal);display:inline-block;padding:4px 8px;font-family:var(--font-display);font-size:14px;transform:rotate(-4deg);margin-bottom:20px}.relationship{display:flex;gap:16px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--color-washi-rule);padding-top:20px;font-size:14px}.relationship b{color:var(--color-washi-ink)}.relationship span{color:var(--color-washi-muted)}
.screen-stage{background:var(--color-paper-2);color:var(--color-ink)}.screen-stage>a{display:block}.screen-stage img{width:100%;aspect-ratio:16/9;object-fit:contain}.screen-caption{display:flex;justify-content:space-between;padding:12px 16px;gap:8px;font-size:14px}.screen-caption span:last-child{color:var(--color-muted);white-space:nowrap}.thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.thumbnail{display:block;min-height:44px;outline:1px solid var(--color-rule);outline-offset:0;position:relative}.thumbnail[aria-current=true]{outline:2px solid var(--color-accent)}.thumbnail img{width:100%;aspect-ratio:16/9;object-fit:contain}.thumbnail span{display:none;padding:8px;font-size:12px;white-space:nowrap}.chapter-shelf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.chapter{padding:20px;background:var(--color-paper-2);color:var(--color-ink);border-top:2px solid var(--color-rule);text-decoration:none}.chapter h3{font-family:var(--font-body);font-size:18px;margin:8px 0 12px}.chapter p{font-size:14px;color:var(--color-muted);margin:0}.chapter .chapter-action{display:block;font-size:12px;margin-top:20px;white-space:nowrap;color:var(--color-accent)}.chapter .idx{font-size:12px;color:var(--color-muted)}
.updates{padding:28px 0}.update{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:24px 0;border-bottom:1px solid var(--color-rule)}.update .date{color:var(--color-muted);font-size:14px;font-variant-numeric:tabular-nums}.update .version{font:700 24px var(--font-body);margin-bottom:8px}.update p{margin:0;color:var(--color-ink-2)}.update a{font-size:14px;display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}.faq details{border-bottom:1px solid var(--color-rule);padding:0}.faq summary{padding:20px 0;cursor:pointer;font-weight:700;list-style:none;display:flex;gap:12px;justify-content:space-between;align-items:center}.faq summary::after{content:'+';font-size:24px;color:var(--color-muted);flex:none}.faq details[open] summary::after{content:'−'}.faq details p{padding:0 0 20px;color:var(--color-ink-2);margin:0}.faq summary::-webkit-details-marker{display:none}.final-call{display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding:36px 24px;background:var(--color-paper-2);color:var(--color-ink);margin-bottom:56px}.final-call p{color:var(--color-muted);margin:12px 0 0}.footer{padding:32px 0;border-top:1px solid var(--color-rule);color:var(--color-muted);font-size:14px}.foot-title{display:flex;gap:12px;align-items:center;color:var(--color-ink);font-weight:700}.foot-title img{width:28px;height:28px}.foot-links{display:flex;flex-wrap:wrap;gap:0 20px;margin:16px 0}.related{margin-bottom:16px;display:flex;flex-wrap:wrap;gap:0 16px}.related a{min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}.footer p{max-width:80ch;margin-bottom:8px}.dock{position:fixed;inset:auto 0 0;z-index:var(--z-sticky);border-top:1px solid var(--color-rule);background:var(--color-glass);color:var(--color-ink);padding:12px 0 calc(12px + env(safe-area-inset-bottom))}.dock-inner{display:flex;align-items:center;justify-content:space-between;gap:12px}.dock-copy{min-width:0;line-height:1.5}.dock-copy b{display:block;font-size:14px;font-weight:400}.dock-copy span{display:block;font-size:10px;color:var(--color-muted)}.dock .btn{font-size:14px;padding:10px 14px}.dock-nav{display:none}.dock-name{color:var(--color-accent);font-size:10px;letter-spacing:.15em}
.crumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--color-muted);margin:16px 0}.page-heading{padding:28px 0 36px}.page-heading h1{font-size:clamp(32px,4vw,52px);margin-bottom:20px}.page-heading p{color:var(--color-ink-2);max-width:50ch}.acquisition{display:grid;gap:32px;grid-template-columns:minmax(0,1fr);align-items:start}.package{padding:28px;background:var(--color-paper-2);color:var(--color-ink)}.package h2{margin:12px 0 20px;font-family:var(--font-body);font-size:28px}.package dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0}.notice{padding:20px 0;border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);margin-top:24px}.notice p{font-size:14px;color:var(--color-ink-2);margin:0}.notice strong{color:var(--color-ink)}.compare{width:100%;border-collapse:collapse;margin-top:20px;text-align:left;font-size:14px}.compare th,.compare td{border-bottom:1px solid var(--color-rule);padding:16px 8px;vertical-align:top}.compare th{color:var(--color-muted);font-weight:400}.compare td b{color:var(--color-ink)}.steps{padding:0;margin:24px 0;list-style:none;counter-reset:step}.steps li{counter-increment:step;position:relative;padding:0 0 24px 48px}.steps li::before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:0;color:var(--color-accent);font-size:16px;font-variant-numeric:tabular-nums}.steps h3{font-family:var(--font-body);font-size:18px;margin-bottom:8px}.steps p{color:var(--color-ink-2)}.article-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:40px}.toc{background:var(--color-paper-2);color:var(--color-ink);padding:20px}.toc h2{font:700 16px var(--font-body);margin-bottom:12px}.toc a{display:block;padding:8px 0;min-height:44px;white-space:nowrap;font-size:14px}.article section{padding-bottom:40px}.article h2{margin-bottom:20px}.article h3{font-family:var(--font-body);font-size:18px;margin:24px 0 12px}.article p,.article li{color:var(--color-ink-2)}.article ul,.article ol{padding-left:24px}.article li{margin-bottom:12px}.article figure{margin:24px 0}.article figcaption{color:var(--color-muted);font-size:14px;padding-top:10px}.keycap{display:inline-block;padding:0 6px;border:1px solid var(--color-rule);border-radius:2px;font-family:var(--font-body);font-size:14px;color:var(--color-ink);background:var(--color-paper-3)}.controls{display:grid;gap:0;margin-top:24px}.controls>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--color-rule)}.controls dd{font-size:14px;font-weight:400}.controls dt{margin:0;color:var(--color-ink)}
.filters{display:none;gap:8px;flex-wrap:wrap;margin-bottom:28px}.enhanced .filters{display:flex}.filter{background:var(--color-paper-2);color:var(--color-ink);border:1px solid var(--color-rule);padding:8px 18px;min-height:44px;white-space:nowrap}.filter[aria-pressed=true]{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}.count{font-size:14px;color:var(--color-muted);padding-top:10px;margin-left:auto}.gallery-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.gallery-card{min-width:0}.gallery-card[hidden]{display:none}.gallery-card a{display:block;background:var(--color-paper-2);color:var(--color-ink);outline:1px solid var(--color-rule);outline-offset:-1px}.gallery-card img{width:100%;aspect-ratio:16/9;object-fit:contain}.gallery-card figcaption{padding:12px 0;font-size:14px;display:flex;justify-content:space-between;gap:8px}.gallery-card small{color:var(--color-muted);white-space:nowrap}
.lightbox{position:fixed;inset:0;margin:auto;padding:16px;width:min(1200px,calc(100% - 24px));max-height:calc(100dvh - 24px);background:var(--color-paper);color:var(--color-ink);border:1px solid var(--color-rule)}.lightbox::backdrop{background:var(--color-scrim)}.lightbox:not([open]){display:none}.lightbox-bar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.lightbox-bar p{font-size:14px;margin:0}.icon-btn{width:44px;height:44px;background:var(--color-paper-3);color:var(--color-ink);border:1px solid var(--color-rule);flex:none}.lightbox img{max-height:65dvh;object-fit:contain;width:100%;aspect-ratio:16/9}.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.lightbox .image-state{display:none}.lightbox[data-state=loading] .image-state,.lightbox[data-state=error] .image-state{display:block;min-height:60px;padding:16px 0}.lightbox[data-state=error] .image-state{color:var(--color-ink);border-bottom:1px solid var(--color-error)}.lightbox[data-state=success]{border-color:var(--color-success)}[hidden]{display:none!important}
@media(hover:hover){.btn:hover{background:var(--color-rule);color:var(--color-ink)}.btn-primary:hover{background:var(--color-accent-hover);color:var(--color-accent-ink)}.nav-center a:hover,.related a:hover,.foot-links a:hover,.toc a:hover{color:var(--color-accent)}.chapter:hover{background:var(--color-paper-3);color:var(--color-ink)}.thumbnail:hover,.gallery-card a:hover{outline-color:var(--color-accent)}.filter:hover{border-color:var(--color-accent)}.icon-btn:hover{background:var(--color-rule);color:var(--color-ink)}}
@media(min-width:40rem){.wrap{width:min(1200px,calc(100% - 64px))}.hero-copy{padding:32px 0}.shelf{grid-template-columns:repeat(4,minmax(0,1fr))}.shelf>div{border-bottom:0;border-right:1px solid var(--color-rule)}.shelf>div:last-child{border:0}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-row{grid-template-columns:minmax(0,.4fr) minmax(0,.6fr);gap:32px}.thumbnail span{display:block}.washi{padding:44px}.dock-copy b{font-size:16px}.dock-copy span{font-size:12px}.dock-nav{display:flex;gap:20px;align-items:center}.dock-nav a{min-height:44px;display:flex;align-items:center;font-size:14px;white-space:nowrap}.update{grid-template-columns:160px minmax(0,1fr)}.final-call{flex-direction:row;align-items:center;justify-content:space-between}.chapter-shelf{grid-template-columns:repeat(4,minmax(0,1fr))}.article-layout{grid-template-columns:200px minmax(0,1fr)}.toc{position:sticky;top:96px;align-self:start}}
@media(min-width:60rem){.nav-inner{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.nav-center{display:flex}.nav-action{display:flex;justify-self:end}.mobile-menu{display:none}.hero{padding-top:40px}.hero-layout{grid-template-columns:minmax(0,.43fr) minmax(0,.57fr);gap:24px;min-height:500px}.hero-copy{padding:32px 24px 40px 0;align-self:center}.hero-art{min-height:500px;clip-path:polygon(4% 0,100% 0,100% 100%,0 100%)}.hero-art>img{position:absolute;inset:0}.quick-rail{position:absolute;right:12px;top:76px;display:grid;gap:8px}.quick-rail a{background:var(--color-glass);color:var(--color-ink);padding:10px 16px;min-height:44px;text-decoration:none;font-size:12px;white-space:nowrap}.section{padding:80px 0}.section-head{flex-direction:row;justify-content:space-between;align-items:baseline}.section-head p{max-width:32em}.section-head>div{max-width:38em}.acquisition{grid-template-columns:minmax(0,.48fr) minmax(0,.52fr)}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-card:first-child{grid-column:span 2}.gallery-card:first-child img{max-height:400px}.hero-copy .lead{font-size:18px}.washi{display:grid;grid-template-columns:minmax(0,.25fr) minmax(0,.75fr);gap:40px}.article-layout{grid-template-columns:240px minmax(0,1fr);gap:64px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.btn:active{transform:none}} 

button:active,summary:active{transform:translateY(2px)}.cta-row{align-items:center}.foot-links,.related{align-items:center}
@media(prefers-reduced-motion:reduce){button:active,summary:active{transform:none}}
