@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/sans-400-normal.woff2) format('woff2')}
@font-face{font-family:"Source Sans 3";font-style:italic;font-weight:400;font-display:swap;src:url(/static/fonts/sans-400-italic.woff2) format('woff2')}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/sans-600-normal.woff2) format('woff2')}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(/static/fonts/sans-700-normal.woff2) format('woff2')}
:root{--accent:#44467d;--accentdark:#35366b;--accentsoft:#f3f4fd;--focus:#c4c8e8;--heat0:#ebedf0;--heat1:#c4c8e8;--heat2:#959acb;--heat3:#6a6ea8;--heat4:#44467d;--fg:#212529;--muted:#6c757d;--line:#dee2e6;--soft:#f8f9fa;--bar:#ddd;--add:#1a7f37;--del:#c0392b;--addbg:#e6ffec;--delbg:#ffebe9;--code:#f8f9fa}
*{box-sizing:border-box}
html{font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","DejaVu Sans",Arial,sans-serif;background:#fff;color:var(--fg)}
body{margin:0}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
code,pre,.hash,.mode,.blob,.hunk,.code,textarea{font-family:"DejaVu Sans Mono",Menlo,Consolas,"Liberation Mono","SF Mono",monospace;font-size:13px}
pre{background:var(--code);padding:.6rem .8rem;overflow-x:auto;border:1px solid var(--line)}
pre.plain{background:none;border:0;padding:0}
h1{font-size:1.6rem;font-weight:500;margin:0 0 .2rem}
h2{font-size:1.4rem;font-weight:500;margin:0}
h3{font-size:1.15rem;font-weight:500;margin:0 0 .6rem;padding-bottom:.3rem;border-bottom:1px solid var(--line)}
h3.rule{margin-top:.5rem}
h4{font-size:1rem;font-weight:500;margin:1rem 0 .4rem}
h4 a{color:var(--fg)}
.muted,.when{color:var(--muted)}
.small{font-size:.85rem}
.tag{font-size:.75rem;border:1px solid var(--line);padding:0 .3rem;color:var(--muted);vertical-align:middle}
.error{color:var(--del);border:1px solid var(--del);padding:.4rem .6rem;background:#fff}
.notice{border:1px solid var(--add);padding:.4rem .6rem;background:var(--addbg)}
.inner,nav.site,nav.subtabs,main{max-width:1140px;margin:0 auto;padding-left:1rem;padding-right:1rem}
header{margin-bottom:1rem}
nav.site{display:flex;gap:1rem;align-items:center;padding-top:.5rem;padding-bottom:.5rem;flex-wrap:wrap}
nav.site .brand{font-size:1.25rem;color:var(--fg);margin-right:.5rem}
nav.site{color:var(--muted)}
nav.site a{color:var(--muted)}
nav.site .brand{color:var(--fg)}
nav.site .spacer{flex:1}
nav.site form{display:inline}
nav.site button{background:none;border:0;color:var(--muted);cursor:pointer;font:inherit;padding:0}
nav.subtabs{display:flex;gap:0;padding-top:.2rem;border-bottom:1px solid var(--bar);max-width:none}
nav.subtabs a:first-child{margin-left:max(1rem,calc((100% - 1140px)/2 + 1rem))}
nav.subtabs a,nav.tabs a{color:var(--muted);padding:.3rem .9rem}
nav.subtabs a.active{background:#e9ecef;color:var(--fg)}
nav.subtabs a:hover,nav.tabs a:hover{text-decoration:none;color:var(--fg)}
.repohead{margin-top:-1rem}
.repohead h2{padding:.4rem 0 .3rem;font-size:1.9rem}
.tabbar{background:var(--bar)}
nav.tabs{display:flex}
nav.tabs a{padding:.25rem .9rem}
nav.tabs a.active{background:#fff;color:var(--fg)}
.repohead .desc{margin:0 0 .4rem;color:var(--muted)}
.repohead+main{margin-top:1rem}
.repohead+main{margin-top:0;padding-top:.6rem}
body.fluid .inner,body.fluid nav.site,body.fluid main{max-width:none;margin:0}
body.fluid .filebar{margin-bottom:0}
body.fluid main.file{padding-top:.9rem}
.summary{padding-top:.4rem}
.summary{margin-top:.2rem;display:grid;grid-template-columns:4fr 1.5fr 2.6fr;gap:2rem;margin-bottom:1.5rem;align-items:start}
.summary .event{background:var(--soft);padding:.4rem .5rem .5rem;margin-bottom:.6rem}
.summary .event .row{display:flex;justify-content:space-between;gap:1rem}
.summary .event .when{font-size:.85rem;color:var(--accent);text-decoration:underline}
.summary .event .hash{text-decoration:underline}
.summary .subject{margin:.3rem 0 0;background:none;border:0;padding:0;white-space:pre-wrap}
.summary h3{font-weight:400;font-size:1.25rem;margin:0 0 .5rem}
.summary .ref{margin-bottom:.6rem}
.summary .ref a,.summary .clone a{text-decoration:underline}
.summary .clone strong{display:block;margin-top:.4rem}
.summary .clone div{margin-bottom:.2rem;overflow-wrap:anywhere}
.readme{max-width:920px}
.readme>article>h1:first-child{margin-top:0}
@media(max-width:900px){.summary{grid-template-columns:1fr}}
.repohead+main{margin-top:0}
main{padding-bottom:3rem}
.panel{background:var(--soft);padding:.8rem 1rem;margin-bottom:1.5rem}
.panel.narrow{max-width:34rem;margin:1rem auto}
.panel .btn{margin-top:.6rem}
.panel p{margin:.4rem 0 .6rem}
.btn{display:inline-block;font:inherit;font-size:.9rem;background:#e9ecef;color:var(--fg);border:1px solid #ccc;padding:.25rem .7rem;cursor:pointer;line-height:1.4}
.btn:hover{text-decoration:none;background:#dde1e5}
.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn.primary:hover{background:var(--accentdark);border-color:var(--accentdark)}
.btn.danger{background:#fff;color:var(--del);border-color:var(--del)}
.events .event{background:var(--soft);padding:.25rem .5rem .4rem;margin-bottom:.6rem;border-bottom:0}
.event h4{font-size:1rem;font-weight:400;margin:0 0 .2rem;padding-bottom:.15rem;border-bottom:1px solid var(--line)}
.event h4 a{color:var(--accent)}
.event p{margin:0;font-size:.95rem}
.columns{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:2.5rem;align-items:start}
.columns.user{grid-template-columns:230px minmax(0,1fr);gap:2rem}
.userhead{display:flex;align-items:flex-end;gap:1.2rem;border-bottom:1px solid var(--bar);margin:-1rem 0 1rem;padding:0}
.userhead h2{font-size:1.7rem;padding-bottom:.2rem}
nav.tabs.small{background:#e9ecef;align-self:flex-end;margin-bottom:.3rem}
nav.tabs.small a{padding:.1rem .8rem}
nav.tabs.small a.active{background:#ddd}
.profile .avatar{display:block;width:230px;height:230px;margin-bottom:.9rem;border-radius:6px}
.profile p{margin:.2rem 0}
.profile .name{font-weight:600;font-size:1.35rem;line-height:1.25;margin:0}
.profile .btn.block{display:block;text-align:center;margin-top:.45rem}
.info{background:var(--accentsoft);color:var(--fg);padding:.5rem .7rem;border:1px solid var(--focus);margin:0}
.avatar{object-fit:cover;border:1px solid var(--line);background:var(--soft)}
.bio{margin:.5rem 0 .6rem}
.bio p{margin:.3rem 0}
ul.side,ul.files{list-style:none;padding:0;margin:0}
ul.side li{padding:.15rem 0}
dl.clone{margin:0 0 1rem}
dl.clone dt{color:var(--muted);font-size:.85rem}
dl.clone dd{margin:0 0 .4rem;overflow-wrap:anywhere}
dl.meta{display:grid;grid-template-columns:6em 1fr;gap:.15rem .5rem;margin:0 0 .8rem}
dl.meta dt{color:var(--muted)}
dl.meta dd{margin:0;overflow-wrap:anywhere}
.log .event{padding:.5rem 0;border-bottom:1px solid var(--line)}
.event .subject{color:var(--fg)}
.event pre.body{margin:.4rem 0 0}
.filebar{display:flex;gap:1.2rem;align-items:baseline;border-bottom:1px solid var(--bar);padding:0 1rem .25rem;margin:-.6rem -1rem 0;flex-wrap:wrap}
.filebar .spacer{flex:1}
.filebar a.active{color:var(--fg);border-bottom:2px solid var(--fg);padding-bottom:.2rem}
.filebar a{color:var(--muted)}
.filebar .crumbs a{color:var(--accent);text-decoration:underline}
.filebar .mode{color:var(--muted);font-family:inherit;font-size:inherit}
.filebar .lastcommit{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40rem}
.readme,.bio,.comment .readme{font-family:"Source Sans 3",system-ui,sans-serif;font-size:17px;line-height:1.55}
.readme code,.readme pre{font-size:13.5px}
.readme p{margin:.6rem 0}
.readme img{max-width:100%}
.readme table{border-collapse:collapse}
.readme td,.readme th{border:1px solid var(--line);padding:.2rem .5rem}
.readme code{background:var(--code);padding:.05rem .25rem}
.readme pre code{padding:0;background:none}
.readme h1{font-size:1.5rem;margin:.6rem 0}
.readme h2{font-size:1.25rem;margin:1rem 0 .5rem;border-bottom:1px solid var(--line);padding-bottom:.2rem}
.readme h3{border:0;font-size:1.1rem;margin:.8rem 0 .3rem}
.readme blockquote{border-left:3px solid var(--line);margin:0;padding:0 1rem;color:var(--muted)}
table{border-collapse:collapse}
table.tree{width:100%}
table.tree td{padding:.25rem .8rem .25rem 0;white-space:nowrap}
table.tree .mode{color:var(--muted)}
table.tree .size{color:var(--muted);text-align:right}
table.tree .last{max-width:30rem;overflow:hidden;text-overflow:ellipsis;width:100%}
table.tree .when{text-align:right}
table.refs td,table.keys td{padding:.3rem 1rem .3rem 0;border-bottom:1px solid var(--line)}
.code{margin:0 -1rem;line-height:1.45;min-height:70vh}
.code .chroma .lntable{width:auto;min-width:0}
.code .chroma .lntd:last-child{border-right:1px solid var(--bar);min-width:calc(80ch + 1rem);padding-right:1rem;width:auto}
table.blob{width:100%}
table.blob td,table.hunk td,.code td{padding:0 .5rem;white-space:pre;vertical-align:top}
td.n{text-align:right;color:var(--muted);user-select:none;width:1%}
td.n a{color:var(--accent);text-decoration:underline}
table.blob td.n{border-right:1px solid var(--bar);padding:0 .5rem 0 .6rem}
td.l{white-space:pre-wrap;overflow-wrap:anywhere;width:100%}
tr:target td{background:#fff8c5}
.code pre,.code .chroma{background:#fff;border:0;padding:0;margin:0}
.code .chroma table.lntable{width:auto}
.code .lntable{margin-top:0}
.code .lntd:first-child{width:auto;user-select:none;border-right:1px solid var(--bar);padding-top:.4rem;vertical-align:top}
.code .lntd:last-child{padding-top:.4rem}
.code .lntd:first-child{min-height:70vh}
.code .lnlinks{text-decoration:underline}
.code .lnt{padding-right:.5rem}
.code .lnt,.code .ln{color:var(--accent);margin-right:0;padding:0 .5rem 0 .4rem}
.code .lntd a{color:var(--accent);text-decoration:none}
.code .lntd:last-child{padding-left:.6rem}
.code .line:target,.code .line:target .cl{background:#fff8c5}
table.hunk{width:100%;border:1px solid var(--line)}
.hunk .head td{color:var(--muted);background:var(--soft)}
.hunk tr.add td{background:var(--addbg)}
.hunk tr.del td{background:var(--delbg)}
.hunk tr.meta td{color:var(--muted)}
.add{color:var(--add)}
.del{color:var(--del)}
.diff{margin-bottom:1.5rem}
.files{margin-bottom:1.2rem}
.files li{padding:.1rem 0}
form.stack{display:flex;flex-direction:column;gap:.7rem;max-width:34rem}
form.stack.wide{max-width:52rem}
form.stack label{display:flex;flex-direction:column;gap:.25rem}
form.stack label.check{flex-direction:row;align-items:center;gap:.5rem}
form.stack small{color:var(--muted)}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
input,textarea{font:inherit;color:var(--fg);background:#fff;border:1px solid #ced4da;padding:.35rem .55rem}
input:disabled{background:#e9ecef}
input:focus,textarea:focus{outline:2px solid var(--focus);border-color:var(--accent)}
input[type=file]{border:0;padding:0}
.actions{display:flex;justify-content:flex-end;gap:.5rem}
.actions.left{justify-content:flex-start}
.avatarform{display:grid;grid-template-columns:160px 1fr;gap:1.2rem;margin-bottom:1.2rem;align-items:start}
.avatarform .avatarbox{width:160px;height:160px;border:1px solid var(--line);background:#fff}
.avatarform .avatar{width:158px;height:158px;border:0}
.avatarform label{display:block;margin-bottom:.3rem}
.avatarform small{display:block;color:var(--muted);margin-bottom:.5rem}
.cropper canvas{display:block;max-width:100%;border:1px solid var(--line);cursor:move;touch-action:none}
.cropper input[type=range]{width:100%;padding:0}
@media(max-width:800px){.columns,.columns.user,.pair,.avatarform{grid-template-columns:1fr}.profile .avatar{width:120px;height:120px}}
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}
.twocol label{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.8rem}
.twocol .legend{display:block;margin-bottom:.4rem}
.twocol label.radio,.modes label.radio{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.6rem}
.twocol label.radio small,.modes label.radio small{flex-basis:100%;color:var(--muted);padding-left:1.4rem}
.modes input[type=radio]{width:auto;margin:0}
h3.plain{border:0;font-size:1.25rem}
.columns.browse{grid-template-columns:minmax(0,2fr) 1fr}
.search input[name=search],.search input[name=q]{width:100%}
.search .sort{display:flex;justify-content:flex-end;align-items:center;gap:1rem;margin:.5rem 0 1rem}
.search .sort label{display:flex;align-items:center;gap:.3rem}
.event .tags a{color:var(--muted);text-decoration:underline;margin-right:.6rem;font-size:.9rem}
.event p.tags{margin-top:.15rem}
.btn.block{display:block;text-align:center}
.titlerow{display:flex;align-items:center;gap:1rem}
.titlerow form{margin:0}
.count{background:#e9ecef;border-radius:.6rem;padding:0 .4rem;font-size:.8rem;color:var(--fg)}
.pullhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
nav.filters a{margin-right:1rem;color:var(--muted)}
nav.filters a.active{color:var(--fg);font-weight:600}
.state{display:inline-block;font-size:.75rem;padding:0 .4rem;border-radius:3px;color:#fff;vertical-align:middle;text-transform:lowercase;margin-right:.45rem}
.state.open{background:#1a7f37}
.state.merged{background:#6f42c1}
.state.closed{background:#c0392b}
.pulltitle{margin-bottom:1rem}
.pulltitle p{margin:.2rem 0}
.columns.pullbody{grid-template-columns:minmax(0,1fr) 20rem;margin-bottom:1.5rem}
.comment{border:1px solid var(--line);margin-bottom:.8rem}
.comment .who{background:var(--soft);padding:.3rem .6rem;border-bottom:1px solid var(--line)}
.comment .readme{padding:.4rem .6rem}
.comment .readme p{margin:.3rem 0}
.btn.block+form{margin-top:.4rem}
.btn:disabled{opacity:.5;cursor:default}
select{font:inherit;padding:.35rem .5rem;border:1px solid #ced4da;background:#fff}
.mergeform{max-width:none;margin:.4rem 0 .8rem}
.mergeform input,.mergeform textarea{width:100%}
.mergeform .actions{gap:.4rem}
.panel a.btn.block{margin-top:.4rem}
.verified{display:inline-block;font-size:.72rem;border:1px solid #1a7f37;color:#1a7f37;border-radius:3px;padding:0 .3rem;vertical-align:middle;margin-left:.3rem}
.verified.unknown{border-color:var(--muted);color:var(--muted)}
.auth{max-width:920px;margin:0 auto}
.auth h3 small{font-size:.9rem;font-weight:400;margin-left:.5rem}
.auth p{margin:.6rem 0 1rem}
form.stack.centred{margin:0 auto 1.2rem;max-width:34rem}
form.stack.centred input{width:100%}
.privacy{background:#fff3cd;border:1px solid #ffeeba;color:#5c4b00;padding:.6rem .8rem}
.filesearch input{padding:.15rem .4rem;font-size:.9rem;width:12rem}
.hits{margin-bottom:1rem}
.hits h4{margin:0 0 .2rem}
.hits table.blob{border:1px solid var(--line)}
mark{background:#fff3b0;padding:0}
.hunk td.n a{color:var(--accent);text-decoration:none}
.hunk td.n a:hover{text-decoration:underline;font-weight:600}
.hunk tr.inline td{white-space:normal;padding:.4rem .6rem;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hunk tr.inline .comment{margin:0;max-width:60rem}
.hunk tr.inline.resolved .comment{opacity:.7}
.comment .who{display:flex;gap:.5rem;align-items:center}
.comment .tools{margin-left:auto;display:flex;gap:.6rem}
.comment .tools form{display:inline}
.comment .tools button{background:none;border:0;color:var(--muted);cursor:pointer;font:inherit;font-size:.85rem;padding:0}
.comment .tools button:hover{color:var(--fg);text-decoration:underline}
.reviewform{margin:0}
.reviewform textarea{width:100%}
.comment.outdated{opacity:.8}
.mergeform label.radio{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.1rem}
.mergeform label.radio small{flex-basis:100%;color:var(--muted);padding-left:1.4rem}
.btn.starred{background:#fff3cd;border-color:#ffe08a}
.btn.static{cursor:default}
.archived{background:#fff3cd;border:1px solid #ffeeba;color:#5c4b00;padding:.3rem .6rem;margin:.4rem 0 0}
.compareform{display:flex;gap:.6rem;align-items:flex-end;margin-bottom:1rem;flex-wrap:wrap}
.compareform label{display:flex;flex-direction:column;font-size:.85rem;color:var(--muted)}
table.blame{width:100%}
table.blame td{padding:0 .5rem;white-space:pre;vertical-align:top}
table.blame td.who{width:1%;white-space:nowrap;color:var(--muted);font-family:system-ui,sans-serif;font-size:.8rem;border-right:1px solid var(--bar);padding-right:.8rem}
table.blame tr.first td{border-top:1px solid var(--line)}
table.blame td.l{white-space:pre-wrap;overflow-wrap:anywhere;width:100%}
table.blame td.n{border-right:1px solid var(--bar)}
.actions a.muted{margin-right:auto;align-self:center}
.event h4{display:flex;align-items:baseline;flex-wrap:wrap}
.event h4 .muted{margin-left:.4rem}
.event h4 .tag{margin-left:.4rem}
.event h4 .starcount{margin-left:auto;color:var(--muted);font-size:.85rem;font-weight:400}
.label{display:inline-block;color:#fff;font-size:.75rem;padding:0 .45rem;border-radius:.6rem;vertical-align:middle;line-height:1.4;font-weight:500;text-shadow:0 0 2px rgba(0,0,0,.3);margin-left:.35rem}
.labelbar .label,.metaform .label,table .label{margin-left:0}
a.label{opacity:.75}a.label.on,a.label:hover{opacity:1;text-decoration:none}
.labelbar{margin:-.4rem 0 1rem}
.state.draft{background:var(--muted)}
.verdict{font-size:.8rem;padding:0 .35rem;border-radius:3px;border:1px solid}
.verdict.approved{color:#1a7f37;border-color:#1a7f37}
.verdict.changes{color:#c0392b;border-color:#c0392b}
.verdict.comment{color:var(--muted);border-color:var(--line)}
.comment.review.approved .who{background:#e6ffec}
.comment.review.changes .who{background:#ffebe9}
.reviewverdict{margin-top:1.2rem;border-top:1px solid var(--line);padding-top:.6rem}
.reviewverdict h4{margin:0 0 .3rem}
.reviewverdict label.radio{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.1rem}
.reviewverdict label.radio small{flex-basis:100%;color:var(--muted);padding-left:1.4rem}
.panel.meta h4{margin:.2rem 0 .3rem}
.metaform{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.6rem}
.metaform label.check{display:flex;align-items:center;gap:.4rem;font-size:.9rem}
.btn.small{font-size:.8rem;padding:.1rem .5rem;align-self:flex-start;margin-top:.3rem}
.editform{max-width:none}
.editform textarea{width:100%;font-size:13px;line-height:1.45;tab-size:4}
.inlineform{display:inline}
.linkbutton{background:none;border:0;padding:0;font:inherit;color:var(--muted);cursor:pointer}
.linkbutton:hover{color:var(--del);text-decoration:underline}
.landing{margin:0}
.landing>p{margin:.2rem 0 1rem}
.landing a.arrow{text-decoration:underline}
h3.featured{font-size:1.3rem;font-weight:400;margin:2rem 0 .5rem}
.featuredgrid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1rem}
.feature{background:var(--soft);padding:.5rem .5rem .9rem}
.feature h4{margin:0 0 .4rem;font-weight:700}
.feature h4 a{color:var(--accent)}
.feature h4 a.owner{color:var(--muted)}
.feature blockquote{margin:0 0 .5rem;padding:0 0 0 .5rem;border-left:2px solid #aaa}
.feature .tags{margin:0}
.feature .tags a{color:var(--muted);text-decoration:underline;margin-right:.75rem}
.landing .more{display:flex;justify-content:flex-end;margin-top:.9rem}
.landing .more .btn{min-width:20rem;text-align:center}
@media (max-width:700px){.featuredgrid{grid-template-columns:1fr}.landing .more .btn{min-width:0;width:100%}}
.readme video,.readme img{max-width:100%;height:auto}
.auth{white-space:nowrap}
.pickaxe{display:flex;gap:.5rem;margin:0 0 1rem;flex-wrap:wrap}.pickaxe input{flex:1;min-width:14rem}
.pickaxe select{font:inherit;color:var(--fg);background:#fff;border:1px solid #ced4da;padding:.3rem .4rem}
.feedlink{margin-right:.6rem}
.revisions{display:flex;flex-direction:column;gap:.2rem;margin:0 0 1rem}
.revpick{display:flex;gap:.4rem;flex-wrap:wrap;margin:0 0 .8rem}
.revpick a{padding:.15rem .5rem;border:1px solid var(--line);color:var(--fg)}
.revpick a.active{background:var(--soft);border-color:#999}
pre.rangediff{line-height:1.45}
.rangediff span{display:block}
.rangediff .add{background:var(--addbg)}
.rangediff .del{background:var(--delbg)}
.rangediff .hunk{color:var(--muted)}
.rangediff .same{color:var(--muted)}
.rangediff .changed{font-weight:700;color:#8a5a00}
.rangediff .new{font-weight:700;color:var(--add)}
.rangediff .gone{font-weight:700;color:var(--del)}
table.hunk td.l,.hunk .head td{white-space:pre-wrap;overflow-wrap:anywhere;width:100%}
table.hunk{table-layout:auto}
pre.rangediff,pre.body{white-space:pre-wrap;overflow-wrap:anywhere}
.activity{margin:0 0 1.2rem;padding:.5rem .6rem .3rem;background:var(--soft)}
.activity p{margin:0 0 .3rem}
.heathead{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;flex-wrap:wrap;margin-bottom:.3rem}
.years{display:flex;gap:.2rem;flex-wrap:wrap;font-size:.8rem}
.years a{color:var(--muted);padding:0 .35rem}
.years a.active{background:var(--accent);color:#fff}
.heat{display:grid;grid-template-columns:2rem 1fr;grid-template-rows:auto auto;font-size:9px;color:var(--muted);font-family:system-ui,sans-serif}
.heat .months{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(var(--weeks),1fr);height:1.1rem}
.heat .months span{white-space:nowrap}
.heat .days{grid-column:1;grid-row:2;display:grid;grid-template-rows:repeat(7,1fr);gap:2px}
.heat .days span{line-height:1;display:flex;align-items:center}
.heat .cells{grid-column:2;grid-row:2;display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,auto);grid-template-columns:repeat(var(--weeks),1fr);gap:2px}
.heat .c,.heat .pad{aspect-ratio:1;border-radius:2px;position:relative}
.heat .c:hover,.heat .c:focus{outline:1px solid var(--fg);outline-offset:0}
.heat .c:hover::after,.heat .c:focus::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#16181b;color:#fff;font-size:12px;padding:.2rem .45rem;border-radius:3px;white-space:nowrap;z-index:5;pointer-events:none}
.heat .c.l:hover::after,.heat .c.l:focus::after{left:0;transform:none}
.heat .c.r:hover::after,.heat .c.r:focus::after{left:auto;right:0;transform:none}
.h0{background:var(--heat0)}.h1{background:var(--heat1)}.h2{background:var(--heat2)}.h3{background:var(--heat3)}.h4{background:var(--heat4)}
.activity .legend{display:flex;align-items:center;gap:3px;justify-content:flex-end;margin:.3rem 0 0}
.activity .legend i{display:inline-block;width:10px;height:10px;border-radius:2px}
.profile .ident{margin-bottom:.7rem}
.profile .handle{color:var(--muted);font-size:1.05rem;margin:0}
.profile .bio{margin:0 0 .8rem}
.profile .bio p{margin:0 0 .4rem}
.facts{list-style:none;margin:0 0 1rem;padding:0;font-size:.92rem;color:var(--muted)}
.facts li{display:flex;align-items:center;gap:.45rem;margin:.25rem 0;min-width:0}
.facts a{color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.facts svg{flex:none;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.ownactions{border-top:1px solid var(--line);padding-top:.6rem}
.profile .bio.readme,.profile .bio.readme p{font-family:inherit;font-size:.98rem;line-height:1.5}
.navsearch{flex:0 1 20rem;margin-left:.5rem}
.navsearch input{width:100%;padding:.2rem .55rem;font-size:.9rem}
.searchpage{display:grid;grid-template-columns:15rem 1fr;gap:2rem;align-items:start}
.dot{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;margin-right:.4rem;vertical-align:-.05rem;border:1px solid rgba(0,0,0,.12)}
.bigsearch{display:flex;gap:.5rem;margin:0 0 1.2rem 17rem}
.bigsearch input{flex:1;font-size:1rem;padding:.45rem .7rem}
.resulthead{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:.4rem;margin-bottom:.2rem}
.resulthead h3{margin:0;border:0;padding:0;font-size:1.05rem}
.sorts{display:flex;gap:.8rem;font-size:.85rem}
.sorts a{color:var(--muted)}
.sorts a.active{color:var(--fg);font-weight:600}
.hit{padding:.9rem 0;border-bottom:1px solid var(--line)}
.hit h4{margin:0 0 .25rem;font-size:1.05rem;font-weight:600}
.hit h4 a{color:var(--accent)}
.hit h4 a.owner{color:var(--muted)}
.hit p{margin:.15rem 0}
.hit .tags a{color:var(--muted);text-decoration:underline;margin-right:.6rem;font-size:.85rem}
.hit .meta{display:flex;gap:1.1rem;flex-wrap:wrap;color:var(--muted);font-size:.85rem;margin-top:.35rem}
.hit.user{display:grid;grid-template-columns:3rem 1fr;gap:.9rem;align-items:start}
.hitavatar img,.hitavatar span{display:flex;width:3rem;height:3rem;border-radius:6px;object-fit:cover;border:1px solid var(--line)}
.hitavatar span{align-items:center;justify-content:center;background:var(--soft);color:var(--muted);font-size:1.3rem;text-transform:uppercase}
.hit .bio{color:var(--fg);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.langbar{display:flex;height:.5rem;border-radius:4px;overflow:hidden;margin:.2rem 0 .5rem;background:var(--line)}
.langbar span{display:block;height:100%}
.langlist{list-style:none;margin:0 0 1.2rem;padding:0;font-size:.85rem;display:flex;flex-wrap:wrap;gap:.2rem 1rem}
.langlist .pct{color:var(--muted);margin-left:.25rem}
@media(max-width:800px){.bigsearch{margin-left:0}.searchpage{grid-template-columns:1fr;gap:.6rem}.navsearch{order:5;flex-basis:100%;margin:0}.facets{display:flex;flex-direction:column;gap:.5rem}.facetbox{padding:.4rem}.facetbox h4{display:none}.facetlist{flex-direction:row;flex-wrap:wrap;gap:.35rem}.facetlist a{border:1px solid var(--line);padding:.2rem .55rem}.facetlist a.active{border-color:var(--accent);box-shadow:none}}
.facetbox{margin-bottom:1.4rem}
.facetbox h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:.15rem .4rem .45rem;font-weight:600}
.facetlist{display:flex;flex-direction:column;gap:1px}
.facetlist a{display:flex;align-items:center;gap:.55rem;padding:.35rem .45rem;color:var(--fg);border-radius:4px;font-size:.93rem}
.facetlist a:hover{background:var(--soft);text-decoration:none}
.facetlist a.active{background:var(--accentsoft);color:var(--accent);font-weight:600;box-shadow:inset 2px 0 0 var(--accent);border-radius:0 4px 4px 0}
.facetlist svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;color:var(--muted)}
.facetlist a.active svg{color:var(--accent)}
.facetlist .dot{margin:0 .1rem 0 .15rem;width:.65rem;height:.65rem}
.facetlist .fname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.facetlist .count{background:none;padding:0;color:var(--muted);font-size:.8rem;font-variant-numeric:tabular-nums;font-weight:400}
.clearfacet{display:block;font-size:.8rem;color:var(--muted);margin:.4rem .45rem .1rem}
@media(max-width:800px){.facetbox{border:0;padding:0;margin:0}.facetlist a{border-radius:14px}.facets{gap:.35rem}}
@media(max-width:800px){.facetlist{flex-direction:row;flex-wrap:wrap;gap:.35rem}.facetlist .fname{flex:none}.facetlist a{gap:.4rem}.facets{flex-direction:row;flex-wrap:wrap}}
.dash{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:start;max-width:52rem}.dash:has(>section+section){grid-template-columns:3fr 2fr;max-width:none}
.dashhead{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-bottom:.6rem;padding-bottom:.3rem}
.dashhead h3{border:0;margin:0;padding:0}
@media(max-width:800px){.dash{grid-template-columns:1fr}}

.orglist{margin:0 0 1rem}
.orglist h4{font-size:.85rem;color:var(--muted);margin:0 0 .4rem;font-weight:600}
.orglist a{display:flex;align-items:center;gap:.5rem;color:var(--fg);margin:.3rem 0}
.orglist img,.orglist span{display:flex;width:1.6rem;height:1.6rem;border-radius:2px;object-fit:cover;font-size:.8rem}
.hit.org .hitavatar span{background:var(--accent);color:#fff;border-radius:2px}
.memberlist{list-style:none;margin:0 0 .8rem;padding:0;max-width:32rem}
.memberlist li{display:flex;align-items:center;justify-content:space-between;padding:.35rem 0;border-bottom:1px solid var(--line)}
.memberlist form{margin:0}
.people h4{font-size:.85rem;color:var(--muted);font-weight:600;margin:0 0 .5rem;padding-bottom:.3rem;border-bottom:1px solid var(--line)}
.people h4~h4{margin-top:1.2rem}
.people h4 .count{font-weight:400;margin-left:.2rem}
.people ul{list-style:none;margin:0;padding:0}
.people li a{display:grid;grid-template-columns:2.2rem 1fr;column-gap:.6rem;align-items:center;padding:.3rem 0;color:var(--fg);text-decoration:none}
.people li img,.people li span{grid-row:1/3;display:flex;width:2.2rem;height:2.2rem;border-radius:50%;object-fit:cover;border:1px solid var(--line)}
.people li b{font-weight:600;font-size:.93rem;line-height:1.2}
.people li small{color:var(--muted);line-height:1.2}
.people li span,.orglist span{align-items:center;justify-content:center;background:var(--accent);color:#fff;font-weight:600;text-transform:uppercase}
.orghead{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1.3rem;align-items:start;margin:-.4rem 0 1.3rem;padding-bottom:1.2rem;border-bottom:1px solid var(--bar)}
.orgmark img,.orgmark span{display:flex;width:6rem;height:6rem;border-radius:10px;object-fit:cover;border:1px solid var(--line);background:var(--soft)}
.orgmark span{align-items:center;justify-content:center;background:var(--accent);color:#fff;font-size:2.6rem;font-weight:600;text-transform:uppercase}
.orgident h2{font-size:1.6rem;line-height:1.2;margin:0}
.orgident .handle{color:var(--muted);margin:.1rem 0 .45rem}
.orgident .bio{margin:0 0 .45rem}
.orgident .bio p{margin:0}
.orgident .facts{display:flex;flex-wrap:wrap;gap:.2rem 1.3rem;margin:0}
.orgident .facts li{margin:0}
.orgactions{display:flex;gap:.5rem}
.columns.orgbody{grid-template-columns:minmax(0,1fr) 280px;gap:2rem}
@media(max-width:800px){.orghead{grid-template-columns:auto minmax(0,1fr)}.orgactions{grid-column:1/-1}.orgmark img,.orgmark span{width:4.5rem;height:4.5rem;font-size:2rem}.columns.orgbody{grid-template-columns:1fr}}
.admintable{border-collapse:collapse;width:100%;max-width:52rem;margin-bottom:1rem;font-size:.93rem}
.admintable th,.admintable td{text-align:left;padding:.35rem .5rem;border-bottom:1px solid var(--line);vertical-align:middle}
.admintable th{color:var(--muted);font-weight:600}
.admintable input[type=number]{width:4.5rem}
.admintable .btn.small{margin:0 .3rem 0 0}
.admintable .acts{white-space:nowrap}
.codes{list-style:none;padding:0;margin:.6rem 0 1rem}
.codes li{margin:.2rem 0}
.dashhead span{display:flex;gap:.5rem}
