/* Shared styles for Cobalt Forge Games legal pages (privacy, terms) */
:root{
  --bg:#070A12; --bg-2:#0C1220; --panel:#0E1526;
  --cobalt:#2E6BFF; --cobalt-lt:#6AA8FF; --cyan:#37E7FF;
  --text:#E8EEFF; --body:#C3CCE4; --muted:#8A96B8;
  --line:rgba(122,163,255,.16);
  --font-head:'Orbitron','Segoe UI',sans-serif;
  --font-body:'Rajdhani','Segoe UI',sans-serif;
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  font-family:var(--font-body); color:var(--body);
  background:
    radial-gradient(120% 60% at 50% -10%, rgba(46,107,255,.16), transparent 60%),
    var(--bg);
  line-height:1.65; font-size:18px; letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
}
a{ color:var(--cobalt-lt); text-decoration:none; }
a:hover{ color:var(--cyan); text-decoration:underline; }

/* top bar */
.topbar{
  position:sticky; top:0; z-index:10;
  display:flex; align-items:center; gap:12px;
  padding:14px 22px;
  background:rgba(7,10,18,.82); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.topbar a.brand{ display:flex; align-items:center; gap:12px; color:var(--text); }
.topbar svg{ width:34px; height:34px; filter:drop-shadow(0 0 10px rgba(46,107,255,.5)); }
.topbar .name{ font-family:var(--font-head); font-weight:700; font-size:.95rem; letter-spacing:.14em; }
.topbar .name b{ color:var(--cobalt-lt); font-weight:700; }
.topbar .spacer{ flex:1; }
.topbar nav a{ font-family:var(--font-head); font-size:.7rem; letter-spacing:.14em; margin-left:20px; color:var(--muted); }
.topbar nav a:hover{ color:var(--cyan); text-decoration:none; }

/* layout */
.doc{ max-width:820px; margin:0 auto; padding:56px 22px 90px; }
.doc h1{
  font-family:var(--font-head); font-weight:900;
  font-size:clamp(1.9rem,6vw,2.9rem); letter-spacing:.02em; line-height:1.05;
  color:var(--text); margin-bottom:10px;
  background:linear-gradient(180deg,#fff,var(--cobalt-lt));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.doc .meta{ color:var(--muted); font-size:.98rem; margin-bottom:8px; }
.doc .lede{ color:var(--body); font-size:1.08rem; margin:20px 0 8px; }

.doc h2{
  font-family:var(--font-head); font-weight:700;
  font-size:1.18rem; letter-spacing:.02em; color:var(--cobalt-lt);
  margin:44px 0 12px; padding-top:14px; border-top:1px solid var(--line);
}
.doc h3{ font-weight:700; font-size:1.08rem; color:var(--text); margin:24px 0 8px; }
.doc p{ margin:0 0 14px; }
.doc ul,.doc ol{ margin:0 0 16px; padding-left:26px; }
.doc li{ margin:0 0 9px; }
.doc strong{ color:var(--text); font-weight:600; }
.doc table{
  width:100%; border-collapse:collapse; margin:6px 0 20px; font-size:.96rem;
  border:1px solid var(--line); border-radius:10px; overflow:hidden;
}
.doc th,.doc td{ text-align:left; padding:11px 14px; border-bottom:1px solid var(--line); vertical-align:top; }
.doc th{ background:var(--panel); color:var(--cobalt-lt); font-weight:600; }
.doc tr:last-child td{ border-bottom:0; }

/* table of contents */
.toc{
  background:var(--panel); border:1px solid var(--line); border-radius:14px;
  padding:20px 24px; margin:28px 0 8px;
}
.toc h2{ border:0; margin:0 0 10px; padding:0; font-size:.78rem; letter-spacing:.2em; color:var(--muted); }
.toc ol{ margin:0; columns:2; column-gap:32px; padding-left:20px; }
.toc a{ color:var(--body); font-size:.98rem; }
@media (max-width:560px){ .toc ol{ columns:1; } }

.callout{
  background:linear-gradient(180deg, rgba(46,107,255,.10), rgba(46,107,255,.03));
  border:1px solid var(--line); border-left:3px solid var(--cobalt);
  border-radius:10px; padding:16px 18px; margin:18px 0; color:var(--body); font-size:.98rem;
}

footer.legal{
  border-top:1px solid var(--line); padding:26px 22px 40px;
  display:flex; flex-wrap:wrap; gap:8px 20px; align-items:center; justify-content:center;
  color:#63709a; font-size:.92rem;
}
footer.legal a{ color:#8b98bd; }
footer.legal .sep{ opacity:.4; }
