/* Towerwright — shared styles for the public site.
   Self-contained: no webfonts, no CDNs, no analytics. Palette from brand/Towerwright_Brand_Kit.md. */
:root{
  --ink:#13294B; --brand:#1F6FEB; --brand-2:#0FB5AE; --signal:#27C93F;
  --warn:#F4A100; --bg:#0E1726; --surface:#16223A; --surface-2:#1E2D4A;
  --muted:#8AA0BF; --line:#2A3A5C; --text:#E8EEF7;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:"Trebuchet MS","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  line-height:1.6; font-size:17px;
}
.wrap{max-width:760px; margin:0 auto; padding:32px 22px 80px}
header{display:flex; align-items:center; gap:14px; padding:26px 0 10px; flex-wrap:wrap}
header svg{width:40px; height:auto; flex:none}
.brandname{font-weight:bold; font-size:22px; letter-spacing:-.3px}
.brandname .wright{color:var(--brand-2)}
nav{margin-left:auto; display:flex; gap:18px; flex-wrap:wrap}
nav a{color:var(--muted); text-decoration:none; font-size:15px}
nav a:hover,nav a:focus{color:var(--text); text-decoration:underline}
h1{font-size:clamp(28px,5vw,40px); line-height:1.15; margin:26px 0 6px; letter-spacing:-.5px}
h2{font-size:21px; margin:34px 0 8px; color:#fff}
h3{font-size:17px; margin:22px 0 6px; color:var(--brand-2)}
.lede{color:var(--muted); font-size:19px; margin:0 0 8px}
.updated{color:var(--muted); font-size:14px; margin:0 0 26px}
a{color:var(--brand-2)}
.card{background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:18px 20px; margin:18px 0}
.card.good{border-color:#1c5e4a; background:#12261f}
ul{padding-left:20px} li{margin:6px 0}
.tablewrap{overflow-x:auto; margin:14px 0}
table{border-collapse:collapse; width:100%; font-size:15px; min-width:520px}
th,td{border:1px solid var(--line); padding:9px 12px; text-align:left; vertical-align:top}
th{background:var(--surface-2); color:#fff}
code{background:var(--surface-2); padding:2px 6px; border-radius:5px; font-size:14px}
footer{border-top:1px solid var(--line); margin-top:56px; padding-top:20px; color:var(--muted); font-size:14px}
footer a{color:var(--muted)}
.pill{display:inline-block; background:var(--surface-2); border:1px solid var(--line); border-radius:999px; padding:4px 12px; font-size:14px; margin:3px 6px 3px 0; color:var(--muted)}
.btn{display:inline-block; background:linear-gradient(90deg,var(--brand-2),var(--brand)); color:#fff; text-decoration:none; font-weight:bold; padding:12px 22px; border-radius:11px; margin:8px 8px 8px 0}
@media (prefers-color-scheme: light){
  :root{--bg:#F7F9FC; --surface:#fff; --surface-2:#EDF2F9; --text:#13294B; --muted:#5A6E8C; --line:#D7E0EC}
  h2{color:var(--ink)}
  th{color:var(--ink)}   /* --surface-2 is light here; white header text was invisible */
  .card.good{background:#EAF8F0; border-color:#B6E3C9}
}
