/* Hallmark · macrostructure: Workbench · tone: industrial sci-fi · anchor hue: cyan
 * theme: custom · vibe: dark storefront cyan game imagery · paper: oklch(22% .015 260) · accent: oklch(77% .112 235)
 * display: Arial Narrow / DIN Condensed · body: PingFang SC · axes: dark / condensed-sans / cool
 * nav: N1b always-solid four-links · footer: Ft2 · context: explicit */
@import url("../../tokens.css");
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.75}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}img{display:block;max-width:100%;height:auto}button{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}button:disabled,[aria-disabled=true]{opacity:.5;cursor:not-allowed}.wrap{width:min(1200px,calc(100% - 64px));margin-inline:auto}.skip{position:fixed;top:-80px;left:16px;z-index:100;background:var(--color-ink);color:var(--color-paper);padding:12px}.skip:focus{top:8px}.site-header{position:sticky;top:0;z-index:20;background:var(--color-paper);border-bottom:var(--rule-width) solid var(--color-rule)}.nav-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-xl);min-height:80px}.brand{display:flex;align-items:center;gap:var(--space-sm);width:180px}.brand img{width:154px;height:auto}.nav-links{display:flex;gap:var(--space-lg)}.nav-links a{color:var(--color-muted);padding:24px 0;border-bottom:3px solid transparent;font-size:.94rem;white-space:nowrap}.nav-links a[aria-current=page]{color:var(--color-ink);border-color:var(--color-accent)}.nav-action{justify-self:end}.btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:12px;padding:10px 24px;border:1px solid var(--color-cta);border-radius:var(--radius-sm);background:var(--color-cta);color:var(--color-on-cta);font-weight:700;line-height:1.5;transition:transform var(--dur-fast) var(--ease-out)}.btn:hover{background:var(--color-cta-hover);text-decoration:none}.btn:active{transform:translateY(1px)}.btn.secondary{background:transparent;border-color:var(--color-rule);color:var(--color-ink)}.btn.secondary:hover{background:var(--color-panel-high)}.nav-action.btn{min-height:40px;padding:8px 16px;font-size:var(--text-sm)}.breadcrumbs{display:flex;gap:12px;align-items:center;color:var(--color-muted);font-size:var(--text-sm);padding-block:var(--space-lg)}.breadcrumbs a{color:var(--color-muted)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.25}h1{font-size:var(--text-display);font-weight:750;letter-spacing:-.04em}h2{font-size:var(--text-h2);font-weight:650;letter-spacing:-.03em}h3{font-size:1.2rem}p{color:var(--color-muted)}.title-row{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:8px 0 26px}.title-row h1 small{display:inline-block;font-family:var(--font-display);font-weight:400;font-size:.55em;letter-spacing:.04em;margin-left:18px;color:var(--color-muted)}.title-note{font-size:var(--text-sm);white-space:nowrap}.product{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(300px,1fr);gap:28px}.hero-media{position:relative;display:block;background:var(--color-panel);overflow:hidden}.hero-media img{width:100%;aspect-ratio:1350/620;object-fit:cover}.media-label{position:absolute;bottom:12px;left:12px;background:var(--color-paper);color:var(--color-ink);font-size:var(--text-sm);padding:4px 12px}.thumb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.thumb-grid a{display:block;position:relative;border:1px solid var(--color-rule)}.thumb-grid img{width:100%;aspect-ratio:16/9;object-fit:cover}.thumb-grid a:last-child img{object-fit:contain;background:var(--color-panel)}.thumb-grid a:hover{border-color:var(--color-accent)}.product-copy{display:flex;flex-direction:column;gap:16px;padding:0 0 2px}.tags{display:flex;flex-wrap:wrap;gap:8px}.tag{font-size:.8rem;padding:3px 9px;border-radius:var(--radius-sm);background:var(--color-panel-high);color:var(--color-accent)}.product-copy h2{font-size:1.8rem;line-height:1.4;margin:0}.product-copy p{font-size:.95rem}.compact-specs{margin:0;display:grid;grid-template-columns:78px 1fr;gap:5px;font-size:.9rem}.compact-specs dt{color:var(--color-muted)}.compact-specs dd{margin:0;color:var(--color-ink)}.product-copy .btn{width:100%;margin-top:4px}.minor-link{text-align:center;font-size:var(--text-sm)}.quick-bar{display:grid;grid-template-columns:repeat(4,1fr);background:var(--color-panel);padding:22px 28px;margin-top:32px;border-left:3px solid var(--color-accent);gap:20px}.quick-bar span{display:block;font-size:.8rem;color:var(--color-muted);margin-bottom:3px}.quick-bar strong{font-size:1rem;font-weight:500}.section{margin-top:var(--space-3xl)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:var(--space-lg)}.section-head a{font-size:.92rem}.story-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:56px}.story-layout p{margin:20px 0;max-width:62ch}.story-layout figure{background:var(--color-panel);align-self:center}.story-layout figure img{width:100%}.story-layout figcaption{padding:16px 20px;font-size:.9rem;color:var(--color-muted)}.feature-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:32px}.feature-item{padding-top:20px;border-top:2px solid var(--color-rule)}.feature-item h3{margin-bottom:12px}.feature-item p{font-size:.94rem}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.gallery-grid figure{background:var(--color-panel)}.gallery-grid a{display:block;overflow:hidden}.gallery-grid img{width:100%;aspect-ratio:16/9;object-fit:contain;background:var(--color-paper);transition:transform var(--dur-fast) var(--ease-out)}.gallery-grid a:hover img{transform:scale(1.015)}.gallery-grid figcaption{padding:16px 20px;display:flex;justify-content:space-between;gap:16px;font-size:.94rem}.caption-note{font-size:.8rem;color:var(--color-muted)}.info-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:40px}.data-table{width:100%;border-collapse:collapse;font-size:.94rem}.data-table th,.data-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--color-rule);vertical-align:top}.data-table th{color:var(--color-muted);font-weight:400;width:30%}.data-table tr:nth-child(odd){background:var(--color-panel)}.read-card{display:block;padding:24px;background:var(--color-panel);border-left:2px solid var(--color-accent);margin-bottom:16px}.read-card:hover{text-decoration:none;background:var(--color-panel-high)}.read-card h3{color:var(--color-ink);margin-bottom:12px}.read-card p{font-size:.94rem}.read-card span{display:inline-block;margin-top:16px;font-size:.9rem}.faq{border-top:1px solid var(--color-rule)}details{border-bottom:1px solid var(--color-rule);padding:0}summary{cursor:pointer;font-weight:500;padding:22px 44px 22px 0;position:relative;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:'＋';position:absolute;right:8px;color:var(--color-accent)}details[open] summary:after{content:'−'}details p{padding:0 40px 24px 0;max-width:80ch}.final-cta{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:32px;background:var(--color-panel);margin-top:64px}.final-cta h2{font-size:1.5rem;margin-bottom:8px}.final-cta p{font-size:.94rem}.site-footer{margin-top:72px;padding:32px 0;border-top:1px solid var(--color-rule)}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-top img{width:110px;height:auto}.footer-links{display:flex;gap:20px;font-size:var(--text-sm)}.site-footer p{font-size:.8rem;margin-top:20px;max-width:100ch}.mobile-cta{display:none}.page-intro{padding:16px 0 40px;max-width:850px}.page-intro h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:20px}.page-intro p{font-size:var(--text-lead)}.download-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:40px}.download-card{background:var(--color-panel);padding:28px;align-self:start}.download-card img{width:100%;max-width:460px;margin-bottom:24px}.download-card h2{font-size:1.5rem;margin-bottom:16px}.download-card .btn{width:100%;margin-top:24px}.download-card p{font-size:.94rem}.note{padding:16px 20px;background:var(--color-panel);border-left:2px solid var(--color-accent);font-size:.94rem;margin-top:24px}.steps{padding-left:24px;color:var(--color-muted)}.steps li{padding:8px 0 12px 10px}.steps strong{display:block;color:var(--color-ink);margin-bottom:4px}.prose{max-width:72ch}.prose p{margin:16px 0}.prose h2{margin:40px 0 16px}.prose h3{margin:24px 0 12px}.guide-layout{display:grid;grid-template-columns:230px 1fr;gap:48px}.toc{position:sticky;top:112px;align-self:start;padding:20px;background:var(--color-panel)}.toc strong{display:block;margin-bottom:12px}.toc a{display:block;min-height:44px;padding:8px 0;font-size:.9rem}.guide-section{scroll-margin-top:112px;margin-bottom:48px}.guide-section h2{margin:0 0 16px}.guide-section img{margin:24px 0}.guide-section ol{padding-left:24px;color:var(--color-muted)}.guide-section li{margin:12px 0}.filters{display:flex;gap:12px;margin:0 0 24px;flex-wrap:wrap}.filters button,.dialog-button{min-height:44px;padding:8px 18px;color:var(--color-ink);background:var(--color-panel);border:1px solid var(--color-rule);border-radius:var(--radius-sm)}.filters button[aria-pressed=true]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-paper)}[hidden]{display:none!important}.gallery-count{margin-bottom:24px;font-size:.9rem}.lightbox{width:min(1200px,94vw);max-height:94vh;background:var(--color-paper);border:1px solid var(--color-rule);color:var(--color-ink);padding:20px}.lightbox::backdrop{background:oklch(12% .01 250 / .94)}.dialog-head,.dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:16px}.dialog-head{margin-bottom:12px}.dialog-foot{margin-top:16px}.lightbox img{width:100%;height:min(65vh,700px);object-fit:contain}.lightbox[data-state=loading] img{opacity:.35}.lightbox[data-state=error] .image-status{color:var(--color-error)}.image-status{min-height:24px;font-size:.85rem;color:var(--color-muted)}.empty-page{min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:start;gap:24px}
@media(hover:hover){.nav-links a:hover{color:var(--color-ink);text-decoration:none}}
@media(max-width:1000px){.wrap{width:calc(100% - 40px)}.nav-row{gap:16px;grid-template-columns:auto 1fr auto}.nav-links{justify-content:center;gap:16px}.brand{width:130px}.brand img{width:125px}.product{grid-template-columns:1.5fr 1fr;gap:20px}.product-copy h2{font-size:1.45rem}.product-copy{gap:12px}.title-note{display:none}.story-layout{gap:32px}.title-row h1 small{font-size:.45em}.guide-layout{grid-template-columns:190px 1fr;gap:28px}}
@media(max-width:760px){html{scroll-padding-top:130px}body{padding-bottom:82px}.wrap{width:calc(100% - 32px)}.nav-row{min-height:62px;grid-template-columns:1fr auto;gap:0}.brand{padding:12px 0;width:140px}.brand img{width:132px}.nav-action{grid-row:1;grid-column:2}.nav-links{grid-row:2;grid-column:1/-1;justify-content:space-between;gap:8px}.nav-links a{padding:10px 4px;font-size:.875rem}.breadcrumbs{padding-block:20px;font-size:.8rem}.title-row{margin:0 0 24px}.title-row h1{font-size:2.5rem}.title-row h1 small{display:block;margin:8px 0 0;font-size:1.1rem}.product{display:flex;flex-direction:column;gap:24px}.product-copy{gap:16px;order:-1}.product-copy h2{font-size:1.55rem}.product-copy .compact-specs{display:none}.product-copy .btn{min-height:50px}.product-copy .minor-link{text-align:left}.hero-media img{aspect-ratio:1350/620}.thumb-grid{gap:8px}.thumb-grid img{aspect-ratio:16/10}.media-label{font-size:.75rem}.quick-bar{grid-template-columns:1fr 1fr;padding:20px;gap:20px;margin-top:24px}.quick-bar strong{font-size:.94rem}.section{margin-top:48px}.section-head{align-items:start}.section-head a{white-space:nowrap;font-size:.8rem;padding-top:6px}.story-layout,.info-layout,.download-layout,.guide-layout{grid-template-columns:1fr;gap:28px}.feature-list{grid-template-columns:1fr;gap:24px}.feature-item{padding-top:16px}.story-layout figure{margin-top:0}.gallery-grid{gap:20px;grid-template-columns:1fr}.gallery-grid figcaption{padding:12px 16px}.final-cta{padding:24px;flex-direction:column;align-items:stretch;gap:20px;margin-top:48px}.footer-top{align-items:start;flex-direction:column}.footer-links{flex-wrap:wrap;gap:16px}.site-footer{margin-top:48px}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;justify-content:space-between;align-items:center;gap:16px;background:var(--color-panel);border-top:1px solid var(--color-rule);padding:12px 16px max(12px,env(safe-area-inset-bottom))}.mobile-cta span{font-size:.8rem;line-height:1.5;color:var(--color-muted)}.mobile-cta strong{display:block;color:var(--color-ink);font-size:.94rem}.mobile-cta .btn{padding:10px 16px;min-height:44px;font-size:.9rem}.page-intro{padding:0 0 28px}.page-intro p{font-size:1rem}.download-card{padding:24px}.toc{position:static;display:flex;flex-wrap:wrap;gap:0 20px}.toc strong{width:100%}.guide-section{scroll-margin-top:130px}.dialog-head strong{font-size:.9rem}.lightbox{padding:12px}.dialog-button{padding:8px 12px}.lightbox img{height:50vh}.data-table th,.data-table td{padding:12px}.caption-note{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.gallery-grid a:hover img,.read-card:hover{transform:none}}

h1,h2,h3{overflow-wrap:anywhere;min-width:0}.btn,.filters button,.nav-links a,.footer-links a{white-space:nowrap}a:active,summary:active{opacity:.85}.dialog-button:active,.filters button:active{transform:translateY(1px)}.dialog-button:hover{background:var(--color-panel-high)}

/* Topic articles extend the existing game design without replacing its tokens. */
.topic-jumps{display:flex;flex-wrap:wrap;gap:var(--space-md)}.topic-jumps a{padding:12px 20px;border:1px solid var(--color-rule);border-radius:var(--radius-sm);min-height:44px}.topic-jumps a:hover{background:var(--color-panel)}
.article-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg)}.article-card{display:flex;flex-direction:column;align-items:start;background:var(--color-panel);padding:var(--space-lg);border:1px solid var(--color-rule);border-radius:var(--radius-sm)}.article-card:hover{text-decoration:none;background:var(--color-panel-high)}.article-card h3{color:var(--color-ink);font-size:1.2rem;line-height:1.6;margin:8px 0 12px}.article-card p{font-size:.94rem;margin-bottom:20px}.article-read{margin-top:auto;font-size:.9rem}.article-category{font-size:.85rem;color:var(--color-muted)}.article-heading{max-width:920px}.article-heading h1{font-size:clamp(1.9rem,3.8vw,2.8rem);line-height:1.45;margin:12px 0 20px}.article-heading>p:last-child{font-size:1.06rem;max-width:72ch}.article-body{min-width:0;max-width:72ch}.article-body p{margin:16px 0 24px;line-height:1.95}.article-body a:not([data-lightbox]){text-decoration:underline;text-underline-offset:4px}.article-body li{margin-bottom:12px;line-height:1.9;color:var(--color-muted)}.article-picture{margin:0 0 36px}.article-picture img{width:100%;max-height:330px;object-fit:contain;background:var(--color-panel)}.article-picture figcaption{color:var(--color-muted);font-size:.85rem;padding:12px 0}.article-layout{grid-template-columns:240px minmax(0,1fr)}.article-next{padding:24px;background:var(--color-panel);border-radius:var(--radius-sm)}.article-next h2{font-size:1.4rem;margin:0 0 16px}.article-next ul{padding-left:20px}.article-guide-link{margin-bottom:32px}.article-body code{color:var(--color-ink);background:var(--color-panel);padding:2px 6px;border-radius:var(--radius-sm)}
@media(max-width:760px){.article-list,.article-layout{grid-template-columns:minmax(0,1fr)}.article-heading h1{font-size:1.8rem}.article-card{padding:20px}.article-layout .toc{display:block}.article-layout .toc a{min-height:44px}.article-body .data-table{font-size:.875rem}.article-body .data-table th,.article-body .data-table td{padding:12px 8px;overflow-wrap:anywhere}.article-next{padding:20px}.article-picture{margin-top:4px}}
