/* Bullrun Check (with share page), Marktphasen Simulator and Portfolio Klarheit (r337 composition, FINAL v18 tokens).
   Staged r337 elements keep their form: score rings, answer letters, progress bars, the gold findings card, dimension
   bars, the simulator's KPI tiles, charts, translator, learning anchors and module cards. Historic fixed colours are
   mapped to semantic tokens; H1 follows the central v18 scale. */
@layer components {
 .tool-page { padding-block: var(--s6); }
 .tool-page [hidden] { display: none; }
 /* r24 saved results: full store, server refusal and not-found hints above the tool (central status card). */
 .tool-page .saved-results-slot { margin-bottom: var(--s4); }
 .tool-page .saved-results-notice__actions { display: flex; flex-wrap: wrap; gap: var(--s3); margin-top: var(--s3); }

 /* ── Bullrun Check ──────────────────────────────────────── */
 .tool-page--bullrun-check .wrap { display: grid; gap: 14px; width: min(980px, 100%); margin-inline: auto; }
 .tool-page--bullrun-check .panel { border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface); box-shadow: var(--shadow-card); }
 .tool-page--bullrun-check .screen { display: none; }
 .tool-page--bullrun-check .screen.is-active { display: block; }
 .tool-page--bullrun-check .hero { padding: 20px 18px 18px; text-align: center; }
 .tool-page--bullrun-check .hero .tool-icon { margin: 0 auto var(--s3); }
 :is(.tool-page--bullrun-check, .tool-page--bullrun-share) .eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border: 1px solid var(--gold-border); border-radius: var(--radius-pill); background: var(--gold-soft); color: var(--accent-text); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
 :is(.tool-page--bullrun-check, .tool-page--bullrun-share) .eyebrow::before { content: none; }
 .tool-page--bullrun-check h1 { margin: 14px 0 8px; }
 .tool-page--bullrun-check .hook { margin: 0 0 12px; color: var(--accent-text); font-size: clamp(1rem, 2vw, 1.2rem); font-weight: 600; }
 .tool-page--bullrun-check .intro { max-width: 680px; margin: 0 auto; color: var(--text-muted); font-size: 1rem; line-height: 1.55; }
 .tool-page--bullrun-check .meta { margin-top: 14px; color: var(--text-muted); font-size: .9rem; }
 .tool-page--bullrun-check .hero-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 18px; }
 .tool-page--bullrun-check .btn-icon { display: inline-flex; margin-right: 2px; font-size: 1rem; line-height: 1; }
 .tool-page--bullrun-check .quiz-panel { padding: 20px 18px 16px; }
 .tool-page--bullrun-check .quiz-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 12px; }
 .tool-page--bullrun-check .question-count { color: var(--text-muted); font-size: .88rem; font-weight: 600; }
 .tool-page--bullrun-check .dimension-chip { display: inline-flex; margin-top: 4px; padding: 6px 10px; border: 1px solid var(--gold-border); border-radius: var(--radius-pill); background: var(--gold-soft); color: var(--accent-text); font-size: .78rem; font-weight: 600; }
 .tool-page--bullrun-check .question { margin: 8px 0 14px; font-size: clamp(1.08rem, 2vw, 1.38rem); line-height: 1.28; letter-spacing: -.02em; font-weight: 600; }
 .tool-page--bullrun-check .answers { display: grid; gap: 10px; }
 .tool-page--bullrun-check .answer { display: flex; align-items: flex-start; gap: 12px; width: 100%; padding: 13px 13px 13px 12px; border: 1px solid var(--border); border-radius: var(--radius-control); background: var(--surface-muted); color: var(--text); font: inherit; text-align: left; cursor: pointer; transition: transform var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard); }
 .tool-page--bullrun-check .answer:hover { transform: translateY(-1px); border-color: var(--gold-border); }
 .tool-page--bullrun-check .answer.is-selected { border-color: var(--gold); background: var(--gold-soft); }
 .tool-page--bullrun-check .answer-letter { display: flex; flex: 0 0 34px; align-items: center; justify-content: center; height: 34px; border: 1px solid var(--gold-border); border-radius: var(--radius-pill); background: var(--surface); color: var(--accent-text); font-weight: 600; }
 .tool-page--bullrun-check .answer-text { font-size: .94rem; line-height: 1.44; }
 .tool-page--bullrun-check .sticky-actions { position: sticky; bottom: 8px; margin-top: 16px; padding: 10px 0 0; background: linear-gradient(180deg, transparent 0%, var(--surface) 26%); }
 .tool-page--bullrun-check .sticky-actions-inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; padding: 10px; border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface); }
 .tool-page--bullrun-check .progress-area { display: grid; gap: 6px; }
 .tool-page--bullrun-check .progress-label { color: var(--text-muted); font-size: .8rem; font-weight: 600; text-align: center; }
 .tool-page--bullrun-check .progress-track { height: 8px; overflow: hidden; border-radius: var(--radius-pill); background: var(--surface-strong); }
 .tool-page--bullrun-check .progress-fill { width: 0; height: 100%; background: linear-gradient(90deg, var(--gold-deep), var(--gold-hover)); transition: width .24s var(--ease-standard); }
 .tool-page--bullrun-check .progress-compact { display: none; margin: 0 0 12px; padding: 10px 12px; border: 1px solid var(--gold-border); border-radius: var(--radius-control); background: var(--gold-soft); }
 .tool-page--bullrun-check .progress-compact-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
 .tool-page--bullrun-check .progress-kicker { color: var(--accent-text); font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
 .tool-page--bullrun-check .progress-track-compact { height: 6px; }
 .tool-page--bullrun-check .result-panel { padding: 20px 18px 18px; }
 .tool-page--bullrun-check .result-hero-card { padding: 18px 18px 20px; border: 1px solid var(--gold-border); border-radius: var(--radius-card); background: linear-gradient(180deg, var(--gold-soft), var(--surface)); }
 .tool-page--bullrun-check .result-headline { margin-bottom: 8px; color: var(--accent-text); font-size: .78rem; font-weight: 600; letter-spacing: .12em; text-align: center; text-transform: uppercase; }
 :is(.tool-page--bullrun-check, .tool-page--bullrun-share) .score-ring-wrap { position: relative; display: flex; justify-content: center; align-items: center; margin: 10px 0 14px; }
 .tool-page--bullrun-check .score-ring-wrap::before { content: ''; position: absolute; inset: 22% 28%; border-radius: var(--radius-pill); background: radial-gradient(circle, var(--gold-soft) 0%, transparent 72%); filter: blur(14px); }
 :is(.tool-page--bullrun-check, .tool-page--bullrun-share) .score-ring { position: relative; z-index: 1; display: grid; place-items: center; width: min(270px, 72vw); aspect-ratio: 1; }
 :is(.tool-page--bullrun-check, .tool-page--bullrun-share) .score-ring svg { position: absolute; inset: 0; transform: rotate(-90deg); }
 :is(.tool-page--bullrun-check, .tool-page--bullrun-share) .score-ring circle:first-of-type { stroke: var(--surface-strong); }
 :is(.tool-page--bullrun-check, .tool-page--bullrun-share) .score-ring stop:first-child { stop-color: var(--gold-deep); }
 :is(.tool-page--bullrun-check, .tool-page--bullrun-share) .score-ring stop:last-child { stop-color: var(--gold-hover); }
 :is(.tool-page--bullrun-check, .tool-page--bullrun-share) .score-inner { position: relative; text-align: center; }
 :is(.tool-page--bullrun-check, .tool-page--bullrun-share) .score-number { font-size: clamp(3.1rem, 10vw, 4.8rem); line-height: .9; font-weight: 600; letter-spacing: -.05em; }
 :is(.tool-page--bullrun-check, .tool-page--bullrun-share) .score-total { margin-top: 4px; color: var(--text-muted); font-size: 1.1rem; font-weight: 600; }
 .tool-page--bullrun-check .score-title { margin: 0 0 10px; font-size: clamp(1.5rem, 3.2vw, 2rem); line-height: 1.1; letter-spacing: -.03em; text-align: center; }
 .tool-page--bullrun-check .score-short { max-width: 620px; margin: 0 auto; color: var(--text-muted); font-size: 1rem; line-height: 1.62; text-align: center; }
 .tool-page--bullrun-check .inline-note { margin-top: 10px; color: var(--text-muted); font-size: .85rem; }
 .tool-page--bullrun-check .result-score-note { max-width: 720px; margin: 10px auto 0; line-height: 1.5; text-align: center; }
 .tool-page--bullrun-check .share-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 18px; }
 .tool-page--bullrun-check .share-row--restart { margin-top: 16px; }
 /* r24 result list (decision 29.09.2026): same card pattern as the Portfolio Klarheit list, v18 tokens. */
 .tool-page--bullrun-check .bullrun-saved-note { margin: 16px 0 0; text-align: center; }
 .tool-page--bullrun-check .saved-results-slot { width: min(980px, 100%); margin-inline: auto; }
 .tool-page--bullrun-check .bullrun-history-panel { padding: 20px 18px 18px; }
 .tool-page--bullrun-check .bullrun-history-title { margin: 12px 0 4px; font-size: clamp(1.4rem, 3vw, 1.85rem); line-height: 1.15; letter-spacing: -.02em; }
 .tool-page--bullrun-check .bullrun-history-list { display: grid; gap: 12px; margin-top: 16px; }
 .tool-page--bullrun-check .bullrun-history-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 16px 18px; border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface-muted); }
 .tool-page--bullrun-check .bullrun-history-date { color: var(--text-muted); font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
 .tool-page--bullrun-check .bullrun-history-score { margin-top: 4px; color: var(--accent-text); font-size: 1.1rem; font-weight: 600; }
 .tool-page--bullrun-check .bullrun-history-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
 .tool-page--bullrun-check :is(#bullrun-befund-details, .bullrun-recommendations) { margin-top: 14px; }
 .tool-page--bullrun-check .bullrun-more-title { margin-top: var(--s3); }
 .tool-page--bullrun-check .card-title { margin: 0 0 12px; color: var(--accent-text); font-size: 1rem; font-weight: 600; letter-spacing: -.01em; }
 .tool-page--bullrun-check .grid-two { display: grid; gap: 14px; margin-top: 16px; }
 .tool-page--bullrun-check .checklist { display: grid; gap: 10px; }
 .tool-page--bullrun-check .check-item { display: flex; align-items: flex-start; gap: 10px; font-size: .95rem; line-height: 1.48; }
 .tool-page--bullrun-check .check-item .icon { display: inline-flex; flex: 0 0 24px; align-items: center; justify-content: center; width: 24px; height: 24px; margin-top: 1px; border-radius: var(--radius-button); font-size: .86rem; line-height: 1; }
 .tool-page--bullrun-check .checklist.is-strength .check-item .icon { background: var(--success-soft); color: var(--success); }
 .tool-page--bullrun-check .checklist.is-open .check-item .icon { background: var(--danger-soft); color: var(--danger); }
 .tool-page--bullrun-check .core-text { margin: 0; font-size: 1rem; line-height: 1.6; }
 /* Gold findings card ("Deine Antworten in fünf Bereichen") */
 .tool-page--bullrun-check .detail-card { position: relative; max-width: 860px; margin-inline: auto; padding: 0; overflow: hidden; border: 2px solid var(--gold); background: radial-gradient(circle at 50% 0%, var(--gold-soft), transparent 34%), var(--surface); box-shadow: 0 0 0 1px var(--gold-border) inset, var(--shadow-elevated); }
 .tool-page--bullrun-check .detail-card::before { content: ''; position: absolute; inset: 6px; border: 1px solid var(--gold-border); border-radius: var(--radius-control); pointer-events: none; }
 .tool-page--bullrun-check .detail-summary { position: relative; z-index: 1; display: grid; place-items: center; gap: 14px; min-height: 218px; padding: 30px 22px 26px; color: var(--accent-text); text-align: center; list-style: none; cursor: pointer; }
 .tool-page--bullrun-check .detail-summary::-webkit-details-marker { display: none; }
 .tool-page--bullrun-check .detail-summary-main { display: grid; place-items: center; gap: 12px; }
 .tool-page--bullrun-check .detail-symbol { position: relative; display: grid; place-items: center; width: 76px; height: 76px; border: 1px solid var(--gold-border); border-radius: var(--radius-pill); background: radial-gradient(circle at 50% 36%, var(--gold-soft), transparent 70%); font-size: 2.35rem; line-height: 1; }
 .tool-page--bullrun-check .detail-symbol::after { content: ''; position: absolute; inset: -12px; border: 1px dotted var(--gold-border); border-radius: var(--radius-pill); }
 .tool-page--bullrun-check .detail-title { color: var(--accent-text); font-size: clamp(1.42rem, 2.6vw, 2rem); line-height: 1.12; letter-spacing: -.035em; font-weight: 600; }
 .tool-page--bullrun-check .detail-sub { max-width: 720px; margin: 0 auto; color: var(--text); font-size: 1rem; line-height: 1.58; font-weight: 400; }
 .tool-page--bullrun-check .detail-summary-hint { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 24px; border: 1px solid var(--gold-border); border-radius: var(--radius-pill); background: var(--surface); color: var(--accent-text); font-size: .96rem; font-weight: 600; }
 .tool-page--bullrun-check .detail-summary-hint::after { content: '⌃'; margin-left: 12px; font-size: 1rem; line-height: 1; transform: rotate(180deg); }
 .tool-page--bullrun-check .detail-card[open] .detail-summary-hint::after { transform: rotate(0deg); }
 .tool-page--bullrun-check .detail-card[open] .detail-summary { min-height: 0; padding-bottom: 22px; border-bottom: 1px solid var(--gold-border); }
 .tool-page--bullrun-check .detail-card .detail-body { position: relative; z-index: 1; display: grid; gap: 10px; margin-top: 0; padding: 0 24px 18px; }
 .tool-page--bullrun-check .detail-card[open] .detail-body { padding-top: 18px; }
 .tool-page--bullrun-check .detail-row { padding: 14px 15px; border: 1px solid var(--gold-border); border-radius: var(--radius-control); background: var(--gold-soft); }
 .tool-page--bullrun-check .detail-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 6px; }
 .tool-page--bullrun-check .detail-name { font-weight: 600; }
 .tool-page--bullrun-check .detail-status { font-size: .82rem; font-weight: 600; text-align: right; white-space: nowrap; }
 .tool-page--bullrun-check .detail-status:is(.is-weak, .is-gap) { color: var(--danger); }
 .tool-page--bullrun-check .detail-status:is(.is-ok, .is-strong) { color: var(--success); }
 .tool-page--bullrun-check .detail-text { margin: 0; color: var(--text-muted); line-height: 1.45; }
 .tool-page--bullrun-check .detail-result-wrap { position: relative; z-index: 1; display: grid; gap: 16px; padding: 0 24px 24px; }
 .tool-page--bullrun-check .detail-grid { margin-top: 0; gap: 16px; }
 .tool-page--bullrun-check .detail-inner-card { border-color: var(--gold-border); box-shadow: none; }
 .tool-page--bullrun-check .detail-inner-card .card-title { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; font-size: 1.08rem; }
 .tool-page--bullrun-check .detail-inner-card .title-icon { display: inline-flex; flex: 0 0 36px; align-items: center; justify-content: center; width: 36px; height: 36px; border: 1px solid currentColor; border-radius: var(--radius-control); font-size: 1.15rem; }
 .tool-page--bullrun-check .detail-strength-card .card-title { color: var(--success); }
 .tool-page--bullrun-check .detail-open-card .card-title { color: var(--danger); }
 .tool-page--bullrun-check .detail-core-card { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 14px; margin-top: 0; padding: 18px 20px; border-color: var(--gold-border); background: var(--gold-soft); }
 .tool-page--bullrun-check .detail-core-icon { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border: 1px solid var(--gold-border); border-radius: var(--radius-pill); background: radial-gradient(circle, var(--gold-soft), transparent); color: var(--accent-text); font-size: 2rem; }
 .tool-page--bullrun-check .detail-core-content .card-title { margin: 0 0 6px; color: var(--accent-text); }
 /* Recommendations */
 .tool-page--bullrun-check .recommend-primary { padding: 18px; border: 1px solid var(--gold-border); border-radius: var(--radius-card); background: var(--gold-soft); }
 .tool-page--bullrun-check .rec-title { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
 .tool-page--bullrun-check .rec-title-main { display: flex; align-items: center; gap: 10px; min-width: 0; }
 .tool-page--bullrun-check :is(.rec-title h3, .secondary-item h4) { margin: 0; font-size: 1.15rem; font-weight: 600; }
 .tool-page--bullrun-check .secondary-item h4 { font-size: 1rem; }
 .tool-page--bullrun-check .rec-copy { margin: 10px 0 0; color: var(--text-muted); line-height: 1.55; }
 .tool-page--bullrun-check .dual-cta { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
 .tool-page--bullrun-check .rec-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
 .tool-page--bullrun-check .secondary-list { display: grid; gap: 10px; margin-top: 14px; }
 .tool-page--bullrun-check .secondary-item { padding: 14px; border: 1px solid var(--border); border-radius: var(--radius-control); background: var(--surface-muted); }
 .tool-page--bullrun-check .secondary-item p { margin: 6px 0 0; color: var(--text-muted); line-height: 1.45; }
 .tool-page--bullrun-check .secondary-item .btn { margin-top: 10px; }
 @media (min-width: 760px) { .tool-page--bullrun-check .grid-two { grid-template-columns: 1fr 1fr; } }
 @media (max-width: 720px) {
  .tool-page--bullrun-check .hero { padding: 18px 16px; }
  .tool-page--bullrun-check :is(.quiz-panel, .result-panel) { padding: 16px; }
  .tool-page--bullrun-check .result-hero-card { padding: 16px 14px 18px; }
  .tool-page--bullrun-check .dual-cta { grid-template-columns: 1fr; }
  .tool-page--bullrun-check .share-row .btn { flex: 1 1 0; }
  .tool-page--bullrun-check .bullrun-history-panel { padding: 16px; }
  .tool-page--bullrun-check .bullrun-history-card { grid-template-columns: 1fr; }
  .tool-page--bullrun-check .bullrun-history-actions { justify-content: flex-start; }
  .tool-page--bullrun-check .quiz-head { margin-bottom: 10px; }
  .tool-page--bullrun-check .question-count { font-size: .8rem; }
  .tool-page--bullrun-check .dimension-chip { padding: 5px 9px; font-size: .72rem; }
  .tool-page--bullrun-check .question { margin-bottom: 12px; font-size: clamp(.98rem, 4.8vw, 1.16rem); line-height: 1.3; }
  .tool-page--bullrun-check .progress-compact { display: block; padding: 9px 10px; }
  .tool-page--bullrun-check .progress-kicker { font-size: .68rem; }
  .tool-page--bullrun-check .answer { gap: 10px; padding: 11px 11px 11px 10px; }
  .tool-page--bullrun-check .answer-letter { flex-basis: 31px; height: 31px; font-size: .88rem; }
  .tool-page--bullrun-check .answer-text { font-size: .88rem; line-height: 1.36; }
  .tool-page--bullrun-check .sticky-actions { position: static; margin-top: 12px; padding: 0; background: none; }
  .tool-page--bullrun-check .sticky-actions-inner { display: flex; align-items: center; justify-content: flex-start; padding: 0; border: 0; background: none; }
  .tool-page--bullrun-check .sticky-actions :is(.progress-area, #next-btn) { display: none; }
  .tool-page--bullrun-check .score-ring { width: min(240px, 68vw); }
  .tool-page--bullrun-check .score-number { font-size: clamp(2.9rem, 13vw, 4rem); }
  .tool-page--bullrun-check .score-title { font-size: 1.42rem; }
  .tool-page--bullrun-check .score-short { font-size: .95rem; line-height: 1.55; }
  .tool-page--bullrun-check .check-item { font-size: .92rem; }
  .tool-page--bullrun-check .check-item .icon { flex-basis: 23px; width: 23px; height: 23px; }
  .tool-page--bullrun-check .recommend-primary { padding: 15px; }
  .tool-page--bullrun-check .secondary-item { padding: 13px; }
  .tool-page--bullrun-check .detail-row { padding: 12px; }
  .tool-page--bullrun-check .detail-card { border-width: 1.5px; }
  .tool-page--bullrun-check .detail-summary { min-height: 196px; padding: 26px 16px 22px; }
  .tool-page--bullrun-check .detail-symbol { width: 66px; height: 66px; font-size: 2.05rem; }
  .tool-page--bullrun-check .detail-title { font-size: 1.34rem; }
  .tool-page--bullrun-check .detail-sub { font-size: .92rem; line-height: 1.5; }
  .tool-page--bullrun-check :is(.detail-card .detail-body, .detail-result-wrap) { padding-inline: 14px; }
  .tool-page--bullrun-check .detail-core-card { grid-template-columns: 1fr; text-align: left; }
  .tool-page--bullrun-check .detail-core-icon { width: 52px; height: 52px; font-size: 1.7rem; }
  .tool-page--bullrun-check .detail-summary-hint { min-height: 44px; padding: 0 18px; }
  .tool-page--bullrun-check .detail-inner-card .card-title { font-size: 1.02rem; }
  .tool-page--bullrun-check .detail-inner-card .title-icon { flex-basis: 32px; width: 32px; height: 32px; }
 }

 /* ── Bullrun share page ─────────────────────────────────── */
 .tool-page--bullrun-share .panel { width: min(820px, 100%); margin-inline: auto; padding: 20px 18px; border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface); box-shadow: var(--shadow-card); text-align: center; }
 .tool-page--bullrun-share .score-ring { margin: 16px auto 12px; }
 .tool-page--bullrun-share h1 { margin: 0 0 10px; }
 .tool-page--bullrun-share .short { max-width: 620px; margin: 0 auto; color: var(--text-muted); line-height: 1.6; }
 .tool-page--bullrun-share .btn { margin-top: 18px; }

 /* ── Marktphasen Simulator ──────────────────────────────── */
 .mps-app { --mps-panel: var(--surface-muted); --mps-panel2: var(--surface-strong); --mps-line: var(--border); --mps-text: var(--text); --mps-muted: var(--text-muted); --mps-faint: var(--text-faint); --mps-gold: var(--gold); --mps-gold2: var(--accent-text); --mps-red: var(--danger); --mps-green: var(--success); --mps-blue: var(--info); --mps-purple: color-mix(in srgb, var(--info) 55%, var(--danger)); --mps-orange: var(--warning); --mps-radius: var(--radius-card); width: min(1180px, 100%); margin-inline: auto; color: var(--text); font-size: 15px; line-height: 1.5; }
 .mps-app :is(button, input, select) { font: inherit; }
 .mps-app :is(button, select) { cursor: pointer; }
 .mps-app :is(.mps-overview, .mps-workspace) { border: 1px solid var(--mps-line); border-radius: var(--radius-card); background: var(--surface); box-shadow: var(--shadow-elevated); }
 .mps-overview { padding: clamp(20px, 4vw, 44px); }
 .mps-overview-copy { max-width: 800px; }
 .mps-eyebrow { display: inline-flex; padding: 6px 10px; border: 1px solid var(--gold-border); border-radius: var(--radius-pill); background: var(--gold-soft); color: var(--mps-gold2); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
 .mps-overview h1 { margin: 17px 0 12px; }
 .mps-overview h1 em { color: var(--mps-gold2); font-style: normal; }
 .mps-overview-copy p { max-width: 720px; margin: 0; color: var(--mps-muted); font-size: 16px; }
 .mps-notice { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; padding: 10px 12px; border: 1px solid var(--danger-border); border-radius: var(--radius-control); background: var(--danger-soft); color: var(--text-muted); font-size: 12px; }
 .mps-notice strong { color: var(--danger); }
 .mps-app .demo-access-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; padding: 10px 14px; border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface-muted); }
 .mps-app .mps-notice + .demo-access-bar { margin-top: 18px; }
 .mps-app .demo-access-inner { display: flex; align-items: center; gap: 10px; min-width: 0; }
 .mps-app .demo-access-label { flex-shrink: 0; }
 .mps-app .demo-access-text { color: var(--text-muted); font-size: 13px; line-height: 1.4; }
 .mps-app .demo-access-cta { flex-shrink: 0; white-space: nowrap; }
 body.mps-plus-active .mps-app .demo-access-bar { display: none; }
 .mps-module-cards.mps-bridge-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 0; padding: 0; }
 .mps-module-card.mps-bridge-card { position: relative; display: flex; flex-direction: column; align-items: stretch; gap: 6px; padding: 13px 14px 34px; border: 1px solid var(--mps-line); border-radius: var(--radius-control); background: var(--surface-muted); color: inherit; text-align: left; transition: border-color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard); }
 .mps-module-card.mps-bridge-card:hover { transform: translateY(-2px); border-color: var(--gold-border); background: var(--gold-soft); }
 .mps-module-card.mps-bridge-card::after { content: '→'; position: absolute; right: 14px; bottom: 10px; color: var(--mps-gold); font-size: 18px; font-weight: 800; line-height: 1; pointer-events: none; }
 .mps-module-card.mps-bridge-card.is-free-model { border-color: var(--border); background: var(--surface-strong); }
 .mps-module-card.mps-bridge-card.is-plus-locked { border-color: var(--gold-border); background: var(--surface); opacity: .52; }
 .mps-module-card.mps-bridge-card.is-plus-locked:hover { opacity: .68; }
 body.mps-plus-active .mps-module-card.mps-bridge-card.is-plus-locked { border-color: var(--mps-line); background: var(--surface-muted); opacity: 1; }
 body.mps-plus-active .mps-app :is(.mps-bridge-lock, .mps-bridge-free) { display: none; }
 .mps-bridge-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
 .mps-bridge-icon { display: block; width: 30px; height: 30px; object-fit: contain; }
 .mps-bridge-num { color: var(--mps-gold2); font-size: .72rem; font-weight: 800; letter-spacing: .04em; }
 .mps-app :is(.mps-bridge-lock, .mps-bridge-free) { display: inline-flex; align-items: center; gap: 4px; margin-left: 6px; padding: 2px 7px; border: 1px solid var(--border); border-radius: var(--radius-pill); background: var(--surface); color: var(--text-muted); font-size: .72rem; font-weight: 700; line-height: 1.2; text-transform: uppercase; }
 .mps-app .mps-bridge-lock { border-color: var(--gold-border); background: var(--gold-soft); color: var(--accent-text); }
 .mps-module-card > .mps-bridge-t { display: block; margin: 0; color: var(--mps-text); font-size: 13.5px; font-weight: 700; line-height: 1.35; }
 .mps-module-card > .mps-bridge-d { display: block; margin: 0; color: var(--mps-muted); font-size: 11.5px; line-height: 1.45; }
 .mps-workspace { padding: 0 24px 38px; }
 .mps-workspace-bar { position: sticky; top: var(--tool-shell-offset, 0px); z-index: var(--z-sticky); display: flex; align-items: center; gap: 10px; margin: 0 -24px; padding: 11px 24px; border-bottom: 1px solid var(--mps-line); border-radius: var(--radius-card) var(--radius-card) 0 0; background: var(--surface); }
 .mps-back { min-height: var(--touch-target); border: 0; background: none; color: var(--mps-muted); font-size: 12px; }
 .mps-module-select-label { margin-left: auto; color: var(--mps-faint); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
 .mps-module-select { max-width: 270px; min-height: 40px; padding: 8px 10px; border: 1px solid var(--mps-line); border-radius: var(--radius-control); background: var(--input); color: var(--text); font-size: 12px; }
 .mps-module { max-width: 1080px; margin: 0 auto; padding-top: 26px; }
 .mps-context { max-width: 790px; margin-bottom: 14px; }
 .mps-app :is(.mps-context, .mps-learning) > span { display: inline-block; color: var(--accent-text); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
 .mps-context h2 { margin: 6px 0 8px; font-size: clamp(23px, 3vw, 34px); line-height: 1.14; letter-spacing: -.025em; }
 .mps-context p { max-width: 720px; margin: 0; color: var(--mps-muted); font-size: 14px; line-height: 1.65; }
 .mps-context a { color: var(--mps-gold2); text-decoration: underline dotted; text-underline-offset: 3px; }
 .mps-estimate { margin: 15px 0; }
 .mps-estimate-card { padding: 14px; border: 1px solid var(--info-border); border-radius: var(--radius-control); background: linear-gradient(145deg, var(--info-soft), var(--surface)); }
 .mps-estimate-head { display: flex; align-items: center; justify-content: space-between; }
 .mps-estimate-head b { color: var(--info); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
 .mps-app :is(.mps-estimate-skip, .mps-estimate-reopen) { border: 0; background: none; color: var(--mps-muted); font-size: 11px; text-decoration: underline; text-underline-offset: 3px; }
 .mps-estimate-card h3 { margin: 10px 0; font-size: 16px; line-height: 1.45; }
 .mps-estimate-options { display: flex; flex-wrap: wrap; gap: 7px; }
 .mps-estimate-options button { flex: 1; min-width: 160px; min-height: 42px; padding: 8px; border: 1px solid var(--border); border-radius: var(--radius-control); background: var(--surface-muted); color: var(--text); font-size: 11px; font-weight: 700; }
 .mps-estimate-options button.is-correct { border-color: var(--success-border); background: var(--success-soft); color: var(--success); }
 .mps-estimate-options button.is-wrong { border-color: var(--danger-border); background: var(--danger-soft); }
 .mps-estimate-reveal { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--mps-line); color: var(--text-muted); font-size: 12px; }
 .mps-estimate-reveal p { margin: 0 0 9px; }
 .mps-estimate-collapsed { display: flex; align-items: center; justify-content: space-between; padding: 8px 10px; border: 1px solid var(--mps-line); border-radius: var(--radius-control); background: var(--surface-muted); color: var(--mps-muted); font-size: 11px; }
 .mps-experiment { display: grid; grid-template-columns: minmax(0, 1fr) 350px; grid-template-areas: "kpis kpis" "visual summary" "visual editor" "translator editor"; gap: 10px 16px; padding: 14px; border: 1px solid var(--mps-line); border-radius: var(--radius-card); background: var(--surface-muted); overflow-anchor: none; scroll-margin-top: calc(var(--tool-shell-offset, 0px) + 76px); }
 #experiment-be { grid-template-areas: "kpis kpis" "visual summary" "visual compare" "visual editor" "translator editor"; }
 :is(#experiment-pos, #experiment-dca) { grid-template-areas: "kpis kpis" "visual summary" "visual editor" "translator editor" "analysis editor"; }
 .mps-experiment.is-preview { border-color: var(--info-border); }
 .mps-kpis { grid-area: kpis; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
 .mps-kpi { min-width: 0; padding: 10px; border: 1px solid var(--mps-line); border-radius: var(--radius-control); background: var(--surface); }
 .mps-kpi small { display: block; color: var(--mps-faint); font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; white-space: normal; overflow-wrap: anywhere; hyphens: auto; }
 .mps-kpi strong { display: block; margin-top: 4px; font-size: 22px; line-height: 1.1; }
 .mps-kpi > span { display: block; margin-top: 3px; color: var(--mps-faint); font-size: .72rem; }
 .mps-kpi.is-preview { border-color: var(--info-border); }
 .mps-kpi.is-changed { animation: mpsKpiFlash 1.2s var(--ease-standard); }
 .mps-app .mps-kpi :is(strong, span).is-loss, .mps-app .is-loss { color: var(--mps-red); }
 .mps-app .mps-kpi :is(strong, span).is-gain, .mps-app .is-gain { color: var(--mps-green); }
 .mps-app .mps-kpi :is(strong, span).is-gold, .mps-app .is-gold { color: var(--mps-gold2); }
 .mps-app .mps-kpi :is(strong, span).is-blue, .mps-app .is-blue { color: var(--mps-blue); }
 @keyframes mpsKpiFlash { 0%, 100% { box-shadow: none; } 30% { border-color: var(--success); box-shadow: 0 0 0 3px var(--success-soft); } }
 .mps-visual { grid-area: visual; display: flex; flex-direction: column; min-width: 0; min-height: 430px; padding: 12px; border: 1px solid var(--mps-line); border-radius: var(--radius-control); background: var(--surface); }
 .mps-visual-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 6px; }
 .mps-visual-head > strong { color: var(--mps-muted); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
 .mps-repeat { min-height: 30px; padding: 0 9px; border: 1px solid var(--border); border-radius: var(--radius-control); background: var(--surface-muted); color: var(--text-muted); font-size: 10px; }
 .mps-visual svg { flex: 1; width: 100%; height: auto; min-height: 220px; }
 .mps-app :is(.mps-be-visual, .mps-dca-visual) svg text { font-size: 18px; }
 /* r337 chart colours (SVG attributes written by the page and the private models, matched by value suffix) mapped to semantic tokens. */
 .mps-app svg [stroke$="d9b63f"] { stroke: var(--gold); }
 .mps-app svg [fill$="f4dfa0"] { fill: var(--accent-text); }
 .mps-app svg [stroke$="ff7379"] { stroke: var(--danger); }
 .mps-app svg [fill$="ff7379"] { fill: var(--danger); }
 .mps-app svg [stroke$="4fe1a5"] { stroke: var(--success); }
 .mps-app svg [fill$="4fe1a5"] { fill: var(--success); }
 .mps-app svg [stroke$="60aafc"] { stroke: var(--info); }
 .mps-app svg [stroke$="718096"] { stroke: var(--text-faint); }
 .mps-app svg :is([fill$="8b98aa"], [fill$="c3ccd8"], [fill$="65738a"], [fill$="b9c4d4"]) { fill: var(--text-muted); }
 .mps-app svg [stroke$="0b1420"] { stroke: var(--surface); }
 .mps-translator { grid-area: translator; display: flex; align-items: flex-start; gap: 9px; min-height: 58px; padding: 9px 11px; border: 1px solid var(--mps-line); border-left: 2px solid var(--mps-gold); border-radius: var(--radius-control); background: var(--surface); overflow-anchor: none; contain: layout paint; }
 .mps-translator b { flex: 0 0 auto; margin-top: 3px; color: var(--mps-gold2); font-size: .72rem; letter-spacing: .11em; text-transform: uppercase; }
 .mps-translator p { margin: 0; color: var(--text); font-size: 13px; line-height: 1.5; font-variant-numeric: tabular-nums; }
 .mps-experiment.is-preview .mps-translator { border-left-color: var(--mps-blue); }
 .mps-experiment.is-preview .mps-translator b { color: var(--info); }
 #experiment-be .mps-translator.is-result { border-left-color: var(--success); background: linear-gradient(180deg, var(--success-soft), var(--surface)); }
 #experiment-be .mps-translator.is-result b { color: var(--success); }
 .mps-scenario-summary { grid-area: summary; align-self: start; display: flex; align-items: center; gap: 8px; min-height: 58px; padding: 8px 9px 8px 11px; border: 1px solid var(--gold-border); border-radius: var(--radius-control); background: var(--surface); }
 .mps-scenario-summary > span { flex: 1; min-width: 0; }
 .mps-scenario-summary small { display: block; color: var(--mps-faint); font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
 .mps-scenario-summary strong { display: block; margin-top: 3px; overflow: hidden; color: var(--mps-gold2); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
 .mps-scenario-summary button { flex: 0 0 auto; }
 .mps-editor { grid-area: editor; align-self: start; padding: 14px; border: 1px solid var(--info-border); border-radius: var(--radius-control); background: var(--surface); }
 .mps-editor-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 9px; }
 .mps-editor-head strong { color: var(--text); font-size: 12px; letter-spacing: .07em; text-transform: uppercase; }
 .mps-editor-head span { padding: 3px 6px; border: 1px solid var(--info-border); border-radius: var(--radius-pill); color: var(--info); font-size: 10px; }
 .mps-control { display: block; margin-top: 10px; }
 .mps-control > span:first-child { display: flex; align-items: center; justify-content: space-between; color: var(--text); font-size: 12px; font-weight: 700; }
 .mps-control output { color: var(--mps-gold2); font-size: 14px; }
 .mps-control > small { display: block; margin-top: 3px; color: var(--mps-faint); font-size: 10px; }
 .mps-app .mps-control .mps-control-line { display: grid; grid-template-columns: 30px 1fr 30px; align-items: center; gap: 7px; height: 34px; margin-top: 4px; }
 .mps-control-line button { width: 30px; height: 30px; border: 1px solid var(--border); border-radius: var(--radius-button); background: var(--surface-muted); color: var(--text); }
 .mps-control input[type=range] { width: 100%; height: 28px; margin: 0; accent-color: var(--gold); }
 .mps-editor-actions { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 10px; margin-top: 12px; }
 .mps-editor-actions :is(.mps-cancel, .mps-apply) { min-height: 40px; }
 .mps-learning { margin-top: 12px; padding: 16px; border: 1px solid var(--gold-border); border-radius: var(--radius-control); background: linear-gradient(145deg, var(--gold-soft), var(--surface)); scroll-margin-top: 130px; }
 .mps-learning h3 { margin: 6px 0 0; font-size: 17px; line-height: 1.45; }
 .mps-asymmetry { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 13px; }
 .mps-asymmetry > div { padding: 10px; border: 1px solid var(--mps-line); border-radius: var(--radius-control); background: var(--surface); }
 .mps-asymmetry small { display: block; color: var(--mps-faint); font-size: 9px; text-transform: uppercase; }
 .mps-asymmetry strong { font-size: 12px; }
 .mps-details { margin-top: 9px; border: 1px solid var(--mps-line); border-radius: var(--radius-control); background: var(--surface); scroll-margin-top: 130px; }
 .mps-details summary { padding: 12px 14px; color: var(--text); font-size: 12px; font-weight: 700; cursor: pointer; }
 .mps-details-body { padding: 13px; border-top: 1px solid var(--mps-line); color: var(--mps-muted); font-size: 12px; }
 .mps-details-body p { margin: 0; }
 .mps-details-body label { display: block; color: var(--mps-muted); font-size: 11px; }
 .mps-details-body input:not([type=checkbox]) { width: 100%; margin-top: 4px; padding: 8px; border: 1px solid var(--mps-line); border-radius: var(--radius-control); background: var(--input); color: var(--text); }
 .mps-app .mps-secondary { min-height: 36px; }
 .mps-runs { display: grid; gap: 6px; margin-top: 9px; }
 .mps-run { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px; border: 1px solid var(--mps-line); border-radius: var(--radius-control); }
 .mps-run-main { display: flex; flex: 1; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
 .mps-run-main :is(span, b) { min-width: 0; }
 .mps-app :is(.mps-run-remove, .mps-run-clear) { min-height: 32px; padding: 5px 9px; border: 1px solid var(--border); border-radius: var(--radius-button); background: var(--surface-muted); color: var(--text-muted); font-size: 9px; font-weight: 700; white-space: nowrap; }
 .mps-app :is(.mps-run-remove, .mps-run-clear):hover { border-color: var(--gold-border); color: var(--text); }
 .mps-compare-note { margin: 0 0 10px; color: var(--mps-faint); line-height: 1.45; }
 .mps-app .mps-details-body .mps-compare-note { margin: 0 0 10px; }
 .mps-compare-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
 .mps-app .mps-switch-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0; font-size: 11px; }
 .mps-switch-row + .mps-switch-row { border-top: 1px solid var(--mps-line); }
 .mps-switch-row span :is(b, small) { display: block; }
 .mps-switch-row small { font-size: 9px; }
 .mps-switch-row input { width: 42px; height: 22px; }
 .mps-editor-subsection { margin-top: 14px; padding: 11px; border: 1px solid var(--mps-line); border-radius: var(--radius-control); background: var(--surface-muted); }
 .mps-editor-subsection > strong { display: block; margin-bottom: 8px; color: var(--text); font-size: 11px; }
 .mps-compact-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
 .mps-app :is(.mps-compact-fields label, .mps-single-field) { display: block; color: var(--mps-muted); font-size: 10px; }
 .mps-app :is(.mps-compact-fields input, .mps-single-field input) { width: 100%; margin-top: 4px; padding: 8px; border: 1px solid var(--mps-line); border-radius: var(--radius-control); background: var(--input); color: var(--text); font-size: 12px; }
 .mps-editor-subsection #mcFdvResult p { margin: 8px 0 0; color: var(--text-muted); font-size: 10px; }
 .mps-direction-options { display: flex; gap: 5px; margin: 10px 0 2px; padding: 0; border: 0; }
 .mps-direction-options legend { width: 100%; margin-bottom: 5px; color: var(--text); font-size: 11px; font-weight: 700; }
 .mps-direction-options button { flex: 1; min-height: 36px; border: 1px solid var(--mps-line); border-radius: var(--radius-control); background: var(--surface-muted); color: var(--text-muted); font-size: 10px; font-weight: 700; }
 .mps-direction-options button.is-on { border-color: var(--info-border); background: var(--info-soft); color: var(--info); }
 .mps-app .mps-reset { width: 100%; min-height: 36px; margin-top: 10px; }
 .mps-inline-explain { margin-top: 10px; padding: 15px; border: 1px solid var(--mps-line); border-radius: var(--radius-control); background: var(--surface); color: var(--mps-muted); }
 .mps-inline-explain strong { color: var(--text); font-size: 13px; }
 .mps-inline-explain p { margin: 6px 0 0; font-size: 12px; line-height: 1.65; }
 .mps-inline-analysis { grid-area: analysis; align-self: start; margin-top: 0; }
 .mps-inline-analysis summary { padding: 10px 12px; }
 .mps-inline-analysis .mps-details-body { padding: 11px 12px; }
 .mps-be-compare-slot { grid-area: compare; align-self: start; min-width: 0; }
 .mps-inline-compare { margin-top: 0; }
 .mps-be-story { margin: 0 0 8px; padding: 10px 11px; border: 1px solid var(--info-border); border-radius: var(--radius-control); background: linear-gradient(180deg, var(--info-soft), var(--surface)); }
 .mps-be-story small { display: block; color: var(--info); font-size: 8px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
 .mps-be-story strong { display: block; margin-top: 5px; color: var(--text); font-size: 12px; line-height: 1.35; }
 .mps-be-story p { margin: 5px 0 0; color: var(--text-muted); font-size: 10px; line-height: 1.45; }
 .mps-be-story-steps { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
 .mps-be-story-steps span { display: inline-flex; align-items: center; min-height: 28px; padding: 0 9px; border: 1px solid var(--gold-border); border-radius: var(--radius-pill); background: var(--surface-muted); color: var(--text); font-size: 9px; font-weight: 700; }
 .mps-be-story-steps span:first-child { border-color: var(--danger-border); }
 .mps-be-story-steps span:last-child { border-color: var(--success-border); }
 .mps-reference-intro { margin: 0 0 10px; color: var(--mps-muted); }
 .mps-app .mps-details-body .mps-reference-intro { margin: 0 0 10px; }
 .mps-reference-table-wrap { overflow-x: auto; border: 1px solid var(--mps-line); border-radius: var(--radius-control); background: var(--surface); }
 .mps-reference-table { width: 100%; min-width: 690px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
 .mps-reference-table :is(th, td) { padding: 9px 10px; border-bottom: 1px solid var(--mps-line); text-align: right; vertical-align: middle; }
 .mps-reference-table th { background: var(--surface-muted); color: var(--text); font-size: 10px; line-height: 1.35; }
 .mps-reference-table td { color: var(--text); font-size: 11px; }
 .mps-reference-table :is(th, td):nth-child(1) { color: var(--danger); text-align: left; }
 .mps-reference-table :is(th, td):nth-child(2) { color: var(--success); }
 .mps-reference-table :is(th, td):nth-child(3) { padding-left: 18px; border-left: 2px solid var(--gold-border); color: var(--success); text-align: left; }
 .mps-reference-table :is(th, td):nth-child(4) { color: var(--accent-text); }
 .mps-reference-table tbody tr:last-child td { border-bottom: 0; }
 /* Plus models (rendered by the server-authorised private body) */
 .mps-equation { display: grid; grid-template-columns: 1fr 24px 1fr 24px 1fr; align-items: center; gap: 5px; margin: 14px 0; }
 .mps-equation > div { padding: 10px 4px; border: 1px solid var(--mps-line); border-radius: var(--radius-control); background: var(--surface-muted); text-align: center; }
 .mps-equation small { display: block; color: var(--mps-faint); font-size: .72rem; }
 .mps-equation strong { display: block; margin-top: 3px; font-size: 18px; }
 .mps-equation i { color: var(--mps-faint); font-style: normal; font-weight: 800; text-align: center; }
 .mps-equation .is-result { border-color: var(--gold-border); }
 .mps-equation .is-result strong { color: var(--mps-gold2); }
 .mps-ratio-bars { display: grid; gap: 12px; }
 .mps-ratio-bars > div { padding: 10px; border: 1px solid var(--mps-line); border-radius: var(--radius-control); }
 .mps-ratio-bars span { display: flex; justify-content: space-between; font-size: .72rem; }
 .mps-ratio-bars i { position: relative; display: block; height: 11px; margin-top: 8px; border-radius: var(--radius-pill); background: var(--surface-strong); }
 .mps-ratio-bars em { display: block; width: 50%; height: 100%; border-radius: inherit; background: var(--mps-blue); }
 .mps-ratio-bars > div:nth-child(2) em { width: 83%; background: var(--mps-purple); }
 .mps-ratio-bars u { position: absolute; left: 33%; top: -4px; bottom: -4px; border-left: 1px solid var(--text); opacity: .55; }
 .mps-main-result { margin-top: auto; padding-top: 15px; border-top: 1px solid var(--mps-line); text-align: center; }
 .mps-main-result small { display: block; color: var(--mps-muted); font-size: .72rem; }
 .mps-main-result strong { display: block; color: var(--mps-gold2); font-size: 28px; }
 .mps-main-result span { display: inline-block; padding: 3px 8px; border: 1px solid var(--danger-border); border-radius: var(--radius-pill); color: var(--mps-red); font-size: .72rem; }
 .mps-regime { display: flex; justify-content: space-between; margin-top: auto; padding: 9px; border: 1px solid var(--gold-border); border-radius: var(--radius-control); background: var(--gold-soft); }
 .mps-regime small { color: var(--mps-faint); font-size: .72rem; }
 .mps-regime strong { color: var(--mps-gold2); font-size: 11px; }
 .mps-altseason-visual { gap: 11px; }
 .mps-alt-equation { display: grid; grid-template-columns: 1fr 24px 1fr 24px 1.15fr; align-items: center; gap: 6px; }
 .mps-alt-equation > div { min-width: 0; padding: 12px 8px; border: 1px solid var(--mps-line); border-radius: var(--radius-control); background: var(--surface-muted); text-align: center; }
 .mps-alt-equation > i { color: var(--mps-faint); font-size: 16px; font-style: normal; font-weight: 800; text-align: center; }
 .mps-alt-equation small { display: block; color: var(--mps-faint); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
 .mps-alt-equation strong { display: block; margin-top: 5px; font-size: 16px; }
 .mps-alt-equation .mps-alt-result { border-color: var(--gold-border); background: var(--gold-soft); }
 .mps-alt-result:is([data-result="pump"], [data-result="up"]) strong { color: var(--mps-green); }
 .mps-alt-result:is([data-result="dump"], [data-result="down"]) strong { color: var(--mps-red); }
 .mps-alt-result[data-result="side"] strong { color: var(--mps-gold2); }
 .mps-cycle-track { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
 .mps-cycle-track > div { position: relative; min-width: 0; padding: 9px 7px 9px 31px; border: 1px solid var(--mps-line); border-radius: var(--radius-control); background: var(--surface-muted); opacity: .52; transition: opacity .5s var(--ease-standard), border-color .5s var(--ease-standard), background .5s var(--ease-standard); }
 .mps-cycle-track b { position: absolute; left: 8px; top: 10px; display: grid; place-items: center; width: 17px; height: 17px; border-radius: var(--radius-pill); background: var(--surface-strong); color: var(--text-muted); font-size: .72rem; }
 .mps-cycle-track :is(span, small) { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
 .mps-cycle-track span { font-size: .72rem; font-weight: 800; }
 .mps-cycle-track small { margin-top: 2px; color: var(--mps-faint); font-size: .72rem; }
 .mps-cycle-track > div.is-on { border-color: var(--info-border); background: var(--info-soft); opacity: 1; }
 .mps-cycle-track > div.is-on b { background: var(--info); color: var(--surface); }
 .mps-alt-strength { padding: 10px; border: 1px solid var(--mps-line); border-radius: var(--radius-control); background: var(--surface-muted); }
 .mps-alt-strength > span { display: flex; justify-content: space-between; color: var(--text); font-size: 11px; }
 .mps-alt-strength > i { display: block; height: 11px; margin-top: 8px; overflow: hidden; border-radius: var(--radius-pill); background: var(--surface-strong); }
 .mps-alt-strength em { display: block; width: 45%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--mps-red), var(--mps-gold), var(--mps-green)); transition: width .35s linear; }
 .mps-alt-strength > small { display: block; margin-top: 6px; color: var(--mps-faint); font-size: .72rem; }
 .mps-structure-editor fieldset { margin: 10px 0; padding: 9px; border: 1px solid var(--mps-line); border-radius: var(--radius-control); }
 .mps-structure-editor legend { padding: 0 2px; color: var(--text); font-size: 12px; font-weight: 700; }
 .mps-structure-editor fieldset button { width: 33.333%; min-height: 38px; padding: 6px 2px; border: 0; border-radius: var(--radius-button); background: var(--surface-muted); color: var(--text-muted); font-size: 11px; font-weight: 700; }
 .mps-structure-editor fieldset button.is-on { background: var(--info-soft); color: var(--info); box-shadow: inset 0 0 0 1px var(--info-border); }
 .mps-editor-hint { margin-top: 10px; padding: 10px; border-left: 2px solid var(--mps-blue); border-radius: var(--radius-button); background: var(--info-soft); color: var(--text-muted); font-size: 11px; line-height: 1.55; }
 .mps-editor-hint b { color: var(--text); }
 .mps-portfolio-visual { gap: 9px; }
 .mps-app :is(.mps-weight-card, .mps-selected-position, .mps-position-math) { padding: 9px; border: 1px solid var(--mps-line); border-radius: var(--radius-control); background: var(--surface-muted); }
 .mps-weight-card > span { display: flex; justify-content: space-between; color: var(--text); font-size: .72rem; }
 .mps-weight-stack { display: flex; height: 31px; margin-top: 8px; overflow: hidden; border-radius: var(--radius-button); background: var(--surface-strong); }
 .mps-weight-stack button { min-width: 3px; border: 0; color: var(--button-text); font-size: .72rem; font-weight: 800; }
 .mps-position-tabs { display: flex; gap: 6px; }
 .mps-position-tabs button { flex: 1; min-width: 0; padding: 7px; border: 1px solid var(--border); border-radius: var(--radius-control); background: var(--surface); color: var(--text-muted); text-align: left; }
 .mps-position-tabs button :is(small, strong) { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
 .mps-position-tabs button small { font-size: .72rem; }
 .mps-position-tabs button strong { font-size: .72rem; }
 .mps-position-tabs button.is-on { border-color: var(--danger-border); background: var(--danger-soft); color: var(--danger); }
 .mps-selected-position > div:first-child { display: flex; align-items: center; justify-content: space-between; }
 .mps-selected-position :is(small, strong) { display: block; }
 .mps-selected-position small { color: var(--mps-faint); font-size: .72rem; }
 .mps-selected-position > div:first-child > span { padding: 4px 7px; border: 1px solid var(--danger-border); border-radius: var(--radius-pill); color: var(--mps-red); font-size: .72rem; }
 .mps-impact-line { margin-top: 10px; }
 .mps-impact-line > span { display: flex; justify-content: space-between; font-size: .72rem; }
 .mps-impact-line > span b { color: var(--mps-red); }
 .mps-impact-line > i { display: block; height: 8px; margin-top: 6px; overflow: hidden; border-radius: var(--radius-pill); background: var(--surface-strong); }
 .mps-impact-line em { display: block; height: 100%; border-radius: inherit; background: var(--mps-red); }
 .mps-position-math { display: grid; grid-template-columns: 1fr 18px 1fr 18px 1fr; align-items: center; }
 .mps-position-math > div { text-align: center; }
 .mps-position-math small { display: block; color: var(--mps-faint); font-size: .72rem; }
 .mps-position-math strong { font-size: 13px; }
 .mps-position-math > div:last-child strong { color: var(--mps-red); }
 .mps-position-math > i { color: var(--mps-faint); font-style: normal; text-align: center; }
 .mps-position-manage-row { display: grid; grid-template-columns: 1fr 80px 34px; gap: 6px; margin-bottom: 6px; }
 .mps-app .mps-details-body .mps-position-manage-row input, .mps-app .mps-position-manage-row input { margin: 0; }
 .mps-position-manage-row button { border: 1px solid var(--mps-line); border-radius: var(--radius-button); background: var(--surface-muted); color: var(--mps-red); }
 .mps-contribution-row { display: flex; justify-content: space-between; padding: 7px 0; border-bottom: 1px solid var(--mps-line); }
 .mps-outcomes { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 6px; }
 .mps-outcomes > div { padding: 7px; border: 1px solid var(--mps-line); border-radius: var(--radius-control); text-align: center; }
 .mps-outcomes small { display: block; color: var(--mps-faint); font-size: .72rem; }
 .mps-outcomes strong { font-size: 13px; }
 .mps-outcomes > div:first-child strong { color: var(--mps-red); }
 .mps-outcomes > div:last-child strong { color: var(--mps-green); }
 .mps-tranche-options { display: flex; gap: 4px; margin: 10px 0 0; padding: 0; border: 0; }
 .mps-tranche-options legend { float: left; margin-right: auto; color: var(--text); font-size: 11px; font-weight: 700; }
 .mps-tranche-options button { min-width: 34px; padding: 6px; border: 1px solid var(--mps-line); border-radius: var(--radius-button); background: var(--surface-muted); color: var(--text-muted); font-size: 10px; }
 .mps-tranche-options button.is-on { border-color: var(--success-border); background: var(--success-soft); color: var(--success); }
 .mps-app :is(button, input, select, a, summary):focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
 @media (pointer: coarse) { .mps-app .mps-chart-handle { pointer-events: none; } .mps-app .mps-control input[type=range] { min-height: 32px; } }
 @media (prefers-reduced-motion: reduce) { .mps-app :is(.mps-module-card, .mps-kpi) { animation: none; transition: none; } }
 @media (min-width: 700px) { .mps-reference-table th { font-size: 10px; } .mps-reference-table td { font-size: 11px; } }
 @media (max-width: 900px) {
  .mps-experiment { grid-template-columns: 1fr; grid-template-areas: "kpis" "visual" "translator" "summary" "editor"; }
  #experiment-be { grid-template-areas: "summary" "kpis" "visual" "translator" "compare" "editor"; }
  :is(#experiment-pos, #experiment-dca) { grid-template-areas: "kpis" "visual" "translator" "analysis" "summary" "editor"; }
  .mps-visual { min-height: 360px; }
  .mps-editor { width: 100%; }
  .mps-be-compare-slot { width: 100%; }
  #experiment-be .mps-scenario-summary { align-items: flex-start; }
  #experiment-be .mps-scenario-summary strong { overflow: visible; text-overflow: clip; white-space: normal; line-height: 1.35; }
  #experiment-be .mps-visual { height: auto; min-height: 360px; }
  #experiment-be .mps-be-story strong { font-size: 13px; }
  #experiment-be .mps-be-story p { font-size: 10px; line-height: 1.5; }
  #experiment-be .mps-visual svg { min-height: 175px; }
 }
 @media (max-width: 760px) { .mps-app .demo-access-bar { flex-direction: column; align-items: flex-start; gap: 10px; } .mps-module-cards.mps-bridge-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
 @media (max-width: 640px) {
  .mps-overview { padding: 17px 12px 20px; }
  .mps-overview-copy p { font-size: 13px; }
  .mps-notice { font-size: .66rem; }
  .mps-workspace { padding: 0 8px 24px; }
  .mps-workspace-bar { margin: 0 -8px; padding: 7px 9px; }
  .mps-app :is(.mps-back span, .mps-module-select-label) { display: none; }
  .mps-module-select { flex: 1; min-width: 0; max-width: none; padding: 7px 8px; }
  .mps-module { padding-top: 14px; }
  .mps-context { margin-bottom: 9px; padding: 0 4px; }
  .mps-context h2 { margin-top: 4px; font-size: 22px; }
  .mps-context p { font-size: 12px; line-height: 1.5; }
  .mps-estimate { margin: 9px 0; }
  .mps-estimate-card { padding: 11px; }
  .mps-estimate-card h3 { font-size: 14px; }
  .mps-estimate-options { display: grid; grid-template-columns: 1fr; }
  .mps-estimate-options button { min-width: 0; min-height: 38px; font-size: 11px; }
  .mps-experiment { gap: 7px; padding: 8px; min-height: calc(100svh - var(--tool-shell-offset, 64px) - 52px); scroll-margin-top: calc(var(--tool-shell-offset, 0px) + 62px); }
  .mps-kpis { gap: 5px; }
  .mps-kpi { padding: 7px; }
  .mps-kpi small { font-size: .72rem; }
  .mps-kpi strong { font-size: 18px; }
  .mps-kpi > span { font-size: .72rem; }
  .mps-visual { height: clamp(300px, 44svh, 390px); min-height: 0; padding: 9px; }
  .mps-experiment.is-editing .mps-visual { height: clamp(190px, 29svh, 250px); }
  .mps-visual svg { min-height: 135px; }
  .mps-app :is(.mps-be-visual, .mps-dca-visual) svg text { font-size: 24px; }
  .mps-visual-head > strong { font-size: .72rem; }
  .mps-translator { display: block; height: 82px; min-height: 82px; padding: 8px 10px; overflow: hidden; touch-action: pan-y; pointer-events: none; }
  .mps-translator b { display: block; margin: 0 0 3px; font-size: .72rem; line-height: 1.2; }
  .mps-translator p { font-size: 12px; line-height: 1.45; }
  .mps-scenario-summary { min-height: 50px; padding: 6px 7px 6px 9px; }
  .mps-scenario-summary strong { font-size: .72rem; }
  .mps-editor { padding: 11px; }
  .mps-editor-head { margin-bottom: 5px; }
  .mps-editor-head span { font-size: 9px; }
  .mps-control { margin-top: 6px; }
  .mps-control > span:first-child { font-size: 11px; }
  .mps-control > small { font-size: 9px; }
  .mps-app .mps-control .mps-control-line { height: 30px; }
  .mps-control-line button { width: 28px; height: 28px; }
  .mps-editor-actions { grid-template-columns: 96px minmax(0, 1fr); gap: 8px; margin-top: 8px; }
  .mps-learning { padding: 13px; }
  .mps-learning h3 { font-size: 15px; }
  .mps-asymmetry { grid-template-columns: 1fr; }
  .mps-equation { margin: 8px 0; }
  .mps-equation > div { padding: 7px 3px; }
  .mps-equation small { font-size: .72rem; }
  .mps-equation strong { font-size: 17px; }
  .mps-ratio-bars { gap: 7px; }
  .mps-ratio-bars > div { padding: 7px; }
  .mps-ratio-bars span, .mps-main-result small, .mps-main-result span { font-size: .72rem; }
  .mps-main-result { padding-top: 7px; }
  .mps-main-result strong { font-size: 22px; }
  .mps-regime { padding: 7px; }
  .mps-app .mps-altseason-visual { height: auto; min-height: 330px; }
  .mps-alt-equation { grid-template-columns: 1fr 14px 1fr; }
  .mps-alt-equation > div { padding: 8px 4px; }
  .mps-alt-equation > div:last-child { grid-column: 1 / -1; }
  .mps-alt-equation > i:nth-of-type(2) { display: none; }
  .mps-alt-equation small { font-size: .72rem; }
  .mps-alt-equation strong { font-size: 15px; }
  .mps-alt-strength > span { font-size: 12px; }
  .mps-cycle-track { grid-template-columns: 1fr 1fr; }
  .mps-cycle-track > div { padding: 7px 5px 7px 28px; }
  .mps-structure-editor fieldset { margin: 8px 0; padding: 7px; }
  .mps-editor-hint { font-size: 10px; }
  .mps-position-tabs { gap: 4px; }
  .mps-position-tabs button { padding: 5px; }
  .mps-app :is(.mps-selected-position, .mps-weight-card, .mps-position-math) { padding: 7px; }
  .mps-weight-card > span, .mps-impact-line > span { font-size: .72rem; }
  .mps-impact-line { margin-top: 6px; }
  .mps-position-math small, .mps-outcomes small { font-size: .72rem; }
  .mps-position-math strong, .mps-outcomes strong { font-size: 14px; }
  .mps-outcomes { margin-top: 4px; }
  .mps-run { align-items: flex-start; }
  .mps-run-main { display: grid; gap: 2px; }
  #experiment-be .mps-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #experiment-be .mps-kpi { display: flex; flex-direction: column; justify-content: flex-start; min-height: 82px; }
  #experiment-be .mps-kpi small { min-height: 17px; overflow: visible; font-size: 6.7px; line-height: 1.18; text-overflow: clip; white-space: normal; }
  #experiment-be .mps-kpi strong { margin-top: 6px; font-size: 17px; }
  #experiment-be .mps-kpi > span { margin-top: 4px; }
  #experiment-be .mps-be-story { margin-bottom: 7px; padding: 9px 10px; }
  #experiment-be .mps-be-story strong { font-size: 12px; }
  #experiment-be .mps-be-story p { font-size: 9.5px; }
  #experiment-be .mps-be-story-steps span { min-height: 26px; padding: 0 8px; font-size: 8.5px; }
  #experiment-be .mps-visual { min-height: 340px; }
 }
 @media (max-width: 560px) { .mps-module-cards.mps-bridge-grid { grid-template-columns: 1fr; } }
 @media (max-width: 360px) { .mps-kpi strong { font-size: 16px; } .mps-kpi > span { display: none; } .mps-visual { height: 280px; } .mps-experiment.is-editing .mps-visual { height: 180px; } .mps-equation { grid-template-columns: 1fr 15px 1fr 15px 1fr; } .mps-equation strong { font-size: 12px; } .mps-editor-head strong { font-size: 11px; } .mps-structure-editor fieldset button { font-size: 10px; } .mps-translator p { font-size: 11.5px; } .mps-cycle-track span { font-size: .72rem; } .mps-position-tabs button small { display: none; } .mps-app :is(.mps-be-visual, .mps-dca-visual) svg text { font-size: 21px; } }

 /* ── Portfolio Klarheit ─────────────────────────────────── */
 .pk-main { --pk-gold: var(--gold); --pk-gold-bright: var(--accent-text); --pk-gold-soft: var(--gold-deep); position: relative; width: 100%; color: var(--text); font-size: 16px; line-height: 1.65; }
 .pk-screen { max-width: 720px; margin: 0 auto; padding: 2.2rem 0 4.5rem; }
 .pk-eyebrow { display: flex; align-items: center; gap: .7rem; margin-bottom: 1.4rem; color: var(--accent-text); font-size: .72rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
 .pk-eyebrow::before { content: ''; width: 24px; height: 1px; background: var(--gold); }
 .pk-eyebrow .tool-icon { width: 32px; height: 32px; flex-basis: 32px; padding: 4px; }
 .pk-eyebrow .tool-icon img { width: 22px; height: 22px; }
 .pk-main .r4x-brand-mark { color: var(--accent-text); font-weight: inherit; white-space: nowrap; }
 .pk-start-headline-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
 [data-info-slot="clarity-intro"], .pk-mobile-benefit { display: none; }

 .pk-start h1 { margin: 0 0 1.45rem; }
 .pk-lede { max-width: 56ch; margin: 0 0 1.3rem; font-size: 1.06rem; line-height: 1.72; }
 .pk-note { max-width: 56ch; margin: 0 0 2.4rem; color: var(--text-muted); font-size: .95rem; line-height: 1.65; }
 .pk-what-you-get { margin: 0 0 2.25rem; padding: 1.85rem 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
 .pk-mini-label { margin-bottom: 1rem; color: var(--text-muted); font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
 .pk-what-you-get ul { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem 2rem; margin: 0; padding: 0; list-style: none; }
 .pk-what-you-get li { position: relative; padding-left: 1.2rem; font-size: .94rem; }
 .pk-what-you-get li::before { content: ''; position: absolute; left: 0; top: .78em; width: 6px; height: 1px; background: var(--gold-deep); }
 .pk-disclaimer { margin-bottom: 2.25rem; padding: 1.05rem 1.25rem; border: 1px solid var(--border); border-left: 2px solid var(--gold-deep); border-radius: var(--radius-control); background: var(--surface-muted); color: var(--text-muted); font-size: .86rem; line-height: 1.6; }
 .pk-disclaimer strong { display: block; margin-bottom: .25rem; color: var(--text); font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
 .pk-cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
 .pk-cta-row--start { margin: 1.6rem 0 0; }
 .pk-storage-note, .pk-start-saved { margin: 1rem 0 0; color: var(--text-muted); font-size: .84rem; font-style: italic; }
 .pk-storage-note { margin: .8rem 0 1.9rem; }
 .pk-start-saved { margin-bottom: .65rem; color: var(--accent-text); font-style: normal; }
 .pk-question-screen { padding-top: 2.5rem; }
 .pk-progress-bar { margin: 0 auto 2.2rem; }
 .pk-progress-meta { display: flex; align-items: center; justify-content: space-between; margin-bottom: .85rem; color: var(--text-muted); font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
 .pk-step { color: var(--accent-text); }
 .pk-count { color: var(--text-faint); font-size: .9rem; letter-spacing: 0; text-transform: none; }
 .pk-count strong { color: var(--text); }
 .pk-progress-track { height: 2px; overflow: hidden; border-radius: var(--radius-badge); background: var(--border); }
 .pk-progress-fill { width: 0%; height: 100%; border-radius: var(--radius-badge); background: linear-gradient(to right, var(--gold-deep), var(--gold)); transition: width .2s var(--ease-standard); }
 .pk-step-indicator { display: flex; justify-content: center; gap: .45rem; margin-bottom: 2.1rem; }
 .pk-step-dot { width: 22px; height: 2px; border-radius: var(--radius-badge); background: var(--border); }
 .pk-step-dot.done { background: var(--gold-deep); }
 .pk-step-dot.active { width: 32px; background: var(--gold); }
 .pk-question-card { position: relative; padding: 2.35rem 2.15rem; border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface); box-shadow: var(--shadow-card); scroll-margin-top: calc(var(--tool-shell-offset, 0px) + 16px); }
 .pk-question-card::before { content: ''; position: absolute; top: 0; left: 0; width: 60px; height: 1px; background: var(--gold); }
 .pk-question-num { margin-bottom: .6rem; color: var(--accent-text); font-size: .9rem; font-style: italic; letter-spacing: .04em; }
 .pk-question-title { margin: 0 0 1.5rem; font-size: 1.75rem; line-height: 1.25; letter-spacing: -.025em; }
 .pk-question-help { margin: 0 0 1.8rem; padding-left: .9rem; border-left: 1px solid var(--gold-deep); color: var(--text-muted); font-size: .92rem; font-style: italic; line-height: 1.6; }
 .pk-answer-list { display: flex; flex-direction: column; gap: .62rem; }
 .pk-answer-option { display: flex; align-items: center; gap: 1rem; width: 100%; min-height: var(--touch-target); padding: 1rem 1.15rem; border: 1px solid var(--border); border-radius: var(--radius-control); background: var(--surface-muted); color: var(--text); font: inherit; font-size: .95rem; text-align: left; cursor: pointer; transition: border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard); }
 .pk-answer-option:hover { border-color: var(--gold-border); background: var(--surface-strong); }
 .pk-answer-option.selected { border-color: var(--gold); background: var(--gold-soft); }
 .pk-answer-marker { position: relative; flex: 0 0 16px; width: 16px; height: 16px; border: 1px solid var(--border); border-radius: var(--radius-pill); }
 .pk-answer-option.selected .pk-answer-marker { border-color: var(--gold); }
 .pk-answer-option.selected .pk-answer-marker::after { content: ''; position: absolute; inset: 3px; border-radius: var(--radius-pill); background: var(--gold); }
 .pk-answer-option.multi .pk-answer-marker { border-radius: var(--radius-badge); }
 .pk-answer-option.multi.selected .pk-answer-marker::after { border-radius: var(--radius-badge); }
 .pk-question-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 2.25rem; }
 .pk-loading { max-width: 640px; }
 .pk-loading-card { padding: 2.5rem; border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface); text-align: center; }
 .pk-loading-card .pk-eyebrow { justify-content: center; }
 .pk-loading-card .pk-eyebrow::before { display: none; }
 .pk-loading-card h2 { margin: .5rem 0 1rem; font-size: 1.75rem; line-height: 1.2; }
 .pk-loading-card p { margin: 0; color: var(--text-muted); }
 .pk-main :is(.pk-result-screen, .pk-history-screen) { max-width: 880px; padding-top: 3rem; }
 .pk-result-eyebrow { margin-bottom: .85rem; color: var(--accent-text); font-size: .72rem; font-weight: 700; letter-spacing: .22em; text-align: center; text-transform: uppercase; }
 .pk-result-title { margin: 0 0 .7rem; font-size: 2.25rem; line-height: 1.15; letter-spacing: -.035em; text-align: center; }
 .pk-result-subtitle { margin: 0 0 3rem; color: var(--text-muted); font-size: .96rem; font-style: italic; text-align: center; }
 .pk-score-block { position: relative; display: flex; align-items: center; justify-content: center; gap: 3rem; margin-bottom: 1rem; padding: 2.7rem 2rem; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-card); background: linear-gradient(to bottom, var(--surface), var(--surface-muted)); }
 .pk-score-block::before { content: ''; position: absolute; top: 0; left: 50%; width: 80px; height: 1px; background: var(--gold); transform: translateX(-50%); }
 .pk-score-ring { position: relative; flex: 0 0 170px; width: 170px; height: 170px; }
 .pk-score-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
 .pk-ring-bg { fill: none; stroke: var(--border); stroke-width: 4; }
 .pk-ring-fill { fill: none; stroke: url(#pkGoldGradient); stroke-width: 4; stroke-linecap: round; }
 .pk-main #pkGoldGradient stop:first-child { stop-color: var(--gold-deep); }
 .pk-main #pkGoldGradient stop:last-child { stop-color: var(--gold-hover); }
 .pk-score-center { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
 .pk-score-number { font-size: 3.45rem; font-weight: 650; line-height: 1; letter-spacing: -.04em; }
 .pk-score-max { margin-top: .2rem; color: var(--text-faint); font-size: .85rem; font-style: italic; }
 .pk-score-meta { flex: 1; max-width: 340px; }
 .pk-score-band { margin-bottom: .7rem; color: var(--accent-text); font-size: 1.35rem; font-style: italic; }
 .pk-score-text { margin: 0; font-size: .95rem; line-height: 1.6; }
 .pk-score-disclaimer { max-width: 600px; margin: 0 auto 3.3rem; color: var(--text-faint); font-size: .82rem; font-style: italic; line-height: 1.55; text-align: center; }
 .pk-section { margin-bottom: 3.4rem; }
 .pk-section-h { display: flex; align-items: baseline; gap: .7rem; margin: 0 0 1.35rem; font-size: 1.45rem; letter-spacing: -.02em; }
 .pk-section-h .num { color: var(--accent-text); font-size: .95rem; font-style: italic; font-weight: 500; }
 .pk-profile-card { position: relative; padding: 1.75rem 1.85rem; border: 1px solid var(--gold-border); border-radius: var(--radius-card); background: var(--surface); }
 .pk-profile-card::before { content: ''; position: absolute; top: 0; left: 0; width: 3px; height: 100%; border-radius: var(--radius-card) 0 0 var(--radius-card); background: linear-gradient(to bottom, var(--gold), transparent); }
 .pk-profile-name { margin: 0 0 .85rem; color: var(--accent-text); font-size: 1.28rem; font-style: italic; line-height: 1.25; }
 .pk-profile-text { margin: 0; font-size: .96rem; line-height: 1.7; }
 .pk-dim-list { display: flex; flex-direction: column; gap: 1.3rem; }
 .pk-dim-item { padding: 1.25rem 1.45rem; border: 1px solid var(--border); border-radius: var(--radius-control); background: var(--surface); }
 .pk-dim-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: .85rem; }
 .pk-dim-name { font-size: 1rem; font-weight: 650; }
 .pk-dim-score { color: var(--accent-text); font-size: 1.45rem; font-weight: 650; line-height: 1; }
 .pk-dim-score .of { margin-left: .15rem; color: var(--text-faint); font-size: .78rem; font-style: italic; font-weight: 400; }
 .pk-dim-bar-track { height: 3px; margin-bottom: .85rem; overflow: hidden; border-radius: var(--radius-badge); background: var(--border); }
 .pk-dim-bar-fill { height: 100%; border-radius: var(--radius-badge); background: linear-gradient(to right, var(--gold-deep), var(--gold)); }
 .pk-dim-bar-fill.low { background: var(--danger); opacity: .75; }
 .pk-dim-bar-fill.mid { background: linear-gradient(to right, var(--gold-deep), var(--gold-hover)); opacity: .85; }
 .pk-dim-text { margin: 0; color: var(--text-muted); font-size: .88rem; font-style: italic; line-height: 1.6; }
 .pk-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-bottom: 3.4rem; }
 .pk-col-card { padding: 1.55rem 1.65rem; border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface); }
 .pk-col-h { display: flex; align-items: center; gap: .65rem; margin: 0 0 1.1rem; font-size: 1.15rem; }
 .pk-col-card.clear .ic { color: var(--success); }
 .pk-col-card.check .ic { color: var(--gold); }
 .pk-col-list { display: flex; flex-direction: column; gap: .85rem; margin: 0; padding: 0; list-style: none; }
 .pk-col-list li { position: relative; padding-left: 1.25rem; font-size: .92rem; line-height: 1.55; }
 .pk-col-list li::before { content: '·'; position: absolute; left: 0; top: -.43em; color: var(--gold); font-size: 1.5rem; font-weight: 700; }
 .pk-col-card.clear .pk-col-list li::before { color: var(--success); }
 .pk-action-list { display: flex; flex-direction: column; gap: 1rem; }
 .pk-action-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.5rem; padding: 1.45rem 1.65rem; border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface); transition: border-color var(--motion-fast) var(--ease-standard); }
 .pk-action-card:hover { border-color: var(--gold-border); }
 .pk-action-body h4 { margin: 0 0 .45rem; font-size: 1.08rem; }
 .pk-action-body p { margin: 0; color: var(--text-muted); font-size: .88rem; line-height: 1.55; }
 .pk-action-cta-wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .55rem; min-width: 0; }
 .pk-main .pk-tool-icon { flex-basis: 38px; width: 38px; height: 38px; padding: 7px; }
 .pk-main .pk-tool-icon img { width: 23px; height: 23px; }
 .pk-eco-intro { margin: 0 0 1.55rem; color: var(--text-muted); font-size: .96rem; font-style: italic; line-height: 1.65; }
 .pk-eco-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; overflow: hidden; }
 .pk-eco-card { display: flex; flex-direction: column; gap: .65rem; min-width: 0; padding: 1.25rem 1.35rem; border: 1px solid var(--border); border-radius: var(--radius-control); background: var(--surface-muted); color: inherit; text-decoration: none; transition: border-color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard); }
 .pk-eco-card:hover { transform: translateY(-1px); border-color: var(--gold-border); }
 .pk-eco-card.locked { border-color: var(--gold-border); }
 .pk-eco-head { display: flex; align-items: center; gap: .85rem; margin-bottom: .55rem; }
 .pk-main .pk-eco-head .pk-tool-icon { flex-basis: 34px; width: 34px; height: 34px; border-radius: var(--radius-control); }
 .pk-main .pk-eco-head .pk-tool-icon img { width: 21px; height: 21px; }
 .pk-eco-name { font-size: 1.06rem; font-weight: 650; }
 .pk-eco-name .pin { color: var(--accent-text); font-style: italic; font-weight: 650; }
 .pk-lock-badge { display: inline-flex; margin-left: .55rem; color: var(--accent-text); font-size: .72rem; font-weight: 700; vertical-align: middle; }
 .pk-eco-desc { flex: 1; margin: 0; color: var(--text-muted); font-size: .85rem; line-height: 1.5; }
 .pk-main .pk-eco-cta { align-self: flex-start; margin-top: .15rem; min-height: 40px; font-size: .82rem; }
 .pk-plus-result-unlock { display: flex; justify-content: flex-start; margin: 1.05rem 0 0; }
 .pk-result-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 4rem; padding-top: 2.5rem; border-top: 1px solid var(--border); }
 .pk-saved { color: var(--text-muted); font-size: .85rem; font-style: italic; }
 .pk-saved::before { content: '✓'; margin-right: .5rem; color: var(--success); font-style: normal; }
 .pk-plus-note { margin: .75rem 0 0; color: var(--text-muted); font-size: .84rem; font-style: italic; }
 .pk-history-list { display: grid; gap: 1rem; }
 .pk-history-card { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 1rem; padding: 1.35rem 1.5rem; border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface); }
 .pk-history-date { color: var(--text-muted); font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
 .pk-history-score { margin: .25rem 0; color: var(--accent-text); font-size: 1.4rem; font-weight: 700; }
 .pk-history-profile { font-size: .9rem; }
 .pk-history-meta { margin-top: .35rem; color: var(--text-muted); font-size: .84rem; }
 .pk-history-empty { padding: 1.6rem; border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface); color: var(--text-muted); }
 /* r24 saved results (decision 29.09.2026): delete beside open, the Kauf Check history pattern. */
 .pk-history-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .5rem; }
 @media (min-width: 721px) { .pk-start { display: flex; flex-direction: column; justify-content: flex-start; } }
 @media (max-width: 720px) {
  .pk-screen { padding-inline: 0; }
  .pk-start { padding-top: 1.15rem; padding-bottom: 2.8rem; }
  .pk-start-headline-row { align-items: center; margin-bottom: .9rem; }
  .pk-eyebrow { gap: .45rem; min-width: 0; margin-bottom: 0; font-size: .72rem; letter-spacing: .14em; }
  .pk-eyebrow::before { width: 18px; }
  [data-info-slot="clarity-intro"] { display: inline-block; flex: 0 0 auto; }







  .pk-start h1 { margin: 0 0 1rem; }
  .pk-lede, .pk-note { display: none; }
  .pk-mobile-benefit { display: block; max-width: 34ch; margin: 0 0 1.15rem; font-size: 1rem; line-height: 1.5; }
  .pk-start-saved { margin: .2rem 0 .75rem; font-size: .82rem; }
  .pk-cta-row--start { gap: .55rem; margin: 0 0 .55rem; }
  .pk-cta-row--start #start-btn { width: 100%; }
  .pk-storage-note { margin: .55rem 0 1.35rem; font-size: .78rem; }
  .pk-what-you-get { margin-bottom: 1.35rem; padding: 1.25rem 0; }
  .pk-what-you-get ul { grid-template-columns: 1fr; }
  .pk-mini-label { margin-bottom: .75rem; }
  .pk-disclaimer { margin-bottom: 1.4rem; padding: .9rem 1rem; }
  .pk-question-card { padding: 1.8rem 1.35rem; }
  .pk-question-title { font-size: 1.45rem; }
  .pk-progress-meta { align-items: flex-start; gap: .7rem; }
  .pk-count { white-space: nowrap; }
  .pk-score-block { flex-direction: column; gap: 2rem; padding: 2.15rem 1.4rem; text-align: center; }
  .pk-score-meta { text-align: center; }
  .pk-two-col, .pk-eco-grid { grid-template-columns: 1fr; }
  .pk-action-card { grid-template-columns: auto 1fr; }
  .pk-action-card .pk-action-cta-wrap { grid-column: 2; justify-content: flex-start; }
  .pk-action-cta-wrap .pk-action-cta { white-space: normal; }
  .pk-history-card { grid-template-columns: 1fr; }
  .pk-history-actions { justify-content: flex-start; }
  .pk-result-title { font-size: 1.85rem; }
 }

 /* ── Situation-Training (r24) ──────────────────────────────────
    r337 inline styles (index.html, five style blocks) and the effective r337 global polish (gold primary, free
    secondary CTA) translated to v18 tokens. Staged r337 elements keep their form: wizard steps with gold/green state
    stripes, category/mode/scenario cards, the market panel (blue) and the signal group (violet), KPI and price cards,
    chart, market signal lanes, chat bubbles with bias tags, findings, decision/feedback states, scenario tabs, final
    badges, demo access bar, Plus lock card, results and theme dialogs, the simulator bridge. Historic fixed colours are
    mapped to semantic tokens (violet as in the simulator: info mixed with danger). */
 .tool-page--situation-training { --st-line: var(--border); --st-line-soft: var(--border-soft); --st-muted: var(--text-muted); --st-gold: var(--gold); --st-gold-text: var(--accent-text); --st-green: var(--success); --st-blue: var(--info); --st-violet: color-mix(in srgb, var(--info) 55%, var(--danger)); --st-orange: var(--warning); --st-red: var(--danger); --st-orange-soft: color-mix(in srgb, var(--warning) 12%, transparent); --st-orange-border: color-mix(in srgb, var(--warning) 30%, transparent); --st-violet-soft: color-mix(in srgb, var(--st-violet) 12%, transparent); --st-violet-border: color-mix(in srgb, var(--st-violet) 32%, transparent); --st-panel: var(--surface); --st-panel-2: var(--surface-muted); --st-radius-lg: var(--radius-card); --st-radius-md: var(--radius-control); color: var(--text); font-size: 14px; line-height: 1.5; }
 .tool-page--situation-training :is(button, input, select) { font: inherit; }
 .tool-page--situation-training .wrap { width: min(1220px, 100%); margin-inline: auto; }
 .tool-page--situation-training .shell { overflow: hidden; border: 1px solid var(--st-line); border-radius: var(--radius-card); background: var(--surface); box-shadow: var(--shadow-elevated); }
 .tool-page--situation-training .training-top { padding: 20px 22px 18px; border-bottom: 1px solid var(--st-line); background: var(--surface); }
 .tool-page--situation-training :is(.eyebrow, .decision-label) { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; min-height: 26px; padding: 4px 10px; border: 1px solid var(--gold-border); border-radius: var(--radius-pill); background: var(--gold-soft); color: var(--st-gold-text); font-size: .72rem; font-weight: 600; letter-spacing: .05em; line-height: 1.12; text-transform: uppercase; text-align: center; white-space: normal; }
 .tool-page--situation-training .eyebrow { margin-bottom: 12px; }
 .tool-page--situation-training .context-section-label { margin: 14px 0 10px; }
 .tool-page--situation-training .training-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
 .tool-page--situation-training .training-head > * { min-width: 0; }
 .tool-page--situation-training .r4x-tool-title-row { display: flex; align-items: center; gap: var(--s3); }
 .tool-page--situation-training .main-title { margin: 0 0 8px; letter-spacing: -.01em; text-wrap: balance; }
 .tool-page--situation-training .intro { max-width: 780px; margin: 0; color: var(--st-muted); font-size: 15px; line-height: 1.55; }
 .tool-page--situation-training .progress-box { min-width: 260px; padding: 14px; border: 1px solid var(--st-line); border-radius: var(--radius-card); background: var(--surface-muted); }
 .tool-page--situation-training .progress-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; color: var(--st-muted); font-size: 13px; }
 .tool-page--situation-training :is(.progress-value, .stat-value) { color: var(--text); font-weight: 600; }
 .tool-page--situation-training .progress-track { overflow: hidden; width: 100%; height: 10px; border: 1px solid var(--st-line-soft); border-radius: var(--radius-pill); background: var(--surface-strong); }
 .tool-page--situation-training .progress-fill { width: 0%; height: 100%; background: linear-gradient(90deg, var(--gold-deep), var(--gold-hover)); transition: width var(--motion-base) var(--ease-standard); }
 .tool-page--situation-training .training-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
 .tool-page--situation-training .stat-card { padding: 10px 12px; border: 1px solid var(--st-line-soft); border-radius: var(--radius-control); background: var(--surface); }
 .tool-page--situation-training .stat-label { display: block; margin-bottom: 4px; color: var(--st-muted); font-size: 12px; }
 .tool-page--situation-training .progress-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin-top: 12px; }
 .tool-page--situation-training .tiny-btn { min-height: 36px; padding: 0 13px; font-size: 12px; font-weight: 700; }
 .tool-page--situation-training .training-shell.is-start :is(.progress-box, .live-head, .simulator-live, .bottom-panel, .decision-panel, .next-step-panel, .training-final-panel) { display: none; }
 .tool-page--situation-training .training-shell:not(.is-training) :is(.live-head, .simulator-live, .scenario-tabs) { display: none; }
 .tool-page--situation-training .training-shell.is-training :is(#hubZone, .hub-zone, .theme-preview) { display: none; }
 /* Immersion (r337): no analysis hints before both decisions are made. */
 .tool-page--situation-training .training-shell.is-training:not(.reveal-analysis) :is(.bottom-panel, .market-signal-card, #biasStrip, .bias-tag) { display: none; }
 .tool-page--situation-training :is(.locked-screen.hidden, .training-shell.is-hidden, .next-step-panel.hidden, .summary-panel.hidden, .training-final-panel.hidden, .live-head.hidden, .simulator-live.hidden) { display: none; }
 /* Scenario tabs */
 .tool-page--situation-training .scenario-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
 .tool-page--situation-training .scenario-tab { padding: 14px; border: 1px solid var(--st-line); border-radius: var(--radius-control); background: var(--surface-muted); color: var(--text); text-align: left; cursor: pointer; transition: transform var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard); }
 .tool-page--situation-training .scenario-tab:hover { transform: translateY(-1px); border-color: var(--gold-border); background: var(--gold-soft); }
 .tool-page--situation-training .scenario-tab.active { border-color: var(--gold-border); background: var(--gold-soft); box-shadow: inset 0 0 0 1px var(--gold-border); }
 .tool-page--situation-training .scenario-step { display: block; margin-bottom: 6px; color: var(--st-gold-text); font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
 .tool-page--situation-training .scenario-name { display: block; margin-bottom: 5px; font-size: 15px; font-weight: 600; line-height: 1.25; }
 .tool-page--situation-training .scenario-sub { display: block; color: var(--st-muted); font-size: 13px; line-height: 1.4; }
 .tool-page--situation-training .scenario-result { display: inline-flex; align-items: center; justify-content: center; min-width: 68px; min-height: 26px; margin-top: 10px; padding: 4px 9px; border: 1px solid var(--st-line); border-radius: var(--radius-pill); background: var(--surface); color: var(--st-muted); font-size: 11px; font-weight: 600; letter-spacing: .03em; }
 .tool-page--situation-training .scenario-result.good { border-color: var(--success-border); background: var(--success-soft); color: var(--st-green); }
 .tool-page--situation-training .scenario-result.mid { border-color: var(--st-orange-border); background: var(--st-orange-soft); color: var(--st-orange); }
 .tool-page--situation-training .scenario-result.bad { border-color: var(--danger-border); background: var(--danger-soft); color: var(--st-red); }
 /* Market panel (blue) and signal group (violet) */
 .tool-page--situation-training .top-grid { display: grid; grid-template-columns: 1.08fr .92fr; overflow: hidden; border: 1px solid var(--st-line); border-radius: var(--radius-card); }
 .tool-page--situation-training .panel { position: relative; min-height: 560px; padding: 22px; }
 .tool-page--situation-training .panel + .panel { border-left: 1px solid var(--st-line); }
 .tool-page--situation-training .panel.market { background: radial-gradient(circle at 78% 20%, var(--info-soft), transparent 18%), linear-gradient(180deg, color-mix(in srgb, var(--st-blue) 5%, transparent), transparent), var(--surface-muted); }
 .tool-page--situation-training .panel.signal { background: radial-gradient(circle at 20% 10%, var(--st-violet-soft), transparent 18%), linear-gradient(180deg, color-mix(in srgb, var(--st-violet) 4%, transparent), transparent), var(--surface); }
 .tool-page--situation-training :is(.panel.market, .panel.signal)::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 3px; pointer-events: none; }
 .tool-page--situation-training .panel.market::before { background: linear-gradient(90deg, transparent, var(--st-blue), transparent); }
 .tool-page--situation-training .panel.signal::before { background: linear-gradient(90deg, transparent, var(--st-violet), transparent); }
 .tool-page--situation-training .header-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
 .tool-page--situation-training .header-row > * { min-width: 0; }
 .tool-page--situation-training .source { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 12px; padding: 8px 12px; border: 1px solid var(--st-line); border-radius: var(--radius-pill); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
 .tool-page--situation-training .market .source { border-color: var(--info-border); background: var(--info-soft); color: var(--st-blue); }
 .tool-page--situation-training .signal .source { border-color: var(--st-violet-border); background: var(--st-violet-soft); color: var(--st-violet); }
 .tool-page--situation-training .source-icon { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: var(--radius-pill); background: var(--surface-strong); font-size: .72rem; }
 .tool-page--situation-training .title { margin: 0 0 6px; font-size: 26px; font-weight: 600; line-height: 1.1; letter-spacing: -.01em; text-wrap: balance; }
 .tool-page--situation-training .meta { color: var(--st-muted); font-size: 14px; line-height: 1.4; }
 .tool-page--situation-training :is(.rank-chip, .status-chip) { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; max-width: 100%; min-width: 58px; min-height: 30px; padding: 4px 10px; border: 1px solid var(--st-line); border-radius: var(--radius-pill); background: var(--surface-strong); color: var(--text); font-size: .72rem; font-weight: 600; line-height: 1.12; text-align: center; white-space: normal; }
 .tool-page--situation-training .status-chip.hot { border-color: var(--st-orange-border); background: var(--st-orange-soft); color: var(--st-orange); }
 .tool-page--situation-training .status-chip.loud { border-color: var(--danger-border); background: var(--danger-soft); color: var(--st-red); }
 .tool-page--situation-training .status-chip.fast { border-color: var(--success-border); background: var(--success-soft); color: var(--st-green); }
 .tool-page--situation-training .market-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
 .tool-page--situation-training .price-card { position: relative; overflow: hidden; grid-column: 1 / -1; padding: 16px; border: 1px solid var(--st-line); border-radius: var(--radius-card); background: var(--surface); }
 .tool-page--situation-training .price-card::after { content: ""; position: absolute; right: -30px; bottom: -30px; width: 120px; height: 120px; background: radial-gradient(circle, var(--gold-soft), transparent 58%); }
 .tool-page--situation-training :is(.kpi-card, .chart-card, .decision-box, .feedback-box, .next-step-box, .summary-box, .finding, .hub-block, .hub-launch-card, .theme-preview-card, .market-signal-card) { padding: 14px; border: 1px solid var(--st-line); border-radius: var(--radius-card); background: var(--surface); }
 .tool-page--situation-training .kpi-card { min-height: 96px; }
 .tool-page--situation-training .chart-card { grid-column: 1 / -1; min-height: 164px; }
 .tool-page--situation-training .label { display: block; margin-bottom: 8px; color: var(--st-muted); font-size: 12px; }
 .tool-page--situation-training .price-value { margin: 0 0 12px; font-size: clamp(32px, 4.8vw, 48px); font-weight: 600; line-height: .98; letter-spacing: -.01em; }
 .tool-page--situation-training .kpi-value { font-size: 16px; font-weight: 600; line-height: 1.25; }
 .tool-page--situation-training .pill { display: inline-flex; align-items: center; justify-content: center; gap: 6px; max-width: 100%; min-height: 28px; padding: 0 10px; border: 1px solid var(--success-border); border-radius: var(--radius-pill); background: var(--success-soft); color: var(--st-green); font-size: 13px; font-weight: 600; line-height: 1.15; }
 .tool-page--situation-training .pill.warn { border-color: var(--st-orange-border); background: var(--st-orange-soft); color: var(--st-orange); }
 .tool-page--situation-training .pill.risk { border-color: var(--danger-border); background: var(--danger-soft); color: var(--st-red); }
 .tool-page--situation-training .chart-svg { display: block; width: 100%; height: 92px; margin-top: 10px; }
 .tool-page--situation-training .chart-svg path:first-of-type { stroke: var(--st-line); }
 .tool-page--situation-training .chart-svg stop:first-child { stop-color: var(--st-green); }
 .tool-page--situation-training .chart-svg stop:last-child { stop-color: color-mix(in srgb, var(--st-green) 70%, var(--text)); }
 .tool-page--situation-training .chart-note { margin-top: 10px; color: var(--st-muted); font-size: 12px; }
 .tool-page--situation-training .market-signal-card { grid-column: 1 / -1; background: radial-gradient(circle at top right, var(--gold-soft), transparent 22%), var(--surface); }
 .tool-page--situation-training :is(.mode-top, .hub-scenario-top, .signal-head) { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
 .tool-page--situation-training :is(.mode-top, .hub-scenario-top, .signal-head) > * { min-width: 0; }
 .tool-page--situation-training :is(.hub-scenario-step, .signal-kicker) { color: var(--st-gold-text); font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
 .tool-page--situation-training .signal-verdict { margin: 0; font-size: 18px; font-weight: 600; line-height: 1.1; letter-spacing: -.01em; text-wrap: balance; }
 .tool-page--situation-training .signal-verdict.good { color: var(--st-green); }
 .tool-page--situation-training .signal-verdict.mid { color: var(--st-orange); }
 .tool-page--situation-training .signal-verdict.bad { color: var(--st-red); }
 .tool-page--situation-training .signal-lane-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
 .tool-page--situation-training .signal-lane { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; min-width: 0; padding: 12px 11px; border: 1px solid var(--st-line-soft); border-radius: var(--radius-control); background: var(--surface-muted); }
 .tool-page--situation-training .signal-lane-label { display: block; margin: 0; color: var(--st-muted); font-size: 12px; line-height: 1.3; }
 .tool-page--situation-training .signal-lane-value { display: block; margin: 0; font-size: 14px; font-weight: 600; line-height: 1.1; }
 .tool-page--situation-training .signal-lane-note { display: inline-flex; align-items: center; max-width: 100%; min-height: 24px; padding: 3px 8px; border: 1px solid var(--st-line); border-radius: var(--radius-pill); background: var(--surface); font-size: 11px; font-weight: 600; line-height: 1.12; }
 .tool-page--situation-training .signal-lane.good .signal-lane-note { border-color: var(--success-border); background: var(--success-soft); color: var(--st-green); }
 .tool-page--situation-training .signal-lane.mid .signal-lane-note { border-color: var(--st-orange-border); background: var(--st-orange-soft); color: var(--st-orange); }
 .tool-page--situation-training .signal-lane.bad .signal-lane-note { border-color: var(--danger-border); background: var(--danger-soft); color: var(--st-red); }
 .tool-page--situation-training .signal-footer { margin-top: 12px; color: var(--st-muted); font-size: 13px; line-height: 1.55; }
 /* Signal group chat */
 .tool-page--situation-training .chat-shell { min-height: 455px; padding: 14px; border: 1px solid var(--st-line); border-radius: var(--radius-card); background: var(--surface-muted); }
 .tool-page--situation-training .chat-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--st-line-soft); }
 .tool-page--situation-training .chat-title { margin: 0; font-size: 21px; font-weight: 600; line-height: 1.1; }
 .tool-page--situation-training .chat-meta { margin-top: 3px; color: var(--st-muted); font-size: 13px; }
 .tool-page--situation-training .live-dot { width: 10px; height: 10px; border-radius: var(--radius-pill); background: var(--st-orange); box-shadow: 0 0 0 3px var(--st-orange-soft); }
 .tool-page--situation-training .messages { display: grid; gap: 12px; }
 .tool-page--situation-training .message { position: relative; padding: 14px; border: 1px solid var(--st-line); border-radius: var(--radius-card) var(--radius-card) var(--radius-card) var(--radius-badge); background: var(--surface); }
 .tool-page--situation-training .message::before { content: ""; position: absolute; top: 18px; left: -7px; width: 14px; height: 14px; border-bottom: 1px solid var(--st-line); border-left: 1px solid var(--st-line); background: var(--surface); transform: rotate(45deg); }
 .tool-page--situation-training .message-head { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
 .tool-page--situation-training .avatar { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: var(--radius-pill); background: linear-gradient(135deg, var(--gold-hover), var(--gold)); color: var(--button-text); font-size: 13px; font-weight: 600; }
 .tool-page--situation-training .author { font-size: 14px; font-weight: 600; line-height: 1.25; }
 .tool-page--situation-training .role { display: block; margin-top: 2px; color: var(--st-muted); font-size: 12px; }
 .tool-page--situation-training .message-body { color: var(--text); font-size: 16px; line-height: 1.45; }
 .tool-page--situation-training .bias-tag { display: inline-flex; align-items: center; margin-top: 10px; padding: 6px 10px; border: 1px solid var(--st-orange-border); border-radius: var(--radius-pill); background: var(--st-orange-soft); color: var(--st-orange); font-size: 12px; font-weight: 600; letter-spacing: .03em; }
 .tool-page--situation-training .bias-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 14px; }
 .tool-page--situation-training .mini-tag { padding: 8px 10px; border: 1px solid var(--st-line-soft); border-radius: var(--radius-pill); background: var(--surface); color: var(--st-muted); font-size: 12px; font-weight: 600; letter-spacing: .03em; text-align: center; }
 /* Analysis, findings, decisions, feedback */
 .tool-page--situation-training .simulator-live { padding: 16px 22px 6px; }
 .tool-page--situation-training :is(.bottom-panel, .decision-panel) { padding: 18px 22px 22px; border-top: 1px solid var(--st-line); background: var(--surface-muted); }
 .tool-page--situation-training .decision-panel { background: radial-gradient(circle at top, var(--gold-soft), transparent 26%), var(--surface); }
 .tool-page--situation-training .bottom-title { margin: 0 0 8px; font-size: 28px; font-weight: 600; letter-spacing: -.01em; line-height: 1.1; text-wrap: balance; }
 .tool-page--situation-training .bottom-text { max-width: 950px; margin: 0 0 18px; color: var(--st-muted); font-size: 15px; }
 .tool-page--situation-training :is(.findings, .decision-grid, .next-step-grid) { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
 .tool-page--situation-training .finding { min-height: 96px; padding: 16px; }
 .tool-page--situation-training .finding-title { display: block; margin-bottom: 8px; font-size: 15px; font-weight: 600; line-height: 1.25; }
 .tool-page--situation-training .finding p { margin: 0; color: var(--st-muted); font-size: 14px; line-height: 1.45; }
 .tool-page--situation-training .finding.strong { border-color: var(--success-border); background: linear-gradient(180deg, var(--success-soft), var(--surface)); }
 .tool-page--situation-training .finding.missed { border-color: var(--st-orange-border); background: linear-gradient(180deg, var(--st-orange-soft), var(--surface)); }
 .tool-page--situation-training .bottom-panel a.gloss { border-bottom: 1px solid var(--gold-border); color: var(--st-gold-text); font-weight: 600; text-decoration: none; cursor: pointer; }
 .tool-page--situation-training .bottom-panel a.gloss:is(:hover, :focus-visible) { border-bottom-color: var(--gold); }
 .tool-page--situation-training .decision-question { margin: 0 0 10px; font-size: 22px; font-weight: 600; line-height: 1.15; letter-spacing: -.01em; text-wrap: balance; }
 .tool-page--situation-training :is(.decision-copy, .step-intro, .final-text) { margin: 0 0 16px; color: var(--st-muted); font-size: 14px; line-height: 1.55; }
 .tool-page--situation-training :is(.decision-box, .next-step-box, .summary-box) .decision-label { margin-bottom: 12px; }
 .tool-page--situation-training .choice-list { display: grid; gap: 10px; }
 .tool-page--situation-training .choice-btn { width: 100%; padding: 12px 12px 11px; border: 1px solid var(--st-line); border-radius: var(--radius-control); background: var(--surface-muted); color: var(--text); text-align: left; cursor: pointer; transition: transform var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard); }
 .tool-page--situation-training .choice-btn:hover { transform: translateY(-1px); border-color: var(--gold-border); background: var(--gold-soft); }
 .tool-page--situation-training .choice-btn.active { border-color: var(--gold); background: var(--gold-soft); box-shadow: inset 0 0 0 1px var(--gold-border); }
 .tool-page--situation-training .choice-title { display: block; margin-bottom: 5px; font-size: 15px; font-weight: 600; line-height: 1.25; }
 .tool-page--situation-training .choice-sub { display: block; color: var(--st-muted); font-size: 13px; line-height: 1.45; }
 .tool-page--situation-training .feedback-title { margin: 0 0 10px; font-size: 20px; font-weight: 600; letter-spacing: -.01em; line-height: 1.1; }
 .tool-page--situation-training .feedback-state { min-height: 180px; padding: 16px; border: 1px solid var(--st-line); border-radius: var(--radius-control); background: var(--surface-muted); transition: border-color var(--motion-base) var(--ease-standard), background var(--motion-base) var(--ease-standard); }
 .tool-page--situation-training .feedback-state.is-good { border-color: var(--success-border); background: linear-gradient(180deg, var(--success-soft), var(--surface)); }
 .tool-page--situation-training .feedback-state.is-bad { border-color: var(--danger-border); background: linear-gradient(180deg, var(--danger-soft), var(--surface)); }
 .tool-page--situation-training .feedback-state.is-mid { border-color: var(--st-orange-border); background: linear-gradient(180deg, var(--st-orange-soft), var(--surface)); }
 .tool-page--situation-training .feedback-kicker { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 12px; padding: 6px 10px; border: 1px solid var(--st-line); border-radius: var(--radius-pill); background: var(--surface); font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
 .tool-page--situation-training .feedback-state.is-good .feedback-kicker { border-color: var(--success-border); background: var(--success-soft); color: var(--st-green); }
 .tool-page--situation-training .feedback-state.is-bad .feedback-kicker { border-color: var(--danger-border); background: var(--danger-soft); color: var(--st-red); }
 .tool-page--situation-training .feedback-state.is-mid .feedback-kicker { border-color: var(--st-orange-border); background: var(--st-orange-soft); color: var(--st-orange); }
 .tool-page--situation-training .feedback-state h3 { margin: 0 0 10px; font-size: 18px; font-weight: 600; line-height: 1.1; }
 .tool-page--situation-training .feedback-state p { margin: 0; color: var(--st-muted); font-size: 14px; line-height: 1.55; }
 .tool-page--situation-training :is(.feedback-points, .summary-list) { margin: 12px 0 0; padding-left: 18px; color: var(--text); font-size: 14px; line-height: 1.55; }
 .tool-page--situation-training :is(.feedback-points, .summary-list) li + li { margin-top: 8px; }
 .tool-page--situation-training .feedback-note { margin-top: 12px; color: var(--st-muted); font-size: 13px; }
 .tool-page--situation-training :is(.next-step-panel, .summary-panel, .training-final-panel) { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--st-line-soft); }
 .tool-page--situation-training :is(.summary-grid, .final-grid) { display: grid; grid-template-columns: 1fr auto; align-items: stretch; gap: 14px; }
 .tool-page--situation-training .final-grid { grid-template-columns: 1.1fr .9fr; }
 .tool-page--situation-training .score-line { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 8px; margin: 8px 0 12px; color: var(--st-muted); font-size: 13px; }
 .tool-page--situation-training .score-badge { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-height: 26px; padding: 4px 9px; border: 1px solid var(--gold-border); border-radius: var(--radius-pill); background: var(--gold-soft); color: var(--st-gold-text); font-size: .72rem; font-weight: 600; line-height: 1.05; white-space: nowrap; }
 .tool-page--situation-training .nav-box { display: grid; align-content: start; gap: 10px; min-width: 220px; }
 .tool-page--situation-training .action-btn[disabled] { opacity: .5; pointer-events: none; }
 .tool-page--situation-training .final-score { margin: 0 0 8px; font-size: 30px; font-weight: 600; letter-spacing: -.01em; }
 .tool-page--situation-training .final-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 14px; }
 .tool-page--situation-training .final-badge { display: inline-flex; align-items: center; min-height: 28px; padding: 6px 11px; border: 1px solid var(--gold-border); border-radius: var(--radius-pill); background: var(--gold-soft); color: var(--st-gold-text); font-size: 12px; font-weight: 600; }
 /* Plus lock card and demo upsell */
 .tool-page--situation-training .locked-screen { padding: 22px; border-bottom: 1px solid var(--st-line); }
 .tool-page--situation-training .lock-card { max-width: 980px; margin: 0 auto; padding: 22px; border: 1px solid var(--gold-border); border-radius: var(--radius-card); background: radial-gradient(circle at top right, var(--gold-soft), transparent 38%), var(--surface); box-shadow: var(--shadow-elevated); }
 .tool-page--situation-training .lock-grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: start; gap: 18px; }
 .tool-page--situation-training .lock-title { margin: 0 0 8px; font-size: clamp(26px, 3vw, 34px); font-weight: 600; letter-spacing: -.01em; line-height: 1.1; text-wrap: balance; }
 .tool-page--situation-training .lock-text { margin: 0; color: var(--st-muted); font-size: 14px; line-height: 1.65; }
 .tool-page--situation-training .lock-points { margin: 14px 0 0; padding-left: 18px; font-size: 14px; line-height: 1.55; }
 .tool-page--situation-training .lock-points li + li { margin-top: 8px; }
 .tool-page--situation-training .lock-actions { display: grid; gap: 10px; }
 .tool-page--situation-training .demo-access-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; padding: 10px 14px; border: 1px solid var(--st-line); border-radius: var(--radius-card); background: var(--surface-muted); }
 .tool-page--situation-training .demo-access-inner { display: flex; align-items: center; gap: 10px; min-width: 0; }
 .tool-page--situation-training .demo-access-label { flex-shrink: 0; }
 .tool-page--situation-training .demo-access-text { color: var(--st-muted); font-size: 13px; line-height: 1.4; }
 .tool-page--situation-training .demo-access-cta { flex-shrink: 0; white-space: nowrap; }
 .tool-page--situation-training .demo-upsell-card { margin-top: 18px; padding: 20px; border: 1px solid var(--gold-border); border-radius: var(--radius-card); background: radial-gradient(circle at top right, var(--gold-soft), transparent 40%), var(--surface); }
 .tool-page--situation-training .demo-upsell-inner { display: grid; grid-template-columns: 1fr auto; align-items: start; gap: 18px; }
 .tool-page--situation-training .demo-upsell-title { margin: 6px 0 8px; font-size: 17px; font-weight: 600; letter-spacing: -.01em; }
 .tool-page--situation-training .demo-upsell-copy { margin: 0; color: var(--st-muted); font-size: 14px; line-height: 1.6; }
 .tool-page--situation-training .demo-upsell-actions { display: grid; gap: 10px; min-width: 180px; }
 .tool-page--situation-training :is(.demo-pill, .hub-plus-pill) { display: inline-flex; align-items: center; margin-left: 7px; padding: 2px 7px; border: 1px solid var(--st-line); border-radius: var(--radius-pill); background: var(--surface-strong); color: var(--st-muted); font-size: .72rem; font-weight: 600; letter-spacing: .04em; line-height: 1.4; text-transform: uppercase; vertical-align: middle; }
 .tool-page--situation-training .hub-plus-pill { border-color: var(--gold-border); background: var(--gold-soft); color: var(--st-gold-text); }
 /* Hub: mode switch, wizard, cards */
 .tool-page--situation-training .hub-zone { display: grid; gap: 0; margin-bottom: 18px; }
 .tool-page--situation-training .training-mode-switch { position: relative; overflow: hidden; padding: 16px; border: 1px solid var(--gold-border); border-radius: var(--radius-card); background: var(--surface); }
 .tool-page--situation-training .training-mode-radio { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; pointer-events: none; }
 .tool-page--situation-training .training-mode-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
 .tool-page--situation-training .training-mode-title { display: block; margin: 0 0 4px; font-size: 21px; font-weight: 700; letter-spacing: -.02em; line-height: 1.12; }
 .tool-page--situation-training .training-mode-toggle { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 10px; padding: 4px; border: 1px solid var(--gold-border); border-radius: var(--radius-pill); background: var(--surface-muted); }
 .tool-page--situation-training .training-mode-option { display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 0; min-height: 44px; padding: 8px 10px; border: 1px solid transparent; border-radius: var(--radius-pill); color: var(--st-muted); text-align: center; white-space: nowrap; cursor: pointer; transition: border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard); }
 .tool-page--situation-training .training-mode-option:hover { border-color: var(--st-line); background: var(--surface-strong); color: var(--text); }
 .tool-page--situation-training .training-mode-option-title { display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 0; overflow: hidden; color: inherit; font-size: 13.5px; font-weight: 800; letter-spacing: -.01em; line-height: 1.12; text-overflow: ellipsis; }
 .tool-page--situation-training .tool-icon.training-mode-option-icon { flex-basis: 34px; width: 34px; height: 34px; padding: 4px; }
 .tool-page--situation-training .training-mode-option-icon img { display: block; width: 24px; height: 24px; object-fit: contain; }
 .tool-page--situation-training .training-mode-label-short { display: none; }
 .tool-page--situation-training .training-mode-detail { display: none; margin: 0 0 14px; padding: 10px 12px; border: 1px solid var(--st-line-soft); border-radius: var(--radius-control); background: var(--surface-muted); color: var(--st-muted); font-size: 13px; line-height: 1.45; }
 .tool-page--situation-training #trainingModeSituations:checked ~ .training-mode-toggle label[for="trainingModeSituations"] { border-color: var(--gold-border); background: var(--gold-soft); color: var(--text); box-shadow: inset 0 0 0 1px var(--gold-border); }
 .tool-page--situation-training #trainingModeSimulator:checked ~ .training-mode-toggle label[for="trainingModeSimulator"] { border-color: var(--info-border); background: var(--info-soft); color: var(--text); box-shadow: inset 0 0 0 1px var(--info-border); }
 .tool-page--situation-training .training-mode-radio:focus-visible ~ .training-mode-toggle { outline: 2px solid var(--gold); outline-offset: 2px; }
 .tool-page--situation-training #trainingModeSituations:checked ~ .training-mode-detail--situations, .tool-page--situation-training #trainingModeSimulator:checked ~ .training-mode-detail--simulator { display: block; }
 .tool-page--situation-training .training-mode-panel { display: none; }
 .tool-page--situation-training #trainingModeSituations:checked ~ .training-mode-panels .training-mode-panel--situations, .tool-page--situation-training #trainingModeSimulator:checked ~ .training-mode-panels .training-mode-panel--simulator { display: block; }
 .tool-page--situation-training .wizard-step { overflow: hidden; border: 1px solid var(--st-line); border-radius: var(--radius-card); background: var(--surface); scroll-margin-top: calc(var(--tool-shell-offset, 0px) + 14px); }
 .tool-page--situation-training .wizard-step + .wizard-step { margin-top: 6px; }
 .tool-page--situation-training .wizard-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; row-gap: 8px; width: 100%; padding: 12px; border: 0; border-bottom: 1px solid var(--st-line-soft); background: var(--surface-muted); color: var(--text); text-align: left; cursor: pointer; scroll-margin-top: calc(var(--tool-shell-offset, 0px) + 14px); }
 .tool-page--situation-training .wizard-step:not(.is-open) .wizard-head { border-bottom: 0; }
 .tool-page--situation-training .wizard-num { display: inline-grid; flex: 0 0 auto; place-items: center; width: 26px; height: 26px; border: 1px solid var(--gold-border); border-radius: var(--radius-badge); background: var(--gold-soft); color: var(--st-gold-text); font-weight: 600; }
 .tool-page--situation-training .wizard-title { font-size: 14px; font-weight: 600; line-height: 1.25; }
 .tool-page--situation-training .wizard-summary { overflow: hidden; max-width: 46%; margin-left: auto; color: var(--st-muted); font-size: 12px; font-weight: 600; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
 .tool-page--situation-training .wizard-state { display: inline-flex; align-items: center; min-height: 24px; margin-left: 12px; padding: 0 9px; border: 1px solid var(--st-line); border-radius: var(--radius-pill); background: var(--surface-strong); color: var(--text); font-size: 11px; font-weight: 600; }
 .tool-page--situation-training .wizard-state.done { border-color: var(--success-border); background: var(--success-soft); color: var(--st-green); }
 .tool-page--situation-training .wizard-body { min-width: 0; padding: 14px; }
 .tool-page--situation-training .wizard-step:not(.is-open) .wizard-body { display: none; }
 .tool-page--situation-training .wizard-step.is-open { border-color: var(--gold-border); box-shadow: inset 3px 0 0 var(--gold); }
 .tool-page--situation-training .wizard-step.is-open .wizard-head { border-bottom-color: var(--gold-border); background: var(--gold-soft); }
 .tool-page--situation-training .wizard-step.is-open .wizard-num { border-color: var(--gold); background: linear-gradient(135deg, var(--gold-soft), var(--gold-border)); box-shadow: 0 0 0 3px var(--gold-soft); }
 .tool-page--situation-training .wizard-step.is-done:not(.is-open) { border-color: var(--success-border); box-shadow: inset 3px 0 0 var(--st-green); }
 .tool-page--situation-training .wizard-step.is-done:not(.is-open) .wizard-head { background: var(--success-soft); }
 .tool-page--situation-training .wizard-step.is-done:not(.is-open) .wizard-num { border-color: var(--success-border); background: var(--success-soft); color: var(--st-green); font-size: 0; }
 .tool-page--situation-training .wizard-step.is-done:not(.is-open) .wizard-num::after { content: "\2713"; font-size: 13px; font-weight: 700; }
 .tool-page--situation-training .wizard-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--st-line-soft); }
 .tool-page--situation-training .wizard-body > .hub-copy { margin-bottom: 12px; }
 .tool-page--situation-training .wizard-body > .hub-pill { margin: 4px 0 18px; }
 .tool-page--situation-training :is(.hub-copy, .live-copy, .theme-preview-copy) { margin: 0; color: var(--st-muted); font-size: 14px; line-height: 1.55; }
 .tool-page--situation-training .hub-pill { display: inline-flex; align-items: center; justify-content: center; max-width: 100%; min-height: 28px; padding: 0 10px; border: 1px solid var(--gold-border); border-radius: var(--radius-pill); background: var(--gold-soft); color: var(--st-gold-text); font-size: .72rem; font-weight: 600; line-height: 1.15; text-align: center; white-space: normal; }
 .tool-page--situation-training .hub-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
 .tool-page--situation-training :is(.hub-mode-grid, .hub-scenario-list) { display: grid; gap: 10px; }
 .tool-page--situation-training .hub-mode-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .tool-page--situation-training .hub-launch-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 14px; }
 .tool-page--situation-training :is(.hub-card, .mode-card, .hub-scenario-card) { position: relative; min-width: 0; padding: 14px; border: 1px solid var(--gold-border); border-radius: var(--radius-control); background: var(--surface); color: var(--text); text-align: left; cursor: pointer; transition: transform var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard); }
 .tool-page--situation-training :is(.hub-card, .hub-scenario-card) { overflow: hidden; }
 .tool-page--situation-training .mode-card { padding: 16px; }
 .tool-page--situation-training .hub-card::after { content: ""; position: absolute; right: -26px; bottom: -26px; width: 100px; height: 100px; background: radial-gradient(circle, var(--gold-soft), transparent 58%); pointer-events: none; }
 .tool-page--situation-training :is(.hub-card, .mode-card, .hub-scenario-card):hover { transform: translateY(-1px); border-color: var(--gold); background: var(--gold-soft); }
 .tool-page--situation-training :is(.hub-card, .mode-card, .hub-scenario-card).active { border-color: var(--gold); background: var(--gold-soft); box-shadow: inset 0 0 0 1px var(--gold-border), 0 0 24px var(--gold-soft); }
 .tool-page--situation-training .hub-scenario-card.is-included { border-color: var(--gold-border); background: var(--gold-soft); }
 .tool-page--situation-training .hub-scenario-card.is-included .hub-meta { border-color: var(--gold-border); background: var(--gold-soft); color: var(--st-gold-text); }
 .tool-page--situation-training :is(.hub-card.is-preview, .mode-card.is-disabled, .hub-scenario-card.is-preview) { opacity: .72; }
 .tool-page--situation-training :is(.hub-card, .mode-card, .hub-scenario-card).is-plus-locked { border-color: var(--st-line); background: var(--surface-muted); opacity: .6; }
 .tool-page--situation-training :is(.hub-card, .mode-card, .hub-scenario-card).is-plus-locked:hover { opacity: .75; }
 .tool-page--situation-training .hub-card.is-free-demo:not(.active) { border-color: var(--border); background: var(--surface-strong); opacity: 1; }
 .tool-page--situation-training .hub-icon { display: flex; align-items: center; justify-content: flex-start; min-height: 38px; margin-bottom: 12px; font-size: 26px; line-height: 1; }
 .tool-page--situation-training .hub-icon-img { display: block; width: 34px; height: 34px; object-fit: contain; }
 .tool-page--situation-training :is(.hub-title, .hub-scenario-title, .theme-preview-scenario-title) { display: block; margin-bottom: 7px; font-size: 16px; font-weight: 600; line-height: 1.25; }
 .tool-page--situation-training :is(.hub-card p, .mode-card p, .hub-scenario-copy, .theme-preview-scenario-copy) { margin: 0; color: var(--st-muted); font-size: 14px; line-height: 1.55; }
 .tool-page--situation-training :is(.hub-meta, .mode-badge, .theme-preview-badges span) { display: inline-flex; align-items: center; justify-content: center; max-width: 100%; min-height: 26px; padding: 4px 9px; border: 1px solid var(--st-line); border-radius: var(--radius-pill); background: var(--surface-strong); color: var(--text); font-size: 11px; font-weight: 600; line-height: 1.12; text-align: center; white-space: normal; }
 .tool-page--situation-training .hub-meta { margin-top: 12px; }
 .tool-page--situation-training .mode-reco { display: inline-flex; align-items: center; min-height: 22px; padding: 0 8px; border: 1px solid var(--gold-border); border-radius: var(--radius-pill); background: var(--gold-soft); color: var(--st-gold-text); font-size: 11px; font-weight: 600; white-space: nowrap; }
 .tool-page--situation-training .hub-scenario-duration { color: var(--st-muted); font-size: 12px; font-weight: 600; }
 .tool-page--situation-training .hub-launch-card { display: flex; flex-direction: column; justify-content: space-between; gap: 14px; background: radial-gradient(circle at bottom right, var(--info-soft), transparent 24%), var(--surface); }
 .tool-page--situation-training :is(.hub-launch-badges, .theme-preview-badges) { display: flex; flex-wrap: wrap; gap: 8px; }
 .tool-page--situation-training .hub-launch-title { display: block; margin-bottom: 8px; font-size: 22px; font-weight: 600; letter-spacing: -.01em; line-height: 1.1; text-wrap: balance; }
 .tool-page--situation-training :is(.hub-launch-copy, .hub-note) { margin: 0; color: var(--st-muted); font-size: 14px; line-height: 1.55; }
 .tool-page--situation-training .hub-note { font-size: 13px; }
 .tool-page--situation-training .config-card { display: flex; flex-direction: column; gap: 12px; }
 .tool-page--situation-training .config-rows { display: grid; gap: 10px; }
 .tool-page--situation-training .config-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border: 1px solid var(--st-line-soft); border-radius: var(--radius-control); background: var(--surface-muted); }
 .tool-page--situation-training .config-label { color: var(--st-muted); font-size: 12px; font-weight: 600; }
 .tool-page--situation-training .config-value { color: var(--text); font-size: 13px; font-weight: 600; text-align: right; }
 .tool-page--situation-training .live-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin: 6px 0 10px; }
 .tool-page--situation-training .live-head-copy { max-width: 760px; }
 .tool-page--situation-training .live-head h2 { margin: 0 0 6px; font-size: 15px; font-weight: 600; line-height: 1.1; }
 .tool-page--situation-training .live-copy { font-size: 13px; line-height: 1.45; }
 /* Results quicklink, results and theme dialogs (r337 own overlays, v18 surfaces) */
 .tool-page--situation-training .mobile-results-quick:not(.hidden) { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: var(--touch-target); margin: 0 0 12px; padding: 10px 13px; border: 1px solid var(--st-line); border-radius: var(--radius-control); background: var(--surface-strong); color: var(--text); text-align: left; cursor: pointer; }
 .tool-page--situation-training .mobile-results-quick:not(.hidden):hover { border-color: var(--gold-border); }
 .tool-page--situation-training .mobile-results-quick__label { font-size: 13.5px; font-weight: 700; }
 .tool-page--situation-training .mobile-results-quick__right { display: inline-flex; align-items: center; gap: 9px; }
 .tool-page--situation-training .mobile-results-quick__count { display: inline-flex; align-items: center; justify-content: center; min-width: 26px; min-height: 24px; padding: 3px 8px; border: 1px solid var(--gold-border); border-radius: var(--radius-pill); background: var(--gold-soft); color: var(--st-gold-text); font-size: 11px; font-weight: 700; line-height: 1; }
 .tool-page--situation-training .mobile-results-quick__arrow { color: var(--st-gold-text); font-size: 16px; font-weight: 800; line-height: 1; }
 :is(.tool-page--situation-training, body) :is(.recent-results-modal, .theme-preview) { position: fixed; inset: 0; z-index: var(--z-modal); display: flex; align-items: center; justify-content: center; padding: 18px; background: var(--overlay); }
 body .recent-results-modal.hidden, .tool-page--situation-training .theme-preview.hidden { display: none; }
 body :is(.recent-results-dialog, .theme-preview-dialog) { width: min(760px, 100%); max-height: calc(100dvh - 36px); padding: 18px; overflow: hidden; border: 1px solid var(--gold-border); border-radius: var(--radius-card); background: var(--surface); color: var(--text); box-shadow: var(--shadow-elevated); }
 body .recent-results-dialog { display: flex; flex-direction: column; }
 body .theme-preview-dialog { width: min(980px, 100%); max-height: min(88vh, 920px); overflow: auto; }
 body :is(.recent-results-modal-top, .theme-preview-modal-top) { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
 body .recent-results-modal .decision-label, body .theme-preview .decision-label { display: inline-flex; align-items: center; min-height: 26px; padding: 4px 10px; border: 1px solid var(--gold-border); border-radius: var(--radius-pill); background: var(--gold-soft); color: var(--accent-text); font-size: 11px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
 body .recent-results-modal-title { margin: 8px 0 5px; font-size: 22px; font-weight: 600; letter-spacing: -.01em; }
 body .recent-results-modal-copy { margin: 0; color: var(--text-muted); font-size: 13px; line-height: 1.45; }
 body .recent-results-list { display: grid; gap: 10px; max-height: calc(100dvh - 230px); padding-right: 4px; overflow-y: auto; }
 body .recent-result-card { display: flex; flex-direction: column; gap: 10px; padding: 14px; border: 1px solid var(--border); border-radius: var(--radius-control); background: var(--surface-muted); }
 body .recent-result-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
 body .recent-result-title { font-size: 15px; font-weight: 600; line-height: 1.25; }
 body .recent-result-time { color: var(--text-muted); font-size: 12px; }
 body .recent-result-meta { display: flex; flex-wrap: wrap; gap: 8px; }
 body .recent-result-meta .hub-meta { display: inline-flex; align-items: center; min-height: 26px; padding: 4px 9px; border: 1px solid var(--border); border-radius: var(--radius-pill); background: var(--surface-strong); font-size: 11px; font-weight: 600; }
 body .recent-result-status { color: var(--text-muted); font-size: 13px; line-height: 1.45; }
 body .recent-result-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
 body .recent-result-note { margin: 0; padding: 10px 12px; border-radius: var(--radius-control); background: var(--surface); color: var(--text); font-size: 13px; line-height: 1.5; }
 body .theme-preview-modal-actions { display: flex; align-items: center; gap: 10px; }
 .tool-page--situation-training .theme-preview-grid { display: grid; grid-template-columns: 1fr; gap: 14px; }
 .tool-page--situation-training .theme-preview-title { margin: 8px 0 6px; font-size: 24px; font-weight: 600; letter-spacing: -.01em; }
 .tool-page--situation-training .theme-preview-note { margin: 14px 0 0; color: var(--st-muted); font-size: 13px; line-height: 1.55; }
 .tool-page--situation-training .theme-preview-scenarios { display: grid; gap: 10px; margin-top: 18px; }
 .tool-page--situation-training .theme-preview-scenario { padding: 14px; border: 1px solid var(--st-line-soft); border-radius: var(--radius-control); background: var(--surface-muted); }
 html.r4x-results-modal-open, body.r4x-results-modal-open { overflow: hidden; }
 /* Glossary tooltip (r337 v1803, viewport-safe) */
 body .r4x-gloss-tip { position: fixed; top: 0; left: 0; z-index: var(--z-toast); max-width: min(320px, calc(100vw - 28px)); padding: .8rem 1rem; border: 1px solid var(--gold-border); border-radius: var(--radius-control); background: var(--surface); color: var(--text); box-shadow: var(--shadow-elevated); font-size: 12.5px; font-weight: 400; line-height: 1.55; text-align: left; white-space: pre-line; opacity: 0; pointer-events: none; transform: translateY(4px); transition: opacity var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard); }
 body .r4x-gloss-tip.is-visible { opacity: 1; transform: translateY(0); }
 /* Simulator bridge (r337 r4x-bridge-marktphasen): same cards as the simulator overview */
 .tool-page--situation-training .mps-mechanic { position: relative; overflow: hidden; border: 1px solid var(--info-border); border-radius: var(--radius-card); background: radial-gradient(circle at top right, var(--info-soft), transparent 30%), var(--surface); box-shadow: inset 3px 0 0 var(--st-blue); }
 .tool-page--situation-training .mps-mechanic-head { display: flex; align-items: center; gap: 12px; width: 100%; padding: 14px; border-bottom: 1px solid var(--st-line-soft); background: var(--surface-muted); color: var(--text); }
 .tool-page--situation-training .mps-mechanic-body { min-width: 0; padding: 18px; }
 .tool-page--situation-training .mps-bridge { padding: 18px; border: 1px solid var(--st-line); border-left: 2px solid var(--gold); border-radius: var(--radius-control); background: linear-gradient(135deg, var(--gold-soft), transparent 70%); }
 .tool-page--situation-training .mps-bridge-tool-line { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 10px; font-size: 13px; line-height: 1.35; }
 .tool-page--situation-training .mps-bridge-tool-open { color: var(--st-muted); }
 .tool-page--situation-training .tool-icon.mps-bridge-tool-icon-wrap { flex-basis: 34px; width: 34px; height: 34px; padding: 5px; }
 .tool-page--situation-training .mps-bridge-tool-icon { display: block; width: 22px; height: 22px; object-fit: contain; }
 .tool-page--situation-training .mps-bridge-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; margin-bottom: 6px; }
 .tool-page--situation-training .mps-bridge-tag { color: var(--st-gold-text); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
 .tool-page--situation-training :is(.mps-bridge-sub, .mps-bridge-copy) { color: var(--st-muted); font-size: 12px; }
 .tool-page--situation-training .mps-bridge-copy { margin: 0 0 14px; font-size: 13px; line-height: 1.5; }
 .tool-page--situation-training .mps-bridge-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
 .tool-page--situation-training .mps-bridge-card { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 13px 14px 34px; border: 1px solid var(--st-line); border-radius: var(--radius-control); background: var(--surface-muted); color: inherit; text-decoration: none; transition: border-color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard); }
 .tool-page--situation-training .mps-bridge-card:hover { transform: translateY(-2px); border-color: var(--gold-border); background: var(--gold-soft); }
 .tool-page--situation-training .mps-bridge-card::after { content: '→'; position: absolute; right: 14px; bottom: 10px; color: var(--st-gold-text); font-size: 18px; font-weight: 800; line-height: 1; pointer-events: none; }
 .tool-page--situation-training .mps-bridge-card.is-free-model { border-color: var(--border); background: var(--surface-strong); }
 .tool-page--situation-training .mps-bridge-card.is-plus-locked { border-color: var(--gold-border); background: var(--surface); opacity: .52; }
 .tool-page--situation-training .mps-bridge-card.is-plus-locked:hover { opacity: .68; }
 body.r4x-plus-active .tool-page--situation-training .mps-bridge-card.is-plus-locked { border-color: var(--st-line); background: var(--surface-muted); opacity: 1; }
 body.r4x-plus-active .tool-page--situation-training :is(.mps-bridge-lock, .mps-bridge-free) { display: none; }
 body.r4x-plus-active .tool-page--situation-training .demo-access-bar { display: none; }
 .tool-page--situation-training .mps-bridge-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
 .tool-page--situation-training .mps-bridge-icon { display: block; width: 30px; height: 30px; object-fit: contain; }
 .tool-page--situation-training .mps-bridge-num { color: var(--st-gold-text); font-size: .72rem; font-weight: 800; letter-spacing: .04em; }
 .tool-page--situation-training :is(.mps-bridge-lock, .mps-bridge-free) { display: inline-flex; align-items: center; gap: 4px; margin-left: 6px; padding: 2px 7px; border: 1px solid var(--gold-border); border-radius: var(--radius-pill); background: var(--gold-soft); color: var(--st-gold-text); font-size: .72rem; font-weight: 700; line-height: 1.2; text-transform: uppercase; }
 .tool-page--situation-training .mps-bridge-free { border-color: var(--border); background: var(--surface-strong); color: var(--text-muted); }
 .tool-page--situation-training .mps-bridge-t { font-size: 13.5px; font-weight: 700; }
 .tool-page--situation-training .mps-bridge-d { color: var(--st-muted); font-size: 11.5px; line-height: 1.45; }
 /* Mobile training bar and mobile review (r337: pinned below the header) */
 .tool-page--situation-training :is(.mobile-training-bar, .mobile-review) { display: none; }
 .tool-page--situation-training .mobile-training-bar { position: sticky; top: var(--tool-shell-offset, 0px); z-index: var(--z-sticky); align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 12px; padding: 10px 12px; border: 1px solid var(--gold-border); border-radius: var(--radius-control); background: var(--surface); box-shadow: var(--shadow-card); }
 .tool-page--situation-training .mobile-training-bar-kicker { display: block; margin-bottom: 4px; color: var(--st-gold-text); font-size: 11px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
 .tool-page--situation-training .mobile-training-bar-title { display: block; font-size: 13px; font-weight: 600; line-height: 1.2; }
 .tool-page--situation-training .mobile-training-bar-meta { display: block; margin-top: 2px; color: var(--st-muted); font-size: 11px; line-height: 1.35; }
 .tool-page--situation-training .mobile-training-bar-actions { display: flex; flex-shrink: 0; align-items: center; gap: 8px; }
 .tool-page--situation-training .mobile-pill { display: inline-flex; align-items: center; justify-content: center; min-height: 24px; padding: 0 8px; border: 1px solid var(--st-line); border-radius: var(--radius-pill); background: var(--surface-strong); font-size: 11px; font-weight: 600; }
 .tool-page--situation-training .mobile-review { margin-top: 14px; }
 .tool-page--situation-training .mobile-review-grid { display: grid; gap: 10px; }
 .tool-page--situation-training .mobile-review-card { padding: 14px; border: 1px solid var(--st-line); border-radius: var(--radius-control); background: var(--surface); }
 .tool-page--situation-training .mobile-review-card .feedback-state { padding: 0; border: 0; background: none; }
 .tool-page--situation-training .mobile-review-context { margin-top: 12px; }
 .tool-page--situation-training .to-top { position: fixed; right: var(--s4); bottom: calc(var(--bottom-nav-space, 0px) + var(--s4)); z-index: var(--z-sticky); display: grid; place-items: center; width: var(--touch-target); height: var(--touch-target); border: 1px solid var(--border); border-radius: var(--radius-button); background: var(--surface); color: var(--text); box-shadow: var(--shadow-elevated); opacity: 0; visibility: hidden; cursor: pointer; }
 .tool-page--situation-training .to-top.is-visible { opacity: 1; visibility: visible; }
 @media (max-width: 980px) {
  .tool-page--situation-training :is(.training-head, .top-grid, .decision-grid, .next-step-grid, .summary-grid, .final-grid, .lock-grid, .hub-launch-grid) { display: grid; grid-template-columns: 1fr; }
  .tool-page--situation-training .panel + .panel { border-top: 1px solid var(--st-line); border-left: 0; }
  .tool-page--situation-training :is(.progress-box, .nav-box) { min-width: 0; }
  .tool-page--situation-training .hub-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tool-page--situation-training .signal-lane-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 }
 @media (max-width: 760px) {
  .tool-page--situation-training :is(.training-top, .panel, .bottom-panel, .decision-panel, .locked-screen) { padding: 14px; }
  .tool-page--situation-training .simulator-live { padding: 14px; }
  .tool-page--situation-training :is(.scenario-tabs, .market-grid, .findings, .bias-strip, .training-stats, .hub-category-grid, .hub-mode-grid, .signal-lane-grid) { grid-template-columns: 1fr; }
  .tool-page--situation-training :is(.bottom-title, .title, .lock-title, .theme-preview-title) { font-size: 22px; }
  .tool-page--situation-training .price-value { font-size: 40px; }
  .tool-page--situation-training .kpi-value { font-size: 15px; }
  .tool-page--situation-training .wizard-summary { display: none; }
  .tool-page--situation-training .wizard-actions { flex-direction: column; }
  .tool-page--situation-training .wizard-actions .btn { width: 100%; }
  .tool-page--situation-training .mode-badge { margin-left: auto; text-align: right; }
  .tool-page--situation-training .demo-access-bar, .tool-page--situation-training .demo-upsell-inner { display: grid; grid-template-columns: 1fr; align-items: start; }
  .tool-page--situation-training .demo-access-bar { flex-direction: column; }
  /* r69 (360 px): the stacked Plus action may wrap instead of running 4 px out of its button. */
  .tool-page--situation-training .demo-access-cta { white-space: normal; }
  .tool-page--situation-training .demo-upsell-actions { min-width: 0; }
  .tool-page--situation-training .training-mode-switch { padding: 13px; }
  .tool-page--situation-training .training-mode-title { font-size: 19px; }
  .tool-page--situation-training .training-mode-toggle { border-radius: var(--radius-card); }
  .tool-page--situation-training .training-mode-option { min-height: 42px; padding: 8px 7px; border-radius: var(--radius-control); }
  .tool-page--situation-training .tool-icon.training-mode-option-icon { flex-basis: 28px; width: 28px; height: 28px; }
  .tool-page--situation-training .training-mode-option-icon img { width: 22px; height: 22px; }
  .tool-page--situation-training .training-mode-label-full { display: none; }
  .tool-page--situation-training .training-mode-label-short { display: inline; }
  .tool-page--situation-training .mps-mechanic-head .wizard-summary { display: none; }
  .tool-page--situation-training .mps-mechanic-body { padding: 14px; }
  .tool-page--situation-training .training-shell.is-training .progress-box { display: block; width: 100%; min-width: 0; padding: 12px; }
  .tool-page--situation-training .training-shell.is-training .progress-actions { justify-content: center; }
  .tool-page--situation-training .training-shell.is-training .mobile-review { display: block; }
  .tool-page--situation-training .training-shell.reveal-analysis :is(.decision-grid, .next-step-grid) { grid-template-columns: 1fr; }
  .tool-page--situation-training .training-shell.reveal-analysis :is(.decision-grid, .next-step-grid) > .feedback-box { display: none; }
  body :is(.recent-results-modal, .theme-preview) { padding: 12px; }
  body :is(.recent-results-dialog, .theme-preview-dialog) { padding: 14px; }
  body .recent-results-list { max-height: 58vh; }
 }
 @media (max-width: 560px) { .tool-page--situation-training .mps-bridge-grid { grid-template-columns: 1fr; } .tool-page--situation-training .mps-bridge { padding: 14px; } }
 @media (max-width: 390px) { .tool-page--situation-training .training-mode-option-icon { display: none; } }
 /* r337 .hidden (an important declaration there): one rule above every display rule of this page. */
 .tool-page.tool-page--situation-training .training-shell.training-shell .hidden, .tool-page.tool-page--situation-training .hidden.hidden, body .recent-results-modal.hidden.hidden.hidden { display: none; }
}
