/*
Theme Name: Neon Arcology
Theme URI: https://example.com/neon-arcology
Author: Your Name
Description: A cyberpunk, turn-of-the-century WordPress theme with pixel-era interface details.
Version: 0.1.0
Text Domain: neon-arcology
Tags: blog, custom-logo, custom-menu, featured-images, cyberpunk
*/

:root {
  --void: #070810;
  --panel: #101525;
  --panel-2: #161d31;
  --line: #43506f;
  --ink: #d5e8e7;
  --muted: #8f9ba8;
  --cyan: #48ffe1;
  --magenta: #ff45bd;
  --acid: #dcff4e;
  --amber: #ffbd44;
  --display: "Courier New", Courier, monospace;
  --body: Arial, Helvetica, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  font-family: var(--body);
  background-color: var(--void);
  background-image:
    linear-gradient(rgba(72,255,225,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(72,255,225,.025) 1px, transparent 1px),
    radial-gradient(circle at 30% 0%, #202a4b 0, transparent 35rem);
  background-size: 24px 24px, 24px 24px, auto;
}
body:before { content:""; pointer-events:none; position:fixed; inset:0; z-index:20; opacity:.16; background:repeating-linear-gradient(0deg, transparent 0 2px, rgba(0,0,0,.46) 3px 4px); mix-blend-mode:overlay; }
a { color: var(--cyan); text-decoration-thickness: 2px; text-underline-offset: 3px; }
a:hover { color: var(--acid); }
img { max-width:100%; height:auto; }
button, input, textarea, select { font: inherit; }

.site-shell { width:min(1180px, calc(100% - 2rem)); margin: 1.5rem auto 3rem; border:2px solid var(--line); box-shadow: 8px 8px 0 rgba(255,69,189,.22), -2px -2px 0 rgba(72,255,225,.25); background:rgba(7,8,16,.92); }
.utility-bar { display:flex; justify-content:space-between; gap:1rem; padding:.55rem .85rem; background:var(--cyan); color:#041011; font:700 .75rem var(--display); text-transform:uppercase; letter-spacing:.08em; }
.site-header { padding:1.25rem clamp(1rem, 4vw, 3rem); border-bottom:2px solid var(--line); background:linear-gradient(115deg, #141b32, #090b14 55%, #24112d); }
.brand { display:flex; align-items:end; justify-content:space-between; gap:1rem; }
.site-title { margin:0; font:900 clamp(2rem, 8vw, 5.6rem)/.82 var(--display); letter-spacing:-.12em; text-transform:uppercase; text-shadow:4px 0 var(--magenta), 8px 0 rgba(72,255,225,.38); }
.site-title a { color:#fff; text-decoration:none; }
.site-description { max-width:28rem; margin:.8rem 0 0; color:var(--acid); font:700 .75rem/1.4 var(--display); letter-spacing:.05em; text-transform:uppercase; }
.pixel-sun { flex:0 0 auto; width:76px; height:76px; border:5px solid var(--amber); background:repeating-linear-gradient(0deg, #ff4fae 0 7px, #ee1d81 7px 12px); box-shadow:6px 6px 0 var(--magenta); }
.primary-nav { margin-top:1.5rem; border-top:1px solid var(--line); padding-top:.8rem; }
.primary-nav ul { display:flex; flex-wrap:wrap; gap:.35rem; padding:0; margin:0; list-style:none; }
.primary-nav a { display:block; padding:.55rem .7rem; border:1px solid var(--line); color:var(--ink); font:700 .78rem var(--display); text-decoration:none; text-transform:uppercase; }
.primary-nav a:hover, .primary-nav .current-menu-item a { color:#071011; background:var(--cyan); border-color:var(--cyan); }

.site-main { display:grid; grid-template-columns:minmax(0, 1fr) 285px; gap:1.3rem; padding:1.3rem; }
.featured-signal { position:relative; isolation:isolate; min-height:clamp(260px, 38vw, 430px); display:flex; align-items:flex-end; overflow:hidden; padding:clamp(1.25rem, 4vw, 3rem); border:2px solid var(--magenta); background-color:#080b18; background-image:linear-gradient(90deg, rgba(6,8,16,.98) 0%, rgba(6,8,16,.9) 33%, rgba(6,8,16,.28) 68%, rgba(6,8,16,.1) 100%), var(--masthead-image); background-size:cover; background-position:center; }
.featured-signal:before { content:""; position:absolute; z-index:-1; inset:0; opacity:.68; background:linear-gradient(rgba(72,255,225,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(72,255,225,.08) 1px, transparent 1px); background-size:24px 24px; mix-blend-mode:screen; pointer-events:none; }
.featured-signal-copy { max-width:min(42rem, 72%); }
.kicker, .entry-meta, .widget-title { color:var(--acid); font:700 .72rem var(--display); text-transform:uppercase; letter-spacing:.1em; }
.featured-signal h2 { margin:.3rem 0 .6rem; font:900 clamp(1.6rem,4vw,3rem)/.9 var(--display); text-transform:uppercase; }
.featured-signal p { max-width:70ch; color:#c0ced8; }
.signal-caption { position:absolute; right:1rem; bottom:.8rem; margin:0; color:var(--cyan) !important; font:700 .62rem var(--display); letter-spacing:.08em; text-align:right; opacity:.9; }
.post-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:1rem; margin-top:1.3rem; }
.article-card, .single-entry, .widget { border:1px solid var(--line); background:rgba(16,21,37,.82); }
.article-card { padding:1rem; position:relative; overflow:hidden; }
.article-card:before { content:"//"; position:absolute; right:.7rem; top:.45rem; color:var(--magenta); font:900 1.5rem var(--display); }
.article-card-media { display:block; margin:-1rem -1rem 1rem; border-bottom:1px solid var(--line); background:#080b14; aspect-ratio:16 / 8; overflow:hidden; }
.article-card-media img { width:100%; height:100%; object-fit:cover; filter:saturate(.86) contrast(1.08); transition:transform .25s ease, filter .25s ease; }
.article-card:hover .article-card-media img { transform:scale(1.035); filter:saturate(1.12) contrast(1.1); }
.entry-title { margin:.45rem 0 .65rem; font:900 clamp(1.25rem,2.3vw,2rem)/.96 var(--display); text-transform:uppercase; }
.entry-title a { color:#fff; text-decoration:none; }
.entry-title a:hover { color:var(--cyan); }
.entry-summary { color:#b5c1c9; line-height:1.58; }
.read-more { display:inline-block; margin-top:.4rem; padding:.45rem .55rem; color:#071011; background:var(--acid); font:700 .72rem var(--display); text-decoration:none; text-transform:uppercase; }
.sidebar { display:grid; align-content:start; gap:1rem; }
.widget { padding:1rem; }
.widget-title { margin:0 0 .8rem; border-bottom:1px dashed var(--line); padding-bottom:.55rem; }
.widget ul { margin:0; padding-left:1.1rem; }
.widget li { margin:.45rem 0; }
.single-entry { padding:clamp(1rem,4vw,3rem); }
.single-entry .entry-content { color:#c7d0d7; line-height:1.75; }
.single-entry .entry-content h2, .single-entry .entry-content h3 { color:var(--cyan); font-family:var(--display); text-transform:uppercase; }
.single-entry blockquote { margin:1.5rem 0; padding:.5rem 1rem; border-left:4px solid var(--magenta); color:var(--acid); background:#0a0d18; }
.site-footer { display:flex; justify-content:space-between; gap:1rem; padding:1rem; border-top:2px solid var(--line); color:var(--muted); font:.72rem var(--display); text-transform:uppercase; }
.pagination { grid-column:1/-1; padding:1rem; border:1px solid var(--line); }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

@media (max-width: 760px) {
  .site-shell { width:calc(100% - 1rem); margin:.5rem auto 1rem; }
  .utility-bar { font-size:.62rem; }
  .brand { align-items:flex-start; }
  .pixel-sun { width:50px; height:50px; border-width:3px; }
  .site-main { grid-template-columns:1fr; padding:.75rem; }
  .post-grid { grid-template-columns:1fr; }
  .featured-signal { min-height:320px; align-items:flex-end; background-image:linear-gradient(0deg, rgba(6,8,16,.97) 0%, rgba(6,8,16,.75) 54%, rgba(6,8,16,.18) 100%), var(--masthead-image); background-position:63% center; }
  .featured-signal-copy { max-width:100%; }
  .signal-caption { right:.75rem; bottom:.65rem; }
  .site-footer { flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }
@media (prefers-reduced-motion: reduce) { .article-card-media img { transition:none; } .article-card:hover .article-card-media img { transform:none; } }

/* Core WordPress alignment helpers */
.alignwide { max-width:1100px; margin-left:auto; margin-right:auto; }
.alignfull { width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); }
.wp-caption-text { color:var(--muted); font:.75rem var(--display); }
.sticky { outline:2px solid var(--acid); }
.gallery-caption, .bypostauthor { display:block; }
