/* ============================================================================
   Materiality Navigator — LAYER 4, loaded after knowledge-card.css and
   knowledge-hub.css. London Reporting Academy
   ----------------------------------------------------------------------------
   Two pages: the navigator index (`mnv-idx`) and the guided screening for one
   industry (`mnv` + `mn-` topic cards). Everything a Hub page already has —
   tokens (declared on .kh-page), hub bar, crumbs, eyebrow, title, stand,
   kicker, h2, bridge and buttons — comes from the two Hub layers. This file
   is only the blocks the screening flow adds.

   Colour grammar, kept from the July prototype but mapped onto Hub tokens:
     teal   = the flow itself (steps, Start here, selected state)
     amber  = status and "check / needs evidence" (the --v-amber tints)
     violet = emerging issues
     green / amber / red on a decided card = include / evidence / exclude,
              always paired with a text chip so colour is never the only cue.
   ========================================================================== */

.mnv{--mn-green:#1f7a4d;--mn-green-bg:#e3f2ea;--mn-red:#9c3f3b;--mn-red-bg:#f7e4e2;
     --mn-violet:#5f4f86;--mn-violet-bg:#ece6f5;--mn-amber:#7a5b00;--mn-amber-bg:#f7edd2;
     --mn-teal-bg:#e0f1f3;--mn-focus:0 0 0 3px rgba(98,181,225,.35);
     background:var(--lra-color-white)}
.mnv *,.mnv *::before,.mnv *::after{box-sizing:border-box}
.mnv.has-prog{padding-bottom:88px}
.mn-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.mnv [hidden]{display:none!important}

/* Focus: one visible ring for every control the flow adds. */
.mnv :is(button,a,input,textarea,summary):focus-visible{outline:2px solid var(--lra-color-teal);outline-offset:2px}

/* ── Hero ─────────────────────────────────────────────────────────────── */
.mnv-hero{padding-bottom:var(--lra-spacing-xl);background:var(--lra-color-gray-100);border-bottom:1px solid var(--lra-color-gray-300)}
.mnv-hero__inner{max-width:820px;padding-top:var(--lra-spacing-xl)}
.mnv-hero__inner .kh-title{max-width:34ch}
.mnv-hero__grid.has-art{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:var(--lra-spacing-xl);align-items:center}
.mnv-hero__main{min-width:0}
.mnv-hero__art{margin:var(--lra-spacing-xl) 0 0;border-radius:14px;overflow:hidden;box-shadow:0 18px 40px -24px rgba(20,50,76,.45);background:#fff}
.mnv-hero__art img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
@media (max-width:960px){.mnv-hero__grid.has-art{grid-template-columns:1fr;gap:var(--lra-spacing-lg)}.mnv-hero__art{order:-1;margin-top:var(--lra-spacing-lg);max-width:560px}}
.mnv-problem{margin:var(--lra-spacing-sm) 0 var(--lra-spacing-sm);max-width:60ch;font-size:var(--lra-font-size-base);line-height:1.55;color:var(--kh-teal-ink,#00707f);font-weight:600}

/* ── Index hero demo ────────────────────────────────────────────────────
   A 16-second loop through the four screening steps. Each scene owns a
   quarter of the loop (4s): fade in, hold, fade out. The step rail, the
   picked chip, the topic rows and the decision chips reuse the same loop
   with a delay, so everything stays in step without JS. Reduced motion
   shows the last scene, which carries the whole idea on its own. */
.mnv-demo{position:relative;background:var(--lra-color-white);border:1px solid var(--lra-color-gray-300)}
.mnv-demo__in{display:flex;flex-direction:column;padding:18px 20px 14px;font-size:14px;color:var(--lra-color-gray-800)}
.mnv-demo__rail{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:0 0 14px;padding:0;list-style:none;counter-reset:mnvstep}
.mnv-demo__rail li{counter-increment:mnvstep;padding-top:8px;border-top:3px solid var(--lra-color-gray-300);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--lra-color-gray-600,#6b7785);animation:mnvRail 20s infinite both}
.mnv-demo__rail li::before{content:counter(mnvstep) "  "}
.mnv-demo__rail li:nth-child(2){animation-delay:5s}
.mnv-demo__rail li:nth-child(3){animation-delay:10s}
.mnv-demo__rail li:nth-child(4){animation-delay:15s}
.mnv-demo__stage{display:grid;flex:1;margin-bottom:14px}
.mnv-demo__scene{grid-area:1/1;opacity:0;animation:mnvScene 20s infinite both}
.mnv-demo__scene--2{animation-delay:5s}
.mnv-demo__scene--3{animation-delay:10s}
.mnv-demo__scene--4{animation-delay:15s}
.mnv-demo__q{margin:0 0 12px;font-family:var(--lra-font-family-serif,Lora,Georgia,serif);font-size:19px;line-height:1.25;color:var(--lra-color-primary)}
.mnv-demo__chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.mnv-demo__chips--col{flex-direction:column;align-items:flex-start}
.mnv-demo__chips li{padding:7px 12px;border:1px solid var(--lra-color-gray-300);border-radius:999px;background:var(--lra-color-gray-100);font-weight:600}
.mnv-demo__scene--1 .is-pick{animation:mnvPick 20s infinite both}
.mnv-demo__scene--2 .is-pick{animation:mnvPick 20s 5s infinite both}
.mnv-demo__topics{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.mnv-demo__topics li{display:flex;flex-direction:column;gap:3px;padding:9px 12px;border:1px solid var(--lra-color-gray-300);border-inline-start:3px solid var(--lra-color-teal);border-radius:8px;background:var(--lra-color-white)}
.mnv-demo__topics b{font-weight:600;line-height:1.3;color:var(--lra-color-primary)}
.mnv-demo__topics span{font-size:12px;color:var(--kh-teal-ink,#00707f);font-weight:600}
.mnv-demo__scene--3 li{animation:mnvRow 20s infinite both}
.mnv-demo__scene--3 li:nth-child(1){animation-delay:10s}
.mnv-demo__scene--3 li:nth-child(2){animation-delay:10.44s}
.mnv-demo__scene--3 li:nth-child(3){animation-delay:10.88s}
.mnv-demo__topics--dec li{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}
.mnv-demo__topics--dec em{flex:none;padding:3px 9px;border-radius:999px;font-size:11px;font-style:normal;font-weight:700;animation:mnvStamp 20s infinite both}
.mnv-demo__topics--dec li:nth-child(1) em{animation-delay:15s}
.mnv-demo__topics--dec li:nth-child(2) em{animation-delay:15.5s}
.mnv-demo__topics--dec li:nth-child(3) em{animation-delay:16s}
.mnv-demo .d-inc{background:var(--mn-green-bg,#e3f2ea);color:var(--mn-green,#1f7a4d)}
.mnv-demo .d-evi{background:var(--mn-amber-bg,#f7edd2);color:var(--mn-amber,#7a5b00)}
.mnv-demo .d-low{background:var(--mn-red-bg,#f7e4e2);color:var(--mn-red,#9c3f3b)}
.mnv-demo__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid var(--lra-color-gray-300);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--kh-teal-ink,#00707f)}
.mnv-demo__foot img{display:block;width:96px;height:auto;aspect-ratio:auto}
@keyframes mnvScene{0%{opacity:0;transform:translateX(22px);filter:blur(3px)}4%,22%{opacity:1;transform:none;filter:none}25%,100%{opacity:0;transform:translateX(-14px);filter:blur(2px)}}
@keyframes mnvRail{0%{color:var(--lra-color-gray-600,#6b7785);border-top-color:var(--lra-color-gray-300)}2%,24%{color:var(--lra-color-primary);border-top-color:var(--lra-color-teal)}25%,100%{color:var(--lra-color-gray-600,#6b7785);border-top-color:var(--lra-color-gray-300)}}
@keyframes mnvPick{0%,7%{background:var(--lra-color-gray-100);border-color:var(--lra-color-gray-300);color:inherit}10%,24%{background:var(--lra-color-teal);border-color:var(--lra-color-teal);color:#fff}25%,100%{background:var(--lra-color-gray-100);border-color:var(--lra-color-gray-300);color:inherit}}
@keyframes mnvRow{0%,2%{opacity:0;transform:translateY(10px)}6%,22%{opacity:1;transform:none}25%,100%{opacity:1}}
@keyframes mnvStamp{0%,3%{opacity:0}7%,100%{opacity:1}}
@media (max-width:960px){.mnv-hero__art.mnv-demo{order:0}.mnv-hero__side{max-width:560px;width:100%}}
@media (max-width:480px){.mnv-demo__q{font-size:17px}.mnv-demo__rail li{font-size:10px}}
@media (prefers-reduced-motion:reduce){
  .mnv-demo *{animation:none!important}
  .mnv-demo__scene{opacity:0}
  .mnv-demo__scene--4{opacity:1}
  .mnv-demo__rail li:nth-child(4){color:var(--lra-color-primary);border-top-color:var(--lra-color-teal)}
}
/* Wide variant under the status note: the four steps run across both columns
   and the rail fills step by step, so the strip reads as a moving walkthrough. */
.mnv-demo--wide{margin-top:var(--lra-spacing-lg);border-radius:14px;box-shadow:0 18px 40px -30px rgba(20,50,76,.45)}
.mnv-demo--wide .mnv-demo__in{padding:20px 28px 14px}
.mnv-demo--wide .mnv-demo__rail{gap:14px;margin-bottom:16px}
.mnv-demo--wide .mnv-demo__rail li{position:relative;font-size:12px;animation-name:mnvRailText}
.mnv-demo--wide .mnv-demo__rail li::after{content:"";position:absolute;top:-3px;inset-inline-start:0;height:3px;width:0;background:var(--lra-color-teal);animation:mnvFill 20s linear infinite both}
.mnv-demo--wide .mnv-demo__rail li:nth-child(2)::after{animation-delay:5s}
.mnv-demo--wide .mnv-demo__rail li:nth-child(3)::after{animation-delay:10s}
.mnv-demo--wide .mnv-demo__rail li:nth-child(4)::after{animation-delay:15s}
.mnv-demo--wide .mnv-demo__stage{min-height:132px}
.mnv-demo--wide .mnv-demo__chips--col{flex-direction:row;align-items:center}
.mnv-demo--wide .mnv-demo__topics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mnv-demo--wide .mnv-demo__topics--dec li{flex-direction:column;align-items:flex-start;justify-content:space-between}
@keyframes mnvRailText{0%{color:var(--lra-color-gray-600,#6b7785)}2%,24%{color:var(--lra-color-primary)}25%,100%{color:var(--lra-color-gray-600,#6b7785)}}
@keyframes mnvFill{0%{width:0}24%{width:100%}25%,100%{width:0}}
@media (max-width:760px){.mnv-demo--wide .mnv-demo__topics{grid-template-columns:1fr}.mnv-demo--wide .mnv-demo__in{padding:16px 16px 12px}.mnv-demo--wide .mnv-demo__rail{gap:6px}.mnv-demo--wide .mnv-demo__rail li{font-size:10px}}
@media (prefers-reduced-motion:reduce){.mnv-demo--wide .mnv-demo__rail li::after{animation:none;width:0}.mnv-demo--wide .mnv-demo__rail li:nth-child(4)::after{width:100%}}
/* Wave: a diagonal light sweep across the strip at every step change (the homepage
   Study Studio thumbnail sweep, looped on the 4-second step clock). */
.mnv-demo--wide{overflow:hidden}
.mnv-demo--wide::after{content:"";position:absolute;top:-60%;left:-40%;width:28%;height:220%;transform:rotate(18deg);pointer-events:none;z-index:2;
  background:linear-gradient(100deg,transparent 0%,rgba(0,144,167,.07) 40%,rgba(0,144,167,.13) 50%,rgba(0,144,167,.07) 60%,transparent 100%);animation:mnvWave 5s cubic-bezier(.22,1,.36,1) infinite}
@keyframes mnvWave{0%{left:-40%}45%,100%{left:130%}}
/* Preloader: the shortlist cards shimmer as skeletons before their text resolves. */
.mnv-demo--wide .mnv-demo__scene--3 li{position:relative;overflow:hidden}
.mnv-demo--wide .mnv-demo__scene--3 li::after{content:"";position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(90deg,var(--mn-skel-a,#eef2f5) 0%,var(--mn-skel-b,#f8fafb) 50%,var(--mn-skel-a,#eef2f5) 100%) 0 0/200% 100%;
  animation:mnvSkel 16s infinite both,mnvShimmer 1s linear infinite}
.mnv-demo--wide .mnv-demo__scene--3 li:nth-child(1)::after{animation-delay:10s,0s}
.mnv-demo--wide .mnv-demo__scene--3 li:nth-child(2)::after{animation-delay:10.44s,0s}
.mnv-demo--wide .mnv-demo__scene--3 li:nth-child(3)::after{animation-delay:10.88s,0s}
@keyframes mnvSkel{0%,6%{opacity:1}9%,100%{opacity:0}}
@keyframes mnvShimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}

/* Navy variant: the homepage Study Studio panel palette, so the strip reads as an
   explainer banner rather than part of the page. */
.mnv-demo--navy{border:0;color:#fff;--mn-skel-a:rgba(255,255,255,.10);--mn-skel-b:rgba(255,255,255,.22);
  background:radial-gradient(640px 240px at 92% 4%,rgba(98,181,225,.18),transparent 70%),linear-gradient(165deg,#0d3068 0%,#1b5182 45%,#0090a7 100%)}
.mnv-demo--navy::after{background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.08) 40%,rgba(255,255,255,.16) 50%,rgba(255,255,255,.08) 60%,transparent 100%)}
.mnv-demo--navy .mnv-demo__in{color:rgba(255,255,255,.86)}
.mnv-demo--navy .mnv-demo__rail li{color:rgba(255,255,255,.6);border-top-color:rgba(255,255,255,.22);animation-name:mnvRailNavy}
.mnv-demo--navy .mnv-demo__rail li::after{background:#62b5e1}
.mnv-demo--navy .mnv-demo__q{color:#fff}
.mnv-demo--navy .mnv-demo__chips li{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.26);color:#fff}
.mnv-demo--navy .mnv-demo__scene--1 .is-pick,.mnv-demo--navy .mnv-demo__scene--2 .is-pick{animation-name:mnvPickNavy}
.mnv-demo--navy .mnv-demo__topics li{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);border-inline-start-color:#ffb672}
.mnv-demo--navy .mnv-demo__topics b{color:#fff}
.mnv-demo--navy .mnv-demo__topics span{color:#62b5e1}
.mnv-demo--navy .mnv-demo__foot{border-top-color:rgba(255,255,255,.2);color:#62b5e1}
.mnv-demo--navy .mnv-demo__foot img{filter:brightness(0) invert(1)}
.mnv-demo--navy .mnv-demo__foot{min-height:66px;padding-top:0;padding-inline-end:240px}
.mnv-demo--navy .mnv-demo__foot span{display:none}
@keyframes mnvRailNavy{0%{color:rgba(255,255,255,.6)}2%,24%{color:#fff}25%,100%{color:rgba(255,255,255,.6)}}
@keyframes mnvPickNavy{0%,7%{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.26);color:#fff}10%,24%{background:#62b5e1;border-color:#62b5e1;color:#0d3068}25%,100%{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.26);color:#fff}}
/* Call to action with the homepage "Tour the platform" pulse ring and shine. */
.mnv-demo__cta{position:absolute;inset-block-end:24px;inset-inline-end:28px;z-index:3;display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border:1px solid #ffb672;border-radius:10px;overflow:hidden;isolation:isolate;
  background:linear-gradient(135deg,#1d4f8a 0%,#2a78b8 100%);color:#fff;font-weight:700;font-size:14px;text-decoration:none;animation:mnvCtaPulse 3.6s ease-in-out infinite;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.mnv-demo__cta::after{content:"";position:absolute;top:0;left:-90%;width:55%;height:100%;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.35) 50%,transparent 100%);transform:skewX(-22deg);pointer-events:none;animation:mnvCtaShine 6s ease-in-out 1.6s infinite}
.mnv-demo__cta:hover{transform:translateY(-3px);background:linear-gradient(135deg,#2a78b8 0%,#62b5e1 100%);box-shadow:0 16px 32px rgba(98,181,225,.45),0 6px 14px rgba(13,48,104,.4);animation-play-state:paused;color:#fff}
.mnv-demo__cta:focus-visible{outline:2px solid #fff;outline-offset:3px}
@keyframes mnvCtaPulse{0%,100%{box-shadow:0 6px 16px rgba(98,181,225,.22),0 0 0 0 rgba(98,181,225,.5);transform:translateY(0)}50%{box-shadow:0 10px 22px rgba(98,181,225,.35),0 0 0 10px rgba(98,181,225,0);transform:translateY(-1.5px)}}
@keyframes mnvCtaShine{0%{left:-90%}35%,100%{left:140%}}
@media (max-width:760px){.mnv-demo--navy .mnv-demo__foot{padding-inline-end:0}.mnv-demo__cta{position:relative;inset:auto;margin:0 16px 16px}}
@media (prefers-reduced-motion:reduce){.mnv-demo--wide::after,.mnv-demo--wide .mnv-demo__scene--3 li::after{display:none}.mnv-demo__cta,.mnv-demo__cta::after{animation:none}.mnv-demo__cta::after{display:none}}
.mnv-hero__side{min-width:0}
.mnv-idx .mnv-hero__grid.has-art{align-items:start}
.mnv-idx .mnv-status{max-width:none}
.mnv-idx .mnv-hero__side .mnv-film{margin-top:var(--lra-spacing-xl)}
.mnv-film{display:block;box-sizing:border-box;width:100%;max-width:100%;margin-top:0;padding:0;border:1px solid var(--lra-color-gray-300);border-radius:14px;overflow:hidden;background:var(--lra-color-white);color:var(--lra-color-primary);font:inherit;text-align:start;cursor:pointer;box-shadow:0 18px 40px -28px rgba(20,50,76,.55);transition:border-color .2s,box-shadow .2s}
.mnv-film:hover{border-color:var(--lra-color-teal);box-shadow:0 22px 44px -24px rgba(20,50,76,.6)}
.mnv-film__frame{position:relative;display:block;width:100%;height:0;padding-top:56.25%;overflow:hidden;background:#0b1f33}
.mnv-film__frame img{position:absolute;top:0;left:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform .4s ease}
.mnv-film:hover .mnv-film__frame img{transform:scale(1.03)}
.mnv-film__play{position:absolute;inset:50% auto auto 50%;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:50%;background:var(--lra-color-teal);box-shadow:0 0 0 8px rgba(255,255,255,.28);transition:transform .2s}
.mnv-film__play::before{content:"";position:absolute;inset:50% auto auto 50%;margin:-11px 0 0 -6px;border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent #fff}
.mnv-film:hover .mnv-film__play{transform:scale(1.08)}
.mnv-film__dur{position:absolute;inset-block-end:10px;inset-inline-end:10px;padding:2px 8px;border-radius:6px;background:rgba(9,20,34,.78);color:#fff;font-size:12px;font-weight:700}
.mnv-film__t{display:flex;flex-direction:column;gap:2px;padding:12px 16px 14px;font-weight:700;line-height:1.3}
.mnv-film__t small{font-size:var(--lra-font-size-xs,12px);font-weight:500;color:var(--lra-color-gray-600,#6b7785)}
@media (prefers-reduced-motion:reduce){.mnv-film__frame img,.mnv-film__play{transition:none}.mnv-film:hover .mnv-film__frame img,.mnv-film:hover .mnv-film__play{transform:none}}
.mnv-video{position:fixed;inset:0;margin:auto;height:fit-content;width:min(1100px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:0;border-radius:14px;background:#0b1f33;color:#fff;overflow:hidden}
.mnv-video::backdrop{background:rgba(9,20,34,.72)}
.mnv-video__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px}
.mnv-video__h{margin:0;font-size:15px;font-weight:600}
.mnv-video__x{width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:22px;line-height:1;cursor:pointer}
.mnv-video__x:focus-visible{outline:2px solid #fff;outline-offset:2px}
.mnv-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#000}
.mnv-hypo{margin-top:var(--lra-spacing-md);max-width:66ch;padding-inline-start:var(--lra-spacing-md);border-inline-start:3px solid var(--lra-color-teal);font-size:var(--lra-font-size-base);line-height:1.6;color:var(--lra-color-gray-800)}

/* The status banner — what the data is, set where it is read before anything
   else is used. Informational, so teal (the flow colour), not the amber of a
   warning. */
.mnv-status{margin-top:var(--lra-spacing-lg);max-width:820px;padding:var(--lra-spacing-md) var(--lra-spacing-lg);background:var(--v-teal);border:1px solid var(--v-teal-line);border-inline-start:4px solid var(--lra-color-teal);border-radius:var(--lra-border-radius-sm)}
.mnv-status__tag{display:flex;align-items:center;gap:10px;font-size:var(--lra-font-size-xs);font-weight:var(--lra-font-weight-bold);letter-spacing:.1em;text-transform:uppercase;color:var(--kh-teal-ink)}
.mnv-status__tag::before{content:"i";display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--lra-color-teal);color:var(--lra-color-white);font-size:10px;font-style:italic;letter-spacing:0;flex:none}
.mnv-status p+p{margin-top:6px;font-size:var(--lra-font-size-base);line-height:1.6;color:var(--lra-color-gray-800)}

/* ── Body + panels ────────────────────────────────────────────────────── */
.mnv-body{display:grid;gap:var(--lra-spacing-lg);padding-block:var(--lra-spacing-xl) var(--lra-spacing-3xl)}
.mnv-body>*{min-width:0}
.mnv-body>.kh-bridge{margin-top:var(--lra-spacing-md)}
.mnv-panel{background:var(--lra-color-white);border:1px solid var(--lra-color-gray-300);border-radius:var(--lra-border-radius-sm);padding:var(--lra-spacing-lg)}
.mnv-step{border-top:3px solid var(--lra-color-teal);scroll-margin-top:140px}
.mnv-step:focus,#mn-shortlist-h:focus{outline:none}
.mnv-fs{margin:0;padding:0;border:0;min-width:0}
.mnv-legend{display:grid;gap:4px;padding:0;margin-bottom:var(--lra-spacing-md)}
.mnv-legend .kh-kicker{color:var(--kh-teal-ink)}
.mnv-legend__t{font-family:var(--lra-font-secondary);font-size:var(--lra-font-size-xl);font-weight:var(--lra-font-weight-semibold);letter-spacing:var(--lra-letter-spacing-base);line-height:1.3;color:var(--lra-color-primary)}
.mnv-help{margin-top:-6px;margin-bottom:var(--lra-spacing-md);max-width:70ch;font-size:var(--lra-font-size-base);line-height:1.6;color:var(--lra-color-gray-700)}
.mnv-step>.kh-kicker{color:var(--kh-teal-ink)}
.mnv-step>.kh-h2{margin-bottom:var(--lra-spacing-sm)}
.mnv-step>.mnv-help{margin-top:0}

/* Step 1 — sub-industry radio group. Native radios stay visible. */
.mnv-subs{display:flex;flex-wrap:wrap;gap:var(--lra-spacing-sm)}
.mnv-sub{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:10px 14px;border:1px solid var(--lra-color-gray-300);border-radius:var(--lra-border-radius-sm);background:var(--lra-color-white);cursor:pointer;font-size:var(--lra-font-size-base);font-weight:var(--lra-font-weight-semibold);color:var(--lra-color-primary);transition:var(--lra-transition-fast)}
.mnv-sub:hover{border-color:var(--lra-color-teal)}
.mnv-sub input{margin:0;width:16px;height:16px;flex:none;accent-color:var(--lra-color-teal)}
.mnv-sub input:focus-visible{outline-offset:3px}
.mnv-sub__n{font-size:11px;font-weight:var(--lra-font-weight-semibold);color:var(--lra-color-gray-700);background:var(--lra-color-gray-200);border-radius:999px;padding:3px 8px}
.mnv-sub.is-on{border-color:var(--lra-color-teal);background:var(--v-teal);box-shadow:inset 0 0 0 1px var(--lra-color-teal)}
.mnv-sub.is-on .mnv-sub__n{background:var(--lra-color-teal);color:var(--lra-color-white)}
.mnv-sub--all{background:var(--lra-color-gray-100)}

/* Step 2 — activity checkboxes. */
.mnv-acts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--lra-spacing-sm)}
.mnv-act{display:grid;align-content:start;grid-template-columns:18px minmax(0,1fr);column-gap:10px;align-items:start;padding:11px 13px;border:1px solid var(--lra-color-gray-300);border-radius:var(--lra-border-radius-sm);background:var(--lra-color-white);cursor:pointer;transition:var(--lra-transition-fast)}
.mnv-act:hover{border-color:var(--v-teal-line)}
.mnv-act input{margin:2px 0 0;width:16px;height:16px;accent-color:var(--lra-color-teal)}
.mnv-act__t{font-size:var(--lra-font-size-base);font-weight:var(--lra-font-weight-semibold);line-height:1.4;color:var(--lra-color-primary)}
.mnv-act__why{grid-column:2;margin-top:3px;font-size:var(--lra-font-size-xs);line-height:1.5;color:var(--lra-color-gray-700)}
.mnv-act.is-on{border-color:var(--lra-color-teal);background:var(--v-teal)}
.mnv-help--src{margin-top:-6px;font-size:var(--lra-font-size-sm);font-style:italic}

/* Step 3 — counts */
.mnv-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--lra-spacing-sm)}
.mnv-stat{padding:var(--lra-spacing-md);border:1px solid var(--lra-color-gray-300);border-top:3px solid var(--mn-c,var(--lra-color-teal));border-radius:var(--lra-border-radius-sm);background:var(--lra-color-gray-100)}
.mnv-stat b{display:block;font-family:var(--lra-font-secondary);font-size:28px;font-weight:var(--lra-font-weight-semibold);line-height:1;color:var(--lra-color-primary)}
.mnv-stat span{display:block;margin-top:6px;font-size:var(--lra-font-size-xs);font-weight:var(--lra-font-weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--lra-color-gray-700)}
.mnv-stat--check{--mn-c:#c9971f}
.mnv-stat--emerging{--mn-c:var(--mn-violet)}
.mnv-validate{margin-top:var(--lra-spacing-sm);font-size:var(--lra-font-size-sm);line-height:1.55;color:var(--v-amber-ink)}
.mnv-validate:empty{display:none}

/* Priority groups */
.mnv-grp{margin-top:var(--lra-spacing-xl)}
.mnv-grp__head{display:flex;align-items:baseline;gap:10px;padding-bottom:6px;border-bottom:2px solid var(--lra-color-primary)}
.kh-page .mnv-grp__head h3{font-size:var(--lra-font-size-xl);letter-spacing:var(--lra-letter-spacing-base)}
.mnv-grp__n{font-size:var(--lra-font-size-xs);font-weight:var(--lra-font-weight-semibold);color:var(--lra-color-gray-700);background:var(--lra-color-gray-200);border-radius:999px;padding:2px 9px}
.mnv-grp__sub{margin:8px 0 var(--lra-spacing-md);font-size:var(--lra-font-size-sm);line-height:1.55;color:var(--lra-color-gray-700)}
.mnv-grp__list{display:grid;gap:var(--lra-spacing-sm)}

/* Topics for other sub-industries */
.mnv-lower{background:var(--lra-color-gray-100)}
.mnv-lower__btn{display:flex;flex-wrap:wrap;align-items:center;gap:6px var(--lra-spacing-md);width:100%;padding:0;border:0;background:none;text-align:start;cursor:pointer;font:inherit}
.mnv-lower__btn .kh-kicker{color:var(--lra-color-gray-700)}
.mnv-lower__t{flex:1 1 240px;font-size:var(--lra-font-size-base);color:var(--lra-color-primary)}
.mnv-lower__caret::before{content:"▾";display:inline-block;color:var(--lra-color-teal);transition:transform var(--lra-transition-fast)}
.mnv-lower__btn[aria-expanded="true"] .mnv-lower__caret::before{transform:rotate(180deg)}
.mnv-lower #grp-lower{margin-top:var(--lra-spacing-md)}
.mnv-pool>.kh-h2{margin-bottom:var(--lra-spacing-md)}
.mnv-pool{display:grid;gap:var(--lra-spacing-sm)}

/* ── Topic card ───────────────────────────────────────────────────────── */
.mn-card{border:1px solid var(--lra-color-gray-300);border-inline-start:3px solid var(--lra-color-gray-300);border-radius:var(--lra-border-radius-sm);background:var(--lra-color-white);scroll-margin-top:140px}
.mn-card.is-open{border-color:var(--lra-color-gray-400);box-shadow:0 10px 28px rgba(13,48,104,.08)}
.mn-card.is-include{border-inline-start-color:var(--mn-green)}
.mn-card.is-evidence{border-inline-start-color:#c9971f}
.mn-card.is-exclude{border-inline-start-color:var(--mn-red)}
.kh-page .mn-card__h{margin:0;font-family:var(--lra-font-primary);font-size:inherit}
.mn-hd{display:grid;grid-template-columns:minmax(0,1fr) auto 22px;align-items:center;gap:6px var(--lra-spacing-md);width:100%;padding:14px var(--lra-spacing-md);border:0;background:none;text-align:start;cursor:pointer;font:inherit;color:inherit;border-radius:var(--lra-border-radius-sm)}
.mn-hd:hover .mn-hd__nm{color:var(--lra-color-teal)}
.mn-hd__tn{display:grid;gap:3px;min-width:0}
.mn-hd__nm{font-size:var(--lra-font-size-md);font-weight:var(--lra-font-weight-semibold);line-height:1.35;color:var(--lra-color-primary);transition:color var(--lra-transition-fast)}
.mn-hd__sub{font-size:var(--lra-font-size-xs);color:var(--lra-color-gray-700)}
.mnv.is-ready:not(.is-all) #mnv-shortlist .mn-hd__sub{display:none}
.mn-because{font-size:var(--lra-font-size-xs);font-weight:var(--lra-font-weight-medium);line-height:1.45;color:var(--lra-color-primary-light)}
.mn-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}
.mn-caret{width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--lra-color-gray-300);border-radius:50%}
.mn-caret::before{content:"";width:6px;height:6px;border-right:1.5px solid var(--lra-color-gray-700);border-bottom:1.5px solid var(--lra-color-gray-700);transform:translateY(-1px) rotate(45deg);transition:transform var(--lra-transition-fast)}
.mn-card.is-open .mn-caret::before{transform:translateY(1px) rotate(-135deg)}

.mn-badge{display:inline-flex;align-items:center;font-family:var(--kh-mono);font-size:10px;font-weight:var(--lra-font-weight-semibold);letter-spacing:.05em;line-height:1.3;text-transform:uppercase;white-space:nowrap;border-radius:4px;padding:4px 7px;color:var(--lra-color-gray-800);background:var(--lra-color-gray-200)}
.mn-b-start_here{color:var(--kh-teal-ink);background:var(--mn-teal-bg)}
.mn-b-check{color:var(--mn-amber);background:var(--mn-amber-bg)}
.mn-b-emerging{color:var(--mn-violet);background:var(--mn-violet-bg)}
.mn-b-high_likelihood{color:var(--mn-green);background:var(--mn-green-bg)}
.mn-b-medium_likelihood{color:var(--lra-color-gray-800);background:var(--lra-color-gray-200)}
.mn-b-context_dependent{color:#8a4a2b;background:#fbeee3}
.mn-b-matched{color:var(--lra-color-primary);background:#dfe9fb;box-shadow:inset 0 0 0 1px #c5d6f2}
.mn-b-draft{color:var(--v-amber-ink);background:var(--mn-amber-bg)}
.mn-b-reviewed{color:var(--kh-teal-ink);background:var(--mn-teal-bg)}
.mn-b-curated{color:var(--lra-color-primary);background:#dfe9fb}
.mn-b-generated{color:var(--lra-color-gray-800);background:var(--lra-color-gray-200)}
.mn-wsrc{margin-top:var(--lra-spacing-md)}
.mn-card.is-include .mn-decchip{color:var(--mn-green);background:var(--mn-green-bg)}
.mn-card.is-evidence .mn-decchip{color:var(--mn-amber);background:var(--mn-amber-bg)}
.mn-card.is-exclude .mn-decchip{color:var(--mn-red);background:var(--mn-red-bg)}
.mn-card.is-include .mn-decchip::before{content:"✓";content:"✓"/"";margin-inline-end:5px}
.mn-card.is-evidence .mn-decchip::before{content:"●";content:"●"/"";margin-inline-end:5px}
.mn-card.is-exclude .mn-decchip::before{content:"−";content:"−"/"";margin-inline-end:5px}

/* Body: open by default (no-JS reading), collapsed once the script runs. */
.mn-bd{padding:4px var(--lra-spacing-md) var(--lra-spacing-lg);border-top:1px solid var(--lra-color-gray-200)}
.mnv.is-ready .mn-card:not(.is-open) .mn-bd{display:none}
.mnv:not(.is-ready) .mn-dec{display:none}
.mn-meta{list-style:none;margin:var(--lra-spacing-md) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:var(--lra-font-size-xs);color:var(--lra-color-gray-700)}
.mn-meta li{display:flex;align-items:center;gap:6px}
.mn-meta li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--lra-color-gray-400)}
.kh-page .mn-sec{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:var(--lra-spacing-lg) 0 8px;font-family:var(--lra-font-primary);font-size:var(--lra-font-size-xs);font-weight:var(--lra-font-weight-semibold);letter-spacing:.09em;text-transform:uppercase;color:var(--lra-color-gray-700)}
.mn-p{max-width:78ch;font-size:var(--lra-font-size-base);line-height:1.65;color:var(--lra-color-gray-800)}
.mn-pending{margin-top:var(--lra-spacing-sm);max-width:78ch;font-size:var(--lra-font-size-sm);font-style:italic;line-height:1.55;color:var(--lra-color-gray-700)}

.mn-paths,.mn-work{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--lra-spacing-sm);margin-top:var(--lra-spacing-lg)}
.mn-work{grid-template-columns:repeat(3,minmax(0,1fr))}
.mn-path{padding:var(--lra-spacing-md);border:1px solid var(--mn-line);border-radius:var(--lra-border-radius-sm);background:var(--mn-bg)}
.mn-path--impact{--mn-bg:#eef7f1;--mn-line:#cfe7d9;--mn-ink:var(--mn-green)}
.mn-path--fin{--mn-bg:var(--v-blue);--mn-line:var(--v-blue-line);--mn-ink:var(--lra-color-primary-light)}
.kh-page .mn-path h4,.kh-page .mn-work h4{margin:0 0 10px;font-family:var(--lra-font-primary);font-size:var(--lra-font-size-xs);font-weight:var(--lra-font-weight-semibold);letter-spacing:.09em;text-transform:uppercase;color:var(--mn-ink,var(--lra-color-gray-700))}
.mn-path ol{list-style:none;margin:0;padding:0}
.mn-path li{position:relative;padding-inline-start:22px;font-size:var(--lra-font-size-sm);line-height:1.5;color:var(--lra-color-gray-800)}
.mn-path li::before{content:"";position:absolute;inset-inline-start:4px;top:6px;width:7px;height:7px;border-radius:50%;background:var(--mn-ink)}
.mn-path li+li{margin-top:14px}
.mn-paths--list .mn-path li+li{margin-top:6px}
.mn-paths:not(.mn-paths--list) .mn-path li+li::after{content:"↓";position:absolute;inset-inline-start:3px;top:-15px;font-size:11px;line-height:1;color:var(--mn-ink);opacity:.6}
.mn-work__col{padding:var(--lra-spacing-md);border:1px solid var(--lra-color-gray-300);border-radius:var(--lra-border-radius-sm)}
.mn-work__col--q{--mn-ink:var(--kh-teal-ink);--mn-mark:"?"}
.mn-work__col--e{--mn-ink:var(--mn-amber);--mn-mark:"▸"}
.mn-work__col--x{--mn-ink:#8a4a2b;--mn-mark:"−"}
.mn-work ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.mn-work li{position:relative;padding-inline-start:16px;font-size:var(--lra-font-size-sm);line-height:1.5;color:var(--lra-color-gray-800)}
.mn-work li::before{content:var(--mn-mark);position:absolute;inset-inline-start:0;font-weight:var(--lra-font-weight-bold);color:var(--mn-ink)}

.mn-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--lra-spacing-lg)}
.mn-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.mn-chips li{font-size:var(--lra-font-size-xs);color:var(--lra-color-gray-800);border:1px solid var(--lra-color-gray-300);border-radius:999px;padding:4px 10px;background:var(--lra-color-gray-100)}

/* Disclosure connections — one row per mapped code, the "why" beneath. */
.mn-bridge{list-style:none;margin:0;padding:0;border-top:1px solid var(--lra-color-gray-200)}
.mn-bridge__row{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:baseline;gap:4px 10px;padding-block:10px;border-bottom:1px solid var(--lra-color-gray-200)}
.kh-page a.mn-bridge__code,.mn-bridge__code{font-size:var(--lra-font-size-base);font-weight:var(--lra-font-weight-semibold);white-space:nowrap}
.kh-page a.mn-bridge__code{color:var(--lra-color-primary);text-decoration:underline;text-decoration-color:var(--lra-color-gray-400)}
.kh-page a.mn-bridge__code:hover{color:var(--lra-color-teal);text-decoration-color:currentColor}
.mn-bridge__code--plain{color:var(--lra-color-gray-700)}
.mn-bridge__title{font-size:var(--lra-font-size-sm);line-height:1.45;color:var(--lra-color-gray-800)}
.mn-bridge__why{grid-column:1/-1;font-size:var(--lra-font-size-xs);line-height:1.55;color:var(--lra-color-gray-700)}
.mn-rel{font-size:10px;font-weight:var(--lra-font-weight-semibold);letter-spacing:.05em;text-transform:uppercase;color:var(--lra-color-gray-700)}
.mn-rel--direct{color:var(--kh-teal-ink)}
.mn-rel--partial{color:var(--mn-amber)}
.mn-search{margin-top:var(--lra-spacing-sm);font-size:var(--lra-font-size-sm)}
.kh-page .mn-search a{font-weight:var(--lra-font-weight-semibold);text-decoration:none}
.kh-page .mn-search a:hover{text-decoration:underline}

/* Standards to check — one row per source standard hint. */
.mn-std{list-style:none;margin:0;padding:0;border-top:1px solid var(--lra-color-gray-200)}
.mn-std__row{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:baseline;gap:2px 10px;padding-block:9px;border-bottom:1px solid var(--lra-color-gray-200)}
.mn-std__fw{font-family:var(--kh-mono);font-size:10px;font-weight:var(--lra-font-weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--lra-color-gray-700)}
.kh-page a.mn-std__l{font-size:var(--lra-font-size-sm);font-weight:var(--lra-font-weight-semibold);color:var(--lra-color-primary);text-decoration:underline;text-decoration-color:var(--lra-color-gray-400)}
.kh-page a.mn-std__l:hover{color:var(--lra-color-teal);text-decoration-color:currentColor}
.mn-std__l--plain{font-size:var(--lra-font-size-sm);color:var(--lra-color-gray-800)}
.mn-std__kind{grid-column:2;font-size:var(--lra-font-size-xs);color:var(--lra-color-gray-600)}

/* Decision */
.mn-dec{margin-top:var(--lra-spacing-lg);padding-top:var(--lra-spacing-md);border-top:1px dashed var(--lra-color-gray-300)}
.kh-page .mn-dec__l{margin-top:0;color:var(--lra-color-primary)}
.mn-dec__btns{display:flex;flex-wrap:wrap;gap:var(--lra-spacing-sm);margin-bottom:var(--lra-spacing-md)}
.mn-decbtn{min-height:44px;padding:10px 14px;border:1px solid var(--lra-color-gray-400);border-radius:var(--lra-border-radius-sm);background:var(--lra-color-white);font-family:var(--lra-font-primary);font-size:var(--lra-font-size-sm);font-weight:var(--lra-font-weight-semibold);line-height:1.3;color:var(--lra-color-primary);cursor:pointer;text-align:start;transition:var(--lra-transition-fast)}
.mn-decbtn:hover{border-color:var(--lra-color-primary)}
.mn-decbtn[aria-pressed="true"]{color:var(--lra-color-white)}
.mn-decbtn[aria-pressed="true"]::before{content:"✓";content:"✓"/"";margin-inline-end:6px}
.mn-decbtn[data-choice="include"][aria-pressed="true"]{background:var(--mn-green);border-color:var(--mn-green)}
.mn-decbtn[data-choice="evidence"][aria-pressed="true"]{background:var(--mn-amber);border-color:var(--mn-amber)}
.mn-decbtn[data-choice="exclude"][aria-pressed="true"]{background:var(--mn-red);border-color:var(--mn-red)}
.mn-note__l{display:block;margin-bottom:6px;font-size:var(--lra-font-size-sm);font-weight:var(--lra-font-weight-semibold);color:var(--lra-color-gray-800)}
.mn-exq{display:none;color:var(--mn-red)}
.mn-card.is-exclude .mn-exq{display:inline}
.mn-card.is-exclude .mn-note__default{display:none}
.mn-note{display:block;width:100%;max-width:760px;min-height:64px;padding:10px 12px;border:1px solid var(--lra-color-gray-400);border-radius:var(--lra-border-radius-sm);background:var(--lra-color-white);font-family:var(--lra-font-primary);font-size:var(--lra-font-size-base);line-height:1.5;color:var(--lra-color-gray-900);resize:vertical}
.mn-note:focus{outline:none;border-color:var(--lra-color-accent);box-shadow:var(--mn-focus)}
.mn-priv{margin-top:6px;font-size:var(--lra-font-size-xs);line-height:1.5;color:var(--lra-color-gray-700)}

/* ── Course bridge + method ───────────────────────────────────────────── */
/* knowledge-hub.css's `.kh-page .kh-btn` (navy) outranks the card layer's
   gold bridge button, and the Hub pages only get gold back from kh-motion.css,
   which these pages do not load. Restate it here: gold on navy, as on the
   Hub's own course bridge. */
.kh-page .mnv-bridge .kh-btn{height:44px;padding:0 20px;border-radius:var(--lra-border-radius-md);background:var(--kh-gold);border-color:var(--kh-gold);color:var(--kh-gold-ink)}
.kh-page .mnv-bridge .kh-btn:hover{background:#f2dc9a;border-color:#f2dc9a;color:var(--kh-gold-ink)}
.kh-page .mnv-bridge .kh-btn:focus-visible{outline-color:var(--kh-gold)}
.mnv-todo{list-style:none;margin:var(--lra-spacing-md) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px var(--lra-spacing-lg);max-width:760px}
.mnv-todo li{display:flex;align-items:center;gap:8px;font-size:var(--lra-font-size-base);color:var(--kh-dim-2)}
.mnv-todo li::before{content:"✓";color:var(--kh-gold);font-weight:var(--lra-font-weight-bold)}
.mnv-method summary{cursor:pointer;font-size:var(--lra-font-size-base);font-weight:var(--lra-font-weight-semibold);color:var(--lra-color-primary)}
.mnv-method p{margin-top:var(--lra-spacing-sm);max-width:80ch;font-size:var(--lra-font-size-sm);line-height:1.65;color:var(--lra-color-gray-700)}
.mnv-method[open] summary{margin-bottom:var(--lra-spacing-sm)}

/* ── Sticky progress ──────────────────────────────────────────────────── */
.mn-prog{position:fixed;inset-inline:0;bottom:0;z-index:80;background:linear-gradient(135deg,var(--lra-color-primary) 0%,var(--kh-navy-2) 100%);color:var(--lra-color-white);box-shadow:0 -8px 26px rgba(7,26,54,.28)}
.mn-prog__in{display:flex;flex-wrap:wrap;align-items:center;gap:6px var(--lra-spacing-md);padding-block:10px}
.mn-prog__t{font-family:var(--kh-mono);font-size:11px;font-weight:var(--lra-font-weight-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--kh-gold)}
.mn-prog__c{font-size:var(--lra-font-size-sm);color:var(--kh-dim-2)}
.mn-prog__c b{color:var(--lra-color-white)}
.mn-prog__sp{flex:1}
.mn-prog button{min-height:40px;padding:0 16px;border:0;border-radius:var(--lra-border-radius-sm);font-family:var(--lra-font-primary);font-size:var(--lra-font-size-sm);font-weight:var(--lra-font-weight-semibold);cursor:pointer}
.mn-prog__sum{background:var(--kh-gold);color:var(--kh-gold-ink)}
.mn-prog__sum:hover{background:#f2dc9a}
.mn-prog__ex{background:rgba(255,255,255,.12);color:var(--lra-color-white);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
.mn-prog__ex:hover{background:rgba(255,255,255,.2)}
.mn-prog button[aria-busy="true"],.mn-btn[aria-busy="true"]{opacity:.7;cursor:progress}
.mn-prog__msg{flex-basis:100%;font-size:var(--lra-font-size-sm);color:var(--kh-gold)}
.mn-prog__msg:empty{display:none}
.mn-prog__rs{background:transparent;color:var(--kh-dim);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.mn-prog__rs:hover{color:var(--lra-color-white)}
.mn-prog button:focus-visible{outline-color:var(--kh-gold)}

/* ── Summary dialog ───────────────────────────────────────────────────── */
.mn-dialog{position:fixed;inset:0;margin:auto;height:fit-content;width:min(720px,calc(100vw - 32px));overflow:auto;max-height:calc(100vh - 48px);padding:0;border:0;border-radius:var(--lra-border-radius-md);box-shadow:0 24px 70px rgba(7,26,54,.4);color:var(--lra-color-gray-800)}
.mn-dialog::backdrop{background:rgba(9,20,36,.55)}
.mn-dialog__in{position:relative;padding:var(--lra-spacing-xl)}
.mn-dialog__x{position:absolute;top:12px;inset-inline-end:12px;width:40px;height:40px;border:1px solid var(--lra-color-gray-300);border-radius:50%;background:var(--lra-color-white);font-size:22px;line-height:1;color:var(--lra-color-gray-700);cursor:pointer}
.mn-dialog__x:hover{border-color:var(--lra-color-teal);color:var(--lra-color-teal)}
.mn-dialog .kh-h2{padding-inline-end:48px}
.mn-sumcol{margin-top:var(--lra-spacing-lg)}
.kh-page .mn-sumcol__h{margin:0 0 6px;font-family:var(--lra-font-primary);font-size:var(--lra-font-size-xs);font-weight:var(--lra-font-weight-semibold);letter-spacing:.09em;text-transform:uppercase;color:var(--kh-teal-ink)}
.kh-page .mn-sumcol--include .mn-sumcol__h{color:var(--mn-green)}
.kh-page .mn-sumcol--evidence .mn-sumcol__h{color:var(--mn-amber)}
.kh-page .mn-sumcol--exclude .mn-sumcol__h{color:var(--mn-red)}
.mn-sumcol ul{margin:0;padding-inline-start:18px;display:grid;gap:5px}
.mn-sumcol li{font-size:var(--lra-font-size-base);line-height:1.5}
.mn-sumcol li.is-empty{list-style:none;margin-inline-start:-18px;color:var(--lra-color-gray-600)}
.mn-sum__nm{display:block}
.mn-sum__note{display:block;font-size:var(--lra-font-size-sm);color:var(--lra-color-gray-700)}
.mn-limit{margin-top:var(--lra-spacing-lg);padding:12px 14px;background:var(--v-amber);border:1px solid var(--v-amber-line);border-radius:var(--lra-border-radius-sm);font-size:var(--lra-font-size-sm);line-height:1.6;color:var(--lra-color-gray-800)}
.mn-limit b{color:var(--v-amber-ink)}
.mn-share{margin-top:var(--lra-spacing-lg);padding-top:var(--lra-spacing-md);border-top:1px solid var(--lra-color-gray-200)}
.kh-page .mn-share .mn-sec{margin-top:0}
.mn-share__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.mn-share__row input{min-width:0;height:44px;padding:0 12px;border:1px solid var(--lra-color-gray-400);border-radius:var(--lra-border-radius-sm);background:var(--lra-color-gray-100);font-family:var(--kh-mono);font-size:12px;color:var(--lra-color-gray-800)}
.mn-exports{margin-top:var(--lra-spacing-md);display:flex;flex-wrap:wrap;align-items:center;gap:8px var(--lra-spacing-md)}
.mn-exports .mn-priv{flex:1 1 240px;margin:0}
.mn-btn{min-height:44px;padding:0 18px;border:1px solid var(--lra-color-gray-400);border-radius:var(--lra-border-radius-sm);background:var(--lra-color-white);font-family:var(--lra-font-primary);font-size:var(--lra-font-size-sm);font-weight:var(--lra-font-weight-semibold);color:var(--lra-color-primary);cursor:pointer;white-space:nowrap}
.mn-btn--primary{background:var(--lra-color-primary);border-color:var(--lra-color-primary);color:var(--lra-color-white)}
.mn-btn--primary:hover{background:var(--lra-color-primary-light)}
.mn-btn--gold{background:var(--kh-gold);border-color:var(--kh-gold);color:var(--kh-gold-ink)}
.mn-btn--gold:hover{background:#f2dc9a;border-color:#f2dc9a}
.mn-export-msg{flex-basis:100%;margin:0;font-size:var(--lra-font-size-sm);font-weight:var(--lra-font-weight-semibold);color:var(--lra-color-primary)}
.mn-export-msg.is-error{color:var(--mn-red)}
.mn-prog__msg.is-error{color:#ffb4ae}
.mn-export-msg:empty{display:none}
.mn-btn:disabled{cursor:not-allowed;border-style:dashed;background:var(--lra-color-gray-100);color:var(--lra-color-gray-600)}

/* ── Index page ───────────────────────────────────────────────────────── */
.mnv-sector{margin-top:var(--lra-spacing-xl)}
.mnv-sector__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px var(--lra-spacing-md);padding-bottom:6px;margin-bottom:var(--lra-spacing-md);border-bottom:2px solid var(--lra-color-primary)}
.kh-page .mnv-sector__head h3{font-size:var(--lra-font-size-xl);letter-spacing:var(--lra-letter-spacing-base)}
.mnv-sector__n{font-size:var(--lra-font-size-sm);color:var(--lra-color-gray-700)}
.mnv-idx__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--lra-spacing-md)}
.mnv-ind{position:relative;display:grid;align-content:start;gap:8px;height:100%;padding:var(--lra-spacing-md) var(--lra-spacing-lg);border:1px solid var(--lra-color-gray-300);border-top:3px solid var(--lra-color-teal);border-radius:var(--lra-border-radius-sm);background:var(--lra-color-white);transition:var(--lra-transition-fast)}
.mnv-ind:hover{border-color:var(--lra-color-teal);box-shadow:0 14px 32px rgba(13,48,104,.1)}
.mnv-ind .kh-kicker{color:var(--kh-teal-ink)}
.kh-page .mnv-ind h4{margin:0;font-family:var(--lra-font-secondary);font-weight:var(--lra-font-weight-semibold);color:var(--lra-color-primary);font-size:var(--lra-font-size-lg);line-height:1.3;letter-spacing:var(--lra-letter-spacing-base)}
.kh-page .mnv-ind h4 a{font:inherit;letter-spacing:inherit;color:var(--lra-color-primary);text-decoration:none}
.kh-page .mnv-ind h4 a::after{content:"";position:absolute;inset:0}
.kh-page .mnv-ind h4 a:focus-visible{outline:none}
.mnv-ind:has(a:focus-visible){outline:2px solid var(--lra-color-teal);outline-offset:2px}
.mnv-ind__facts{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:var(--lra-font-size-sm);color:var(--lra-color-gray-700)}
.mnv-ind__facts b{color:var(--lra-color-primary)}
.mnv-ind--off{border-style:dashed;border-top-style:solid;border-top-color:var(--lra-color-gray-400);background:var(--lra-color-gray-100)}
.mnv-ind--off:hover{border-color:var(--lra-color-gray-300);border-top-color:var(--lra-color-gray-400);box-shadow:none}
.kh-page .mnv-ind--off h4{color:var(--lra-color-gray-700)}
.mnv-ind__go{font-size:var(--lra-font-size-sm);font-weight:var(--lra-font-weight-semibold);color:var(--lra-color-teal)}
.mnv-idx__empty{font-size:var(--lra-font-size-base);color:var(--lra-color-gray-700)}
.mnv-idx .kh-steps{margin-top:var(--lra-spacing-md)}

/* ── Responsive ───────────────────────────────────────────────────────── */
@media (max-width:900px){
  .mn-work{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:700px){
  .mnv-acts,.mn-paths,.mn-people{grid-template-columns:minmax(0,1fr)}
  .mnv-stats{grid-template-columns:minmax(0,1fr)}
  .mnv-stat{display:flex;align-items:baseline;gap:10px}
  .mnv-stat span{margin-top:0}
  .mnv-panel{padding:var(--lra-spacing-md)}
  .mnv-sub{flex:1 1 100%}
  .mnv-sub__n{margin-inline-start:auto}
  .mn-hd{grid-template-columns:minmax(0,1fr) 22px;padding:12px}
  .mn-tags{grid-column:1;grid-row:2;justify-content:flex-start}
  .mn-caret{grid-column:2;grid-row:1}
  .mn-bd{padding-inline:12px}
  .mn-bridge__row{grid-template-columns:auto minmax(0,1fr)}
  .mn-bridge__title{grid-column:1/-1}
  .mn-decbtn{flex:1 1 100%}
  .mn-prog__in{gap:6px 10px;padding-block:8px}
  .mn-prog__t{display:none}
  .mn-prog__c{font-size:12px}
  .mn-prog__sp{flex-basis:100%;height:0}
  .mn-prog button{flex:1 1 0;min-width:0;min-height:40px;padding:4px 8px;font-size:12px;line-height:1.2;white-space:normal}
  .mn-prog__rs{flex:0 0 auto!important}
  .mnv.has-prog{padding-bottom:110px}
  .mn-dialog__in{padding:var(--lra-spacing-lg) var(--lra-spacing-md)}
  .mn-share__row{grid-template-columns:minmax(0,1fr)}
  .mnv-idx__list{grid-template-columns:minmax(0,1fr)}
  .kh-page .mnv-bridge .kh-btn{height:auto;min-height:44px;padding-block:10px;white-space:normal;text-align:center}
  .mnv-bridge .khg-bridge__cta{width:100%}
}
@media print{
  .mn-prog,.mn-dialog__x,.mn-exports,.kh-hubbar{display:none!important}
}
@media (prefers-reduced-motion:reduce){
  .mnv *{transition:none!important}
}
