.dg-moneyflow {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.3fr) auto minmax(0, .78fr);
  align-items: stretch;
  column-gap: calc(var(--fit,1) * clamp(1.8rem, 4.4cqw, 3.6rem));
  width: 100%;
}

.dg-mf-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: visible;
  pointer-events: none;
}
.dg-mf-ribbon,
.dg-mf-ribbon-base {
  fill: none;
  stroke-linecap: round;
}
.dg-mf-ribbon-base { stroke-width: 7; opacity: .14; }
.dg-mf-ribbon { stroke-width: 3; stroke-dasharray: 1 11; opacity: .9; }
.dg-mf-ribbon--in { stroke: var(--light); }
.dg-mf-ribbon--out { stroke: var(--seam); }
.dg-moneyflow.dg-run .dg-mf-ribbon { animation: dg-mf-flow 1.2s linear infinite; }
@keyframes dg-mf-flow { to { stroke-dashoffset: -12; } }

.dg-mf-col {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: calc(var(--fit,1) * .55rem);
  min-width: 0;
}
.dg-mf-stack {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: calc(var(--fit,1) * .5rem);
}
.dg-mf-col-label {
  font-family: var(--font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--text-dim);
  font-size: calc(var(--fit,1) * clamp(.75rem, 1.15cqw, .9rem));
  line-height: 1.2;
}
.dg-mf-col-label--spacer { visibility: hidden; }
.dg-mf-node {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: calc(var(--fit,1) * clamp(.45rem, 1cqw, .75rem)) calc(var(--fit,1) * clamp(.55rem, 1.2cqw, .9rem));
}
.dg-mf-node-title {
  font-family: var(--font-display);
  font-weight: 600;
  color: var(--text);
  font-size: calc(var(--fit,1) * clamp(.82rem, 1.5cqw, 1.05rem));
  line-height: 1.2;
}
.dg-mf-node-sub { color: var(--ai); font-size: calc(var(--fit,1) * clamp(.72rem, 1.2cqw, .88rem)); margin-top: .15rem; }
.dg-mf-col--payers .dg-mf-node { border-left: 3px solid var(--light); }
.dg-mf-col--costs .dg-mf-node { border-left: 3px solid var(--seam); }

.dg-mf-center .dg-mf-stack { align-items: center; }
.dg-mf-center-node {
  background: color-mix(in srgb, var(--ai) 14%, var(--surface));
  border: 2px solid var(--ai);
  border-radius: 999px;
  box-shadow: 0 0 0 calc(var(--fit,1) * .45rem) color-mix(in srgb, var(--ai) 10%, transparent);
  padding: calc(var(--fit,1) * .5rem);
  text-align: center;
  width: calc(var(--fit,1) * clamp(8rem, 13.5cqw, 11rem));
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dg-mf-center-title {
  font-family: var(--font-display);
  font-weight: 800;
  text-transform: none;
  letter-spacing: .01em;
  color: var(--text);
  font-size: calc(var(--fit,1) * clamp(.95rem, 1.6cqw, 1.2rem));
  line-height: 1.15;
  white-space: nowrap;
}

@media (max-width: 699.98px) {
  .dg-moneyflow { grid-template-columns: 1fr; row-gap: .9rem; }
  .dg-mf-svg { display: none; }
  .dg-mf-stack { flex-direction: row; flex-wrap: wrap; justify-content: flex-start; }
  .dg-mf-node { flex: 1 1 10rem; }
  .dg-mf-col-label--spacer { display: none; }
  .dg-mf-center .dg-mf-stack { justify-content: center; }
  .dg-mf-center { padding: .4rem 0; }
  .dg-mf-center-node { width: 7rem; }
}

/* Sim viewport (left) beside the three phase cards (right); the block takes
   the slide's leftover height and the SVG grows into it. The bottom margin
   undoes the --fit shrink of .slide-inner's bottom padding so a grown block
   never slides under the chrome's progress line. */
.dg-queuesim {
  flex: 1 0 auto;
  margin-bottom: calc((1 - var(--fit,1)) * 2.8rem + .4rem);
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr);
  gap: calc(var(--fit,1) * .55rem) calc(var(--fit,1) * clamp(.8rem, 1.8cqw, 1.3rem));
  width: 100%;
}
.dg-qs-header { grid-column: 1 / -1; display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; flex-wrap: wrap; }
.dg-qs-label { font-family: var(--font-display); text-transform: uppercase; letter-spacing: .04em; color: var(--text); font-weight: 600; font-size: calc(var(--fit,1) * clamp(1rem, 1.7cqw, 1.25rem)); }
.dg-qs-note { color: var(--text-dim); font-size: calc(var(--fit,1) * clamp(.95rem, 1.4cqw, 1.06rem)); font-style: italic; }

.dg-qs-stage {
  display: flex;
  flex-direction: column;
  gap: calc(var(--fit,1) * .5rem);
  min-width: 0;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: calc(var(--fit,1) * clamp(.6rem, 1.4cqh, .95rem)) calc(var(--fit,1) * clamp(.8rem, 1.6cqw, 1.2rem));
}
.dg-qs-status { display: flex; align-items: center; justify-content: space-between; gap: .6rem; flex-wrap: wrap; }
.dg-qs-svg { display: block; width: 100%; flex: 1 1 0; min-height: calc(var(--fit,1) * 8rem); }
.dg-qs-lane-label {
  fill: var(--text-dim);
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 16px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.dg-qs-queue-dot { fill: var(--light); transition: opacity .5s ease; }
.dg-qs-queue-dot[data-ghost="1"] { opacity: .14; }
.dg-qs-arrow { stroke: var(--text-dim); stroke-width: 3; }
.dg-qs-arrowhead { fill: var(--text-dim); }
.dg-qs-worker { transition: opacity .5s ease; }
.dg-qs-worker-box { fill: var(--surface-2); stroke: var(--line); stroke-width: 2; transition: fill .5s ease, stroke .5s ease; }
.dg-qs-worker-track { fill: color-mix(in srgb, var(--text-dim) 22%, transparent); }
.dg-qs-worker-bar { fill: var(--ai); transform-box: fill-box; transform-origin: left center; transform: scaleX(.65); }
.dg-qs-worker-led { fill: var(--text-dim); }
.dg-qs-worker[data-active="1"] .dg-qs-worker-box { fill: color-mix(in srgb, var(--ai) 22%, var(--surface-2)); stroke: var(--ai); }
.dg-qs-worker[data-active="1"] .dg-qs-worker-led { fill: var(--ai); }
.dg-qs-worker[data-active="0"] { opacity: .28; }
.dg-qs-worker[data-active="0"] .dg-qs-worker-bar { transform: scaleX(0); }
.dg-queuesim.dg-run .dg-qs-worker[data-active="1"] .dg-qs-worker-bar { animation: dg-qs-work 1.3s ease-in-out infinite; }
.dg-queuesim.dg-run .dg-qs-worker[data-active="1"]:nth-of-type(odd) .dg-qs-worker-bar { animation-delay: -.6s; }
@keyframes dg-qs-work { 0% { transform: scaleX(.08); } 100% { transform: scaleX(1); } }

.dg-qs-readout { display: flex; gap: calc(var(--fit,1) * 1.1rem); flex-wrap: wrap; font-size: calc(var(--fit,1) * clamp(.95rem, 1.45cqw, 1.1rem)); color: var(--text-dim); }
.dg-qs-readout strong { color: var(--text); font-variant-numeric: tabular-nums; font-size: 1.15em; }

.dg-qs-meter-row { display: flex; align-items: center; gap: .7rem; }
.dg-qs-meter-label { color: var(--text-dim); font-size: calc(var(--fit,1) * clamp(.95rem, 1.45cqw, 1.1rem)); white-space: nowrap; }
.dg-qs-meter-track { flex: 1; height: calc(var(--fit,1) * .7rem); border-radius: 999px; background: var(--surface-2); overflow: hidden; border: 1px solid var(--line); }
.dg-qs-meter-fill { height: 100%; width: 15%; background: linear-gradient(90deg, var(--ai), var(--light)); transition: width .8s ease; border-radius: 999px; }
.dg-qs-meter-fill[data-high="1"] { background: linear-gradient(90deg, var(--light), var(--seam)); }

.dg-qs-badges { display: flex; gap: .45rem; flex-wrap: wrap; }
.dg-qs-badge {
  display: inline-flex; align-items: center;
  padding: .2rem .65rem;
  border-radius: 999px;
  font-size: calc(var(--fit,1) * clamp(.95rem, 1.4cqw, 1.06rem));
  font-weight: 600;
  border: 1px solid var(--line);
  color: var(--text-dim);
  background: var(--surface-2);
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .4s ease, transform .4s ease;
}
.dg-qs-badge[data-shown="1"] { opacity: 1; transform: translateY(0); border-color: var(--ai); color: var(--text); }
.dg-qs-badge--alert[data-shown="1"] { border-color: var(--seam); }

.dg-qs-phases { display: flex; flex-direction: column; gap: calc(var(--fit,1) * .5rem); min-width: 0; }
.dg-qs-phase {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  text-align: left;
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--line);
  border-radius: var(--radius);
  padding: calc(var(--fit,1) * clamp(.45rem, 1.1cqh, .7rem)) calc(var(--fit,1) * clamp(.7rem, 1.3cqw, 1rem));
  background: var(--surface);
  transition: border-color .4s ease, background .4s ease;
}
.dg-qs-phase:hover { border-color: var(--ai); }
.dg-qs-phase[data-active="1"] {
  border-color: var(--ai);
  background: color-mix(in srgb, var(--ai) 12%, var(--surface));
}
.dg-qs-phase-title {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--text);
  font-size: calc(var(--fit,1) * clamp(.95rem, 1.5cqw, 1.15rem));
}
.dg-qs-phase-text { color: var(--text-dim); font-size: calc(var(--fit,1) * clamp(.9rem, 1.4cqw, 1.08rem)); margin-top: .1rem; line-height: 1.3; }
.dg-qs-phase[data-active="1"] .dg-qs-phase-text { color: var(--text); }

@media (max-width: 699.98px) {
  .dg-queuesim { grid-template-columns: 1fr; grid-template-rows: auto; margin-bottom: 0; }
  .dg-qs-svg { flex: none; min-height: 0; height: auto; }
}

.dg-tabs { display: flex; flex-direction: column; gap: calc(var(--fit,1) * clamp(.5rem, 1.2cqh, .9rem)); width: 100%; }
.dg-tablist { display: flex; gap: .5rem; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.dg-tab {
  min-height: 44px;
  padding: 0 calc(var(--fit,1) * 1rem);
  font-family: var(--font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .03em;
  font-size: calc(var(--fit,1) * clamp(.8rem, 1.4cqw, 1rem));
  color: var(--text-dim);
  border-bottom: 3px solid transparent;
  margin-bottom: -1px;
}
.dg-tab:hover { color: var(--text); }
.dg-tab[aria-selected="true"] { color: var(--text); border-bottom-color: var(--ai); }
/* Panels share one grid cell so the block keeps the tallest panel's height and
   switching tabs never resizes (or refits) the slide. */
.dg-tabpanels { display: grid; }
.dg-tabpanel { grid-area: 1 / 1; min-width: 0; display: flex; flex-direction: column; }
.dg-tabpanel[hidden] { display: flex; visibility: hidden; }

.dg-positioning {
  flex: 1 1 auto;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) auto;
  column-gap: calc(var(--fit,1) * .55rem);
  row-gap: calc(var(--fit,1) * .45rem);
  width: 100%;
  min-height: calc(var(--fit,1) * 15rem);
}
.dg-pos-yaxis {
  grid-area: 1 / 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}
.dg-pos-yaxis p { writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; }
.dg-pos-xaxis {
  grid-area: 2 / 2;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
}
.dg-pos-end {
  color: var(--text-dim);
  font-size: calc(var(--fit,1) * clamp(.85rem, 1.35cqw, 1.05rem));
  line-height: 1.2;
}
.dg-pos-axislabel {
  color: var(--ai);
  font-family: var(--font-display);
  font-size: calc(var(--fit,1) * clamp(.9rem, 1.45cqw, 1.1rem));
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 600;
  line-height: 1.2;
}

.dg-pos-map {
  grid-area: 1 / 2;
  position: relative;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}
.dg-pos-quad {
  position: absolute;
  left: 0; top: 0;
  width: 50%; height: 50%;
  border-top-left-radius: var(--radius);
  background: color-mix(in srgb, var(--ai) 11%, transparent);
}
.dg-pos-cross { position: absolute; background: var(--line); }
.dg-pos-cross--v { left: 50%; top: 0; bottom: 0; width: 1px; }
.dg-pos-cross--h { top: 50%; left: 0; right: 0; height: 1px; }

.dg-pos-points { position: absolute; inset: 0; }
.dg-pos-point {
  position: absolute;
  left: calc(var(--px) * 100%);
  top: calc((1 - var(--py)) * 100%);
  width: 0;
  height: 0;
  opacity: 1;
  transition: opacity .5s ease, transform .5s ease;
}
.dg-positioning.dg-replay .dg-pos-point {
  opacity: 0;
  transform: scale(.4);
  transition: none;
}
.dg-positioning.dg-replay.dg-settle .dg-pos-point {
  opacity: 1;
  transform: scale(1);
  transition: opacity .45s ease, transform .45s ease;
  transition-delay: calc(var(--dg-i, 0) * 90ms);
}
.dg-pos-dot {
  position: absolute;
  left: 0; top: 0;
  transform: translate(-50%, -50%);
  width: calc(var(--fit,1) * 1rem);
  height: calc(var(--fit,1) * 1rem);
  border-radius: 999px;
  background: var(--ai);
  border: 2px solid var(--surface);
  box-shadow: 0 0 0 1.5px var(--ai);
}
.dg-pos-point--highlight .dg-pos-dot {
  width: calc(var(--fit,1) * 1.3rem);
  height: calc(var(--fit,1) * 1.3rem);
  background: var(--seam);
  box-shadow: 0 0 0 1.5px var(--seam);
}
.dg-pos-point--highlight .dg-pos-dot::after {
  content: "";
  position: absolute;
  inset: calc(var(--fit,1) * -.45rem);
  border-radius: 999px;
  border: 2px solid var(--seam);
  opacity: 0;
}
.dg-positioning.dg-run .dg-pos-point--highlight .dg-pos-dot::after {
  animation: dg-pos-pulse 2.2s ease-out infinite;
}
@keyframes dg-pos-pulse {
  0% { transform: scale(.6); opacity: .9; }
  100% { transform: scale(2.1); opacity: 0; }
}
.dg-pos-label {
  position: absolute;
  top: 0;
  left: calc(var(--fit,1) * 1.1rem);
  transform: translateY(calc(-50% + var(--dg-dy, 0px)));
  width: max-content;
  max-width: calc(var(--fit,1) * 16rem);
  text-align: left;
}
.dg-pos-point--left .dg-pos-label { left: auto; right: calc(var(--fit,1) * 1.1rem); text-align: right; }
.dg-pos-point--below .dg-pos-label,
.dg-pos-point--above .dg-pos-label { left: 0; transform: translateX(calc(-50% + var(--dg-dx, 0px))); text-align: center; }
.dg-pos-point--below .dg-pos-label { top: calc(var(--fit,1) * 1.1rem); }
.dg-pos-point--above .dg-pos-label { top: auto; bottom: calc(var(--fit,1) * 1.1rem); }
.dg-pos-name {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--text);
  font-size: calc(var(--fit,1) * clamp(1rem, 1.9cqw, 1.4rem));
  line-height: 1.15;
}
.dg-pos-note { color: var(--text-dim); font-size: calc(var(--fit,1) * clamp(.85rem, 1.4cqw, 1.1rem)); line-height: 1.25; margin-top: .1rem; }

@media (max-width: 699.98px) {
  .dg-tabpanel[hidden] { display: none; }
  .dg-positioning { min-height: 28rem; column-gap: .35rem; }
  .dg-pos-xaxis { flex-wrap: wrap; gap: .2rem .8rem; }
  .dg-pos-xaxis .dg-pos-axislabel { order: -1; width: 100%; text-align: center; }
  .dg-pos-label { max-width: 7.5rem; }
  .dg-pos-name { font-size: .95rem; }
  .dg-pos-note { font-size: .8rem; }
}

/* The block takes the slide's leftover height; the wheel sizes off that
   height (cqh) and leaves a band above and below for the N and S labels. */
.dg-flywheel {
  --fw-band: calc(var(--fit,1) * 1.45rem);
  --fw-badge: calc(var(--fit,1) * 2.3rem);
  flex: 1 0 auto;
  margin-bottom: calc((1 - var(--fit,1)) * 2.8rem + .4rem);
  min-height: calc(var(--fit,1) * 15rem);
  container-type: size;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.dg-fw-wrap {
  position: relative;
  width: min(100cqh - 2 * var(--fw-band), 46cqw);
  aspect-ratio: 1;
}
.dg-fw-ring {
  position: absolute; inset: 0;
  border-radius: 999px;
  border: 2px dashed color-mix(in srgb, var(--ai) 45%, var(--line));
}
.dg-fw-center {
  position: absolute;
  inset: 21%;
  border-radius: 999px;
  background: radial-gradient(circle, color-mix(in srgb, var(--ai) 16%, var(--surface)) 0%, var(--surface) 70%);
  border: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6%;
  text-align: center;
}
.dg-fw-center-text {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .02em;
  color: var(--text);
  font-size: calc(var(--fit,1) * clamp(1rem, 4.2cqh, 1.45rem));
  line-height: 1.12;
}

/* Each step is a zero-size anchor on the ring; the badge centres on it and
   the text sits outside the circle, trailing in the direction of travel. */
.dg-fw-step { position: absolute; width: 0; height: 0; }
.dg-fw-step--0 { top: 0; left: 50%; }
.dg-fw-step--1 { top: 50%; left: 100%; }
.dg-fw-step--2 { top: 100%; left: 50%; }
.dg-fw-step--3 { top: 50%; left: 0; }
.dg-fw-step-badge {
  position: absolute;
  left: 0; top: 0;
  transform: translate(-50%, -50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--fw-badge);
  height: var(--fw-badge);
  border-radius: 999px;
  background: var(--surface);
  border: 2px solid var(--line);
  color: var(--text-dim);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: calc(var(--fit,1) * 1.05rem);
  z-index: 1;
  transition: border-color .3s ease, color .3s ease, background .3s ease, box-shadow .3s ease;
}
.dg-fw-step.is-lit .dg-fw-step-badge {
  border-color: var(--light);
  color: var(--on-accent);
  background: var(--light);
  box-shadow: 0 0 0 calc(var(--fit,1) * .35rem) color-mix(in srgb, var(--light) 22%, transparent);
}
.dg-fw-step-text {
  position: absolute;
  width: max-content;
  max-width: calc(var(--fit,1) * 17rem);
  color: var(--text-dim);
  font-size: calc(var(--fit,1) * clamp(.95rem, 3.6cqh, 1.2rem));
  line-height: 1.25;
  transition: color .3s ease;
}
.dg-fw-step--0 .dg-fw-step-text { left: calc(var(--fw-badge) * .5 + .7rem); bottom: .1rem; }
.dg-fw-step--0 .dg-fw-step-text,
.dg-fw-step--2 .dg-fw-step-text { max-width: calc(var(--fit,1) * 26rem); }
.dg-fw-step--1 .dg-fw-step-text { left: calc(var(--fw-badge) * .5 + .7rem); top: 0; transform: translateY(-50%); }
.dg-fw-step--2 .dg-fw-step-text { right: calc(var(--fw-badge) * .5 + .7rem); top: .1rem; text-align: right; }
.dg-fw-step--3 .dg-fw-step-text { right: calc(var(--fw-badge) * .5 + .7rem); top: 0; transform: translateY(-50%); text-align: right; }
.dg-fw-step.is-lit .dg-fw-step-text { color: var(--text); }
.dg-fw-pulse {
  position: absolute;
  width: calc(var(--fit,1) * .8rem);
  height: calc(var(--fit,1) * .8rem);
  border-radius: 999px;
  background: var(--light);
  box-shadow: 0 0 calc(var(--fit,1) * .9rem) var(--light);
  left: var(--fw-x, 50%);
  top: var(--fw-y, 0%);
  transform: translate(-50%, -50%);
}
:root[data-motion="reduced"] .dg-fw-pulse { box-shadow: none; }

@media (max-width: 699.98px) {
  .dg-flywheel { display: block; container-type: normal; min-height: 0; margin-bottom: 0; }
  .dg-fw-wrap { position: static; width: 100%; aspect-ratio: auto; display: flex; flex-direction: column; gap: .6rem; }
  .dg-fw-ring, .dg-fw-pulse { display: none; }
  .dg-fw-center { position: static; inset: auto; background: none; border: none; padding: 0; margin: 0 0 .2rem; }
  .dg-fw-center-text { font-size: 1.15rem; }
  .dg-fw-step {
    position: static;
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .5rem .6rem;
    border-radius: 10px;
    border: 1px solid var(--line);
  }
  .dg-fw-step.is-lit { border-color: var(--light); background: color-mix(in srgb, var(--light) 12%, var(--surface)); }
  .dg-fw-step-badge { position: static; transform: none; flex: 0 0 auto; }
  .dg-fw-step .dg-fw-step-text { position: static; transform: none; width: auto; max-width: none; text-align: left; font-size: 1rem; }
}

.dg-linescore {
  --dg-ls-bg: #0B0F17;
  --dg-ls-line: #263147;
  --dg-ls-text: #F4F6FA;
  --dg-ls-dim: #8894A8;
  width: 100%;
}
.dg-ls-heading {
  font-family: var(--font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--text);
  font-size: calc(var(--fit,1) * clamp(.85rem, 1.6cqw, 1.1rem));
  margin-bottom: calc(var(--fit,1) * .4rem);
}
.dg-ls-board {
  background: var(--dg-ls-bg);
  border: 1px solid var(--dg-ls-line);
  border-radius: var(--radius);
  padding: calc(var(--fit,1) * clamp(.5rem, 1.2cqw, .85rem));
  display: flex;
  align-items: center;
  gap: calc(var(--fit,1) * clamp(.5rem, 1.3cqw, 1rem));
}
.dg-ls-team {
  font-family: var(--font-display);
  font-weight: 800;
  text-transform: uppercase;
  color: var(--dg-ls-text);
  font-size: calc(var(--fit,1) * clamp(.85rem, 1.6cqw, 1.15rem));
  flex: 0 0 auto;
  border-right: 1px solid var(--dg-ls-line);
  padding-right: calc(var(--fit,1) * .8rem);
}
.dg-ls-cols {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: calc(var(--fit,1) * .35rem);
  min-width: 0;
}
.dg-ls-cell {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(var(--fit,1) * .2rem);
  padding: calc(var(--fit,1) * .3rem) calc(var(--fit,1) * .2rem);
  border-radius: 6px;
  background: color-mix(in srgb, var(--dg-ls-line) 35%, transparent);
  transform-origin: center top;
  transition: opacity .35s ease, transform .35s ease;
  transition-delay: calc(var(--dg-i, 0) * 90ms);
}
.dg-linescore.dg-arming .dg-ls-cell { opacity: .35; transform: rotateX(70deg); transition: none; }
.dg-ls-num {
  font-variant-numeric: tabular-nums;
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--dg-ls-dim);
  font-size: calc(var(--fit,1) * clamp(.72rem, 1.3cqw, .95rem));
}
.dg-ls-stage {
  color: var(--dg-ls-dim);
  font-size: calc(var(--fit,1) * clamp(.56rem, .95cqw, .7rem));
  text-align: center;
  line-height: 1.15;
  min-height: 2.2em;
}
.dg-ls-cell.is-current { background: color-mix(in srgb, var(--light) 28%, var(--dg-ls-bg)); }
.dg-ls-cell.is-current .dg-ls-num,
.dg-ls-cell.is-current .dg-ls-stage { color: var(--dg-ls-text); }
.dg-ls-cell.is-done .dg-ls-num { color: var(--ai); }
.dg-ls-cell.is-done .dg-ls-stage { color: var(--dg-ls-text); }
.dg-ls-now {
  font-size: calc(var(--fit,1) * clamp(.52rem, .85cqw, .62rem));
  font-weight: 800;
  letter-spacing: .08em;
  color: var(--on-accent);
  background: var(--light);
  border-radius: 999px;
  padding: .05em .5em;
}

@media (max-width: 699.98px) {
  .dg-ls-board { flex-direction: column; align-items: stretch; gap: .5rem; }
  .dg-ls-team { border-right: none; border-bottom: 1px solid var(--dg-ls-line); padding-right: 0; padding-bottom: .3rem; text-align: center; }
  .dg-ls-cols { grid-template-columns: repeat(3, 1fr); gap: .4rem; }
}
