/* ============================================================
   Veduz — shared site styles
   One palette, two themes: dark is the default; light follows
   the browser's color scheme (set by /js/site.js as
   <html data-theme="light">). Pages keep only layout-specific
   CSS; all theme colors live here as custom properties.
   ============================================================ */
:root{
  --bg:#0c0a12; --panel:#14101d; --panel-2:#120d1c; --panel-3:#0e0b15;
  --ink:#f4efe6; --dim:#a89bb0; --faint:#958ba0; --fine:#9a8fb2;
  --line:#251d38; --line-2:#2c2440;
  --gold:#ffd166; --rose:#ff8fa3; --ok:#5ad6a0;
  --glow-1:#241a33; --glow-2:#2a1420;
  --badge-border:#3a2c4a; --badge-bg:#17101f;
  --header-bg:rgba(12,10,18,.9);
  --serif:Georgia,"Iowan Old Style","Times New Roman",serif;
  --mono:ui-monospace,"SF Mono","Cascadia Code",Menlo,Consolas,monospace;
  --sans:ui-sans-serif,system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
[data-theme="light"]{
  --bg:#f7f4ee; --panel:#fffdf9; --panel-2:#f4f0e8; --panel-3:#ece6da;
  --ink:#221c2e; --dim:#5c5370; --faint:#635b72; --fine:#6b6178;
  --line:#e2dbcd; --line-2:#d7cfc0;
  --gold:#7d5800; --rose:#a81f46; --ok:#177245;
  --glow-1:#efe6f2; --glow-2:#f6e7e0;
  --badge-border:#d7cfc0; --badge-bg:#f1ece2;
  --header-bg:rgba(247,244,238,.9);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:radial-gradient(1000px 560px at 18% -10%, var(--glow-1) 0%, transparent 60%),
             radial-gradient(900px 500px at 112% 18%, var(--glow-2) 0%, transparent 55%),
             var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  min-height:100vh; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--gold)}

/* ---- shared chrome ---- */
.badge{
  display:inline-flex;align-items:center;gap:10px;
  border:1px solid var(--badge-border);background:var(--badge-bg);border-radius:999px;
  padding:8px 16px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  font-family:var(--mono);color:var(--gold);
}
.dot{width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px var(--gold)}
.dot.ok{background:var(--ok);box-shadow:0 0 12px var(--ok)}

h1{font-weight:800;letter-spacing:-.02em}

footer{margin-top:52px;color:var(--faint);font-size:.85rem}
.fine{margin-top:14px;font-size:.9rem;color:var(--fine);max-width:640px}
  /* ---- shared top nav ---- */
  .topnav{display:flex;align-items:center;justify-content:space-between;gap:12px;
    position:sticky;top:0;z-index:50;padding:10px 18px;
    background:var(--header-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line)}
  .topnav .brand{font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;
    text-transform:uppercase;color:var(--dim);text-decoration:none}
  .topnav .brand b{color:var(--gold);font-weight:600}
  .topnav .home{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);
    font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);
    text-decoration:none;border:1px solid var(--line-2);border-radius:999px;padding:7px 14px;
    background:var(--panel-2);transition:border-color .15s ease, color .15s ease, transform .15s ease}
  .topnav .home:hover{border-color:var(--gold);transform:translateY(-1px)}
  .topnav .home .arr{font-size:.9rem;line-height:1}
  @media (max-width:520px){.topnav .brand{display:none}.topnav{justify-content:center}}
