/* Section: Tokens */
:root{
  --bg: #0a0f25;
  --bg-2: #0a1b3a;
  --text: #eaf6ff;
  --muted: #a9b7d4;
  --accent: #4af0ff;
  --accent-2: #7b5cff;
  --card: rgba(12,  Twenty, 40, 0.28); /* placeholder to be replaced by real numbers if needed */
  --card: rgba(14, 28, 70, 0.28);
  --card-2: rgba(8, 14, 35, 0.60);
  --border: rgba(110, 210, 255, 0.40);
  --shadow: 0 8px 28px rgba(0,0,0,.38);
  --radius: 14px;
  --focus: 0 0 0 4px rgba(64, 223, 255, 0.55);
  --grid-gap: 1rem;
  --glow: 0 0 24px rgba(64, 223, 255, 0.45);
}

/* Section: Base & Layout */
*{box-sizing:border-box}
html, body{height:100%}
html{font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans"; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale}
body{
  margin:0;
  color:var(--text);
  line-height:1.55;
  background:
    linear-gradient(135deg, rgba(0,0,0,0.25), rgba(0,0,0,0.0) 60%),
    radial-gradient(circle at 20% 0%, rgba(64, 200, 255, 0.25), transparent 25%),
    linear-gradient(to bottom right, #0a0f1b 0%, #0b1a3a 60%, #04091a 100%),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.04) 0px, rgba(255,255,255,0.04) 1px, transparent 1px, transparent 2px);
  background-blend-mode: screen, screen, normal, overlay;
  min-height:100%;
  padding:0;
  margin:0;
  color-scheme: dark;
  overflow-x:hidden;
}
a{color:var(--accent); text-decoration:none}
a:hover{ text-decoration:underline; color:var(--accent-2)}
a:focus-visible{outline:0; box-shadow:var(--focus); border-radius:6px}
button, .btn, .cta{cursor:pointer; font-family: inherit; font-weight:600; border-radius:10px; border:1px solid rgba(64,223,255,.6); background: linear-gradient(to bottom, rgba(64,223,255,.95), rgba(0,150,255,.95)); color:#001019}
button:focus-visible, .btn:focus-visible, .cta:focus-visible{outline:0; box-shadow:var(--focus);}
button:hover, .btn:hover, .cta:hover{ transform: translateY(-1px); }
button:active, .btn:active, .cta:active{ transform: translateY(0); }

.container{ width: min(92%, 1100px); margin-inline: auto; padding-block: 1rem; padding-inline: 0.75rem; }

/* Section: Glass panels (fallbacks + backdrop) */
.glass{ background: rgba(15, 25, 60, 0.22); border:1px solid rgba(110,210,255,0.40); border-radius: var(--radius); padding:1rem; box-shadow: var(--shadow); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }

/* Fallback for browsers without backdrop-filter */
@supports not (backdrop-filter: blur(1px)){
  .glass{ background: rgba(15,25,60,0.70); border-color: rgba(110,210,255,0.75); }
}
header, nav, main, article, footer, aside{ display:block }

/* Section: Typography & hero */
header{ text-align:center; padding:1.25rem 0 0.75rem; position:relative; }
header h1{ margin:.25rem auto .25rem; font-size: clamp(1.75rem, 4vw + 0.5rem, 3rem); line-height:1.15; letter-spacing:.2px; color:var(--text) }
header .meta{ font-size: .85rem; color: var(--muted); margin-top:.25rem }
nav{ margin-top:.5rem; display:flex; justify-content:center; gap:.75rem }
nav a{ padding:.4rem .75rem; border-radius:6px; color:var(--text); background: rgba(0, 0, 0, 0.25); border:1px solid rgba(110,210,255,.35); text-decoration:none }
nav a:hover{ background: rgba(0,0,0,.45); text-decoration: underline }

/* Section: Layout for content areas */
main{ padding:1rem 0 2rem; }
article{ max-width: 72ch; margin-inline:auto; padding:0 0.25rem; }
.featured-image{ margin: .75rem 0 1rem; }
.image-frame{ width:100%; aspect-ratio:16/9; overflow:hidden; border-radius:12px; border:1px solid rgba(180,230,255,.5); box-shadow: var(--glow); }
.image-frame img{ width:100%; height:100%; object-fit: cover; display:block }

/* Section: Content helpers */
.content{ color:var(--text); font-size: clamp(0.95rem, 1vw + 0.5rem, 1.1rem); line-height:1.6 }
h2, h3{ color:var(--text); margin-top:1rem; }
h2{ font-size: clamp(1.25rem, 2.6vw + 0.75rem, 2rem); }
h3{ font-size: clamp(1.05rem, 2vw + 0.6rem, 1.3rem); margin-top:.75rem; }
p{ margin: .5rem 0 1rem; }
ul, li{ margin: .25rem 0; padding:0; }
ul{ padding-left: 1.25rem; list-style: disc; }
ol{ padding-left: 1.25rem; margin: .25rem 0 1rem; }

/* Section: Cards & utility classes */
.card{ background: rgba(20, 40, 100, 0.28); border:1px solid rgba(110,210,255,0.40); border-radius: var(--radius); padding:1rem; box-shadow: var(--shadow); }
.grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--grid-gap); }
.tag{ display:inline-block; padding:.15em .5em; font-size:.75rem; border-radius:999px; background: rgba(64,223,255,.15); border:1px solid rgba(64,223,255,.40); color:#dff9ff }

/* Section: Product ad in footer */
.product-ad{ display:block; padding: .75rem; margin: .5rem 0; background: rgba(14, 28, 70, 0.28); border:1px solid rgba(110,210,255,.40); border-radius: 12px; text-align:center; }
.product-ad a{ color: var(--text); text-decoration:none; display:block }
.product-ad a p{ margin:0; font-weight:600; }

.sponsored-page{ padding: .75rem; margin: .5rem 0; background: rgba(6, 6, 20, 0.32); border:1px solid rgba(130, 110, 255, 0.40); border-radius: 12px; text-align:center; }
footer{ padding: 1rem 0 2rem; text-align:center; color:var(--muted) }

/* Section: Print styles */
@media print{
  body{ background: white; color: #000; }
  a{ color: #000; text-decoration: underline; }
  header, nav, main, article, footer{ display: block; }
  .logo{ display:none }
}

/* Section: Accessibility & motion */
@media (prefers-reduced-motion: reduce){
  *{ animation: none !important; transition: none !important; }
  .btn, .cta{ transition: none; }
}
```