:root {
  color-scheme: dark;
  --bg: #090b1d;
  --surface: #151936;
  --text: #f4f2ff;
  --muted: #c3c6e5;
  --accent: #9dc8ff;
  --focus: #ffd791;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: radial-gradient(circle at top, #1d2455 0, var(--bg) 48rem);
  color: var(--text);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
}

a { color: var(--accent); }
a:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }

.shell { width: min(100% - 2rem, 48rem); margin: 0 auto; }

header { border-bottom: 1px solid #363c70; background: rgba(9, 11, 29, .84); }
.brand { display: inline-block; padding: 1.15rem 0 .35rem; color: var(--text); font-weight: 700; text-decoration: none; }
nav { display: flex; flex-wrap: wrap; gap: .25rem 1rem; padding: .35rem 0 1rem; }
nav a { padding: .25rem 0; }

main { padding: 2.75rem 0 3.5rem; }
article, .panel { padding: clamp(1.25rem, 4vw, 2.5rem); border: 1px solid #363c70; border-radius: 1rem; background: rgba(21, 25, 54, .88); box-shadow: 0 1rem 3rem rgba(0, 0, 0, .22); }
h1, h2 { line-height: 1.2; }
h1 { margin-top: 0; font-size: clamp(2rem, 6vw, 3.4rem); }
h2 { margin-top: 2.25rem; font-size: 1.3rem; }
.lede { max-width: 42rem; color: var(--muted); font-size: 1.12rem; }
.actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.button { display: inline-block; padding: .65rem 1rem; border-radius: .55rem; background: #4f71b8; color: white; font-weight: 700; text-decoration: none; }
.note { padding: 1rem; border-left: .25rem solid var(--accent); background: #10142e; }
footer { padding: 1.5rem 0 2.5rem; color: var(--muted); font-size: .9rem; }

@media (max-width: 34rem) {
  .shell { width: min(100% - 1.25rem, 48rem); }
  main { padding-top: 1.25rem; }
  article, .panel { border-radius: .75rem; }
}
