/* Shared styles for RALP inner pages (home page keeps its own inline copy). */
:root {
  color-scheme: dark;
  --ink: #06070B; --glass: rgba(13, 16, 24, 0.86); --line: rgba(0, 229, 255, 0.22);
  --cyan: #00E5FF; --emerald: #00D084; --gold: #FBBF24; --muted: #8E99A8; --text: #F4F7FA;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; color: var(--text); line-height: 1.6; overflow-x: hidden;
  font-family: 'Plus Jakarta Sans', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  background:
    radial-gradient(900px 500px at 85% -10%, rgba(0, 229, 255, 0.10), transparent 60%),
    radial-gradient(800px 500px at -10% 30%, rgba(0, 208, 132, 0.07), transparent 60%),
    var(--ink);
  background-attachment: fixed;
}
.font-mono { font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace; }
h1, h2, h3 { text-wrap: balance; }
.glass {
  background: var(--glass); -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px);
  border: 1px solid var(--line); border-radius: 28px;
  box-shadow: 0 25px 60px -15px rgba(0,0,0,.8), 0 0 40px rgba(0,229,255,.06);
}
.neon-cyan { background: linear-gradient(135deg, var(--cyan), var(--emerald)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: var(--cyan); }
.btn-neon { background: linear-gradient(90deg, var(--cyan), var(--emerald)); color: var(--ink); box-shadow: 0 0 26px rgba(0,229,255,.35); transition: filter .2s, transform .2s; }
.btn-neon:hover { filter: brightness(1.1); transform: translateY(-1px); }
.icon { width: 1.1em; height: 1.1em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.live-dot { width: 8px; height: 8px; border-radius: 9999px; background: var(--emerald); display: inline-block; }
.sticky-head { top: env(safe-area-inset-top, 0px); }
input:focus-visible, select:focus-visible, textarea:focus-visible, button:focus-visible, a:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }
::selection { background: var(--cyan); color: var(--ink); }

/* Long-form legal / explainer text */
.prose-ralp { max-width: 70ch; }
.prose-ralp h2 { font-size: 1.35rem; font-weight: 800; margin: 2.4rem 0 .8rem; scroll-margin-top: 6rem; }
.prose-ralp h3 { font-size: 1.05rem; font-weight: 700; margin: 1.6rem 0 .5rem; }
.prose-ralp p, .prose-ralp li { color: #C9D2DC; font-size: .95rem; }
.prose-ralp p { margin: 0 0 1rem; }
.prose-ralp ul { margin: 0 0 1rem; padding-left: 1.2rem; list-style: disc; }
.prose-ralp ol { margin: 0 0 1rem; padding-left: 1.2rem; list-style: decimal; }
.prose-ralp li { margin: .35rem 0; }
.prose-ralp li::marker { color: var(--cyan); }
.prose-ralp a { color: var(--cyan); text-decoration: underline; text-underline-offset: 3px; }
.prose-ralp strong { color: var(--text); }
.prose-ralp table { width: 100%; border-collapse: collapse; font-size: .88rem; margin: 0 0 1.2rem; }
.prose-ralp th, .prose-ralp td { text-align: left; vertical-align: top; padding: .65rem .75rem; border-bottom: 1px solid rgba(255,255,255,.1); color: #C9D2DC; }
.prose-ralp th { font-family: 'JetBrains Mono', monospace; font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
mark.todo { background: rgba(251,191,36,.18); color: var(--gold); border: 1px dashed rgba(251,191,36,.6); border-radius: 6px; padding: 0 .3em; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .btn-neon { transition: none; } }
