/* Contributors page: the layout and charts of ArtCraft Contributors, in the apicraft look (light, no gradients, 44px targets). */
.ct-nav { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0 0 1.25rem; }
.ct-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1rem; border: 1px solid var(--line-2); border-radius: 99px; font-weight: 600; font-size: .9rem; color: var(--ink-2); text-decoration: none; background: var(--surface); }
.ct-nav a[aria-current="page"] { background: var(--ink); border-color: var(--ink); color: var(--surface); }
.ct-top { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 1rem; margin-bottom: 1rem; }
.ct-top h1 { margin: 0; font-size: clamp(1.5rem, 4vw, 2.1rem); letter-spacing: -.03em; }
.ct-kpi { display: grid; gap: .6rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 1.25rem; }
@media (min-width: 720px) { .ct-kpi { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.ct-box { margin-bottom: 1.25rem; padding: 1.1rem 1.2rem; border: 1px solid var(--line); border-radius: var(--r-card, 16px); background: var(--surface); }
.ct-box > .box-h { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem; margin-bottom: .75rem; }
.ct-box h2 { margin: 0; font-size: 1.02rem; letter-spacing: -.01em; }
.ct-box .sub { font-size: .8rem; color: var(--muted); }
.ct-grid { display: grid; gap: 1.25rem; }
@media (min-width: 900px) { .ct-grid.g32 { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); } .ct-grid.g2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ct-grid > .ct-box { margin-bottom: 0; }
.ch { display: block; width: 100%; height: auto; overflow: visible; }
.ch text { font: 400 11px var(--font); fill: var(--muted); }
.ch .gl { stroke: var(--line); stroke-width: 1; }
.ch .hv { fill: transparent; }
.ch .hv:hover { fill: rgba(13,13,18,.06); }
.ch .acc { fill: var(--ink); }
.ch .soft { fill: #c9d0dc; }
.ch .line { fill: none; stroke: var(--accent); stroke-width: 2; }
.ch .cell { fill: var(--ink); }
.ch .cell0 { fill: var(--s3); }
.leg { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .75rem; }
.leg button { display: inline-flex; align-items: center; gap: .4rem; min-height: 36px; padding: 0 .7rem; border: 1px solid var(--line-2); border-radius: 99px; background: var(--surface); font: 600 .78rem var(--font); color: var(--ink-2); cursor: pointer; }
.leg button.off { opacity: .45; text-decoration: line-through; }
.leg i { width: 10px; height: 10px; border-radius: 3px; }
.seg-sm { display: inline-grid; grid-auto-flow: column; gap: 3px; padding: 3px; border-radius: var(--r-control); background: var(--s2); }
.seg-sm button { min-height: 36px; padding: 0 .8rem; border: 0; border-radius: 9px; background: none; font: 600 .82rem var(--font); color: var(--muted); cursor: pointer; }
.seg-sm button.on { background: var(--surface); color: var(--ink); box-shadow: 0 1px 2px rgba(13,13,18,.08); }
.ct .tbl th.s { cursor: pointer; user-select: none; }
.ct .tbl th.s.on { color: var(--ink); }
.ct .tbl tr.lk { cursor: pointer; }
@media (hover: hover) { .ct .tbl tr.lk:hover td { background: var(--bg); } }
.ct .tbl .n { text-align: right; font-variant-numeric: tabular-nums; }
.ct .tbl .dim { color: var(--muted); }
.ct .hide-s { display: none; }
@media (min-width: 900px) { .ct .hide-s { display: table-cell; } }
.who { display: inline-flex; align-items: center; gap: .55rem; font-weight: 600; color: var(--ink); }
.ava { flex: none; display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--c, var(--s3)); color: #fff; font: 700 .72rem var(--font); text-transform: uppercase; }
.app { display: inline-flex; align-items: center; gap: .45rem; font-weight: 600; text-decoration: none; }
.app img { width: 20px; height: 20px; border-radius: 5px; }
.bar-h { height: 8px; min-width: 40px; overflow: hidden; border-radius: 99px; background: var(--s3); }
.bar-h i { display: block; height: 100%; border-radius: 99px; }
.st { display: inline-block; padding: .2rem .55rem; border-radius: 99px; font: 600 .72rem var(--font); background: var(--s2); color: var(--muted); }
.st.g { background: var(--green-soft); color: var(--green); } .st.a { background: var(--amber-soft); color: var(--amber); } .st.b { background: var(--danger-soft); color: var(--danger); } .st.w { background: var(--amber-soft); color: var(--amber); }
.srch { min-height: 44px; min-width: 14rem; }
.more { margin-top: .8rem; }
.ct .feed li { grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; }
.ct .feed img { width: 24px; height: 24px; border-radius: 6px; }
.ct-credit { margin-top: 1.5rem; }
.tip { position: fixed; z-index: 50; max-width: 18rem; padding: .5rem .7rem; border-radius: 10px; background: var(--ink); color: #fff; font-size: .78rem; line-height: 1.5; white-space: pre-line; pointer-events: none; }
.tip[hidden] { display: none; }
.err-box { padding: .8rem 1rem; border: 1px solid rgba(196,50,28,.35); border-left: 3px solid var(--danger); border-radius: var(--r-control); background: var(--surface); margin-bottom: 1rem; }
