/* Chart Room · PROGRESS sheet. Scoped under [data-ui="chartroom"] .cr-prog. Paper sheet,
   serif figures, brass for what is earned, teal for gains, shout-red only for a loss
   (always with a minus sign, never colour alone). Nothing animates. 15px text floor. */

[data-ui="chartroom"] .cr-prog { margin: 12px 20px; padding: 20px 28px 16px; filter: drop-shadow(0 3px 2px rgba(0,0,0,.4)) drop-shadow(0 14px 18px rgba(0,0,0,.35)); color: var(--cr-ink); }
[data-ui="chartroom"] .cr-prog__head { margin: 0 0 10px; padding-bottom: 8px; border-bottom: 2px solid var(--cr-brass-dark); }
[data-ui="chartroom"] .cr-prog--scale .cr-prog__head { display: none; }
[data-ui="chartroom"] .cr-prog__scale-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(230px, .8fr); gap: 18px; align-items: start; padding-bottom: 10px; border-bottom: 1px solid var(--cr-rule); }
[data-ui="chartroom"] .cr-prog--scale .cr-prog__strip { margin-top: 8px; }
[data-ui="chartroom"] .cr-prog--scale .cr-prog__scale-goals { margin-top: 10px; }
@media (max-width: 700px) { [data-ui="chartroom"] .cr-prog__scale-head { grid-template-columns: 1fr; } }
[data-ui="chartroom"] .cr-prog__title { margin: 0; font: 700 34px/1 var(--cr-serif); }
[data-ui="chartroom"] .cr-prog__band { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 36px; margin: 0 0 2px; padding: 0 0 12px; border-bottom: 1px solid var(--cr-rule); }
[data-ui="chartroom"] .cr-prog__kicker { display: block; margin: 0 0 8px; font: 700 20px/1.1 var(--cr-cond); letter-spacing: .1em; text-transform: uppercase; color: var(--cr-brass-ink); }
[data-ui="chartroom"] .cr-prog__work { padding: 10px 16px 8px; background: rgba(255,250,235,.62); border: 1.5px solid var(--cr-brass-dark); box-shadow: 3px 3px 0 rgba(122,85,24,.25); min-width: 0; }
[data-ui="chartroom"] .cr-prog__work-title { margin: 0 0 4px; font: 700 26px/1.15 var(--cr-serif); }
[data-ui="chartroom"] .cr-prog__work-text { margin: 0; font: 500 16px/1.4 var(--cr-body); color: var(--cr-ink-2); }
[data-ui="chartroom"] .cr-prog__benefit { margin: 7px 0 0; font: 600 15px/1.4 var(--cr-body); color: var(--cr-ink); }
[data-ui="chartroom"] .cr-prog__work .cr-prog__meter { height: 12px; margin: 12px 0 8px; }
[data-ui="chartroom"] .cr-prog__work-foot { display: flex; align-items: center; }
[data-ui="chartroom"] .cr-prog__work-line { margin: 0; display: flex; justify-content: space-between; gap: 14px; font: 600 16px var(--cr-cond); color: var(--cr-ink); font-variant-numeric: tabular-nums; }
[data-ui="chartroom"] .cr-prog__xp { display: inline-block; padding: 0 0 0 8px; color: var(--cr-ink-2); font: 700 15px/22px var(--cr-cond); letter-spacing: .04em; font-variant-numeric: tabular-nums; white-space: nowrap; text-align: right; }
[data-ui="chartroom"] .cr-prog__go { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 4px; border: 0; background: none; cursor: pointer; font: 700 15px var(--cr-cond); letter-spacing: .06em; text-transform: uppercase; color: var(--cr-brass-ink, var(--cr-brass-dark)); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1.5px; }
[data-ui="chartroom"] .cr-prog__go:hover { color: var(--cr-ink); }
[data-ui="chartroom"] .cr-prog__ladder { min-width: 0; padding: 10px 0 0 0; }
[data-ui="chartroom"] .cr-prog__gate { margin: 8px 0 0; padding: 8px 12px; border-left: 4px solid var(--cr-brass-dark); background: rgba(255,250,235,.5); font: 500 15px/1.45 var(--cr-body); color: var(--cr-ink-2); }
[data-ui="chartroom"] .cr-prog__gate b { color: var(--cr-ink); }
[data-ui="chartroom"] .cr-prog__cols { margin-top: 4px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 36px; align-items: start; }
/* Goals first in the DOM (so the phone reads Working on, goals, figures, chart, seals, folds). On the desk the
   sections are placed: figures, chart and seals down the left; goals and folds down the right. */
[data-ui="chartroom"] .cr-prog__cols > * { min-width: 0; }
@media (min-width: 941px) {
  [data-ui="chartroom"] .cr-prog__cols { grid-template-rows: auto auto auto auto; }
  [data-ui="chartroom"] .cr-prog__cols > [aria-labelledby="cr-prog-goals-h"] { grid-column: 2; grid-row: 1 / span 2; }   /* goals */
  [data-ui="chartroom"] .cr-prog__cols > [aria-labelledby="cr-prog-glance-h"] { grid-column: 1; grid-row: 1; }   /* the totals */
  [data-ui="chartroom"] .cr-prog__cols > [aria-labelledby="cr-prog-earn-h"] { grid-column: 1 / -1; grid-row: 3; }   /* the chart, across the foot of both columns */
  [data-ui="chartroom"] .cr-prog__cols > [aria-labelledby="cr-prog-ach-h"] { grid-column: 1; grid-row: 2; }   /* achievements: one line, under the totals */
  [data-ui="chartroom"] .cr-prog__cols > .cr-prog__folds { grid-column: 1 / -1; grid-row: 4; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 36px; align-items: start; }
}
/* One column. The DOM already reads in the order it shows (working on, level, goals, totals, earnings,
   achievements, folds), so the columns just dissolve; nothing is reordered. */
@media (max-width: 940px) {
  [data-ui="chartroom"] .cr-prog { display: flex; flex-direction: column; align-items: stretch; }
  [data-ui="chartroom"] .cr-prog__band, [data-ui="chartroom"] .cr-prog__cols { display: contents; }
  [data-ui="chartroom"] .cr-prog__work { margin-top: 4px; }
  [data-ui="chartroom"] .cr-prog__ladder { padding-top: 16px; border-bottom: 1px solid var(--cr-rule); padding-bottom: 14px; }
}
@media (max-width: 560px) { [data-ui="chartroom"] .cr-prog { margin: 8px 0; padding: 14px 18px 10px; } [data-ui="chartroom"] .cr-prog__title { font-size: 28px; } }

[data-ui="chartroom"] .cr-prog .cr-eyebrow { display: block; margin: 0 0 8px; font: 700 20px/1.1 var(--cr-cond); letter-spacing: .09em; text-transform: uppercase; color: var(--cr-ink); }
[data-ui="chartroom"] .cr-prog__section { padding: 10px 0 12px; border-bottom: 1px solid var(--cr-rule); }
[data-ui="chartroom"] .cr-prog__section:last-child { border-bottom: none; }
[data-ui="chartroom"] .cr-prog__sub { display: flex; align-items: baseline; gap: 10px; margin: 18px 0 6px; font: 700 15px/1.2 var(--cr-cond); letter-spacing: .06em; text-transform: uppercase; color: var(--cr-ink-3); }
[data-ui="chartroom"] .cr-prog__sub--tight { margin: 8px 0 2px; }
[data-ui="chartroom"] .cr-prog__count { margin-left: auto; font: 600 15px var(--cr-cond); letter-spacing: 0; text-transform: none; font-variant-numeric: tabular-nums; }
[data-ui="chartroom"] .cr-prog__note { margin: 6px 0; font: 500 15px/1.45 var(--cr-body); color: var(--cr-ink-2); }
[data-ui="chartroom"] .cr-prog__note b { color: var(--cr-ink); font-variant-numeric: tabular-nums; }
[data-ui="chartroom"] .cr-prog__dim { color: var(--cr-ink-3); }
[data-ui="chartroom"] .cr-prog__lede { margin: 0 0 6px; font: 500 18px/1.35 var(--cr-serif); color: var(--cr-ink); }
[data-ui="chartroom"] .cr-prog__lede b { font-weight: 700; font-variant-numeric: tabular-nums; }

/* Stat definition lists */
[data-ui="chartroom"] .cr-prog dl { margin: 0; }
[data-ui="chartroom"] .cr-prog__stat { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
[data-ui="chartroom"] .cr-prog__stat dt { font: 700 15px/1.2 var(--cr-cond); letter-spacing: .07em; text-transform: uppercase; color: var(--cr-ink-3); }
[data-ui="chartroom"] .cr-prog__stat dd { margin: 0; font: 700 22px/1.15 var(--cr-serif); font-variant-numeric: tabular-nums; color: var(--cr-ink); overflow-wrap: anywhere; }
[data-ui="chartroom"] .cr-prog__stat small { font: 500 15px/1.3 var(--cr-body); color: var(--cr-ink-3); }
[data-ui="chartroom"] .cr-prog__stat.is-loss dd { color: var(--cr-shout); }

/* 1. At a glance: one big figure, a quiet strip under it */
[data-ui="chartroom"] .cr-prog__worth { padding: 0 0 10px; border-bottom: 1px solid var(--cr-rule); }
[data-ui="chartroom"] .cr-prog__worth-label { margin: 0; font: 700 15px var(--cr-cond); letter-spacing: .09em; text-transform: uppercase; color: var(--cr-ink-3); }
[data-ui="chartroom"] .cr-prog__worth-value { margin: 0 0 6px; font: 700 clamp(34px, 4.6vw, 46px)/1.05 var(--cr-serif); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--cr-ink); }
[data-ui="chartroom"] .cr-prog__sum { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 6px 20px; }
[data-ui="chartroom"] .cr-prog__sum .cr-prog__stat dd { font-size: 20px; }
[data-ui="chartroom"] .cr-prog__pnl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px 20px; padding: 8px 0; border-bottom: 1px solid var(--cr-rule); }
[data-ui="chartroom"] .cr-prog__pnl .cr-prog__stat:nth-child(3) dd { font-size: 28px; }
[data-ui="chartroom"] .cr-prog__pnl .cr-prog__stat:nth-child(3) dt { color: var(--cr-ink); }
[data-ui="chartroom"] .cr-prog__stat.is-gain dd { color: var(--cr-teal); }
[data-ui="chartroom"] .cr-prog__life { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px 20px; padding-top: 8px; }
[data-ui="chartroom"] .cr-prog__life .cr-prog__stat dd { font-size: 17px; font-weight: 600; color: var(--cr-ink-2); }
@media (max-width: 480px) { [data-ui="chartroom"] .cr-prog__sum, [data-ui="chartroom"] .cr-prog__pnl { grid-template-columns: 1fr 1fr; } [data-ui="chartroom"] .cr-prog__life { grid-template-columns: 1fr 1fr 1fr; gap: 8px 10px; } }

/* 2. Earnings chart: bars only, a break-even line, labels in HTML so they stay 15px */
[data-ui="chartroom"] .cr-prog__chart { margin: 0; }
[data-ui="chartroom"] .cr-prog__plot { display: grid; grid-template-columns: 60px minmax(0, 1fr); column-gap: 6px; border-top: 1px solid var(--cr-rule); border-bottom: 1px solid var(--cr-rule); }
[data-ui="chartroom"] .cr-prog__plot svg { display: block; width: 100%; height: 70px; background: rgba(23,43,54,.05); }
[data-ui="chartroom"] .cr-prog__plot rect { cursor: default; }
[data-ui="chartroom"] .cr-prog__plot rect.is-gain { fill: var(--cr-teal); }
[data-ui="chartroom"] .cr-prog__plot rect.is-loss { fill: var(--cr-shout); }
[data-ui="chartroom"] .cr-prog__plot rect:hover { fill: var(--cr-brass-dark); }
[data-ui="chartroom"] .cr-prog__zero { stroke: var(--cr-ink); stroke-width: 1.2; vector-effect: non-scaling-stroke; }
[data-ui="chartroom"] .cr-prog__axes { display: flex; flex-direction: column; justify-content: space-between; text-align: right; }
[data-ui="chartroom"] .cr-prog__axes span { font: 700 15px/1.2 var(--cr-cond); font-variant-numeric: tabular-nums; color: var(--cr-ink-2); }
[data-ui="chartroom"] .cr-prog__chart figcaption { padding-left: 66px; display: flex; justify-content: space-between; gap: 10px; margin-top: 2px; font: 500 15px/1.3 var(--cr-body); color: var(--cr-ink-3); }
[data-ui="chartroom"] .cr-prog__bwline { margin: 6px 0 0; font: 500 15px/1.4 var(--cr-body); color: var(--cr-ink-2); }
[data-ui="chartroom"] .cr-prog__bwline b { color: var(--cr-ink); font-variant-numeric: tabular-nums; }
[data-ui="chartroom"] .cr-prog__bwline b.is-loss { color: var(--cr-shout); }
[data-ui="chartroom"] .cr-prog__alone { color: var(--cr-ink-2); white-space: nowrap; }

/* Cost bars */
[data-ui="chartroom"] .cr-prog__hbars { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
[data-ui="chartroom"] .cr-prog__hbars li { display: grid; grid-template-columns: minmax(110px, 160px) minmax(0, 1fr) 84px; align-items: center; gap: 12px; font: 500 15px var(--cr-body); }
[data-ui="chartroom"] .cr-prog__htrack { display: block; height: 14px; background: rgba(23,43,54,.1); }
[data-ui="chartroom"] .cr-prog__htrack i { display: block; height: 100%; background: var(--cr-brass-dark); }
[data-ui="chartroom"] .cr-prog__hvalue { text-align: right; font: 700 16px var(--cr-cond); font-variant-numeric: tabular-nums; }
[data-ui="chartroom"] .cr-prog__hvalue small { display: block; font: 500 15px var(--cr-body); color: var(--cr-ink-3); }
@media (max-width: 480px) { [data-ui="chartroom"] .cr-prog__hbars li { grid-template-columns: 1fr 70px; } [data-ui="chartroom"] .cr-prog__hlabel { grid-column: 1 / -1; } [data-ui="chartroom"] .cr-prog__htrack { grid-column: 1; } }

/* Meters */
[data-ui="chartroom"] .cr-prog__meter { height: 10px; margin: 8px 0 4px; background: rgba(23,43,54,.1); box-shadow: inset 0 0 0 1.5px var(--cr-ink-3); }
[data-ui="chartroom"] .cr-prog__meter i { display: block; height: 100%; min-width: 3px; background: var(--cr-brass-dark); }

/* Disclosures: the table alternatives */
[data-ui="chartroom"] .cr-prog__table { margin: 4px 0 0; }
[data-ui="chartroom"] .cr-prog__table summary { display: flex; align-items: center; min-height: 44px; cursor: pointer; font: 700 15px var(--cr-cond); letter-spacing: .06em; text-transform: uppercase; color: var(--cr-ink); }
/* Focus on paper: a 3px ink ring with a 5px yellow halo, so it reads on cream and on the darker rules alike */
[data-ui="chartroom"] .cr-prog :is(button, summary, a, [tabindex]):focus-visible { outline: 3px solid var(--cr-ink); outline-offset: 2px; box-shadow: 0 0 0 5px var(--cr-focus); }
[data-ui="chartroom"] .cr-prog__scroll { max-height: 320px; overflow: auto; }
[data-ui="chartroom"] .cr-prog table { width: 100%; border-collapse: collapse; font: 500 15px var(--cr-body); }
[data-ui="chartroom"] .cr-prog th,
[data-ui="chartroom"] .cr-prog td { padding: 6px 8px; text-align: left; border-bottom: 1px solid var(--cr-rule); font-variant-numeric: tabular-nums; white-space: nowrap; }
[data-ui="chartroom"] .cr-prog thead th { position: sticky; top: 0; background: var(--cr-paper); font: 700 15px var(--cr-cond); letter-spacing: .05em; text-transform: uppercase; color: var(--cr-ink-3); }

/* 3. Progression */
[data-ui="chartroom"] .cr-prog__level { display: flex; gap: 18px; align-items: center; }
[data-ui="chartroom"] .cr-prog__level-no { margin: 0; display: flex; flex-direction: column; align-items: center; min-width: 76px; padding: 8px 6px; font: 700 44px/1 var(--cr-serif); color: var(--cr-ink); background: none; box-shadow: inset 0 0 0 2px var(--cr-ink); }
[data-ui="chartroom"] .cr-prog__level-no small { font: 700 15px var(--cr-cond); letter-spacing: .12em; text-transform: uppercase; }
[data-ui="chartroom"] .cr-prog__level-bar { flex: 1; min-width: 0; }
[data-ui="chartroom"] .cr-prog__level-bar .cr-prog__meter { margin-top: 0; }
[data-ui="chartroom"] .cr-prog__level-bar p { margin: 4px 0 0; }
[data-ui="chartroom"] .cr-prog__achs { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px 20px; }
[data-ui="chartroom"] .cr-prog__ach { display: flex; gap: 10px; align-items: flex-start; }
[data-ui="chartroom"] .cr-prog__ach-main { display: flex; flex-direction: column; flex: 1; min-width: 0; font: 600 15px/1.25 var(--cr-body); }
[data-ui="chartroom"] .cr-prog__ach-main small { font: 500 15px var(--cr-body); color: var(--cr-ink-3); font-variant-numeric: tabular-nums; }

/* 4. Goals: a numbered ladder, not checkboxes */
[data-ui="chartroom"] .cr-prog__count { font: 600 15px var(--cr-cond); letter-spacing: 0; text-transform: none; font-variant-numeric: tabular-nums; color: var(--cr-ink-3); margin-left: 8px; }
[data-ui="chartroom"] .cr-prog .cr-eyebrow .cr-prog__count { float: none; }
[data-ui="chartroom"] .cr-prog__goals { margin: 0; padding: 0; list-style: none; }
[data-ui="chartroom"] .cr-prog__goals li { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 0 12px; align-items: start; padding: 9px 0; border-bottom: 1px solid var(--cr-rule); }
[data-ui="chartroom"] .cr-prog__goals li:last-child { border-bottom: 0; }
[data-ui="chartroom"] .cr-prog__step { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin-top: 1px; border-radius: 50%; font: 700 15px/1 var(--cr-cond); border: 1.5px dashed var(--cr-ink-3); color: var(--cr-ink-3); }
[data-ui="chartroom"] .cr-prog__goals .is-done .cr-prog__step { border: 0; background: var(--cr-brass-dark); color: var(--cr-paper-hi); }
[data-ui="chartroom"] .cr-prog__goal-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; font: 700 17px/1.25 var(--cr-serif); }
[data-ui="chartroom"] .cr-prog__goal-main small { font: 500 15px/1.4 var(--cr-body); color: var(--cr-ink-2); }
[data-ui="chartroom"] .cr-prog__goals .is-done .cr-prog__goal-main b { color: var(--cr-ink-3); font-weight: 600; }
[data-ui="chartroom"] .cr-prog__goals .is-locked .cr-prog__goal-main b { color: var(--cr-ink-3); font-weight: 600; }
[data-ui="chartroom"] .cr-prog__goal-end { display: flex; flex-direction: column; align-items: flex-end; gap: 0; text-align: right; font: 700 15px var(--cr-cond); font-variant-numeric: tabular-nums; color: var(--cr-ink-2); }
[data-ui="chartroom"] .cr-prog__goal-state { color: var(--cr-ink); }
[data-ui="chartroom"] .cr-prog__goals .cr-prog__meter { margin: 6px 0 2px; }

[data-ui="chartroom"] .cr-prog__goal-main .cr-prog__req { font: 500 15px/1.35 var(--cr-body); color: var(--cr-ink-3); }
[data-ui="chartroom"] .cr-prog__goal-main .cr-prog__req-n { font: 600 15px var(--cr-cond); color: var(--cr-ink-2); font-variant-numeric: tabular-nums; }
[data-ui="chartroom"] .cr-prog__goals .cr-prog__meter { height: 8px; margin: 5px 0 1px; }
[data-ui="chartroom"] .cr-prog__goals .is-close .cr-prog__goal-main b { color: var(--cr-ink); font-weight: 700; }
[data-ui="chartroom"] .cr-prog__goals .is-close .cr-prog__meter i { background: var(--cr-brass-dark); }
[data-ui="chartroom"] .cr-prog__goals .is-locked:not(.is-close) .cr-prog__meter i { background: var(--cr-ink-3); }
[data-ui="chartroom"] [data-ui="chartroom"] .cr-prog__morefold { margin-top: 6px; border-bottom: 0; }
[data-ui="chartroom"] .cr-prog__ach-main .cr-prog__meter { height: 8px; margin: 5px 0 2px; }
[data-ui="chartroom"] .cr-prog__ach-main .cr-prog__how { font: 500 15px/1.3 var(--cr-body); color: var(--cr-ink-3); }
[data-ui="chartroom"] .cr-prog__ach { align-items: flex-start; }

/* Achievements: seals. Earned ones are brass with a dark emblem; the rest are bare ink outlines. */
[data-ui="chartroom"] .cr-prog__seal { flex: none; display: block; }
[data-ui="chartroom"] .cr-prog__seal-edge circle { fill: none; stroke: var(--cr-ink-3); stroke-width: .8; stroke-dasharray: 1.2 1.4; }
[data-ui="chartroom"] .cr-prog__seal-face { fill: none; stroke: var(--cr-ink-3); stroke-width: 1; }
[data-ui="chartroom"] .cr-prog__seal-mark { stroke: var(--cr-ink-3); }
[data-ui="chartroom"] .cr-prog__seal.is-done .cr-prog__seal-edge circle { fill: var(--cr-brass); stroke: var(--cr-brass-dark); stroke-width: .6; stroke-dasharray: none; }
[data-ui="chartroom"] .cr-prog__seal.is-done .cr-prog__seal-face { fill: var(--cr-brass); stroke: var(--cr-brass-dark); stroke-width: 1.2; }
[data-ui="chartroom"] .cr-prog__seal.is-done .cr-prog__seal-mark { stroke: var(--cr-brass-ink); }
[data-ui="chartroom"] .cr-prog__achs { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px 16px; }
[data-ui="chartroom"] .cr-prog__ach { display: flex; gap: 12px; align-items: center; min-width: 0; }
[data-ui="chartroom"] .cr-prog__ach-main { display: flex; flex-direction: column; flex: 1; min-width: 0; font: 700 16px/1.25 var(--cr-serif); }
[data-ui="chartroom"] .cr-prog__ach-main small { font: 500 15px var(--cr-body); color: var(--cr-ink-3); font-variant-numeric: tabular-nums; }
[data-ui="chartroom"] .cr-prog__ach:not(.is-done) .cr-prog__ach-main b { color: var(--cr-ink-2); font-weight: 600; }
[data-ui="chartroom"] .cr-prog__ach.is-done .cr-prog__ach-main small { color: var(--cr-brass-ink); font-weight: 600; }

/* Folds: costs by kind, standing this week */
[data-ui="chartroom"] .cr-prog__folds { margin-top: 4px; }
[data-ui="chartroom"] .cr-prog__fold { margin: 0; border-bottom: 1px solid var(--cr-rule); }
[data-ui="chartroom"] .cr-prog__fold:last-child { border-bottom: 0; }
[data-ui="chartroom"] .cr-prog__fold[open] { padding-bottom: 12px; }
[data-ui="chartroom"] .cr-prog__fold-note { margin-left: auto; font: 600 15px var(--cr-cond); letter-spacing: 0; text-transform: none; color: var(--cr-ink-2); }

/* 5. Standing */
[data-ui="chartroom"] .cr-prog__lb tr.is-player { background: rgba(201,151,58,.2); font-weight: 700; }
[data-ui="chartroom"] .cr-prog__lb small { font: 700 15px var(--cr-cond); letter-spacing: .08em; text-transform: uppercase; color: var(--cr-brass-ink); margin-left: 4px; }
[data-ui="chartroom"] .cr-prog__season { margin: 0; padding: 0; list-style: none; }
[data-ui="chartroom"] .cr-prog__season li { display: flex; gap: 10px; align-items: flex-start; padding: 7px 0; border-bottom: 1px solid var(--cr-rule); }
[data-ui="chartroom"] .cr-prog__season li.is-done .cr-prog__season-meter { color: var(--cr-teal); }
[data-ui="chartroom"] .cr-prog__season-main { display: flex; flex-direction: column; flex: 1; min-width: 0; font: 600 15px var(--cr-body); }
[data-ui="chartroom"] .cr-prog__season-main small { font: 500 15px/1.35 var(--cr-body); color: var(--cr-ink-3); }
[data-ui="chartroom"] .cr-prog__season-meter { flex: none; max-width: 40%; text-align: right; font: 600 15px/1.3 var(--cr-cond); font-variant-numeric: tabular-nums; color: var(--cr-brass-ink); }

@media (prefers-contrast: more), (forced-colors: active) {
  [data-ui="chartroom"] .cr-prog__plot rect { fill: CanvasText; }
  [data-ui="chartroom"] .cr-prog__plot rect.is-loss { fill: none; stroke: CanvasText; stroke-width: 2; }
  [data-ui="chartroom"] .cr-prog__meter i, [data-ui="chartroom"] .cr-prog__htrack i { background: CanvasText; }
  [data-ui="chartroom"] .cr-prog__lb tr.is-player { outline: 1px solid CanvasText; }
  [data-ui="chartroom"] .cr-prog__step, [data-ui="chartroom"] .cr-prog__seal { forced-color-adjust: auto; }
  [data-ui="chartroom"] .cr-prog__seal * { stroke: CanvasText; }
  /* earned = a solid disc with a knocked-out emblem; not yet = an open dashed ring, so it is not colour alone */
  [data-ui="chartroom"] .cr-prog__seal.is-done .cr-prog__seal-face, [data-ui="chartroom"] .cr-prog__seal.is-done .cr-prog__seal-edge circle { fill: CanvasText; }
  [data-ui="chartroom"] .cr-prog__seal.is-done .cr-prog__seal-mark { stroke: Canvas; }
  [data-ui="chartroom"] .cr-prog__meter { box-shadow: inset 0 0 0 2px CanvasText; }
}

/* Disclosure marker */
[data-ui="chartroom"] .cr-prog__table summary { list-style: none; gap: 8px; }
[data-ui="chartroom"] .cr-prog__table summary::-webkit-details-marker { display: none; }
[data-ui="chartroom"] .cr-prog__table summary::before { content: "+"; display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border: 1.5px solid currentColor; font: 700 16px/1 var(--cr-body); }
[data-ui="chartroom"] .cr-prog__table[open] summary::before { content: "\2212"; }

/* Flex/grid children may shrink, so the table scrolls inside its region instead of widening the page */
[data-ui="chartroom"] .cr-prog__section { min-width: 0; }
@media (max-width: 560px) {
  [data-ui="chartroom"] .cr-prog__season li { flex-wrap: wrap; }
  [data-ui="chartroom"] .cr-prog__season-meter { max-width: none; text-align: left; }
  [data-ui="chartroom"] .cr-prog__goals li { grid-template-columns: 30px minmax(0, 1fr); }
  [data-ui="chartroom"] .cr-prog__goal-end { grid-column: 2; flex-direction: row; flex-wrap: wrap; gap: 4px 14px; align-items: center; justify-content: flex-start; text-align: left; }
}

/* Achievements: one compact row of seals */
[data-ui="chartroom"] .cr-prog__seals { margin: 0 0 2px; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 10px 14px; }
[data-ui="chartroom"] .cr-prog__seals .cr-prog__ach { display: block; }
[data-ui="chartroom"] .cr-prog__seals .cr-prog__seal { width: 44px; height: 44px; }
[data-ui="chartroom"] .cr-prog__fold .cr-prog__achs { margin-top: 4px; }

/* Locked seals: a plain dashed ring (no scalloped edge), so earned and not-yet differ by outline. Each seal is a button. */
[data-ui="chartroom"] .cr-prog__seal-ring { fill: none; stroke: var(--cr-ink-3); stroke-width: 1; stroke-dasharray: 2 1.6; }
[data-ui="chartroom"] .cr-prog__seal-btn { display: grid; place-items: center; width: 48px; height: 48px; padding: 0; margin: 0; border: 0; border-radius: 50%; background: none; cursor: pointer; color: inherit; }
[data-ui="chartroom"] .cr-prog__seal-btn[aria-pressed="true"] { box-shadow: 0 0 0 2px var(--cr-ink); }
[data-ui="chartroom"] .cr-prog__seal-info { margin: 8px 0 0; min-height: 44px; font: 500 15px/1.4 var(--cr-body); color: var(--cr-ink-2); }
[data-ui="chartroom"] .cr-prog__seal-info b { color: var(--cr-ink); font-weight: 700; }
[data-ui="chartroom"] .cr-prog__more { margin-top: 4px; border-bottom: 0; }
[data-ui="chartroom"] .cr-prog__more .cr-prog__life { padding-top: 6px; }
@media (prefers-contrast: more), (forced-colors: active) {
  [data-ui="chartroom"] .cr-prog__seg[aria-pressed="true"] { forced-color-adjust: none; background: Highlight; color: HighlightText; }
  [data-ui="chartroom"] .cr-prog__seal-btn[aria-pressed="true"] { box-shadow: none; outline: 2px solid CanvasText; }
  [data-ui="chartroom"] .cr-prog__seal-ring { stroke: CanvasText; }
  [data-ui="chartroom"] .cr-prog__seal.is-locked * { stroke: CanvasText; }
  [data-ui="chartroom"] .cr-prog__meter, [data-ui="chartroom"] .cr-prog__htrack { forced-color-adjust: none; background: Canvas; box-shadow: inset 0 0 0 2px CanvasText; }
  [data-ui="chartroom"] .cr-prog__meter i, [data-ui="chartroom"] .cr-prog__htrack i { forced-color-adjust: none; background: CanvasText; }
  [data-ui="chartroom"] .cr-prog :is(button, summary, a, [tabindex]):focus-visible { outline: 3px solid CanvasText; box-shadow: none; }
}

/* Round 9: two figures in the glance row; the day figure as a headline; achievements are one folded line */
[data-ui="chartroom"] .cr-prog__pnl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
[data-ui="chartroom"] .cr-prog__pnl .cr-prog__stat:nth-child(1) dd { font-size: 28px; }
[data-ui="chartroom"] .cr-prog__pnl .cr-prog__stat:nth-child(1) dt { color: var(--cr-ink); }
[data-ui="chartroom"] .cr-prog__pnl .cr-prog__stat:nth-child(2) dd { font-size: 28px; }
[data-ui="chartroom"] .cr-prog__life { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }
[data-ui="chartroom"] .cr-prog__day { margin: 0; font: 700 34px/1.1 var(--cr-serif); font-variant-numeric: tabular-nums; }
[data-ui="chartroom"] .cr-prog__lede-sub { margin: 2px 0 4px; font: 500 15px/1.4 var(--cr-body); color: var(--cr-ink-2); }
[data-ui="chartroom"] .cr-prog__alone { margin: 0 0 8px; font: 500 15px/1.4 var(--cr-body); color: var(--cr-ink-3); white-space: normal; }
[data-ui="chartroom"] .cr-prog__achfold { margin: 0; }
[data-ui="chartroom"] .cr-prog__achfold summary::after { content: "\203A"; margin-left: 2px; font: 700 18px/1 var(--cr-body); }
[data-ui="chartroom"] .cr-prog__achfold[open] summary::after { content: none; }
[data-ui="chartroom"] .cr-prog__bwline { margin: 0 0 6px; }
@media (max-width: 480px) { [data-ui="chartroom"] .cr-prog__pnl { grid-template-columns: 1fr 1fr; } }

/* X2 (ruling 36): from 10 ships, Cash / Net a day / Loan stay in view, and the Working on card can fold. */
[data-ui="chartroom"] .cr-prog__strip { display: flex; flex-wrap: wrap; gap: 4px 28px; margin: 0 0 10px; padding: 6px 2px 8px; list-style: none; border-bottom: 1px solid var(--cr-rule); font: 500 16px var(--cr-cond); color: var(--cr-ink-2); }
[data-ui="chartroom"] .cr-prog__strip b { font: 700 20px var(--cr-cond); color: var(--cr-ink); font-variant-numeric: tabular-nums; }
[data-ui="chartroom"] .cr-prog__strip b.is-loss { color: #8A2A1B; }
[data-ui="chartroom"] .cr-prog__work--fold > summary { display: flex; align-items: baseline; gap: 12px; min-height: 44px; cursor: pointer; list-style: none; flex-wrap: wrap; }
[data-ui="chartroom"] .cr-prog__work--fold > summary::-webkit-details-marker { display: none; }
[data-ui="chartroom"] .cr-prog__work--fold > summary::before { content: "▸"; color: var(--cr-brass-ink); }
[data-ui="chartroom"] .cr-prog__work--fold[open] > summary::before { content: "▾"; }
[data-ui="chartroom"] .cr-prog__work--fold > summary .cr-prog__kicker { margin: 0; }
[data-ui="chartroom"] .cr-prog__work--fold > summary:focus-visible { outline: 3px solid var(--cr-focus); outline-offset: 2px; }
[data-ui="chartroom"] .cr-prog__work--fold[open] .cr-prog__work-now { display: none; }
[data-ui="chartroom"] .cr-prog__work-now { font: 600 16px var(--cr-cond); color: var(--cr-ink-2); }

/* Round 5, ruling 45: at scale the earnings chart sits right under the money strip, before Working on, full width. */
[data-ui="chartroom"] .cr-prog[data-order="money-first"] > [aria-labelledby="cr-prog-earn-h"] { margin: 0 0 6px; }

/* Earnings by ship and route (ruling 48) */
[data-ui="chartroom"] .cr-prog__segs { display: flex; gap: 0; margin: 4px 0 8px; }
[data-ui="chartroom"] .cr-prog__seg { min-height: 44px; min-width: 88px; padding: 0 14px; font: 700 15px var(--cr-cond); letter-spacing: .06em; text-transform: uppercase; color: var(--cr-ink); background: none; border: 0; box-shadow: inset 0 0 0 1.5px var(--cr-ink); cursor: pointer; }
[data-ui="chartroom"] .cr-prog__seg[aria-pressed="true"] { background: var(--cr-ink); color: var(--cr-paper); }
[data-ui="chartroom"] .cr-prog__seg + .cr-prog__seg { margin-left: -1.5px; }
[data-ui="chartroom"] .cr-prog__sort { min-height: 44px; padding: 0 2px; font: inherit; letter-spacing: inherit; text-transform: inherit; color: inherit; background: none; border: 0; cursor: pointer; text-align: left; }
[data-ui="chartroom"] .cr-prog__earntable td.is-loss { color: var(--cr-shout); }
/* UX round 7 (A2, ruling 64): at 10+ ships the earnings table sits directly under the chart, full width of the sheet. */
[data-ui="chartroom"] .cr-prog > .cr-prog__earntable { margin: 0; padding: 4px 0 10px; border-bottom: 1px solid var(--cr-rule); min-width: 0; }

/* Round 9 lane C2 (rulings 81, 83) */
[data-ui="chartroom"] .cr-prog__tools { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; }
[data-ui="chartroom"] .cr-prog__group { display: inline-flex; align-items: center; gap: 8px; font: 700 15px var(--cr-cond); letter-spacing: .06em; text-transform: uppercase; color: var(--cr-ink-2); }
[data-ui="chartroom"] .cr-prog__group select { min-height: 44px; padding: 0 10px; font: 600 16px var(--cr-body); color: var(--cr-ink); background: rgba(255, 250, 235, .8); border: 1.5px solid var(--cr-ink-3); border-radius: 0; }
[data-ui="chartroom"] .cr-prog__group select:focus-visible { outline: 3px solid var(--cr-focus); outline-offset: 1px; }
[data-ui="chartroom"] .cr-prog__earntable table { width: 100%; }
[data-ui="chartroom"] .cr-prog__earntable td { font-variant-numeric: tabular-nums; }
[data-ui="chartroom"] .cr-prog__earntable .cr-prog__scroll { max-height: min(60vh, 560px); }
[data-ui="chartroom"] .cr-prog__chartfold > summary > .cr-eyebrow { display: inline-block; margin: 0; }
[data-ui="chartroom"] .cr-prog > .cr-prog__chartfold { margin: 0; padding: 4px 0 10px; border-bottom: 1px solid var(--cr-rule); }
/* Before the first delivery: one column of Working on, then Goals. */
[data-ui="chartroom"] .cr-prog__band--solo { display: block; }
[data-ui="chartroom"] .cr-prog__cols--solo { display: block; }
