/* Chart kit: flat, readable marks on the graphite surface. */
.ck { margin: 0; display: grid; gap: 12px; min-width: 0; position: relative; }
.ck-head { display: grid; gap: 3px; }
.ck-title { font-size: 1rem; color: var(--ink); letter-spacing: -.01em; }
.ck-sub { font-size: .8rem; color: var(--muted); }
.ck-plot { position: relative; min-width: 0; }
.ck-svg { display: block; width: 100%; height: auto; overflow: visible; font-variant-numeric: tabular-nums; }
.ck-empty { margin: 0; padding: 22px 16px; border: 1px dashed var(--border); border-radius: 12px; color: var(--muted); font-size: .9rem; text-align: center; }
.ck-grid { stroke: #232c27; stroke-width: 1; }
.ck-base { stroke: #46544a; stroke-width: 1; }
.ck-ref { stroke: #7f8c83; stroke-width: 1; stroke-dasharray: 3 4; }
.ck-axis { fill: var(--muted); font-size: 11.5px; }
.ck-axis-title { fill: var(--ink-2); font-size: 11.5px; letter-spacing: .02em; }
.ck-muted { opacity: .7; }
.ck-label { fill: var(--ink-2); font-size: 12.5px; }
.ck-value { fill: var(--ink); font-size: 12.5px; font-weight: 700; }
.ck-point-label { fill: var(--ink-2); font-size: 11px; pointer-events: none; }
.ck-bar { transition: opacity .2s ease; }
.ck-whisker { stroke: var(--ink); stroke-opacity: .72; stroke-width: 1.4; }
.ck-row.ck-low .ck-bar { fill-opacity: .32; }
.ck-row.ck-low .ck-label::after { content: ''; }
.ck-hit { fill: transparent; }
.ck-line { stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.ck-dot { stroke: var(--surface); stroke-width: 1.5; }
.ck-bubble circle { fill-opacity: .78; stroke: #0d1311; stroke-width: 1.5; transition: fill-opacity .2s ease; }
.ck-bubble.ck-low circle { fill-opacity: .28; stroke-dasharray: 3 3; stroke: var(--muted); }
.ck-slice { stroke: var(--surface); stroke-width: 1.5; }
.ck-donut-wrap { display: grid; grid-template-columns: minmax(150px, 210px) 1fr; gap: 18px; align-items: center; }
.ck-donut-svg { max-width: 210px; }
.ck-donut-total { fill: var(--ink); font-size: 26px; font-weight: 750; letter-spacing: -.02em; }
.ck-donut-legend { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; font-size: .86rem; }
.ck-donut-legend li { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto 42px; gap: 9px; align-items: center; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.ck-donut-legend li span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ck-donut-legend i, .ck-key i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.ck-donut-legend small { color: var(--muted); text-align: right; }
.ck-wf rect { transition: opacity .2s ease; }
.ck-wf-total rect { fill: #c5cbc0; }
.ck-wf-up rect { fill: #d7fa81; }
.ck-wf-down rect { fill: #eb967d; }
.ck-connector { stroke: #5b675f; stroke-dasharray: 2 3; }
.ck-db-line { stroke: #56645b; stroke-width: 3; stroke-linecap: round; }
.ck-db-before { fill: #6f7d74; }
.ck-db-after { fill: #d7fa81; stroke: #111716; stroke-width: 2; }
.ck-db-decline .ck-db-after { fill: #eb967d; }
.ck-dist-dot { fill: #d7fa81; fill-opacity: .42; }
.ck-dist-box { fill: rgba(215, 250, 129, .12); stroke: #d7fa81; stroke-opacity: .7; }
.ck-dist-median { stroke: var(--ink); stroke-width: 2.2; }
.ck-dist.ck-low { opacity: .5; }
.ck-matrix-svg { margin-inline: auto; }
.ck-cell.ck-low rect { opacity: .35; }
.ck-cell-text { fill: var(--ink); font-size: 11px; font-weight: 650; pointer-events: none; }
.ck-cell-text.dark { fill: #10160f; }
.ck-bump-line { stroke-width: 2.4; stroke-opacity: .9; }
.ck-div-up { fill: #d7fa81; }
.ck-div-down { fill: #6f7d74; }
.ck-multiples { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(168px, 100%), 1fr)); gap: 10px; }
.ck-multiple { display: grid; gap: 2px; padding: 12px; border: 1px solid var(--border); border-radius: 12px; background: rgba(255, 255, 255, .02); }
.ck-multiple b { font-size: 1.25rem; color: var(--ink); font-variant-numeric: tabular-nums; }
.ck-multiple small, .ck-multiple-name { color: var(--muted); font-size: .78rem; }
.ck-multiple-name { color: var(--ink-2); font-weight: 600; font-size: .85rem; }
.ck-spark { width: 100%; height: 46px; margin-top: 6px; }
.ck-legend { display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: .82rem; color: var(--ink-2); }
.ck-key { display: inline-flex; align-items: center; gap: 7px; }
.ck-caveats { margin: 0; padding-left: 18px; color: var(--muted); font-size: .8rem; display: grid; gap: 3px; }
.ck-table summary, .ck-evidence { cursor: pointer; color: var(--ink-2); font-size: .82rem; }
.ck-table[open] summary { margin-bottom: 8px; }
.ck-evidence { justify-self: start; background: none; border: 1px solid var(--border); border-radius: 999px; padding: 6px 12px; font: inherit; font-size: .8rem; }
.ck-evidence:hover, .ck-evidence:focus-visible { border-color: var(--s1); color: var(--ink); }
.ck-mark { outline: none; cursor: default; }
.ck-mark[role='button'] { cursor: pointer; }
.ck-mark:focus-visible rect:not(.ck-hit), .ck-mark:focus-visible circle, .ck-mark:focus-visible path, circle.ck-mark:focus-visible, path.ck-mark:focus-visible { stroke: var(--ink); stroke-width: 2.5; }
.ck-mark:focus-visible .ck-hit, .ck-hit.ck-mark:focus-visible { fill: rgba(215, 250, 129, .07); }
.ck-multiple.ck-mark:focus-visible { outline: 2px solid var(--s1); outline-offset: 2px; }
.ck-tip { position: absolute; z-index: 5; pointer-events: none; display: grid; gap: 2px; max-width: 260px; padding: 9px 11px; border-radius: 10px; background: #1b2420; border: 1px solid #3a473f; box-shadow: 0 12px 30px rgba(0, 0, 0, .45); color: var(--ink-2); font-size: .78rem; opacity: 0; transform: translateY(4px); transition: opacity .12s ease, transform .12s ease; font-variant-numeric: tabular-nums; }
.ck-tip strong { color: var(--ink); font-size: .84rem; }
.ck-tip.on { opacity: 1; transform: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ck-animate .ck-bar, .ck-animate .ck-wf rect, .ck-animate .ck-div rect { transform-box: fill-box; transform-origin: left center; animation: ck-grow .55s cubic-bezier(.2, .8, .2, 1) both; animation-delay: calc(var(--i, 0) * 28ms); }
.ck-animate .ck-wf rect, .ck-animate .ck-div rect { transform-origin: center bottom; animation-name: ck-rise; }
.ck-animate .ck-slice, .ck-animate .ck-bubble { animation: ck-fade .5s ease both; animation-delay: calc(var(--i, 0) * 45ms); }
@keyframes ck-grow { from { transform: scaleX(0); } }
@keyframes ck-rise { from { transform: scaleY(0); } }
@keyframes ck-fade { from { opacity: 0; } }
@media (max-width: 560px) {
  .ck-donut-wrap { grid-template-columns: 1fr; justify-items: center; }
  .ck-donut-legend { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .ck *, .ck-tip { animation: none !important; transition: none !important; } }
