/* XiT — the palette is XiT/Theme.swift, value for value. One theme, no light mode. */
:root {
  --bg:#000; --surface:#080A09; --raised:#0E1210;
  --line:#1A211D; --line-soft:#121614;
  --text:#D6DED8; --bright:#F4F8F5; --dim:#5C665F; --faint:#363E39;
  --green:#3BF08A; --green-dim:#1E7A48; --amber:#F2B23C; --cyan:#4DD8FF;
  --mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
}
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body {
  margin:0; background:var(--bg); color:var(--text);
  font-family:var(--mono); font-size:15px; line-height:1.65;
  padding:0 20px;
}
.wrap { max-width:760px; margin:0 auto; padding:56px 0 88px; }

/* ---- masthead ---- */
.brand { display:block; text-decoration:none; color:var(--green);
         font-weight:700; font-size:15px; letter-spacing:.5px; }
.brand span { color:var(--green-dim); }
.tag { color:var(--dim); font-size:12.5px; margin-top:6px; letter-spacing:2px; text-transform:uppercase; }
hr { border:0; border-top:1px solid var(--line); margin:26px 0; }

nav { display:flex; flex-wrap:wrap; gap:18px; margin-top:22px; }
nav a { color:var(--dim); text-decoration:none; font-size:13px; }
nav a:hover, nav a:focus { color:var(--green); }
nav a[aria-current="page"] { color:var(--text); }

/* ---- type ---- */
h1 { color:var(--bright); font-size:20px; font-weight:700; margin:34px 0 6px; letter-spacing:.3px; }
h2 { color:var(--green); font-size:14px; font-weight:700; margin:34px 0 8px;
     letter-spacing:2px; text-transform:uppercase; }
h3 { color:var(--text); font-size:14.5px; font-weight:700; margin:24px 0 4px; }
p, li { color:var(--text); }
a { color:var(--cyan); }
strong { color:var(--bright); }
.lede { color:var(--dim); font-size:14px; }
.meta { color:var(--faint); font-size:12.5px; }
ul { padding-left:20px; }
li { margin:5px 0; }

/* ---- blocks ---- */
.box { background:var(--raised); border:1px solid var(--line); padding:16px 18px; margin:20px 0; }
.rule { display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--line-soft); }
.rule:last-child { border-bottom:0; }
.rule .n { color:var(--green-dim); font-weight:700; flex:0 0 auto; }
.kv { width:100%; border-collapse:collapse; margin:14px 0; display:block; overflow-x:auto; }
.kv td { border-bottom:1px solid var(--line-soft); padding:9px 12px 9px 0; vertical-align:top; font-size:14px; }
.kv td:first-child { color:var(--dim); white-space:nowrap; padding-right:24px; }
.yes { color:var(--green); } .no { color:var(--amber); }

footer { margin-top:60px; padding-top:22px; border-top:1px solid var(--line); }
footer, footer a { color:var(--faint); font-size:12.5px; }
footer a { text-decoration:none; }
footer a:hover { color:var(--dim); }

@media (max-width:520px) { body { font-size:14.5px; } .wrap { padding:38px 0 64px; } }
