/* Ornyth — shared styles for policy pages and 404 (light & dark, tokens match index.html) */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#ffffff; --bg-alt:#f5f5f7; --ink:#1d1d1f; --ink-2:#515154; --ink-3:#6e6e73;
  --line:#d2d2d7; --card:#ffffff; --accent:#1d8a44; --accent-bg:#e8f5ec;
  --card-line-hover:#a9a9b0;
  --veil:rgba(255,255,255,.85);
  --radius:20px;
}
html.dark{
  --bg:#000000; --bg-alt:#161617; --ink:#f5f5f7; --ink-2:#c7c7cc; --ink-3:#a1a1a6;
  --line:#333336; --card:#1d1d1f; --accent:#4ade80; --accent-bg:#12271a;
  --card-line-hover:#4d4d53;
  --veil:rgba(0,0,0,.66);
}
@media (prefers-color-scheme: dark){
  html:not(.light){
    --bg:#000000; --bg-alt:#161617; --ink:#f5f5f7; --ink-2:#c7c7cc; --ink-3:#a1a1a6;
    --line:#333336; --card:#1d1d1f; --accent:#4ade80; --accent-bg:#12271a;
    --card-line-hover:#4d4d53;
    --veil:rgba(0,0,0,.66);
  }
}
body{
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg); color:var(--ink); line-height:1.65;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}

/* header */
.site-head{
  position:sticky; top:0; z-index:50;
  background:var(--veil); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.head-in{max-width:1080px; margin:0 auto; padding:14px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px}
.brand{display:flex; align-items:center; text-decoration:none}
.logo-d{display:none}
html.dark .logo-l{display:none}
html.dark .logo-d{display:inline-block}
@media (prefers-color-scheme: dark){
  html:not(.light) .logo-l{display:none}
  html:not(.light) .logo-d{display:inline-block}
}
.back{
  color:var(--ink-2); text-decoration:none; font-size:.88rem; font-weight:500;
  padding:8px 16px; border:1px solid var(--line); border-radius:999px; white-space:nowrap;
  transition:color .2s, border-color .2s;
}
.back:hover{color:var(--ink); border-color:var(--card-line-hover)}

/* prose */
.prose{max-width:760px; margin:0 auto; padding:56px 24px 88px}
.doc-kicker{
  color:var(--accent); font-weight:700; font-size:.78rem;
  letter-spacing:.14em; text-transform:uppercase; margin-bottom:14px;
}
.prose h1{font-size:clamp(1.9rem,4vw,2.6rem); letter-spacing:-.02em; line-height:1.15; margin-bottom:10px}
.updated{color:var(--ink-3); font-size:.9rem; margin-bottom:30px}
.prose h2{font-size:1.18rem; letter-spacing:-.01em; margin:36px 0 12px}
.prose h3{font-size:1rem; margin:20px 0 8px; color:var(--ink)}
.prose p{color:var(--ink-2); margin:0 0 14px}
.prose ul{color:var(--ink-2); margin:0 0 14px 22px}
.prose li{margin-bottom:8px}
.prose a{color:var(--accent); text-decoration:underline; text-underline-offset:2px}
.prose strong{color:var(--ink)}

/* footer */
footer{padding:0 0 40px}
.wrap{max-width:1080px; margin:0 auto; padding:0 24px}
.foot-card{border:1px solid var(--line); border-radius:var(--radius); background:var(--card); padding:28px}
.foot-top{display:flex; flex-wrap:wrap; gap:20px; justify-content:space-between; align-items:center}
.foot-brand{display:flex; flex-direction:column; gap:8px}
.foot-logo{display:flex}
.tag{color:var(--ink-3); font-size:.85rem}
.foot-links{display:flex; flex-wrap:wrap; gap:8px 22px}
.foot-links a{color:var(--ink-2); text-decoration:none; font-size:.9rem; transition:color .2s}
.foot-links a:hover{color:var(--ink)}
.foot-links a[aria-current="page"]{color:var(--accent); font-weight:600}
.foot-bar{
  display:flex; flex-wrap:wrap; gap:8px 24px; justify-content:space-between;
  border-top:1px solid var(--line); margin-top:22px; padding-top:18px;
  color:var(--ink-3); font-size:.85rem;
}
.foot-bar a{color:var(--ink-2); text-decoration:none}
.foot-bar a:hover{color:var(--ink)}

/* 404 */
.nf{text-align:center; padding:96px 24px 120px}
.nf-code{
  font-size:clamp(4.5rem,14vw,7.5rem); font-weight:800; letter-spacing:-.03em;
  line-height:1; color:var(--accent); margin-bottom:18px;
}
.nf h1{font-size:clamp(1.6rem,3.5vw,2.2rem); letter-spacing:-.02em; margin-bottom:12px}
.nf p{color:var(--ink-2); max-width:480px; margin:0 auto 30px}
.nf-actions{display:flex; gap:12px; justify-content:center; flex-wrap:wrap}
.nf-btn{
  display:inline-block; text-decoration:none; font-weight:600; font-size:.95rem;
  padding:12px 24px; border-radius:999px; transition:opacity .2s, border-color .2s;
}
.nf-btn.primary{background:var(--ink); color:var(--bg)}
.nf-btn.primary:hover{opacity:.85}
.nf-btn.ghost{color:var(--ink); border:1px solid var(--line)}
.nf-btn.ghost:hover{border-color:var(--card-line-hover)}
