/* Hallmark · macrostructure: Index-first / stage programme · tone: tactile editorial · anchor hue: warm gold
 * custom: midnight rhythm programme · nav: N6 compact masthead · footer: Ft5 statement
 * audience: rhythm-game players · use: learn mechanics and acquisition requirements · typography: native Chinese serif + sans
 * pre-emit critique: P4 H4 E4 S5 R5 V4 (design review; browser checks pending)
 */
@import url('tokens.css');
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{background:var(--color-page);color:var(--color-ink);font:var(--text-base)/1.8 var(--font-body);padding-bottom:5rem}a{color:inherit;text-underline-offset:.25em}button{font:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3{font-family:var(--font-display);font-style:normal;line-height:1.25;overflow-wrap:anywhere;min-width:0}h1{font-size:var(--text-display);margin:.5rem 0 1rem}h2{font-size:var(--text-2xl);margin:0 0 1.5rem}h3{font-size:var(--text-lg)}p{max-width:65ch}button,a,summary{-webkit-tap-highlight-color:var(--color-gold)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}.night a:focus-visible,.masthead a:focus-visible,.masthead summary:focus-visible{outline-color:var(--color-gold)}[hidden]{display:none!important}.skip{position:fixed;left:1rem;top:-6rem;z-index:100;background:var(--color-paper);padding:1rem}.skip:focus{top:1rem}.masthead{position:sticky;top:0;z-index:30;background:var(--color-dark);color:var(--color-paper);border-bottom:4px double var(--color-gold)}.mast-title{display:flex;justify-content:center;align-items:center;gap:.75rem;height:3.25rem;font-family:var(--font-display);text-decoration:none;font-size:1.15rem}.mast-title img{width:26px;height:26px}.nav-row{display:flex;justify-content:center;gap:2rem;align-items:center;min-height:3rem}.nav-row a{text-decoration:none;font-size:.875rem;white-space:nowrap}.nav-row a:hover,.nav-row a[aria-current]{color:var(--color-gold)}.mobile-nav{display:none}.btn{display:inline-flex;justify-content:center;align-items:center;gap:.7rem;padding:.65rem 1.2rem;min-height:48px;border:1px solid var(--color-dark);background:var(--color-gold);color:var(--color-dark);text-decoration:none;font-weight:700;white-space:nowrap;box-shadow:4px 4px 0 var(--color-dark);border-radius:var(--radius-sm);transition:transform var(--dur-fast) var(--ease-out)}.btn:hover{background:var(--color-gold-hover);transform:translate(-1px,-1px)}.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--color-dark)}.btn.secondary{background:var(--color-paper);font-weight:500}.btn[aria-disabled=true],button:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}[data-state=loading]{cursor:wait;opacity:.7}[data-state=error]{border-color:var(--color-error)}[data-state=success]{border-color:var(--color-success)}.night{background:var(--color-dark);color:var(--color-paper)}.hero{position:relative;min-height:min(810px,calc(100svh - 100px));display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:3rem;padding:3rem max(1.25rem,calc((100vw - 1120px)/2));isolation:isolate}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--color-dark),var(--color-clear));z-index:-1}.hero-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22;z-index:-2}.hero-copy{min-width:0}.game-logo{max-width:300px;max-height:125px;width:auto;object-fit:contain;margin-bottom:1rem}.original-name{font-size:1.3rem;display:block;color:var(--color-night-muted);margin-top:.5rem}.hero-copy p{max-width:30em}.hero-art{margin:0;transform:rotate(1deg);border:8px solid var(--color-paper);box-shadow:12px 12px 0 var(--color-shadow)}.hero-art img{width:100%;max-width:616px}.hero-art figcaption{font-size:var(--text-sm);background:var(--color-paper);color:var(--color-ink);padding:.4rem .8rem}.tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.2rem}.tag{border:1px solid var(--color-rule);padding:.1rem .6rem;font-size:var(--text-sm)}.actions{display:flex;gap:1rem;flex-wrap:wrap;margin:1.5rem 0}.caption,.hint{font-size:var(--text-sm);color:var(--color-muted)}.night .hint{color:var(--color-night-muted)}.folio{max-width:1000px;margin:0 auto;background:var(--color-paper);box-shadow:10px 0 0 var(--color-shadow)}.section{padding:3.5rem clamp(1.25rem,5vw,4rem)}.section+.section{border-top:1px solid var(--color-rule)}.section.alt{background:var(--color-paper-alt)}.toc{display:flex;gap:1.5rem;flex-wrap:wrap;padding:1rem 1.5rem;background:var(--color-gold);border-bottom:1px solid var(--color-ink)}.toc a{font-size:.875rem;text-decoration:none;white-space:nowrap;min-height:44px;display:flex;align-items:center}.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin:0}.facts dt{font-size:var(--text-sm);color:var(--color-muted)}.facts dd{margin:0;font-weight:600}.spread{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem;align-items:start}.spread figure{margin:0}.spread figure img{width:100%}.spread figcaption{font-size:var(--text-sm);margin-top:.7rem;color:var(--color-muted)}.modes{margin:1.5rem 0 0;display:grid;gap:1rem}.modes article{padding:0 0 1rem;border-bottom:1px solid var(--color-rule)}.modes h3,.modes p{margin:.3rem 0}.gallery-lead{margin:0 0 1rem}.gallery-lead img{width:100%;aspect-ratio:16/9;object-fit:contain;background:var(--color-dark)}figure{margin:0}figcaption{padding:.6rem 0;font-size:var(--text-sm)}.thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.thumbs img,.gallery-grid img{width:100%;aspect-ratio:16/9;object-fit:contain;background:var(--color-dark)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.gallery-grid figure:first-child{grid-column:span 2}.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.5rem 0}.filters button{min-height:44px;padding:.3rem 1rem;border:1px solid var(--color-ink);background:var(--color-paper);color:var(--color-ink);cursor:pointer}.filters button[aria-pressed=true]{background:var(--color-dark);color:var(--color-paper)}.filters button:hover{border-color:var(--color-focus)}.filter-note{min-height:1.5rem;color:var(--color-muted);font-size:var(--text-sm)}.faq{border-bottom:1px solid var(--color-rule);padding:1rem 0}.faq summary{cursor:pointer;font-weight:600;min-height:44px;display:list-item}.faq div{padding:.75rem 0}.faq div p{margin:0}.download-panel{border:1px solid var(--color-rule);padding:2rem;max-width:700px}.download-panel h2{margin-bottom:1rem}.specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.specs dl{margin:0}.specs dt{font-size:var(--text-sm);color:var(--color-muted);margin-top:1rem}.specs dd{margin:0;overflow-wrap:anywhere}.steps{padding-left:1.4rem}.steps li{padding:.6rem 0}.article-top{padding-bottom:2rem}.breadcrumb{display:flex;gap:.7rem;flex-wrap:wrap;font-size:var(--text-sm);margin-bottom:1.5rem}.breadcrumb a{white-space:nowrap}.section[id]{scroll-margin-top:7rem}.guide-card{display:block;text-decoration:none;border-bottom:1px solid var(--color-rule);padding:1.2rem 0}.guide-card h3{margin:0}.guide-card p{margin:.4rem 0}.closing{max-width:1000px;margin:0 auto;padding:3rem 2rem}.closing h2{max-width:25ch}.footer{max-width:1000px;margin:0 auto;padding:2rem;color:var(--color-paper);border-top:1px solid var(--color-night-muted)}.footer-line{font-family:var(--font-display);font-size:var(--text-2xl);margin-top:0}.footer-brand{display:flex;gap:1rem;align-items:center}.footer-brand img{width:54px;height:54px}.footer-links,.related{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;margin:1rem 0}.footer-links a,.related a{display:flex;align-items:center;min-height:44px;white-space:nowrap;font-size:var(--text-sm)}.footer small{display:block;max-width:70ch;color:var(--color-night-muted);font-size:var(--text-sm)}.sticky-cta{position:fixed;bottom:0;inset-inline:0;background:var(--color-dark);color:var(--color-paper);padding:.8rem 1.25rem;z-index:25;display:flex;justify-content:center;gap:2rem;align-items:center;border-top:1px solid var(--color-gold)}.sticky-cta .btn{box-shadow:none}.sticky-cta span{font-size:var(--text-sm)}dialog{padding:1rem;border:1px solid var(--color-gold);background:var(--color-dark);color:var(--color-paper);width:min(1100px,96vw);max-height:94svh}dialog::backdrop{background:var(--color-shade)}.lightbox-media{width:100%;height:min(60svh,650px);object-fit:contain}.lightbox-tools{display:flex;gap:.6rem;justify-content:space-between;flex-wrap:wrap}.lightbox-tools button{background:var(--color-paper);color:var(--color-ink);border:1px solid var(--color-gold);padding:.4rem 1rem;min-height:44px;cursor:pointer}.lightbox-tools button:hover{background:var(--color-gold)}dialog p{margin:.6rem 0}.lightbox-fallback{color:var(--color-gold)}.backtop{display:inline-flex;min-height:44px;align-items:center;font-size:var(--text-sm)}
@media(max-width:900px){.hero{gap:1.5rem;padding:2rem;min-height:650px}.spread{gap:1.5rem}.thumbs{gap:.6rem}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){html{scroll-padding-top:5rem}.masthead{height:auto;min-height:58px;display:flex;justify-content:space-between;align-items:center;padding:0 1rem}.mast-title{font-size:1rem;justify-content:flex-start}.nav-row{display:none}.mobile-nav{display:block;position:relative}.mobile-nav summary{min-height:44px;display:flex;align-items:center;cursor:pointer;white-space:nowrap}.mobile-nav nav{position:absolute;right:0;top:3rem;width:240px;padding:1rem;background:var(--color-dark);border:1px solid var(--color-gold);display:grid;gap:.3rem}.mobile-nav nav a{min-height:44px;display:flex;align-items:center;white-space:nowrap;text-decoration:none}.hero{display:flex;flex-direction:column;align-items:stretch;gap:1rem;padding:1.5rem 1.25rem;min-height:0}.hero-art{transform:none;max-width:480px;align-self:center}.hero-copy h1{font-size:2rem}.hero-copy p{font-size:.95rem}.original-name{font-size:1.15rem}.game-logo{max-width:210px;max-height:90px}.hero-art figcaption{font-size:.75rem}.actions{gap:.75rem}.actions .btn{padding:.6rem .85rem;font-size:.875rem}.hero-copy .hint{margin-bottom:0}.section{padding:2rem 1.25rem}.spread,.specs{grid-template-columns:minmax(0,1fr)}.facts{gap:1rem}.thumbs{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid{grid-template-columns:minmax(0,1fr)}.gallery-grid figure:first-child{grid-column:auto}.toc{gap:.25rem 1.25rem;padding:.5rem 1.25rem}.closing,.footer{padding:2rem 1.25rem}.sticky-cta{gap:.75rem;justify-content:space-between;padding:.7rem 1rem}.sticky-cta span{font-size:.75rem;max-width:100px}.sticky-cta .btn{font-size:.875rem;padding:.55rem .8rem}.download-panel{padding:1.25rem}.section[id]{scroll-margin-top:5rem}.footer-line{font-size:1.5rem}.lightbox-tools{gap:.4rem}.lightbox-tools button{padding:.3rem .6rem;font-size:.875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.btn:hover,.btn:active{transform:none}}
