/* Hallmark · macrostructure: Workbench · theme: custom forest game shop · nav: N12 announcement + shop bar · footer: Ft2 colophon · enrichment: real game screenshots
 * pre-emit critique: Philosophy 4, Hierarchy 5, Execution 4, Specificity 5, Restraint 4, Variety 4 */
:root{--paper:oklch(96.5% .015 88);--surface:oklch(99.5% .003 88);--ink:oklch(25% .015 157);--muted:oklch(47% .018 156);--line:oklch(87% .019 90);--forest:oklch(44.8% .119 151);--forest-dark:oklch(31% .055 156);--mint:oklch(94% .031 145);--orange:oklch(77.2% .174 65);--orange-hover:oklch(82% .146 71);--berry:oklch(56% .16 10);--brown:oklch(52% .08 58);--white:oklch(99% .004 88);--overlay:oklch(14% .02 165 / .94);--shade:oklch(20% .015 157 / .08);--focus:oklch(46% .16 250);--font-display:'Avenir Next','PingFang SC','Microsoft YaHei',sans-serif;--font-body:'PingFang SC','Microsoft YaHei','Noto Sans CJK SC',sans-serif;--font-title:'Songti SC','STSong','SimSun',serif;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--ease-out:cubic-bezier(.16,1,.3,1);--ease-in:cubic-bezier(.7,0,.84,0);--ease-in-out:cubic-bezier(.65,0,.35,1);--z-sticky:20;--z-modal:40}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px;overflow-x:clip}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.75 var(--font-body);overflow-x:clip}body.modal-open{overflow-y:hidden}button,a,input,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}a:hover{color:var(--forest)}button{font:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}svg{flex:none;width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}button,a{touch-action:manipulation}button:disabled,[aria-disabled=true]{opacity:.45;cursor:not-allowed}button:active,.btn:active{transform:translateY(1px)}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--font-display);font-style:normal;overflow-wrap:anywhere;min-width:0;line-height:1.3}h1{font-size:40px;letter-spacing:-1px}h2{font-size:26px}h3{font-size:18px}p+p{margin-top:16px}small{font-size:12px}.wrap{width:min(1240px,calc(100% - 64px));margin-inline:auto}.skip{position:fixed;left:16px;top:-100px;z-index:var(--z-modal);background:var(--orange);padding:12px}.skip:focus{top:12px}.announcement{background:var(--forest-dark);color:var(--white);font-size:12px}.announcement .wrap{display:flex;justify-content:space-between;align-items:center;min-height:32px;gap:16px}.announcement a:hover{color:var(--orange)}.announcement a{white-space:nowrap}.masthead{display:flex;align-items:center;justify-content:space-between;min-height:94px;gap:24px}.brand{display:flex;align-items:center;gap:13px}.brand img{width:44px;height:44px;border-radius:6px}.brand strong{display:block;font-family:var(--font-title);font-size:26px;letter-spacing:3px;line-height:1.4}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:2px}.mast-note{display:flex;gap:24px;font-size:12px;color:var(--muted);align-items:center}.navigation{position:sticky;top:0;z-index:var(--z-sticky);background:var(--ink);color:var(--white)}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px}.nav-links{display:flex;align-items:stretch;gap:8px;align-self:stretch}.nav-links a{display:flex;align-items:center;padding:0 24px;white-space:nowrap;font-size:14px;position:relative}.nav-links a:hover{background:var(--forest-dark);color:var(--white)}.nav-links a[aria-current=page]{background:var(--forest-dark)}.nav-links a[aria-current=page]:after{content:'';height:3px;position:absolute;bottom:0;left:24px;right:24px;background:var(--orange)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:11px 22px;border:1px solid transparent;border-radius:4px;font-weight:650;white-space:nowrap;line-height:1.45;transition:transform 120ms var(--ease-out)}.btn-primary{background:var(--orange);color:var(--ink);box-shadow:0 3px 0 var(--brown)}.btn-primary:hover{background:var(--orange-hover);color:var(--ink)}.btn-secondary{background:var(--surface);border-color:var(--line);color:var(--forest)}.btn-secondary:hover{border-color:var(--forest);background:var(--mint)}.btn-quiet{color:var(--forest);border-color:var(--line);background:transparent}.nav-cta{min-height:36px;font-size:12px;padding:7px 16px;box-shadow:none}.breadcrumbs{display:flex;gap:12px;align-items:center;padding-block:23px;font-size:12px;color:var(--muted);flex-wrap:wrap}.breadcrumbs a{white-space:nowrap}.hero{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:32px;align-items:start}.hero-media{min-width:0}.media-screen{position:relative;overflow:hidden;border-radius:6px;background:var(--ink);aspect-ratio:16/9}.media-screen img{width:100%;height:100%;object-fit:contain}.media-screen a{display:block;height:100%}.media-screen .view-label{position:absolute;right:12px;bottom:12px;color:var(--white);background:var(--overlay);display:flex;align-items:center;gap:6px;border:1px solid var(--muted);border-radius:4px;padding:5px 9px;font-size:11px}.media-caption{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-block:10px;gap:12px}.thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.thumbnail{display:block;border:2px solid transparent;border-radius:4px;overflow:hidden;background:var(--ink)}.thumbnail img{aspect-ratio:16/9;width:100%;object-fit:cover;opacity:.8}.thumbnail:hover img,.thumbnail[aria-current=true] img{opacity:1}.thumbnail[aria-current=true]{border-color:var(--forest)}.hero-info{padding:0 0 0 0}.tagline{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.tag{background:var(--mint);color:var(--forest);padding:3px 9px;border-radius:3px;font-size:11px;line-height:1.5}.tag.subtle{background:transparent;border:1px solid var(--line);color:var(--muted)}.game-title span{display:block;font-size:15px;font-weight:500;letter-spacing:4px;margin-top:4px;color:var(--forest)}.hero-lede{margin-block:16px 22px;font-size:14px;color:var(--muted);line-height:1.85;max-width:40ch}.hero-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0;gap:12px 16px}.hero-meta div{font-size:12px}.hero-meta dt{color:var(--muted);font-size:11px}.hero-meta dd{margin:4px 0 0;font-weight:600}.hero-meta{margin-block:0 18px}.actions{display:grid;gap:10px}.actions .btn{width:100%}.button-note{font-size:11px;color:var(--muted);text-align:center;margin-top:9px}.chapter-nav{display:flex;gap:32px;margin-top:32px;margin-bottom:32px;border-bottom:1px solid var(--line);font-size:13px;overflow:auto}.chapter-nav a{white-space:nowrap;min-height:48px;display:flex;align-items:center}.chapter-nav a:first-child{font-weight:700;color:var(--forest);border-bottom:3px solid var(--forest)}.body-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:32px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:5px;overflow:hidden}.panel-title{background:var(--ink);color:var(--white);display:flex;align-items:center;justify-content:space-between;padding:13px 22px;gap:16px}.panel-title h2{font-size:17px}.panel-title span{font-size:11px;color:var(--paper)}.panel-body{padding:28px}.section-stack{display:grid;gap:28px}.story-title{font-family:var(--font-title);font-weight:650;font-size:30px;margin-bottom:18px;line-height:1.5}.prose{color:var(--muted);font-size:14px}.prose p{max-width:68ch}.feature-row{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;margin-top:24px}.feature-row svg{width:24px;height:24px;color:var(--forest);margin-top:3px}.feature-row h3{font-size:15px;margin-bottom:6px}.feature-row p{font-size:13px;color:var(--muted);line-height:1.8}.story-shot{margin-top:28px}.story-shot a{display:block}.story-shot img{aspect-ratio:16/9;width:100%;object-fit:cover}.story-shot figcaption{font-size:11px;color:var(--muted);margin-top:8px}.facts{margin:0}.facts div{display:grid;grid-template-columns:85px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.facts div:first-child{padding-top:0}.facts div:last-child{border:0;padding-bottom:0}.facts dt{color:var(--muted)}.facts dd{margin:0;font-weight:500}.help-card{background:var(--mint);padding:24px;border-radius:5px}.help-card h3{margin-bottom:12px;font-size:18px}.help-card p{font-size:13px;color:var(--muted)}.help-card a{display:inline-flex;margin-top:16px;font-size:13px;text-decoration:underline;text-underline-offset:4px;color:var(--forest)}.topic-list{display:grid}.topic-list a{display:grid;grid-template-columns:32px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:20px 0;border-bottom:1px solid var(--line)}.topic-list a:first-child{padding-top:0}.topic-list a:last-child{border-bottom:0;padding-bottom:0}.topic-list small{display:block;color:var(--muted);margin-top:4px}.topic-list strong{font-size:14px}.version{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.version strong{font-family:var(--font-display);font-size:30px;color:var(--forest)}.version time{font-size:12px;color:var(--muted)}.log{font-size:13px;padding-left:18px;color:var(--muted);margin:0}.log li+li{margin-top:8px}.source-link{display:inline-block;font-size:11px;color:var(--muted);margin-top:16px;text-decoration:underline;text-underline-offset:3px}.faq{margin-top:36px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.section-heading p{color:var(--muted);font-size:13px}.faq-list{background:var(--surface);border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 22px;font-size:14px;font-weight:600}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:22px;font-weight:400;color:var(--forest)}details[open] summary:after{content:'−'}details[open] summary{color:var(--forest)}.faq-answer{padding:0 22px 22px;color:var(--muted);font-size:13px;max-width:85ch}.faq-answer a{color:var(--forest);text-decoration:underline}.closing{margin-top:40px;padding:32px;background:var(--forest-dark);color:var(--white);display:flex;justify-content:space-between;gap:32px;align-items:center;border-radius:5px;position:relative}.closing h2{font-family:var(--font-title);font-size:28px;font-weight:600}.closing p{color:var(--paper);font-size:13px;margin-top:8px}.closing .btn{flex:none}.footer{margin-top:56px;border-top:1px solid var(--line);padding:28px 0 32px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-name{font-family:var(--font-title);font-size:21px;letter-spacing:2px}.footer-links{display:flex;gap:22px;flex-wrap:wrap;font-size:12px}.footer-links a{white-space:nowrap}.related{display:flex;gap:10px 22px;flex-wrap:wrap;font-size:11px;margin-top:24px;color:var(--muted)}.related a{white-space:nowrap}.legal{font-size:10px;line-height:1.9;color:var(--muted);margin-top:16px;display:flex;justify-content:space-between;gap:24px}.legal p{max-width:80ch}.back-top{white-space:nowrap}.mobile-dock{display:none}.page-head{padding:6px 0 30px}.page-head h1{font-size:34px;margin-bottom:12px}.page-head p{color:var(--muted);font-size:14px;max-width:65ch}.download-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:32px}.download-ticket{position:sticky;top:82px;align-self:start;background:var(--surface);border:1px solid var(--line);border-radius:5px;overflow:hidden}.ticket-art{position:relative;background:var(--ink)}.ticket-art>.scene{width:100%;aspect-ratio:16/9;object-fit:cover}.ticket-art .logo{position:absolute;width:44%;right:12px;bottom:12px}.ticket-body{padding:24px}.ticket-body h2{font-size:21px;margin-bottom:10px}.ticket-body .btn{width:100%;margin-top:22px}.ticket-body p{font-size:12px;color:var(--muted)}.ticket-body .version{margin-top:15px;margin-bottom:8px}.platforms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.platform{padding:24px}.platform+ .platform{border-left:1px solid var(--line)}.platform svg{color:var(--forest);margin-bottom:14px;width:28px;height:28px}.platform h3{font-size:17px;margin-bottom:10px}.platform p{font-size:13px;color:var(--muted)}.notice{padding:16px 20px;background:var(--mint);border-radius:4px;font-size:12px;color:var(--forest-dark);line-height:1.9}.steps{padding-left:22px;margin:0;counter-reset:steps}.steps li{padding:0 0 20px 8px;color:var(--muted);font-size:13px}.steps li:last-child{padding-bottom:0}.steps li::marker{color:var(--forest);font-weight:700}.steps strong{display:block;color:var(--ink);font-size:14px;margin-bottom:6px}code{overflow-wrap:anywhere;font-size:12px;background:var(--paper);padding:2px 5px}.article-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;align-items:start}.toc{position:sticky;top:84px;border-top:3px solid var(--forest);padding-top:18px}.toc h2{font-size:15px;margin-bottom:12px}.toc a{display:block;font-size:12px;padding:10px 0;color:var(--muted)}.toc a:hover{color:var(--forest)}.article-content{max-width:850px;background:var(--surface);padding:36px;border:1px solid var(--line);border-radius:5px}.article-content section+section{margin-top:38px;padding-top:30px;border-top:1px solid var(--line)}.article-content h2{font-size:24px;margin-bottom:18px}.article-content h3{font-size:16px;margin:22px 0 10px}.article-content p,.article-content li{color:var(--muted);font-size:14px}.article-content ul{padding-left:20px}.article-content li+li{margin-top:9px}.article-content .notice{margin-top:20px}.guide-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.check-item{padding:16px;background:var(--paper)}.check-item b{display:block;margin-bottom:5px;font-size:14px}.check-item span{font-size:12px;color:var(--muted)}.filters{display:flex;gap:8px;align-items:center;margin-bottom:24px;flex-wrap:wrap}.filters[hidden]{display:none}.filter{border:1px solid var(--line);background:var(--surface);border-radius:3px;padding:9px 19px;min-height:44px;font-size:13px;white-space:nowrap}.filter[aria-pressed=true]{background:var(--forest);color:var(--white);border-color:var(--forest)}.gallery-count{margin-left:auto;color:var(--muted);font-size:12px}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.gallery-item{background:var(--surface);border:1px solid var(--line);border-radius:5px;overflow:hidden}.gallery-item[hidden]{display:none}.gallery-item a{display:block;overflow:hidden}.gallery-item img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform 220ms var(--ease-out)}.gallery-item a:hover img{transform:scale(1.02)}.gallery-item figcaption{padding:18px 20px}.gallery-item h2{font-size:17px}.gallery-item p{font-size:12px;color:var(--muted);margin-top:5px}.gallery-item .tag{margin-bottom:8px;display:inline-block}.lightbox{border:0;padding:0;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0;background:var(--overlay);color:var(--white)}.lightbox::backdrop{background:var(--overlay)}.lb-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:24px 32px}.lb-head,.lb-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.lb-head p{font-size:13px}.lb-close,.lb-arrow,.lb-retry{background:transparent;border:1px solid var(--muted);color:var(--white);border-radius:4px;min-height:44px;min-width:44px;padding:8px 16px;white-space:nowrap}.lb-close:hover,.lb-arrow:hover,.lb-retry:hover{background:var(--forest)}.lb-frame{display:flex;align-items:center;justify-content:center;position:relative;min-height:0;padding:20px 0;touch-action:pan-y}.lb-image{max-height:100%;width:auto;max-width:100%;object-fit:contain}.lb-status{position:absolute;inset:auto 0 20px;text-align:center;background:var(--overlay);font-size:13px;padding:10px}.lb-status:empty{display:none}.lb-footer{font-size:12px}.lb-controls{display:flex;gap:12px}.lb-image[data-state=loading]{opacity:.3}.lb-image[data-state=error]{visibility:hidden}.lb-image[data-state=success]{opacity:1}.only-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(min-width:900px) and (prefers-reduced-motion:no-preference){.media-screen img{animation:gentle-zoom 12s var(--ease-in-out) both}@keyframes gentle-zoom{from{transform:scale(1)}to{transform:scale(1.025)}}}
@media(max-width:1023px){.wrap{width:calc(100% - 40px)}.hero{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px}h1{font-size:34px}.hero-lede{margin-block:12px 16px}.hero-meta{gap:8px}.hero-meta dd{font-size:11px}.btn{padding:10px 16px}.nav-links a{padding:0 18px}.body-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px}.panel-body{padding:22px}.article-layout{grid-template-columns:170px minmax(0,1fr);gap:24px}.article-content{padding:28px}}
@media(max-width:767px){html{scroll-padding-top:70px}.wrap{width:calc(100% - 32px)}.announcement .wrap{font-size:10px;min-height:28px;gap:8px}.announcement .ann-extra{display:none}.masthead{min-height:74px}.brand{gap:10px}.brand img{width:36px;height:36px}.brand strong{font-size:22px}.brand small{font-size:8px;letter-spacing:1.5px}.mast-note{display:none}.mast-note>span:first-child{display:none}.nav-inner{min-height:48px;width:100%;gap:0}.nav-links{width:100%;gap:0;justify-content:space-evenly}.nav-links a{padding:0 10px;font-size:12px;min-height:48px;justify-content:center;flex:1}.nav-links a[aria-current=page]:after{left:10px;right:10px}.nav-cta{display:none}.breadcrumbs{padding-block:17px;font-size:10px}.hero{grid-template-columns:minmax(0,1fr);gap:24px}.hero-info{grid-row:1}.game-title{font-size:34px}.game-title span{display:inline;font-size:13px;margin-left:12px;letter-spacing:2px;vertical-align:middle}.hero-lede{font-size:13px;max-width:none;margin:12px 0 16px}.tagline{margin-bottom:10px}.hero-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 20px;padding:12px 0;margin-bottom:16px}.hero-meta dd{font-size:12px;margin-top:2px}.actions{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.actions .btn{font-size:12px;gap:6px;padding:10px 8px;min-height:46px}.actions svg{width:16px;height:16px}.button-note{font-size:10px;text-align:left}.media-caption{font-size:10px}.thumbnails{gap:6px}.chapter-nav{margin-block:22px;gap:26px;font-size:12px}.body-grid,.download-layout{grid-template-columns:minmax(0,1fr);gap:24px}.panel-title{padding:12px 18px}.panel-body{padding:22px}.story-title{font-size:25px}.body-grid .sidebar{display:grid;gap:24px}.facts div{grid-template-columns:80px minmax(0,1fr)}.section-stack{gap:24px}.section-heading{display:block}.section-heading p{margin-top:10px}.section-heading h2{font-size:23px}.faq{margin-top:30px}summary{padding:18px;font-size:13px}.faq-answer{padding:0 18px 20px}.closing{display:block;padding:26px 22px;margin-top:28px}.closing h2{font-size:25px}.closing p{font-size:12px}.closing .btn{margin-top:20px;width:100%;font-size:13px}.footer{margin-top:36px;padding-bottom:110px}.footer-top{align-items:start;flex-direction:column;gap:16px}.footer-links{gap:16px;font-size:11px}.related{font-size:10px;gap:10px 16px;margin-top:20px}.legal{display:block;font-size:10px}.back-top{display:inline-block;margin-top:14px}.mobile-dock{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:var(--z-sticky);background:var(--surface);padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -4px 20px var(--shade)}.mobile-dock strong{display:block;font-size:13px}.mobile-dock small{display:block;font-size:10px;color:var(--muted)}.mobile-dock .btn{min-height:42px;font-size:12px;padding:10px 15px;gap:6px}.page-head{padding:0 0 26px}.page-head h1{font-size:29px}.page-head p{font-size:13px}.download-ticket{position:static;grid-row:1}.ticket-art{display:none}.ticket-body{padding:22px}.ticket-body .btn{margin-top:16px}.platform{padding:20px}.platform h3{font-size:15px}.platform p{font-size:12px}.article-layout{grid-template-columns:minmax(0,1fr);gap:22px}.toc{position:static;padding:14px 18px;background:var(--mint);border:0;border-radius:4px;display:flex;flex-wrap:wrap;gap:4px 20px}.toc h2{width:100%;margin-bottom:3px;font-size:13px}.toc a{font-size:11px;padding:5px 0}.article-content{padding:24px 20px}.article-content h2{font-size:22px}.article-content p,.article-content li{font-size:13px}.gallery-grid{gap:16px}.gallery-item figcaption{padding:14px}.gallery-item h2{font-size:15px}.gallery-item p{font-size:11px}.filters{gap:7px}.filter{padding:8px 14px;font-size:12px}.gallery-count{font-size:11px}.lb-shell{padding:16px}.lb-head p{font-size:11px}.lb-footer{flex-direction:column;align-items:stretch}.lb-controls{justify-content:space-between}.lb-arrow{font-size:12px;flex:1}.lb-close{font-size:12px}.guide-checklist{grid-template-columns:minmax(0,1fr)}}
@media(max-width:480px){.gallery-grid{grid-template-columns:minmax(0,1fr)}.platforms{grid-template-columns:minmax(0,1fr)}.platform+.platform{border-left:0;border-top:1px solid var(--line)}.panel-title span{font-size:10px}.story-title{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.gallery-item a:hover img{transform:none}}
.section-stack{align-content:start}

.footer-name{display:flex;align-items:center;gap:10px}.footer-name img{border-radius:5px;flex:none}
