/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V5
 * macrostructure: Workbench · genre: editorial + atmospheric · theme: custom
 * H6 photographic fold: image=16/7, caption=overlaid, alignment=left-bias
 * enrichment: E8 approved official game still · nav: N11 · footer: Ft1 · contrast: pass (40–41) · slop: pass (42–45)
 * honest: pass (46) · chrome: pass (47) · tokens: pass (48) · responsive: pass (49) · icons: pass (30) · mobile: pass (34, 49, 50–57)
 */
:root {
  --color-paper: oklch(98.5% 0.008 95);
  --color-paper-2: oklch(95.5% 0.016 88);
  --color-paper-3: oklch(91% 0.024 82);
  --color-ink: oklch(18% 0.012 65);
  --color-ink-2: oklch(29% 0.018 62);
  --color-muted: oklch(46% 0.022 70);
  --color-rule: oklch(79% 0.026 82);
  --color-rule-2: oklch(87% 0.020 86);
  --color-accent: oklch(69% 0.18 15);
  --color-accent-strong: oklch(57% 0.18 12);
  --color-accent-ink: oklch(18% 0.012 65);
  --color-sky: oklch(76% 0.14 232);
  --color-palm: oklch(55% 0.11 155);
  --color-orange: oklch(72% 0.17 50);
  --color-gold: oklch(76% 0.13 85);
  --color-night: oklch(18% 0.012 65);
  --color-night-2: oklch(23% 0.018 65);
  --color-night-ink: oklch(95% 0.015 88);
  --color-error: oklch(56% 0.20 25);
  --color-success: oklch(49% 0.12 150);
  --color-focus: oklch(62% 0.21 240);
  --color-overlay: oklch(15% 0.012 65 / 0.72);
  --color-hero-wash: oklch(15% 0.012 65 / 0.48);
  --color-shadow: oklch(18% 0.012 65 / 0.16);
  --font-display: "Noto Serif SC", "Songti SC", serif;
  --font-body: "Noto Sans SC", "PingFang SC", sans-serif;
  --space-3xs: 0.125rem;
  --space-2xs: 0.25rem;
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2.5rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;
  --space-4xl: 9rem;
  --text-xs: 0.72rem;
  --text-sm: 0.86rem;
  --text-base: 1rem;
  --text-md: 1.25rem;
  --text-lg: 1.56rem;
  --text-xl: 1.95rem;
  --text-2xl: 2.44rem;
  --text-3xl: 3.05rem;
  --text-4xl: 3.81rem;
  --text-display: clamp(2.45rem, 5vw + 0.5rem, 5.1rem);
  --text-display-s: clamp(2.15rem, 4vw + 0.4rem, 4rem);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-micro: 120ms;
  --dur-short: 220ms;
  --dur-long: 420ms;
  --rule-hair: 1px;
  --radius-sm: 0.35rem;
  --radius-md: 0.75rem;
  --radius-lg: 1.25rem;
  --page-max: 80rem;
  --page-gutter: clamp(1rem, 4vw, 3rem);
  --banner-height: 4.5rem;
  --z-base: 1;
  --z-raised: 10;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-sticky-nav: 210;
  --z-modal: 400;
  --z-toast: 500;
  --z-tooltip: 600;
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.relative{position:relative}.block{display:block}.table{display:table}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}*,:after,:before{box-sizing:border-box}body,html{overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--banner-height) + var(--space-md))}body{margin:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;padding-block-end:calc(5rem + env(safe-area-inset-bottom));text-rendering:optimizeLegibility}body.is-menu-open,body:has(.lightbox[open]){overflow:hidden}img,video{display:block;max-width:100%}a,button{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration-thickness:var(--rule-hair);text-underline-offset:.2em}blockquote,dd,dl,figure,h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);font-style:normal;line-height:1.15;letter-spacing:-.025em;overflow-wrap:anywhere;min-width:0}h1{font-size:var(--text-display-s)}h1,h2{font-weight:900}h2{font-size:clamp(2rem,3vw + .4rem,var(--text-3xl))}h3{font-size:var(--text-lg);font-weight:700}p{max-width:68ch}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;inset-block-start:var(--space-sm);inset-inline-start:var(--space-sm);z-index:var(--z-tooltip);padding:var(--space-sm) var(--space-md);background:var(--color-ink);color:var(--color-paper);transform:translateY(-180%)}.skip-link:focus{transform:none}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.section-shell{width:min(100%,var(--page-max));margin-inline:auto;padding-inline:var(--page-gutter)}.section-paper-2{background:var(--color-paper-2);color:var(--color-ink)}.section-dark{background:var(--color-night);color:var(--color-night-ink)}.section-head{display:grid;gap:var(--space-md);margin-block-end:var(--space-xl)}.section-head p{color:var(--color-muted);font-size:var(--text-md)}.section-dark .section-head p{color:var(--color-paper-3)}.section-head--split{gap:var(--space-lg)}.site-header{position:fixed;inset-block-start:0;inset-inline:0;z-index:var(--z-sticky-nav);background:var(--color-paper);color:var(--color-ink);border-block-end:var(--rule-hair) solid var(--color-rule-2)}.nav-shell{width:min(100%,var(--page-max));min-height:var(--banner-height);margin-inline:auto;padding-inline:var(--page-gutter);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.wordmark{display:grid;text-decoration:none;line-height:1.05;white-space:nowrap}.wordmark span{font-family:var(--font-display);font-size:var(--text-md);font-weight:900}.wordmark small{color:var(--color-muted);font-size:var(--text-xs);letter-spacing:.08em}.desktop-nav{display:none;align-items:stretch;align-self:stretch}.desktop-nav a,.nav-trigger{min-height:44px;padding-inline:var(--space-md);display:inline-flex;align-items:center;gap:var(--space-xs);border:0;background:transparent;color:var(--color-ink-2);text-decoration:none;white-space:nowrap;cursor:pointer}.nav-trigger span{font-family:var(--font-body)}.nav-trigger[aria-expanded=true] span{transform:rotate(45deg)}.nav-download{display:none!important}.menu-toggle{min-width:4rem;min-height:44px;border:var(--rule-hair) solid var(--color-ink);white-space:nowrap;cursor:pointer}.mega-panel,.menu-toggle{background:var(--color-paper);color:var(--color-ink)}.mega-panel{position:absolute;inset-block-start:100%;inset-inline:0;z-index:var(--z-dropdown);visibility:hidden;opacity:0;transform:translateY(-.5rem);border-block-end:var(--rule-hair) solid var(--color-rule);transition:opacity var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out),visibility 0s var(--dur-short)}.mega-panel.is-open{visibility:visible;opacity:1;transform:none;transition-delay:0s}.mega-inner{width:min(100%,var(--page-max));max-height:min(60dvh,32rem);overflow-y:auto;margin-inline:auto;padding:var(--space-xl) var(--page-gutter);display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl)}.mega-inner section{display:grid;gap:var(--space-sm);align-content:start}.mega-inner h2{font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:.08em}.mega-inner section a{display:grid;gap:var(--space-2xs);padding-block:var(--space-sm);border-block-end:var(--rule-hair) solid var(--color-rule-2);text-decoration:none}.mega-inner section a span{color:var(--color-muted)}.mega-feature{display:grid;align-content:end;gap:var(--space-sm);text-decoration:none}.mega-feature img{width:100%;aspect-ratio:16/9;-o-object-fit:cover;object-fit:cover;border:var(--rule-hair) solid var(--color-rule)}.mega-feature span{font-weight:700}.nav-scrim{position:fixed;inset:var(--banner-height) 0 0;z-index:calc(var(--z-dropdown) - 1);visibility:hidden;opacity:0;background:var(--color-overlay);transition:opacity var(--dur-short) var(--ease-out),visibility 0s var(--dur-short)}.nav-scrim.is-active{visibility:visible;opacity:1;transition-delay:0s}.mobile-menu{position:fixed;inset:var(--banner-height) 0 auto;z-index:var(--z-dropdown);background:var(--color-paper);border-block-end:var(--rule-hair) solid var(--color-rule)}.mobile-menu nav{display:grid;padding:var(--space-md) var(--page-gutter) var(--space-xl)}.mobile-menu a{min-height:48px;display:flex;border-block-end:var(--rule-hair) solid var(--color-rule-2)}.button,.mobile-menu a{align-items:center;text-decoration:none;white-space:nowrap}.button{position:relative;isolation:isolate;min-height:44px;width:-moz-fit-content;width:fit-content;max-width:100%;padding:var(--space-sm) var(--space-lg);display:inline-flex;justify-content:center;gap:var(--space-xs);overflow:hidden;border:var(--rule-hair) solid var(--color-ink);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-ink);font-weight:700;text-align:center;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.button--compact{min-height:40px;padding-block:var(--space-xs)}.button--large{min-height:54px;padding-inline:var(--space-xl);font-size:var(--text-md)}.button--accent{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent-strong)}.button--ghost{background:var(--color-night-2);color:var(--color-night-ink);border-color:var(--color-gold)}.button--outline{background:var(--color-paper);color:var(--color-ink)}.button--gold{background:var(--color-gold);color:var(--color-ink);border-color:var(--color-gold)}.button--outline-light{background:var(--color-night);color:var(--color-night-ink);border-color:var(--color-night-ink)}.button--shine:after{content:"";position:absolute;inset:0 auto 0 -35%;width:22%;z-index:-1;transform:skewX(-18deg) translateX(0);background:color-mix(in oklch,var(--color-paper) 55%,transparent);opacity:0}.button:active{transform:translateY(1px)}.button:disabled,.button[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.button[data-state=loading]{cursor:wait}.button[data-state=loading]:before{content:"";width:1rem;height:1rem;border:2px solid;border-inline-end-color:transparent;border-radius:50%;animation:spin var(--dur-long) linear infinite}.button[data-state=error]{border-color:var(--color-error)}.button[data-state=success]{border-color:var(--color-success)}.text-link{width:-moz-fit-content;width:fit-content;font-weight:700;white-space:nowrap}.hero{position:relative;min-height:clamp(40rem,84svh,54rem);margin-block-start:var(--banner-height);padding:clamp(var(--space-xl),7svh,var(--space-3xl)) var(--page-gutter) clamp(12rem,28svh,16rem);display:grid;align-items:center;color:var(--color-night-ink);overflow:hidden;isolation:isolate}.hero-media,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-media{z-index:-2;-o-object-fit:cover;object-fit:cover;-o-object-position:53% 50%;object-position:53% 50%;animation:hero-zoom 18s var(--ease-in-out) infinite alternate}.hero-shade{z-index:-1;background:linear-gradient(90deg,var(--color-hero-wash),color-mix(in oklch,var(--color-night) 20%,transparent))}.hero-content{width:min(100%,var(--page-max));margin-inline:auto;display:grid;gap:var(--space-lg);align-content:center}.tag-row{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.tag{min-height:32px;padding:var(--space-2xs) var(--space-sm);display:inline-flex;align-items:center;background:var(--color-night-2);color:var(--color-night-ink);font-size:var(--text-sm);white-space:nowrap}.game-logo,.tag{border:var(--rule-hair) solid var(--color-gold)}.game-logo{width:min(20rem,62vw);height:auto}.hero h1{max-width:18ch;color:var(--color-night-ink);font-size:var(--text-display-s);text-wrap:balance}.hero h1 span{display:block;margin-block-start:var(--space-xs);font-family:var(--font-body);font-size:.32em;font-weight:700;letter-spacing:.08em}.hero-lede{max-width:44rem;font-size:var(--text-md);color:var(--color-paper-2)}.hero-facts{display:flex;flex-wrap:wrap;gap:var(--space-md)}.hero-fact{display:grid;min-width:7rem;padding-inline-end:var(--space-md);border-inline-end:var(--rule-hair) solid var(--color-gold)}.hero-fact small{color:var(--color-paper-3)}.hero-fact strong{font-variant-numeric:tabular-nums}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.vn-dialogue{position:absolute;inset-inline:var(--page-gutter);inset-block-end:var(--space-lg);width:min(calc(100% - var(--page-gutter)*2),56rem);margin-inline:auto;padding:var(--space-md);background:var(--color-night-2);color:var(--color-night-ink);border:var(--rule-hair) solid var(--color-gold)}.vn-dialogue p{max-width:none}.vn-dialogue p strong{display:block;margin-block-end:var(--space-xs);color:var(--color-gold)}.choice-row{margin-block-start:var(--space-sm);display:flex;flex-wrap:wrap;gap:var(--space-xs)}.choice-row a{min-height:44px;padding-inline:var(--space-md);display:inline-flex;align-items:center;background:var(--color-paper);color:var(--color-ink);text-decoration:none;white-space:nowrap}.info-strip{border-block-end:var(--rule-hair) solid var(--color-rule)}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,var(--page-max));margin-inline:auto;padding-inline:var(--page-gutter)}.info-item{min-width:0;padding:var(--space-md) var(--space-sm);border-inline-end:var(--rule-hair) solid var(--color-rule-2);border-block-end:var(--rule-hair) solid var(--color-rule-2)}.info-item small{display:block;color:var(--color-muted)}.info-item strong{display:block;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.story-section{padding-block:var(--space-3xl) var(--space-4xl)}.story-layout{display:grid;gap:var(--space-2xl)}.story-copy{display:grid;gap:var(--space-xl)}.story-copy p{font-size:var(--text-md);color:var(--color-paper-2)}.story-visual{display:grid;gap:var(--space-sm)}.story-visual img{width:100%;aspect-ratio:16/9;-o-object-fit:cover;object-fit:cover;cursor:zoom-in;border:var(--rule-hair) solid var(--color-gold)}.story-visual figcaption{color:var(--color-paper-3)}.feature-section{padding-block:var(--space-4xl) var(--space-3xl)}.feature-workbench{display:grid;grid-template-columns:minmax(0,1fr);border-block-start:var(--rule-hair) solid var(--color-rule)}.feature-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-md);padding:var(--space-xl) var(--space-md);border-block-end:var(--rule-hair) solid var(--color-rule)}.feature-card .feature-mark{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-accent-strong)}.feature-card p{margin-block-start:var(--space-xs);color:var(--color-muted)}.media-section{padding-block:var(--space-3xl) var(--space-4xl)}.media-workbench{display:grid;gap:var(--space-lg)}.trailer-frame{border-block-start:var(--rule-hair) solid var(--color-ink);padding-block-start:var(--space-sm)}.trailer-frame video{width:100%;aspect-ratio:16/9;background:var(--color-night)}.trailer-frame figcaption{padding-block-start:var(--space-xs);color:var(--color-muted)}.gallery-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xs)}.gallery-thumb{padding:0;border:var(--rule-hair) solid var(--color-rule);background:var(--color-paper);cursor:zoom-in}.gallery-thumb img{width:100%;aspect-ratio:16/9;-o-object-fit:cover;object-fit:cover}.character-section{padding-block:var(--space-4xl)}.character-layout{display:grid;gap:var(--space-2xl)}.character-visual img{width:100%;aspect-ratio:4/5;-o-object-fit:cover;object-fit:cover;-o-object-position:65% 50%;object-position:65% 50%;cursor:zoom-in}.character-list{display:grid;border-block-start:var(--rule-hair) solid var(--color-rule)}.character-card{display:grid;gap:var(--space-xs);padding-block:var(--space-lg);border-block-end:var(--rule-hair) solid var(--color-rule)}.character-card small{color:var(--color-accent-strong);font-weight:700}.character-card p{color:var(--color-muted)}.route-section{padding-block:var(--space-3xl) var(--space-4xl)}.route-map{list-style:none;margin:0;padding:0;display:grid}.route-map li{position:relative;min-height:7rem;padding:var(--space-lg) var(--space-lg) var(--space-lg) var(--space-2xl);border-block-start:var(--rule-hair) solid var(--color-gold)}.route-map li:before{content:counter(list-item,decimal-leading-zero);position:absolute;inset-inline-start:0;color:var(--color-gold);font-family:var(--font-display);font-size:var(--text-lg)}.route-map span,.route-map strong{display:block}.route-map span{color:var(--color-paper-3)}.relationship-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-block-start:var(--space-2xl);border:var(--rule-hair) solid var(--color-gold)}.relationship-grid div{min-width:0;padding:var(--space-md);border-inline-end:var(--rule-hair) solid var(--color-gold);border-block-end:var(--rule-hair) solid var(--color-gold)}.relationship-grid span,.relationship-grid strong{display:block}.relationship-grid span{color:var(--color-paper-3)}.download-section{padding-block:var(--space-4xl)}.download-layout{display:grid;gap:var(--space-2xl)}.download-key{width:min(100%,22rem);padding:var(--space-lg);display:grid;background:var(--color-night);color:var(--color-night-ink);border:var(--rule-hair) solid var(--color-gold);border-radius:var(--radius-sm);box-shadow:var(--space-xs) var(--space-xs) 0 var(--color-paper-3)}.download-key span{color:var(--color-gold);font-size:var(--text-sm)}.download-key strong{font-family:var(--font-display);font-size:var(--text-2xl)}.download-key small{color:var(--color-paper-3)}.download-panel{align-self:start;padding-block-start:var(--space-md);border-block-start:var(--rule-hair) solid var(--color-ink);display:grid;gap:var(--space-lg)}.download-panel dl{display:grid}.download-panel dl div{display:grid;grid-template-columns:minmax(6rem,.6fr) minmax(0,1fr);gap:var(--space-md);padding-block:var(--space-sm);border-block-end:var(--rule-hair) solid var(--color-rule-2)}.download-panel dt{color:var(--color-muted)}.download-panel dd{font-weight:700}.status-section{padding-block:var(--space-3xl)}.status-layout{display:grid;gap:var(--space-xl)}.status-item{border-block:var(--rule-hair) solid var(--color-rule)}.status-item summary{min-height:64px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-md);cursor:pointer}.status-item summary span{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700}.status-item summary strong{color:var(--color-accent-strong)}.status-item div{padding-block:var(--space-md) var(--space-lg)}.status-item p{color:var(--color-muted)}.fit-section{padding-block:var(--space-4xl)}.fit-grid{display:grid;gap:var(--space-lg)}.fit-grid article{padding-block:var(--space-lg);border-block-start:var(--rule-hair) solid var(--color-ink)}.fit-grid p{margin-block-start:var(--space-sm);color:var(--color-muted)}.faq-section{padding-block:var(--space-3xl) var(--space-4xl)}.faq-layout{display:grid;gap:var(--space-xl)}.faq-list{display:grid;align-content:start}.faq-item{border-block-start:var(--rule-hair) solid var(--color-rule)}.faq-item:last-child{border-block-end:var(--rule-hair) solid var(--color-rule)}.faq-item summary{min-height:64px;padding-block:var(--space-md);padding-inline-end:var(--space-xl);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);font-family:var(--font-display);font-size:var(--text-md);font-weight:700;cursor:pointer;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";flex:none;font-family:var(--font-body);color:var(--color-accent-strong)}.faq-item[open] summary:after{content:"−"}.faq-answer{display:grid;grid-template-rows:1fr}.faq-answer p{padding-block:0 var(--space-lg);color:var(--color-muted)}.final-cta{padding-block:var(--space-3xl) var(--space-4xl)}.final-cta .section-shell{display:grid;gap:var(--space-lg)}.final-cta h2{max-width:18ch}.final-cta p{color:var(--color-paper-3)}.final-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.final-cta small{color:var(--color-paper-3)}.site-footer{padding:var(--space-3xl) var(--page-gutter) calc(var(--space-3xl) + env(safe-area-inset-bottom));background:var(--color-paper);color:var(--color-ink);border-block-start:var(--rule-hair) solid var(--color-ink)}.footer-mast{width:min(100%,var(--page-max));margin-inline:auto;display:grid;gap:var(--space-xl)}.footer-wordmark{font-family:var(--font-display);font-size:clamp(2.4rem,7vw,5rem);font-weight:900;letter-spacing:-.04em}.footer-tagline{color:var(--color-muted)}.footer-primary{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-lg)}.footer-primary a,.related-games a{min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}.related-games{width:min(100%,var(--page-max));margin:var(--space-2xl) auto 0;padding-block-start:var(--space-lg);border-block-start:var(--rule-hair) solid var(--color-rule)}.related-games h2{font-family:var(--font-body);font-size:var(--text-base);letter-spacing:0}.related-games div{margin-block-start:var(--space-sm);display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-lg)}.footer-legal{width:min(100%,var(--page-max));margin:var(--space-xl) auto 0;padding-block-start:var(--space-md);border-block-start:var(--rule-hair) solid var(--color-rule-2);display:grid;gap:var(--space-xs);color:var(--color-muted);font-size:var(--text-sm)}.footer-legal p{max-width:72ch}.sticky-download{position:fixed;inset:auto var(--space-xs) calc(var(--space-xs) + env(safe-area-inset-bottom));z-index:var(--z-sticky);min-height:64px;padding:var(--space-xs);display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);background:var(--color-paper);color:var(--color-ink);border:var(--rule-hair) solid var(--color-ink);box-shadow:0 var(--space-xs) var(--space-xl) var(--color-shadow)}.sticky-download>span{display:none}.sticky-download>span small{color:var(--color-muted)}.lightbox{position:fixed;inset:0;width:min(94%,80rem);max-width:none;max-height:90dvh;margin:auto;padding:var(--space-xl) var(--space-md);border:0;background:var(--color-night);color:var(--color-night-ink)}.lightbox::backdrop{background:var(--color-overlay)}.lightbox[open]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);animation:modal-in var(--dur-long) var(--ease-out)}.lightbox figure{min-width:0;display:grid;gap:var(--space-sm)}.lightbox img{width:100%;max-height:75dvh;-o-object-fit:contain;object-fit:contain}.lightbox figcaption{color:var(--color-paper-3);text-align:center}.lightbox button{min-width:44px;min-height:44px;border:var(--rule-hair) solid var(--color-gold);background:var(--color-night-2);color:var(--color-night-ink);cursor:pointer;white-space:nowrap}.lightbox-close{position:absolute;inset-block-start:var(--space-xs);inset-inline-end:var(--space-xs);z-index:var(--z-raised)}.back-top{position:fixed;inset-inline-end:var(--space-md);inset-block-end:6rem;z-index:var(--z-sticky);min-width:44px;min-height:44px;padding-inline:var(--space-sm);opacity:0;pointer-events:none;transform:translateY(var(--space-sm));border:var(--rule-hair) solid var(--color-ink);background:var(--color-paper);color:var(--color-ink);transition:opacity var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}.back-top.is-visible{opacity:1;pointer-events:auto;transform:none}.state-announcer{position:fixed;inset-inline-start:var(--space-md);inset-block-end:6rem;z-index:var(--z-toast);max-width:18rem;padding:var(--space-sm) var(--space-md);background:var(--color-night);color:var(--color-night-ink);opacity:0;pointer-events:none;transform:translateY(var(--space-sm));transition:opacity var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}.state-announcer.is-visible{opacity:1;transform:none}.subpage-hero{margin-block-start:var(--banner-height);padding-block:var(--space-3xl) var(--space-2xl);background:var(--color-night);color:var(--color-night-ink)}.subpage-hero .section-shell{display:grid;gap:var(--space-lg)}.subpage-hero h1{max-width:18ch}.subpage-hero p:not(.breadcrumb){color:var(--color-paper-3);font-size:var(--text-md)}.breadcrumb{display:flex;flex-wrap:wrap;gap:var(--space-xs);color:var(--color-paper-3)}.breadcrumb a{white-space:nowrap}.subpage-hero-grid{display:grid;gap:var(--space-2xl)}.download-key--hero{box-shadow:none;background:var(--color-paper);color:var(--color-ink)}.gallery-page{padding-block:var(--space-2xl) var(--space-4xl)}.filter-bar{margin-block-end:var(--space-xl);display:flex;flex-wrap:wrap;gap:var(--space-xs)}.filter-bar button{min-height:44px;padding-inline:var(--space-md);border:var(--rule-hair) solid var(--color-rule);background:var(--color-paper);color:var(--color-ink);cursor:pointer;white-space:nowrap}.filter-bar button[aria-selected=true]{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink)}.gallery-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-sm)}.gallery-card{min-width:0;border:0;padding:0;background:var(--color-paper);text-align:start;cursor:zoom-in}.gallery-card img{width:100%;aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;border:var(--rule-hair) solid var(--color-rule)}.gallery-card span{display:block;padding-block:var(--space-xs);color:var(--color-muted)}.gallery-card[hidden]{display:none}.gallery-note{padding-block:var(--space-3xl)}.gallery-note .section-shell{display:grid;gap:var(--space-lg)}.gallery-note p{color:var(--color-paper-3)}.platform-section,.requirements-section{padding-block:var(--space-4xl)}.platform-card,.platform-grid,.requirements-grid{display:grid;gap:var(--space-lg)}.platform-card{position:relative;padding:var(--space-xl);border-block-start:2px solid var(--color-ink);background:var(--color-paper)}.platform-card--recommended{background:var(--color-paper-2);border-block-start-color:var(--color-accent-strong)}.recommend-label{width:-moz-fit-content;width:fit-content;padding:var(--space-2xs) var(--space-sm);background:var(--color-accent);color:var(--color-accent-ink);font-size:var(--text-sm);font-weight:700}.platform-card p{color:var(--color-muted)}.platform-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.platform-card dl div{min-width:0;padding-block-start:var(--space-sm);border-block-start:var(--rule-hair) solid var(--color-rule)}.platform-card dt{color:var(--color-muted)}.platform-card dd{font-weight:700;overflow-wrap:anywhere}.install-section{padding-block:var(--space-3xl) var(--space-4xl)}.install-steps{margin:0;padding:0;list-style:none;display:grid}.install-steps li{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-md);padding-block:var(--space-xl);border-block-start:var(--rule-hair) solid var(--color-rule)}.install-steps li>span{width:44px;height:44px;display:grid;place-items:center;background:var(--color-night);color:var(--color-gold);font-family:var(--font-display);font-weight:700}.install-steps p{margin-block-start:var(--space-xs);color:var(--color-muted)}.important-note{margin-block-start:var(--space-xl);padding:var(--space-xl);background:var(--color-night);color:var(--color-night-ink);border:var(--rule-hair) solid var(--color-gold)}.important-note p{margin-block-start:var(--space-xs);color:var(--color-paper-3)}.requirements-grid article{min-width:0}.requirements-grid h3{padding-block-end:var(--space-md);border-block-end:2px solid var(--color-ink)}.requirements-grid dl div{display:grid;grid-template-columns:minmax(6.5rem,.7fr) minmax(0,1.3fr);gap:var(--space-sm);padding-block:var(--space-sm);border-block-end:var(--rule-hair) solid var(--color-rule)}.requirements-grid dt{color:var(--color-muted)}.requirements-grid dd{overflow-wrap:anywhere}.guide-shell{width:min(100%,var(--page-max));margin-inline:auto;padding:var(--space-2xl) var(--page-gutter) var(--space-4xl);display:grid;gap:var(--space-2xl)}.guide-toc{align-self:start;display:grid;border-block-start:2px solid var(--color-ink)}.guide-toc a,.guide-toc strong{min-height:44px;padding-block:var(--space-sm);display:flex;align-items:center;border-block-end:var(--rule-hair) solid var(--color-rule)}.guide-toc a{text-decoration:none;white-space:nowrap}.guide-content{min-width:0;display:grid;gap:var(--space-3xl)}.guide-card-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-md)}.guide-card-grid a{min-width:0;padding:var(--space-lg);display:grid;gap:var(--space-sm);border:var(--rule-hair) solid var(--color-rule);text-decoration:none}.guide-card-grid a>span{color:var(--color-accent-strong);font-weight:700}.guide-card-grid p{color:var(--color-muted)}.guide-card-grid a>strong{white-space:nowrap}.guide-chapter{display:grid;gap:var(--space-lg);scroll-margin-top:calc(var(--banner-height) + var(--space-xl))}.guide-chapter li,.guide-chapter>p{color:var(--color-ink-2)}.guide-chapter ol,.guide-chapter ul{margin:0;padding-inline-start:var(--space-lg);display:grid;gap:var(--space-sm)}.guide-callout{padding:var(--space-lg);background:var(--color-paper-2);border-block-start:2px solid var(--color-palm)}.guide-figure{display:grid;gap:var(--space-sm)}.guide-figure img{width:100%;aspect-ratio:16/9;-o-object-fit:cover;object-fit:cover;cursor:zoom-in}.guide-figure figcaption{color:var(--color-muted)}.guide-chapter table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.guide-chapter td,.guide-chapter th{padding:var(--space-sm);text-align:start;border-block-end:var(--rule-hair) solid var(--color-rule);vertical-align:top}.guide-chapter th{color:var(--color-muted)}.article-links{display:grid;border-block-start:var(--rule-hair) solid var(--color-rule)}.article-links a{min-height:48px;display:flex;align-items:center;border-block-end:var(--rule-hair) solid var(--color-rule)}.article-hero{margin-block-start:var(--banner-height);padding-block:var(--space-3xl);background:var(--color-paper-2)}.article-shell{width:min(100% - 2 * var(--page-gutter),52rem);margin-inline:auto}.article-hero .article-shell{display:grid;gap:var(--space-lg)}.article-hero .breadcrumb{color:var(--color-muted)}.article-hero h1{font-size:var(--text-display-s)}.article-hero .article-shell>p:last-child,.article-hero>p{color:var(--color-muted);font-size:var(--text-md)}.long-article{padding-block:var(--space-3xl) var(--space-4xl);display:grid;gap:var(--space-2xl)}.long-article section{display:grid;gap:var(--space-md)}.long-article li,.long-article p{color:var(--color-ink-2)}.long-article ol,.long-article ul{margin:0;padding-inline-start:var(--space-lg);display:grid;gap:var(--space-sm)}.long-article table{width:100%;border-collapse:collapse}.long-article td,.long-article th{padding:var(--space-sm);text-align:start;vertical-align:top;border-block-end:var(--rule-hair) solid var(--color-rule)}.article-next{display:grid;border-block-start:2px solid var(--color-ink)}.article-next a{min-height:52px;display:flex;align-items:center;border-block-end:var(--rule-hair) solid var(--color-rule)}@keyframes hero-zoom{0%{transform:scale(1.02)}to{transform:scale(1.05)}}@keyframes modal-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(1turn)}}@media (hover:hover) and (pointer:fine){.desktop-nav a:hover,.nav-trigger:hover{background:var(--color-paper-2);color:var(--color-ink)}.button:hover{transform:translateY(-1px)}.button--accent:hover{background:var(--color-accent-strong);color:var(--color-paper)}.button--shine:focus-visible:after,.button--shine:hover:after{opacity:1;transform:skewX(-18deg) translateX(700%);transition:opacity var(--dur-micro) var(--ease-out),transform var(--dur-long) var(--ease-out)}.footer-primary a:hover,.guide-toc a:hover,.mega-inner section a:hover,.related-games a:hover{color:var(--color-accent-strong)}.gallery-card:hover,.gallery-thumb:hover,.guide-card-grid a:hover{transform:translateY(-2px)}.gallery-card,.gallery-thumb,.guide-card-grid a{transition:transform var(--dur-short) var(--ease-out)}.filter-bar button:hover{background:var(--color-paper-2)}}a:active,button:active{opacity:.82}[aria-disabled=true],button:disabled{opacity:.55;cursor:not-allowed}@media (min-width:40rem){.hero{padding-block-end:12rem}.hero h1{font-size:var(--text-display)}.nav-download{display:inline-flex!important}.menu-toggle{display:none}.desktop-nav{display:flex}.info-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery-rail{grid-template-columns:repeat(5,minmax(0,1fr))}.feature-workbench{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-card:nth-child(3n+1){padding-inline-end:var(--space-2xl)}.feature-card:nth-child(2n){border-inline-start:var(--rule-hair) solid var(--color-rule)}.fit-grid{grid-template-columns:1.2fr .9fr .9fr}.route-map{grid-template-columns:repeat(2,minmax(0,1fr))}.relationship-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.footer-mast{grid-template-columns:minmax(0,1.5fr) minmax(0,.5fr);align-items:end}.sticky-download{inset-inline:var(--space-md);padding:var(--space-xs) var(--space-xs) var(--space-xs) var(--space-md);justify-content:space-between}.sticky-download>span{display:grid;line-height:1.2}.gallery-grid,.platform-grid,.requirements-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.install-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.install-steps li{grid-template-columns:minmax(0,1fr);padding-inline-end:var(--space-xl)}.guide-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subpage-hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(14rem,.7fr);align-items:end}}@media (min-width:60rem){.mega-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(16rem,.8fr)}.story-layout{grid-template-columns:minmax(17rem,.8fr) minmax(0,1.4fr);align-items:start}.section-head--sticky{position:sticky;top:calc(var(--banner-height) + var(--space-lg));z-index:var(--z-sticky)}.section-dark .section-head--sticky{background:var(--color-night)}.section-paper-2 .section-head--sticky{background:var(--color-paper-2)}.section-head--split{grid-template-columns:minmax(0,1fr) auto;align-items:end}.media-workbench{grid-template-columns:minmax(0,4fr) minmax(10rem,1fr);align-items:start}.gallery-rail{grid-template-columns:minmax(0,1fr)}.character-layout{grid-template-columns:minmax(0,1fr) minmax(22rem,.9fr);align-items:start}.character-visual img{aspect-ratio:16/10}.download-layout{grid-template-columns:minmax(0,1.15fr) minmax(22rem,.85fr)}.faq-layout,.status-layout{grid-template-columns:minmax(16rem,.55fr) minmax(0,1.45fr);align-items:start}.gallery-grid--full{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-card:first-child,.gallery-card:nth-child(5){grid-column:span 2}.guide-shell{grid-template-columns:14rem minmax(0,1fr);align-items:start}.guide-toc{position:sticky;top:calc(var(--banner-height) + var(--space-lg))}}@media (min-width:90rem){.gallery-grid--full{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery-card:first-child,.gallery-card:nth-child(5){grid-column:span 2}}@media (max-height:50rem) and (min-width:40rem){.hero{min-height:46rem;padding-block-start:var(--space-xl)}.game-logo{width:14rem}.hero-content{gap:var(--space-sm)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation:none!important;transition-duration:.01ms!important}.hero-media{animation:none;transform:none}.button--shine:after{display:none}.button:hover,.gallery-card:hover,.gallery-thumb:hover,.guide-card-grid a:hover{transform:none}}@media (pointer:coarse){.button,.desktop-nav a,.filter-bar button,.nav-trigger{min-height:48px}}