/* Hallmark · macrostructure: Scene-to-journal (bespoke) · theme: midnight indie inn
 * nav: N7 compact slab · footer: Ft1 mast-headed · P5 H5 E4 S5 R5 V5 */
/* Hallmark · macrostructure: Photographic + information shelf · tone: cinematic editorial · anchor hue: warning yellow
 * theme: custom · vibe: dark fantasy night-city game journal · nav: N6 masthead · footer: Ft4 dense typographic
 * display: Songti SC · body: system Chinese · motion: press only · audience: narrative game readers
 * pre-emit critique: P4 H5 E4 S5 R5 V4 */
@import url("tokens.css");
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:132px}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);line-height:1.8;font-size:var(--text-base)}a{color:inherit;text-decoration:none}a,button,summary{-webkit-tap-highlight-color:var(--color-clear)}button{font:inherit;cursor:pointer}button,summary,a{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:5px}a:hover{color:var(--color-accent)}img{display:block;max-width:100%;height:auto}button{color:inherit}h1,h2,h3,h4{font-family:var(--font-display);font-style:normal;line-height:1.35;overflow-wrap:anywhere;min-width:0;font-weight:600}h1,h2,h3,p,figure{margin:0}p+p{margin-top:var(--space-md)}h2{font-size:var(--text-heading)}h3{font-size:1.3rem}ul,ol{padding-left:1.4rem}li+li{margin-top:var(--space-sm)}.wrap{width:min(1264px,calc(100% - 64px));margin-inline:auto}.skip{position:fixed;top:-100px;left:16px;z-index:100;background:var(--color-accent);color:var(--color-accent-ink);padding:8px 16px}.skip:focus{top:8px}.site-header{position:sticky;top:0;z-index:30;background:var(--color-header);border-bottom:1px solid var(--color-rule)}.mast-top{display:flex;justify-content:space-between;align-items:center;min-height:60px;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:1.45rem;font-weight:700;letter-spacing:.12em;white-space:nowrap}.brand img{border:1px solid var(--color-gold);width:32px;height:32px;object-fit:cover}.mast-note{font-size:var(--text-xs);letter-spacing:.16em;color:var(--color-muted)}.nav-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--color-rule);min-height:48px;gap:24px}.nav-links{display:flex;gap:30px;align-items:center}.nav-links a{font-size:var(--text-sm);white-space:nowrap;border-bottom:2px solid var(--color-clear);padding:9px 0}.nav-links a[aria-current=page]{border-color:var(--color-accent);color:var(--color-ink)}.nav-download{color:var(--color-accent);font-size:var(--text-sm);white-space:nowrap}.menu-toggle{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:14px 23px;min-height:52px;border:1px solid var(--color-gold);background:var(--color-paper-2);color:var(--color-ink);font-size:var(--text-sm);font-weight:650;white-space:nowrap;box-shadow:0 4px 0 var(--color-shadow);transition:transform var(--dur-fast) var(--ease-out)}.btn.primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}.btn:hover{color:var(--color-accent);border-color:var(--color-accent)}.btn.primary:hover{color:var(--color-accent-ink);filter:brightness(1.08)}.btn:active{transform:translateY(2px);box-shadow:0 2px 0 var(--color-shadow)}.btn[aria-disabled=true],button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn[data-state=loading]{cursor:progress}.btn[data-state=error]{border-color:var(--color-red)}.btn[data-state=success]{border-color:var(--color-success)}.hero{position:relative;min-height:650px;display:flex;align-items:center;isolation:isolate}.hero-art{position:absolute;right:0;top:0;width:73%;height:100%;z-index:-2;object-fit:cover;object-position:35% center}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--color-paper) 3%,var(--color-scrim) 24%,var(--color-fog) 70%,var(--color-clear)),linear-gradient(0deg,var(--color-paper),var(--color-clear) 30%)}.hero-copy{max-width:570px;padding:64px 0 76px}.hero .eyebrow{font-size:var(--text-xs);letter-spacing:.18em;color:var(--color-gold);margin-bottom:28px}.hero h1{font-size:var(--text-display);letter-spacing:.025em;line-height:1.1}.hero h1 span{display:block;font-family:Georgia,serif;font-size:.43em;font-weight:400;letter-spacing:.28em;color:var(--color-gold);margin-top:16px}.hero .lede{max-width:420px;margin-top:26px;font-size:var(--text-lg);color:var(--color-ink-2);line-height:1.9}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.tag{border:1px solid var(--color-rule);padding:3px 10px;font-size:var(--text-xs);color:var(--color-ink-2);background:var(--color-header)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.fine{color:var(--color-muted);font-size:var(--text-xs)}.hero .fine{margin-top:18px}.hero-caption{position:absolute;right:32px;bottom:30px;color:var(--color-ink-2);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em}.info-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--color-rule);padding:24px 0;gap:24px}.info-strip dt,.spec-list dt{font-size:var(--text-xs);color:var(--color-muted);margin-bottom:5px}.info-strip dd,.spec-list dd{margin:0;font-size:var(--text-sm)}.section{padding-block:var(--space-3xl)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.section-head p{color:var(--color-muted);font-size:var(--text-sm);max-width:500px}.text-link{font-size:var(--text-sm);border-bottom:1px solid var(--color-gold);padding-bottom:4px;white-space:nowrap}.gallery-stage{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:16px}.gallery-main{position:relative;display:block}.gallery-main img{width:100%;aspect-ratio:16/9;object-fit:cover}.gallery-main .view-label{position:absolute;bottom:16px;left:16px;background:var(--color-header);padding:5px 12px;font-size:var(--text-xs);border-left:2px solid var(--color-accent)}.thumb-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}.thumb-list a{display:block;border:1px solid var(--color-rule)}.thumb-list img{width:100%;aspect-ratio:16/9;object-fit:cover}.thumb-list span{display:block;font-size:var(--text-xs);color:var(--color-ink-2);padding:6px 8px}.thumb-list a:hover{border-color:var(--color-gold)}.thumb-side-copy{grid-column:1/-1;border-top:1px solid var(--color-rule);padding-top:12px;color:var(--color-muted);font-size:var(--text-xs)}.story-band{position:relative;isolation:isolate;min-height:500px;display:grid;align-items:center;margin-top:12px}.story-band>img{position:absolute;width:100%;height:100%;object-fit:cover;z-index:-2}.story-band:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--color-fog),var(--color-scrim) 65%);z-index:-1}.story-band .story-copy{margin-left:auto;width:49%;padding:60px 0}.story-copy p{margin-top:24px;color:var(--color-ink-2)}.story-copy h2{max-width:420px}.magazine{background:var(--color-warm-paper);color:var(--color-warm-ink);padding:56px 0}.magazine .section-head p,.magazine .fine{color:var(--color-warm-muted)}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.feature{border-top:3px solid var(--color-warm-ink);padding-top:16px}.feature .feature-title{display:flex;gap:12px;align-items:center;margin-bottom:12px}.feature-title span{font-family:var(--font-mono);color:var(--color-red);font-size:1rem}.feature p{font-size:var(--text-sm);line-height:1.95}.feature img{width:100%;aspect-ratio:16/9;object-fit:cover;margin-top:22px}.feature figcaption{font:11px/1.7 var(--font-mono);margin-top:8px;color:var(--color-warm-muted)}.two-col{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:70px}.spec-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 30px;margin:24px 0 0}.spec-list>div{padding-bottom:12px;border-bottom:1px solid var(--color-rule)}.aside-card{background:var(--color-paper-2);border:1px solid var(--color-rule);padding:32px}.aside-card h3{margin-bottom:16px}.aside-card p{color:var(--color-ink-2);font-size:var(--text-sm)}.aside-card .btn{margin-top:24px}.text-body{color:var(--color-ink-2);font-size:var(--text-sm)}.text-body h3{color:var(--color-ink)}.audience-list{margin-top:24px;list-style:none;padding:0}.audience-list li{padding:16px 0;border-top:1px solid var(--color-rule);display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px}.audience-list strong{font-size:var(--text-sm);color:var(--color-gold)}.audience-list span{font-size:var(--text-sm);color:var(--color-ink-2)}.update{border-left:2px solid var(--color-gold);padding-left:22px;margin-top:24px}.update time{font:var(--text-xs) var(--font-mono);color:var(--color-muted)}.update h3{margin-top:8px}.faq{border-top:1px solid var(--color-rule)}details{border-bottom:1px solid var(--color-rule);padding:18px 0}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:var(--text-base);color:var(--color-ink);line-height:1.7}summary::-webkit-details-marker{display:none}summary:after{content:'+';color:var(--color-gold);flex-shrink:0}details[open] summary:after{content:'−'}details .answer{color:var(--color-ink-2);padding:16px 30px 0 0;font-size:var(--text-sm)}details .answer a{border-bottom:1px solid var(--color-gold)}.final-cta{padding:52px 0;border-block:1px solid var(--color-rule);background:var(--color-paper-2)}.final-cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:32px}.final-cta h2{font-size:2rem}.final-cta p{color:var(--color-ink-2);font-size:var(--text-sm);margin-top:10px}.site-footer{padding:40px 0 32px}.footer-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:48px}.footer-copy{max-width:360px;color:var(--color-muted);font-size:var(--text-xs);margin-top:14px}.footer-links{display:flex;flex-wrap:wrap;gap:12px 22px;font-size:var(--text-xs)}.footer-links a{white-space:nowrap}.related-label{color:var(--color-muted);font-size:var(--text-xs);margin:22px 0 12px}.copyright{border-top:1px solid var(--color-rule);padding-top:20px;margin-top:30px;color:var(--color-muted);font-size:11px;line-height:1.9}.bottom-cta{display:none}.back-top{position:fixed;right:20px;bottom:24px;z-index:20;background:var(--color-paper-2);border:1px solid var(--color-rule);padding:8px 14px;font-size:var(--text-xs);white-space:nowrap}.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;color:var(--color-muted);font-size:var(--text-xs);padding:24px 0}.breadcrumb a{white-space:nowrap}.page-intro{padding:20px 0 40px;border-bottom:1px solid var(--color-rule)}.page-intro h1{font-size:clamp(2rem,4vw,3.6rem);max-width:880px}.page-intro .intro{margin-top:18px;max-width:720px;color:var(--color-ink-2)}.page-intro .fine{margin-top:16px}.gallery-tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.filter{padding:7px 20px;background:var(--color-paper-2);border:1px solid var(--color-rule);font-size:var(--text-sm);white-space:nowrap}.filter[aria-pressed=true]{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}.filter:hover{border-color:var(--color-gold)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px}.gallery-card img{aspect-ratio:16/9;object-fit:cover;width:100%}.gallery-card figcaption{font-size:var(--text-sm);margin-top:12px}.gallery-card figcaption span{font:11px var(--font-mono);color:var(--color-gold);margin-right:10px}.gallery-card[hidden]{display:none}.reading-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:64px;align-items:start}.toc{position:sticky;top:140px;border-top:2px solid var(--color-gold);padding-top:18px}.toc strong{font-family:var(--font-display);font-size:1.2rem}.toc a{display:block;font-size:var(--text-sm);margin-top:14px;color:var(--color-ink-2)}.reading-body{max-width:820px;min-width:0}.reading-body section{padding-bottom:48px;margin-bottom:40px;border-bottom:1px solid var(--color-rule);scroll-margin-top:132px}.reading-body h2{font-size:1.9rem;margin-bottom:24px}.reading-body h3{margin:24px 0 12px}.reading-body p,.reading-body li{color:var(--color-ink-2)}.reading-body code{font-family:var(--font-mono);font-size:.86em;overflow-wrap:anywhere;color:var(--color-gold)}.callout{border-left:3px solid var(--color-gold);padding:16px 20px;background:var(--color-paper-2);margin:24px 0;font-size:var(--text-sm);color:var(--color-ink-2)}.guide-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 48px}.guide-card{padding:22px;border:1px solid var(--color-rule);background:var(--color-paper-2)}.guide-card h2{font-size:1.2rem;margin-bottom:12px}.guide-card p{font-size:var(--text-sm);color:var(--color-ink-2);margin-bottom:18px}.guide-card .text-link{font-size:var(--text-xs)}.platform-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0}.platform-card{padding:28px;border:1px solid var(--color-rule);background:var(--color-paper-2)}.platform-card h3{margin-bottom:14px}.platform-card p{font-size:var(--text-sm);color:var(--color-ink-2)}.download-panel{padding:36px;border:1px solid var(--color-gold);display:flex;justify-content:space-between;align-items:center;gap:28px;margin-top:32px}.download-panel p{font-size:var(--text-sm);color:var(--color-ink-2);margin-top:12px}.lightbox{background:var(--color-paper);color:var(--color-ink);border:1px solid var(--color-rule);padding:16px;width:min(1320px,calc(100% - 32px));max-height:calc(100dvh - 32px)}.lightbox::backdrop{background:var(--color-shadow)}.lightbox-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:12px}.lightbox button{background:var(--color-paper-2);border:1px solid var(--color-rule);padding:8px 16px;white-space:nowrap;font-size:var(--text-sm)}.lightbox img{max-height:70dvh;margin:auto;object-fit:contain;min-height:80px}.lightbox-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:16px}.lightbox-caption{font-size:var(--text-sm);color:var(--color-ink-2)}.media-error{padding:40px;text-align:center;color:var(--color-ink-2)}.media-error[hidden]{display:none}.notice-line{margin:22px 0;color:var(--color-muted);font-size:var(--text-xs)}.article-thumb{width:100%;aspect-ratio:16/9;object-fit:cover;margin-bottom:32px}
@media(min-width:1500px){.hero-art{width:70%;object-position:20% center}.hero{min-height:720px}}
@media(max-width:1000px){.nav-links{gap:20px}.gallery-stage{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.hero-art{width:85%;object-position:25% center}.hero:after{background:linear-gradient(90deg,var(--color-scrim),var(--color-fog) 100%),linear-gradient(0deg,var(--color-paper),var(--color-clear) 40%)}.hero-copy{max-width:510px}.hero-caption{display:none}.two-col{gap:32px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reading-layout{grid-template-columns:180px minmax(0,1fr);gap:32px}.guide-cards{grid-template-columns:minmax(0,1fr)}.feature-grid{gap:20px}.download-panel{align-items:start;flex-direction:column}}
@media(max-width:767px){html{scroll-padding-top:82px}.wrap{width:calc(100% - 36px)}.mast-top{min-height:64px}.brand{font-size:1.2rem}.mast-note{display:none}.menu-toggle{display:block;border:1px solid var(--color-rule);background:var(--color-paper-2);padding:6px 12px;font-size:var(--text-sm);white-space:nowrap}.nav-row{flex-wrap:wrap;gap:0;min-height:auto;padding:0 0 12px;border-top:0}.nav-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%;text-align:center}.nav-links a{font-size:var(--text-xs)}.nav-download{display:none}.js .nav-row{display:none}.js .nav-row.is-open{display:block}.hero{min-height:650px;align-items:end}.hero-art{width:100%;height:100%;object-position:29% center;opacity:.82}.hero:after{background:linear-gradient(0deg,var(--color-paper) 0%,var(--color-scrim) 25%,var(--color-fog) 100%)}.hero-copy{padding:170px 0 38px;max-width:none}.hero .eyebrow{margin-bottom:16px;font-size:10px}.hero h1{font-size:clamp(3rem,11vw,4.3rem)}.hero h1 span{font-size:.37em;margin-top:12px}.hero .lede{font-size:var(--text-base);max-width:370px;margin-top:20px}.hero .tags{margin:16px 0}.actions{gap:12px;margin-top:22px}.btn{padding:12px 16px;gap:12px;min-height:48px;font-size:var(--text-xs)}.info-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;padding:22px 0}.section{padding-block:48px}.section-head{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}.section-head h2{font-size:1.8rem}.section-head .text-link{justify-self:start}.gallery-stage{grid-template-columns:minmax(0,1fr)}.thumb-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.thumb-list span{font-size:10px;padding:5px 4px}.thumb-side-copy{display:none}.story-band{min-height:610px;align-items:end}.story-band>img{object-position:22% center}.story-band:after{background:linear-gradient(0deg,var(--color-scrim) 25%,var(--color-fog))}.story-band .story-copy{width:100%;padding:230px 0 36px}.story-copy p{margin-top:18px;font-size:var(--text-sm)}.story-copy h2{font-size:2rem}.magazine{padding:40px 0}.feature-grid,.two-col{grid-template-columns:minmax(0,1fr)}.feature-grid{gap:32px}.feature{display:grid;grid-template-columns:minmax(0,1fr)}.feature img{max-height:280px}.aside-card{padding:24px}.two-col{gap:40px}.audience-list li{grid-template-columns:88px minmax(0,1fr);gap:12px}.final-cta .wrap{flex-direction:column;align-items:start;gap:24px}.final-cta h2{font-size:1.8rem}.site-footer{padding-bottom:114px}.footer-top{grid-template-columns:minmax(0,1fr);gap:28px}.footer-links{gap:12px 18px}.bottom-cta{display:flex;justify-content:space-between;gap:12px;align-items:center;position:fixed;bottom:0;left:0;right:0;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:var(--color-header);border-top:1px solid var(--color-rule);z-index:25}.bottom-cta span{font-size:var(--text-xs);line-height:1.5}.bottom-cta span small{display:block;color:var(--color-muted);font-size:10px}.bottom-cta .btn{min-height:42px;padding:10px 14px}.back-top{bottom:94px;right:12px;padding:5px 10px;font-size:10px}.page-intro{padding:16px 0 32px}.page-intro h1{font-size:2.1rem}.page-intro .intro{font-size:var(--text-sm)}.breadcrumb{font-size:11px;gap:7px;padding:20px 0}.gallery-grid{gap:24px 12px}.gallery-card figcaption{font-size:var(--text-xs)}.gallery-card figcaption span{display:block;margin-bottom:3px}.reading-layout{grid-template-columns:minmax(0,1fr);gap:32px}.toc{position:static;padding:16px;background:var(--color-paper-2);display:flex;gap:12px 20px;flex-wrap:wrap}.toc strong{width:100%;font-size:1.1rem}.toc a{margin:0;font-size:var(--text-xs);white-space:nowrap}.reading-body section{scroll-margin-top:90px}.reading-body h2{font-size:1.6rem}.reading-body p,.reading-body li{font-size:var(--text-sm)}.platform-grid{grid-template-columns:minmax(0,1fr)}.platform-card,.download-panel{padding:24px}.download-panel .btn{width:100%}.lightbox{padding:12px}.lightbox-caption{font-size:var(--text-xs)}.lightbox-bottom{flex-wrap:wrap}.lightbox-caption{order:3;width:100%}.lightbox button{font-size:var(--text-xs);padding:8px 12px}.gallery-tools{gap:8px}.filter{padding:7px 16px;font-size:var(--text-xs)}}
@media(max-width:350px){.hero-copy{padding-top:140px}.hero{min-height:670px}.actions{gap:10px}.actions .btn{padding-inline:12px}.thumb-list{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.btn:active{transform:none}}

.official-logo{width:230px;height:auto;margin:8px 0 24px;border:1px solid var(--color-rule)}
code{font-family:var(--font-mono);font-size:.86em;overflow-wrap:anywhere;color:var(--color-gold)}
@media(max-width:767px){.mast-top{flex-wrap:wrap;padding-block:8px;gap:8px}.menu-toggle{margin-left:auto}}

/* Hallmark redesign · macrostructure: Scene-to-journal (bespoke)
 * theme: midnight indie inn · nav: N7 compact slab · footer: Ft1 mast-headed
 * original routes and factual copy retained · P5 H5 E4 S5 R5 V5 */
:root{
 --ui-generation:indie-inn;
 --color-texture:oklch(16% .01 15 / .12);
 --color-night:oklch(18.22037% 0 0);
 --color-wine:oklch(36.20948% .108859 14.69254);
 --color-ivory:oklch(95.68159% .011929 79.78424);
 --color-paper:var(--color-ivory);
 --color-paper-2:oklch(92.7% .019 80);
 --color-paper-3:oklch(88% .021 80);
 --color-ink:oklch(23% .012 65);
 --color-ink-2:oklch(37% .018 65);
 --color-muted:oklch(47% .02 65);
 --color-rule:oklch(77% .025 80);
 --color-gold:oklch(76.65278% .138677 91.05935);
 --color-accent:var(--color-gold);
 --color-accent-ink:var(--color-night);
 --color-focus:oklch(52% .14 13);
 --color-red:var(--color-wine);
 --color-shadow:oklch(13% .012 15);
 --color-clear:oklch(18% .005 60 / 0);
 --color-scrim:oklch(18% .005 60 / .96);
 --color-fog:oklch(95% .012 82 / .08);
 --color-header:var(--color-night);
 --color-warm-paper:var(--color-ivory);
 --color-warm-ink:var(--color-ink);
 --color-warm-muted:var(--color-muted);
 --color-warm-rule:var(--color-rule);
 --color-light-ink:var(--color-ivory);
 --color-light-muted:oklch(82% .016 82);
 --color-dark-rule:oklch(43% .025 70);
 --color-steam:oklch(94% .014 80 / .08);
 --text-display:clamp(2.8rem,4.4vw,4.25rem);
 --text-heading:clamp(1.6rem,2.5vw,2.1rem);
 --font-display:"Songti SC","Noto Serif CJK SC","SimSun",Georgia,serif;
 --space-sheet:48px;
}
body{background:var(--color-wine);background-image:repeating-linear-gradient(90deg,var(--color-clear) 0 8px,var(--color-texture) 9px 9.3px,var(--color-clear) 10px 14px);background-size:14px 100%;color:var(--color-ink)}
.wrap{width:min(1040px,calc(100% - 80px))}
.site-header{background:var(--color-night);border-bottom:2px solid var(--color-gold);color:var(--color-light-ink)}
.site-header>.wrap{width:min(1280px,calc(100% - 64px));display:flex;align-items:center;justify-content:space-between;gap:32px}
.mast-top{min-height:76px;flex:1;padding:0;gap:12px}.mast-note{display:none}.brand{font-size:1.2rem;letter-spacing:.1em}.brand img{width:36px;height:36px;border-color:var(--color-gold)}
.nav-row{border:0;min-height:76px;gap:28px}.nav-links{gap:24px}.nav-links a{font-size:var(--text-xs);padding:10px 0;color:var(--color-light-muted)}.nav-links a[aria-current=page]{color:var(--color-light-ink);border-bottom-color:var(--color-gold)}.nav-download{font-size:var(--text-xs);color:var(--color-gold)}
a:hover{color:var(--color-wine)}.site-header a:hover,.hero a:hover,.site-footer a:hover{color:var(--color-gold)}
.btn{border:1px solid var(--color-ink);border-radius:0;background:var(--color-ivory);color:var(--color-ink);box-shadow:4px 4px 0 var(--color-shadow);min-height:48px;padding:12px 20px;gap:20px;font-size:var(--text-sm);transform:none;transition:transform var(--dur-fast) var(--ease-out)}
.btn.primary{background:var(--color-gold);border-color:var(--color-gold);color:var(--color-night)}.btn:hover{background:var(--color-paper-2);color:var(--color-wine);border-color:var(--color-wine)}.btn.primary:hover{background:var(--color-gold);color:var(--color-night);filter:none;border-color:var(--color-ivory)}.btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--color-shadow)}
button:active,.filter:active{transform:translate(1px,1px)}button:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}
[data-state=loading]{cursor:progress}[data-state=error]{outline-color:var(--color-red)}[data-state=success]{outline-color:var(--color-success)}
.hero{min-height:min(920px,calc(100svh - 78px));height:auto;align-items:end;background:var(--color-night);color:var(--color-light-ink);overflow:clip}
.hero-art{width:100%;height:100%;top:0;right:0;object-fit:cover;object-position:50% 40%;opacity:1}
.hero:after{background:linear-gradient(0deg,var(--color-night) 0%,var(--color-scrim) 5%,var(--color-clear) 85%);z-index:-1;pointer-events:none}
.hero:before{content:"";position:absolute;left:-10%;bottom:15%;width:65%;height:32%;background:radial-gradient(ellipse,var(--color-steam),var(--color-clear) 70%);z-index:0;pointer-events:none;animation:inn-fog 28s linear infinite alternate}
@keyframes inn-fog{from{transform:translateX(0);opacity:.25}to{transform:translateX(18%);opacity:.6}}
.hero .wrap{position:relative;z-index:1;max-width:1040px}.hero-copy{max-width:700px;padding:180px 0 52px}.hero .eyebrow{display:inline-block;background:var(--color-ivory);color:var(--color-wine);padding:5px 12px;letter-spacing:.08em;box-shadow:3px 3px 0 var(--color-shadow);transform:rotate(-1.5deg);margin-bottom:20px;font-size:11px}.hero h1{font-size:var(--text-display);letter-spacing:.08em;text-shadow:0 2px 8px var(--color-shadow);font-weight:500}.hero h1 span{font-family:var(--font-display);font-size:.32em;letter-spacing:.36em;margin-top:10px;color:var(--color-gold)}.hero .lede{font-size:1rem;max-width:480px;line-height:1.8;color:var(--color-light-ink);margin-top:20px}.hero .tags{margin:16px 0}.tag{border-color:var(--color-rule);color:var(--color-ink-2);background:var(--color-paper-2)}.hero .tag{background:var(--color-night);border-color:var(--color-dark-rule);color:var(--color-light-muted)}.hero .fine{color:var(--color-light-muted);margin-top:20px}.hero .btn:not(.primary){background:var(--color-night);border-color:var(--color-gold);color:var(--color-light-ink)}.hero-caption{display:none}
main>.wrap{background:var(--color-ivory);padding-inline:var(--space-sheet)}
main>.wrap:not(.section){padding-top:0;padding-bottom:0}
.info-strip{background:var(--color-night);color:var(--color-light-ink);margin:0 calc(-1 * var(--space-sheet));padding:24px 32px;border:0;gap:20px;position:relative}
.info-strip:before{content:"";position:absolute;inset:8px;border:1px solid var(--color-dark-rule);pointer-events:none}
.info-strip dt{color:var(--color-light-muted);font-size:11px}.info-strip dd{font-size:var(--text-xs)}
.section{padding-block:48px}.section-head{margin-bottom:28px;gap:20px}.section-head h2{font-size:var(--text-heading)}.section-head p{color:var(--color-muted);font-size:var(--text-xs);margin-top:10px}.text-link{color:var(--color-wine);border-bottom:1px solid var(--color-wine);font-size:var(--text-xs);font-weight:600}
.magazine{width:min(1040px,calc(100% - 80px));margin:0 auto;padding:48px;background:var(--color-ivory);color:var(--color-ink)}.magazine .wrap{width:100%}.magazine .section-head{display:block}.magazine .section-head p{max-width:none}
.feature-grid{display:flex;flex-direction:column;gap:28px}.feature{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:8px 36px;border-top:1px solid var(--color-rule);padding-top:24px}.feature-title{grid-column:1;align-self:end}.feature .feature-title{margin-bottom:0;gap:0}.feature-title span{display:none}.feature h3{font-size:1.3rem}.feature p{grid-column:1;font-size:var(--text-sm);max-width:48ch}.feature figure{grid-column:2;grid-row:1/3}.feature img{margin:0;box-shadow:5px 5px 0 var(--color-paper-3);border:1px solid var(--color-rule)}.feature figcaption{margin-top:10px;font-family:var(--font-body);font-size:10px}
.story-band{width:min(1040px,calc(100% - 80px));margin:0 auto;min-height:0;padding:0 48px 48px;background:var(--color-ivory);display:block;color:var(--color-ink)}.story-band>img{position:static;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.story-band:after{display:none}.story-band .wrap{width:100%}.story-band .story-copy{width:100%;padding:28px 0 0;margin:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 40px}.story-copy h2{grid-column:1;grid-row:1/3;font-size:1.8rem;line-height:1.55;max-width:360px}.story-copy p{margin-top:0;color:var(--color-ink-2);font-size:var(--text-sm)}.story-copy .text-link{grid-column:2;justify-self:start}
.gallery-stage{grid-template-columns:minmax(0,1fr);gap:16px}.gallery-main{border:1px solid var(--color-rule);box-shadow:6px 6px 0 var(--color-paper-3)}.gallery-main .view-label{background:var(--color-night);color:var(--color-light-ink);border-left:0;bottom:12px;left:12px;padding:4px 10px}.thumb-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.thumb-list a{background:var(--color-paper-2);border:1px solid var(--color-rule)}.thumb-list span{color:var(--color-ink-2);font-size:11px;padding:6px 8px}.thumb-side-copy{display:none}
.two-col{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px}.spec-list{gap:16px 24px}.spec-list dd{font-size:var(--text-xs)}.aside-card{background:var(--color-paper-2);border:1px solid var(--color-rule);padding:24px;box-shadow:5px 5px 0 var(--color-paper-3)}.aside-card h3{font-size:1.3rem}.aside-card p{font-size:var(--text-xs)}.update{border:0;padding:20px 0 0;margin-top:20px;border-top:1px solid var(--color-rule)}.update h3{font-size:1.15rem}.update time{font-family:var(--font-body)}.audience-list li{grid-template-columns:84px minmax(0,1fr)}.audience-list strong{color:var(--color-wine);font-size:var(--text-xs)}.audience-list span{font-size:var(--text-xs)}
.faq{border-top:2px solid var(--color-ink)}summary{font-size:var(--text-sm)}summary:after{color:var(--color-wine)}details .answer{color:var(--color-ink-2);font-size:var(--text-sm)}details[open]{background:var(--color-paper-2);padding:18px 16px}.final-cta{width:min(1040px,calc(100% - 80px));margin:auto;background:var(--color-night);border:0;color:var(--color-light-ink);padding:36px 48px}.final-cta .wrap{width:100%}.final-cta h2{font-size:1.6rem}.final-cta p{color:var(--color-light-muted);font-size:var(--text-xs)}
.site-footer{color:var(--color-light-ink);background:var(--color-night);max-width:1040px;margin:auto;padding:40px 48px 28px}.site-footer .wrap{width:100%}.footer-top{grid-template-columns:minmax(0,1fr);gap:28px}.site-footer .brand{font-size:1.8rem}.footer-copy{max-width:none;color:var(--color-light-muted)}.footer-links{gap:10px 20px}.related-label,.copyright{color:var(--color-light-muted)}.copyright{border-top-color:var(--color-dark-rule)}.site-footer .footer-top>div:first-child{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:center}.site-footer .footer-copy{margin:0}.related-label{margin:20px 0 8px}.back-top{background:var(--color-night);color:var(--color-light-ink);border-color:var(--color-gold)}
.breadcrumb{padding-top:28px}.page-intro{padding-top:16px;padding-bottom:32px}.page-intro h1{font-size:clamp(1.9rem,3.4vw,2.65rem);max-width:100%;line-height:1.55}.page-intro .intro{font-size:var(--text-sm);max-width:65ch}.page-intro .fine{font-size:11px}.reading-layout{grid-template-columns:160px minmax(0,1fr);gap:36px}.reading-body{max-width:65ch}.toc{border-top:2px solid var(--color-wine);top:104px}.toc a{font-size:var(--text-xs)}.toc strong{font-size:1.1rem}.reading-body h2{font-size:1.6rem;line-height:1.55}.reading-body p,.reading-body li{font-size:var(--text-sm);line-height:2}.reading-body section{scroll-margin-top:108px;padding-bottom:32px;margin-bottom:32px}.reading-body code,code{color:var(--color-wine)}.callout{border:1px solid var(--color-rule);border-left-width:1px;background:var(--color-paper-2);padding:16px;font-size:var(--text-xs)}.guide-cards{gap:16px;margin-bottom:40px}.guide-card{background:var(--color-paper-2);border:1px solid var(--color-rule);padding:20px;box-shadow:3px 3px 0 var(--color-paper-3)}.guide-card h2{font-size:1.1rem}.guide-card p{font-size:var(--text-xs)}.platform-card{padding:24px;background:var(--color-paper-2)}.platform-card p{font-size:var(--text-sm)}.download-panel{background:var(--color-night);color:var(--color-light-ink);padding:28px;border:1px solid var(--color-gold);box-shadow:5px 5px 0 var(--color-paper-3)}.download-panel p{color:var(--color-light-muted);font-size:var(--text-xs)}
.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.gallery-card img{border:1px solid var(--color-rule);box-shadow:4px 4px 0 var(--color-paper-3)}.gallery-card figcaption{font-size:var(--text-xs)}.gallery-card figcaption span{color:var(--color-wine)}.filter{background:var(--color-paper-2);border-color:var(--color-ink);box-shadow:2px 2px 0 var(--color-paper-3);border-radius:0}.filter[aria-pressed=true]{background:var(--color-wine);border-color:var(--color-wine);color:var(--color-light-ink)}.filter:hover{border-color:var(--color-wine)}.lightbox{background:var(--color-night);color:var(--color-light-ink);border-color:var(--color-gold)}.lightbox button{background:var(--color-night);color:var(--color-light-ink);border-color:var(--color-gold)}.lightbox .fine,.lightbox-caption,.media-error{color:var(--color-light-muted)}.lightbox::backdrop{background:var(--color-scrim)}.official-logo{margin-top:0;padding-top:24px;width:230px;border:none}
@media(min-width:1500px){.hero{min-height:min(960px,calc(100svh - 78px))}.hero-art{width:100%;object-position:50% 40%}}
@media(max-width:1100px){.site-header>.wrap{width:calc(100% - 40px);gap:20px}.nav-row{gap:20px}.nav-links{gap:16px}.nav-download{display:none}.hero-art{width:100%;object-position:45% center}.hero:after{background:linear-gradient(0deg,var(--color-night),var(--color-scrim) 8%,var(--color-clear) 90%)}.hero-copy{max-width:700px}.wrap{width:calc(100% - 64px)}.magazine,.story-band,.final-cta{width:calc(100% - 64px)}.section-head{display:block}.section-head>.text-link{display:inline-block;margin-top:16px}.two-col{grid-template-columns:minmax(0,1fr)}.aside-card{box-shadow:none}.download-panel{flex-direction:column;align-items:start}}
@media(max-width:767px){
 :root{--space-sheet:24px}html{scroll-padding-top:92px}.wrap{width:calc(100% - 32px)}
 .site-header>.wrap{width:calc(100% - 32px);display:block}.mast-top{min-height:60px;padding-block:8px}.brand{font-size:1.1rem}.brand img{width:30px;height:30px}.menu-toggle{color:var(--color-light-ink);background:var(--color-night);border-color:var(--color-dark-rule)}
 .nav-row{min-height:0;padding:0 0 12px}.nav-links{gap:8px}.nav-links a{font-size:11px}.js .nav-row{display:none}.js .nav-row.is-open{display:block}
 .hero{min-height:calc(100svh - 62px);height:auto}.hero-art{height:100%;width:100%;object-position:32% center;opacity:1}.hero:after{background:linear-gradient(0deg,var(--color-night) 0%,var(--color-scrim) 10%,var(--color-clear) 95%)}.hero .wrap{width:calc(100% - 48px)}.hero-copy{padding:160px 0 32px;max-width:none}.hero .eyebrow{font-size:10px;padding:4px 8px;margin-bottom:16px}.hero h1{font-size:clamp(2.5rem,10vw,3.5rem)}.hero h1 span{font-size:.32em}.hero .lede{font-size:var(--text-sm);line-height:1.85;margin-top:18px}.hero .tags{margin:14px 0}.hero .tag{font-size:10px;padding:2px 7px}.hero .fine{font-size:10px;max-width:280px;line-height:1.8;margin-top:18px}.actions{margin-top:20px;gap:12px}.btn{font-size:var(--text-xs);padding:11px 14px;gap:12px;min-height:46px}
 .info-strip{padding:20px 24px;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.info-strip dd{font-size:11px}.info-strip dt{font-size:10px}
 .magazine,.story-band,.final-cta{width:calc(100% - 32px)}.magazine{padding:32px 24px}.section{padding-block:32px}.section-head{display:block;margin-bottom:24px}.section-head h2{font-size:1.65rem}.section-head p{font-size:11px}.feature-grid{gap:24px}.feature{grid-template-columns:minmax(0,1fr);gap:10px;padding-top:20px}.feature .feature-title,.feature p,.feature figure{grid-column:1;grid-row:auto}.feature figure{margin-top:6px}.feature img{max-height:none}.feature h3{font-size:1.2rem}.feature p{max-width:none;font-size:var(--text-xs);line-height:1.95}.feature figcaption{font-size:10px}
 .story-band{padding:0 24px 32px}.story-band .story-copy{display:block;padding:24px 0 0}.story-copy h2{font-size:1.6rem;max-width:none;line-height:1.6}.story-copy p{margin-top:16px;font-size:var(--text-xs);line-height:2}.story-copy .text-link{display:inline-block;margin-top:20px}.gallery-stage{grid-template-columns:minmax(0,1fr)}.thumb-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.thumb-list span{font-size:10px}.gallery-main .view-label{bottom:8px;left:8px;font-size:10px;padding:3px 6px}
 .two-col{gap:28px;grid-template-columns:minmax(0,1fr)}.spec-list{gap:14px 16px}.spec-list dd{font-size:11px}.spec-list dt{font-size:10px}.audience-list li{grid-template-columns:72px minmax(0,1fr);gap:12px}.audience-list span,.audience-list strong{font-size:11px}.aside-card{padding:20px}.aside-card .btn{max-width:100%}.notice-line{font-size:10px}.final-cta{padding:28px 24px}.final-cta .wrap{gap:20px}.final-cta h2{font-size:1.5rem}.final-cta p{font-size:11px}
 .site-footer{width:calc(100% - 32px);padding:32px 24px 120px}.site-footer .footer-top>div:first-child{display:block}.site-footer .brand{font-size:1.5rem}.site-footer .footer-copy{margin-top:16px;font-size:11px}.footer-top{gap:24px}.footer-links{gap:10px 16px;font-size:11px}.copyright{font-size:10px}.related-label{font-size:10px}
 .bottom-cta{background:var(--color-night);border-top:1px solid var(--color-gold);color:var(--color-light-ink);padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.bottom-cta span small{color:var(--color-light-muted)}.bottom-cta .btn{font-size:11px;box-shadow:2px 2px 0 var(--color-shadow);padding:10px 12px}.back-top{font-size:10px;bottom:92px;right:8px}
 .page-intro h1{font-size:1.8rem;line-height:1.55}.page-intro .intro{font-size:var(--text-xs);line-height:2}.page-intro .fine{font-size:10px}.breadcrumb{font-size:10px;padding-top:20px;gap:6px}.page-intro{padding-bottom:24px}.reading-layout{grid-template-columns:minmax(0,1fr);gap:28px}.toc{background:var(--color-paper-2);padding:16px;border-top-color:var(--color-wine);position:static;gap:12px 16px}.toc a{font-size:11px}.reading-body h2{font-size:1.4rem}.reading-body p,.reading-body li{font-size:var(--text-xs);line-height:2}.callout{font-size:11px}.guide-cards{grid-template-columns:minmax(0,1fr);gap:16px;margin-bottom:32px}.guide-card{padding:20px}.guide-card p{font-size:var(--text-xs)}.platform-grid{gap:20px}.platform-card{padding:20px}.platform-card p{font-size:var(--text-xs);line-height:2}.download-panel{padding:24px}.download-panel h3{font-size:1.2rem}.download-panel .btn{width:100%}.download-panel p{font-size:11px}.gallery-grid{grid-template-columns:minmax(0,1fr);gap:24px}.filter{padding:7px 14px;font-size:11px}.gallery-card figcaption{font-size:11px}
}
@media(max-height:700px) and (min-width:768px){.hero{min-height:620px}.hero-copy{padding-top:120px}}
@media(prefers-reduced-motion:reduce){.hero:before{animation:none;opacity:.2}.btn:active,button:active{transform:none}*,*:before,*:after{animation:none!important;transition:none!important}}

.hero-facts{color:var(--color-light-muted);font-size:var(--text-xs);margin-top:12px}
@media(max-width:767px){.hero-copy{padding-top:120px;padding-bottom:112px}.hero-facts{font-size:10px;margin-top:12px}.hero .fine{margin-top:16px}}
