/* ============================================================
   🎨 COSMIC PASTA GAMES — NEWS PAGE THEME
   🔧 CHANGE ALL COLORS FROM THIS SINGLE SECTION.
   ============================================================ */
:root {
  --color-bg: #071A2B;
  --color-bg-deep: #04111D;
  --color-surface: #0A2238;
  --color-surface-2: #0D2D4A;
  --color-primary: #2196F3;
  --color-primary-dark: #0D47A1;
  --color-primary-light: #90CAF9;
  --color-highlight: #E3F2FD;
  --color-text: #F4FAFF;
  --color-text-soft: #D6E8F7;
  --color-muted: #8FAFC8;
  --color-line: rgba(144,202,249,.18);
  --color-line-strong: rgba(144,202,249,.38);
  --color-shadow: rgba(4,71,161,.34);
  --color-shadow-strong: rgba(33,150,243,.28);
  --color-overlay: rgba(4,17,29,.78);
  --color-accent-warm: #B3E5FC;
  --scroll-bg-blur: 75px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--color-bg-deep); }
body {
  margin: 0; min-width: 320px; overflow-x: hidden; color: var(--color-text);
  background: radial-gradient(circle at 50% -10%, rgba(33,150,243,.13), transparent 38%), var(--color-bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; }

.page-shell { width: min(1240px, calc(100% - 64px)); margin-inline: auto; }

body::before, body::after {
  content: ""; position: fixed; z-index: -3; pointer-events: none;
  width: 45vw; height: 45vw; border-radius: 50%; filter: blur(var(--scroll-bg-blur));
  will-change: transform;
}
body::before {
  top: -18vw; left: -12vw;
  background: radial-gradient(circle, rgba(33,150,243,.25), rgba(33,150,243,.05) 38%, transparent 70%);
  transform: translate3d(0, calc(var(--scroll-y,0px) * .12), 0);
}
body::after {
  right: -14vw; bottom: -20vw;
  background: radial-gradient(circle, rgba(144,202,249,.18), rgba(13,71,161,.08) 42%, transparent 72%);
  transform: translate3d(0, calc(var(--scroll-y,0px) * -.08), 0);
}

/* HEADER */
.site-header {
  position: fixed; inset: 0 0 auto; z-index: 50;
  display: flex; align-items: center; justify-content: space-between;
  padding: 22px 32px; border-bottom: 1px solid transparent; transition: .35s ease;
}
.site-header.scrolled {
  padding-block: 14px; background: rgba(4,17,29,.76);
  border-bottom-color: var(--color-line); backdrop-filter: blur(18px);
  box-shadow: 0 14px 50px rgba(4,17,29,.25);
}
.brand { display: inline-flex; align-items: center; gap: 10px; }
.brand-symbol {
  width:36px; height:36px; display:grid; place-items:center;
  border:1px solid var(--color-primary); background:rgba(33,150,243,.12);
  color:var(--color-highlight); font-size:12px; font-weight:900;
}
.brand-copy { display:grid; line-height:.9; }
.brand-copy strong { font-size:12px; letter-spacing:.13em; }
.brand-copy small { margin-top:5px; color:var(--color-primary-light); font-size:8px; letter-spacing:.35em; }
.desktop-nav { display:flex; gap:28px; }
.desktop-nav a {
  position:relative; padding:8px 0; color:var(--color-muted);
  font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
}
.desktop-nav a::after {
  content:""; position:absolute; left:0; right:100%; bottom:0; height:1px;
  background:var(--color-primary-light); transition:right .25s;
}
.desktop-nav a:hover, .desktop-nav a.active { color:var(--color-highlight); }
.desktop-nav a:hover::after, .desktop-nav a.active::after { right:0; }
.menu-toggle {
  display:none; width:42px; height:42px; border:1px solid var(--color-line);
  background:rgba(10,34,56,.72); color:var(--color-text); cursor:pointer;
}
.menu-toggle span { display:block; width:16px; height:1px; margin:5px auto; background:currentColor; }
.mobile-menu {
  position:fixed; inset:74px 16px auto; z-index:49; display:none; padding:14px;
  border:1px solid var(--color-line); background:rgba(4,17,29,.96); backdrop-filter:blur(20px);
}
.mobile-menu.open { display:grid; }
.mobile-menu a {
  padding:15px 12px; border-bottom:1px solid var(--color-line);
  color:var(--color-text-soft); font-size:12px; letter-spacing:.14em; text-transform:uppercase;
}

/* HERO */
.news-hero {
  min-height:68svh; position:relative; display:flex; align-items:end; overflow:hidden;
  padding:0 0 92px; border-bottom:1px solid var(--color-line);
  background:radial-gradient(circle at 70% 30%,rgba(33,150,243,.22),transparent 18%),linear-gradient(145deg,var(--color-bg-deep),var(--color-surface));
}
.hero-grid {
  position:absolute; inset:0; opacity:.20;
  background-image:linear-gradient(rgba(144,202,249,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(144,202,249,.09) 1px,transparent 1px);
  background-size:80px 80px;
  transform:translate3d(0,calc(var(--scroll-y,0px)*-.03),0);
}
.hero-grid::after {
  content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 50% 45%,transparent 0 11%,rgba(33,150,243,.12) 11.2%,transparent 11.6% 20%,rgba(144,202,249,.08) 20.2%,transparent 20.7%);
}
.hero-content { position:relative; }
.eyebrow { margin:0 0 18px; color:var(--color-primary-light); font-size:10px; font-weight:800; letter-spacing:.2em; }
.news-hero h1 {
  margin:0; font-size:clamp(5rem,12vw,12rem); line-height:.78; letter-spacing:-.08em;
}
.news-hero h1 span { color:transparent; -webkit-text-stroke:1px rgba(227,242,253,.72); }
.hero-copy { max-width:470px; margin:34px 0 0; color:var(--color-text-soft); line-height:1.75; font-size:15px; }
.hero-code { position:absolute; right:32px; bottom:30px; color:var(--color-muted); font-size:8px; font-weight:800; letter-spacing:.17em; }

/* ARCHIVE */
.section { padding:110px 0; }
.news-archive { border-bottom:1px solid var(--color-line); }
.archive-head {
  display:flex; justify-content:space-between; gap:40px; align-items:end;
  padding-bottom:35px; border-bottom:1px solid var(--color-line);
}
.archive-head h2 {
  margin:0; font-size:clamp(3.5rem,7vw,7rem); line-height:.8; letter-spacing:-.07em;
}
.archive-tools { display:grid; gap:18px; justify-items:end; }
.archive-tools > span { color:var(--color-primary-light); font-size:25px; font-weight:800; letter-spacing:-.04em; }
.filters { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.filter {
  padding:9px 12px; border:1px solid var(--color-line); background:transparent;
  color:var(--color-muted); font-size:8px; font-weight:800; letter-spacing:.13em;
  text-transform:uppercase; cursor:pointer; transition:.25s;
}
.filter:hover, .filter.active {
  border-color:var(--color-primary); background:rgba(33,150,243,.12);
  color:var(--color-highlight); box-shadow:0 8px 28px rgba(33,150,243,.10);
}

.news-list { margin-top:20px; }
.news-item {
  display:grid; grid-template-columns:170px minmax(0,1fr) 90px; gap:32px;
  align-items:center; padding:28px 0; border-bottom:1px solid var(--color-line);
  transition:.3s ease;
}
.news-item:hover { padding-inline:14px; background:rgba(33,150,243,.045); }
.news-date { color:var(--color-muted); font-size:9px; font-weight:800; letter-spacing:.12em; }
.news-type { display:block; margin-top:8px; color:var(--color-primary-light); font-size:7px; letter-spacing:.14em; text-transform:uppercase; }
.news-body h3 { margin:0; font-size:clamp(1.4rem,2.7vw,2.5rem); letter-spacing:-.04em; }
.news-body p { max-width:700px; margin:10px 0 0; color:var(--color-muted); font-size:12px; line-height:1.7; }
.news-arrow {
  justify-self:end; width:45px; height:45px; display:grid; place-items:center;
  border:1px solid var(--color-line); color:var(--color-primary-light); transition:.25s;
}
.news-item:hover .news-arrow { background:var(--color-primary); color:var(--color-highlight); border-color:var(--color-primary); transform:translateX(5px); }
.empty-state { padding:60px 0; text-align:center; color:var(--color-muted); }

/* CTA */
.news-cta { padding-top:140px; padding-bottom:150px; }
.cta-panel {
  display:grid; grid-template-columns:1.1fr .9fr; gap:60px; align-items:end;
  padding:55px; border:1px solid var(--color-line);
  background:radial-gradient(circle at 80% 20%,rgba(33,150,243,.14),transparent 25%),var(--color-surface);
  box-shadow:0 35px 100px rgba(4,17,29,.3);
}
.cta-panel h2 { margin:0; font-size:clamp(3.5rem,7vw,7rem); line-height:.8; letter-spacing:-.07em; }
.cta-panel h2 span { color:transparent; -webkit-text-stroke:1px rgba(227,242,253,.7); }
.cta-copy p { max-width:450px; color:var(--color-text-soft); line-height:1.75; font-size:13px; }
.cta-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.button {
  display:inline-flex; align-items:center; gap:12px; min-height:45px; padding:0 16px;
  border:1px solid var(--color-line-strong); color:var(--color-text-soft);
  font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; transition:.25s;
}
.button:hover { border-color:var(--color-primary-light); color:var(--color-highlight); transform:translateY(-2px); }
.button-primary { background:var(--color-primary); border-color:var(--color-primary); color:var(--color-highlight); box-shadow:0 14px 40px var(--color-shadow-strong); }
.button-primary:hover { background:var(--color-highlight); border-color:var(--color-highlight); color:var(--color-primary-dark); }

/* FOOTER */
.site-footer { background:var(--color-bg-deep); }
.footer-main { display:flex; justify-content:space-between; gap:60px; padding:90px 0; }
.footer-line { margin-top:20px; color:var(--color-muted); font-size:12px; }
.footer-columns { display:grid; grid-template-columns:repeat(3,150px); gap:30px; }
.footer-columns > div { display:grid; align-content:start; gap:10px; }
.footer-label { margin-bottom:8px; color:var(--color-primary-light); font-size:8px; font-weight:900; letter-spacing:.18em; }
.footer-columns a { color:var(--color-muted); font-size:11px; transition:color .2s; }
.footer-columns a:hover { color:var(--color-highlight); }
.footer-bottom {
  display:flex; justify-content:space-between; padding:18px 0 24px;
  border-top:1px solid var(--color-line); color:var(--color-muted);
  font-size:8px; font-weight:800; letter-spacing:.14em;
}

/* REVEAL */
.reveal { opacity:0; transform:translateY(22px); transition:opacity .75s ease,transform .75s ease; }
.reveal.visible { opacity:1; transform:none; }

@media(max-width:900px) {
  .desktop-nav { display:none; }
  .menu-toggle { display:block; }
  .page-shell { width:min(100% - 36px,720px); }
  .archive-head { display:block; }
  .archive-tools { justify-items:start; margin-top:35px; }
  .filters { justify-content:flex-start; }
  .cta-panel { grid-template-columns:1fr; padding:35px; }
}
@media(max-width:620px) {
  .site-header { padding:16px 18px; }
  .page-shell { width:calc(100% - 32px); }
  .news-hero { min-height:65svh; padding-bottom:70px; }
  .news-hero h1 { font-size:clamp(4.3rem,18vw,7rem); }
  .hero-code { right:18px; bottom:18px; font-size:7px; }
  .section { padding:80px 0; }
  .news-item { grid-template-columns:1fr 42px; gap:15px; }
  .news-date { grid-column:1/-1; }
  .news-body p { font-size:11px; }
  .cta-panel { padding:28px; }
  .footer-main { display:block; padding:70px 0; }
  .footer-columns { margin-top:50px; grid-template-columns:1fr 1fr; }
  .footer-columns > div:last-child { grid-column:1/-1; }
  .footer-bottom { display:block; line-height:2; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .reveal { opacity:1; transform:none; transition:none; }
}
