/* =========================================================================
   MSL · GAL-1 SYSTEM — site-wide unification layer  ·  v1.0  ·  2026-06-17
   Loads AFTER kit-extensions, SITE-WIDE. Lets all Gal-1 tools (tax-refund ·
   ticket-appeal · small-claims · insurance) + document-tools render from the
   theme with NO private vendor copy.

   Sources folded (canonical design-kit, 2026-06-17 / 2026-06-01):
     · gal1-foundation.css  — demo/two-layer/action-card  (NEW, no kit overlap)
     · gal1-tools.css       — wizard/letter/extract/deadline/strength/covmap/
                              pivot/rangebar/...           (NEW)  · gt-* MOCKUP excluded
     · findings-system.css  — ONLY the gauge internals + findings-group + score
                              values the base kit was missing (rest already in kit)

   DEDUP / SCOPE (so nothing site-wide regresses):
     · .msl-verdict / .msl-finding* / .msl-scan* / .msl-dropzone* / .msl-score*
       / .msl-scoring — already live in msl-kit.css; NOT re-declared here.
     · .msl-goal-opt / .msl-goal-picker — the kit owns the navy calculator design
       site-wide; the Gal-1 AMBER design is scoped under .msl-wizard ONLY, so the
       7 calculators keep their look.
     · .msl-demo-frame — NOT folded: the kit's navy media frame is in live use
       (mortgage A/B video); no rendered Gal-1 tool uses the amber example frame.

   Tokens only · RTL · 0 inline · 0 new !important. Generated — edit sources, not here.
   ========================================================================= */


/* ===== 1 · GAL-1 SHARED FOUNDATION (demo / two-layer / action-card) ===== */
.msl-demo-prompt {
  display:flex; align-items:center; gap:var(--msl-sp-4); flex-wrap:wrap;
  justify-content:space-between;
  background:
    radial-gradient(120% 120% at 0% 0%, rgba(212,160,74,.10), transparent 60%),
    var(--msl-cream);
  border:1px dashed var(--msl-amber-deep); border-radius:var(--msl-r-md);
  padding:var(--msl-sp-4) var(--msl-sp-5);
}
.msl-demo-prompt .txt { display:flex; flex-direction:column; gap:2px; min-width:0; }
.msl-demo-prompt .txt b {
  font-family:var(--msl-font); font-weight:var(--msl-w-heavy);
  font-size:var(--msl-size-body); color:var(--msl-ink-strong);
}
.msl-demo-prompt .txt small { font-size:var(--msl-size-tiny); color:var(--msl-muted); }
.msl-demo-prompt .msl-btn { flex:0 0 auto; }
.msl-demo-banner {
  display:flex; align-items:center; gap:var(--msl-sp-4); flex-wrap:wrap;
  justify-content:space-between;
  background:var(--msl-amber-soft);
  border:1px solid var(--msl-amber-deep); border-radius:var(--msl-r-md);
  padding:var(--msl-sp-4) var(--msl-sp-5);
}
.msl-demo-banner .lead { display:flex; align-items:center; gap:var(--msl-sp-3); min-width:0; }
.msl-demo-banner .ic {
  flex:0 0 auto; width:32px; height:32px; border-radius:50%;
  background:var(--msl-amber); color:var(--msl-ink-strong);
  display:flex; align-items:center; justify-content:center;
  font-weight:var(--msl-w-black); font-size:var(--msl-size-body); line-height:1;
}
.msl-demo-banner .lead b {
  font-family:var(--msl-font); font-weight:var(--msl-w-heavy);
  font-size:var(--msl-size-body); color:var(--msl-ink-strong);
}
.msl-demo-banner .lead small { display:block; font-size:var(--msl-size-tiny); color:var(--msl-warn); }
.msl-demo-banner .msl-btn { flex:0 0 auto; }
.msl-demo-tag {
  align-self:flex-start;   
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--msl-font); font-weight:var(--msl-w-black);
  font-size:var(--msl-size-tiny); letter-spacing:var(--msl-ls-label);
  text-transform:uppercase;
  background:var(--msl-amber); color:var(--msl-ink-strong);
  border-radius:var(--msl-r-pill); padding:3px 12px;
}
.msl-demo-tag::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--msl-ink-strong); }
.msl-twolayer { display:flex; flex-direction:column; gap:var(--msl-sp-4); }
.msl-layer {
  border-radius:var(--msl-r-lg);
  padding:var(--msl-sp-6) var(--msl-sp-6) var(--msl-sp-5);
  display:flex; flex-direction:column; gap:var(--msl-sp-4);
}
.msl-layer-tag {
  align-self:flex-start; display:inline-flex; align-items:center; gap:7px;
  font-family:var(--msl-font); font-weight:var(--msl-w-black);
  font-size:var(--msl-size-tiny); letter-spacing:var(--msl-ls-label);
  text-transform:uppercase; padding:4px 13px; border-radius:var(--msl-r-pill);
}
.msl-layer-tag::before { font-size:1.05em; line-height:1; }
.msl-layer-line { margin:0; display:flex; align-items:baseline; gap:var(--msl-sp-3); }
.msl-layer-line .fig {
  font-family:var(--msl-font); font-weight:var(--msl-w-black);
  letter-spacing:var(--msl-ls-heading); font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.msl-layer--sure {
  position:relative; overflow:hidden; color:#fff;
  background:radial-gradient(130% 100% at 88% -10%, rgba(212,160,74,.18), transparent 58%), var(--msl-navy);
  box-shadow:var(--msl-shadow-2);
}
.msl-layer--sure .msl-layer-tag { background:var(--msl-up); color:#fff; }
.msl-layer--sure .msl-layer-tag::before { content:"\2713"; }
.msl-layer--sure .msl-layer-head {
  font-family:var(--msl-font); font-weight:var(--msl-w-black);
  font-size:var(--msl-size-h2); line-height:var(--msl-lh-snug);
  letter-spacing:var(--msl-ls-heading); margin:0; color:#fff;
}
.msl-layer--sure .msl-layer-head b { color:var(--msl-amber); }
.msl-layer--sure .msl-layer-line { font-size:var(--msl-size-lead); color:rgba(255,255,255,.9); }
.msl-layer--sure .msl-layer-line .fig { color:var(--msl-amber); font-size:1.15em; }
.msl-layer--sure .msl-layer-line .lbl { color:rgba(255,255,255,.78); }
.msl-layer--sure .msl-layer-line + .msl-layer-line {
  border-top:1px solid rgba(255,255,255,.12); padding-top:var(--msl-sp-3);
}
.msl-layer--judgment {
  background:#fff; border:1px solid var(--msl-line);
  border-inline-start:4px solid var(--msl-amber-deep);
}
.msl-layer--judgment .msl-layer-tag {
  background:var(--msl-cream-2); color:var(--msl-warn);
}
.msl-layer--judgment .msl-layer-tag::before { content:"\2696"; }
.msl-layer--judgment .msl-layer-head {
  font-family:var(--msl-font); font-weight:var(--msl-w-bold);
  font-size:var(--msl-size-h3); line-height:var(--msl-lh-snug);
  letter-spacing:var(--msl-ls-tight); margin:0; color:var(--msl-ink-strong);
}
.msl-layer--judgment .msl-layer-line { font-size:var(--msl-size-body); color:var(--msl-ink); line-height:var(--msl-lh-normal); }
.msl-layer--judgment .msl-layer-line .fig { color:var(--msl-ink-strong); }
.msl-layer-hedge {
  display:inline-flex; align-items:center; gap:6px;
  font-size:var(--msl-size-small); font-weight:var(--msl-w-bold);
  color:var(--msl-warn); font-style:italic;
}
.msl-layer-hedge::before { content:"\007E"; font-style:normal; font-weight:var(--msl-w-black); color:var(--msl-amber-deep); }
.msl-layer-foot {
  margin:0; font-size:var(--msl-size-tiny); color:var(--msl-muted);
  line-height:var(--msl-lh-normal);
}
.msl-actioncard {
  position:relative; overflow:hidden;
  background:#fff; border:1px solid var(--msl-line); border-radius:var(--msl-r-lg);
  box-shadow:var(--msl-shadow-1);
  padding:var(--msl-sp-6) var(--msl-sp-6) var(--msl-sp-5);
  display:flex; flex-direction:column; gap:var(--msl-sp-5);
}
.msl-actioncard::before {
  content:""; position:absolute; inset-block-start:0; inset-inline:0; height:4px;
  background:linear-gradient(90deg, var(--msl-amber-deep), var(--msl-amber));
}
.msl-actioncard-head { display:flex; flex-direction:column; gap:var(--msl-sp-3); }
.msl-actioncard-kicker {
  font-size:var(--msl-size-tiny); font-weight:var(--msl-w-black);
  letter-spacing:var(--msl-ls-eyebrow); text-transform:uppercase; color:var(--msl-amber-deep);
}
.msl-actioncard-title {
  font-family:var(--msl-font); font-weight:var(--msl-w-heavy);
  font-size:var(--msl-size-h3); letter-spacing:var(--msl-ls-heading);
  color:var(--msl-ink-strong); margin:0;
}
.msl-actioncard-summary { display:flex; flex-wrap:wrap; gap:var(--msl-sp-2); }
.msl-actioncard-chip {
  display:inline-flex; align-items:center; gap:6px;
  font-size:var(--msl-size-tiny); font-weight:var(--msl-w-bold);
  color:var(--msl-ink-strong); background:var(--msl-cream);
  border:1px solid var(--msl-line); border-radius:var(--msl-r-pill); padding:3px 11px;
}
.msl-actioncard-steps { display:flex; flex-direction:column; gap:var(--msl-sp-4); margin:0; padding:0; list-style:none; }
.msl-actioncard-step { display:grid; grid-template-columns:34px 1fr; gap:var(--msl-sp-4); align-items:start; }
.msl-actioncard-num {
  grid-row:1 / span 2; flex:0 0 auto;
  width:34px; height:34px; border-radius:50%;
  background:var(--msl-navy); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--msl-font); font-weight:var(--msl-w-black); font-size:var(--msl-size-small); line-height:1;
}
.msl-actioncard-step .body { font-size:var(--msl-size-body); color:var(--msl-ink); line-height:var(--msl-lh-normal); }
.msl-actioncard-step .body b { font-weight:var(--msl-w-bold); color:var(--msl-ink-strong); }
.msl-actioncard-link {
  display:inline-flex; align-items:center; gap:6px; margin-top:4px;
  font-family:var(--msl-font); font-weight:var(--msl-w-bold); font-size:var(--msl-size-small);
  color:var(--msl-info); text-decoration:none;
}
.msl-actioncard-link::after { content:"\2190"; }
.msl-actioncard-link:hover { text-decoration:underline; }
.msl-actioncard-actions {
  display:flex; flex-wrap:wrap; gap:var(--msl-sp-3);
  padding-top:var(--msl-sp-4); border-top:1px solid var(--msl-line);
}
.msl-actioncard-actions .msl-btn { flex:0 0 auto; }
.msl-actioncard-note {
  margin:0; font-size:var(--msl-size-tiny); color:var(--msl-muted); line-height:var(--msl-lh-normal);
}

/* ===== 2 · GAL-1 TOOL COMPONENTS (goal-opt + goal-picker scoped to .msl-wizard) ===== */
.msl-covmap {
  display:grid; grid-template-columns:repeat(5,1fr); gap:var(--msl-sp-3);
}
.msl-covcell {
  position:relative; display:flex; flex-direction:column; gap:var(--msl-sp-2);
  background:#fff; border:1px solid var(--msl-line); border-radius:var(--msl-r-md);
  border-top:3px solid var(--msl-line);
  padding:var(--msl-sp-4) var(--msl-sp-4) var(--msl-sp-4);
  min-width:0;
}
.msl-covcell-ic {
  width:34px; height:34px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:var(--msl-size-body); font-weight:var(--msl-w-black); line-height:1;
}
.msl-covcell-name {
  font-family:var(--msl-font); font-weight:var(--msl-w-heavy);
  font-size:var(--msl-size-small); color:var(--msl-ink-strong); margin:0;
}
.msl-covcell-state {
  font-size:var(--msl-size-tiny); font-weight:var(--msl-w-bold); margin:0;
  line-height:var(--msl-lh-normal);
}
.msl-covcell--ok {   border-top-color:var(--msl-up);   }
.msl-covcell--ok   .msl-covcell-ic { background:var(--msl-up-soft);    color:var(--msl-up);   }
.msl-covcell--ok   .msl-covcell-state { color:var(--msl-up-dark, #1f5a30); }
.msl-covcell--thin { border-top-color:var(--msl-amber-deep); }
.msl-covcell--thin .msl-covcell-ic { background:var(--msl-amber-soft); color:var(--msl-warn); }
.msl-covcell--thin .msl-covcell-state { color:var(--msl-warn); }
.msl-covcell--gap {  border-top-color:var(--msl-down); }
.msl-covcell--gap  .msl-covcell-ic { background:var(--msl-down-soft);  color:var(--msl-down); }
.msl-covcell--gap  .msl-covcell-state { color:var(--msl-down-dark, #8a2020); }
.msl-covcell--gap { background:linear-gradient(0deg, var(--msl-down-soft), #fff 70%); }
.msl-covmap-legend {
  display:flex; flex-wrap:wrap; gap:var(--msl-sp-4);
  margin-top:var(--msl-sp-4); font-size:var(--msl-size-tiny); color:var(--msl-muted);
  font-weight:var(--msl-w-bold);
}
.msl-covmap-legend span { display:inline-flex; align-items:center; gap:6px; }
.msl-covmap-legend i { width:11px; height:11px; border-radius:50%; font-style:normal; }
.msl-covmap-legend .lg-ok {   background:var(--msl-up);   }
.msl-covmap-legend .lg-thin { background:var(--msl-amber-deep); }
.msl-covmap-legend .lg-gap {  background:var(--msl-down);  }
.msl-extract {
  position:relative; overflow:hidden;
  background:#fff; border:1px solid var(--msl-line); border-radius:var(--msl-r-md);
  box-shadow:var(--msl-shadow-1);
  padding:var(--msl-sp-5) var(--msl-sp-6);
  display:flex; flex-direction:column; gap:var(--msl-sp-4);
}
.msl-extract::before {
  content:""; position:absolute; inset-block:0; inset-inline-start:0; width:4px;
  background:linear-gradient(180deg, var(--msl-amber-deep), var(--msl-amber));
}
.msl-extract-head { display:flex; align-items:center; gap:var(--msl-sp-3); }
.msl-extract-ic {
  flex:0 0 auto; width:36px; height:36px; border-radius:50%;
  background:var(--msl-navy); color:var(--msl-amber);
  display:flex; align-items:center; justify-content:center;
  font-size:var(--msl-size-body); font-weight:var(--msl-w-black); line-height:1;
}
.msl-extract-head h4 {
  font-family:var(--msl-font); font-weight:var(--msl-w-heavy);
  font-size:var(--msl-size-h4); color:var(--msl-ink-strong); margin:0;
}
.msl-extract-head small { display:block; font-size:var(--msl-size-tiny); color:var(--msl-muted); font-weight:var(--msl-w-mid); }
.msl-extract-fields { display:flex; flex-wrap:wrap; gap:var(--msl-sp-3); }
.msl-extract-field {
  display:flex; flex-direction:column; gap:1px;
  background:var(--msl-cream); border:1px solid var(--msl-line);
  border-radius:var(--msl-r); padding:var(--msl-sp-2) var(--msl-sp-4);
}
.msl-extract-field .k { font-size:var(--msl-size-tiny); color:var(--msl-muted); font-weight:var(--msl-w-bold); }
.msl-extract-field .v {
  font-family:var(--msl-font); font-weight:var(--msl-w-heavy);
  font-size:var(--msl-size-small); color:var(--msl-ink-strong);
  font-variant-numeric:tabular-nums;
}
.msl-extract-foot {
  display:inline-flex; align-items:center; gap:6px;
  font-size:var(--msl-size-tiny); color:var(--msl-info); font-weight:var(--msl-w-bold);
}
.msl-extract-foot::before { content:"\270E"; }
.msl-deadline {
  display:flex; align-items:center; gap:var(--msl-sp-5); flex-wrap:wrap;
}
.msl-deadline-num {
  flex:0 0 auto; display:flex; align-items:baseline; gap:6px;
  font-family:var(--msl-font); color:#fff;
}
.msl-deadline-num .big {
  font-weight:var(--msl-w-black); font-size:var(--msl-size-num); line-height:1;
  color:var(--msl-amber); font-variant-numeric:tabular-nums; letter-spacing:var(--msl-ls-heading);
}
.msl-deadline-num .of { font-size:var(--msl-size-small); color:rgba(255,255,255,.7); font-weight:var(--msl-w-bold); }
.msl-deadline-body { flex:1 1 220px; min-width:0; display:flex; flex-direction:column; gap:var(--msl-sp-3); }
.msl-deadline-body .cap { font-size:var(--msl-size-small); color:rgba(255,255,255,.85); font-weight:var(--msl-w-bold); margin:0; }
.msl-deadline-track {
  height:10px; border-radius:var(--msl-r-pill);
  background:rgba(255,255,255,.16); overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}
.msl-deadline-track > span {
  display:block; height:100%;
  width:calc(var(--used,0) / var(--total,30) * 100%);
  background:linear-gradient(90deg, var(--msl-amber-deep), var(--msl-amber));
  border-radius:var(--msl-r-pill);
  transition:width .5s cubic-bezier(.22,.61,.36,1);
}
.msl-deadline--u8-t30 {  --used:8;  --total:30; }
.msl-deadline--u3-t30 {  --used:3;  --total:30; }
.msl-deadline--u20-t30 { --used:20; --total:30; }
.msl-letter {
  background:#fff; border:1px solid var(--msl-line); border-radius:var(--msl-r-md);
  box-shadow:var(--msl-shadow-1); overflow:hidden;
}
.msl-letter-head {
  display:flex; align-items:center; justify-content:space-between; gap:var(--msl-sp-4);
  flex-wrap:wrap;
  background:var(--msl-cream); border-bottom:1px solid var(--msl-line);
  padding:var(--msl-sp-4) var(--msl-sp-5);
}
.msl-letter-head .ttl {
  display:flex; align-items:center; gap:var(--msl-sp-3);
  font-family:var(--msl-font); font-weight:var(--msl-w-heavy);
  font-size:var(--msl-size-h4); color:var(--msl-ink-strong); margin:0;
}
.msl-letter-head .ttl::before {
  content:"\2709"; 
  width:30px; height:30px; border-radius:50%;
  background:var(--msl-navy); color:var(--msl-amber);
  display:inline-flex; align-items:center; justify-content:center;
  font-size:var(--msl-size-small); line-height:1;
}
.msl-letter-body {
  padding:var(--msl-sp-5) var(--msl-sp-6);
  font-size:var(--msl-size-body); color:var(--msl-ink);
  line-height:var(--msl-lh-loose, 1.8); white-space:pre-line;
}
.msl-letter-body b { font-weight:var(--msl-w-bold); color:var(--msl-ink-strong); }
.msl-letter-cite {
  display:flex; align-items:flex-start; gap:var(--msl-sp-3);
  margin:var(--msl-sp-4) var(--msl-sp-6) var(--msl-sp-5);
  padding:var(--msl-sp-3) var(--msl-sp-4);
  background:var(--msl-cream-2); border-inline-start:3px solid var(--msl-amber-deep);
  border-radius:var(--msl-r-sm);
  font-size:var(--msl-size-small); color:var(--msl-ink); line-height:var(--msl-lh-normal);
}
.msl-letter-cite::before {
  content:"\00A7"; 
  flex:0 0 auto; font-weight:var(--msl-w-black); color:var(--msl-amber-deep);
  font-size:var(--msl-size-h4); line-height:1;
}
.msl-letter-cite b { font-weight:var(--msl-w-bold); color:var(--msl-ink-strong); }
.msl-strength {
  display:inline-flex; align-items:center; gap:var(--msl-sp-3);
  background:var(--msl-cream); border:1px solid var(--msl-line);
  border-radius:var(--msl-r-pill); padding:5px 14px;
}
.msl-strength-pips { display:inline-flex; gap:4px; }
.msl-strength-pips i {
  width:22px; height:7px; border-radius:var(--msl-r-pill);
  background:var(--msl-line); font-style:normal;
}
.msl-strength-label {
  font-family:var(--msl-font); font-weight:var(--msl-w-black);
  font-size:var(--msl-size-small); letter-spacing:var(--msl-ls-tight);
}
.msl-strength--low .msl-strength-pips i:nth-child(1) { background:var(--msl-down); }
.msl-strength--low .msl-strength-label { color:var(--msl-down); }
.msl-strength--mid .msl-strength-pips i:nth-child(-n+2) { background:var(--msl-amber-deep); }
.msl-strength--mid .msl-strength-label { color:var(--msl-warn); }
.msl-strength--high .msl-strength-pips i { background:var(--msl-up); }
.msl-strength--high .msl-strength-label { color:var(--msl-up-dark, #1f5a30); }
.msl-wizard { max-width:680px; margin-inline:auto; }
.msl-wizard-card {
  background:#fff; border-radius:var(--msl-r-lg); box-shadow:var(--msl-shadow-2);
  padding:var(--msl-sp-7) var(--msl-sp-7) var(--msl-sp-6); text-align:start;
}
.msl-wizard-progress { margin-bottom:var(--msl-sp-6); }
.msl-wizard-progress-top { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:var(--msl-sp-3); }
.msl-wizard-progress-step {
  font-size:var(--msl-size-meta); font-weight:var(--msl-w-bold);
  letter-spacing:var(--msl-ls-label); text-transform:uppercase; color:var(--msl-amber-deep);
}
.msl-wizard-progress-pct { font-size:var(--msl-size-meta); color:var(--msl-muted); }
.msl-wizard-progress-track { height:6px; border-radius:var(--msl-r-pill); background:var(--msl-cream-2); overflow:hidden; }
.msl-wizard-progress-fill {
  height:100%; width:17%; border-radius:var(--msl-r-pill);
  background:linear-gradient(90deg,var(--msl-amber-deep),var(--msl-amber)); transition:width .35s ease;
}
.msl-wizard-progress-fill--p25 { width:25%; }
.msl-wizard-progress-fill--p50 { width:50%; }
.msl-wizard-progress-fill--p75 { width:75%; }
.msl-wizard-progress-fill--p100 { width:100%; }
.msl-wizard-q { display:block; }
.msl-wizard-q[hidden] { display:none; }
.msl-wizard-q-num {
  display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%;
  background:var(--msl-cream-2); color:var(--msl-amber-deep);
  font-weight:var(--msl-w-black); font-size:var(--msl-size-h4); margin-bottom:var(--msl-sp-4);
}
.msl-wizard-q-title {
  font-family:var(--msl-font); font-size:var(--msl-size-h2); line-height:var(--msl-lh-snug);
  font-weight:var(--msl-w-heavy); letter-spacing:var(--msl-ls-heading);
  color:var(--msl-ink-strong); margin:0 0 var(--msl-sp-3);
}
.msl-wizard-q-help {
  font-size:var(--msl-size-lead); font-weight:var(--msl-w-thin); color:var(--msl-muted);
  line-height:var(--msl-lh-normal); margin:0 0 var(--msl-sp-6);
}
.msl-wizard-field { margin-top:var(--msl-sp-2); }
.msl-input--lg { font-size:var(--msl-size-lead); padding:16px 18px; }
.msl-input--area { display:block; width:100%; min-height:150px; resize:vertical; line-height:var(--msl-lh-normal); }
.msl-wizard-nav {
  display:flex; align-items:center; justify-content:space-between;
  margin-top:var(--msl-sp-7); padding-top:var(--msl-sp-5); border-top:1px solid var(--msl-line-light);
}
.msl-wizard-back {
  background:none; border:0; cursor:pointer; font-family:var(--msl-font);
  font-size:var(--msl-size-small); font-weight:var(--msl-w-bold); color:var(--msl-muted); padding:8px 4px;
}
.msl-wizard-back:hover { color:var(--msl-ink-strong); }
.msl-wizard-back[disabled] { opacity:.35; cursor:default; }
.msl-wizard .msl-goal-picker { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:var(--msl-sp-3); }
.msl-wizard .msl-goal-opt {
  display:flex; flex-direction:column; gap:2px; text-align:start; cursor:pointer;
  background:#fff; border:1.5px solid var(--msl-line); border-radius:var(--msl-r-md);
  padding:var(--msl-sp-4) var(--msl-sp-5); font-family:var(--msl-font);
  transition:border-color .15s, background .15s, box-shadow .15s;
}
.msl-wizard .msl-goal-opt b { font-weight:var(--msl-w-heavy); font-size:var(--msl-size-body); color:var(--msl-ink-strong); }
.msl-wizard .msl-goal-opt small { font-size:var(--msl-size-tiny); color:var(--msl-muted); }
.msl-wizard .msl-goal-opt:hover { border-color:var(--msl-amber); }
.msl-wizard .msl-goal-opt--active {
  border-color:var(--msl-amber-deep);
  background:var(--msl-amber-soft); box-shadow:inset 0 0 0 1px var(--msl-amber-deep);
}
.msl-copy {
  flex:0 0 auto; display:inline-flex; align-items:center; gap:6px;
  font-family:var(--msl-font); font-size:var(--msl-size-meta); font-weight:var(--msl-w-bold);
  letter-spacing:var(--msl-ls-tight); color:var(--msl-ink-strong);
  background:#fff; border:1px solid var(--msl-line); border-radius:var(--msl-r-pill);
  padding:7px 14px; cursor:pointer; transition:background .15s, border-color .15s, color .15s;
}
.msl-copy:hover { background:var(--msl-cream-2); }
.msl-copy svg { width:14px; height:14px; }
.msl-copy.is-done { background:var(--msl-up-soft); border-color:var(--msl-up-soft); color:var(--msl-up-ink); }
.msl-cb-load {
  max-width:560px; margin-inline:auto; background:#fff; border-radius:var(--msl-r-lg);
  box-shadow:var(--msl-shadow-2); padding:var(--msl-sp-8) var(--msl-sp-7); text-align:center;
}
.msl-cb-load .msl-spinner { width:48px; height:48px; border-width:4px; margin:0 auto; }
.msl-cb-load-title {
  font-family:var(--msl-font); font-size:var(--msl-size-h3); font-weight:var(--msl-w-heavy);
  color:var(--msl-ink-strong); margin:var(--msl-sp-5) 0 var(--msl-sp-2);
}
.msl-cb-load-sub { color:var(--msl-muted); margin:0 0 var(--msl-sp-6); }
.msl-cb-load-steps { list-style:none; margin:0 auto; padding:0; display:grid; gap:var(--msl-sp-3); max-width:340px; text-align:start; }
.msl-cb-load-steps li { display:flex; align-items:center; gap:var(--msl-sp-3); font-size:var(--msl-size-small); color:var(--msl-muted); }
.msl-cb-load-steps li::before { content:""; width:18px; height:18px; border-radius:50%; border:2px solid var(--msl-cream-2); flex:0 0 auto; }
.msl-cb-load-steps li.is-done { color:var(--msl-ink-strong); font-weight:var(--msl-w-mid); }
.msl-cb-load-steps li.is-done::before {
  border-color:var(--msl-up-ink); background:var(--msl-up-ink); content:"✓"; color:#fff;
  font-size:11px; font-weight:var(--msl-w-black); display:flex; align-items:center; justify-content:center;
}
.msl-cb-load-steps li.is-now::before { border-color:var(--msl-amber); border-top-color:transparent; animation:msl-spin .8s linear infinite; }
.msl-rangebar { display:flex; flex-direction:column; gap:var(--msl-sp-3); margin-top:var(--msl-sp-4); }
.msl-rangebar-track {
  position:relative; height:14px; border-radius:var(--msl-r-pill);
  background:var(--msl-cream-2); overflow:hidden;
}
.msl-rangebar-fill {
  position:absolute; inset-block:0;
  inset-inline-start:var(--lo,15%); inline-size:var(--hi,55%);
  border-radius:var(--msl-r-pill);
  background:linear-gradient(90deg,var(--msl-amber-deep),var(--msl-amber));
  transition:inset-inline-start .4s ease, inline-size .4s ease;
}
.msl-rangebar--rbWide  .msl-rangebar-fill { --lo:18%; --hi:58%; }
.msl-rangebar--rbTight .msl-rangebar-fill { --lo:30%; --hi:24%; }
.msl-rangebar-ends { display:flex; justify-content:space-between; }
.msl-rangebar-ends span { font-size:var(--msl-size-tiny); color:var(--msl-muted); font-variant-numeric:tabular-nums; }
.msl-rangebar-note {
  display:inline-flex; align-self:flex-start; align-items:center; gap:6px;
  font-size:var(--msl-size-small); font-weight:var(--msl-w-bold); color:var(--msl-up-ink);
}
.msl-rangebar-note::before { content:"\2193"; font-weight:var(--msl-w-black); }
.msl-reasons { display:flex; flex-direction:column; gap:var(--msl-sp-4); }
.msl-reason {
  display:grid; grid-template-columns:30px 1fr auto; gap:var(--msl-sp-4); align-items:start;
  background:#fff; border:1px solid var(--msl-line); border-inline-start:4px solid var(--msl-up);
  border-radius:var(--msl-r-md); padding:var(--msl-sp-5) var(--msl-sp-5);
}
.msl-reason-ic {
  grid-row:1 / span 2; width:30px; height:30px; border-radius:50%;
  background:var(--msl-up-soft); color:var(--msl-up-ink);
  display:flex; align-items:center; justify-content:center; font-weight:var(--msl-w-black); font-size:15px;
}
.msl-reason-title {
  grid-column:2 / 3; margin:0; font-family:var(--msl-font); font-weight:var(--msl-w-heavy);
  font-size:var(--msl-size-body); color:var(--msl-ink-strong); line-height:var(--msl-lh-snug);
}
.msl-reason-body { grid-column:2 / 3; margin:0; font-size:var(--msl-size-small); color:var(--msl-ink); line-height:var(--msl-lh-normal); }
.msl-reason-amt {
  grid-row:1 / span 2; align-self:center; flex:0 0 auto; white-space:nowrap;
  font-size:var(--msl-size-tiny); font-weight:var(--msl-w-black); color:var(--msl-amber-deep);
  background:var(--msl-amber-soft); border-radius:var(--msl-r-pill); padding:5px 12px;
  font-variant-numeric:tabular-nums;
}
.msl-spotlight {
  position:relative; overflow:hidden; border-radius:var(--msl-r-lg);
  background:radial-gradient(120% 130% at 90% -10%, rgba(212,160,74,.22), transparent 55%), var(--msl-navy);
  color:#fff; box-shadow:var(--msl-shadow-2);
  padding:var(--msl-sp-7) var(--msl-sp-7) var(--msl-sp-6);
  display:flex; flex-direction:column; gap:var(--msl-sp-3);
}
.msl-spotlight-kicker {
  font-size:var(--msl-size-tiny); font-weight:var(--msl-w-black); letter-spacing:var(--msl-ls-eyebrow);
  text-transform:uppercase; color:var(--msl-amber);
}
.msl-spotlight-fig {
  font-family:var(--msl-font); font-weight:var(--msl-w-black); letter-spacing:var(--msl-ls-heading);
  font-size:var(--msl-size-display, 56px); line-height:1; color:var(--msl-amber);
  font-variant-numeric:tabular-nums;
}
.msl-spotlight-fig small { font-size:.42em; font-weight:var(--msl-w-heavy); color:#fff; letter-spacing:0; }
.msl-spotlight-lead { margin:0; font-size:var(--msl-size-lead); color:#fff; line-height:var(--msl-lh-snug); }
.msl-spotlight-lead b { color:var(--msl-amber); }
.msl-spotlight-sub { margin:0; font-size:var(--msl-size-small); color:rgba(255,255,255,.82); line-height:var(--msl-lh-normal); }
.msl-spotlight-actions { display:flex; flex-wrap:wrap; gap:var(--msl-sp-3); margin-top:var(--msl-sp-3); }
.msl-multiplier {
  display:flex; flex-wrap:wrap; align-items:center; gap:var(--msl-sp-3);
  background:var(--msl-cream); border:1px solid var(--msl-line); border-radius:var(--msl-r-md);
  padding:var(--msl-sp-5);
}
.msl-mult-cell { display:flex; flex-direction:column; gap:2px; text-align:center; flex:1 1 0; min-width:90px; }
.msl-mult-cell .fig {
  font-family:var(--msl-font); font-weight:var(--msl-w-black); font-size:var(--msl-size-h3);
  color:var(--msl-ink-strong); font-variant-numeric:tabular-nums; line-height:1;
}
.msl-mult-cell .lbl { font-size:var(--msl-size-tiny); color:var(--msl-muted); }
.msl-mult-cell--total .fig { color:var(--msl-amber-deep); }
.msl-mult-op { flex:0 0 auto; font-family:var(--msl-font); font-weight:var(--msl-w-black); font-size:var(--msl-size-h4); color:var(--msl-amber-deep); }
.msl-evidence { list-style:none; margin:0; padding:0; display:grid; gap:var(--msl-sp-3); }
.msl-evidence-item { display:flex; align-items:flex-start; gap:var(--msl-sp-3); font-size:var(--msl-size-body); line-height:var(--msl-lh-snug); }
.msl-evidence-item::before {
  content:""; flex:0 0 auto; width:24px; height:24px; border-radius:6px; margin-top:1px;
  display:inline-flex; align-items:center; justify-content:center; font-size:14px; font-weight:var(--msl-w-black);
  border:2px solid var(--msl-line); color:transparent;
}
.msl-evidence-item--have { color:var(--msl-ink-strong); font-weight:var(--msl-w-mid); }
.msl-evidence-item--have::before { content:"✓"; background:var(--msl-up-soft); border-color:var(--msl-up-soft); color:var(--msl-up-ink); }
.msl-evidence-item--need { color:var(--msl-muted); }
.msl-evidence-item--need::before { background:#fff; }
.msl-evidence-item .hint { display:block; font-size:var(--msl-size-tiny); color:var(--msl-muted); font-weight:var(--msl-w-reg); margin-top:2px; }
.msl-pivot {
  background:#fff; border:1px solid var(--msl-line); border-radius:var(--msl-r-lg);
  box-shadow:var(--msl-shadow-1); padding:var(--msl-sp-6) var(--msl-sp-6) var(--msl-sp-5);
  display:flex; flex-direction:column; gap:var(--msl-sp-4);
}
.msl-pivot-head { display:flex; align-items:flex-start; gap:var(--msl-sp-4); }
.msl-pivot-ic {
  flex:0 0 auto; width:40px; height:40px; border-radius:50%;
  background:var(--msl-info-soft, #e2edf8); color:var(--msl-info);
  display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:var(--msl-w-black);
}
.msl-pivot-title { margin:0; font-family:var(--msl-font); font-weight:var(--msl-w-heavy); font-size:var(--msl-size-h3); color:var(--msl-ink-strong); line-height:var(--msl-lh-snug); }
.msl-pivot-sub { margin:2px 0 0; font-size:var(--msl-size-small); color:var(--msl-muted); line-height:var(--msl-lh-normal); }
.msl-pivot-routes { display:grid; gap:var(--msl-sp-3); }
.msl-pivot-route {
  display:grid; grid-template-columns:28px 1fr auto; align-items:center; gap:var(--msl-sp-4);
  background:var(--msl-cream); border:1px solid var(--msl-line); border-radius:var(--msl-r-md);
  padding:var(--msl-sp-4) var(--msl-sp-5); text-decoration:none;
}
.msl-pivot-route:hover { border-color:var(--msl-amber); }
.msl-pivot-route .rt-ic { font-size:18px; }
.msl-pivot-route .rt-txt b { display:block; font-weight:var(--msl-w-heavy); color:var(--msl-ink-strong); font-size:var(--msl-size-body); }
.msl-pivot-route .rt-txt small { font-size:var(--msl-size-tiny); color:var(--msl-muted); }
.msl-pivot-route .rt-go { font-weight:var(--msl-w-black); color:var(--msl-amber-deep); }
.msl-factgrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:var(--msl-sp-3); }
.msl-fact {
  background:var(--msl-cream); border:1px solid var(--msl-line); border-radius:var(--msl-r-md);
  padding:var(--msl-sp-4) var(--msl-sp-5); display:flex; flex-direction:column; gap:2px;
}
.msl-fact .lbl { font-size:var(--msl-size-tiny); font-weight:var(--msl-w-bold); letter-spacing:var(--msl-ls-label); text-transform:uppercase; color:var(--msl-muted); }
.msl-fact .val { font-family:var(--msl-font); font-weight:var(--msl-w-heavy); font-size:var(--msl-size-lead); color:var(--msl-ink-strong); font-variant-numeric:tabular-nums; }
.msl-fact .val small { font-size:.62em; font-weight:var(--msl-w-mid); color:var(--msl-muted); }
.msl-download { display:flex; flex-wrap:wrap; gap:var(--msl-sp-3); }
.msl-download-btn {
  display:inline-flex; align-items:center; gap:var(--msl-sp-3); text-decoration:none;
  background:#fff; border:1.5px solid var(--msl-line); border-radius:var(--msl-r-md);
  padding:var(--msl-sp-4) var(--msl-sp-5); transition:border-color .15s, background .15s;
}
.msl-download-btn:hover { border-color:var(--msl-amber); background:var(--msl-cream); }
.msl-download-btn .ext {
  flex:0 0 auto; font-size:var(--msl-size-tiny); font-weight:var(--msl-w-black); letter-spacing:.04em;
  color:#fff; background:var(--msl-navy); border-radius:6px; padding:5px 8px;
}
.msl-download-btn .ext--pdf { background:var(--msl-down-dark, #8a2020); }
.msl-download-btn .txt b { display:block; font-weight:var(--msl-w-heavy); color:var(--msl-ink-strong); font-size:var(--msl-size-body); }
.msl-download-btn .txt small { font-size:var(--msl-size-tiny); color:var(--msl-muted); }
.msl-flagnote {
  display:flex; align-items:flex-start; gap:var(--msl-sp-3);
  background:var(--msl-warn-bg); border-inline-start:4px solid var(--msl-amber-deep);
  border-radius:var(--msl-r-md); padding:var(--msl-sp-4) var(--msl-sp-5);
}
.msl-flagnote .ic { flex:0 0 auto; font-size:18px; line-height:1.2; }
.msl-flagnote p { margin:0; font-size:var(--msl-size-small); color:var(--msl-warn); line-height:var(--msl-lh-normal); }
.msl-flagnote p b { color:var(--msl-ink-strong); }

/* ===== 3 · FINDINGS internals not yet in base kit (gauge / findings-group / score values) ===== */
.msl-gauge-track {
  position:relative; height:14px; border-radius:var(--msl-r-pill); overflow:visible;
  display:flex; box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}
.msl-gauge-zone { height:100%; }
.msl-gauge-zone--bad { flex:0 0 38%; background:linear-gradient(90deg, var(--msl-down), rgba(201,58,58,.45)); border-radius:0 var(--msl-r-pill) var(--msl-r-pill) 0; }
.msl-gauge-zone--mid { flex:0 0 24%; background:rgba(255,255,255,.22); }
.msl-gauge-zone--good { flex:0 0 38%; background:linear-gradient(90deg, rgba(59,138,79,.45), var(--msl-up)); border-radius:var(--msl-r-pill) 0 0 var(--msl-r-pill); }
.msl-gauge-zero { position:absolute; top:-5px; bottom:-5px; right:50%; width:2px; background:rgba(255,255,255,.55); border-radius:var(--msl-r-pill); }
.msl-gauge-needle {
  position:absolute; top:50%; right:calc(var(--g,50)*1%);
  transform:translate(50%,-50%);
  width:22px; height:22px; border-radius:50%;
  background:#fff; border:3px solid var(--msl-navy); box-shadow:var(--msl-shadow-1);
  transition:right .45s cubic-bezier(.22,.61,.36,1);
}
.msl-gauge-needle::after {
  content:""; position:absolute; top:50%; right:50%; transform:translate(50%,-50%);
  width:8px; height:8px; border-radius:50%; background:var(--msl-amber);
}
.msl-gauge-readout {
  position:absolute; bottom:calc(100% + 12px); right:calc(var(--g,50)*1%);
  transform:translateX(50%); white-space:nowrap;
  background:#fff; color:var(--msl-navy); font-family:var(--msl-font);
  font-size:var(--msl-size-small); font-weight:var(--msl-w-black);
  padding:4px 12px; border-radius:var(--msl-r-pill); box-shadow:var(--msl-shadow-1);
  transition:right .45s cubic-bezier(.22,.61,.36,1);
}
.msl-gauge-readout::after { content:""; position:absolute; top:100%; right:50%; transform:translateX(50%); border:5px solid transparent; border-top-color:#fff; }
.msl-gauge-scale { display:flex; justify-content:space-between; margin-top:var(--msl-sp-5); font-size:var(--msl-size-tiny); font-weight:var(--msl-w-bold); }
.msl-gauge-scale .s-bad { color:#f3b4b4; }
.msl-gauge-scale .s-mid { color:rgba(255,255,255,.6); }
.msl-gauge-scale .s-good { color:#bfe6c8; }
.msl-gauge--g15 { --g:15; }
.msl-gauge--g30 { --g:30; }
.msl-gauge--g38 { --g:38; }
.msl-gauge--g50 { --g:50; }
.msl-gauge--g62 { --g:62; }
.msl-gauge--g72 { --g:72; }
.msl-gauge--g85 { --g:85; }
.msl-score--s48 { --score:48; }
.msl-score--s72 { --score:72; }
.msl-score--s86 { --score:86; }
.msl-score--s94 { --score:94; }
.msl-findings-group { display:flex; align-items:baseline; gap:var(--msl-sp-3); margin:var(--msl-sp-5) 0 var(--msl-sp-1); }
.msl-findings-group h3 { font-family:var(--msl-font); font-weight:var(--msl-w-heavy); font-size:var(--msl-size-h4); color:var(--msl-ink-strong); margin:0; }
.msl-findings-group .cnt { font-size:var(--msl-size-tiny); font-weight:var(--msl-w-black); color:#fff; background:var(--msl-muted); border-radius:var(--msl-r-pill); padding:1px 9px; }
.msl-findings-group::after { content:""; flex:1; height:1px; background:var(--msl-line); }
.msl-findings-group--ok .cnt {   background:var(--msl-up);   }
.msl-findings-group--warn .cnt { background:var(--msl-down); }
.msl-findings-group--ask .cnt {  background:var(--msl-info); }

/* ===== 4 · DESIGN-OPS 2026-06-18 — bold on DARK gal-1 surfaces = GOLD (amber), not white =====
   Decision (Omer / Design-Ops, 2026-06-18): <b>/<strong> inside a dark gal-1 section must read
   AMBER, not white. ONE central rule — not a per-tool patch. Mirrors the Dark-Text-Guard's
   dark-surface list (msl-kit.css) but flips emphasis to amber. Specificity (0,2,2) via the
   leading `body`, above the guard's (0,2,1), and this file loads AFTER msl-kit → it wins over
   the guard's `color:inherit` AND the per-component white-setters (.msl-verdict .vsub b,
   .msl-score-cap b, ...). Every listed surface is navy / navy-2 → amber-on-navy ≈ 7:1 (AA+).
   SCOPE (Omer decision 2026-06-17, via SiteOps): gal-1-ONLY. The 4 shared dark wrappers
   (.msl-on-dark / .msl-pattern-hero / .msl-scan / .msl-share-card) were REMOVED so bold inside
   non-gal-1 dark heroes (research / article / hubs) keeps its current colour — zero change to
   existing pages. Amber emphasis applies only to the gal-1-specific dark components below
   (spotlight / verdict / result-hero / sure-layer / deadline / cb-load / scoring). */
body .msl-entry :is(.msl-spotlight,.msl-layer--sure,.msl-verdict,.msl-result-hero,.msl-deadline,.msl-cb-load,.msl-scoring) :is(b,strong){ color: var(--msl-amber); }

/* ===== 5 · COVERAGE COMPLETION (pre-push, SiteOps gap-check 2026-06-18) =====
   Classes the live gal-1 markup uses that weren't in the 2026-06-01 canonical
   sources I folded from — so removing the per-tool vendor copies won't leave them
   unstyled. */

/* 5a · Inter-tool cluster navigation (.msl-cluster-nav / .msl-cluster-link).
   The cross-tool nav wired to the 4 /tools/ URLs. Two vendor copies defined it
   (calc-system = 3-col grid · findings-system = flex); findings loads LAST in the
   live cascade, so its flex version is what users see — folded here verbatim. */
.msl-cluster-nav{ display:flex; gap:var(--msl-sp-4); flex-wrap:wrap; }
.msl-cluster-link{ display:flex; flex-direction:column; gap:var(--msl-sp-1); flex:1 1 180px; padding:var(--msl-sp-4) var(--msl-sp-5); border:1px solid var(--msl-line); border-radius:var(--msl-r-md); background:#fff; text-decoration:none; color:inherit; transition:border-color .15s, box-shadow .15s; }
.msl-cluster-link:hover{ border-color:var(--msl-amber); box-shadow:var(--msl-shadow-1); }
.msl-cluster-link b{ font-family:var(--msl-font); font-weight:var(--msl-w-heavy); font-size:var(--msl-size-body); color:var(--msl-ink-strong); }
.msl-cluster-link small{ font-size:var(--msl-size-tiny); color:var(--msl-muted); }
.msl-cluster-link--current{ border-color:var(--msl-navy); border-width:2px; background:var(--msl-cream); pointer-events:none; }
.msl-cluster-link--current b{ color:var(--msl-navy); }
.msl-cluster-link--current:hover{ box-shadow:none; }
@media (max-width:560px){
  .msl-cluster-nav{ flex-direction:column; }
  .msl-cluster-link{ flex:1 1 auto; }
}

/* 5b · .msl-rangebar--rb — the refund estimate-bar marker the renderer always emits
   (class="msl-rangebar msl-rangebar--rb"). It carried NO own rule in any source: the
   base .msl-rangebar / .msl-rangebar-fill (folded in §2) render it, and refund-checker.js
   sets --lo/--hi INLINE on the fill node. Declared here so the selector is covered after
   vendor removal — intentionally EMPTY: a static --lo/--hi here would clobber the JS meter.
   (--rbWide/--rbTight exist in §2 but the live markup never applies them.) */
.msl-rangebar--rb{ /* marker only — fill range driven by JS via inline --lo/--hi */ }


/* ============================================================================
   MSL · PORTFOLIO REPORT — FOLDED (site-wide) · 2026-06-18 · theme 1.1.48
   Source: portfolio-report-ext.css (6 components) + portfolio-report.css
   (id-scoped Dark-Text-Guard + dropzone drag state). 0 vendor for the tool.
   ============================================================================ */
/* >>> MSL-STORYBLOCK ===================================================== */
/* -------------------------------------------------------------------------
   1 · STORY BLOCK  — .msl-storyblock   ★ יחידת-הסיפור הנגללת ★
   כל תובנה = בלוק אחד: kicker · כותרת-מספר-אחת · ויזואל-אחד · שורת-משמעות ·
   (אופציונלי) שכבת-הערכה מסויגת · "לסקרנים" (חשיפה-מדורגת ב-<details>).
   ברירת-מחדל = משטח-בהיר נגלל. ‎--hero = הבלוק שנפתח ראשון (גיבור-אדפטיבי),
   משטח-כהה עם מספר-גיבור ענק. מודגש על כהה = זהב (כלל-קיט).
   ------------------------------------------------------------------------- */
.msl-storyblock{
  position:relative; overflow:hidden;
  background:#fff; border:1px solid var(--msl-line); border-radius:var(--msl-r-lg);
  box-shadow:var(--msl-shadow-1);
  padding:var(--msl-sp-7) var(--msl-sp-7) var(--msl-sp-6);
  display:flex; flex-direction:column; gap:var(--msl-sp-5);
}
/* the running index badge in the corner (1 of 4 …) — calm, not loud */
.msl-storyblock-step{
  align-self:flex-start; display:inline-flex; align-items:center; gap:7px;
  font-family:var(--msl-font); font-weight:var(--msl-w-black);
  font-size:var(--msl-size-tiny); letter-spacing:var(--msl-ls-label);
  text-transform:uppercase; color:var(--msl-amber-deep);
}
.msl-storyblock-step::before{
  content:""; width:9px; height:9px; border-radius:50%;
  background:var(--msl-amber); flex:0 0 auto;
}
/* the one-sentence headline; the hero number rides inside as <b> */
.msl-storyblock-title{
  font-family:var(--msl-font); font-weight:var(--msl-w-heavy);
  font-size:var(--msl-size-h2); line-height:var(--msl-lh-snug);
  letter-spacing:var(--msl-ls-heading); color:var(--msl-ink-strong); margin:0;
}
.msl-storyblock-title b{ font-weight:var(--msl-w-black); color:var(--msl-amber-deep); white-space:nowrap; }
/* optional stand-alone giant figure (used mostly in --hero) */
.msl-storyblock-fig{
  font-family:var(--msl-font); font-weight:var(--msl-w-black);
  font-size:var(--msl-size-num-xl); line-height:1; letter-spacing:var(--msl-ls-heading);
  color:var(--msl-amber-deep); font-variant-numeric:tabular-nums; margin:0;
}
.msl-storyblock-fig small{ font-size:.4em; font-weight:var(--msl-w-heavy); color:var(--msl-muted); letter-spacing:0; }
/* the single visual sits in its own breathing room */
.msl-storyblock-visual{ margin:var(--msl-sp-2) 0; }
/* "מה זה אומר עבורך" — the meaning line, translated to real life */
.msl-storyblock-mean{
  font-size:var(--msl-size-lead); line-height:var(--msl-lh-normal);
  color:var(--msl-ink); margin:0;
}
.msl-storyblock-mean b{ font-weight:var(--msl-w-bold); color:var(--msl-ink-strong); }
/* the judgment hedge — the ONE place uncertainty is named (mirrors foundation) */
.msl-storyblock-hedge{
  display:inline-flex; align-items:center; gap:6px; margin:0;
  font-size:var(--msl-size-small); font-weight:var(--msl-w-bold);
  color:var(--msl-warn); font-style:italic;
}
.msl-storyblock-hedge::before{ content:"\007E"; font-style:normal; font-weight:var(--msl-w-black); color:var(--msl-amber-deep); }
/* "לסקרנים" — progressive disclosure of method + assumptions (YMYL gate) */
.msl-storyblock-curious{
  background:var(--msl-cream); border:1px solid var(--msl-line);
  border-radius:var(--msl-r-md); padding:0;
}
.msl-storyblock-curious > summary{
  cursor:pointer; list-style:none; padding:var(--msl-sp-3) var(--msl-sp-5);
  display:flex; align-items:center; gap:var(--msl-sp-3);
  font-family:var(--msl-font); font-weight:var(--msl-w-bold);
  font-size:var(--msl-size-small); color:var(--msl-ink-strong);
}
.msl-storyblock-curious > summary::-webkit-details-marker{ display:none; }
.msl-storyblock-curious > summary::before{
  content:"+"; flex:0 0 auto; width:20px; height:20px; border-radius:50%;
  background:var(--msl-cream-2); color:var(--msl-amber-deep);
  display:flex; align-items:center; justify-content:center;
  font-weight:var(--msl-w-black); font-size:var(--msl-size-small); line-height:1;
}
.msl-storyblock-curious[open] > summary::before{ content:"\2212"; }   /* − */
.msl-storyblock-curious-body{
  padding:0 var(--msl-sp-5) var(--msl-sp-4);
  font-size:var(--msl-size-small); color:var(--msl-ink); line-height:var(--msl-lh-normal);
}
.msl-storyblock-curious-body b{ font-weight:var(--msl-w-bold); color:var(--msl-ink-strong); }

/* ── 1b · HERO variant — the adaptive opening block (dark, biggest number) ─ */
.msl-storyblock--hero{
  color:#fff; border-color:transparent; box-shadow:var(--msl-shadow-2);
  background:
    radial-gradient(130% 110% at 88% -12%, rgba(212,160,74,.20), transparent 56%),
    var(--msl-navy);
  padding:var(--msl-sp-8) var(--msl-sp-7) var(--msl-sp-7);
}
.msl-storyblock--hero .msl-storyblock-step{ color:var(--msl-amber); }
.msl-storyblock--hero .msl-storyblock-title{ color:#fff; font-size:var(--msl-size-h2-xl); }
.msl-storyblock--hero .msl-storyblock-title b{ color:var(--msl-amber); }   /* gold-on-dark */
.msl-storyblock--hero .msl-storyblock-fig{ color:var(--msl-amber); font-size:var(--msl-size-h1-xl); }
.msl-storyblock--hero .msl-storyblock-fig small{ color:rgba(255,255,255,.7); }
.msl-storyblock--hero .msl-storyblock-mean{ color:rgba(255,255,255,.9); }
.msl-storyblock--hero .msl-storyblock-mean b{ color:var(--msl-amber); }
.msl-storyblock--hero .msl-storyblock-curious{
  background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.14);
}
.msl-storyblock--hero .msl-storyblock-curious > summary{ color:#fff; }
.msl-storyblock--hero .msl-storyblock-curious > summary::before{
  background:rgba(255,255,255,.12); color:var(--msl-amber);
}
.msl-storyblock--hero .msl-storyblock-curious-body{ color:rgba(255,255,255,.82); }
.msl-storyblock--hero .msl-storyblock-curious-body b{ color:#fff; }
/* <<< END MSL-STORYBLOCK */


/* >>> MSL-CMPBARS ======================================================== */
/* -------------------------------------------------------------------------
   2 · COMPARISON BARS  — .msl-cmpbars / .msl-cmpbar   ★ base for 3 visuals ★
   פסי-השוואה אופקיים, בסיס משותף ל: דולר↔שקל (תשואה) · לפני/אחרי-עמלות (עלות)
   · נטו/ניכוי (דיבידנדים). שורה = תווית | מסילה | ערך. רוחב-המילוי על preset
   (.msl-cmpbar--wNN → --cw). וריאנט-צבע על .msl-cmpbar--<role>.
   אנלוגיה-ויזואלית פשוטה: שני פסים זה-מול-זה, לא גרף-טכני.
   ------------------------------------------------------------------------- */
.msl-cmpbars{ display:flex; flex-direction:column; gap:var(--msl-sp-4); }
.msl-cmpbar{
  display:grid; grid-template-columns:88px 1fr auto; align-items:center;
  gap:var(--msl-sp-4); --cw:50%;
}
.msl-cmpbar-lbl{
  font-family:var(--msl-font); font-weight:var(--msl-w-bold);
  font-size:var(--msl-size-small); color:var(--msl-ink-strong); min-width:0;
}
.msl-cmpbar-lbl small{ display:block; font-size:var(--msl-size-tiny); color:var(--msl-muted); font-weight:var(--msl-w-mid); }
.msl-cmpbar-track{
  position:relative; height:18px; border-radius:var(--msl-r-pill);
  background:var(--msl-cream-2); overflow:hidden;
}
.msl-cmpbar-fill{
  display:block; height:100%; width:var(--cw,50%);
  border-radius:var(--msl-r-pill);
  background:var(--msl-amber);
  transition:width .5s cubic-bezier(.22,.61,.36,1);
}
.msl-cmpbar-val{
  font-family:var(--msl-font); font-weight:var(--msl-w-black);
  font-size:var(--msl-size-body); color:var(--msl-ink-strong);
  font-variant-numeric:tabular-nums; white-space:nowrap;
}
/* colour roles */
.msl-cmpbar--paper .msl-cmpbar-fill{ background:linear-gradient(90deg,var(--msl-amber-soft),var(--msl-amber)); }  /* "on paper" — looks big */
.msl-cmpbar--paper .msl-cmpbar-val{ color:var(--msl-amber-deep); }
.msl-cmpbar--real  .msl-cmpbar-fill{ background:var(--msl-navy); }                                                /* the real, solid number */
.msl-cmpbar--real  .msl-cmpbar-val{ color:var(--msl-ink-strong); }
.msl-cmpbar--gross .msl-cmpbar-fill{ background:var(--msl-up); }                                                  /* before fees */
.msl-cmpbar--gross .msl-cmpbar-val{ color:var(--msl-up-ink); }
.msl-cmpbar--net   .msl-cmpbar-fill{ background:linear-gradient(90deg,var(--msl-up),#69ac7c); }                   /* after fees (slightly shorter) */
.msl-cmpbar--net   .msl-cmpbar-val{ color:var(--msl-up-ink); }
.msl-cmpbar--fee   .msl-cmpbar-fill{ background:var(--msl-down); }                                                /* the fee slice — the villain */
.msl-cmpbar--fee   .msl-cmpbar-val{ color:var(--msl-down-ink); }
.msl-cmpbar--tax   .msl-cmpbar-fill{ background:var(--msl-muted); }                                               /* withheld abroad */
.msl-cmpbar--tax   .msl-cmpbar-val{ color:var(--msl-muted); }
/* width presets (mockup only; build sets --cw live) */
.msl-cmpbar--w6{  --cw:6%;  } .msl-cmpbar--w8{  --cw:8%;  } .msl-cmpbar--w12{ --cw:12%; }
.msl-cmpbar--w18{ --cw:18%; } .msl-cmpbar--w24{ --cw:24%; } .msl-cmpbar--w31{ --cw:31%; }
.msl-cmpbar--w42{ --cw:42%; } .msl-cmpbar--w58{ --cw:58%; } .msl-cmpbar--w69{ --cw:69%; }
.msl-cmpbar--w78{ --cw:78%; } .msl-cmpbar--w88{ --cw:88%; } .msl-cmpbar--w92{ --cw:92%; }
.msl-cmpbar--w100{ --cw:100%; }
/* a calm note that closes the comparison */
.msl-cmpbars-note{
  margin:var(--msl-sp-2) 0 0; font-size:var(--msl-size-small);
  color:var(--msl-muted); line-height:var(--msl-lh-normal);
}
.msl-cmpbars-note b{ font-weight:var(--msl-w-bold); color:var(--msl-ink-strong); }
/* on a dark (hero) surface the tracks & labels invert */
.msl-storyblock--hero .msl-cmpbar-track{ background:rgba(255,255,255,.14); }
.msl-storyblock--hero .msl-cmpbar-lbl{ color:#fff; }
.msl-storyblock--hero .msl-cmpbar-lbl small{ color:rgba(255,255,255,.65); }
.msl-storyblock--hero .msl-cmpbar-val{ color:#fff; }
.msl-storyblock--hero .msl-cmpbar--real .msl-cmpbar-fill{ background:#fff; }       /* real number reads as solid white on navy */
.msl-storyblock--hero .msl-cmpbar--real .msl-cmpbar-val{ color:#fff; }
.msl-storyblock--hero .msl-cmpbars-note{ color:rgba(255,255,255,.72); }
.msl-storyblock--hero .msl-cmpbars-note b{ color:var(--msl-amber); }

@media (max-width:560px){
  .msl-cmpbar{ grid-template-columns:1fr auto; }
  .msl-cmpbar-track{ grid-column:1 / -1; order:3; }
}
/* <<< END MSL-CMPBARS */


/* >>> MSL-CASHGAUGE ===================================================== */
/* -------------------------------------------------------------------------
   3 · CASH GAUGE  — .msl-cashgauge   ★ מד אחד, לא לוח-בקרה ★
   טבעת בודדת שמראה איזה אחוז מהתיק יושב במזומן. ‎--pNN preset (build → --cashpct).
   הטבעת = conic ‎+ חור-מרכזי, האחוז במרכז, כיתוב מתחת.
   ------------------------------------------------------------------------- */
.msl-cashgauge{
  display:flex; flex-direction:column; align-items:center; gap:var(--msl-sp-3);
  text-align:center; --cashpct:0;
}
.msl-cashgauge-ring{
  width:172px; height:172px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:
    radial-gradient(closest-side, #fff 71%, transparent 72% 100%),
    conic-gradient(var(--msl-amber) calc(var(--cashpct,0) * 1%), var(--msl-cream-2) 0);
}
.msl-cashgauge-pct{
  font-family:var(--msl-font); font-weight:var(--msl-w-black);
  font-size:var(--msl-size-num); line-height:1; color:var(--msl-amber-deep);
  font-variant-numeric:tabular-nums;
}
.msl-cashgauge-cap{
  font-size:var(--msl-size-small); font-weight:var(--msl-w-bold);
  color:var(--msl-muted); margin:0;
}
.msl-cashgauge--p18{ --cashpct:18; } .msl-cashgauge--p24{ --cashpct:24; }
.msl-cashgauge--p31{ --cashpct:31; } .msl-cashgauge--p42{ --cashpct:42; }
/* on hero (dark) the hole becomes navy so the ring reads on the dark surface */
.msl-storyblock--hero .msl-cashgauge-ring{
  background:
    radial-gradient(closest-side, var(--msl-navy) 71%, transparent 72% 100%),
    conic-gradient(var(--msl-amber) calc(var(--cashpct,0) * 1%), rgba(255,255,255,.16) 0);
}
.msl-storyblock--hero .msl-cashgauge-pct{ color:var(--msl-amber); }
.msl-storyblock--hero .msl-cashgauge-cap{ color:rgba(255,255,255,.75); }
/* <<< END MSL-CASHGAUGE */


/* >>> MSL-DIVVIZ ======================================================== */
/* -------------------------------------------------------------------------
   4 · DIVIDENDS VISUAL  — .msl-divviz   ★ סכום-על + פיצול נטו/ניכוי ★
   מספר-על אחד (כמה התקבל) + פס-פיצול קטן (כמה הגיע אליך / כמה נוכה בחו"ל)
   על בסיס .msl-cmpbars. רמז-חינוך רך מתחת.
   ------------------------------------------------------------------------- */
.msl-divviz{ display:flex; flex-direction:column; gap:var(--msl-sp-4); }
.msl-divviz-top{ display:flex; align-items:baseline; gap:var(--msl-sp-3); flex-wrap:wrap; }
.msl-divviz-coin{
  flex:0 0 auto; width:46px; height:46px; border-radius:50%;
  background:var(--msl-amber-soft); color:var(--msl-amber-deep);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--msl-font); font-weight:var(--msl-w-black); font-size:var(--msl-size-h3); line-height:1;
}
.msl-divviz-fig{
  font-family:var(--msl-font); font-weight:var(--msl-w-black);
  font-size:var(--msl-size-num); line-height:1; color:var(--msl-ink-strong);
  font-variant-numeric:tabular-nums;
}
.msl-divviz-fig small{ font-size:.45em; font-weight:var(--msl-w-heavy); color:var(--msl-muted); }
/* <<< END MSL-DIVVIZ */


/* >>> MSL-REPORT-SHARE ================================================== */
/* -------------------------------------------------------------------------
   5 · SHARE CARD  — .msl-report-share   ★ "השנה בתיק שלי" · בטוח-פרטיות ★
   סטטיסטיקה-אחת-גדולה, בנוי-לשיתוף (סגנון Wrapped). ‎אחוז/תובנה בלבד —
   ‎לעולם לא ₪ מוחלטים / שמות-אחזקות / שווי-תיק. נוצר על המכשיר.
   משטח-כהה דרמטי → מודגש = זהב (כלל-קיט). משתמש ב-.msl-pattern-share לכפתורים.
   ------------------------------------------------------------------------- */
.msl-report-share{
  position:relative; overflow:hidden; margin:0;
  border-radius:var(--msl-r-xl); color:#fff; box-shadow:var(--msl-shadow-2);
  background:
    radial-gradient(120% 90% at 12% 6%, rgba(212,160,74,.34), transparent 52%),
    radial-gradient(120% 120% at 100% 100%, rgba(212,160,74,.14), transparent 55%),
    linear-gradient(160deg, var(--msl-navy-2), var(--msl-navy));
  padding:var(--msl-sp-7) var(--msl-sp-7) var(--msl-sp-6);
  display:flex; flex-direction:column; gap:var(--msl-sp-4);
  text-align:start;
}
.msl-report-share-brand{
  display:inline-flex; align-items:center; gap:8px; margin:0;
  font-size:var(--msl-size-tiny); font-weight:var(--msl-w-black);
  letter-spacing:var(--msl-ls-label); text-transform:uppercase; color:var(--msl-amber);
}
.msl-report-share-brand::before{
  content:""; width:10px; height:10px; border-radius:50%;
  background:var(--msl-amber); flex:0 0 auto;
}
.msl-report-share-big{
  margin:0; font-family:var(--msl-font); font-weight:var(--msl-w-heavy);
  font-size:var(--msl-size-h2); line-height:var(--msl-lh-snug);
  letter-spacing:var(--msl-ls-heading); color:#fff;
}
.msl-report-share-big b{ font-weight:var(--msl-w-black); color:var(--msl-amber); }   /* gold-on-dark */
.msl-report-share-foot{
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:var(--msl-sp-3);
  margin-top:var(--msl-sp-2); padding-top:var(--msl-sp-4);
  border-top:1px solid rgba(255,255,255,.14);
}
.msl-report-share-tag{
  margin:0; font-size:var(--msl-size-tiny); font-weight:var(--msl-w-bold);
  color:rgba(255,255,255,.7);
}
/* the privacy reassurance pinned to the share card */
.msl-report-share-safe{
  display:inline-flex; align-items:center; gap:6px;
  font-size:var(--msl-size-tiny); font-weight:var(--msl-w-bold); color:var(--msl-amber);
}
.msl-report-share-safe::before{ content:"\1F512"; }   /* 🔒 */

@media (max-width:560px){
  .msl-report-share{ padding:var(--msl-sp-6) var(--msl-sp-5); }
  .msl-report-share-big{ font-size:var(--msl-size-h3); }
}
/* <<< END MSL-REPORT-SHARE */


/* >>> MSL-ADAPTIVE-NOTE ================================================= */
/* -------------------------------------------------------------------------
   6 · ADAPTIVE-HERO NOTE  — .msl-adaptive-note
   שבב-הסבר רך מעל הדוח: "הדוח נפתח בתובנה הכי-מפתיעה עבורך". מסביר למה
   הסדר משתנה פר-משתמש, בלי אזעקה. מסילת-YMYL: ציון משנה סדר, לא טון.
   ------------------------------------------------------------------------- */
.msl-adaptive-note{
  display:flex; align-items:flex-start; gap:var(--msl-sp-3);
  background:var(--msl-info-soft, #e2edf8);
  border-radius:var(--msl-r-md); padding:var(--msl-sp-3) var(--msl-sp-5);
}
.msl-adaptive-note .ic{
  flex:0 0 auto; width:26px; height:26px; border-radius:50%;
  background:var(--msl-info); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-weight:var(--msl-w-black); font-size:var(--msl-size-small); line-height:1;
}
.msl-adaptive-note p{
  margin:0; font-size:var(--msl-size-small); color:var(--msl-ink); line-height:var(--msl-lh-normal);
}
.msl-adaptive-note p b{ font-weight:var(--msl-w-bold); color:var(--msl-info); }
/* <<< END MSL-ADAPTIVE-NOTE */


/* >>> MSL-TOOLSUPPORT-READING =========================================== */
/* -------------------------------------------------------------------------
   7 · תוכן-תומך בעמודת-קריאה — how / who / faq בתוך `.msl-container--reading`
   הקיט נותן ל-`.msl-container--reading` רוחב-720 בלבד (בלי מירכוז — המירכוז מגיע
   מ-`.msl-container` הבסיסי). כאן ממרכזים את עמודת-הקריאה בתוך מקטעי-התוכן-התומך,
   בלי להשתמש ב-`.msl-container` הבסיסי — כדי לא להתנגש בכלל
   `section.msl-tool-* > .msl-container{1100}` של kit-extensions (תיק → 720, לא 1100).
   ספציפיות (0,2,1) + נטען אחרון → מנצח את כלל-ה-1100 בלי `!important`.
   ------------------------------------------------------------------------- */
section.msl-tool-how > .msl-container--reading,
section.msl-tool-who > .msl-container--reading,
section.msl-tool-faq > .msl-container--reading{
  margin-inline:auto; padding-inline:var(--msl-sp-6);
}
/* <<< END MSL-TOOLSUPPORT-READING */

/* --- id-scoped guard (from plugin portfolio-report.css) --- */
#msl-portfolio-report .msl-storyblock--hero .msl-storyblock-title{ color:#fff; }
#msl-portfolio-report .msl-storyblock--hero .msl-storyblock-title b{ color:var(--msl-amber); }
#msl-portfolio-report .msl-storyblock--hero .msl-storyblock-step{ color:var(--msl-amber); }
#msl-portfolio-report .msl-storyblock--hero .msl-storyblock-mean{ color:rgba(255,255,255,.9); }
#msl-portfolio-report .msl-storyblock--hero .msl-storyblock-mean b{ color:var(--msl-amber); }
#msl-portfolio-report .msl-storyblock--hero .msl-storyblock-fig{ color:var(--msl-amber); }
#msl-portfolio-report .msl-storyblock--hero .msl-cmpbar-lbl,
#msl-portfolio-report .msl-storyblock--hero .msl-cmpbar-val{ color:#fff; }
#msl-portfolio-report .msl-storyblock--hero .msl-storyblock-curious > summary{ color:#fff; }
#msl-portfolio-report .msl-storyblock--hero .msl-storyblock-curious-body{ color:rgba(255,255,255,.82); }
#msl-portfolio-report .msl-storyblock--hero .msl-storyblock-curious-body b{ color:#fff; }

/* light storyblocks: keep the headline/number readable over theme defaults */
#msl-portfolio-report .msl-storyblock-title{ color:var(--msl-ink-strong); }
#msl-portfolio-report .msl-storyblock-title b{ color:var(--msl-amber-deep); }

/* ── DARK-TEXT-GUARD (share card) ──────────────────────────────────── */
#msl-portfolio-report .msl-report-share-big{ color:#fff; }
#msl-portfolio-report .msl-report-share-big b{ color:var(--msl-amber); }
#msl-portfolio-report .msl-report-share-brand,
#msl-portfolio-report .msl-report-share-safe{ color:var(--msl-amber); }

/* ── 2 · dropzone drag state (interaction, not identity) ───────────── */
#msl-portfolio-report .msl-dropzone.is-drag{ border-color:var(--msl-amber); background:var(--msl-cream-2); }
/* ===== END PORTFOLIO REPORT FOLD ===== */

/* ============================================================================
   MSL · COST-BLOCK REDESIGN — FOLDED (Design-Ops 2026-06-18)
   storyblock-num + ratiobar + storyblock--neutral. Tokens only, 0 inline.
   ============================================================================ */
/* >>> MSL-STORYBLOCK-NUM  (מספר-עצמאי, עקבי עם שאר הבלוקים, clamp למובייל) */
.msl-storyblock-num{
  font-family:var(--msl-font); font-weight:var(--msl-w-black);
  font-size:clamp(2.75rem, 9vw, var(--msl-size-num-xl)); line-height:1;
  letter-spacing:var(--msl-ls-heading); color:var(--msl-amber-deep);
  font-variant-numeric:tabular-nums; margin:var(--msl-sp-3) 0 var(--msl-sp-2);
}
.msl-storyblock--hero .msl-storyblock-num{ color:var(--msl-amber); }
/* <<< END MSL-STORYBLOCK-NUM */

/* >>> MSL-RATIOBAR  (פס-יחס יחיד — מחליף את cmpbars בבלוק העלות) */
.msl-ratiobar{ display:flex; flex-direction:column; gap:var(--msl-sp-2); }
.msl-ratiobar-lbl{ font-size:var(--msl-size-meta); color:rgba(255,255,255,.6); font-weight:var(--msl-w-mid); }
.msl-ratiobar-track{ position:relative; height:12px; border-radius:var(--msl-r-pill);
  background:rgba(255,255,255,.14); overflow:hidden; }            /* כל-המסילה = הרווח */
.msl-ratiobar-fill{ position:absolute; inset-block:0; inset-inline-start:0;
  inline-size:calc(var(--p,0) * 1%); border-radius:var(--msl-r-pill);
  background:linear-gradient(90deg,var(--msl-amber-deep),var(--msl-amber));   /* ענבר, לא אדום */
  transition:inline-size .5s cubic-bezier(.22,.61,.36,1); }       /* החלק = העמלה */
.msl-ratiobar-val{ font-size:var(--msl-size-small); font-weight:var(--msl-w-bold); color:var(--msl-amber); }
/* <<< END MSL-RATIOBAR */

/* >>> MSL-STORYBLOCK--NEUTRAL  (מצב-B: בלי פס, בלי אחוז, בלי צבע-אזהרה) */
.msl-storyblock-substat{ font-size:var(--msl-size-small); color:rgba(255,255,255,.6); font-weight:var(--msl-w-mid); margin:0; }
/* <<< END MSL-STORYBLOCK--NEUTRAL */

/* >>> RATIOBAR-SURFACE-VARIANT (Design-Ops 2026-06-18) — light surface = default, dark = override */
.msl-ratiobar-lbl   { color: var(--msl-muted); }
.msl-ratiobar-track { background: rgba(6,20,43,.10); }
.msl-ratiobar-val   { color: var(--msl-amber-deep); }
.msl-storyblock--hero .msl-ratiobar-lbl,
.msl-on-dark .msl-ratiobar-lbl   { color: rgba(255,255,255,.6); }
.msl-storyblock--hero .msl-ratiobar-track,
.msl-on-dark .msl-ratiobar-track { background: rgba(255,255,255,.14); }
.msl-storyblock--hero .msl-ratiobar-val,
.msl-on-dark .msl-ratiobar-val   { color: var(--msl-amber); }
/* <<< END RATIOBAR-SURFACE-VARIANT */

/* === Beta flag -> hero badge (gal-1 tools, 2026-06-19) ===
   Tool pages ship a leading Beta line before the shortcode (some as
   <p class="msl-beta-flag">Beta</p>, insurance as <p class="msl-kicker">Beta…</p>).
   It rendered as an unstyled cream strip above the hero (the "cream seam"). Pin
   the leading line as a small badge inside the hero top corner and remove it from
   flow so the hero sits flush under the menu. Template-wide for all gal-1 tools.
   Only the DIRECT child of .msl-calc-page is targeted (the hero's own kicker is
   nested, untouched). */
.msl-calc-page{ position:relative; }
.msl-calc-page > .msl-beta-flag,
.msl-calc-page > .msl-kicker{
  position:absolute; top:var(--msl-sp-4); inset-inline-end:var(--msl-sp-5);
  margin:0; z-index:4; white-space:nowrap;
  font:var(--msl-w-bold) var(--msl-size-tiny)/1 var(--msl-font);
  letter-spacing:var(--msl-ls-eyebrow); text-transform:uppercase;
  color:var(--msl-navy); background:var(--msl-amber);
  padding:.4em .75em; border-radius:var(--msl-r-pill);
}
.msl-calc-page > .msl-kicker::before{ display:none; }

/* Kicker contrast (2026-06-19): base .msl-kicker is now dark amber (#8a5e18) so
   kickers on light/cream surfaces (e.g. "כלים קשורים"/"מסלולים נוספים") pass WCAG.
   Restore bright gold on dark surfaces. Hero/.msl-card--dark already override; this
   also covers any .msl-on-dark kicker. */
.msl-on-dark .msl-kicker{ color:var(--msl-amber); }
.msl-on-dark .msl-kicker::before{ background:var(--msl-amber); }
