/* ==========================================================================
   RGH Arcade — retro CRT-arcade theme for Retro Games Heaven
   ========================================================================== */

@font-face{font-family:'Press Start 2P';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/PressStart2P-400.woff2) format('woff2');}
@font-face{font-family:'VT323';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/VT323-400.woff2) format('woff2');}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/Hanken-400.woff2) format('woff2');}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/Hanken-600.woff2) format('woff2');}

:root{
 --crt:#0A0A16; --panel:#12122A; --panel-2:#1A1A3A; --ink:#EDEDF7; --muted:#8E8FC0;
 --line:rgba(255,255,255,.11); --line-2:rgba(255,255,255,.2);
 --mag:#FF3E9A; --cyan:#33E1FF;
 --pixel:'Press Start 2P',system-ui,monospace; --crtf:'VT323',ui-monospace,monospace; --body:'Hanken Grotesk',system-ui,sans-serif;
 --maxw:1200px; --read:64ch; --c:#FF3E9A;
}
*{box-sizing:border-box}
html{color-scheme:dark;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--crt);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:0;z-index:10000;background:var(--mag);color:var(--crt);padding:10px 16px;font-family:var(--pixel);font-size:10px}
.skip-link:focus{left:8px;top:8px}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
body::after{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.13) 0,rgba(0,0,0,.13) 1px,transparent 1px,transparent 3px);opacity:.35;mix-blend-mode:multiply}
.scan{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.28) 0,rgba(0,0,0,.28) 1px,transparent 1px,transparent 3px);opacity:.6}
.ptag{font-family:var(--pixel);font-size:8px;letter-spacing:.02em;color:var(--crt);background:var(--c);padding:5px 7px;display:inline-block;line-height:1;box-shadow:0 0 12px color-mix(in srgb,var(--c) 55%,transparent)}
.eyebrow{font-family:var(--pixel);font-size:9px;letter-spacing:.14em;color:var(--c);text-shadow:0 0 10px color-mix(in srgb,var(--c) 60%,transparent);display:inline-block}

/* status bar */
.status{background:#06060E;border-bottom:1px solid var(--line)}
.status .wrap{display:flex;justify-content:space-between;align-items:center;height:30px;font-family:var(--pixel);font-size:8px;letter-spacing:.06em;color:var(--muted);gap:10px}
.status .blink{color:var(--cyan)}

/* marquee masthead */
.marquee-top{text-align:center;padding:26px 24px 10px;background:radial-gradient(120% 140% at 50% -20%,rgba(255,62,154,.14),transparent 60%)}
.wordmark{display:inline-block;font-family:var(--pixel);font-size:clamp(13px,3.1vw,26px);line-height:1.5;letter-spacing:.02em}
.wordmark .m{color:var(--mag);text-shadow:0 0 14px rgba(255,62,154,.7)}
.wordmark .c{color:var(--cyan);text-shadow:0 0 14px rgba(51,225,255,.7)}
.subttl{font-family:var(--pixel);font-size:8px;letter-spacing:.2em;color:var(--muted);margin-top:12px}

/* cabinet nav */
.cab-nav{position:sticky;top:0;z-index:40;background:rgba(6,6,14,.9);backdrop-filter:blur(8px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cab-nav .wrap{display:flex;gap:4px;align-items:center;height:48px;overflow-x:auto;justify-content:center}
.cab-nav-list{display:flex;gap:4px;align-items:center}
.cab-nav a{display:inline-flex;align-items:center;gap:8px;font-family:var(--body);font-weight:600;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:8px 14px;white-space:nowrap;transition:color .15s}
.cab-nav a:hover{color:var(--ink)}
.ndot{width:8px;height:8px;border-radius:1px;box-shadow:0 0 8px currentColor;flex:0 0 auto}

/* hero */
.hero{position:relative;isolation:isolate;margin:22px auto 0;max-width:var(--maxw);width:calc(100% - 48px);border:2px solid var(--c);box-shadow:0 0 30px color-mix(in srgb,var(--c) 30%,transparent),inset 0 0 40px rgba(0,0,0,.6);overflow:hidden;min-height:clamp(360px,52vh,500px);display:flex;align-items:flex-end}
.hero:not(.has-img){background:linear-gradient(180deg,var(--panel),var(--crt))}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:saturate(1.1)}
.hero__grad{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,10,22,.95) 8%,rgba(10,10,22,.6) 50%,rgba(10,10,22,.25) 100%),linear-gradient(0deg,var(--crt),transparent 55%)}
.hero__scan{position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(0deg,rgba(0,0,0,.25) 0,rgba(0,0,0,.25) 1px,transparent 1px,transparent 3px);opacity:.5}
.hero__body{padding:34px 34px 30px;max-width:640px}
.hero .eyebrow{margin-bottom:16px}
.hero__title{font-family:var(--crtf);font-weight:400;font-size:clamp(40px,6.4vw,80px);line-height:.92;color:var(--ink);text-shadow:0 0 18px rgba(237,237,247,.25);margin:0 0 12px;text-wrap:balance}
.hero__title a{color:inherit}
.hero__title a:hover{color:var(--c);text-shadow:0 0 18px color-mix(in srgb,var(--c) 60%,transparent)}
.hero__dek{font-size:17px;color:#C7C8E4;margin:0 0 20px;max-width:46ch}
.hero__meta{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.hero__date{font-family:var(--crtf);font-size:19px;color:var(--muted);letter-spacing:.02em}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--pixel);font-size:10px;letter-spacing:.06em;color:var(--crt);background:var(--c);padding:14px 20px;box-shadow:0 0 20px color-mix(in srgb,var(--c) 45%,transparent);transition:filter .15s,transform .12s}
.btn:hover{filter:brightness(1.12)}
.btn:active{transform:translateY(1px)}

/* section marquee */
.sec{padding:40px 0 8px}
.sec-head{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.sec-head .lbl{font-family:var(--pixel);font-size:12px;letter-spacing:.06em;color:var(--ink)}
.sec-head .lbl .b{color:var(--mag);text-shadow:0 0 10px rgba(255,62,154,.6)}
.sec-head .bar{flex:1;height:2px;background:linear-gradient(90deg,var(--mag),var(--cyan));box-shadow:0 0 10px rgba(255,62,154,.4);opacity:.7}

/* game-select cards */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-bottom:20px}
.gsel{position:relative;display:flex;background:var(--panel);border:1px solid var(--line-2);transition:border-color .15s,box-shadow .15s,transform .12s}
.gsel__link{display:flex;flex-direction:column;flex:1;color:inherit}
.gsel:hover{border-color:var(--c);box-shadow:0 0 22px color-mix(in srgb,var(--c) 30%,transparent);transform:translateY(-2px)}
.gsel__screen{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:#000;border-bottom:1px solid var(--line)}
.gsel__screen img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease,filter .3s;filter:saturate(1.05) brightness(.95)}
.gsel:hover .gsel__screen img{transform:scale(1.05);filter:saturate(1.15) brightness(1.05)}
.gsel__screen .ptag{position:absolute;top:10px;left:10px;z-index:2}
.gsel__body{display:flex;flex-direction:column;gap:9px;padding:16px 16px 15px;flex:1}
.gsel--text .gsel__rule{height:4px;background:var(--c);box-shadow:0 0 14px color-mix(in srgb,var(--c) 60%,transparent)}
.gsel--text .ptag{align-self:flex-start;margin-bottom:2px}
.gsel__title{font-family:var(--crtf);font-weight:400;font-size:26px;line-height:.98;color:var(--ink);text-wrap:balance;transition:color .15s,text-shadow .15s}
.gsel__title--big{font-size:31px}
.gsel:hover .gsel__title{color:var(--c);text-shadow:0 0 12px color-mix(in srgb,var(--c) 55%,transparent)}
.gsel__dek{font-size:14px;color:var(--muted);margin:0;flex:1;line-height:1.5}
.gsel__foot{display:flex;align-items:center;justify-content:space-between;margin-top:4px}
.gsel__meta{font-family:var(--crtf);font-size:16px;color:var(--muted);letter-spacing:.03em}
.gsel__go{font-family:var(--pixel);font-size:8px;color:var(--c);opacity:0;transition:opacity .15s}
.gsel:hover .gsel__go{opacity:1}

/* section hero (archive/search/404) */
.section-hero{border-bottom:1px solid var(--line);background:radial-gradient(120% 160% at 12% -30%,color-mix(in srgb,var(--c) 16%,transparent),transparent 60%),linear-gradient(180deg,var(--panel),var(--crt));padding:44px 0 30px}
.section-hero .eyebrow{margin-bottom:14px}
.section-title{font-family:var(--crtf);font-weight:400;font-size:clamp(38px,6vw,68px);line-height:.94;color:var(--ink);text-shadow:0 0 16px rgba(237,237,247,.2);text-wrap:balance}
.section-desc{color:var(--muted);max-width:60ch;margin-top:12px}
.section-count{display:inline-block;margin-top:14px;font-family:var(--pixel);font-size:9px;letter-spacing:.1em;color:var(--muted)}

/* single article */
.article-head{background:radial-gradient(120% 160% at 12% -30%,color-mix(in srgb,var(--c) 14%,transparent),transparent 60%),linear-gradient(180deg,var(--panel),var(--crt));border-bottom:1px solid var(--line);padding:44px 0 30px}
.article-head__inner{max-width:var(--read);margin:0 auto}
.article-head .eyebrow{margin-bottom:14px}
.article-title{font-family:var(--crtf);font-weight:400;font-size:clamp(36px,5.6vw,68px);line-height:.94;color:var(--ink);text-shadow:0 0 18px rgba(237,237,247,.22);margin:0 0 16px;text-wrap:balance}
.article-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.article-by{font-family:var(--pixel);font-size:8px;letter-spacing:.08em;color:var(--muted)}
.article-date{font-family:var(--crtf);font-size:18px;letter-spacing:.03em;color:var(--muted)}
.article-figure{margin:26px auto 0;max-width:1000px}
.figframe{position:relative;display:block;border:2px solid var(--c);box-shadow:0 0 24px color-mix(in srgb,var(--c) 26%,transparent);overflow:hidden}
.figframe img{width:100%;display:block}
.article-wrap{padding:30px 24px 10px}
.entry-content{max-width:var(--read);margin:0 auto;font-size:17.5px;line-height:1.75;color:#D3D4EC}
.entry-content > *+*{margin-top:1.1em}
.entry-content h1,.entry-content h2,.entry-content h3{font-family:var(--crtf);font-weight:400;color:var(--ink);line-height:1.02;letter-spacing:.01em}
.entry-content h1{font-size:2.1em;margin-top:1.3em}
.entry-content h2{font-size:1.8em;margin-top:1.4em;color:var(--ink);text-shadow:0 0 12px color-mix(in srgb,var(--c) 30%,transparent)}
.entry-content h3{font-size:1.5em;margin-top:1.3em}
.entry-content p{margin:0}
.entry-content a{color:var(--c);text-decoration:underline;text-underline-offset:2px;text-shadow:0 0 8px color-mix(in srgb,var(--c) 40%,transparent)}
.entry-content a:hover{filter:brightness(1.15)}
.entry-content img{margin:1.3em 0;border:1px solid var(--line-2)}
.entry-content ul,.entry-content ol{padding-left:1.3em;margin:0}
.entry-content li+li{margin-top:.4em}
.entry-content li::marker{color:var(--c)}
.entry-content blockquote{margin:1.4em 0;padding:6px 0 6px 20px;border-left:3px solid var(--c);color:var(--ink);font-size:1.08em;box-shadow:-1px 0 14px -6px var(--c)}
.entry-content code{font-family:var(--crtf);font-size:1em;background:var(--panel);border:1px solid var(--line);padding:0 6px;color:var(--cyan)}
.entry-content pre{background:var(--panel);border:1px solid var(--line);padding:16px;overflow-x:auto}
.entry-content pre code{background:none;border:0;padding:0;color:var(--ink)}
.entry-content figure{margin:1.4em 0}
.entry-content figcaption,.wp-caption-text{font-family:var(--crtf);font-size:15px;color:var(--muted);margin-top:8px}
.entry-content table{border-collapse:collapse;width:100%;font-size:.95em;display:block;overflow-x:auto}
.entry-content th,.entry-content td{border:1px solid var(--line-2);padding:8px 11px;text-align:left}
.entry-content th{font-family:var(--crtf);font-size:1.15em;color:var(--ink)}
.entry-content .alignleft{float:left;margin:.3em 1.4em 1em 0;max-width:48%}
.entry-content .alignright{float:right;margin:.3em 0 1em 1.4em;max-width:48%}
.entry-content .aligncenter{margin-left:auto;margin-right:auto}
.entry-tags{max-width:var(--read);margin:24px auto 0;font-family:var(--pixel);font-size:8px}
.entry-tags a{display:inline-block;color:var(--muted);border:1px solid var(--line-2);padding:6px 8px;margin:0 6px 6px 0;transition:color .15s,border-color .15s}
.entry-tags a:hover{color:var(--c);border-color:var(--c)}
.related{padding-top:26px}
.page-links{max-width:var(--read);margin:20px auto 0;font-family:var(--crtf);font-size:17px;color:var(--muted)}

/* pagination */
.pagination,.navigation.pagination{padding:16px 0 40px}
.nav-links{display:flex;flex-wrap:wrap;gap:8px;font-family:var(--pixel);font-size:9px}
.nav-links .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;border:1px solid var(--line-2);background:var(--panel);color:var(--muted);transition:color .15s,border-color .15s,box-shadow .15s}
.nav-links a.page-numbers:hover{color:var(--ink);border-color:var(--c);box-shadow:0 0 12px color-mix(in srgb,var(--c) 30%,transparent)}
.nav-links .page-numbers.current{background:var(--c);color:var(--crt);border-color:var(--c);box-shadow:0 0 14px color-mix(in srgb,var(--c) 45%,transparent)}

/* search form / misc */
.search-form{display:flex;gap:8px;max-width:520px;margin-top:8px}
.search-form .search-field{flex:1;background:var(--panel);border:1px solid var(--line-2);padding:12px 14px;color:var(--ink);font-family:var(--crtf);font-size:18px}
.search-form .search-submit{font-family:var(--pixel);font-size:9px;background:var(--mag);color:var(--crt);border:0;padding:0 16px;cursor:pointer;box-shadow:0 0 14px rgba(255,62,154,.4)}
.empty{color:var(--muted);padding:8px 0 40px;max-width:var(--read);font-size:17px}

/* footer */
.foot{border-top:1px solid var(--line);background:#06060E;margin-top:44px;padding:40px 24px 30px;text-align:center}
.foot .wordmark{font-size:clamp(12px,2.4vw,18px)}
.foot .continue{font-family:var(--pixel);font-size:9px;color:var(--cyan);letter-spacing:.1em;margin-top:18px}
.foot .fnav{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;align-items:center;margin-top:20px}
.foot .cab-nav-list{display:inline-flex;flex-wrap:wrap;gap:16px;justify-content:center}
.foot .fnav a{font-family:var(--body);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0}
.foot .fnav a:hover{color:var(--ink)}
.foot .fnav .ndot{display:none}
.foot .fsep{color:var(--muted);opacity:.5}
.foot .legal{font-family:var(--pixel);font-size:8px;color:var(--muted);letter-spacing:.08em;margin-top:22px}

@media (max-width:900px){ .grid{grid-template-columns:repeat(2,1fr)} .entry-content .alignleft,.entry-content .alignright{float:none;max-width:100%;margin:1.3em 0} }
@media (max-width:560px){ .grid{grid-template-columns:1fr} .cab-nav .wrap{justify-content:flex-start} }
@media (prefers-reduced-motion:reduce){ *{transition:none!important} body::after,.scan,.hero__scan{display:none} }
