/* =========================================================
   Coding im GitHub-Stil – funktioniert mit allen Themes,
   sieht in #26/#27/#28 (GitHub-Layout) am "echtesten" aus
   ========================================================= */
.link{color:var(--accent);cursor:pointer}
.layout-github .link,.t-14 .link{color:var(--gh-link,var(--accent))}
.t-14 .link{text-decoration:underline}
.link:hover{text-decoration:underline}
.link-muted{display:inline-flex;align-items:center;gap:4px;color:var(--muted);cursor:pointer;white-space:nowrap}
.link-muted:hover{color:var(--accent)}
.link-muted .ic{width:15px;height:15px}
.c-ok{color:var(--ok)}.c-fail{color:var(--err)}.c-run{color:var(--warn)}.c-merged{color:#a371f7}
.c-ok,.c-fail,.c-run,.c-merged{display:inline-flex;align-items:center}
.c-ok .ic,.c-fail .ic,.c-run .ic,.c-merged .ic{width:16px;height:16px}
.spin .ic{animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.cnt{display:inline-block;font-size:12px;font-weight:500;line-height:18px;padding:0 6px;border-radius:2em;background:var(--gh-counter,var(--surface-2));color:var(--text);margin-left:2px}
.vis{display:inline-flex;align-items:center;font-size:11.5px;font-weight:500;padding:0 7px;line-height:18px;border:1px solid var(--border);border-radius:2em;color:var(--muted);white-space:nowrap}
code,.md code{font-family:var(--font-mono);font-size:85%;padding:.15em .4em;border-radius:6px;background:var(--surface-2)}
code.br{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);font-size:12px}
.glbl{display:inline-flex;align-items:center;font-size:12px;font-weight:500;line-height:18px;padding:0 8px;border-radius:2em;background:color-mix(in srgb,var(--lc) 20%,transparent);color:color-mix(in srgb,var(--lc) 70%,var(--text));border:1px solid color-mix(in srgb,var(--lc) 40%,transparent);cursor:pointer;white-space:nowrap}
.btn.starred .ic{fill:#e3b341;color:#e3b341}

/* Org / Repo-Liste */
.org-head{display:flex;align-items:center;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.org-logo{width:72px;height:72px;border-radius:12px;display:grid;place-items:center;background:var(--accent);color:var(--accent-text);flex:none}
.org-logo .ic{width:38px;height:38px}
.org-head h2{font-size:24px;font-weight:600;font-family:var(--font-head)}
.meta{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12px;color:var(--muted);align-items:center}
.meta span{display:inline-flex;align-items:center;gap:4px}
.meta .ic{width:14px;height:14px}
.ldot{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid rgba(255,255,255,.1);flex:none}
.repo-layout{display:grid;grid-template-columns:minmax(0,1fr) 296px;gap:24px;align-items:start}
.repo-row{display:flex;gap:16px;padding:20px var(--pad);border-bottom:1px solid var(--border)}
.repo-row:last-child{border-bottom:0}
.repo-row .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.repo-row p{font-size:13.5px}
.repo-name{font-size:19px;font-weight:600}
.rr-right{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:10px}
.spark{width:155px;height:28px;fill:color-mix(in srgb,var(--ok) 55%,transparent)}
.topics{display:flex;flex-wrap:wrap;gap:6px}
.topic{font-size:12px;font-weight:500;line-height:20px;padding:0 10px;border-radius:2em;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);cursor:pointer}
.topic:hover{background:var(--accent);color:var(--accent-text)}

/* Repo-Kopf & Tabs */
.repo-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:20px}
.repo-head>.ic{color:var(--muted)}
.repo-head b{font-weight:600}
.repo-head .btn .cnt{margin-left:4px}
.utabs{display:flex;gap:2px;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none;margin:-4px 0 4px}
.utab{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--text);font-size:14px;white-space:nowrap;cursor:pointer;border-radius:6px 6px 0 0}
.utab:hover{background:var(--surface-2)}
.utab.active{border-bottom-color:var(--gh-tab,var(--accent));font-weight:600}
.utab .ic{width:16px;height:16px;color:var(--muted)}

/* Code-Browser */
.commit-bar{display:flex;align-items:center;gap:10px;padding:10px var(--pad);background:var(--surface-2);font-size:13.5px;flex-wrap:wrap;border-bottom:1px solid var(--border)}
.card>.commit-bar:last-child{border-bottom:0}
.commit-bar .link{color:var(--muted)}
.commit-bar .link:hover{color:var(--accent)}
.ftable{display:flex;flex-direction:column}
.frow{display:grid;grid-template-columns:20px minmax(120px,1.2fr) minmax(0,2fr) auto;gap:12px;align-items:center;padding:8px var(--pad);border-top:1px solid var(--border);font-size:14px;cursor:pointer}
.frow:first-child{border-top:0}
.frow:hover{background:var(--surface-2)}
.frow:hover .fname{color:var(--accent);text-decoration:underline}
.frow .ic{width:16px;height:16px}
.dir-ic{color:#54aeff}
.fname{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fmsg{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13.5px}
.fmsg:hover{color:var(--accent);text-decoration:underline}
.ftime{font-size:13px;white-space:nowrap}
.readme{padding:24px 32px}
.md{line-height:1.6;font-size:14.5px}
.md h1{font-size:2em;font-weight:600;padding-bottom:.3em;border-bottom:1px solid var(--border);margin:0 0 16px;font-family:var(--font-head)}
.md h2{font-size:1.5em;font-weight:600;padding-bottom:.3em;border-bottom:1px solid var(--border);margin:24px 0 16px;font-family:var(--font-head)}
.md h3{font-size:1.2em;font-weight:600;margin:20px 0 10px}
.md p{margin:0 0 14px}
.md ul{margin:0 0 14px 2em}
.md li{margin:4px 0}
.md pre{background:var(--surface-2);border-radius:6px;padding:14px 16px;overflow:auto;margin:0 0 16px}
.md pre code{background:none;padding:0;font-size:13px}
.tl-b .md p:last-child{margin:0}
.about h3{font-size:16px;font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:6px}
.about p{font-size:15px;margin-bottom:14px}
.about .topics{margin-bottom:14px}
.about hr{border:0;border-top:1px solid var(--border);margin:20px 0}
.about-l{display:flex;flex-direction:column;gap:8px;font-size:13.5px}
.about-l a{display:flex;align-items:center;gap:8px;color:var(--muted);cursor:pointer}
.about-l a:hover{color:var(--accent)}
.about-l b{color:var(--text)}
.about-l .ic{width:16px;height:16px}
.langbar{display:flex;height:8px;border-radius:6px;overflow:hidden;gap:2px;margin-bottom:10px}
.langbar i{display:block;height:100%}
.langs{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px}
.langs span{display:inline-flex;align-items:center;gap:6px}
.langs .ldot{width:8px;height:8px}
.pop.left{left:0;right:auto}
.pop .card-h h3 .ic{width:15px;height:15px;vertical-align:-2px;margin-right:4px}
.blob{min-height:0;padding:10px 0}
.code-edit{display:block;width:100%;min-height:440px;font-family:var(--font-mono);font-size:13px;line-height:1.7;background:var(--surface);color:var(--text);border:0;padding:14px 16px;outline:none;resize:vertical;tab-size:2;white-space:pre}

/* Issues & PRs */
.st-tab{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:14px;cursor:pointer;margin-right:10px}
.st-tab .ic{width:16px;height:16px}
.st-tab.active{color:var(--text);font-weight:600}
.irow{display:flex;align-items:flex-start;gap:10px;padding:10px var(--pad);border-top:1px solid var(--border)}
.card-h+div>.irow:first-child,.card-h+.irow{border-top:0}
.irow:hover{background:var(--surface-2)}
.irow>span:first-child{padding-top:2px}
.irow .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.irow small{font-size:12px}
.ititle{font-weight:600;font-size:15px;color:var(--text);cursor:pointer}
.ititle:hover{color:var(--accent)}
.irow .link-muted .ic{width:15px;height:15px}
.det-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.det-head h2{font-size:26px;font-weight:400;line-height:1.25;font-family:var(--font-head)}
.det-head h2 .muted{font-weight:300}
.det-head>.c-ok .ic,.det-head>.c-fail .ic,.det-head>.c-run .ic{width:24px;height:24px}
.det-sub{padding-bottom:16px;border-bottom:1px solid var(--border);font-size:14px}
.st-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:2em;color:#fff;font-weight:500;font-size:14px}
.st-pill .ic{width:16px;height:16px}
.st-open{background:#238636}.st-merged{background:#8957e5}.st-prclosed{background:#da3633}
.det-grid{display:grid;grid-template-columns:minmax(0,1fr) 256px;gap:24px;align-items:start}
.tl{display:flex;flex-direction:column;gap:16px;position:relative}
.tl::before{content:'';position:absolute;left:60px;top:0;bottom:0;width:2px;background:var(--border);z-index:0}
.tl>*{position:relative;z-index:1}
.tl-c{display:flex;gap:16px;align-items:flex-start}
.tl-c>.av{width:40px;height:40px}
.tl-box{flex:1;min-width:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);position:relative}
.tl-box::before{content:'';position:absolute;left:-8px;top:12px;width:14px;height:14px;background:var(--surface-2);border-left:1px solid var(--border);border-bottom:1px solid var(--border);transform:rotate(45deg)}
.tl-h{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--surface-2);border-bottom:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;font-size:13.5px;flex-wrap:wrap}
.tl-h .vis{margin-left:4px}
.tl-b{padding:14px 16px}
.tl-b textarea{min-height:110px}
.tl-e{display:flex;align-items:center;gap:8px;font-size:13.5px;padding-left:44px;flex-wrap:wrap}
.tl-ei{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);border:2px solid var(--bg);color:var(--muted);flex:none;margin-left:0}
.tl-ei .ic{width:16px;height:16px}
.tl-commits{display:flex;flex-direction:column;gap:6px;padding-left:92px}
.tl-commits .ic{width:15px;height:15px;color:var(--muted)}
.merge-box{display:flex;gap:16px;align-items:flex-start}
.merge-ic{width:40px;height:40px;border-radius:6px;display:grid;place-items:center;background:#238636;color:#fff;flex:none}
.merge-box.warn .merge-ic{background:var(--muted)}
.merge-box.merged .merge-ic{background:#8957e5}
.merge-ic .ic{width:20px;height:20px}
.mb-rows{flex:1;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}
.merge-box:not(.warn):not(.merged) .mb-rows{border-color:#238636}
.merge-box.merged .mb-rows{border-color:#8957e5}
.mb-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);font-size:14px;flex-wrap:wrap}
.mb-row>span:first-child .ic{width:20px;height:20px}
.sb{padding:0 0 14px;margin-bottom:14px;border-bottom:1px solid var(--border);font-size:13px}
.sb-h{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-weight:600;font-size:12px;margin-bottom:8px}
.sb-h .ic{width:15px;height:15px}

/* Diff */
.diff-file{overflow:hidden}
.diff-h{position:sticky;top:0;gap:8px;padding:8px 12px;min-height:0;background:var(--surface-2)}
.d-stat{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600}
.d-blocks{display:inline-flex;gap:1px;margin-left:2px}
.d-blocks i{width:8px;height:8px;border-radius:1px}
.b-add{background:var(--ok)}.b-del{background:var(--err)}
.viewed{display:inline-flex;align-items:center;gap:6px;font-size:12px;border:1px solid var(--border);border-radius:6px;padding:3px 8px;cursor:pointer;color:var(--muted)}
.cb{width:14px;height:14px;border:1px solid var(--border);border-radius:3px;display:grid;place-items:center}
.cb.on{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}
.cb .ic{width:11px;height:11px;stroke-width:3}
table.diff{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:12.5px;line-height:20px}
table.diff td{padding:0 8px;white-space:pre;vertical-align:top}
.dn{width:1%;min-width:44px;text-align:right;color:var(--muted);opacity:.7;user-select:none;cursor:pointer}
.ds{width:1%;padding-right:0!important;user-select:none}
.d-hunk td{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--muted);padding-top:3px!important;padding-bottom:3px!important}
.d-add td{background:color-mix(in srgb,var(--ok) 15%,transparent)}
.d-add .dn,.d-add .ds{background:color-mix(in srgb,var(--ok) 25%,transparent)}
.d-del td{background:color-mix(in srgb,var(--err) 15%,transparent)}
.d-del .dn,.d-del .ds{background:color-mix(in srgb,var(--err) 25%,transparent)}

/* Actions */
.act-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start}
.act-side{display:flex;flex-direction:column;gap:2px;font-size:14px}
.act-side a{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;position:relative}
.act-side a:hover{background:var(--surface-2)}
.act-side a.active{background:var(--surface-2);font-weight:600}
.act-side a.active::before{content:'';position:absolute;left:-8px;top:6px;bottom:6px;width:4px;border-radius:4px;background:var(--accent)}
.act-side .ic{width:16px;height:16px;color:var(--muted)}
.run-row{cursor:pointer;align-items:center}
.run-row .ititle{font-size:14.5px}
.run-meta{display:flex;flex-direction:column;gap:2px;min-width:110px}
.run-meta span{display:inline-flex;align-items:center;gap:6px}
.run-meta .ic{width:14px;height:14px}
.run-sum{display:flex;gap:40px;padding:16px var(--pad);flex-wrap:wrap}
.run-sum>div{display:flex;flex-direction:column;gap:4px}
.job{background:#0d1117;color:#e6edf3;border-color:#30363d}
.t-27 .job,.t-2 .job,.t-14 .job{background:#161b22}
.job-h{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #30363d}
.job-h .muted{color:#8b949e}
.job .search{background:#0d1117;border-color:#30363d}
.step-h{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:13.5px}
.step-h:hover{background:#161b22}
.step-h>.ic{width:14px;height:14px;color:#8b949e}
.step.open .step-h{position:sticky;top:0;background:#161b22}
.job .muted{color:#8b949e}
.log{font-family:var(--font-mono);font-size:12px;line-height:20px;padding:4px 0 10px}
.log>div{padding:0 16px;white-space:pre-wrap}
.log>div:hover{background:#161b22}
.log .l-err{color:#ff7b72;background:rgba(248,81,73,.1)}
.ln-n{display:inline-block;width:40px;color:#6e7681;text-align:right;margin-right:16px;user-select:none}

/* Commits */
.day-h{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px;margin-top:6px}
.day-h .ic{width:16px;height:16px}
.crow{display:flex;align-items:center;gap:8px;padding:10px var(--pad);border-top:1px solid var(--border)}
.crow:first-child{border-top:0}
.crow:hover{background:var(--surface-2)}
.crow .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.crow small{font-size:12px}

/* Sonstiges */
.radio{flex-direction:row!important;align-items:center;gap:8px!important;color:var(--text)!important;font-size:13.5px!important}
.danger-zone{border-color:color-mix(in srgb,var(--err) 60%,transparent)}
.danger-zone .card-h h3{color:var(--err)}

@media (max-width:1000px){
  .repo-layout,.det-grid,.act-grid{grid-template-columns:1fr}
  .frow{grid-template-columns:20px 1fr auto}.fmsg{display:none}
  .rr-right .spark{display:none}
  .tl::before{display:none}.tl-e{padding-left:0}.tl-commits{padding-left:20px}
  .readme{padding:16px}
}
