:root{--paper: #f3ecda;--card: #fffdf6;--ink: #211d16;--ink-soft: #6b6355;--ink-faint: #a89c82;--rule: #d8cfba;--rule-soft: #e9dfc6;--tint: #c9bfa6;--red: #d63a2f;--blue: #2b3f8c;--gold: #f0b429;--display: "Anton", "Arial Narrow", Impact, sans-serif;--mast: "Bungee Shade", "Anton", cursive;--body: "Archivo", ui-sans-serif, system-ui, -apple-system, sans-serif;--mono: "Space Mono", ui-monospace, Menlo, monospace;--lift: 4px 4px 0 var(--ink);--lift-red: 7px 7px 0 var(--red);--maxw: 1400px;--gutter: 24px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.35;background-image:radial-gradient(var(--ink) .5px,transparent .5px);background-size:4px 4px;mix-blend-mode:overlay}a{color:var(--blue);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}a:hover{color:var(--red)}::selection{background:var(--gold);color:var(--ink)}input::placeholder{color:var(--ink-faint)}:focus-visible{outline:3px solid var(--red);outline-offset:2px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}.banner{background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:11px;letter-spacing:2px;text-align:center;padding:5px 10px}.site-header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:3px solid var(--ink)}.site-header .wrap{display:flex;align-items:center;gap:18px;min-height:72px;flex-wrap:wrap}.logo{font-family:var(--mast);font-size:22px;line-height:1;white-space:nowrap;text-decoration:none;display:flex;gap:8px;align-items:baseline}.logo:hover{text-decoration:none}.logo .a{color:var(--red)}.logo .b{color:var(--blue)}.site-nav{display:flex;gap:14px}.site-nav a{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink);text-decoration:none;padding-bottom:2px;border-bottom:2px solid transparent}.site-nav a:hover{color:var(--red);border-bottom-color:var(--red)}.searchbar{flex:1;max-width:520px;min-width:200px}.searchbar input{width:100%;padding:9px 12px;background:var(--card);border:2px solid var(--ink);border-radius:0;color:var(--ink);font-family:var(--mono);font-size:13px}.searchbar input:focus{outline:none;box-shadow:var(--lift)}h1,h2,h3{margin:0 0 .4em;line-height:1.1;font-weight:400}h1{font-family:var(--display);font-size:clamp(30px,5vw,54px);letter-spacing:.5px;text-transform:uppercase}.section>h2,.rail-group>h2{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ink);margin-bottom:14px;display:flex;align-items:center;gap:10px}.section>h2:after,.rail-group>h2:after{content:"";flex:1;height:2px;background:var(--ink)}.layout{display:grid;grid-template-columns:260px 1fr;gap:32px;padding-block:28px;align-items:start}@media(max-width:940px){.layout{grid-template-columns:1fr}.rail{position:static}}.rail{position:sticky;top:96px}.rail-group{margin-bottom:24px}.rail-list{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:baseline;gap:6px;padding:5px 9px;border:2px solid var(--ink);border-radius:0;background:var(--card);color:var(--ink);font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;text-decoration:none;transition:transform .1s,box-shadow .1s,background .1s}.chip:hover{background:var(--gold);text-decoration:none;color:var(--ink);transform:translate(-1px,-1px);box-shadow:2px 2px 0 var(--ink)}.chip .n{color:var(--ink-soft);font-weight:400}.chip[aria-current=true]{background:var(--gold);box-shadow:2px 2px 0 var(--ink)}.chip[aria-current=true] .n{color:var(--ink)}.results-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;padding-bottom:10px;margin-bottom:20px;border-bottom:3px solid var(--ink)}.count{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-soft)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:20px}.card{display:flex;flex-direction:column;background:var(--card);border:2px solid var(--ink);border-radius:0;box-shadow:var(--lift);color:inherit;text-decoration:none;transition:transform .1s,box-shadow .1s}.card:hover{transform:translate(-2px,-2px);box-shadow:var(--lift-red);text-decoration:none}.card-art{position:relative;aspect-ratio:271 / 369;background:var(--ink) center / cover no-repeat;border-bottom:2px solid var(--ink);display:grid;place-items:center;color:var(--ink-faint);font-family:var(--mono);font-size:11px;letter-spacing:2px}.card-year{position:absolute;top:8px;left:-2px;background:var(--gold);border:2px solid var(--ink);font-family:var(--display);font-size:13px;line-height:1.3;padding:2px 8px;color:var(--ink)}.card-body{padding:12px 12px 14px;display:flex;flex-direction:column;gap:7px;flex:1}.card-title{font-family:var(--display);font-size:18px;line-height:1.15;color:var(--ink);text-transform:uppercase}.card-meta{font-family:var(--mono);font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-soft);display:flex;gap:8px;flex-wrap:wrap}.card-plats{display:flex;gap:4px;flex-wrap:wrap;margin-top:auto;padding-top:8px;border-top:1px solid var(--rule)}.plat{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.5px;padding:1px 5px;border:1.5px solid var(--ink);color:var(--ink);background:var(--card)}.badge-danmaku{background:var(--red);color:var(--card)}.game-hero{display:grid;grid-template-columns:280px 1fr;gap:32px;padding-block:32px}@media(max-width:820px){.game-hero{grid-template-columns:1fr}}.game-cover{width:100%;display:block;border:2px solid var(--ink);box-shadow:var(--lift)}.titles{margin-bottom:16px}.title-ja{font-family:var(--mono);font-size:15px;color:var(--ink-soft);margin-top:6px}.aka-line{font-family:var(--mono);font-size:12px;color:var(--ink-soft);margin-top:8px}.spec-table{width:100%;max-width:640px;border-collapse:collapse;font-family:var(--mono);font-size:12px;margin-top:18px;border:2px solid var(--ink);background:var(--card)}.spec-table th,.spec-table td{text-align:left;padding:7px 11px;border-bottom:1px solid var(--rule);vertical-align:top}.spec-table th{font-weight:700;letter-spacing:1px;text-transform:uppercase;font-size:10px;color:var(--ink-soft);width:34%;white-space:nowrap;border-right:1px solid var(--rule)}.spec-table td{font-variant-numeric:tabular-nums}.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom:none}.section{padding-block:30px;border-top:2px solid var(--ink)}.table-scroll{overflow-x:auto}.ports-table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:12px;min-width:560px;background:var(--card);border:2px solid var(--ink)}.ports-table th{text-align:left;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:8px 11px;background:var(--ink);color:var(--paper)}.ports-table td{padding:7px 11px;border-bottom:1px solid var(--rule);font-variant-numeric:tabular-nums}.ports-table tbody tr:nth-child(2n){background:var(--rule-soft)}.ports-table tr.original td{font-weight:700}.ports-table tr.original td:first-child{box-shadow:inset 4px 0 0 var(--red)}.ports-table .port-name{color:var(--ink-soft);margin-left:6px}.gallery-block{margin-bottom:22px}.gallery-label{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--red);margin-bottom:8px}.gallery{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;padding-bottom:10px}.gallery::-webkit-scrollbar{height:10px}.gallery::-webkit-scrollbar-track{background:var(--rule-soft);border:1px solid var(--rule)}.gallery::-webkit-scrollbar-thumb{background:var(--ink)}.gallery-item{position:relative;flex:0 0 auto;height:200px;padding:0;border:2px solid var(--ink);background:var(--ink);cursor:zoom-in;overflow:hidden;scroll-snap-align:start;box-shadow:var(--lift);transition:transform .1s,box-shadow .1s}.gallery-item:hover,.gallery-item:focus-visible{transform:translate(-2px,-2px);box-shadow:var(--lift-red)}.gallery-item img{height:100%;width:auto;display:block;image-rendering:pixelated}.gallery-plat{position:absolute;bottom:4px;left:4px;font-family:var(--mono);font-size:9px;font-weight:700;padding:1px 5px;background:var(--gold);border:1.5px solid var(--ink);color:var(--ink)}.gallery-hint{font-family:var(--mono);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-soft);margin:2px 0 0}.videos{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));gap:16px;max-width:940px}.shot{border:2px solid var(--ink);background:var(--card);box-shadow:var(--lift);overflow:hidden}.shot img{width:100%;display:block;image-rendering:pixelated}.shot figcaption{font-family:var(--mono);font-size:10px;color:var(--ink-soft);padding:6px 8px;border-top:2px solid var(--ink)}.videos .shot iframe{display:block;width:100%;aspect-ratio:16 / 9;height:auto;border:0}.prose,.prose-block{font-family:var(--body);font-size:17px;line-height:1.72;color:var(--ink);max-width:68ch}.prose p,.prose-block p{margin:0 0 1.05em}.prose-block>p:first-of-type:first-letter{float:left;font-family:var(--display);font-size:3.4em;line-height:.78;padding:.06em .1em 0 0;color:var(--red)}.prose-block h3{font-family:var(--display);font-size:22px;text-transform:uppercase;color:var(--ink);margin:1.6em 0 .5em;padding-bottom:6px;border-bottom:2px solid var(--ink)}.attribution{font-family:var(--mono)!important;font-size:11px;line-height:1.7;color:var(--ink-soft);border-left:4px solid var(--gold);padding-left:12px;margin-top:26px}.record{display:grid;grid-template-columns:1fr 190px;gap:40px;align-items:start}@media(max-width:1000px){.record{grid-template-columns:1fr}.toc{display:none}}.toc{position:sticky;top:96px}.toc h2{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px}.toc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--ink)}.toc a{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--ink);text-decoration:none;padding:5px 0 5px 12px;border-left:3px solid transparent;margin-left:-2px}.toc a:hover{color:var(--red);border-left-color:var(--red)}.scores{display:flex;flex-wrap:wrap;gap:12px}.score{display:grid;justify-items:center;gap:2px;min-width:104px;padding:12px 14px;border:2px solid var(--ink);background:var(--card);box-shadow:var(--lift);text-decoration:none;color:var(--ink);transition:transform .1s,box-shadow .1s}.score:hover{text-decoration:none;transform:translate(-2px,-2px);box-shadow:var(--lift-red)}.score-value{font-family:var(--display);font-size:34px;line-height:1;font-variant-numeric:tabular-nums}.score-src{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-soft)}.score-n{font-family:var(--mono);font-size:9px;color:var(--ink-faint)}.score--good .score-value{color:var(--blue)}.score--mixed .score-value{color:var(--gold)}.score--poor .score-value{color:var(--red)}.stores{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;max-width:980px}.store{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:11px 13px;border:2px solid var(--ink);background:var(--card);box-shadow:var(--lift);color:var(--ink);font-family:var(--mono);font-size:12px;font-weight:700;text-decoration:none;transition:transform .1s,box-shadow .1s,background .1s}.store:hover{background:var(--gold);text-decoration:none;transform:translate(-2px,-2px);box-shadow:var(--lift-red)}.store-edition{color:var(--ink-soft);font-weight:400;font-size:10px}.store-price{font-variant-numeric:tabular-nums;white-space:nowrap}.store-off{color:var(--red);margin-left:6px}.store-note{font-family:var(--mono);font-size:11px;line-height:1.7;color:var(--ink-soft);border-left:4px solid var(--rule);padding-left:12px;margin-top:16px;max-width:68ch}.list-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;padding-block:30px 14px;border-bottom:3px solid var(--ink)}.list-eyebrow{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--red);margin:0 0 8px}.list-desc{font-family:var(--body);font-size:17px;line-height:1.65;max-width:62ch;margin:8px 0 0}.list-rows{list-style:none;margin:0;padding:0}.list-row{display:grid;grid-template-columns:3rem 60px 1fr auto;align-items:center;gap:16px;padding:12px 8px;border-bottom:1px solid var(--rule)}.list-row:nth-child(2n){background:var(--rule-soft)}@media(max-width:640px){.list-row{grid-template-columns:2.2rem 46px 1fr}.list-num{grid-column:3;justify-content:flex-start}.list-art{width:46px}}.list-rank{font-family:var(--display);font-size:24px;color:var(--red);text-align:right;font-variant-numeric:tabular-nums}.list-art{display:block;width:60px;aspect-ratio:271/369;background:var(--ink) center / cover no-repeat;border:2px solid var(--ink)}.list-title{font-family:var(--display);font-size:19px;text-transform:uppercase;color:var(--ink);text-decoration:none}.list-title:hover{color:var(--red)}.list-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-family:var(--mono);font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-soft);margin-top:3px}.list-note{font-family:var(--body);font-size:15px;color:var(--ink-soft);margin:6px 0 0;max-width:60ch}.list-num{display:flex;align-items:baseline;gap:14px;font-family:var(--mono);font-variant-numeric:tabular-nums}.list-score{font-family:var(--display);font-size:22px;color:var(--blue)}.list-price{color:var(--ink);font-weight:700;font-size:13px}.empty{padding:80px 16px;text-align:center;font-family:var(--mono);font-size:13px;letter-spacing:1px;color:var(--ink-soft);line-height:2.2;border:2px dashed var(--tint)}.pager{display:flex;justify-content:center;gap:12px;padding-block:36px}.pager a{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:9px 16px;border:2px solid var(--ink);background:var(--card);box-shadow:var(--lift);color:var(--ink);text-decoration:none;transition:transform .1s,box-shadow .1s,background .1s}.pager a:hover{background:var(--gold);text-decoration:none;transform:translate(-2px,-2px);box-shadow:var(--lift-red)}.site-footer{border-top:3px solid var(--ink);margin-top:48px;padding-block:28px;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:11px;line-height:1.9;letter-spacing:.5px}.site-footer a{color:var(--gold)}.site-footer a:hover{color:var(--card)}#lightbox{border:3px solid var(--ink);border-radius:0;background:var(--card);color:var(--ink);padding:0;max-width:min(94vw,1400px);max-height:92vh;box-shadow:10px 10px 0 var(--red)}#lightbox::backdrop{background:#211d16d1}#lightbox img{display:block;max-width:min(94vw,1400px);max-height:82vh;width:auto;height:auto;image-rendering:pixelated}.lightbox-caption{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink);padding:8px 12px;margin:0;border-top:2px solid var(--ink)}.lightbox-close{position:absolute;top:8px;right:8px;z-index:2;background:var(--gold);border:2px solid var(--ink);border-radius:0;color:var(--ink);font-family:var(--mono);font-weight:700;font-size:13px;line-height:1;padding:6px 9px;cursor:pointer;box-shadow:3px 3px 0 var(--ink)}.lightbox-close:hover{background:var(--red);color:var(--card)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:32px}.stat{border:2px solid var(--ink);background:var(--card);box-shadow:var(--lift);padding:18px}.stat-value{font-family:var(--display);font-size:44px;line-height:1;font-variant-numeric:tabular-nums}.stat-label{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-soft);margin-top:6px}.bars{display:flex;flex-direction:column;gap:8px;max-width:760px}.bar-row{display:grid;grid-template-columns:minmax(92px,150px) 1fr 62px;align-items:center;gap:12px}.bar-label{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{display:block;height:22px;background:var(--rule-soft);border:2px solid var(--ink)}.bar-fill{display:block;height:100%;background:var(--red)}.bar-fill.alt{background:var(--blue)}.bar-value{font-family:var(--mono);font-size:11px;font-variant-numeric:tabular-nums;text-align:right}
