:root{
  --bg: #0b0022;
  --bg-2: #2a0a4f;
  --bg-3: #3a0d6b;
  --text: #f6f3ff;
  --muted: #c9b8d8;
  --surface: rgba(18, 6, 38, 0.22);
  --surface-2: rgba(18, 6, 38, 0.32);
  --accent: #ff6a00;
  --accent-2: #7c4dff;
  --glass-border: rgba(183, 120, 255, 0.45);
  --shadow: 0 8px 24px rgba(0,0,0,.25);
  --focus: 2px solid #fff;
}
*,
*::before,
*::after{ box-sizing: border-box; }
html, body{ height: 100%; }
html{ font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif; }
body{
  margin: 0;
  color: var(--text);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  background: 
    radial-gradient(circle at 15% 20%, rgba(255,255,255,.08) 0 2px, transparent 4px),
    radial-gradient(circle at 75% 70%, rgba(255,255,255,.05) 0 2px, transparent 4px),
    linear-gradient(135deg, rgba(40,0,70,.95) 0%, rgba(6,0,20,.95) 60%, rgba(4,0,20,.95) 100%),
    repeating-linear-gradient(to bottom, rgba(255,255,255,.04) 0 1px, transparent 1px 2px);
  background-blend-mode: overlay, overlay, normal, normal;
}
@media (prefers-color-scheme: light){
  body{ color: #111; background: #fff; }
}
a{ color: inherit; text-decoration: none; }
a:focus-visible{ outline: 2px solid #fff; outline-offset: 2px; }
a:hover{ text-decoration: underline; }

header{ padding: 1.25rem; text-align: center; display: grid; gap: .5rem; place-items: center; }
header h1{ font-size: clamp(1.6rem, 2.2vw + 1rem, 3.6rem); line-height: 1.08; margin: 0; font-weight: 700; text-wrap: balance; color: var(--text); text-shadow: 0 1px 0 rgba(0,0,0,.25); }
header .meta{ font-size: clamp(0.75rem, 1.2vw, 0.9rem); color: var(--muted); }
nav a{ display:inline-flex; align-items:center; gap:.4rem; padding:.4rem .8rem; border-radius:6px; border:1px solid rgba(183,120,255,.45); background: rgba(18,6,38,.22); color: var(--text); }
nav a:hover, nav a:focus-visible{ text-decoration: underline; outline: 2px solid rgba(183,120,255,.9); outline-offset: 2px; }

main{ padding: 0 1rem; }
.container{ max-width: clamp(680px, 88vw, 1120px); margin: 0 auto; padding: 0 0.5rem; }

.image-frame, .featured-image{ border-radius: 14px; overflow: hidden; border: 1px solid rgba(183,120,255,.45); box-shadow: var(--shadow); background: rgba(10,0,30,.25); }
.image-frame{ aspect-ratio: 16/9; width: 100%; display: block; }
.image-frame img{ width: 100%; height: 100%; object-fit: cover; display: block; }

.content{ padding: 0.75rem 0; }
article{ display: block; }

h2, h3{ color: var(--text); }
h2{ font-size: clamp(1.25rem, 0.8rem + 2vw, 2.25rem); margin: .75rem 0 .25rem; }
h3{ font-size: clamp(1.05rem, 0.8vw + 1rem, 1.5rem); margin: .75rem 0; }

p{ color: var(--text); opacity: .95; margin: .5rem 0; font-size: clamp(1rem, 0.8vw + .9rem, 1.15rem); }

ul, ol{ padding-left: 1.25rem; margin: .5rem 0 1rem; }
li{ margin: .25rem 0; }

.product-ad{ margin: 1rem 0; padding: .75rem; border-radius: 12px; background: rgba(18,6,38,.22); border: 1px solid rgba(183,120,255,.4); box-shadow: var(--shadow); }
.product-ad a{ display: block; padding: .75rem; color: var(--text); border-radius: 8px; border: 1px solid rgba(255,255,255,.15); background: rgba(12,0,40,.25); }
.product-ad a:hover{ background: rgba(12,0,40,.35); text-decoration: underline; }

footer{ padding: 1rem; text-align: center; }
footer .sponsored-page{ display:inline-block; margin: .25rem; padding: .5rem 1rem; border-radius: 999px; background: rgba(0,0,0,.25); border: 1px solid rgba(255,255,255,.15); }
footer p{ font-size: .85rem; color: var(--muted); margin-top: .5rem; }

.grid{ display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.card{ padding: 1rem; border-radius: 12px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04); }
.tag{ display:inline-block; padding:.25em .6em; font-size:.75rem; border-radius:999px; background: rgba(124,77,255,.35); border:1px solid rgba(124,77,255,.8); color:#fff; }

.btn, .cta{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.65rem 1rem; border-radius:8px; font-weight:600; letter-spacing:.2px; cursor:pointer; transition: transform .2s ease, opacity .2s ease; border:1px solid rgba(255,255,255,.4); }
.btn{ background: linear-gradient(135deg, #7a4dff, #ff6a00); color: white; text-shadow: 0 1px 0 rgba(0,0,0,.25); }
.btn:hover{ transform: translateY(-1px); opacity:.98; }
.btn:focus-visible{ outline: 2px solid #fff; outline-offset: 2px; }
.cta{ background: transparent; color: var(--text); border:1px solid rgba(124,77,255,.8); }
.cta:hover{ background: rgba(124,77,255,.15); }

.clear{ clear: both; }

.glass{ 
  background: rgba(18,6,38,.22);
  border: 1px solid var(--glass-border);
  border-radius: 14px;
  padding: 1rem;
  box-shadow: var(--shadow);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: var(--text);
}
@supports not (backdrop-filter: blur(12px)) {
  .glass{ background: rgba(18,6,38,.48); }
}

@media (prefers-reduced-motion: reduce){
  * { animation: none !important; transition: none !important; }
}
@media print{
  body{ color: #000; background: #fff; }
  a{ text-decoration: underline; color: #000; }
  .image-frame{ border: 1px solid #000; }
}
