/*
Theme Name: Age of the Geeks Retro Magazine
Theme URI: https://ageofthegeeks.com/
Author: OpenAI
Description: Retro computer magazine theme with a searchable technology library, issue-style layouts, and live RSS news desks. Built from the AOTG build-out brief.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.1
Text Domain: aotg-retro
*/

:root{--ink:#171515;--paper:#f4ecd9;--paper2:#fffaf0;--red:#d92828;--cyan:#008ea8;--yellow:#f2c230;--blue:#193f75;--muted:#6a6258;--line:#241f1a;--shadow:5px 5px 0 #171515;--radius:10px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#d8cfbc;color:var(--ink);font-family:Georgia,'Times New Roman',serif;line-height:1.58;background-image:radial-gradient(rgba(0,0,0,.07) .7px,transparent .8px);background-size:7px 7px}a{color:var(--blue);text-decoration-thickness:2px;text-underline-offset:2px}img{max-width:100%;height:auto}.wrap{width:min(1180px,92vw);margin:auto}.site-shell{background:var(--paper);min-height:100vh;box-shadow:0 0 35px rgba(0,0,0,.26)}
.top-strip{background:var(--ink);color:#fff;font:700 12px/1.2 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;padding:.65rem 0}.masthead{border-bottom:4px solid var(--ink);padding:1.2rem 0 1rem;background:linear-gradient(90deg,var(--paper2),var(--paper))}.mast-grid{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:end}.brand{font:900 clamp(2.5rem,7vw,6.8rem)/.78 Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;text-transform:uppercase;letter-spacing:-.045em;margin:0}.brand .age{color:var(--red)}.brand .geeks{color:var(--blue)}.deck{font:800 .83rem/1.3 Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;margin:.65rem 0 0;max-width:820px}.issue-box{border:3px solid var(--ink);padding:.7rem 1rem;min-width:155px;text-align:center;background:var(--yellow);box-shadow:3px 3px 0 var(--ink);font:800 12px/1.35 Arial,sans-serif;text-transform:uppercase}.issue-box strong{font-size:1.25rem;display:block}
.navbar{position:sticky;top:0;z-index:20;background:var(--red);border-bottom:3px solid var(--ink)}.navbar .wrap{display:flex;align-items:center;gap:.8rem}.menu-toggle{display:none;background:#fff;border:2px solid var(--ink);padding:.55rem .8rem;font-weight:800}.main-nav ul{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}.main-nav a{display:block;color:#fff;text-decoration:none;font:800 .76rem/1 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:1rem .82rem;border-right:1px solid rgba(255,255,255,.28)}.main-nav a:hover,.main-nav .current-menu-item>a{background:var(--ink)}.nav-search{margin-left:auto}.nav-search input{border:2px solid var(--ink);padding:.45rem .6rem;width:180px}.nav-search button{border:2px solid var(--ink);background:var(--yellow);padding:.45rem .6rem;font-weight:800}
.ticker{border-bottom:2px solid var(--ink);background:var(--yellow);overflow:hidden}.ticker-inner{display:flex;gap:2rem;white-space:nowrap;padding:.55rem 0;font:800 .78rem/1.2 Arial,sans-serif;text-transform:uppercase;animation:ticker 32s linear infinite}.ticker strong{background:var(--ink);color:#fff;padding:.2rem .45rem}@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-35%)}}
.hero{display:grid;grid-template-columns:1.55fr .75fr;gap:1.3rem;padding:1.35rem 0}.cover-story{position:relative;min-height:470px;border:4px solid var(--ink);background:linear-gradient(135deg,#21385d,#071120 72%);color:#fff;overflow:hidden;box-shadow:var(--shadow)}.cover-story:before{content:'101010 1984 486DX2 68040 PENTIUM GEFORCE';position:absolute;inset:0;color:rgba(255,255,255,.075);font:900 2.2rem/1.35 monospace;transform:rotate(-8deg) scale(1.2);letter-spacing:.25rem}.cover-copy{position:absolute;inset:auto 0 0;padding:2rem;background:linear-gradient(transparent,rgba(0,0,0,.88))}.kicker{display:inline-block;background:var(--red);color:#fff;padding:.35rem .55rem;font:900 .72rem/1 Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase}.cover-story h1{font:900 clamp(2.5rem,5.8vw,6.4rem)/.82 Impact,Haettenschweiler,sans-serif;text-transform:uppercase;letter-spacing:-.03em;margin:.45rem 0}.cover-story p{font:700 1rem/1.45 Arial,sans-serif;max-width:720px}.pixel-rig{position:absolute;right:4%;top:7%;width:45%;aspect-ratio:1.25;border:4px solid #fff;background:#c9c5b6;box-shadow:12px 12px 0 rgba(0,0,0,.42);transform:rotate(3deg)}.pixel-rig:before{content:'';position:absolute;left:10%;top:10%;width:78%;height:48%;border:4px solid #171515;background:linear-gradient(135deg,#092a36,#00a6a6);box-shadow:inset 0 0 0 8px #59544b}.pixel-rig:after{content:'';position:absolute;left:17%;bottom:12%;width:66%;height:18%;border:4px solid #171515;background:repeating-linear-gradient(90deg,#e9e2cb 0 10px,#b5ae99 10px 12px)}
.side-stack{display:grid;gap:1rem}.burst{border:4px solid var(--ink);background:var(--cyan);color:#fff;padding:1.1rem;box-shadow:var(--shadow)}.burst h2{font:900 2.2rem/.9 Impact,sans-serif;text-transform:uppercase;margin:.2rem 0}.burst.yellow{background:var(--yellow);color:var(--ink)}.burst.paper{background:var(--paper2);color:var(--ink)}
.section{padding:1.5rem 0}.section-head{display:flex;align-items:end;justify-content:space-between;border-bottom:4px solid var(--ink);margin-bottom:1rem;gap:1rem}.section-head h2{font:900 clamp(1.8rem,4vw,3.5rem)/.95 Impact,sans-serif;text-transform:uppercase;margin:0 0 .35rem}.section-head span{font:800 .72rem/1.3 Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.6rem}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.card{border:2px solid var(--ink);background:var(--paper2);padding:1rem;box-shadow:3px 3px 0 rgba(23,21,21,.85);min-width:0}.card .eyebrow{font:900 .67rem/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:var(--red)}.card h3{font:900 1.45rem/1.05 Arial,sans-serif;margin:.4rem 0 .55rem}.card p{margin:.4rem 0}.card .meta{font:700 .7rem/1.4 Arial,sans-serif;text-transform:uppercase;color:var(--muted)}.card .read-more{display:inline-block;margin-top:.5rem;font:900 .72rem/1 Arial,sans-serif;text-transform:uppercase;background:var(--ink);color:#fff;padding:.5rem .7rem;text-decoration:none}.card .read-more:hover{background:var(--red)}
.topic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.topic{border:3px solid var(--ink);padding:1rem;background:var(--paper2);text-decoration:none;color:var(--ink);min-height:145px;position:relative;overflow:hidden}.topic:after{content:attr(data-code);position:absolute;right:-3px;bottom:-15px;font:900 4.5rem/1 Impact,sans-serif;color:rgba(0,0,0,.08)}.topic strong{display:block;font:900 1.5rem/1 Impact,sans-serif;text-transform:uppercase}.topic small{font:700 .74rem/1.35 Arial,sans-serif;text-transform:uppercase}.topic:nth-child(4n+1){border-top:10px solid var(--red)}.topic:nth-child(4n+2){border-top:10px solid var(--cyan)}.topic:nth-child(4n+3){border-top:10px solid var(--yellow)}.topic:nth-child(4n+4){border-top:10px solid var(--blue)}
.news-desk{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.feed-panel{border:3px solid var(--ink);background:#fff;padding:1rem}.feed-panel h3{font:900 1.75rem/1 Impact,sans-serif;text-transform:uppercase;margin:0 0 .7rem;border-bottom:2px solid var(--ink);padding-bottom:.45rem}.feed-list{list-style:none;margin:0;padding:0}.feed-list li{padding:.65rem 0;border-bottom:1px dotted #888}.feed-list a{font:800 .95rem/1.25 Arial,sans-serif;text-decoration:none}.feed-time{display:block;color:var(--muted);font:700 .65rem/1.4 Arial,sans-serif;text-transform:uppercase;margin-top:.25rem}.feed-error{font-style:italic;color:#6b2e2e}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:1.4rem;padding:1.5rem 0}.article{background:var(--paper2);border:2px solid var(--ink);padding:clamp(1rem,3vw,2.2rem)}.article h1{font:900 clamp(2.2rem,5vw,4.8rem)/.9 Impact,sans-serif;text-transform:uppercase;margin:.2rem 0 1rem}.article h2{font:900 2rem/1 Impact,sans-serif;text-transform:uppercase;border-bottom:3px solid var(--ink);padding-bottom:.25rem}.article table{width:100%;border-collapse:collapse;display:block;overflow:auto}.article th,.article td{border:1px solid var(--ink);padding:.5rem;text-align:left}.article th{background:var(--yellow)}.sidebar .widget{background:var(--paper2);border:2px solid var(--ink);padding:1rem;margin-bottom:1rem}.widget-title{font:900 1.3rem/1 Impact,sans-serif;text-transform:uppercase;margin:0 0 .7rem}.archive-title{font:900 clamp(2.5rem,7vw,6rem)/.85 Impact,sans-serif;text-transform:uppercase;margin:1.2rem 0}.pagination{display:flex;gap:.4rem;margin:1.5rem 0}.pagination a,.pagination span{border:2px solid var(--ink);padding:.45rem .7rem;background:#fff;text-decoration:none}.pagination .current{background:var(--ink);color:#fff}
.spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:1rem 0}.spec{border:1px solid var(--ink);padding:.55rem;background:#fff}.spec b{display:block;font:800 .66rem/1.3 Arial,sans-serif;text-transform:uppercase;color:var(--muted)}
.site-footer{margin-top:2rem;border-top:5px solid var(--ink);background:var(--ink);color:#eee;padding:2rem 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem}.site-footer a{color:#fff}.site-footer h3{font:900 1.2rem/1 Impact,sans-serif;text-transform:uppercase;color:var(--yellow)}.fineprint{font:700 .68rem/1.5 Arial,sans-serif;color:#bbb;margin-top:1rem;border-top:1px solid #444;padding-top:1rem}
@media(max-width:900px){.hero,.content-layout{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}.topic-grid{grid-template-columns:repeat(2,1fr)}.news-desk{grid-template-columns:1fr}.mast-grid{grid-template-columns:1fr}.issue-box{justify-self:start}.footer-grid{grid-template-columns:1fr 1fr}.nav-search{display:none}}
@media(max-width:650px){.brand{font-size:3.3rem}.grid,.topic-grid,.footer-grid,.spec-grid{grid-template-columns:1fr}.menu-toggle{display:block;margin:.5rem 0}.main-nav{display:none;width:100%}.main-nav.open{display:block}.main-nav ul{display:block}.navbar .wrap{flex-wrap:wrap}.cover-story{min-height:520px}.pixel-rig{width:72%;top:7%;right:8%}.cover-copy{padding:1.2rem}.cover-story h1{font-size:3rem}.ticker-inner{animation:none;overflow:auto}.content-layout{padding-top:1rem}}
