
  :root{
    --ink:#232A45; --muted:#5C648A; --paper:#FFFFFF; --sheet:#FFFFFF;
    --blue:#7280BD; --blue-ink:#2B3572; --wash:#E1E6F8; --wash2:#F4F6FD;
    --amber:#5A6410; --line:#C1C9E5;
    --serif: Charter, Georgia, 'Times New Roman', serif;
    --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  }
  *{box-sizing:border-box}
  body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;line-height:1.6}
  .wrap{max-width:860px;margin:0 auto;padding:0 20px}
  a{color:var(--blue-ink)}
  .band{background:var(--wash2);border-bottom:1px solid var(--line)}
  header.site{display:flex;align-items:center;gap:12px;padding:16px 0 12px}
  .wordmark{font-family:var(--serif);font-size:22px;font-weight:700}
  .tagline{font-size:12px;color:var(--muted)}
  .eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);font-weight:600}
  h1{font-family:var(--serif);font-size:34px;line-height:1.15;margin:10px 0 10px;text-wrap:balance}
  .sub{font-size:15.5px;color:var(--muted);max-width:62ch}
  .filter{margin:26px 0 6px}
  .filter input{width:100%;max-width:430px;font:15px var(--sans);color:var(--ink);
    padding:10px 14px;border:1px solid var(--line);border-radius:9px;background:#fff}
  .filter input:focus{outline:2px solid var(--blue-ink);outline-offset:1px}
  .count{font-size:12.5px;color:var(--muted);margin-top:6px}
  .group h2{font-family:var(--serif);font-size:19px;margin:34px 0 4px}
  .entry{display:flex;gap:14px;align-items:flex-start;text-decoration:none;color:inherit;
    padding:12px 12px;border:1px solid var(--line);border-radius:11px;margin-top:10px;background:var(--sheet)}
  .entry:hover{border-color:var(--blue);background:var(--wash2)}
  .e-icon svg{width:30px;height:30px;display:block;margin-top:2px}
  .e-body{flex:1}
  .e-t{display:block;font-weight:700;color:var(--blue-ink);font-size:15.5px}
  .e-s{display:block;font-size:13.5px;color:var(--muted);margin-top:2px}
  .e-num{font-family:var(--sans);font-size:11.5px;letter-spacing:.04em;color:var(--muted);
    white-space:nowrap;margin-top:4px}
  .nohit{display:none;font-size:14px;color:var(--muted);margin-top:22px}
  footer{border-top:1px solid var(--line);margin-top:46px;padding:22px 0 60px;color:var(--muted);font-size:12.5px}
  footer .comp{margin-bottom:10px}
  @media print{ .filter{display:none} .entry{break-inside:avoid} }

/* Frame — 980px frame, 760px reading column, wide-by-design elements keep the frame (her word, Sep 3, 2026, v3.100). */
.wrap{max-width:980px}
body>.wrap>*,body>main.wrap>*{max-width:760px;margin-left:max(0px,calc((100% - 760px)/2));margin-right:0} /* v3.108: the column's left edge is fixed; blocks narrower than 760 hug it (her word, Sep 4, 2026) */
/* v3.106 (Sep 4, 2026): the breakout rule is gone — every layout sits inside the 760 reading column; wide tables scroll inside their wrapper. Her word: "bring the other breakout layouts inside the column too." */
