/* RidgeForge documentation stylesheet */
*,*::before,*::after{box-sizing:border-box}
:root{
 --pa:#fffefb;--pa2:#f6f5f0;--ink:#1b1d21;--mut:#696e75;--ln:#e3e1d9;--ln2:#efede6;
 --ac:#9c3d16;--ac2:#7b2f10;--lk:#1d5e8a;--ok:#2f6b45;--no:#9b2c2c;
 --code:#1d2127;--ct:#d7dee7;--ck:#86b9e8;--cy:#8ed5a6;--cs:#e3b382;--cc:#7a848e;--cn:#e5a5a5;
 --m:ui-monospace,SFMono-Regular,"Cascadia Mono",Menlo,Consolas,monospace;
 --s:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif
}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--pa);color:var(--ink);font:15.5px/1.68 var(--s)}
h1,h2,h3,h4{line-height:1.25;margin:0;font-weight:640;letter-spacing:-.015em}
h1{font-size:29px}h2{font-size:20px}h3{font-size:16px}h4{font-size:14px}
a{color:var(--lk);text-decoration:none}
a:hover{text-decoration:underline}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em;padding-left:21px}
li{margin:.3em 0}
code{font-family:var(--m);font-size:.875em;background:var(--pa2);border:1px solid var(--ln2);border-radius:3px;padding:.5px 4px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:10px;top:10px;background:var(--pa);border:1px solid var(--ac);padding:9px;z-index:9}

/* top bar */
.bar{border-bottom:1px solid var(--ln);background:var(--pa)}
.bi{max-width:1340px;margin:0 auto;padding:11px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px}
.lg{display:flex;align-items:center;gap:9px;color:var(--ink)}
.lg:hover{text-decoration:none}
.lg b{font-size:17px;letter-spacing:-.02em}
.ver{font-family:var(--m);font-size:11.5px;color:var(--ac);border:1px solid var(--ln);background:var(--pa2);padding:2px 6px;border-radius:3px}
.bl{margin-left:auto;display:flex;flex-wrap:wrap;gap:3px;font-size:13.5px;font-family:var(--m)}
.bl a{color:var(--mut);padding:5px 8px;border-radius:3px}
.bl a:hover{background:var(--pa2);color:var(--ink);text-decoration:none}
.bl a.on{color:var(--ac);background:var(--pa2)}

/* three-zone grid */
.doc{max-width:1340px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:230px minmax(0,1fr);gap:0 40px}
@media (min-width:1200px){.doc{grid-template-columns:230px minmax(0,1fr) 190px}}
.side{padding:26px 22px 48px 0;border-right:1px solid var(--ln)}
@media (min-width:980px){.side{position:sticky;top:0;align-self:start;max-height:100vh;overflow-y:auto}}
.side h4{font-family:var(--m);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--mut);margin:20px 0 7px;font-weight:600}
.side h4:first-child{margin-top:0}
.side a{display:block;padding:4px 10px;margin-left:-10px;font-size:14px;color:var(--ink);border-radius:3px}
.side a:hover{background:var(--pa2);text-decoration:none}
.side a.on{background:#f1ece6;color:var(--ac2);font-weight:550;box-shadow:inset 2px 0 0 var(--ac)}
.side p{font-size:12px;color:var(--mut);margin:14px 0 0;line-height:1.5}
.body{padding:28px 0 56px;min-width:0}
.rail{padding:30px 0 40px;display:none}
@media (min-width:1200px){.rail{display:block;position:sticky;top:0;align-self:start}}
.rail h4{font-family:var(--m);font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--mut);margin:0 0 8px}
.rail a{display:block;font-size:12.5px;padding:3px 0;color:var(--mut);line-height:1.45}
.rail a:hover{color:var(--ac)}
.rail dl{margin:24px 0 0;font-size:12px}
.rail dt{color:var(--mut);margin-top:9px}
.rail dd{margin:1px 0 0;font-family:var(--m);font-size:12px}

/* content */
.eyebrow{font-family:var(--m);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ac);margin:0 0 9px}
.body>h1{max-width:30ch}
.sub{font-size:17.5px;color:var(--mut);max-width:64ch;margin:13px 0 30px;line-height:1.55}
.body h2{margin:38px 0 12px;padding-bottom:7px;border-bottom:1px solid var(--ln)}
.body h3{margin:26px 0 8px}
.body h4{margin:20px 0 6px;font-family:var(--m);font-size:13.5px;color:var(--ac2)}
.body p,.body ul,.body ol{max-width:72ch}
pre{background:var(--code);color:var(--ct);font-family:var(--m);font-size:12.9px;line-height:1.62;padding:15px 17px;overflow-x:auto;border-radius:5px;margin:0 0 1.1em;-webkit-overflow-scrolling:touch}
pre code{background:0;border:0;padding:0;font-size:inherit;color:inherit}
.k{color:var(--ck)}.y{color:var(--cy)}.s{color:var(--cs)}.c{color:var(--cc)}.nu{color:var(--cn)}
.shell{background:#161a1f}
figure{margin:0 0 1.3em;overflow-x:auto}
.cap{font-size:12.5px;color:var(--mut);margin:9px 0 0;padding-left:12px;border-left:2px solid var(--ln);max-width:70ch}
svg.d{display:block;max-width:100%;height:auto;background:var(--pa2);border:1px solid var(--ln);border-radius:4px}
table{border-collapse:collapse;width:100%;font-size:13.5px;margin:0 0 1.2em;min-width:460px}
th{text-align:left;font-family:var(--m);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--mut);font-weight:600;padding:0 11px 7px 0;border-bottom:1.5px solid var(--ink)}
td{padding:8px 11px 8px 0;border-bottom:1px solid var(--ln2);vertical-align:top}
td:last-child,th:last-child{padding-right:0}
.num{font-family:var(--m);text-align:right;white-space:nowrap}
.tw{overflow-x:auto;margin:0 0 1.2em}
.tw table{margin:0}
dl.p{margin:0 0 1.2em}
dl.p dt{font-family:var(--m);font-size:13px;color:var(--ac2);margin-top:11px}
dl.p dd{margin:2px 0 0 0;padding-left:16px;border-left:2px solid var(--ln2);font-size:14.5px;color:var(--ink)}
.box{border:1px solid var(--ln);border-left:3px solid var(--mut);background:var(--pa2);padding:13px 16px;margin:0 0 1.2em;font-size:14.5px;max-width:72ch}
.box.w{border-left-color:var(--ac);background:#fbf4ee}
.box.g{border-left-color:var(--ok);background:#f1f6f2}
.box p:last-child{margin:0}
.box b{font-family:var(--m);font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;display:block;margin-bottom:5px;color:var(--ac2)}
.box.g b{color:var(--ok)}
.pill{display:inline-block;font-family:var(--m);font-size:11px;padding:2px 6px;border-radius:3px;border:1px solid var(--ln);background:var(--pa)}
.pill.ok{color:var(--ok);border-color:#bcd7c4}
.pill.no{color:var(--no);border-color:#e0bebe}
.pill.wip{color:var(--ac);border-color:#e2c8b4}
.sig{font-family:var(--m);font-size:13px;background:var(--pa2);border:1px solid var(--ln);border-left:3px solid var(--ac);padding:10px 13px;margin:16px 0 10px;overflow-x:auto;white-space:pre}
.rel{border-top:1px solid var(--ln);padding-top:14px;margin-top:16px}
.rel h3{font-family:var(--m);font-size:13px;margin:0 0 4px}
.rel time{font-family:var(--m);font-size:12px;color:var(--mut)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.foot{border-top:1px solid var(--ln);background:var(--pa2);font-size:13px;color:var(--mut)}
.fi{max-width:1340px;margin:0 auto;padding:22px 24px 30px;display:flex;flex-wrap:wrap;gap:10px 30px;align-items:baseline}
.fi a{color:var(--mut);text-decoration:underline}
.fi a:hover{color:var(--ink)}
.fi span{font-family:var(--m);font-size:12px}
@media (max-width:979px){
 svg.d{max-width:none;width:640px}
 .doc{grid-template-columns:1fr;gap:0}
 .side{border-right:0;border-bottom:1px solid var(--ln);padding:16px 0 14px;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
 .side h4{margin:0;width:100%}
 .side a{margin-left:0;padding:4px 9px;border:1px solid var(--ln);font-size:13px}
 .side a.on{box-shadow:none}
 .side p{display:none}
 .body{padding-top:22px}
 h1{font-size:24px}.sub{font-size:16px}
 .grid2{grid-template-columns:1fr}
}
@media (prefers-color-scheme:dark){
 :root{--pa:#15171a;--pa2:#1b1e22;--ink:#dfe3e8;--mut:#99a1a9;--ln:#2a2e34;--ln2:#23272c;
  --ac:#d98354;--ac2:#e49a70;--lk:#73b4dd;--ok:#6cb98a;--no:#dd8080;--code:#101317}
 .box.w{background:#241b14}.box.g{background:#152017}
 .side a.on{background:#241c16}
 .pill.ok{border-color:#2f4c39}.pill.no{border-color:#4c2f2f}.pill.wip{border-color:#4c3a2a}
}

/* ── reference search page ── */
.crumb2{font-family:var(--m);font-size:11.5px;color:var(--mut);margin:0 0 14px;letter-spacing:.02em}
.crumb2 a{color:var(--mut)}.crumb2 b{color:var(--ink)}
.crumb2 span{color:var(--ln);margin:0 6px}
.searchbar{position:sticky;top:0;z-index:5;background:var(--pa);border:1px solid var(--ln);border-radius:5px;padding:12px 14px;margin:0 0 22px;display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}
.searchbar input[type=text]{width:100%;font:14px var(--m);padding:9px 11px;border:1px solid var(--ln);border-radius:4px;background:var(--pa2);color:var(--ink)}
.searchbar input:focus{outline:2px solid var(--ac);outline-offset:-1px}
.searchbar select{font:13px var(--s);padding:8px 9px;border:1px solid var(--ln);border-radius:4px;background:var(--pa);color:var(--ink)}
.scount{font-family:var(--m);font-size:12px;color:var(--mut);grid-column:1/-1;margin:2px 0 0}
h2.grp{display:flex;align-items:baseline;gap:9px;margin:30px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--ln);scroll-margin-top:72px}
h2.grp .gn{font-family:var(--m);font-size:12px;font-weight:400;color:var(--mut);border:1px solid var(--ln);border-radius:9px;padding:0 7px}
.sym{border:1px solid var(--ln);border-radius:5px;padding:13px 15px;margin:0 0 13px;background:var(--pa);scroll-margin-top:72px}
.sym.hit{border-color:var(--ac);box-shadow:0 0 0 2px rgba(156,61,22,.13)}
.symh{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 11px;margin:0 0 9px}
.sym .sn{font-family:var(--m);font-size:15px;font-weight:600;color:var(--ink);background:0;border:0;padding:0}
.kd{font-family:var(--m);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;padding:1px 7px;border-radius:3px;border:1px solid var(--ln);color:var(--mut)}
.kd-class,.kd-struct{color:var(--lk);border-color:#bcd3e6}
.kd-func,.kd-method{color:var(--ok);border-color:#bcd7c4}
.kd-enum{color:var(--ac);border-color:#e2c8b4}
.kd-alias,.kd-type{color:var(--mut)}
.sh{font-family:var(--m);font-size:11.5px;color:var(--mut)}
.sv{font-family:var(--m);font-size:11px;color:var(--mut);margin-left:auto}
.sym .sig{white-space:pre-wrap;margin:0 0 9px}
.sb{margin:0 0 7px;font-size:14.5px;max-width:none}
.pp{margin:7px 0 0;font-size:13.5px;display:grid;grid-template-columns:auto 1fr;gap:3px 14px}
.pp dt{font-family:var(--m);color:var(--ac2)}
.pp dd{margin:0}
.mm{font-size:13px;color:var(--mut);margin:7px 0 0}
.rt{font-size:13.5px;margin:7px 0 0}
.rt b{font-family:var(--m);font-size:11.5px;text-transform:uppercase;color:var(--ok);margin-right:5px}
#nomatch{color:var(--mut);font-style:italic;padding:20px 0}
.schema{font-family:var(--m);font-size:12.5px;line-height:1.7;background:var(--pa2);border:1px solid var(--ln2);border-radius:4px;padding:13px 15px;overflow-x:auto;margin:0 0 1em}
@media (max-width:620px){ .searchbar{grid-template-columns:1fr} }

/* ── benchmark chart ── */
.chartwrap{border:1px solid var(--ln);border-radius:5px;padding:15px;margin:0 0 1.3em;background:var(--pa)}
.chartctl{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.chartctl button{font:12.5px var(--m);padding:6px 11px;border:1px solid var(--ln);background:var(--pa2);color:var(--mut);border-radius:4px;cursor:pointer}
.chartctl button[aria-pressed=true]{background:var(--ac);color:#fff;border-color:var(--ac)}
.bars{display:grid;gap:9px}
.bar{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:center;font-size:13px}
.bar .bn{font-family:var(--m);font-size:12px;color:var(--ink);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar .bt{position:relative;background:var(--pa2);border-radius:3px;height:22px}
.bar .bf{height:100%;background:linear-gradient(90deg,var(--ac2),var(--ac));border-radius:3px;min-width:2px}
.bar .bv{position:absolute;right:8px;top:0;line-height:22px;font-family:var(--m);font-size:11.5px;color:var(--ink)}
.bar .bf.lo+.bv{color:var(--ink)}
@media (max-width:620px){ .bar{grid-template-columns:96px 1fr} }

/* ── example detail pages ── */
.syml{list-style:none;padding:0;margin:0 0 1.2em;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px 14px}
.syml li{margin:0}
.syml code{background:0;border:0;padding:0;font-size:13.5px}
.exnav{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--ln);margin-top:28px;padding-top:16px}
.pn{font-size:13.5px;max-width:48%}
.pn.next{text-align:right;margin-left:auto}
pre.shell code span{display:block}
.walk{display:inline-block;margin:6px 0 0;font-family:var(--m);font-size:12.5px}
.walk::after{content:" →"}

/* ══ round 3 · GitHub-style repository chrome ══ */
.gh{background:var(--pa);border-bottom:1px solid var(--ln)}
.ghi{max-width:1340px;margin:0 auto;padding:0 24px}
.ghtop{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;padding:14px 24px 12px}
.ghmk{display:inline-flex;color:var(--ink)}
.ghmk:hover{text-decoration:none}
.ghpath{font-size:17px;font-weight:400;letter-spacing:-.01em;margin:0;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.ghpath .own{color:var(--lk);font-weight:500}
.ghpath .repo{color:var(--lk);font-weight:700}
.ghpath .vis{font-family:var(--m);font-size:11px;font-weight:400;color:var(--mut);border:1px solid var(--ln);border-radius:20px;padding:1px 9px;letter-spacing:0}
.ghact{margin-left:auto;display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.ghb{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink);border:1px solid var(--ln);background:var(--pa2);border-radius:6px;padding:4px 10px;font-weight:500}
.ghb:hover{text-decoration:none;border-color:var(--mut)}
.ghb svg{width:15px;height:15px;fill:currentColor;opacity:.8}
.ghb .c{font-family:var(--m);font-size:11.5px;color:var(--mut);border-left:1px solid var(--ln);padding-left:7px;margin-left:1px}
.ghb.star svg{fill:var(--ac)}
.ghsi{font-size:12.5px;color:#fff;background:var(--ac);border:1px solid var(--ac2);border-radius:6px;padding:5px 13px;font-weight:600}
.ghsi:hover{background:var(--ac2);text-decoration:none}
.ghtabs{display:flex;gap:2px;overflow-x:auto;padding:0 24px;scrollbar-width:none}
.ghtabs::-webkit-scrollbar{display:none}
.ghtabs a{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:13.5px;color:var(--ink);padding:9px 12px 12px;border-bottom:2px solid transparent;margin-bottom:-1px}
.ghtabs a:hover{text-decoration:none;background:var(--pa2);border-radius:6px 6px 0 0}
.ghtabs a svg{width:15px;height:15px;fill:currentColor;opacity:.62}
.ghtabs a .tn{font-family:var(--m);font-size:11px;color:var(--mut);background:var(--pa2);border:1px solid var(--ln2);border-radius:20px;padding:0 7px;line-height:17px}
.ghtabs a.on{border-bottom-color:var(--ac);font-weight:600}
.ghtabs a.on svg{opacity:1;fill:var(--ac)}

/* repo home (Code tab) */
.repo-wrap{max-width:1340px;margin:0 auto;padding:22px 24px 10px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:0 32px}
@media (max-width:980px){.repo-wrap{grid-template-columns:1fr}}
.repo-main{min-width:0}
.repobar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 15px}
.branch{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;border:1px solid var(--ln);background:var(--pa2);border-radius:6px;padding:5px 11px;color:var(--ink)}
.branch svg{width:14px;height:14px;fill:var(--mut)}
.branch .caret{color:var(--mut);font-size:10px}
.refstat{font-size:12.5px;color:var(--mut);font-family:var(--m)}
.refstat b{color:var(--ink)}
.repobar .right{margin-left:auto;display:flex;gap:8px}
.gofile{font-size:12.5px;color:var(--mut);border:1px solid var(--ln);border-radius:6px;padding:5px 11px;background:var(--pa)}
.codebtn{font-size:12.5px;font-weight:600;color:#fff;background:var(--ok);border:1px solid #2a5e3c;border-radius:6px;padding:5px 13px;display:inline-flex;gap:6px;align-items:center}
.codebtn:hover{text-decoration:none;background:#275b39}
.codebtn svg{width:14px;height:14px;fill:#fff}
.flist{border:1px solid var(--ln);border-radius:7px;overflow:hidden;margin:0 0 22px}
.flrow{display:grid;grid-template-columns:22px 230px 1fr auto;gap:0 14px;align-items:center;padding:8px 15px;border-top:1px solid var(--ln2);font-size:13.5px}
.flrow:first-child{border-top:0}
.flrow.commit{background:var(--pa2);color:var(--mut);font-size:12.5px;grid-template-columns:24px 1fr auto}
.flrow.commit .av{width:18px;height:18px;border-radius:50%}
.flrow .ic{color:var(--mut);display:flex}
.flrow .ic svg{width:16px;height:16px;fill:currentColor}
.flrow .ic.dir svg{fill:var(--lk)}
.flrow .nm a{color:var(--ink)}
.flrow .nm a:hover{color:var(--lk)}
.flrow .msg{color:var(--mut);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.flrow .msg a{color:var(--mut)}
.flrow .age{color:var(--mut);font-size:12px;font-family:var(--m);white-space:nowrap;text-align:right}
@media (max-width:620px){.flrow{grid-template-columns:20px 1fr auto;gap:0 10px}.flrow .msg{display:none}}
.readme{border:1px solid var(--ln);border-radius:7px;overflow:hidden}
.rdmbar{display:flex;align-items:center;gap:9px;padding:9px 16px;border-bottom:1px solid var(--ln);background:var(--pa2);font-size:13px;font-weight:600}
.rdmbar svg{width:15px;height:15px;fill:var(--mut)}
.rdmbar .toc{margin-left:auto;font-weight:400;font-size:12px;color:var(--mut);font-family:var(--m)}
.rdm{padding:26px 34px 36px}
.rdm>h1:first-child,.rdm>h2:first-child{margin-top:0}
.badges{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 20px}
.badges svg{height:20px;display:block}
.rdm h1{font-size:27px;border-bottom:1px solid var(--ln);padding-bottom:9px;margin:30px 0 14px}
.rdm h2{font-size:19px;border-bottom:1px solid var(--ln);padding-bottom:7px;margin:30px 0 12px}
@media (max-width:620px){.rdm{padding:18px 16px 26px}}

/* About rail */
.about{font-size:13.5px;align-self:start}
@media (min-width:981px){.about{position:sticky;top:12px}}
.about h3{font-family:var(--m);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin:0 0 9px;font-weight:600}
.about>section{padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid var(--ln2)}
.about>section:last-child{border:0}
.about .desc{color:var(--ink);margin:0 0 12px}
.topics{display:flex;flex-wrap:wrap;gap:6px}
.topic{font-size:12px;color:var(--lk);background:#e8f0f7;border-radius:20px;padding:2px 11px}
.about .meta{display:flex;flex-direction:column;gap:7px;margin:12px 0 0;font-size:12.5px;color:var(--mut)}
.about .meta a{color:var(--mut);display:inline-flex;align-items:center;gap:7px}
.about .meta a:hover{color:var(--lk)}
.about .meta svg{width:15px;height:15px;fill:currentColor;opacity:.7}
.relline{display:flex;align-items:center;gap:8px;margin:0 0 8px}
.relline .dot{width:8px;height:8px;border-radius:50%;background:var(--ok);flex:none}
.relline a{color:var(--ink);font-weight:600}
.relline .tag{font-family:var(--m);font-size:11px;color:var(--ok);border:1px solid #bcd7c4;border-radius:20px;padding:0 7px}
.contrib{display:flex;flex-wrap:wrap;gap:6px}
.contrib a{width:30px;height:30px;border-radius:50%;overflow:hidden;display:block;border:1px solid var(--ln)}
.contrib svg{display:block;width:100%;height:100%}
.langbar{display:flex;height:9px;border-radius:5px;overflow:hidden;margin:4px 0 11px}
.langbar span{display:block;height:100%}
.langs{display:flex;flex-direction:column;gap:5px;font-size:12px}
.langs .lg2{display:flex;align-items:center;gap:7px;color:var(--mut)}
.langs .sw{width:9px;height:9px;border-radius:50%;flex:none}
.langs b{color:var(--ink);font-weight:500}
.langs .pc{margin-left:auto;font-family:var(--m)}

/* issues / pulls list */
.listhd{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--ln);border-radius:7px 7px 0 0;background:var(--pa2);padding:10px 15px;font-size:13px}
.listhd .st{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--ink)}
.listhd .st.off{font-weight:400;color:var(--mut)}
.listhd .st svg{width:15px;height:15px;fill:currentColor}
.listhd .sp{margin-left:auto;color:var(--mut);font-size:12.5px}
.ilist{border:1px solid var(--ln);border-top:0;border-radius:0 0 7px 7px;overflow:hidden;margin:0 0 24px}
.irow{display:grid;grid-template-columns:22px 1fr auto;gap:0 12px;padding:12px 15px;border-top:1px solid var(--ln2)}
.irow:first-child{border-top:0}
.irow .ico{margin-top:1px}
.irow .ico svg{width:16px;height:16px}
.irow .ico.op svg{fill:var(--ok)}
.irow .ico.cl svg{fill:#8250df}
.irow .ico.clx svg{fill:var(--no)}
.it{font-size:15px;font-weight:600;color:var(--ink)}
.it a{color:var(--ink)}
.it a:hover{color:var(--lk)}
.imeta{font-size:12px;color:var(--mut);margin:4px 0 0}
.lbls{display:inline-flex;flex-wrap:wrap;gap:5px;margin-left:4px;vertical-align:middle}
.lbl{font-size:11px;font-weight:600;border-radius:20px;padding:1px 9px;border:1px solid transparent}
.lbl.bug{background:#ffd9d4;color:#8a2622}
.lbl.enh{background:#d6e9ff;color:#1b4f82}
.lbl.doc{background:#d4f0e0;color:#1d6b43}
.lbl.wont{background:#efe2cf;color:#7a5417}
.lbl.perf{background:#efdcff;color:#5a2b85}
.lbl.question{background:#f0e0b8;color:#6e5212}
.irow .cc{font-size:12px;color:var(--mut);display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.irow .cc svg{width:14px;height:14px;fill:var(--mut)}
@media (max-width:620px){.irow{grid-template-columns:20px 1fr}.irow .cc{display:none}}

/* releases */
.rels{display:grid;grid-template-columns:200px 1fr;gap:0 36px}
@media (max-width:820px){.rels{grid-template-columns:1fr}.reltags{display:none}}
.reltags{align-self:start;font-size:13px;position:sticky;top:12px}
.reltags h3{font-family:var(--m);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin:0 0 10px}
.reltags a{display:flex;align-items:center;gap:8px;padding:5px 0;color:var(--ink);font-family:var(--m);font-size:12.5px}
.reltags a:hover{color:var(--lk)}
.reltags .latest{font-size:10px;color:var(--ok);border:1px solid #bcd7c4;border-radius:20px;padding:0 6px}
.relcard{border-bottom:1px solid var(--ln);padding:0 0 28px;margin:0 0 28px;scroll-margin-top:12px}
.relcard .rh{display:flex;align-items:baseline;gap:11px;flex-wrap:wrap;margin:0 0 4px}
.relcard h2{font-size:22px;border:0;padding:0;margin:0}
.relcard .lt{font-size:11px;font-weight:700;color:#fff;background:var(--ok);border-radius:20px;padding:2px 10px}
.relcard .by{font-size:12.5px;color:var(--mut);margin:0 0 15px}
.relcard .by b{color:var(--ink);font-weight:600}
.assets{border:1px solid var(--ln);border-radius:7px;margin:16px 0 0;overflow:hidden}
.assets .ah{background:var(--pa2);border-bottom:1px solid var(--ln);padding:7px 14px;font-size:12px;font-weight:600;color:var(--mut)}
.asset{display:flex;align-items:center;gap:10px;padding:9px 14px;border-top:1px solid var(--ln2);font-size:13px}
.asset:first-of-type{border-top:0}
.asset svg{width:16px;height:16px;fill:var(--mut)}
.asset .nm{color:var(--lk);font-weight:500}
.asset .sz{margin-left:auto;font-family:var(--m);font-size:12px;color:var(--mut)}

/* sign in */
.signwrap{max-width:340px;margin:50px auto 70px;padding:0 20px}
.signlogo{text-align:center;margin:0 0 22px}
.signlogo svg{width:46px;height:46px}
.signh{text-align:center;font-size:22px;font-weight:400;margin:0 0 20px}
.signbox{border:1px solid var(--ln);border-radius:8px;background:var(--pa2);padding:18px 18px 22px}
.fld2{margin:0 0 14px}
.fld2 label{display:block;font-size:13px;font-weight:600;margin:0 0 6px}
.fld2 .fp{float:right;font-weight:400;font-size:12.5px}
.fld2 input{width:100%;font:14px var(--s);padding:8px 11px;border:1px solid var(--ln);border-radius:6px;background:var(--pa);color:var(--ink)}
.fld2 input:focus{outline:2px solid var(--ac);outline-offset:-1px;border-color:var(--ac)}
.signsub{width:100%;font:600 14px var(--s);color:#fff;background:var(--ok);border:1px solid #2a5e3c;border-radius:6px;padding:10px;cursor:pointer}
.signsub:hover{background:#275b39}
.signmsg{margin:14px 0 0;padding:10px 13px;border-radius:6px;font-size:13px;display:none}
.signmsg.err{display:block;background:#fbe3e0;border:1px solid #e9b9b2;color:#8a2622}
.signmsg.info{display:block;background:#e9f1fb;border:1px solid #bcd3e6;color:#1b4f82}
.signalt{text-align:center;border:1px solid var(--ln);border-radius:8px;padding:15px;margin:16px 0 0;font-size:13px;color:var(--mut)}
.mirror{font-size:12px;color:var(--mut);text-align:center;margin:18px 0 0;line-height:1.5}
