/* MycoVault: shared editorial surfaces and a locally themed specimen stage. */
body.body-vault {
  --mv-bg:var(--color-bg-primary); --mv-panel:var(--color-surface);
  --mv-line:var(--color-border); --mv-ink:var(--color-text-primary);
  --mv-muted:var(--color-text-muted); --mv-accent:var(--color-myco);
  background:var(--mv-bg); color:var(--mv-ink);
}
.body-vault .page-shell { padding-top:var(--space-6); }
.body-vault .page-shell>.container-xl { max-width:1480px; }
.body-vault [hidden] { display:none!important; }
.mv-eyebrow,.mv-panel-kicker { font:500 .75rem/1.6 var(--font-annotation); text-transform:uppercase; letter-spacing:.1em; color:var(--color-ilm); margin:0 0 1rem; }
.mv-latin { font:italic 1.06rem/1.5 var(--font-editorial); color:var(--mv-muted); margin:.4rem 0 0; }
.mv-link { display:inline-flex; align-items:center; gap:1rem; min-height:44px; color:var(--mv-accent); text-decoration:none; font-size:var(--type-small); }
.mv-link:hover { color:var(--color-ilm); text-decoration:underline; }
.mv-status { display:inline-flex; align-items:center; border:1px solid var(--mv-line); border-radius:var(--radius-control); padding:.3rem .6rem; color:var(--mv-muted); font-size:var(--type-caption); line-height:1.5; }
.mv-muted,.mv-subtle-note { color:var(--mv-muted); }
.mv-subtle-note { font-size:var(--type-caption); line-height:1.7; }
.mv-breadcrumb { display:flex; flex-wrap:wrap; gap:.7rem; font-size:var(--type-caption); color:var(--mv-muted); padding:.25rem 0 1.5rem; }
.mv-breadcrumb a { color:var(--mv-accent); text-decoration:none; }
.mv-view-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-bottom:var(--space-6); }
.mv-view-heading h1 { font:400 var(--type-title)/1.12 var(--font-editorial); letter-spacing:-.035em; margin:0; }
.mv-view-heading .mv-eyebrow { margin-bottom:.5rem; }
.mv-view-heading>.mv-link { white-space:nowrap; }
.mv-explorer { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,30%); gap:0 var(--space-6); align-items:start; }
.mv-explorer>* { min-width:0; }
.mv-mode-bar { display:flex; grid-column:1/-1; justify-content:space-between; align-items:center; margin-bottom:var(--space-6); border-bottom:1px solid var(--mv-line); gap:1rem; max-width:100%; }
.mv-modes { display:flex; gap:1.25rem; max-width:100%; overflow-x:auto; scrollbar-width:thin; scrollbar-color:var(--color-border-strong) transparent; }
.mv-modes button { flex-shrink:0; white-space:nowrap; color:var(--mv-muted); border:0; border-bottom:3px solid transparent; background:none; min-width:44px; min-height:52px; padding:.65rem .25rem; font-size:var(--type-small); transition:color var(--motion-feedback),border-color var(--motion-feedback); }
.mv-modes button[aria-selected=true] { color:var(--mv-accent); border-bottom-color:var(--color-ilm); font-weight:600; }
.mv-modes button:hover { color:var(--mv-ink); }
.mv-modes button:focus-visible { outline-offset:-4px; }
.mv-mode-caption { color:var(--mv-muted); font-size:var(--type-caption); white-space:nowrap; }

/* Neutral specimen stage, with light controls and quiet brass focus. */
.mv-stage { --mv-panel:var(--color-stage-surface); --mv-line:var(--color-stage-border); --mv-ink:var(--color-stage-text); --mv-muted:var(--color-stage-muted); --mv-accent:var(--color-stage-accent); border:1px solid var(--mv-line); border-radius:var(--radius-panel); overflow:hidden; background:var(--mv-panel); color:var(--mv-ink); }
.mv-stage :focus-visible { outline-color:var(--color-stage-accent); }
.mv-stage-top { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem 1rem; color:var(--mv-muted); font:400 var(--type-caption)/1.6 var(--font-interface); }
.mv-stage-top>span:last-child { white-space:nowrap; }
.mv-canvas { position:relative; height:clamp(460px,43vw,620px); min-height:320px; isolation:isolate; background:radial-gradient(ellipse at 50% 42%,var(--color-stage-light) 0%,var(--color-stage-middle) 53%,var(--color-stage) 100%); }
.mv-model { position:absolute; inset:0; width:100%; height:100%; --poster-color:transparent; }
.mv-canvas:not([data-state=ready]) .mv-model { visibility:hidden; pointer-events:none; }
.mv-canvas[data-state=loading] .mv-model { visibility:visible; }
.mv-poster { position:absolute; inset:0; display:flex; justify-content:center; align-items:flex-end; background:var(--color-stage); opacity:1; transition:opacity var(--motion-panel),visibility var(--motion-panel); }
.mv-poster>img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.mv-poster::after { content:''; position:absolute; inset:50% 0 0; background:linear-gradient(transparent,var(--color-stage)); pointer-events:none; }
.mv-poster-message { position:relative; z-index:1; text-align:center; padding:1.5rem 1.5rem 3.2rem; width:100%; }
.mv-poster-message p { color:var(--mv-ink); background:var(--color-stage); border-radius:var(--radius-control); padding:.5rem .75rem; width:fit-content; font-size:var(--type-small); max-width:32rem; margin:0 auto .8rem; line-height:1.6; }
.mv-load { min-height:48px; border:1px solid var(--color-stage-accent); border-radius:var(--radius-control); padding:.7rem 1.3rem; background:var(--color-bg-primary); color:var(--color-text-primary); font-size:var(--type-small); font-weight:600; transition:background var(--motion-feedback); }
.mv-load:hover:not(:disabled) { background:var(--color-stage-accent); }
.mv-load:disabled { opacity:.75; }
.mv-load span { margin-left:1.3rem; }
.mv-poster-message progress { display:block; width:min(20rem,90%); height:4px; accent-color:var(--mv-accent); margin:.8rem auto 0; }
.mv-canvas[data-state=ready] .mv-poster { opacity:0; visibility:hidden; pointer-events:none; }
.mv-scale-note { position:absolute; z-index:2; bottom:.75rem; left:.7rem; right:.7rem; text-align:center; font:400 .75rem/1.5 var(--font-interface); color:var(--mv-muted); pointer-events:none; }
.mv-camera-presets { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.15rem .5rem; padding:.4rem .75rem; border-top:1px solid var(--mv-line); }
.mv-camera-presets>span { font:400 .75rem var(--font-annotation); color:var(--mv-muted); margin-right:.5rem; }
.mv-camera-presets button { min-width:44px; min-height:44px; padding:.5rem .6rem; border:1px solid transparent; border-radius:var(--radius-control); background:none; color:var(--mv-muted); font-size:var(--type-caption); }
.mv-camera-presets button[aria-pressed=true] { color:var(--mv-ink); border-color:var(--mv-line); background:var(--color-stage-middle); }
.mv-camera-presets button:hover:not(:disabled) { color:var(--mv-accent); }
.mv-camera-presets button:disabled { opacity:.45; }
.mv-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; padding:.75rem; border-top:1px solid var(--mv-line); }
.mv-control { appearance:none; min-width:44px; min-height:44px; padding:.5rem .65rem; color:var(--mv-ink); border:1px solid var(--mv-line); border-radius:var(--radius-control); background:var(--mv-panel); font-size:var(--type-caption); transition:background var(--motion-feedback),border-color var(--motion-feedback); }
.mv-control:disabled { opacity:.4; cursor:not-allowed; }
.mv-control:hover:not(:disabled),.mv-control[aria-pressed=true] { border-color:var(--mv-accent); }
.mv-zoom { display:flex; gap:3px; }
.mv-zoom .mv-control { font-size:1.1rem; }
.mv-fullscreen { margin-left:auto; }
.mv-help { font-size:var(--type-caption); color:var(--mv-muted); line-height:1.7; padding:0 1rem 1rem; margin:0; }
.mv-explorer:not([data-mode=anatomy]) .mv-anatomy-control { display:none; }
.mv-hotspot { position:relative; width:44px; height:44px; display:grid; place-items:center; border:0; border-radius:50%; background:transparent; color:var(--mv-ink); padding:0; }
.mv-hotspot-dot { display:grid; place-items:center; width:26px; height:26px; border:1px solid var(--mv-accent); border-radius:50%; background:var(--color-stage); box-shadow:0 0 0 4px #24272466; font:500 .75rem var(--font-annotation); transition:background var(--motion-feedback); }
.mv-hotspot[aria-pressed=true] .mv-hotspot-dot,.mv-hotspot:hover .mv-hotspot-dot,.mv-hotspot:focus-visible .mv-hotspot-dot { background:var(--mv-accent); color:var(--color-stage); }
.mv-hotspot-label { position:absolute; left:42px; top:6px; background:var(--color-stage); border:1px solid var(--mv-line); padding:.35rem .5rem; border-radius:var(--radius-control); font-size:var(--type-caption); white-space:nowrap; pointer-events:none; opacity:0; }
.mv-hotspot:hover .mv-hotspot-label,.mv-hotspot:focus-visible .mv-hotspot-label { opacity:1; }
.mv-markers-hidden .mv-hotspot { display:none; }
.mv-stage:fullscreen { display:flex; flex-direction:column; width:100%; height:100%; border:0; }
.mv-stage:fullscreen .mv-canvas { flex:1; height:auto; min-height:0; }

/* Editorial notes and compact source disclosures. */
.mv-inspector { border:1px solid var(--mv-line); border-radius:var(--radius-panel); background:var(--mv-panel); padding:var(--space-6); overflow-wrap:anywhere; box-shadow:var(--shadow-panel); }
.mv-inspector-heading { padding-bottom:1rem; margin-bottom:1.25rem; border-bottom:1px solid var(--mv-line); }
.mv-inspector-heading .mv-eyebrow { font-size:.75rem; margin-bottom:.5rem; }
.mv-inspector-name { font:400 1.5rem/1.25 var(--font-editorial); margin:0; color:var(--mv-ink); }
.mv-inspector .mv-latin { font-size:1rem; }
.mv-panel-kicker { font-size:.75rem; margin-bottom:.6rem; }
.mv-inspector h2 { font:400 1.8rem/1.2 var(--font-editorial); margin:0 0 1rem; }
.mv-inspector h3 { font:600 var(--type-small)/1.5 var(--font-interface); letter-spacing:0; margin:1.1rem 0 .4rem; color:var(--mv-ink); }
.mv-inspector p { font-size:1rem; line-height:1.75; color:var(--mv-muted); }
.mv-inspector .mv-summary { color:var(--mv-ink); }
.mv-inspector .mv-subtle-note { font-size:var(--type-caption); }
.mv-traits { color:var(--mv-muted); font-size:1rem; line-height:1.7; padding-left:1.1rem; }
.mv-traits li { padding-left:.2rem; margin:.4rem 0; }
.mv-taxonomy { border-top:1px solid var(--mv-line); margin-top:1.3rem; }
.mv-taxonomy summary,.mv-sources>summary { cursor:pointer; min-height:44px; padding:.75rem 0; color:var(--mv-accent); font-size:var(--type-small); }
.mv-taxonomy dl { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; margin:.5rem 0 1rem; }
.mv-taxonomy dt,.mv-asset-record dt { font:500 .75rem/1.5 var(--font-interface); color:var(--mv-muted); }
.mv-taxonomy dd,.mv-asset-record dd { margin:.2rem 0 0; font-size:var(--type-small); line-height:1.6; }
.mv-selection-tools { display:flex; justify-content:space-between; align-items:center; gap:.5rem; margin:1rem 0 .5rem; font-size:var(--type-caption); color:var(--mv-accent); }
.mv-selection-tools button { border:0; background:none; color:var(--mv-accent); min-width:44px; min-height:44px; padding:.4rem; text-decoration:underline; font-size:var(--type-caption); }
.mv-selection-tools button:disabled { opacity:.35; }
.mv-structure,.mv-study-item { border-top:1px solid var(--mv-line); }
.mv-structure:last-child { border-bottom:1px solid var(--mv-line); }
.mv-structure>summary,.mv-study-item>summary { display:flex; align-items:center; gap:.7rem; min-height:64px; padding:.8rem .2rem; cursor:pointer; color:var(--mv-ink); font-size:1rem; list-style:none; }
.mv-structure>summary::-webkit-details-marker,.mv-study-item>summary::-webkit-details-marker { display:none; }
.mv-structure-number { flex-shrink:0; white-space:nowrap; font:400 .75rem var(--font-annotation); color:var(--color-ilm); }
.mv-structure>summary small,.mv-study-item>summary small { display:block; color:var(--mv-muted); font-size:var(--type-caption); margin-top:.2rem; }
.mv-structure-expand,.mv-study-item>summary>span:last-child { margin-left:auto; color:var(--mv-muted); }
.mv-structure[open]>summary,.mv-study-item[open]>summary { color:var(--mv-accent); }
.mv-structure[open]>summary .mv-structure-expand,.mv-study-item[open]>summary>span:last-child { transform:rotate(45deg); }
.mv-structure-copy,.mv-study-copy { padding:0 .2rem 1rem; }
.mv-inline-sources { display:flex; flex-direction:column; gap:.5rem; margin:.5rem 0 .75rem; }
.mv-inline-sources a { color:var(--mv-accent); font-size:var(--type-caption); line-height:1.6; }
.mv-focus-button { min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:.5rem; width:100%; padding:.65rem .75rem; background:var(--color-selected); color:var(--mv-accent); border:1px solid var(--color-border-strong); border-radius:var(--radius-control); margin:1rem 0; font-size:var(--type-small); }
.mv-focus-button:disabled { opacity:.4; }
.mv-content-section { padding-bottom:1rem; margin-bottom:1rem; border-bottom:1px solid var(--mv-line); }
.mv-content-section h3 { margin-top:.5rem; }
.mv-context-notice { border-left:2px solid var(--color-ilm); padding-left:.8rem; margin:1.3rem 0; }
.mv-inspector-footer { margin-top:1.5rem; padding-top:1.25rem; border-top:1px solid var(--mv-line); }
.mv-inspector-footer p { font-size:var(--type-caption); margin:.6rem 0 0; }
.mv-review-status { display:grid; grid-template-columns:auto 1fr; gap:.55rem .8rem; font-size:var(--type-caption); line-height:1.6; margin:0 0 1rem; }
.mv-review-status dt { font-weight:500; color:var(--mv-muted); }
.mv-review-status dd { margin:0; color:var(--mv-ink); }
.mv-evidence { margin:var(--space-8) 0 0; }
.mv-evidence-section { border-top:1px solid var(--mv-line); }
.mv-evidence-section:last-child { border-bottom:1px solid var(--mv-line); }
.mv-evidence-section>summary { cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:64px; color:var(--mv-ink); font-size:1rem; padding:.8rem .2rem; }
.mv-evidence-section>summary::before { content:'+'; color:var(--color-ilm); }
.mv-evidence-section[open]>summary::before { content:'−'; }
.mv-evidence-section>summary>span { margin-right:auto; }
.mv-evidence-section>summary small { color:var(--mv-muted); font-size:var(--type-caption); }
.mv-reference-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem 3rem; padding:0 1.2rem 1.5rem; }
.mv-reference-list li { font-size:var(--type-small); padding-left:.2rem; }
.mv-reference-list a { color:var(--mv-accent); }
.mv-reference-list span,.mv-reference-list small { display:block; color:var(--mv-muted); font-size:var(--type-caption); margin-top:.3rem; }
.mv-asset-record { display:grid; grid-template-columns:1fr 1fr; gap:3rem; padding:1rem 0; font-size:var(--type-small); color:var(--mv-muted); }
.mv-asset-record dl { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }

/* Curated gallery: tonal hover only, without moving cards or image crops. */
.mv-hero { display:grid; grid-template-columns:1.6fr 1fr; gap:3rem; align-items:end; padding:2.2rem 0 2.5rem; }
.mv-hero h1 { font:400 clamp(2.7rem,4.4vw,4.15rem)/1.08 var(--font-editorial); letter-spacing:-.04em; margin:0 0 1.25rem; }
.mv-lead { color:var(--mv-muted); font-size:1.05rem; line-height:1.75; max-width:38rem; margin:0; }
.mv-hero-aside { border-left:1px solid var(--mv-line); padding:1rem 0 1rem 2rem; }
.mv-hero-aside>strong { font:400 3rem var(--font-editorial); color:var(--color-ilm); display:block; margin-bottom:.7rem; white-space:nowrap; flex-shrink:0; }
.mv-hero-aside p { font-size:var(--type-small); line-height:1.8; color:var(--mv-muted); margin:0; max-width:21rem; }
.mv-collection-heading { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin:1rem 0 1.5rem; padding-top:1.5rem; border-top:1px solid var(--mv-line); }
.mv-collection-heading h2 { font:400 1.8rem var(--font-editorial); margin:0; }
.mv-collection-heading .mv-eyebrow { margin-bottom:.5rem; }
.mv-collection-heading>span { font-size:var(--type-caption); color:var(--mv-muted); }
.mv-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.mv-card { border:1px solid var(--mv-line); border-radius:var(--radius-panel); overflow:hidden; display:flex; flex-direction:column; background:var(--mv-panel); transition:border-color var(--motion-feedback),box-shadow var(--motion-feedback); }
.mv-card:hover,.mv-card:focus-within { border-color:var(--color-border-strong); box-shadow:var(--shadow-panel); }
.mv-card-image { position:relative; display:block; aspect-ratio:4/3; overflow:hidden; background:var(--color-stage); }
.mv-card-image img { width:100%; height:100%; object-fit:contain; }
.mv-card-image:focus-visible { outline-offset:-5px; outline-color:var(--color-stage-accent); }
.mv-card-number { position:absolute; top:.8rem; left:.9rem; font:400 .75rem var(--font-annotation); color:var(--color-stage-muted); }
.mv-card-enter { display:grid; place-items:center; position:absolute; bottom:.8rem; right:.9rem; width:36px; height:36px; color:var(--color-stage-text); border:1px solid var(--color-stage-border); border-radius:var(--radius-control); }
.mv-card-body { display:flex; flex-direction:column; flex:1; padding:1.25rem; }
.mv-card-meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem; color:var(--mv-muted); font:400 .75rem/1.6 var(--font-interface); margin-bottom:.85rem; }
.mv-card h3 { font:400 1.65rem/1.2 var(--font-editorial); margin:0; }
.mv-card h3 a { color:var(--mv-ink); text-decoration:none; }
.mv-card .mv-latin { font-size:1rem; }
.mv-card-status { color:var(--mv-muted); font-size:var(--type-caption); margin:1rem 0; }
.mv-card .mv-link { justify-content:space-between; border-top:1px solid var(--mv-line); padding-top:.8rem; margin-top:auto; }
.mv-gallery-note { margin:1.5rem 0 0; color:var(--mv-muted); max-width:60rem; font-size:var(--type-small); line-height:1.8; }
.mv-empty { padding:3rem; border:1px solid var(--mv-line); border-radius:var(--radius-panel); background:var(--mv-panel); }

/* Deep Biology: paper diagrams, qualitative context and compact navigation. */
.mv-deep-badge { display:inline-block; color:var(--color-myco); font:500 .8125rem/1.6 var(--font-interface); border-left:2px solid var(--color-ilm); padding:.1rem 0 .1rem .65rem; margin:.65rem 0 0; }
.mv-card-body .mv-deep-badge { margin:0 0 1rem; }
.mv-deep-invitation { margin:1.25rem 0; padding:1rem; border-left:2px solid var(--color-ilm); background:var(--color-bg-primary); }
.mv-deep-invitation h3 { margin:0 0 .5rem; }
.mv-deep-invitation p { margin:0; }
.mv-inspector button.mv-link,.mv-study-stage button.mv-link { border:0; background:none; padding:0; text-align:left; cursor:pointer; }
.mv-study-stage { min-width:0; background:var(--mv-panel); border:1px solid var(--mv-line); border-radius:var(--radius-panel); overflow:hidden; animation:mv-study-reveal var(--motion-panel) ease-out; }
.mv-study-top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem; padding:1rem 1.2rem; border-bottom:1px solid var(--mv-line); }
.mv-study-top>span:last-child { font-size:var(--type-caption); color:var(--mv-muted); }
.mv-scale-trail { display:flex; align-items:center; flex-wrap:wrap; gap:.35rem .6rem; font-size:var(--type-caption); padding:.5rem 1.2rem; color:var(--mv-muted); background:var(--color-bg-primary); }
.mv-scale-trail button { min-height:44px; border:0; background:none; color:var(--mv-accent); font-size:inherit; text-decoration:underline; text-underline-offset:3px; padding:0; }
.mv-scale-trail strong { color:var(--mv-ink); font-weight:600; }
.mv-study-locator { display:flex; gap:1rem; align-items:center; padding:.75rem 1.2rem; border-bottom:1px solid var(--mv-line); }
.mv-study-locator img { width:72px; height:64px; object-fit:contain; background:var(--color-stage); border-radius:var(--radius-control); flex:none; }
.mv-study-context { color:var(--mv-muted); font-size:var(--type-small); line-height:1.7; margin:0; }
.mv-study-figure { margin:0; }
.mv-diagram-caption { padding:.8rem 1.2rem 1rem; border-top:1px solid var(--mv-line); }
.mv-diagram-caption h2 { display:flex; align-items:baseline; gap:.7rem; margin:0; font:600 1rem/1.5 var(--font-interface); color:var(--mv-ink); }
.mv-diagram-caption h2>span { font:400 .875rem var(--font-annotation); color:var(--color-ilm); }
.mv-diagram-notes { padding-left:1.2rem; margin:.65rem 0 0; font-size:1rem; line-height:1.65; color:var(--mv-muted); }
.mv-diagram-notes li+li { margin-top:.4rem; }
.mv-advanced .mv-diagram-notes { padding-bottom:1rem; }
.mv-study-graphic { display:flex; justify-content:center; align-items:center; min-height:380px; padding:1rem; background:var(--color-bg-primary); }
.mv-study-graphic>svg { display:block; width:100%; height:auto; max-height:640px; }
.mv-study-stage[data-study-kind=sequence] .mv-study-graphic>svg { max-height:420px; }
.mv-study-stage[data-study-kind=sequence] .mv-study-graphic { min-height:340px; }
.mv-graphic-placeholder { max-width:26rem; text-align:center; font-size:1rem; line-height:1.8; color:var(--mv-muted); padding:2rem 1rem; }
.mv-study-graphic [data-study-structure] { cursor:pointer; }
.mv-study-graphic .study-hit { transition:fill var(--motion-feedback),stroke var(--motion-feedback); }
.mv-study-graphic [data-study-structure][aria-pressed=true] .study-hit { fill:#3557480a; stroke:var(--color-myco); stroke-width:2.5px; }
.mv-study-graphic [data-study-structure]:hover .study-hit { stroke:var(--color-myco); }
.mv-study-graphic [data-study-structure]:focus-visible { outline:none; }
.mv-study-graphic [data-study-structure]:focus-visible .study-hit { stroke:var(--color-focus); stroke-width:5px; }
.mv-study-feedback { padding:.65rem 1.2rem .9rem; border-top:1px solid var(--mv-line); }
.mv-study-feedback p { margin:0; color:var(--mv-muted); font-size:var(--type-caption); line-height:1.7; }
.mv-study-feedback button { margin-top:.8rem; }
.mv-micro-key { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; padding:.8rem 1.2rem; border-top:1px solid var(--mv-line); }
.mv-micro-key button { display:flex; align-items:center; gap:.7rem; min-height:60px; padding:.65rem .75rem; border:1px solid var(--mv-line); border-radius:var(--radius-control); background:var(--mv-panel); color:var(--mv-ink); font-size:1rem; line-height:1.45; text-align:left; }
.mv-micro-key .mv-key-number { flex:none; font:400 .875rem var(--font-annotation); color:var(--color-ilm); }
.mv-key-name { min-width:0; }
.mv-key-name small { display:block; margin-top:.1rem; color:var(--mv-muted); font-size:.875rem; }
.mv-micro-key button[aria-pressed=true] { background:var(--color-selected); color:var(--mv-accent); border-color:var(--mv-accent); }
.mv-study-connections { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; align-items:center; justify-content:space-between; padding:.5rem 1.2rem 1rem; }
.mv-cycle-steps { display:flex; overflow-x:auto; gap:.4rem; padding:.8rem 1.2rem; margin:0; list-style:none; scrollbar-width:thin; scrollbar-color:var(--color-border-strong) transparent; border-bottom:1px solid var(--mv-line); }
.mv-cycle-steps li { flex:0 0 144px; min-width:0; }
.mv-cycle-steps button { display:flex; flex-direction:column; gap:.25rem; width:100%; min-height:76px; height:100%; border:1px solid var(--mv-line); border-radius:var(--radius-control); padding:.5rem .6rem; background:var(--mv-panel); color:var(--mv-muted); text-align:left; font-size:1rem; line-height:1.4; }
.mv-cycle-steps button>span:first-child { font:400 .875rem var(--font-annotation); color:var(--color-ilm); }
.mv-cycle-steps button[aria-current=step] { background:var(--color-selected); border-color:var(--mv-accent); color:var(--mv-accent); }
.mv-sequence-controls { display:flex; justify-content:space-between; align-items:center; gap:.5rem; padding:.8rem 1.2rem; border-top:1px solid var(--mv-line); }
.mv-sequence-controls>span { font:400 var(--type-caption) var(--font-annotation); color:var(--mv-muted); white-space:nowrap; }
.mv-study-notes { list-style:none; padding:0; margin:1.1rem 0; }
.mv-inspector .mv-claim-scope { font:500 .75rem/1.7 var(--font-interface); color:var(--color-ilm); }
.mv-inspector .mv-location-note { padding-left:.75rem; border-left:2px solid var(--color-border-strong); font-size:var(--type-small); }
.mv-advanced { margin:1rem 0; background:var(--color-bg-primary); padding:0 .75rem; border-radius:var(--radius-control); }
.mv-advanced summary { min-height:44px; padding:.75rem 0; font-size:var(--type-small); color:var(--mv-accent); cursor:pointer; }
.mv-advanced p { padding:0 0 .8rem; }
@keyframes mv-study-reveal { from { opacity:.6; } to { opacity:1; } }

/* Consolidated responsive rules. Safe areas supplement ordinary gutters. */
@media(max-width:1100px) { .mv-mode-caption { display:none; } }
@media(max-width:1050px) {
  .mv-explorer { grid-template-columns:minmax(0,1fr) 310px; gap:0 1rem; }
  .mv-inspector { padding:1rem; } .mv-fullscreen { margin-left:0; } .mv-canvas { height:500px; }
}
@media(max-width:900px) {
  .mv-explorer { grid-template-columns:1fr; gap:1.25rem; } .mv-mode-bar { margin-bottom:0; }
  .mv-inspector { padding:1.5rem; } .mv-canvas { height:520px; }
  .mv-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); } .mv-hero { gap:2rem; }
}
@media(max-width:600px) {
  .body-vault .page-shell>.container-xl { padding-left:max(16px,env(safe-area-inset-left)); padding-right:max(16px,env(safe-area-inset-right)); }
  .mv-breadcrumb { padding:.25rem 0 1.1rem; } .mv-view-heading { align-items:flex-start; margin-bottom:1rem; gap:.5rem; }
  .mv-view-heading h1 { font-size:2.4rem; } .mv-view-heading>.mv-link { font-size:var(--type-caption); }
  .mv-view-heading .mv-eyebrow { font-size:.7rem; } .mv-modes { gap:1rem; width:100%; padding-bottom:.2rem; }
  .mv-modes button { font-size:var(--type-caption); padding:.7rem .2rem; }
  .mv-stage-top { padding:.7rem .8rem; gap:.5rem; } .mv-stage-top,.mv-stage-top .mv-status { font-size:.75rem; }
  .mv-canvas { height:clamp(340px,109vw,470px); } .mv-toolbar { gap:.35rem; padding:.65rem; }
  .mv-camera-presets { gap:.1rem .2rem; } .mv-camera-presets button { padding:.4rem .5rem; } .mv-camera-presets>span { display:none; }
  .mv-poster-message { padding:1rem 1rem 3.2rem; } .mv-poster-message p { font-size:var(--type-caption); }
  .mv-inspector { padding:1.2rem; } .mv-hotspot-label { white-space:normal; max-width:105px; width:max-content; }
  .mv-reference-list,.mv-asset-record { grid-template-columns:1fr; gap:1.2rem; }
  .mv-evidence-section>summary { flex-wrap:wrap; gap:.3rem .7rem; } .mv-evidence-section>summary small { width:100%; }
  .mv-hero { grid-template-columns:1fr; padding:1.5rem 0 1rem; gap:1.5rem; } .mv-hero h1 { font-size:clamp(2.6rem,10vw,3.4rem); }
  .mv-hero-aside { border-left:0; border-top:1px solid var(--mv-line); padding:1.2rem 0 0; display:flex; gap:1.4rem; align-items:center; }
  .mv-hero-aside>strong { font-size:2.5rem; margin:0; } .mv-gallery { grid-template-columns:1fr; }
  .mv-collection-heading>span { display:none; }
  .mv-study-top { padding:.8rem; } .mv-study-top .mv-status,.mv-study-top>span:last-child { font-size:.75rem; }
  .mv-scale-trail { padding:.4rem .8rem; } .mv-study-locator { padding:.75rem .8rem; gap:.75rem; }
  .mv-study-locator img { width:56px; height:60px; } .mv-study-context { font-size:var(--type-caption); }
  .mv-study-graphic { padding:.35rem; min-height:280px; } .mv-study-stage[data-study-kind=sequence] .mv-study-graphic { min-height:160px; }
  .mv-diagram-caption { padding:.8rem; }
  .mv-study-feedback,.mv-micro-key { padding:.7rem .8rem; } .mv-micro-key { gap:.35rem; }
  .mv-study-connections { padding:.4rem .8rem .9rem; } .mv-sequence-controls { padding:.7rem .8rem; }
  .mv-sequence-controls button { font-size:.875rem; padding:.4rem .5rem; } .mv-cycle-steps { padding:.7rem .8rem; }
}
@media(max-width:430px) { .mv-micro-key { grid-template-columns:1fr; } }
@media(max-height:500px) and (orientation:landscape) { .mv-canvas { height:340px; } .mv-stage { position:static; } }
@media(prefers-reduced-motion:reduce) { .mv-study-stage { animation:none; } .body-vault { scroll-behavior:auto; } }

/* A static reading copy retains every explanation, regardless of active mode. */
@media print {
  .body-vault .mv-explorer { display:block; }
  .body-vault .mv-mode-bar,.body-vault .mv-stage,.body-vault .mv-study-stage { display:none; }
  .body-vault .mv-inspector { border:0; overflow:visible; }
  .body-vault .mv-inspector [data-mode-panel],.body-vault .mv-study-notes>li { display:block!important; }
  .body-vault .mv-inspector details::details-content { display:block; content-visibility:visible; }
  .body-vault .mv-inspector button { display:none; }
  .body-vault .mv-study-item { break-inside:avoid; }
}
