/* Riftr legal pages — shared styles.
   Mirrors index.html design tokens for visual consistency.
   Used by privacy.html, terms.html, imprint.html. */

:root{
  --bg-page:#020617;
  --bg-surface:#0F172A;
  --bg-elevated:#1E293B;
  --fg-1:#F0EFED;
  --fg-2:#CBD5E1;
  --fg-3:#94A3B8;
  --fg-4:#64748B;
  --gold:#D3A43F;
  --gold-hover:#B8892A;
  --gold-text:#F0C060;
  --gold-muted-08:rgba(211,164,63,0.08);
  --gold-muted-15:rgba(211,164,63,0.15);
  --gold-muted-20:rgba(211,164,63,0.20);
  --border:rgba(148,163,184,0.15);
  --font-sans:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --container:800px;
  --nav-h:64px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg-page);
  color:var(--fg-1);
  font-family:var(--font-sans);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* Top nav */
.nav{
  position:sticky;
  top:0;
  z-index:10;
  background:rgba(2,6,23,0.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);
  height:var(--nav-h);
  display:flex;
  align-items:center;
}
.nav-inner{
  max-width:var(--container);
  width:100%;
  margin:0 auto;
  padding:0 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.nav-brand{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:var(--fg-1);
  font-weight:700;
  font-size:18px;
}
.nav-brand img{height:28px;width:28px;border-radius:6px}
.nav-links{display:flex;gap:20px}
.nav-links a{
  color:var(--fg-3);
  text-decoration:none;
  font-size:14px;
  font-weight:500;
}
.nav-links a:hover{color:var(--gold-text)}
.nav-links a.current{color:var(--gold-text);font-weight:700}

/* Container */
.wrap{
  max-width:var(--container);
  margin:0 auto;
  padding:48px 24px 96px;
}

/* Heading */
h1{
  font-size:36px;
  font-weight:800;
  letter-spacing:-0.02em;
  margin:0 0 12px;
  color:var(--fg-1);
}
.sub{
  color:var(--fg-3);
  font-size:14px;
  margin:0 0 32px;
}

/* Banner / disclaimer */
.banner{
  background:var(--gold-muted-08);
  border:1px solid var(--gold-muted-20);
  border-radius:12px;
  padding:18px 20px;
  margin:0 0 32px;
  display:flex;
  gap:14px;
  align-items:flex-start;
}
.banner-icon{
  flex-shrink:0;
  width:24px;
  height:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold-text);
  font-weight:900;
  font-size:18px;
}
.banner p{margin:0;color:var(--gold-text);font-weight:600;font-size:14px;line-height:1.5}

.disclaimer{
  background:var(--bg-surface);
  border:1px solid var(--border);
  border-radius:12px;
  padding:18px 20px;
  margin:0 0 32px;
  color:var(--fg-3);
  font-size:13px;
  font-style:italic;
  line-height:1.6;
}

/* Sections */
section.legal{
  margin:0 0 36px;
}
section.legal h2{
  font-size:18px;
  font-weight:800;
  color:var(--gold-text);
  margin:0 0 12px;
}
section.legal p{
  margin:0 0 12px;
  color:var(--fg-2);
  font-size:15px;
}
section.legal p:last-child{margin-bottom:0}
section.legal ul{
  margin:0 0 12px;
  padding-left:22px;
  color:var(--fg-2);
  font-size:15px;
}
section.legal ul li{margin:0 0 6px}
section.legal a{color:var(--gold-text);text-decoration:underline}
section.legal a:hover{color:var(--gold-hover)}
section.legal code{
  font-family:'JetBrains Mono',ui-monospace,Menlo,monospace;
  font-size:13px;
  background:var(--bg-surface);
  padding:1px 6px;
  border-radius:4px;
}

/* Footer */
.foot{
  border-top:1px solid var(--border);
  padding:32px 24px;
  text-align:center;
  color:var(--fg-4);
  font-size:13px;
}
.foot p{margin:0 0 6px}
.foot a{color:var(--gold-text);text-decoration:none;margin:0 8px}
.foot a:hover{text-decoration:underline}

@media (max-width:600px){
  h1{font-size:28px}
  .nav-links{gap:14px}
  .nav-links a{font-size:13px}
  .wrap{padding:32px 20px 64px}
}
