:root { --bg:#0f1115; --panel:#181b22; --fg:#e6e8ee; --muted:#8a91a0; --accent:#6ea8fe; --accent2:#7bd88f; --border:#232733; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:16px/1.65 system-ui,-apple-system,Segoe UI,Roboto,sans-serif; }
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }
.wrap { max-width: 820px; margin: 0 auto; padding: 0 20px 48px; }
header { display:flex; align-items:center; justify-content:space-between; padding: 22px 0; }
.brand { display:inline-flex; align-items:center; gap:9px; font-size:20px; font-weight:700; letter-spacing:-0.01em; color:inherit; }
.brand-badge { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:9px; color:#06101f; background:linear-gradient(135deg,var(--accent),#8f7bff); }
.btn { display:inline-block; padding:9px 16px; border-radius:10px; background:transparent; color:var(--fg); border:1px solid var(--border); font-weight:600; }
h1 { font-size: 30px; letter-spacing:-0.4px; margin: 22px 0 4px; }
.muted { color: var(--muted); }
.small { font-size: 13.5px; }
/* rendered document body */
.legaldoc { border:1px solid var(--border); background:var(--panel); border-radius:14px; padding: 8px 22px; margin-top: 16px; }
.legaldoc h2 { font-size: 21px; margin: 22px 0 8px; }
.legaldoc h3 { font-size: 17px; margin: 18px 0 6px; }
.legaldoc h4 { font-size: 15px; margin: 14px 0 4px; }
.legaldoc ul { padding-left: 22px; }
.legaldoc li { margin: 4px 0; }
.legaldoc hr { border: none; border-top: 1px solid var(--border); margin: 20px 0; }
.legaldoc code { background: rgba(127,127,127,.16); padding: 1px 5px; border-radius: 5px; font-size: 90%; }
.legalnote { border-left: 3px solid var(--accent); background: rgba(110,168,254,.06); margin: 14px 0; padding: 10px 14px; color: var(--muted); border-radius: 0 8px 8px 0; }
/* hub list */
.legalindex { list-style: none; padding: 0; margin: 16px 0; }
.legalindex li { display:flex; flex-direction:column; gap:2px; padding: 14px 2px; border-bottom: 1px solid var(--border); }
.legalindex li:last-child { border-bottom: none; }
.legalindex li > a { font-size: 17px; font-weight: 600; }
.legalfoot { display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center; justify-content:space-between; border-top:1px solid var(--border); margin-top: 26px; padding-top: 16px; font-size: 14px; }
/* design variants — theme-design.js sets data-design from the instance default (mirrors the landing) */
:root[data-design="v2"] { --bg:#0d0f15; --panel:#161a23; --fg:#eef1f7; --muted:#99a2b5; --accent:#7cb1ff; --accent2:#6fe0a0; --border:#283041; }
:root[data-design="v2"] .brand-badge { background: linear-gradient(135deg, #7cb1ff, #9b8cff); }
:root[data-design="v3"] { --bg:#0c0d12; --panel:#15161e; --fg:#ece7dd; --muted:#9b948a; --accent:#d8a657; --accent2:#7bd88f; --border:#2b2c38; }
:root[data-design="v3"] h1, :root[data-design="v3"] .brand,
:root[data-design="v3"] .legaldoc h2, :root[data-design="v3"] .legaldoc h3, :root[data-design="v3"] .legaldoc h4 {
  font-family: "Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif; font-weight: 500; }
:root[data-design="v3"] .brand-badge { background: linear-gradient(140deg, #f0c882, #d8a657 55%, #b9863a); color: #1a1206; }
:root[data-design="v3"] body { background-image: radial-gradient(120% 80% at 0% -8%, rgba(216,166,87,.07), transparent 44%); background-attachment: fixed; }
:root[data-design="v3"] .legalnote { background: rgba(216,166,87,.07); }
