/* docs.octo.ad — plain, readable, both themes. Ink on paper; one accent. */
:root { --ink:#0B0B0F; --paper:#FFF8E7; --muted:#5b5566; --line:#e2dccf; --accent:#B0105C; --code:#f1ece0; --side:#f4efe3; }
@media (prefers-color-scheme: dark) { :root { --ink:#f1ece0; --paper:#0B0B0F; --muted:#b4adc0; --line:#332d40; --accent:#FF2E93; --code:#241f30; --side:#1c1828; } }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin:0; background:var(--paper); color:var(--ink); font:17px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif; }
a { color:var(--accent); text-underline-offset:2px; }
.skip { position:absolute; left:-9999px; } .skip:focus { left:16px; top:8px; background:var(--paper); padding:4px 8px; }
header.top { display:flex; justify-content:space-between; align-items:center; padding:12px 16px; border-bottom:1px solid var(--line); }
.brand { font-weight:800; letter-spacing:.04em; color:var(--ink); text-decoration:none; } .brand span { color:var(--accent); font-weight:600; }
.home { font-size:15px; }
.layout { display:grid; grid-template-columns:minmax(0,260px) minmax(0,1fr); max-width:1180px; margin:0 auto; }
nav.sidebar { background:var(--side); border-right:1px solid var(--line); padding:16px; font-size:15px; }
nav.sidebar ul { list-style:none; margin:0; padding:0; } nav.sidebar ul ul { padding-left:10px; margin-bottom:10px; }
nav.sidebar a { color:var(--ink); text-decoration:none; display:block; padding:2px 0; } nav.sidebar a.sec { font-weight:700; margin-top:6px; }
nav.sidebar a[aria-current="page"] { color:var(--accent); font-weight:700; }
main { padding:16px 24px 48px; min-width:0; } main.solo { max-width:720px; margin:0 auto; }
article { max-width:760px; }
.crumbs { font-size:14px; color:var(--muted); margin:0 0 8px; }
h1 { font-size:2rem; line-height:1.2; margin:.2em 0 .3em; }
.shortdesc { font-size:1.15rem; color:var(--muted); margin-top:0; }
h2 { font-size:1.35rem; margin:1.6em 0 .4em; } h3 { font-size:1.1rem; margin:1.3em 0 .3em; }
code { background:var(--code); padding:1px 5px; border-radius:4px; font-size:.92em; overflow-wrap:anywhere; }
.table { overflow-x:auto; } table { border-collapse:collapse; width:100%; font-size:15px; margin:1em 0; }
th, td { border:1px solid var(--line); padding:6px 8px; text-align:left; vertical-align:top; } th { background:var(--side); }
ol.steps { padding-left:1.4em; } li.step { margin:.5em 0; } li.step .cmd { font-weight:600; } li.step .info, li.step .stepresult { display:block; color:var(--muted); }
li.check { list-style:"☐  "; }
dl.glossary dt { font-weight:700; margin-top:1em; } dl.glossary dd { margin:0 0 0 0; }
blockquote { border-left:3px solid var(--accent); margin:1em 0; padding:.2em 1em; color:var(--muted); }
.related-links { border-top:1px solid var(--line); margin-top:2em; }
.page-foot { border-top:1px solid var(--line); margin-top:2.5em; font-size:14px; color:var(--muted); max-width:760px; }
@media (max-width: 760px) { .layout { grid-template-columns:minmax(0,1fr); } nav.sidebar { order:2; border-right:0; border-top:1px solid var(--line); } main { padding:16px; } h1 { font-size:1.6rem; } }
@media (prefers-reduced-motion: reduce) { * { transition:none !important; animation:none !important; } }
