:root{--bg:#f6f7f9;--fg:#1f2430;--muted:#6b7280;--card:#fff;--line:#e3e6ec;--accent:#2b6cb0;--accent-fg:#fff;--danger:#c53030;--ok:#2f855a;--warn:#b7791f;--code:#f3f4f6}
@media (prefers-color-scheme:dark){:root{--bg:#14161a;--fg:#e6e8ee;--muted:#9aa3b2;--card:#1d2026;--line:#2c313a;--accent:#63a4ff;--accent-fg:#0b1220;--danger:#ff7b72;--ok:#56d364;--warn:#e3b341;--code:#252a33}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.6 system-ui,-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}
.top{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;flex-wrap:wrap}
.brand{font-weight:700;color:var(--fg)}.brand span{font-weight:400;color:var(--muted);margin-left:.3em}
nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
main{padding:20px 16px 40px}
.foot{color:var(--muted);font-size:13px;padding-bottom:30px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:14px 0}
.card.flush{padding:0;overflow:auto}.card.center{text-align:center}.card.narrow{max-width:640px;margin-left:auto;margin-right:auto}
.hero h1{margin:.2em 0}.muted{color:var(--muted)}.note{font-size:14px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.grid .card{margin:0}.repo{display:block;color:var(--fg)}.repo:hover{border-color:var(--accent);text-decoration:none}
.repo .title{font-size:17px}.repo .slash{color:var(--muted)}.repo .desc{margin:.4em 0;color:var(--muted);min-height:1.6em}.repo .meta{font-size:13px;color:var(--muted)}
.btn{display:inline-block;padding:.4em .9em;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--fg);cursor:pointer;font:inherit;text-decoration:none!important}
.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn.danger{color:var(--danger);border-color:var(--danger)}
.btn.small{padding:.15em .7em;font-size:14px}
.linklike{background:none;border:0;color:var(--accent);cursor:pointer;font:inherit;padding:0}
form.inline{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap;margin:2px 6px 2px 0}
.form label{display:block;margin:12px 0;font-weight:600}.form .hint{display:block;font-weight:400;color:var(--muted);font-size:13px}
input,textarea,select{font:inherit;color:var(--fg);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:.45em .6em;width:100%}
input.mini,.mini{width:auto;min-width:11em;padding:.2em .5em}.mini.wide{min-width:22em}
input[type=file]{border:0;padding:0}textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13.5px;line-height:1.5;tab-size:4}
.row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.grow{flex:1}
.flash{padding:10px 14px;border-radius:8px;margin:10px 0;border:1px solid var(--line);background:var(--card)}
.flash.ok{border-color:var(--ok)}.flash.error{border-color:var(--danger);color:var(--danger)}
.repohead{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.repohead h1{font-size:20px;margin:.2em 0}.chip{display:inline-block;padding:0 .6em;border-radius:99px;background:var(--code);font-size:12px;margin-left:.4em}.chip.warn{color:var(--warn)}
.tabs{display:flex;gap:4px}.tabs a{padding:.35em .9em;border-radius:8px 8px 0 0;color:var(--muted)}.tabs a.active{background:var(--card);color:var(--fg);border:1px solid var(--line);border-bottom-color:var(--card)}
.pathbar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:10px 0}.crumbs a,.crumbs span{margin-right:.35em}.crumbs span{color:var(--muted)}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:10px 0}
.dropzone{display:inline-block;padding:.3em .8em;border:2px dashed var(--line);border-radius:8px;color:var(--muted);cursor:pointer;font-size:13px}
.dropzone.over{border-color:var(--accent);color:var(--accent)}.dropzone input{display:none}
table.files{width:100%;border-collapse:collapse}table.files td,table.files th{padding:.45em .8em;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
table.files tr:last-child td{border-bottom:0}table.files td.ic{width:2em}table.files .num{text-align:right;white-space:nowrap}.rowact{text-align:right;white-space:nowrap}
.hl table{border-collapse:collapse;width:100%}.hl td{padding:0 .6em;vertical-align:top}.hl .linenos{width:1%;text-align:right;color:var(--muted);user-select:none;border-right:1px solid var(--line)}
.hl pre,pre.plain,pre.cmd,.difflines,.blame pre{margin:0;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;overflow:auto}
.hl{overflow:auto}.hl .linenos a{color:inherit}
pre.cmd{background:var(--code);border-radius:8px;padding:.7em 1em;overflow:auto}pre.secret{font-size:15px;user-select:all;word-break:break-all;white-space:pre-wrap}
.pad{padding:12px 18px}.imgview{padding:14px;text-align:center}.imgview img{max-width:100%;height:auto}
.md{overflow-wrap:anywhere}.md img{max-width:100%}.md pre{background:var(--code);padding:.7em 1em;border-radius:8px;overflow:auto}.md code{background:var(--code);padding:0 .3em;border-radius:4px}.md table{border-collapse:collapse}.md th,.md td{border:1px solid var(--line);padding:.3em .6em}
.readme-title{font-size:13px;color:var(--muted);border-bottom:1px solid var(--line);margin:-6px 0 10px;padding-bottom:6px}
.commit .cm{display:flex;gap:10px;align-items:baseline}.commit .rev{font-weight:700}.msg{overflow-wrap:anywhere}.msgfull{white-space:pre-wrap}
.changed{list-style:none;padding:0}.changed li{padding:2px 0}.act{display:inline-block;min-width:3em;font-size:12px;border-radius:4px;text-align:center;margin-right:.5em;background:var(--code)}
.act.A{color:var(--ok)}.act.D{color:var(--danger)}.act.M{color:var(--warn)}
.diff .difffile{padding:.4em .8em;background:var(--code);font-weight:600;font-size:13px;border-bottom:1px solid var(--line)}
.difflines{padding:.4em 0}.difflines span{display:block;padding:0 .8em}.d-add{background:rgba(47,133,90,.18)}.d-del{background:rgba(197,48,48,.18)}.d-hunk{color:var(--accent)}.d-meta{color:var(--muted)}
.blame td{padding:0 .5em;vertical-align:top;border-bottom:1px solid var(--line)}.blame .b{white-space:nowrap;color:var(--muted);font-size:12px;width:1%}.blame .n{color:var(--muted);text-align:right;width:1%;font-size:12px}
progress{width:100%;height:14px}.hidden{display:none}.danger-zone{border-color:var(--danger)}.pager{display:flex;gap:10px}
