:root { --fg:#1a1a1a; --muted:#666; --line:#d8d8d8; --accent:#8b1a1a; --bg:#fff;
        --panel:#f6f6f4; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin:0; background:var(--bg); color:var(--fg); line-height:1.5;
       font:16px/1.5 -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
a { color:var(--accent); }
/* The manual's own contents.css styles every a:link at 10pt with an underline.
   That rule is more specific than a plain class, so the site chrome has to match
   on link state too, and restate its size. */
.card:link, .card:visited, ul.list a:link, ul.list a:visited,
header.site a.home:link, header.site a.home:visited,
.pager a:link, .pager a:visited, nav.crumb a:link, nav.crumb a:visited {
  text-decoration:none; font-size:inherit;
}
.card:hover, ul.list a:hover, .pager a:hover { text-decoration:underline; }
header.site { position:sticky; top:0; z-index:10; background:var(--panel);
              border-bottom:1px solid var(--line); padding:.6rem .9rem; }
header.site a.home { font-weight:700; text-decoration:none; color:var(--fg); }
header.site .sub { color:var(--muted); font-size:.85rem; }
main { padding:.9rem; max-width:70rem; margin:0 auto; }
nav.crumb { font-size:.85rem; color:var(--muted); margin:0 0 .9rem;
            word-wrap:break-word; }
nav.crumb a { color:var(--muted); }
h1 { font-size:1.35rem; margin:.2rem 0 1rem; }
h2 { font-size:1rem; text-transform:uppercase; letter-spacing:.04em;
     color:var(--muted); margin:1.6rem 0 .5rem; }
ul.list { list-style:none; margin:0; padding:0; }
ul.list li { border-bottom:1px solid var(--line); }
ul.list a { display:block; padding:.75rem .2rem; text-decoration:none; }
ul.list a:hover { background:var(--panel); }
ul.list .kind { color:var(--muted); font-size:.8rem; }
.grid { display:grid; gap:.5rem; grid-template-columns:1fr; }
@media (min-width:40rem) { .grid { grid-template-columns:repeat(2,1fr); } }
@media (min-width:64rem) { .grid { grid-template-columns:repeat(3,1fr); } }
.card { display:block; padding:.9rem; border:1px solid var(--line); border-radius:6px;
        text-decoration:none; color:var(--fg); background:var(--panel); }
.card:hover { border-color:var(--accent); }
.card b { display:block; }
.card span { color:var(--muted); font-size:.85rem; }
/* The document body comes from the manual's own stylesheet; keep wide tables and
   figures inside the viewport instead of stretching the page. */
.doc { overflow-x:auto; }
.doc img { max-width:100%; height:auto; }
.doc table { max-width:100%; }
.pager { display:flex; gap:.5rem; justify-content:space-between; margin:2rem 0 0;
         border-top:1px solid var(--line); padding-top:.9rem; }
.pager a { text-decoration:none; padding:.5rem 0; }
#q { width:100%; padding:.7rem .8rem; font-size:1rem; border:1px solid var(--line);
     border-radius:6px; }
#results li b { font-weight:600; }
.fig { text-align:center; }
.fig img { max-width:100%; height:auto; border:1px solid var(--line); }
footer { color:var(--muted); font-size:.8rem; padding:2rem .9rem; text-align:center; }
