/* PATCH NOT FOUND — game page, its own theme (dark comic: black / red / white) */
:root{--kimg:url(../img/theme/s/pnf_keyart.webp);--ink:#0b0608;--red:#e11d2e;--red2:#ff4b57;--paper:#f3ece2;--hs:6px 6px 0 var(--red)}
body{background:#0b0608;color:var(--paper);font-family:"Mitr",system-ui,sans-serif;font-weight:400;cursor:auto}
body::before{display:none}
h1,h2,h3{font-family:"Bebas Neue","Mitr",sans-serif;letter-spacing:.03em}
.gbar{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;gap:12px;padding:10px 18px;background:linear-gradient(#0b0608ee,#0b060800)}
.gbar a.back{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--paper);font-weight:500;border:2px solid var(--paper);padding:4px 14px;transform:skewX(-8deg);min-height:34px}
.gbar a.back:hover{background:var(--paper);color:var(--ink)}
.gbar .sp{margin-left:auto}
.gbar .tool{background:transparent;color:var(--paper);border:2px solid var(--paper);border-radius:0;box-shadow:none;min-height:34px;transform:skewX(-8deg)}
.gbar .tool:hover{background:var(--red);border-color:var(--red)}
.gh{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:90px 20px 60px;overflow:hidden}
.gh .bg{position:absolute;inset:0;background:#000 var(--kimg) center/cover;animation:push 24s ease-in-out infinite alternate}
@keyframes push{to{transform:scale(1.08)}}
.gh::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(11,6,8,.15),rgba(11,6,8,.85) 85%),linear-gradient(transparent 60%,#0b0608)}
.gh .in{position:relative;z-index:2;max-width:860px}
.gh .logo{width:min(54vw,320px);margin:0 auto 12px;filter:drop-shadow(0 14px 30px #000)}
.gh h1{font-size:clamp(3.2rem,11vw,8rem);line-height:.9;margin:0 0 10px;color:var(--paper);text-shadow:3px 3px 0 var(--red)}
.gh p.tl{font-size:clamp(1.05rem,2.4vw,1.5rem);margin:0 auto 24px;max-width:30em;text-shadow:0 2px 10px #000}
.gbtns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.gbtn{display:inline-block;text-decoration:none;font:600 1.15rem "Mitr";letter-spacing:.04em;padding:14px 38px;border:3px solid var(--paper);color:var(--paper);background:transparent;transform:skewX(-8deg);box-shadow:var(--hs);transition:.15s}
.gbtn:hover{transform:skewX(-8deg) translate(-3px,-3px);box-shadow:9px 9px 0 var(--red)}
.gbtn.hot{background:#b3121f;border-color:#b3121f}
.gbtn:focus-visible{outline:4px solid #fff;outline-offset:4px}
.sec{max-width:1100px;margin:0 auto;padding:70px 22px}
.sec h2{font-size:clamp(2rem,5vw,3.4rem);margin:0 0 22px;color:var(--paper);display:inline-block;border-bottom:6px solid var(--red)}
.story{font-size:1.15rem;max-width:42em;line-height:1.8}
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:10px}
.feat{border:3px solid var(--paper);padding:22px;background:#140a0d;box-shadow:var(--hs);transform:rotate(-.6deg)}
.feat:nth-child(2){transform:rotate(.5deg)}.feat h3{font-size:1.9rem;margin:0 0 6px;color:var(--red2)}.feat p{margin:0;color:#d9cfc4}
.shots{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.shots figure{margin:0}
.shots img{width:100%;height:auto;border:3px solid var(--paper);box-shadow:var(--hs);background:#000}
.shots figcaption{margin-top:8px;font-size:.9rem;color:#d9cfc4}
.tagrow span{display:inline-block;border:2px solid var(--red);color:var(--paper);padding:0 12px;margin:4px 6px 4px 0;font-size:.9rem}
.cta{text-align:center;padding:60px 22px 90px;background:linear-gradient(#0b0608,#2a0509)}
.cta h2{border:0;font-size:clamp(2.2rem,6vw,4.4rem);text-shadow:5px 5px 0 var(--red)}
.gfoot{text-align:center;padding:24px;color:#bba;font-size:.9rem;border-top:1px solid #2a1a1d}
.gfoot a{margin:0 8px;color:#e6dccf}
.toast{background:#f3ece2;color:#0b0608;border-color:#e11d2e}
@media(orientation:portrait){:root{--kimg:url(../img/theme/s/pnf_keyart_p.webp)}.gh .bg{background-position:center 30%}}
@media(max-width:800px){.feats,.shots{grid-template-columns:1fr}.gbtn{padding:12px 26px}.sec{padding:48px 18px}}
@media(prefers-reduced-motion:reduce){.gh .bg{animation:none}}

.gh h1.wm{margin:0 0 14px;line-height:0;text-shadow:none}
.gh h1.wm img{width:min(88vw,720px);height:auto;margin:0 auto;filter:drop-shadow(0 16px 30px #000) drop-shadow(0 0 24px rgba(225,29,46,.45))}

/* ---- game page v2: roguelike explainer + feature grids (real in-game screenshots) ---- */
.sec h3.sub{font-size:1.5rem;margin:30px 0 14px;color:var(--red2)}
.sec .story+.story{margin-top:0}
.vid video,.vid iframe{border:0;width:100%;max-width:960px;display:block;margin:0 auto;border:3px solid var(--paper);box-shadow:var(--hs);background:#000;aspect-ratio:16/9}
.fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px}
.fc{position:relative;margin:0;background:#140a0d;border:3px solid var(--paper);box-shadow:var(--hs);overflow:hidden;transition:transform .18s}
.fc:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--red)}
.fc img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover;background:#000;border-bottom:3px solid var(--red)}
.fc figcaption{padding:12px 14px 16px;display:flex;flex-direction:column;gap:4px}
.fc figcaption b{font:400 1.55rem/1.1 "Bebas Neue","Mitr",sans-serif;letter-spacing:.04em;color:var(--paper)}
.fc figcaption span{font-size:.92rem;line-height:1.45;color:#d9cfc4}
.fc .soon{position:absolute;top:10px;right:10px;z-index:2;font:600 .75rem "Mitr";font-style:normal;background:var(--red);color:#fff;padding:2px 10px;transform:skewX(-8deg);box-shadow:3px 3px 0 #000}
@media(max-width:1000px){.fgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.fgrid{grid-template-columns:1fr}.fc figcaption b{font-size:1.4rem}}

.gbar .kmid{color:var(--paper);text-decoration:none;font:500 .9rem "Mitr";border:2px solid var(--paper);padding:4px 12px;min-height:34px;display:inline-flex;align-items:center;transform:skewX(-8deg);margin-right:8px}
.gbar .kmid:hover{background:var(--paper);color:var(--ink)}
.gbar .kmid .kdot{margin-right:0}
