:root{
  --bg: #040e1a;
  --bg-2: #0a1420;
  --text: #eaffff;
  --muted: #a4b8cc;
  --accent: #00e6ff;
  --accent-2: #a25aff;
  --card: rgba(255,255,255,0.08);
  --card-border: rgba(255,255,255,0.28);
  --shadow: 0 6px 20px rgba(0,0,0,.25);
  --focus: 0 0 0 4px rgba(0,230,255,.25);
}
*,*::before,*::after{ box-sizing:border-box; }
html,body{ height:100%; }
html{ color-scheme: dark; }
body{
  margin:0;
  min-height:100dvh;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Inter, Arial;
  color: var(--text);
  line-height: 1.5;
  background:
    linear-gradient(135deg, rgba(0,230,255,.08), rgba(163,90,255,.08)),
    radial-gradient(circle at 20% 0%, rgba(0,230,255,.15), transparent 40%),
    repeating-linear-gradient(to bottom, rgba(0,230,255,.04) 0 1px, transparent 1px 2px),
    linear-gradient(#04060e,#04060e);
  background-blend-mode: overlay, overlay, overlay, normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
header, main, article, aside, nav, footer{ display:block; }
.container{ width: min(100%, 1100px); margin-inline: auto; padding-inline: 1rem; }
.grid{ display:grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap:1rem; }
.card{ background: var(--card); border:1px solid var(--card-border); border-radius:12px; padding:1rem; box-shadow: var(--shadow); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
@supports not (backdrop-filter: blur(12px)){ .card{ background: rgba(255,255,255,.14); } }
.glass{ background: rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.28); border-radius:12px; padding:1rem; color:var(--text); box-shadow: var(--shadow); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
@supports not (backdrop-filter: blur(10px)){ .glass{ background: rgba(255,255,255,.14); } }

/* Typography & layout */
h1, h2, h3{ margin:0 0 .5rem; font-weight:700; letter-spacing:.2px; }
h1{ font-size: clamp(1.75rem, 4vw + 0.5rem, 3.5rem); line-height:1.04; color: #eaffff; text-shadow: 0 0 14px rgba(0,255,255,.55); }
h2{ font-size: clamp(1.6rem, 2vw + 1rem, 2.4rem); color: #eaffff; }
h3{ font-size: clamp(1rem, 1.2vw + .8rem, 1.25rem); color: var(--muted); }
p{ color: #eaffff; opacity:.95; }
ul{ padding-left: 1.25rem; margin: .5rem 0; }
li{ margin:.25rem 0; }

/* Image framing & visuals */
.image-frame, .featured-image{ width:100%; border-radius:12px; overflow:hidden; border:1px solid rgba(255,255,255,.28); box-shadow:0 6px 22px rgba(0,255,255,.25); display:block; aspect-ratio:16/9; }
.image-frame img, .featured-image img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Content wrappers */
.content{ padding:.5rem 0 1rem; color:var(--text); }

/* Product ad / utility */
.product-ad{ display:block; padding:1rem; border-radius:12px; background: rgba(0,0,0,.25); border:1px solid rgba(255,255,255,.28); }
.product-ad h3{ margin:.25rem 0 0.5rem; font-size:1.05rem; }
.product-ad a{ display:inline-block; color:#eaffff; text-decoration:none; padding:.35rem .6rem; border-radius:6px; border:1px solid rgba(0,255,255,.6); background: rgba(0,255,255,.1); }
.product-ad a:hover{ text-decoration:underline; }

/* Links & buttons (interactive states) */
a{ color: var(--accent); text-decoration: none; }
a:hover, a:focus-visible{ color:#bfffff; text-decoration: underline; outline:0; }
button, .btn, .cta{ font:inherit; padding:.6rem 1rem; border-radius:8px; border:1px solid rgba(255,255,255,.28); color:#041018; background: linear-gradient(135deg, var(--accent), var(--accent-2)); cursor:pointer; transition: transform .15s ease, box-shadow .15s ease; text-align:center; display:inline-block; }
.btn{ padding:.6rem 1rem; }
.btn:hover{ transform: translateY(-1px); box-shadow:0 6px 16px rgba(0,0,0,.25); }
.btn:focus-visible, .cta:focus-visible, a:focus-visible{ outline: none; box-shadow: var(--focus), 0 0 0 1px rgba(0,0,0,.0); outline-offset:0; }
.btn--outline{ background: transparent; color: var(--text); border:1px solid rgba(0,255,255,.8); }
.cta{ background: linear-gradient(135deg, #0ff, #7a5cff); color:#041018; }
.cta:hover{ filter: brightness(1.05); }

/* Utility pills / tags */
.tag{ display:inline-block; padding:.15em .5em; font-size:.75rem; border-radius:999px; background: rgba(0,255,255,.2); color:#eaffff; border:1px solid rgba(0,255,255,.4); }

/* Layout helpers */
main{ padding:1rem; }
header{ padding:1rem 0; }
footer{ padding:1rem 0; }

/* Print styles */
@media print{
  body{ background: #fff; color:#000; }
  a{ text-decoration: underline; }
}

/* Motion preferences */
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition:none !important; transform:none !important; }
}

/* Small screens adjustments */
@media (max-width: 600px){
  .image-frame, .featured-image{ aspect-ratio: 4/3; }
  h1{ font-size: clamp(1.6rem, 6vw, 2.6rem); }
}
