/* v22: shared reading layer. Keep after edition palettes; do not palette-convert. */
body[data-visual-edition] {
  --read-ink:var(--edition-ink,var(--hero-ink));
  --read-muted:#4f617a;
  --read-on-dark:#d2dded;
}
body[data-visual-edition][data-vertical="cabaret"] {--read-muted:#67505b;--read-on-dark:#e2cfd5}
body[data-visual-edition][data-vertical="concafe"] {--read-muted:#655378;--read-on-dark:#e3d7ef}
body[data-visual-edition][data-vertical="host"] {--read-muted:#535d6b;--read-on-dark:#d5dce5}
body[data-visual-edition][data-vertical="girlsbar"] {--read-muted:#42646a;--read-on-dark:#cde7e2}
body[data-visual-edition][data-vertical="club"] {--read-muted:#69566e;--read-on-dark:#dfcedf}
body[data-visual-edition][data-vertical="snack"] {--read-muted:#6e5544;--read-on-dark:#efdbc2}
body[data-visual-edition][data-vertical="lounge"] {--read-muted:#4e665a;--read-on-dark:#dce7d9}
body[data-visual-edition][data-vertical="mens-concafe"] {--read-muted:#406474;--read-on-dark:#cceaf1}

/* Notes remain readable on both paper and the darker story chapters. */
body[data-visual-edition] :is(.feature-demo-note,.fineprint,.data-sample-note,.price-tax) {
  font-size:12px;
  line-height:1.85;
}
body[data-visual-edition] :is(.data-section,.cast-section,.contact-section) > :is(.feature-demo-note,.fineprint,.data-sample-note) {
  color:var(--read-on-dark);
}
body[data-visual-edition] :is(.feature-text-link,.feature-official-link,.data-real-link) {
  font-size:12px;
  min-height:44px;
  align-content:center;
}
body[data-visual-edition] .hero-device-note {font-size:11px;line-height:1.75;opacity:1}
body[data-visual-edition] .visual-plan-price>small {font-size:11px;line-height:1.6}
body[data-visual-edition] .faq-list details p {font-size:14px;line-height:1.9}

/* Pricing keeps one readable amount, with currency and period in their own space. */
body[data-visual-edition] .plan-card .price {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:6px 12px;
  max-width:100%;
  font-weight:800;
  line-height:1.15;
  letter-spacing:0;
  white-space:normal;
  font-variant-numeric:tabular-nums lining-nums;
}
body[data-visual-edition] .price>.price-value {
  display:inline-flex;
  align-items:baseline;
  gap:.12em;
  min-width:0;
  max-width:100%;
  margin:0;
  font:inherit;
  letter-spacing:0;
  white-space:nowrap;
}
body[data-visual-edition] .price .price-currency {
  font-size:.42em;
  font-weight:700;
  letter-spacing:0;
}
body[data-visual-edition] .price .price-amount {
  font:inherit;
  letter-spacing:.01em;
  font-variant-numeric:tabular-nums lining-nums;
}
body[data-visual-edition] .price>.price-period {
  flex:none;
  margin:0;
  font:500 12px/1.6 var(--sans);
  letter-spacing:0;
  white-space:nowrap;
}
body[data-visual-edition] .plan-tab>.visual-plan-price {letter-spacing:0;font-variant-numeric:tabular-nums lining-nums}
body[data-visual-edition] .initial-price {flex-wrap:wrap;gap:6px 16px}
body[data-visual-edition] .initial-price>span {font-size:12px;line-height:1.6}
body[data-visual-edition] .initial-price strong {display:inline-flex;align-items:baseline;gap:5px;font-variant-numeric:tabular-nums lining-nums}
body[data-visual-edition] .initial-price small {font-size:11px;line-height:1.6;margin:0}
body[data-visual-edition] .plan-card .plan-name {font-size:12px;line-height:1.6}
body[data-visual-edition] .plan-card .check-list li {font-size:12px;line-height:1.8}

/* Table headers and feature names break at words instead of individual letters. */
body[data-visual-edition] .plan-matrix {font-size:12px;line-height:1.7}
body[data-visual-edition] .plan-matrix :is(th,td) {padding:13px 5px;overflow-wrap:normal;word-break:normal}
body[data-visual-edition] .plan-matrix thead th {font-size:14px;line-height:1.5}
body[data-visual-edition] .plan-matrix th:first-child {width:31%;font-size:12px;line-height:1.7;padding-left:12px}
body[data-visual-edition] .plan-matrix-word {display:inline-block;white-space:nowrap}
body[data-visual-edition] .plan-matrix-plan-compact {display:none}
body[data-visual-edition] .plan-matrix-wrap>p {font-size:12px;line-height:1.85}

/* Keep real customer-record labels legible; tiny bottle artwork is decorative. */
body[data-visual-edition] .customer-identity small {font-size:11px;line-height:1.6}
body[data-visual-edition] .customer-metrics small {font-size:11px;line-height:1.6}
body[data-visual-edition] .customer-metrics strong>span {font-size:11px}
body[data-visual-edition] .customer-attributes>.feature-mini-label,
body[data-visual-edition] .customer-attributes>span:not(.feature-mini-label) {font-size:11px;line-height:1.6}
body[data-visual-edition] .customer-memo small {font-size:11px;line-height:1.6}
body[data-visual-edition] .customer-memo p {font-size:12px;line-height:1.8}
body[data-visual-edition] .customer-panel-caption {font-size:12px;line-height:1.8}
body[data-visual-edition] .customer-panel-heading h3 {font-size:13px;line-height:1.6}
body[data-visual-edition] .customer-panel-heading>span {font-size:11px;line-height:1.6;letter-spacing:0}
body[data-visual-edition] .customer-visits strong {font-size:12px;line-height:1.6}
body[data-visual-edition] .customer-visits small {font-size:11px;line-height:1.7}
body[data-visual-edition] .customer-bottles small,
body[data-visual-edition] .customer-bottles p {font-size:11px;line-height:1.7}
body[data-visual-edition] .customer-bottles li>div {min-width:0}
body[data-visual-edition] .customer-bottles h4 {font-size:13px;line-height:1.6}
body[data-visual-edition] .customer-bottles li>strong>span {font-size:11px}

@media(min-width:1001px) {
  body[data-visual-edition] .left-rail .rail-eyebrow {font-size:10px;line-height:1.6;letter-spacing:.1em}
  body[data-visual-edition] .left-rail .rail-proof>span {font-size:11px;line-height:1.8;white-space:normal}
  body[data-visual-edition] .left-rail .rail-proof small {font-size:11px;line-height:1.7}
  body[data-visual-edition] .left-rail .rail-cta small {font-size:10px;line-height:1.6;letter-spacing:0}
  body[data-visual-edition] .left-rail .rail-sub {font-size:11px;line-height:1.6}
}

@media(max-width:540px) {
  body[data-visual-edition] .plan-matrix thead th {font:700 11px/1.6 var(--sans)}
  body[data-visual-edition] .plan-matrix th:first-child {font-size:12px;padding-left:8px}
  body[data-visual-edition] .plan-matrix-plan-full {display:none}
  body[data-visual-edition] .plan-matrix-plan-compact {display:block}
  body[data-visual-edition] .plan-matrix-plan-compact>span {display:block;white-space:nowrap}
}

/* Host pricing is a light chapter, so its primary text must use dark ink. */
body[data-visual-edition][data-vertical="host"] :is(.plan-card,.setup-examples article,.plan-card .plan-link) {
  color:var(--hero-ink);
}
body[data-visual-edition][data-vertical="host"] .real-screen-bridge {
  --ink:#283342;
  color:#283342;
}
body[data-visual-edition][data-vertical="host"] .real-screen-bridge :is(.setup-eyebrow,.feature-text-link) {color:#384d65}
body[data-visual-edition][data-vertical="host"] :is(.cast-section,.data-section,.contact-section) .section-kicker {color:var(--read-on-dark);opacity:1}
body[data-visual-edition][data-vertical="mens-concafe"] .journey-card {
  --hero-ink:var(--edition-ink);
  --hero-paper:var(--edition-card);
  background:var(--edition-card);
  color:var(--edition-ink);
}
body[data-visual-edition] .journey-note {font-size:11px;line-height:1.8;opacity:1}

/* A seven-day report needs room for the date range and seven-digit totals. */
body[data-visual-edition] .data-dashboard {container:report / inline-size}
body[data-visual-edition] .data-window-bar {font-size:11px;line-height:1.4;letter-spacing:.08em}
body[data-visual-edition] .data-window-bar>b {font-size:10px;letter-spacing:.1em}
body[data-visual-edition] .data-sample-context {
  align-items:flex-start;
  gap:5px 14px;
  padding:12px 16px;
  font-size:11px;
  line-height:1.75;
  color:var(--read-muted);
}
body[data-visual-edition] .data-sample-context strong {font-size:11px;line-height:1.75;color:var(--read-ink)}
body[data-visual-edition] .data-sample-context>span {font-variant-numeric:tabular-nums}
body[data-visual-edition] .data-tabs {grid-template-columns:1fr 1fr 1.45fr;gap:6px}
body[data-visual-edition] .data-tabs button {font-size:12px;line-height:1.5;min-height:46px}
body[data-visual-edition] .data-tabs button>span {font-size:10px;opacity:1}
body[data-visual-edition] .data-summary {padding:22px 18px 20px;min-height:170px}
body[data-visual-edition] .data-summary-label {font-size:13px;line-height:1.6;gap:7px;padding-right:110px}
body[data-visual-edition] .data-summary-label small {font-size:10px;line-height:1.5;color:var(--read-muted)}
body[data-visual-edition] .data-total {padding-right:112px;min-height:76px;margin-top:5px;gap:4px;max-width:100%}
body[data-visual-edition] .data-total-copy {grid-area:auto!important}
body[data-visual-edition] :is(#data-total-number,.data-total-copy-number) {
  font-size:clamp(40px,11cqw,70px);
  letter-spacing:-.025em;
  line-height:1.12;
}
body[data-visual-edition] .data-meta {font-size:12px;line-height:1.65;padding-right:110px;color:var(--read-muted)}
body[data-visual-edition] .data-meta strong {font-size:12px;color:var(--read-ink)}
body[data-visual-edition] .data-companion-bubble {font-size:10px;line-height:1.5}
body[data-visual-edition] :is(.data-chart-heading h3,.data-table-heading h3) {font-size:13px;line-height:1.6;color:var(--read-ink)}
body[data-visual-edition] .data-chart-heading>span {font-size:11px;color:var(--read-muted)}
body[data-visual-edition] .data-table-heading>span {font-size:10px;line-height:1.4;letter-spacing:.03em;color:var(--read-muted)}
body[data-visual-edition] .data-bar-value {font-size:11px;line-height:1.2;color:var(--read-ink);font-weight:800}
body[data-visual-edition] .data-chart-card .data-hours {
  font-size:12px;
  line-height:1.4;
  color:var(--read-ink);
  margin-top:0;
  font-variant-numeric:tabular-nums;
}
body[data-visual-edition] .data-hours>span {display:grid;gap:3px;min-width:0;padding-top:3px}
body[data-visual-edition] .data-hours time {font-weight:800;white-space:nowrap}
body[data-visual-edition] .data-hours small {font-size:10px;line-height:1.4;color:var(--read-muted)}
body[data-visual-edition] .data-col-name {width:39%}
body[data-visual-edition] .data-col-detail {width:20%}
body[data-visual-edition] .data-col-value {width:41%}
body[data-visual-edition] :is(#data-ledger,.data-ledger-copy) thead th {font-size:11px;line-height:1.6;color:var(--read-muted);font-weight:700}
body[data-visual-edition] .data-row-name {font-size:12px;line-height:1.55;white-space:normal;gap:5px;min-width:0}
body[data-visual-edition] [data-row-name] {min-width:0;overflow-wrap:anywhere}
body[data-visual-edition] [data-row-mark] {width:18px;height:20px;font-size:10px}
body[data-visual-edition] :is(#data-ledger,.data-ledger-copy) [data-row-detail] {font-size:11px;line-height:1.5;color:var(--read-muted)}
body[data-visual-edition] :is(#data-ledger,.data-ledger-copy) [data-row-value] {font-size:20px;line-height:1.4;letter-spacing:-.025em;color:var(--read-ink)}
body[data-visual-edition] :is(#data-ledger,.data-ledger-copy) :is(th,td) {padding-block:12px}
body[data-visual-edition] .data-caption {align-items:flex-start;padding:13px 14px}
body[data-visual-edition] .data-caption>span {padding-top:2px;flex:none}
body[data-visual-edition] .data-caption p {font-size:12px;line-height:1.85;min-height:0;display:block}
body[data-visual-edition] .data-controls {gap:7px}
body[data-visual-edition] .data-controls button {font-size:12px;line-height:1.5;min-height:46px;padding-inline:11px}
body[data-visual-edition] .data-play-hint {font-size:12px;line-height:1.85}

/* Exact daily figures stay available without crowding the animated plot. */
body[data-visual-edition] .data-day-details {margin-top:14px;border-top:1px solid color-mix(in srgb,var(--hero-tone) 24%,white);color:var(--read-ink)}
body[data-visual-edition] .data-day-details>summary {display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:12px;font-weight:700;line-height:1.6;min-height:46px;padding:13px 2px;cursor:pointer;list-style:none}
body[data-visual-edition] .data-day-details>summary::-webkit-details-marker {display:none}
body[data-visual-edition] .data-day-details>summary>span {flex:none;font-size:0}
body[data-visual-edition] .data-day-details>summary>span::before {content:"＋";font-size:18px;line-height:1}
body[data-visual-edition] .data-day-details[open]>summary>span::before {content:"−"}
body[data-visual-edition] .data-day-details>summary:focus-visible {outline:2px solid var(--hero-tone);outline-offset:3px}
body[data-visual-edition] #data-day-ledger {width:100%;border-collapse:collapse;font-size:12px;line-height:1.65;font-variant-numeric:tabular-nums}
body[data-visual-edition] #data-day-ledger :is(th,td) {padding:8px 5px;border-bottom:1px solid color-mix(in srgb,var(--hero-tone) 17%,white);text-align:left}
body[data-visual-edition] #data-day-ledger :is(th,td):last-child {text-align:right;white-space:nowrap}
body[data-visual-edition] #data-day-ledger thead th {font-size:11px;color:var(--read-muted);font-weight:700}
body[data-visual-edition] #data-day-ledger tbody th {font-weight:500}
body[data-visual-edition] #data-day-ledger tfoot :is(th,td) {font-size:13px;font-weight:800;border-bottom:0;border-top:2px solid color-mix(in srgb,var(--hero-tone) 35%,white);padding-block:12px}

@container report (max-width:420px) {
  body[data-visual-edition] .data-summary {
    display:grid;
    grid-template-columns:minmax(0,1fr) 82px;
    grid-template-areas:"label companion" "total total" "meta meta";
    gap:8px 10px;
    padding:18px 16px;
    min-height:0;
  }
  body[data-visual-edition] .data-summary-label {grid-area:label;padding:0;align-self:center;align-content:flex-start}
  body[data-visual-edition] .data-total {grid-area:total;padding:0;margin:0;min-height:0}
  body[data-visual-edition] :is(#data-total-number,.data-total-copy-number) {font-size:clamp(34px,14cqw,58px)}
  body[data-visual-edition] :is(#data-total-prefix,.data-total-copy-prefix) {font-size:24px}
  body[data-visual-edition] .data-meta {grid-area:meta;padding:4px 0 0;flex-wrap:wrap;gap:5px 9px}
  body[data-visual-edition] .data-companion {grid-area:companion;position:relative;inset:auto;width:82px;height:79px;justify-self:end}
  body[data-visual-edition] .data-companion .crew-sprite {width:82px}
  body[data-visual-edition] .data-companion-bubble {font-size:10px;right:0;top:-9px;padding:5px 7px}
  body[data-visual-edition] .data-chart-card {margin-inline:10px;padding:14px 8px 12px}
  body[data-visual-edition] .data-table-card {margin-inline:10px}
  body[data-visual-edition] .data-chart-card .data-hours {font-size:11px}
  body[data-visual-edition] .data-col-name {width:37%}
  body[data-visual-edition] .data-col-detail {width:20%}
  body[data-visual-edition] .data-col-value {width:43%}
  body[data-visual-edition] .data-row-name {font-size:11px;gap:4px}
  body[data-visual-edition] :is(#data-ledger,.data-ledger-copy) [data-row-value] {font-size:18px}
  body[data-visual-edition] .data-table-heading>span {font-size:9px}
  body[data-visual-edition] .data-sample-context {padding-inline:13px}
  body[data-visual-edition] .data-controls {padding-inline:10px}
}
@container report (max-width:280px) {
  body[data-visual-edition] .data-tabs {padding-inline:9px;gap:4px}
  body[data-visual-edition] .data-tabs button {font-size:11px}
  body[data-visual-edition] .data-tabs button>span {display:none}
  body[data-visual-edition] .data-row-name [data-row-mark] {display:none}
  body[data-visual-edition] .data-row-track {margin-left:0;width:calc(100% - 4px)}
  body[data-visual-edition] .data-controls {display:grid;grid-template-columns:1fr}
  body[data-visual-edition] .data-controls button {width:100%;font-size:12px}
  body[data-visual-edition] .data-bar-value {font-size:10px}
}

/* v26: readable choices and consistent secondary links across all nine pages.
   Keep device art, decorative type and every existing playback clock intact. */
body[data-visual-edition] .crew-tab {padding-bottom:30px}
body[data-visual-edition] .crew-role {font-size:11px;line-height:1.6;white-space:normal}
body[data-visual-edition] .crew-task {min-height:3.3em;font-size:12px;line-height:1.65;white-space:normal}
body[data-visual-edition] .crew-task-part {display:block;white-space:nowrap}
body[data-visual-edition] .crew-task-divider {display:none}
body[data-visual-edition] .index-nav a {font-size:11px;line-height:1.65;min-height:28px}
body[data-visual-edition] .index-nav .index-group {font-size:10px;line-height:1.5}
body[data-visual-edition] #top :is(.hero-screen-link,.hero-feature-links a,.industry-picker>summary) {
  min-height:44px;
}
body[data-visual-edition] #top .hero-feature-links a {
  font-size:12px;
  line-height:1.6;
}
body[data-visual-edition] #top .industry-picker>summary {
  padding-block:8px;
  font-size:12px;
  line-height:1.6;
}
body[data-visual-edition] #top .industry-picker>summary :is(strong,span) {
  font-size:12px;
  line-height:1.6;
}

@media(max-width:540px) {
  body[data-visual-edition] .plan-tab>span:not(.visual-plan-price) {
    min-height:1.6em;
    max-width:100%;
    font-size:11px;
    line-height:1.6;
    white-space:normal;
    text-wrap:balance;
  }
  body[data-visual-edition] #top .hero-screen-link {
    font-size:12px;
    line-height:1.6;
  }

  /* Club, snack and lounge retain one room and continuous actors. The extra
     headroom accommodates readable speech and records above the same cast. */
  body[data-visual-edition] #specialty .hospitality-stage {height:314px}
  body[data-visual-edition] #specialty .hospitality-steps button {min-height:64px}
  body[data-visual-edition] #specialty .hospitality-steps strong {
    font-size:12px;
    line-height:1.6;
  }
  body[data-visual-edition] #specialty .hospitality-copy {
    min-height:58px;
    font-size:12px;
    line-height:1.8;
  }
  body[data-visual-edition] #specialty .hospitality-speech {
    top:62px;
    max-width:46%;
    padding:8px 9px;
    font-size:11px;
    line-height:1.65;
  }
  body[data-visual-edition] #specialty .hospitality-record {
    top:62px;
    padding:10px 9px;
  }
  body[data-visual-edition] #specialty .hospitality-record small {
    font-size:10px;
    line-height:1.6;
    letter-spacing:0;
  }
  body[data-visual-edition] #specialty .hospitality-record strong {
    margin-block:5px;
    font-size:14px;
    line-height:1.55;
  }
  body[data-visual-edition] #specialty .hospitality-record span {
    padding-top:6px;
    font-size:10px;
    line-height:1.6;
  }
  body[data-visual-edition] #specialty .hospitality-actor small {
    font-size:10px;
    line-height:1.4;
    letter-spacing:0;
  }
  body[data-visual-edition] #specialty .hospitality-flow {
    gap:7px;
    padding:8px 10px;
    font-size:10px;
    line-height:1.5;
  }
  body[data-visual-edition] #specialty .hospitality-ledger dt {
    color:var(--read-muted);
    font-size:12px;
    line-height:1.7;
    opacity:1;
  }
  body[data-visual-edition] #specialty .hospitality-ledger dd {
    font-size:13px;
    line-height:1.7;
  }
  body[data-visual-edition] #specialty .hospitality-playback p {
    font-size:11px;
    line-height:1.7;
    opacity:1;
  }
  body[data-visual-edition] #specialty .hospitality-playback button {font-size:12px}
}
@media(max-width:350px) {
  body[data-visual-edition] #specialty .hospitality-stage {height:300px}
}
