/* Hallmark · pre-emit critique: P4 H5 E4 S5 R4 V5
 * route: custom (bespoke) · macrostructure: Workbench · genre: atmospheric
 * idea: a dungeon field manual, actual game UI as the central visual
 * nav: N8 tactical command menu · footer: Ft4 dense colophon
 * axes: dark / roman-serif Chinese display / warm-yellow
 * User palette and system Chinese fonts take precedence over catalog defaults.
 */
:root{
 --color-paper: #111315; --color-paper-2: #1d2023; --color-paper-3:#282d32;
 --color-ink:#f5f0e6; --color-muted:#b3b8bd; --color-rule:#4b5563;
 --color-accent:#facc15; --color-accent-ink:#111315; --color-red:#dc2626;
 --color-error:#ff9c96; --color-success:#b8e3bd; --color-focus:#a5bbfa;
 --color-washi:#f5f0e6; --color-washi-ink:#24212d; --color-washi-muted:#57535e;
 --color-stamp:#b8322a; --color-dot: #ded8ce; --color-shade:#111315d9;
 --color-backdrop:#090b0eeb; --color-transparent:transparent;
 --font-display:"Songti SC","STSong","Noto Serif CJK SC",serif;
 --font-body:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
 --font-mono:"SFMono-Regular",Consolas,monospace;
 --space-1:8px; --space-2:16px; --space-3:24px; --space-4:32px; --space-6:48px; --space-8:64px;
 --text-small:.875rem; --text-body:1rem; --text-lead:1.15rem; --text-title:clamp(1.6rem,2.8vw,2.75rem);
 --text-display:clamp(2.05rem,4vw,3.6rem); --shadow-hard:0 4px 0 var(--color-rule);
}
:root{--color-focus-accent:#7754dc}

*{box-sizing:border-box}html{overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:105px}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;padding-bottom:104px}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-style:normal;overflow-wrap:anywhere;min-width:0;line-height:1.3}h1,h2{font-family:var(--font-display);font-weight:700}h1{font-size:var(--text-display);letter-spacing:-.03em}h2{font-size:var(--text-title)}h3{font-size:var(--text-lead)}p+p{margin-top:16px}p{max-width:68ch}a{color:inherit;text-underline-offset:5px}button{font:inherit;color:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:var(--color-transparent)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}img{display:block;max-width:100%;height:auto}button,a{touch-action:manipulation}button:disabled,[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}[hidden]{display:none!important}.wrap{width:min(1392px,100%);margin:auto;padding-inline:24px}.skip{position:fixed;left:16px;top:-100px;z-index:1000;background:var(--color-accent);color:var(--color-accent-ink);padding:12px}.skip:focus{top:8px}.mast{position:sticky;top:0;z-index:20;background:var(--color-paper);color:var(--color-ink);border-bottom:1px solid var(--color-rule)}.mast-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap;min-height:44px;font-weight:700}.brand img{width:32px;height:32px}.brand small{display:block;font:11px var(--font-body);letter-spacing:.1em;color:var(--color-muted)}.command{font-family:var(--font-mono);font-size:var(--text-small);display:flex;align-items:center;gap:24px}.command a{min-height:44px;display:flex;align-items:center;white-space:nowrap;text-decoration:none;gap:6px}.command a::before{content:'/';color:var(--color-muted)}.command a[aria-current=page]{color:var(--color-accent)}.command .get{color:var(--color-accent)}.menu{display:none}.eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--font-body);font-size:12px;letter-spacing:.12em;color:var(--color-muted);margin-bottom:24px}.eyebrow::before{content:'';width:22px;height:3px;background:var(--color-accent)}.hero{padding-top:32px;padding-bottom:44px}.hero-layout{display:grid;gap:30px;align-items:center}.hero-copy h1 span{display:block}.original{display:block;font:var(--text-small)/1.5 var(--font-body);letter-spacing:0;color:var(--color-muted);max-width:44ch;margin-top:16px}.hero-desc{color:var(--color-muted);margin-top:22px;font-size:var(--text-lead);line-height:1.8}.tags{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 24px}.tag{border:1px solid var(--color-rule);padding:3px 9px;font-size:12px}.cta-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:48px;padding:10px 22px;border:1px solid var(--color-rule);background:var(--color-paper-2);color:var(--color-ink);box-shadow:var(--shadow-hard);font-size:var(--text-small);text-decoration:none;font-weight:700;white-space:nowrap;transition:background-color .13s,transform .13s,box-shadow .13s}.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-rule)}.btn.arrow::after{content:'↗';font-size:20px}.hero-note{font-size:12px;color:var(--color-muted);margin-top:16px}.hero-media{position:relative;min-width:0}.hero-media .art{display:block;position:relative;text-decoration:none;border:1px solid var(--color-rule);background:var(--color-paper-2);color:var(--color-ink)}.hero-media .art::after{content:'查看原图 ↗';position:absolute;right:12px;bottom:12px;background:var(--color-shade);color:var(--color-ink);font-size:12px;padding:6px 10px}.media-label{display:flex;justify-content:space-between;gap:12px;padding-block:10px;color:var(--color-muted);font:12px/1.5 var(--font-body)}.hero-media::before{content:'LABYRINTH / FIELD NOTES';display:block;font:11px var(--font-body);color:var(--color-muted);text-align:right;margin-bottom:10px;letter-spacing:.13em}.shelf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);margin-top:20px;padding-block:18px;gap:20px}.shelf dt{color:var(--color-muted);font-size:12px}.shelf dd{font-size:var(--text-small);font-weight:700}.shelf dd strong{color:var(--color-accent)}.section{padding-block:70px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:32px}.section-head p{max-width:38ch;color:var(--color-muted);font-size:var(--text-small)}.section-no{font-family:var(--font-body);color:var(--color-accent);font-size:12px;letter-spacing:.08em;margin-bottom:10px}.paper{background:var(--color-washi);color:var(--color-washi-ink);position:relative}.paper .section-no{color:var(--color-stamp)}.paper .section-head p,.paper .muted{color:var(--color-washi-muted)}.paper::before{content:'';position:absolute;inset:0 0 auto;height:8px;background:repeating-linear-gradient(120deg,var(--color-paper) 0 12px,var(--color-washi) 12px 24px)}.story-grid{display:grid;gap:32px}.story-frame{border:1px solid var(--color-washi-ink);background:var(--color-dot);color:var(--color-washi-ink)}.story-frame figcaption{padding:16px 20px;font-size:var(--text-small)}.story-text{align-self:center}.story-text h3{font-family:var(--font-display);font-size:1.7rem;margin-bottom:20px}.stamp{display:inline-block;color:var(--color-stamp);border:2px solid var(--color-stamp);padding:3px 12px;font-size:12px;margin-bottom:20px}.fact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:30px}.fact-list dt{font-size:12px;color:var(--color-washi-muted)}.fact-list dd{font-size:var(--text-small)}.gallery-view{min-width:0}.main-shot{display:block;border:1px solid var(--color-rule);background:var(--color-paper-2);color:var(--color-ink);aspect-ratio:16/9}.main-shot img{width:100%;height:100%;object-fit:contain}.thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.thumb{display:block;text-decoration:none;min-width:0;position:relative;border:1px solid var(--color-rule);opacity:.8}.thumb[aria-current=true]{border-color:var(--color-accent);opacity:1}.thumb img{width:100%;aspect-ratio:16/9;object-fit:contain}.thumb span{display:none;font-size:12px;position:absolute;bottom:0;inset-inline:0;background:var(--color-shade);padding:4px 7px}.mechanics{display:grid;gap:32px;margin-top:40px}.mechanic{border-top:1px solid var(--color-rule);padding-top:20px;display:grid;grid-template-columns:44px minmax(0,1fr);gap:18px}.mechanic b{font:32px var(--font-body);color:var(--color-accent)}.mechanic h3{margin-bottom:12px}.mechanic p{color:var(--color-muted);font-size:var(--text-small)}.text-link{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;font-size:var(--text-small);white-space:nowrap}.progression{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:36px}.floor{background:var(--color-paper-2);color:var(--color-ink);padding:20px}.floor strong{display:block;color:var(--color-accent);font:34px var(--font-body);margin-bottom:10px}.floor span{font-size:var(--text-small)}.floor:last-child{grid-column:1/-1}.split-info{display:grid;gap:48px}.update{padding-top:24px;border-top:1px solid var(--color-rule)}.update time{font-size:var(--text-small);color:var(--color-muted)}.update h3{font-size:1.6rem;margin-top:16px;margin-bottom:18px}.update li{color:var(--color-muted);margin-bottom:8px}.chapter-list{border-top:1px solid var(--color-rule)}.chapter-link{display:grid;grid-template-columns:36px minmax(0,1fr) 25px;align-items:center;gap:18px;text-decoration:none;padding-block:21px;border-bottom:1px solid var(--color-rule)}.chapter-link .number{font:var(--text-small) var(--font-body);color:var(--color-accent)}.chapter-link strong{display:block;font-size:var(--text-lead)}.chapter-link small{color:var(--color-muted);display:block;font-size:var(--text-small);margin-top:4px}.faq{max-width:1040px;margin:auto}.faq details{border-bottom:1px solid var(--color-rule)}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:20px;min-height:64px;padding:18px 0;font-weight:700}.faq summary::after{content:'+';color:var(--color-accent);font:24px var(--font-mono)}.faq details[open] summary::after{content:'−'}.faq details p{color:var(--color-muted);padding-bottom:24px;max-width:74ch;font-size:var(--text-small)}.final-call{border-top:1px solid var(--color-rule);padding-block:40px;display:flex;justify-content:space-between;gap:24px;align-items:center}.final-call p{color:var(--color-muted);font-size:var(--text-small);margin-top:12px}.footer{background:var(--color-paper-2);color:var(--color-ink);padding:40px 0}.footer-head{font-family:var(--font-mono);letter-spacing:.07em;font-size:var(--text-small);margin-bottom:22px}.footer nav,.related{display:flex;flex-wrap:wrap;gap:4px 25px}.footer a{font-size:var(--text-small);min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}.footer .related{margin-top:12px}.footer p{color:var(--color-muted);font-size:12px;margin-top:18px;max-width:90ch}.dialogue{position:fixed;bottom:0;inset-inline:0;z-index:19;border-top:1px solid var(--color-rule);background:var(--color-shade);color:var(--color-ink)}.dialogue-inner{display:flex;align-items:center;gap:24px;min-height:82px;padding-block:12px}.nameplate{color:var(--color-accent);font:12px var(--font-body);white-space:nowrap;border:1px solid var(--color-rule);padding:6px 10px}.dialogue p{font-size:var(--text-small);flex:1}.dialogue .quick{display:flex;gap:20px;align-items:center}.dialogue .quick>a:not(.btn){font-size:12px;white-space:nowrap;min-height:44px;display:flex;align-items:center}.mobile-label{display:none}.crumbs{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:var(--text-small);color:var(--color-muted);padding-block:24px}.crumbs a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}.page-intro{padding-bottom:36px;border-bottom:1px solid var(--color-rule)}.page-intro p{color:var(--color-muted);margin-top:20px}.page-intro h1{font-size:clamp(1.9rem,3.5vw,3.2rem)}.page-intro .subname{font-size:var(--text-small);font-family:var(--font-body);color:var(--color-muted);display:block;margin-bottom:18px}.download-layout{display:grid;gap:40px}.download-card{background:var(--color-paper-2);color:var(--color-ink);padding:28px}.download-card .cover{width:min(460px,100%);margin-bottom:24px}.download-card h2{font-size:1.8rem}.download-card p{font-size:var(--text-small);color:var(--color-muted);margin-block:16px 24px}.spec{display:grid;grid-template-columns:minmax(70px,.3fr) minmax(0,1fr);font-size:var(--text-small);margin-block:20px}.spec dt,.spec dd{border-bottom:1px solid var(--color-rule);padding-block:14px}.spec dt{color:var(--color-muted)}.note{font-size:var(--text-small);padding:22px;background:var(--color-paper-3);color:var(--color-ink);margin-top:24px}.steps{padding-left:24px}.steps li{padding:8px 0 8px 6px}.steps strong{display:block;margin-bottom:4px}.steps p{color:var(--color-muted);font-size:var(--text-small)}.requirements{display:grid;gap:30px}.requirements h3{font-family:var(--font-display);font-size:1.65rem}.guide-layout{display:grid;gap:36px}.toc{align-self:start;border:1px solid var(--color-rule);padding:20px}.toc p{font-size:12px;color:var(--color-muted);margin-bottom:16px}.toc a{display:block;text-decoration:none;padding-block:10px;font-size:var(--text-small);white-space:nowrap}.guide-body section{padding-bottom:48px;margin-bottom:48px;border-bottom:1px solid var(--color-rule);scroll-margin-top:105px}.guide-body h2{margin-bottom:20px;font-size:1.9rem}.guide-body h3{margin-top:30px;margin-bottom:14px}.guide-body>section>p{color:var(--color-muted)}.guide-body img{margin-top:24px;border:1px solid var(--color-rule)}.guide-body .result{margin-top:24px;font-size:var(--text-small);background:var(--color-paper-2);color:var(--color-ink);padding:20px}.filter-bar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px}.filter-bar button{border:1px solid var(--color-rule);background:var(--color-paper-2);color:var(--color-ink);padding:8px 18px;min-height:44px;white-space:nowrap;font-size:var(--text-small)}.filter-bar button[aria-pressed=true]{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}.js-only{display:none}.enhanced .js-only{display:flex}.gallery-grid{display:grid;gap:24px;grid-template-columns:minmax(0,1fr)}.gallery-card{min-width:0}.gallery-card a{display:block;border:1px solid var(--color-rule);min-height:44px}.gallery-card img{aspect-ratio:16/9;object-fit:contain;width:100%}.gallery-card figcaption{display:flex;justify-content:space-between;padding-top:12px;gap:12px;font-size:var(--text-small)}.gallery-card figcaption span{font-size:12px;color:var(--color-muted)}.filter-status{font-size:var(--text-small);color:var(--color-muted);margin-bottom:24px}.lightbox{position:fixed;inset:0;margin:auto;background:var(--color-paper-2);color:var(--color-ink);border:1px solid var(--color-rule);width:min(1240px,96%);height:fit-content;max-height:90dvh;padding:16px}.lightbox::backdrop{background:var(--color-backdrop)}.lightbox-top,.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px}.lightbox-top{padding-bottom:14px}.lightbox-top strong{font-size:var(--text-small)}.lightbox button{border:1px solid var(--color-rule);background:var(--color-paper-3);color:var(--color-ink);min-width:44px;min-height:44px;padding:7px 14px;font-size:var(--text-small);white-space:nowrap}.lightbox img{width:100%;max-height:65dvh;object-fit:contain;min-height:100px}.lightbox-bottom{padding-top:16px}.lightbox-status{font-size:var(--text-small);margin-top:12px;min-height:24px}.lightbox[data-state=error] .lightbox-status{color:var(--color-error)}.lightbox[data-state=loading] img{opacity:.4}.lightbox[data-state=success] .lightbox-status{color:var(--color-success)}[data-state=loading]{cursor:progress}[data-state=error]{border-color:var(--color-error)}[data-state=success]{--state-color:var(--color-success)}.error-page{padding-block:100px}.error-page h1{margin-bottom:24px}.error-page p{margin-bottom:32px;color:var(--color-muted)}
@media(hover:hover){.btn:hover{background:var(--color-paper-3);color:var(--color-ink)}.btn.primary:hover{background:var(--color-ink);color:var(--color-accent-ink)}.command a:hover,.text-link:hover,.footer a:hover,.toc a:hover{color:var(--color-accent)}.thumb:hover{opacity:1}.chapter-link:hover strong{color:var(--color-accent)}.filter-bar button:hover{border-color:var(--color-accent)}.gallery-card a:hover{border-color:var(--color-accent)}.faq summary:hover{color:var(--color-accent)}}
@media(min-width:40rem){.wrap{padding-inline:32px}.hero-layout{grid-template-columns:minmax(0,.75fr) minmax(0,1fr)}.shelf{grid-template-columns:repeat(4,minmax(0,1fr))}.story-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:48px}.mechanics{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.progression{grid-template-columns:repeat(5,minmax(0,1fr))}.floor:last-child{grid-column:auto}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.requirements{grid-template-columns:repeat(2,minmax(0,1fr))}.thumb span{display:block}.download-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}.split-info{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}}
@media(min-width:64rem){.hero-layout{grid-template-columns:minmax(0,.65fr) minmax(0,1.2fr);gap:42px}.hero{padding-top:32px}.hero-copy h1{font-size:clamp(2.5rem,3.4vw,3.6rem)}.guide-layout{grid-template-columns:230px minmax(0,1fr)}.toc{position:sticky;top:110px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-card:first-child{grid-column:span 2;grid-row:span 2}.gallery-card:first-child img{aspect-ratio:16/9}.mechanic:first-child{grid-row:span 2}.mechanic:first-child p{font-size:var(--text-body)}}
@media(max-width:63.99rem){.command{gap:16px}.dialogue p{display:none}.dialogue .nameplate{flex:1}.dialogue .quick>a:not(.btn){display:none}.dialogue-inner{min-height:78px}.hero-desc{font-size:var(--text-body)}.section-head{align-items:start}}
@media(max-width:39.99rem){html{scroll-padding-top:85px}.wrap{padding-inline:18px}.mast-inner{min-height:68px;gap:10px}.brand{font-size:var(--text-small);gap:8px}.brand small{font-size:10px}.menu{display:block;position:relative}.menu summary{min-width:54px;min-height:44px;padding:10px;border:1px solid var(--color-rule);list-style:none;cursor:pointer;font-size:var(--text-small);white-space:nowrap}.menu nav{position:absolute;right:0;top:53px;width:170px;padding:10px;background:var(--color-paper-2);color:var(--color-ink);border:1px solid var(--color-rule)}.menu a{display:block;padding:8px 12px;min-height:44px;text-decoration:none;font-size:var(--text-small);white-space:nowrap}.command{display:none}.hero{padding-top:24px;padding-bottom:32px}.hero-layout{gap:28px}.eyebrow{font-size:10px;margin-bottom:16px}.hero-desc{margin-top:16px}.original{font-size:12px;max-width:38ch}.tags{margin-block:16px 20px}.btn{padding-inline:18px;gap:16px;min-height:48px}.hero-note{font-size:11px}.hero-media::before{font-size:10px}.hero-media .art::after{display:none}.shelf{gap:14px;padding-block:16px}.shelf dd{font-size:12px}.section{padding-block:44px}.section-head{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:24px}.story-grid{gap:28px}.fact-list{gap:20px 12px}.fact-list dd{font-size:12px}.mechanics{gap:28px;margin-top:28px}.thumbs{gap:7px}.mechanic{gap:12px;grid-template-columns:32px minmax(0,1fr)}.mechanic b{font-size:26px}.chapter-link{gap:12px;grid-template-columns:28px minmax(0,1fr) 18px}.chapter-link strong{font-size:var(--text-body)}.chapter-link small{font-size:12px}.final-call{display:block}.final-call .btn{margin-top:24px}.dialogue-inner{min-height:74px;gap:12px}.dialogue .nameplate{display:none}.mobile-label{display:block;font-size:12px;flex:1}.mobile-label strong{display:block;font-size:var(--text-small)}.dialogue .btn{min-height:44px;padding-inline:18px}.footer{padding-block:28px}.footer nav,.related{gap:2px 18px}.footer a{font-size:12px}.download-card{padding:22px}.page-intro h1{font-size:1.9rem}.page-intro p{font-size:var(--text-small)}.page-intro .subname{font-size:12px}.lightbox{padding:12px}.lightbox-top strong{max-width:70%;font-size:12px}.lightbox-bottom{gap:8px}.lightbox button{padding:7px 12px;font-size:12px}.lightbox-status{font-size:12px}.guide-body h2{font-size:1.6rem}.guide-body section{scroll-margin-top:92px}.filter-bar{gap:8px}.filter-bar button{padding-inline:16px}.spec{grid-template-columns:70px minmax(0,1fr)}.spec dd{font-size:12px}.gallery-card figcaption{font-size:12px}.floor{padding:16px}.floor strong{font-size:28px}.floor span{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

a:active,button:active,summary:active{opacity:.78}[data-state="loading"]{cursor:progress}[data-state="error"]{outline-color:var(--color-error)}[data-state="success"]{outline-color:var(--color-success)}
.paper :focus-visible,.btn.primary:focus-visible,.filter-bar button[aria-pressed=true]:focus-visible,.skip:focus-visible{outline-color:var(--color-focus-accent)}
.thumb{min-height:44px;display:flex;align-items:center}
