/* site.css — shell for the public content pages (Info, Privacy, Terms).
   Same palette and section-card pattern as dailygrind3x.com, adapted to the
   Rust Routes black/gold theme. Self-contained: these pages do not load the
   workspace stylesheet. */
@font-face{font-family:Inter;src:url('/vendor/inter-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}

:root{
  --bg:#08090a; --panel:#101519; --line:#2a343b;
  --text:#fff; --muted:#b0b0b0; --muted2:#bbc4ca;
  --accent:#f1c40f; --accent2:#ffda44; --cyan:#22c5ff; --green:#75d4a1; --red:#ff9292;
  font-size:16px;
}
*{box-sizing:border-box}
html,body{margin:0;background-color:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
body{
  min-height:100vh;
  background-image:
    radial-gradient(ellipse at 0% 100%,#f1c40f14,transparent 65%),
    radial-gradient(ellipse at 100% 0%,#22c5ff18,transparent 65%),
    linear-gradient(#f1c40f06 1px,transparent 1px),
    linear-gradient(90deg,#f1c40f06 1px,transparent 1px);
  background-size:auto,auto,48px 48px,48px 48px;
  display:flex; flex-direction:column;
}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent2)}
code{background:#080d11;border:1px solid #ffffff14;padding:1px 6px;border-radius:5px;font-size:.85em;font-family:Consolas,monospace;color:#e6ecef}

/* ---- header ---- */
header{
  position:sticky;top:0;z-index:10;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  height:72px;padding:0 24px;
  background:#08090af5;border-bottom:1px solid #f1c40f35;box-shadow:0 3px 20px #0005;
}
header .brand{display:flex;align-items:center;gap:16px;min-width:0}
.brand-logo{display:block;width:210px;height:56px;object-fit:contain}
header .tag{border-left:1px solid #ffffff25;padding-left:20px;font-size:12px;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted)}
header nav{display:flex;gap:22px;font-size:14px;flex-wrap:wrap;justify-content:flex-end}
header nav a{color:var(--muted);transition:color .15s}
header nav a:hover,header nav a[aria-current=page]{color:#fff}
header nav a[aria-current=page]{color:var(--accent)}

/* ---- page ---- */
main{flex:1;width:100%;max-width:56rem;margin:0 auto;padding:64px 20px 24px}
h1{font-size:2.5rem;font-weight:800;letter-spacing:-.03em;margin:0}
h1 .hl{color:var(--accent)}
.lede{margin:14px 0 0;max-width:44rem;font-size:1rem;line-height:1.7;color:#ffffff99}
.stamp{margin:10px 0 0;font-size:.75rem;color:#ffffff66}

.sections{margin-top:40px;display:flex;flex-direction:column;gap:24px}
section.card{
  overflow:hidden;border:1px solid #ffffff1a;border-radius:16px;
  background:linear-gradient(180deg,#ffffff0a,transparent);
}
section.card > h2{
  display:flex;align-items:center;gap:10px;margin:0;
  padding:16px 24px;border-bottom:1px solid #ffffff1a;background:#00000050;
  font-size:1.125rem;font-weight:700;letter-spacing:-.01em;
}
section.card > h2 svg{width:20px;height:20px;flex:0 0 auto}
.i-gold{color:var(--accent)} .i-cyan{color:var(--cyan)} .i-green{color:var(--green)} .i-red{color:var(--red)} .i-dim{color:#ffffffb3}
.body{padding:20px 24px;display:flex;flex-direction:column;gap:12px}
.body p{margin:0;font-size:.875rem;line-height:1.75;color:#ffffff99}
.body ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
/* Not flex: inline children (strong, code, a) must stay in the text flow,
   or each becomes its own flex item and the line breaks into columns. */
.body li{position:relative;padding-left:18px;font-size:.875rem;line-height:1.7;color:#ffffff99}
.body li::before{content:'•';position:absolute;left:0;top:0;color:var(--accent)}
.body li strong{color:#e9edf0;font-weight:650}
.note{margin-top:32px;text-align:center;font-size:.75rem;color:#ffffff4d}

/* ---- footer ---- */
footer{border-top:1px solid var(--line);background:#0a0b0ccc;margin-top:56px}
.foot-in{max-width:56rem;margin:0 auto;padding:36px 20px;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}
.foot-brand p{margin:0;font-size:1.0625rem;font-weight:900;letter-spacing:-.01em;color:var(--accent)}
.foot-brand small{display:block;margin-top:4px;font-size:.8125rem;color:var(--muted)}
footer nav{display:flex;flex-wrap:wrap;gap:24px;font-size:.875rem}
footer nav a{color:var(--muted);transition:color .15s}
footer nav a:hover{color:#fff}
.legal{max-width:56rem;margin:0 auto;padding:0 20px 24px;font-size:.75rem;line-height:1.7;color:#ffffff4d}
/* Clear the fixed site bar (footbar.css) so nothing ever sits under it. */
body{padding-bottom:var(--footbar-h,40px)}
html{scroll-padding-bottom:calc(var(--footbar-h,40px) + 12px)}

@media (max-width:760px){
  header{height:auto;padding:12px 16px;flex-wrap:wrap}
  .brand-logo{width:160px;height:44px}
  header .tag{display:none}
  main{padding-top:40px}
  h1{font-size:2rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* Transparent brand mark, aligned consistently across workspace and public pages. */
header .brand-logo{width:180px;height:30px;object-fit:contain;flex-shrink:0}header .brand{gap:20px}header .tag{margin-left:0;padding-left:20px}.auth-art .brand-logo{width:300px;height:50px;max-width:100%}@media(max-width:850px){header .brand-logo{width:156px;height:26px}header .brand{gap:12px}}
