/* A compact panoramic ledger. All rules wait for successful enhancement. */
.edition39 #mechanisms.m49-ready .h39-mechanism-sequence {
  --m49-human: #c1dfd0;
  --m49-sales: #66c9be;
  --m49-new: #e5bd78;
  --m49-downside: #e59b94;
  --m49-total-width: 101px;
  --m49-meter-gap: 17px;
  display: block;
  position: relative;
  isolation: isolate;
  width: 100%;
  box-sizing: border-box;
  padding: clamp(25px, 2.5vw, 32px) clamp(25px, 3.7vw, 52px) 22px;
  color: #eef1e7;
  background: radial-gradient(ellipse at 79% 0%, #24433980 0, transparent 60%), linear-gradient(125deg, #102b31, #071b23 72%);
  border: 1px solid #acd2c334;
  border-top: 2px solid #aed6c3;
  box-shadow: 0 18px 46px #05202a19;
}
.edition39 #mechanisms.m49-ready .mechanism-stage {
  display: block;
  position: static !important;
  top: auto !important;
  width: 100%;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.edition39 #mechanisms.m49-ready .mechanism-stage h2 {
  color: #f0f1e7;
  font-size: clamp(27px, 2.8vw, 38px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -.025em;
  margin: 0 0 13px;
  max-width: none;
}
.edition39 #mechanisms.m49-ready .mechanism-visual,
.edition39 #mechanisms.m49-ready .mechanism-nav { display: none !important; }
.edition39 #mechanisms.m49-ready .mechanism-story {
  display: block;
  position: static;
  width: 100%;
}
.edition39.full-edition #mechanisms.m49-ready .mechanism-step,
.edition39 #mechanisms.m49-ready .mechanism-step {
  display: block !important;
  position: relative;
  min-height: 0 !important;
  height: auto !important;
  width: 100%;
  padding: 12px 0 14px !important;
  margin: 0 !important;
  opacity: 1 !important;
  transform: none !important;
  border: 0 !important;
  border-top: 1px solid #d8e9dc1b !important;
  box-sizing: border-box;
}
.edition39 #mechanisms.m49-ready .mechanism-step h3 {
  color: #eff0e4;
  font-size: clamp(21px, 2vw, 25px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -.015em;
  margin: 0;
  max-width: none;
}
.edition39 #mechanisms.m49-ready .mechanism-step p,
.edition39 #mechanisms.m49-ready .mechanism-step > p:not(.eyebrow) {
  color: #b8cbc5;
  font-size: clamp(15px, 1.3vw, 17px);
  line-height: 1.55;
  margin: 3px 0 10px !important;
  max-width: none;
}
.edition39 #mechanisms.m49-ready .mechanism-step.m49-alternate {
  --m49-human: var(--m49-downside);
  margin-top: 7px !important;
  padding-top: 15px !important;
  border-top: 1px solid #e59b9477 !important;
}
.m49-ready .m49-reference { margin: 0 0 11px; }
.m49-ready .m49-reference-caption {
  margin: 0 0 6px;
  font-size: 14px;
  line-height: 1.5;
  color: #cfddd1;
}
.m49-ready .m49-meter,
.m49-ready .m49-ruler {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--m49-total-width);
  column-gap: var(--m49-meter-gap);
  align-items: center;
  width: 100%;
  margin: 0;
}
.m49-ready .m49-track {
  display: flex;
  position: relative;
  align-items: stretch;
  height: 25px;
  min-width: 0;
  background-color: #020f1538;
  background-image: linear-gradient(90deg, #c4d9ce19 1px, transparent 1px);
  background-size: 20% 100%;
  border-right: 1px solid #c4d9ce19;
  box-sizing: border-box;
}
.m49-ready .m49-reference-line {
  position: absolute;
  top: -5px;
  bottom: -5px;
  left: 80%;
  width: 0;
  border-left: 1px dashed #e0e8d970;
  z-index: 2;
  pointer-events: none;
}
.m49-ready .m49-segment {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  height: 100%;
  color: #102923;
  box-sizing: border-box;
  border-right: 1px solid #08202866;
  box-shadow: inset 0 1px 0 #ffffff55;
  transition: filter 180ms ease;
}
.m49-ready .m49-human { background: var(--m49-human); --m49-fill-color:var(--m49-human); --m49-silhouette:rgba(193,223,208,.64); }
.m49-ready .m49-sales { background: var(--m49-sales); --m49-fill-color:var(--m49-sales); --m49-silhouette:rgba(102,201,190,.64); }
.m49-ready .m49-new { background: var(--m49-new); --m49-fill-color:var(--m49-new); --m49-silhouette:rgba(229,189,120,.64); }
.m49-ready .m49-alternate .m49-human { --m49-silhouette:rgba(229,155,148,.78); }
.m49-ready .m49-layered { background:var(--m49-silhouette); overflow:hidden; }
.m49-ready .m49-fill { position:absolute; inset:0; background:var(--m49-fill-color); transform-origin:left center; pointer-events:none; }
/* Widths and visible numbers move together; the shared 100-hour ruler stays still. */
.m49-ready .m49-row .m49-fill { transform:none; }
.m49-ready .m49-segment-number {
  position:relative;
  z-index:1;
  color:#06191d;
  font-family: Geist, Anuphan, sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.m49-ready .m49-total {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 6px;
  white-space: nowrap;
  color: #eaf0e6;
  line-height: 1;
}
.m49-ready .m49-total strong {
  font-family: Geist, Anuphan, sans-serif;
  font-size: 30px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.035em;
}
.m49-ready .m49-total > span { font-size: 12px; color: #bdd0c7; }
.m49-ready .m49-baseline-meter .m49-track { height: 13px; }
.m49-ready .m49-baseline-meter .m49-human {
  background: #bddbcc10;
  border: 1px solid #bddbcc80;
  box-shadow: none;
}
.m49-ready .m49-baseline-meter .m49-segment-number { display: none; }
.m49-ready .m49-baseline-meter .m49-total strong { font-size: 21px; color: #c4d8cc; }
.m49-ready .m49-ruler { margin-top: 7px; color: #93afa5; font-size: 11px; line-height: 1.4; }
.m49-ready .m49-scale { position: relative; height: 16px; }
.m49-ready .m49-tick { position: absolute; transform: translateX(-50%); font-family: Geist, Anuphan, sans-serif; }
.m49-ready .m49-tick[data-tick="0"] { transform: none; }
.m49-ready .m49-tick[data-tick="125"] { transform: translateX(-100%); }
.m49-ready .m49-tick[data-tick="100"] { color: #d4dfd2; }
.m49-ready .m49-scale-unit { text-align: right; white-space: nowrap; }
.m49-ready .m49-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 22px;
  margin-top: 6px;
  color: #c7d8ce;
  font-size: 12px;
  line-height: 1.5;
}
.m49-ready .m49-legend-item { display: inline-flex; align-items: center; gap: 7px; }
.m49-ready .m49-legend-item i { display: inline-block; width: 14px; height: 5px; flex: 0 0 auto; }
.m49-ready .m49-legend-human i { background: var(--m49-human); }
.m49-ready .m49-legend-sales i { background: var(--m49-sales); }
.m49-ready .m49-legend-new i { background: var(--m49-new); }
.m49-ready .m49-alternate .m49-total strong { color: var(--m49-downside); }
/* The downside carries over the previous 116-hour bar, then sheds four-hour bricks. */
.edition39.full-edition #mechanisms.m49-ready .mechanism-step.m94-scene { padding-bottom: 90px !important; }
.m94-bricks {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 3;
}
.m94-bricks[hidden] { display: none; }
.m94-brick {
  position: absolute;
  top: 0;
  height: 100%;
  box-sizing: border-box;
  border-right: 1px solid #102b31;
  box-shadow: inset 0 1px 0 #ffffff55;
  transform-origin: 50% 65%;
}
.m94-brick-human { background: #c1dfd0; }
.m94-brick-sales { background: var(--m49-sales); }
.m94-brick-new { background: var(--m49-new); }
.m94-brick-label {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  font: 600 13px/1 Geist, Anuphan, sans-serif;
  font-variant-numeric: tabular-nums;
  color: #06191d;
  padding: 2px;
}
.m94-label-human { background: #c1dfd0; }
.m94-label-sales { background: var(--m49-sales); }
.m94-label-new { background: var(--m49-new); }
.ws39-editing #mechanisms.m49-ready .mechanism-step.m49-alternate.m94-scene { padding-bottom: 14px !important; }
@media (hover: hover) {
  .m49-ready .m49-row:hover .m49-segment { filter: brightness(1.06); }
}
@media (max-width: 700px) {
  .edition39 #mechanisms.m49-ready .h39-mechanism-sequence {
    --m49-total-width: 84px;
    --m49-meter-gap: 10px;
    padding: 24px 18px 17px;
  }
  .edition39 #mechanisms.m49-ready .mechanism-stage h2 { font-size: 28px; line-height: 1.4; margin-bottom: 19px; }
  .edition39 #mechanisms.m49-ready .mechanism-step h3 { font-size: 22px; line-height: 1.45; }
  .edition39 #mechanisms.m49-ready .mechanism-step p,
  .edition39 #mechanisms.m49-ready .mechanism-step > p:not(.eyebrow) { font-size: 16px; line-height: 1.65; margin: 5px 0 12px !important; }
  .edition39.full-edition #mechanisms.m49-ready .mechanism-step { padding: 16px 0 18px !important; }
  .m49-ready .m49-reference-caption { font-size: 13px; }
  .m49-ready .m49-total { gap: 4px; }
  .m49-ready .m49-total strong { font-size: 28px; }
  .m49-ready .m49-total > span { font-size: 11px; }
  .m49-ready .m49-segment-number { font-size: 11px; }
  .m49-ready .m49-track { height: 24px; }
  .m49-ready .m49-legend { gap: 6px 16px; font-size: 11px; }
  .m49-ready .m49-legend-item { gap: 5px; }
  .m49-ready .m49-legend-item i { width: 12px; }
  .m94-brick-label { font-size: 11px; }
}
@media (max-width: 380px) {
  .edition39 #mechanisms.m49-ready .h39-mechanism-sequence { --m49-total-width: 77px; --m49-meter-gap: 8px; padding-inline: 14px; }
  .edition39 #mechanisms.m49-ready .mechanism-stage h2 { font-size: 25px; }
  .m49-ready .m49-total strong { font-size: 25px; }
  .m49-ready .m49-segment-number { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .edition39.full-edition #mechanisms.m49-ready .mechanism-step.m94-scene { padding-bottom: 14px !important; }
  .m49-ready .m49-segment { transition: none; }
  .m49-ready .m49-fill { transform:none!important; }
}
.ws39-editing .m49-ready .m49-fill { transform:none!important; }
@media print {
  .edition39.full-edition #mechanisms.m49-ready .mechanism-step.m94-scene { padding-bottom: 14px !important; }
  .edition39 #mechanisms.m49-ready .h39-mechanism-sequence { break-inside: avoid; box-shadow: none; }
  .m49-ready .m49-fill { transform:none!important; }
}
