:root{
  /* Palette tokens derived from royal blue + powder rose */
  --bg: #060913;
  --bg-2: #091a3a;
  --text: #eaf2ff;
  --muted: #a6b3d9;
  --accent: #4169e1;      /* royal blue */
  --accent-2: #e0b3cf;    /* powder rose */
  --rose: #e9ccd7;
  --surface: rgba(255,255,255,0.08);
  --border: rgba(255,255,255,0.28);
  --shadow: 0 6px 18px rgba(0,0,0,.35);
  --glass-fallback: rgba(255,255,255,0.14);
}

*,
*::before,
*::after{ box-sizing:border-box; }

html, body{ height:100%; }

html{
  background: #05070f;
  color: var(--text);
}

body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", sans-serif;
  font-size: clamp(14px, 2.2vw, 16px);
  line-height: 1.5;
  color: var(--text);
  min-height:100dvh;

  /* Layered background: gradient + subtle honeycomb (CSS-only) + noise-like overlay */
  background-color: var(--bg);
  background-image:
    radial-gradient(circle at 15% 8%, rgba(65,105,225,.20) 0 15%, transparent 16%),
    linear-gradient(135deg, rgba(6,9,27,.95), rgba(6,9,27,.75) 40%, rgba(6,9,27,.95) 100%),
    /* hex honeycomb hint layer (soft) */;
  background-blend-mode: normal, overlay;
  position: relative;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body::before{
  /* subtle scanlines/noise overlay for depth, respect prefers-reduced-motion via opacity init */
  content:"";
  position: fixed;
  inset: 0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 100% 3px, 3px 100%;
  mix-blend-mode: overlay;
  opacity:.25;
}

/* Layout helpers */
.container{ width:100%; max-width: clamp(320px, 92vw, 1100px); margin-inline:auto; padding: 0 1rem; }

.grid{ display:grid; gap:1rem; }

.card, .image-frame, .product-ad, header, footer{
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: var(--shadow);
}

.header-glass, header, nav{ background: rgba(5,8,20,.32); border:1px solid rgba(255,255,255,.25); border-radius:12px; }

/* Section base styling */
header{ padding: .75rem 1rem; text-align:center; margin: 0.75rem auto; }
header h1{ font-size: clamp(1.4rem, 4vw, 2rem); margin:.25rem 0; line-height:1.15; color:var(--text); }

nav{ display:flex; justify-content:center; gap:.5rem; margin-top:.25rem; }
nav a{ color:var(--text); text-decoration:none; padding:.25rem .5rem; border-radius:6px; border:1px solid rgba(255,255,255,.25); background: rgba(0,0,0,.15); }
nav a:focus-visible{ outline:3px solid var(--accent-2); outline-offset:2px; }

/* Main content area */
main{ padding: .5rem 0; }

article{ display:block; padding: .5rem; }

/* Image frame styling */
.image-frame{ aspect-ratio:16/9; overflow:hidden; border-radius:14px; border:1px solid rgba(255,255,255,.28); background:#111; display:block; width:100%; }
.image-frame img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Content section helpers */
.content{ padding:1rem; color:var(--text); }

/* Product ad / CTA blocks */
.product-ad{ padding: .5rem; display:flex; align-items:center; justify-content:center; text-align:center; }
.product-ad a{ display:inline-flex; align-items:center; gap:.5rem; padding:.6rem 1rem; border-radius:999px; background: rgba(65,105,225,.92); color:#fff; border:1px solid rgba(255,255,255,.6); text-decoration:none; font-weight:600; }
.product-ad a:hover{ transform: translateY(-1px); }

/* Sponsored section (secondary CTA) */
.sponsored-page{ padding:.5rem; display:flex; justify-content:center; }
.sponsored-page a{ display:inline-flex; align-items:center; gap:.5rem; padding:.5rem 1rem; border-radius:999px; background: rgba(0,0,0,.25); color:#fff; text-decoration:none; border:1px solid rgba(255,255,255,.4); }

/* Typography adjustments for hierarchy */
h2, h3{ color:var(--text); margin: .25rem 0; }

/* Links and interactive elements */
a, button, .btn, .cta{ outline: none; color: inherit; text-decoration: none; }

/* Button variants */
.btn{ display:inline-flex; align-items:center; justify-content:center; padding:.8rem 1.25rem; border-radius:8px; border:1px solid rgba(255,255,255,.4); background: rgba(65,105,225,.95); color:#fff; font-weight:600; cursor:pointer; transition: transform .2s ease, background .2s ease; }
.btn:hover{ transform: translateY(-1px); }
.btn:active{ transform: translateY(0); }
.btn.outline{ background: transparent; color:var(--text); border:1px solid rgba(65,105,225,.9); }
.btn.outline:hover{ background: rgba(65,105,225,.15); }

/* Focus states for accessibility */
:focus-visible{ outline:2px solid var(--accent-2); outline-offset:2px; border-radius:4px; }

/* Lists */
ul{ padding:0; margin:0; list-style:none; display:flex; gap:.5rem; flex-wrap:wrap; }
li{ margin:0; }

/* Utility/foundation classes required by the prompt */
.container{ padding-block: .5rem; }
.grid{ grid-template-columns: 1fr; }
.card{ padding: .75rem; }

/* Tag styling */
.tag{ display:inline-block; font-size:.75rem; padding:.2rem .5rem; border-radius:999px; background: rgba(65,105,225,.25); color:#fff; border:1px solid rgba(255,255,255,.4); }

/* Form controls (present for completeness) */
input, textarea, select{ background: rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.25); color:var(--text); padding:.5rem; border-radius:6px; }

/* Responsive tweaks */
@media (min-width: 520px){
  .grid{ grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
}
@media (min-width: 860px){
  header{ padding: 1rem 1.25rem; }
  main{ padding: 1rem 0; }
  .container{ padding-inline: 0; }
}

/* Glass panel fallback if backdrop-filter not supported */
@supports not (backdrop-filter: blur(8px)){
  .card, .image-frame, header, footer, .product-ad{ background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.4); }
}
@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; transform:none !important; }
}
@media print{
  body{ background: #fff; color:#000; }
  header, main, footer{ background: transparent; border: none; box-shadow: none; }
}
