:root {
    --primary: #03A6A6;
    --primary-dark: #1D5151;
    --gold: #A68C03;
    --magenta: #A6037A;
    --warm-dark: #332F1B;
    --text: #1f2933;
    --muted: #667085;
    --line: #e6e9ee;
    --soft: #f7f9fb;
    --soft-teal: #f4fbfb;
    --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: "IBM Plex Sans", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--text);
    background: #fff;
    font-size: 15px;
    line-height: 1.62;
}

a { color: var(--primary-dark); text-decoration: none; border-bottom: 1px solid rgba(3,166,166,.32); }
a:hover { color: var(--primary); border-color: var(--primary); }
a.internal-link { color: var(--primary-dark); border-bottom: 1px dashed rgba(3,166,166,.55); }
a.external-link { color: var(--magenta); border-bottom: 1px solid rgba(166,3,122,.25); }
a.external-link::after { content: "↗"; font-size: .82em; margin-left: .22rem; }

.site-header { border-bottom: 1px solid var(--line); background: #fff; }
.brand-center { max-width: var(--max); margin: auto; padding: 20px 22px 10px; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.logo-link { border: 0; display: block; width: fit-content; margin: 0 auto; }
.site-logo { max-width: 80px; height: auto; display: block; margin: 0 auto 6px; }
.brand-name {  margin: 0 auto 7px;  color: var(--primary);  font-size: 2.36rem;  line-height: 1.05;  font-weight: 800;  letter-spacing: .045em;}
.brand-name-link { display: inline-block; border: 0; }
.brand-name-link:hover { color: var(--primary-dark); border: 0; }
.tagline { margin: 0 auto; max-width: 760px; color: var(--primary); font-size: 1.02rem; line-height: 1.45; font-weight: 650; letter-spacing: .01em; }
.primary-nav, .secondary-nav { display: flex; justify-content: center; gap: 26px; flex-wrap: wrap; max-width: var(--max); margin: auto; padding: 9px 22px; }
.primary-nav { border-top: 1px solid var(--line); font-size: .94rem; font-weight: 650; }
.secondary-nav { border-top: 1px solid #f0f2f4; font-size: .8rem; color: var(--muted); padding-top: 7px; padding-bottom: 10px; }
.primary-nav a, .secondary-nav a { border: 0; color: #34454f; }
.primary-nav a:hover, .secondary-nav a:hover { color: var(--primary); }

.ad-slot { border: 1px dashed #d6dbe0; background: #fbfcfd; color: #89939e; font-size: .76rem; text-align: center; padding: 9px; border-radius: 8px; margin: 12px 0; }
.ad-slot small { display: block; }
.ad-header { max-width: var(--max); margin: 0 auto 10px; padding: 0 22px; }

.site-wrap { max-width: var(--max); margin: 0 auto; padding: 28px 22px 42px; }
.site-wrap-full { max-width: var(--max); }
.page-grid { display: grid; grid-template-columns: minmax(0,1fr) 248px; gap: 36px; align-items: start; }
.page-grid-full { display: block; }
.main-column { min-width: 0; }
.content-card { width: 100%; }
.home-card { max-width: none; }

.toc { position: sticky; top: 18px; border-left: 2px solid var(--line); padding-left: 16px; font-size: .82rem; color: #596672; max-height: calc(100vh - 40px); overflow: auto; }
.toc-title { font-weight: 700; color: var(--primary-dark); font-size: .76rem; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 8px; }
.toc a { display: block; border: 0; color: #596672; padding: 3px 0; }
.toc a:hover { color: var(--primary); }
.toc .toc-h3 { padding-left: 12px; font-size: .78rem; }
.toc .toc-h4 { padding-left: 24px; font-size: .75rem; }

h1 { font-size: 2rem; line-height: 1.18; margin: 0 0 12px; color: var(--primary-dark); font-weight: 720; }
h2 { font-size: 1.34rem; margin: 2.25rem 0 .8rem; color: var(--primary-dark); padding-top: .75rem; border-top: 1px solid var(--line); }
h3 { font-size: 1.06rem; margin: 1.45rem 0 .5rem; color: #263b44; }
h4 { font-size: .95rem; margin: 1rem 0 .35rem; color: #394a54; }

/* Gerarchia visiva interna alle sezioni: h3 e h4 sono leggermente rientrati
   rispetto alla sezione principale h2, così si percepisce meglio la sottostruttura. */
.content-card h3 {
    margin-left: .85rem;
    padding-left: .72rem;
    border-left: 2px solid rgba(3,166,166,.22);
}
.content-card h4 {
    margin-left: 1.7rem;
    padding-left: .72rem;
    border-left: 2px solid rgba(29,81,81,.14);
}
p { margin: .6rem 0; }
ul, ol { padding-left: 1.35rem; }
li { margin: .28rem 0; }
.page-meta { color: var(--muted); font-size: .86rem; margin-bottom: 18px; }
.muted-small { color: var(--muted); font-size: .86rem; }

.metadata-box { border: 1px solid var(--line); border-left: 4px solid var(--primary); background: var(--soft-teal); border-radius: 10px; padding: 14px 16px; margin: 10px 0 22px; }
.metadata-box p { margin: .25rem 0; }
.meta-line { color: var(--muted); font-size: .84rem; }
.meta-keywords { display: flex; gap: 7px; flex-wrap: wrap; margin: 8px 0; }
.keyword-chip { border: 1px solid var(--line); border-radius: 999px; padding: 3px 8px; background: #fff; font-size: .78rem; color: #45555e; }
.reference-callout, .notice { border-left: 3px solid var(--primary); background: #f6fbfb; padding: 14px 16px; border-radius: 0 10px 10px 0; margin: 16px 0; }
.reference-callout { font-size: .88rem; line-height: 1.48; color: #4a5a63; }
.reference-callout p, .reference-callout li { margin-top: .38rem; margin-bottom: .38rem; }
.compact-callout { font-size: .9rem; padding: 10px 12px; }
.section-intro { color: #495b64; }
.compact { font-size: .9rem; color: var(--muted); }

.secondary-block { color: #52616b; font-size: .9rem; line-height: 1.52; margin: 1.1rem 0; }
.secondary-block h3, .secondary-block h4 { font-size: .95rem; color: #3c4d55; margin-top: 1rem; }
.secondary-block ul { margin-top: .35rem; }
.alert-list { display: grid; gap: 12px; margin: 14px 0; }
.alert-item { border-left: 3px solid var(--gold); background: #fffdf6; padding: 10px 13px; border-radius: 0 8px 8px 0; }
.alert-item strong { display: block; color: #40391f; }
.sequence-list { display: grid; gap: 12px; margin: 16px 0; }
.sequence-item { border-bottom: 1px solid var(--line); padding-bottom: 12px; }
.sequence-item h3 { margin-top: 0; }
/* Sezione tecnica avanzata: volutamente più compatta e con feeling tecnico.
   Serve a distinguere i parametri di sequenza dal contenuto clinico principale. */
.tech-section {
    background: linear-gradient(180deg, #f0fbfb 0%, #f7fcfc 100%);
    border: 1px solid rgba(3,166,166,.22);
    border-radius: 12px;
    padding: 13px 14px;
    margin-top: 24px;
    font-family: "IBM Plex Mono", "JetBrains Mono", "Roboto Mono", "SFMono-Regular", Consolas, monospace;
    font-size: .82rem;
    line-height: 1.42;
    color: #253f43;
}
.tech-section h2 {
    border-top: 0;
    padding-top: 0;
    margin: 0 0 .65rem;
    font-family: "IBM Plex Sans", "Inter", system-ui, sans-serif;
    font-size: 1.05rem;
    color: var(--primary-dark);
}
.tech-section h3,
.tech-section h4 {
    margin-left: 0;
    padding-left: 0;
    border-left: 0;
    font-family: "IBM Plex Mono", "JetBrains Mono", "Roboto Mono", "SFMono-Regular", Consolas, monospace;
}
.tech-section h3 {
    font-size: .9rem;
    margin: .95rem 0 .35rem;
    color: #1d5151;
}
.tech-section h4 {
    font-size: .82rem;
    margin: .7rem 0 .25rem;
    color: #405a5d;
}
.tech-section p,
.tech-section li {
    margin-top: .32rem;
    margin-bottom: .32rem;
}
.tech-parameter {
    border-top: 1px solid rgba(3,166,166,.18);
    padding-top: 10px;
    margin-top: 12px;
}
.parameter-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px,1fr));
    gap: 5px 12px;
    font-size: .78rem;
}
.parameter-list div {
    border-bottom: 1px dotted rgba(29,81,81,.22);
    padding: 3px 0;
}
.parameter-list strong { color: #1d5151; }
.avoid-error-list { display: grid; gap: 12px; }
.avoid-error { border-left: 3px solid var(--magenta); background: #fff8fc; padding: 10px 13px; border-radius: 0 8px 8px 0; }
.avoid-error strong { display: block; color: #4b1d3f; }
.qc-list { columns: 2; column-gap: 28px; }
.reference-item { border-top: 1px solid var(--line); padding: 13px 0; }
.reference-item:first-child { border-top: 0; }
.reference-title { font-weight: 650; color: #253943; }
.reference-meta { color: var(--muted); font-size: .86rem; margin-top: 2px; }
.ebm-badge { display: inline-block; min-width: 76px; text-align: center; border-radius: 999px; padding: 2px 8px; margin-right: 6px; font-size: .73rem; font-weight: 700; }
.ebm-high { background: #30363d; color: #fff; }
.ebm-moderate { background: #68727d; color: #fff; }
.ebm-limited { background: #a9b0b7; color: #24313a; }
.ebm-expert { background: #e3e6e9; color: #334; }

/* Tabelle contenutistiche per pagine reference/EBM */
.content-table {
    width: 100%;
    border-collapse: collapse;
    margin: 14px 0 18px;
    font-size: .9rem;
    line-height: 1.45;
    border: 1px solid var(--line);
    border-radius: 10px;
    overflow: hidden;
    display: table;
}
.content-table th,
.content-table td {
    border-bottom: 1px solid var(--line);
    padding: 9px 11px;
    vertical-align: top;
    text-align: left;
}
.content-table th {
    background: var(--soft-teal);
    color: var(--primary-dark);
    font-weight: 700;
}
.content-table tr:last-child td { border-bottom: 0; }
.compact-table { font-size: .86rem; }
.document-status { margin-top: 22px; }
.reference-item .ebm-badge + .reference-title { display: inline; }
.reference-item .reference-title + .reference-meta { margin-top: 4px; }

.evidence-gap { border-left: 3px solid #b9c0c8; padding-left: 12px; margin: 10px 0; color: #4f5f69; }

.home-tree { border-top: 1px solid var(--line); width: 100%; }
details.nav-group { border-bottom: 1px solid var(--line); }
details.nav-group > summary { cursor: pointer; list-style: none; padding: 15px 4px; font-weight: 700; letter-spacing: .04em; color: var(--primary-dark); display: flex; justify-content: space-between; }
details.nav-group > summary::after { content: "+"; color: var(--primary); }
details[open].nav-group > summary::after { content: "–"; }
.subsection-list { padding: 0 0 14px 18px; display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 10px 22px; }
.subsection { margin: 6px 0; }
.subsection-title { font-weight: 650; color: #33434b; }
.protocol-list { margin: 6px 0 10px 18px; padding: 0; }
.badge { display: inline-block; border-radius: 999px; padding: 2px 7px; font-size: .72rem; border: 1px solid var(--line); color: #667085; margin-left: 6px; }
.badge-dev { background: #fafafa; }

.keyword-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
.protocol-bottom { border-top: 1px solid var(--line); margin-top: 30px; padding-top: 18px; }
.related-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 10px; }
.related-card { border: 1px solid var(--line); border-radius: 10px; padding: 11px; background: #fff; }
.related-card a { border: 0; font-weight: 650; }
.related-card small { display: block; color: var(--muted); margin-top: 4px; }
.child-list { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: #fff; }
.child-item { display: grid; grid-template-columns: 22px minmax(0,1fr) auto; gap: 8px; align-items: center; padding: 10px 12px; border: 0; border-bottom: 1px solid var(--line); }
.child-item:last-child { border-bottom: 0; }
.child-arrow { color: var(--primary); }
.child-item small { color: var(--muted); }
.pubmed-line { margin-top: 18px; }
.share-line { margin-top: 22px; color: var(--muted); font-size: .86rem; }
.copy-link { border: 0; background: none; color: var(--primary-dark); cursor: pointer; padding: 0; font: inherit; }
.copy-link:hover { color: var(--primary); }
.copy-status { margin-left: 8px; color: var(--primary); }
.last-updated { font-size: .84rem; color: var(--muted); margin-top: 18px; }

.site-footer { border-top: 1px solid var(--line); margin-top: 24px; }
.footer-inner { max-width: var(--max); margin: auto; padding: 24px 22px; color: #5c6872; font-size: .86rem; }
.footer-statement { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 14px 0; margin-bottom: 14px; color: #40525b; }
.footer-bottom { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.debug-note { background: #fff8e6; border: 1px solid #f3dc9c; border-radius: 8px; padding: 12px; margin: 12px 0; color: #5a4200; }

@media (max-width: 940px) {
    .page-grid { display: block; }
    .toc { position: relative; top: auto; max-height: none; margin-bottom: 24px; border-left: 0; border: 1px solid var(--line); border-radius: 10px; padding: 12px; }
    .site-wrap { padding: 20px 16px; }
    .brand-center, .primary-nav, .secondary-nav, .ad-header { padding-left: 16px; padding-right: 16px; }
    .site-logo { max-width: 80px; }
    h1 { font-size: 1.58rem; }
    .qc-list { columns: 1; }
}

/* ==========================================================
   UPGRADE v6.3 — Allineamento dei contenuti delle sottosezioni
   ----------------------------------------------------------
   Obiettivo: quando un h3/h4 appartiene a una sezione principale,
   anche il contenuto immediatamente successivo viene leggermente
   rientrato. In questo modo paragrafi e liste non restano allineati
   al margine della sezione h2, ma seguono visivamente la sottosezione.
   ========================================================== */

.content-card h3 + p,
.content-card h3 + ul,
.content-card h3 + ol,
.content-card h3 + .alert-list,
.content-card h3 + .sequence-list,
.content-card h3 + .avoid-error-list,
.content-card h3 + .qc-list,
.content-card h3 + .reference-callout {
    margin-left: 1.58rem;
}

.content-card h3 + p + p,
.content-card h3 + p + ul,
.content-card h3 + ul + p,
.content-card h3 + ol + p,
.content-card h3 + .alert-list + p,
.content-card h3 + .sequence-list + p {
    margin-left: 1.58rem;
}

.content-card h4 + p,
.content-card h4 + ul,
.content-card h4 + ol,
.content-card h4 + .parameter-list,
.content-card h4 + .reference-callout {
    margin-left: 3.0rem;
}

.content-card h4 + p + p,
.content-card h4 + p + ul,
.content-card h4 + ul + p,
.content-card h4 + ol + p {
    margin-left: 3.0rem;
}

/* I blocchi secondari hanno già un valore gerarchico proprio: qui il rientro
   viene applicato al contenitore, così titolo e testi rimangono allineati tra loro. */
.content-card .secondary-block {
    margin-left: .85rem;
    padding-left: .72rem;
    border-left: 2px solid rgba(3,166,166,.16);
}

.content-card .secondary-block h3,
.content-card .secondary-block h4 {
    margin-left: 0;
    padding-left: 0;
    border-left: 0;
}

.content-card .secondary-block p,
.content-card .secondary-block ul,
.content-card .secondary-block ol {
    margin-left: 0;
}

/* Nella sezione tecnica manteniamo una struttura compatta senza ulteriori rientri,
   perché i parametri devono restare leggibili come blocchi tecnici. */
.tech-section h3 + p,
.tech-section h3 + ul,
.tech-section h3 + ol,
.tech-section h3 + .parameter-list,
.tech-section h4 + p,
.tech-section h4 + ul,
.tech-section h4 + ol,
.tech-section h4 + .parameter-list {
    margin-left: 0;
}

@media (max-width: 720px) {
    .content-card h3 + p,
    .content-card h3 + ul,
    .content-card h3 + ol,
    .content-card h3 + .alert-list,
    .content-card h3 + .sequence-list,
    .content-card h3 + .avoid-error-list,
    .content-card h3 + .qc-list,
    .content-card h3 + .reference-callout,
    .content-card h3 + p + p,
    .content-card h3 + p + ul,
    .content-card h3 + ul + p,
    .content-card h3 + ol + p,
    .content-card h3 + .alert-list + p,
    .content-card h3 + .sequence-list + p {
        margin-left: .65rem;
    }

    .content-card h4 + p,
    .content-card h4 + ul,
    .content-card h4 + ol,
    .content-card h4 + .parameter-list,
    .content-card h4 + .reference-callout,
    .content-card h4 + p + p,
    .content-card h4 + p + ul,
    .content-card h4 + ul + p,
    .content-card h4 + ol + p {
        margin-left: 1.2rem;
    }

    .content-card .secondary-block {
        margin-left: .65rem;
    }
}

/* ==========================================================
   UPGRADE v6.4 — Technical parameters più compatti + Evidence gaps
   ----------------------------------------------------------
   Obiettivo:
   1) rendere la sezione "Advanced Technical Parameters" più tecnica,
      compatta e leggibile con un font di impronta coding/technical;
   2) differenziare visivamente "Evidence Gaps & Ongoing Debate" dal
      testo clinico principale, senza trasformarla in una tabella.
   ========================================================== */

.tech-section {
    background: linear-gradient(180deg, rgba(3,166,166,.055), rgba(29,81,81,.035));
    border: 1px solid rgba(3,166,166,.18);
    border-left: 4px solid rgba(3,166,166,.72);
    border-radius: 13px;
    padding: 14px 16px;
    margin-top: 22px;
    font-family: "IBM Plex Mono", "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: .78rem;
    line-height: 1.42;
    color: #263f43;
}

.tech-section h2 {
    font-family: "IBM Plex Mono", "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 1.02rem;
    line-height: 1.25;
    letter-spacing: .01em;
    margin: 0 0 .7rem;
    padding-bottom: .45rem;
    color: #1d5151;
    border-bottom: 1px solid rgba(3,166,166,.16);
}

.tech-section h3 {
    font-family: "IBM Plex Mono", "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: .88rem;
    line-height: 1.28;
    margin: .85rem 0 .32rem;
    padding-left: .45rem;
    border-left: 2px solid rgba(3,166,166,.34);
    color: #1d5151;
}

.tech-section h4 {
    font-family: "IBM Plex Mono", "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: .8rem;
    line-height: 1.25;
    margin: .62rem 0 .22rem;
    color: #314b4f;
}

.tech-section p,
.tech-section li {
    margin-top: .18rem;
    margin-bottom: .18rem;
}

.tech-section ul,
.tech-section ol {
    margin-top: .32rem;
    margin-bottom: .38rem;
    padding-left: 1.15rem;
}

.tech-section .tech-parameter,
.tech-parameter {
    border-top: 1px solid rgba(3,166,166,.13);
    padding-top: 7px;
    margin-top: 8px;
}

.tech-section .parameter-list,
.parameter-list {
    grid-template-columns: repeat(auto-fit, minmax(155px,1fr));
    gap: 3px 9px;
    font-size: .72rem;
    line-height: 1.32;
}

.tech-section .parameter-list div,
.parameter-list div {
    padding: 2px 0;
    border-bottom: 1px dotted rgba(29,81,81,.17);
}

.tech-section .parameter-list strong,
.parameter-list strong {
    color: #17494b;
    font-weight: 700;
}

/* Blocco dedicato a incertezze, limiti e dibattiti: distinto dal testo principale,
   più riflessivo/editoriale, ma non tecnico-tabellare. */
.evidence-gap-section {
    margin-top: 24px;
    padding: 16px 18px;
    background: #fbfaf6;
    border: 1px solid #e5dfcf;
    border-left: 4px solid #a68c03;
    border-radius: 13px;
    color: #4d4a3d;
}

.evidence-gap-section h2 {
    color: #665404;
    border-bottom: 1px solid rgba(166,140,3,.18);
    padding-bottom: .45rem;
    margin-top: 0;
}

.evidence-gap-section p,
.evidence-gap-section li {
    font-size: .9rem;
    line-height: 1.58;
    color: #555246;
}

.evidence-gap {
    position: relative;
    border-left: 0;
    padding: 8px 0 8px 18px;
    margin: 8px 0;
    color: #555246;
}

.evidence-gap::before {
    content: "";
    position: absolute;
    left: 0;
    top: 1.05em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #a68c03;
    opacity: .72;
}

.evidence-gap strong {
    color: #4a3e05;
    font-weight: 700;
}

@media (max-width: 720px) {
    .tech-section {
        font-size: .76rem;
        padding: 12px 13px;
    }

    .tech-section .parameter-list,
    .parameter-list {
        grid-template-columns: 1fr;
    }

    .evidence-gap-section {
        padding: 14px 14px;
    }
}


/* ==========================================================
   UPGRADE v6.5 — Protocol layout normalization
   ----------------------------------------------------------
   The protocol body is allowed to remain simple semantic HTML.
   A tiny JS pass marks the content depth after h3/h4 headings,
   and CSS applies consistent indentation to every paragraph, list,
   callout and custom block inside that subsection until the next
   heading of the same or higher level.
   ========================================================== */
.protocol-page :where(.depth-h3-content) {
    margin-left: 1.58rem;
}

.protocol-page :where(.depth-h4-content) {
    margin-left: 3rem;
}

.protocol-page :where(.depth-h3-content.depth-h4-content) {
    margin-left: 3rem;
}

.protocol-page :where(.tech-section, .evidence-gap-section, .placeholder-protocol, .protocol-bottom),
.protocol-page :where(.tech-section *, .evidence-gap-section *, .placeholder-protocol *, .protocol-bottom *) {
    margin-left: 0;
}

.placeholder-protocol {
    border: 1px dashed #d6dbe0;
    border-left: 4px solid var(--primary);
    border-radius: 12px;
    background: #fbfcfd;
    padding: 16px 18px;
    margin: 18px 0;
}
.placeholder-protocol h2 {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

@media (max-width: 720px) {
    .protocol-page :where(.depth-h3-content) { margin-left: .65rem; }
    .protocol-page :where(.depth-h4-content),
    .protocol-page :where(.depth-h3-content.depth-h4-content) { margin-left: 1.2rem; }
}


/* ==========================================================
   UPGRADE v2.5 — Collapsible slice positioning reference
   ----------------------------------------------------------
   Styles only: no in-page CSS. Technical supplement placed
   inside Section 4 and matched to the compact technical style
   of Advanced Technical Parameters, with dark background.
   ========================================================== */

.slice-positioning-reference {
    background: #050708;
    border: 1px solid rgba(210, 232, 232, .22);
    border-left: 4px solid rgba(3,166,166,.72);
    border-radius: 13px;
    padding: 14px 16px;
    margin-top: 22px;
    margin-bottom: 22px;
    font-family: "IBM Plex Mono", "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: .78rem;
    line-height: 1.42;
    color: #e7eeee;
}

.slice-positioning-reference summary {
    cursor: pointer;
    list-style: none;
    display: block;
    outline: none;
}

.slice-positioning-reference summary::-webkit-details-marker {
    display: none;
}

.slice-positioning-reference summary h3 {
    font-family: "IBM Plex Mono", "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: .88rem;
    line-height: 1.28;
    margin: 0 0 .32rem;
    padding-left: .45rem;
    border-left: 2px solid rgba(3,166,166,.52);
    color: #f5fbfb;
}

.slice-positioning-reference summary h3::before {
    content: "+ ";
    color: #9ee7e7;
}

.slice-positioning-reference[open] summary h3::before {
    content: "− ";
}

.slice-positioning-reference .toggle-hint {
    display: block;
    margin-left: .45rem;
    color: #b6caca;
    font-size: .72rem;
    line-height: 1.32;
}

.slice-positioning-reference .slice-positioning-content {
    border-top: 1px solid rgba(210,232,232,.16);
    margin-top: .7rem;
    padding-top: .7rem;
    color: #e7eeee;
}

.slice-positioning-reference .slice-positioning-content h4 {
    font-family: "IBM Plex Mono", "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: .8rem;
    line-height: 1.25;
    margin: .62rem 0 .22rem;
    color: #ffffff;
}

.slice-positioning-reference .slice-positioning-content h5 {
    font-family: "IBM Plex Mono", "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: .78rem;
    line-height: 1.25;
    margin: .55rem 0 .2rem;
    color: #dff7f7;
}

.slice-positioning-reference .slice-positioning-content p,
.slice-positioning-reference .slice-positioning-content li {
    margin-top: .18rem;
    margin-bottom: .18rem;
    color: #e7eeee;
}

.slice-positioning-reference .slice-positioning-content ul,
.slice-positioning-reference .slice-positioning-content ol {
    margin-top: .32rem;
    margin-bottom: .38rem;
    padding-left: 1.15rem;
}

.slice-positioning-reference .slice-positioning-content strong {
    color: #ffffff;
    font-weight: 700;
}

.slice-positioning-reference .slice-positioning-content table {
    width: 100%;
    border-collapse: collapse;
    margin: .55rem 0 .7rem;
    font-size: .72rem;
    line-height: 1.32;
    color: #e7eeee;
}

.slice-positioning-reference .slice-positioning-content th,
.slice-positioning-reference .slice-positioning-content td {
    border: 1px solid rgba(210,232,232,.18);
    padding: 5px 6px;
    vertical-align: top;
}

.slice-positioning-reference .slice-positioning-content th {
    color: #ffffff;
    background: rgba(3,166,166,.16);
    font-weight: 700;
}

@media (max-width: 760px) {
    .slice-positioning-reference {
        padding: 12px 13px;
        font-size: .76rem;
    }

    .slice-positioning-reference .slice-positioning-content table {
        display: block;
        overflow-x: auto;
        white-space: normal;
    }
}

.slice-positioning-bibliography {
    margin-top: .7rem;
    padding: .48rem .55rem;
    border: 1px solid rgba(210,232,232,.10);
    border-radius: 8px;
    background: rgba(0,0,0,.14);
    color: #9aa8a8;
    font-family: "IBM Plex Mono", "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: .49rem;
    line-height: 1.18;
}

.slice-positioning-bibliography h5 {
    margin: 0 0 .28rem;
    font-size: .54rem;
    line-height: 1.12;
    letter-spacing: .025em;
    color: #c5d1d1;
    font-weight: 700;
}

.slice-positioning-bibliography .slice-biblio-section-title {
    margin: .30rem 0 .12rem;
    color: #b9c6c6;
    font-weight: 700;
    opacity: .88;
}

.slice-positioning-bibliography p {
    margin: .10rem 0 .14rem;
    color: #9aa8a8;
}

.slice-positioning-bibliography strong {
    color: #d4dddd;
}

.slice-positioning-bibliography em {
    color: #b9c6c6;
}

.slice-positioning-bibliography span {
    color: #7f8d8d;
}


/* ==========================================================
   UPGRADE v2.5 — Universal Preparation page + human review marker
   ----------------------------------------------------------
   Styles only: no in-page CSS. The preparation master reference
   follows the compact professional protocol layout while keeping
   the bibliography small and subdued, like the brain page footer refs.
   ========================================================== */

.preparation-reference {
    margin-top: 0;
}

.preparation-reference .prep-document-meta {
    margin: 0 0 1.2rem;
    padding: 1rem 1.05rem;
    border: 1px solid rgba(3,166,166,.18);
    border-left: 4px solid rgba(3,166,166,.72);
    border-radius: 13px;
    background: linear-gradient(180deg, rgba(3,166,166,.055), rgba(29,81,81,.035));
    color: #314b4f;
    font-size: .84rem;
    line-height: 1.46;
}

.preparation-reference .prep-document-meta p {
    margin: .15rem 0;
}

.preparation-reference h2 {
    margin-top: 1.85rem;
}

.preparation-reference h3 {
    margin-top: 1.15rem;
}

.preparation-reference h4 {
    margin-top: .95rem;
}

.preparation-reference .prep-table-code {
    display: block;
    width: 100%;
    overflow-x: auto;
    margin: .65rem 0 1rem;
    padding: .78rem .85rem;
    border: 1px solid rgba(3,166,166,.16);
    border-left: 3px solid rgba(3,166,166,.55);
    border-radius: 10px;
    background: #fbfcfd;
    color: #314b4f;
    font-family: "IBM Plex Mono", "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: .74rem;
    line-height: 1.36;
    white-space: pre;
}

.preparation-reference .prep-numbered-list,
.preparation-reference .prep-bullet-list {
    margin-top: .35rem;
    margin-bottom: .75rem;
}

.preparation-reference .prep-evidence-summary {
    margin-top: 1.4rem;
    padding: 1rem 1.05rem;
    border: 1px solid #e5dfcf;
    border-left: 4px solid #a68c03;
    border-radius: 13px;
    background: #fbfaf6;
    color: #555246;
}

.preparation-reference .prep-evidence-summary h2 {
    margin-top: 0;
    color: #665404;
    border-bottom: 1px solid rgba(166,140,3,.18);
    padding-bottom: .45rem;
}

.preparation-bibliography {
    margin-top: 2rem;
}

.preparation-bibliography .reference-note {
    color: var(--muted);
    font-size: .86rem;
    margin: -.25rem 0 1rem;
}

.preparation-bibliography h3 {
    margin-top: 1.2rem;
}

.preparation-bibliography .reference-item {
    padding: 11px 0;
}

.preparation-bibliography .reference-title {
    font-size: .9rem;
    line-height: 1.45;
}

.preparation-bibliography .reference-meta {
    font-size: .82rem;
    line-height: 1.42;
}

.preparation-bibliography a {
    color: var(--magenta);
    border-bottom-color: rgba(166,3,122,.25);
}

.human-verified-marker {
    display: block;
    margin: 1.15rem 0 .8rem auto;
    text-align: right;
    color: var(--magenta);
    font-family: "IBM Plex Mono", "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: .72rem;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: .025em;
}

.human-verified-marker::before {
    content: "— ";
}

.human-verified-marker::after {
    content: " —";
}

@media (max-width: 720px) {
    .preparation-reference .prep-table-code {
        font-size: .68rem;
    }
    .human-verified-marker {
        font-size: .66rem;
    }
}


.tech-tip-inline {
  display:inline-block;
  margin:0 .35rem 0 .45rem;
  padding:.14rem .48rem;
  border-radius:999px;
  background:var(--primary);
  color:#ffffff;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.03em;
  line-height:1.1;
  white-space:nowrap;
}

.tech-tip-text{
  color:inherit;
  text-decoration-line: underline;
  text-decoration-style: dashed;
  text-decoration-color: var(--primary);
  text-underline-offset: 3px;
}

.section-divider{
  border:0;
  height:1px;
  margin:1.4rem 0;
  background:linear-gradient(
    to right,
    transparent 0%,
    rgba(255,255,255,.18) 12%,
    rgba(255,255,255,.95) 50%,
    rgba(255,255,255,.18) 88%,
    transparent 100%
  );
}

.section-divider-soft{
  border:0;
  height:1px;
  margin:1.1rem 0;
  background:rgba(255,255,255,.28);
}

.section-divider-dashed{
  border:0;
  border-top:1px dashed rgba(255,255,255,.65);
  margin:1.2rem 0;
}
/* ==========================================================
   UPGRADE v2.6.1 — Advanced Technical Parameters collapsible
   ----------------------------------------------------------
   Layout-only upgrade for Section 10. Keeps the existing
   technical section colour/font language, adds collapsible
   behaviour, and improves compact bibliography contrast.
   ========================================================== */

.technical-reference-collapsible {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
}

.technical-reference-summary {
    cursor: pointer;
    list-style: none;
    display: block;
    outline: none;
}

.technical-reference-summary::-webkit-details-marker {
    display: none;
}

.technical-reference-summary h2 {
    display: inline-block;
    margin-bottom: .35rem;
}

.technical-reference-summary h2::before {
    content: "+ ";
    color: #1d5151;
}

.technical-reference-collapsible[open] .technical-reference-summary h2::before {
    content: "− ";
}

.technical-reference-summary-note {
    display: inline-block;
    margin-left: .75rem;
    font-size: .72rem;
    line-height: 1.2;
    color: #466366;
    opacity: .86;
    font-weight: 600;
}

.technical-reference-collapsible[open] .technical-reference-summary-note {
    color: #31575a;
}

.technical-reference-collapsible[open] .technical-reference-summary-note::after {
    content: " — collapse";
}

.technical-reference-body {
    margin-top: .85rem;
    padding-top: .65rem;
    border-top: 1px solid rgba(3,166,166,.16);
}

.technical-reference-body table {
    width: 100%;
    border-collapse: collapse;
    margin: .55rem 0 .75rem;
    font-size: .72rem;
    line-height: 1.32;
}

.technical-reference-body th,
.technical-reference-body td {
    border: 1px solid rgba(3,166,166,.18);
    padding: 5px 6px;
    vertical-align: top;
}

.technical-reference-body th {
    color: #17494b;
    background: rgba(3,166,166,.09);
    font-weight: 700;
}

.technical-reference-body hr {
    border: 0;
    height: 1px;
    margin: .85rem 0;
    background: rgba(3,166,166,.16);
}

.compact-section-bibliography {
    margin-top: .9rem;
    padding: .58rem .65rem;
    border: 1px solid rgba(29,81,81,.18);
    border-radius: 9px;
    background: rgba(255,255,255,.42);
    color: #263f43;
    font-family: "IBM Plex Mono", "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: .58rem;
    line-height: 1.28;
}

.compact-section-bibliography .section-bibliography-title {
    margin: 0 0 .32rem;
    font-size: .64rem;
    line-height: 1.16;
    letter-spacing: .025em;
    color: #1d5151;
    font-weight: 800;
}

.compact-section-bibliography h3,
.compact-section-bibliography h4 {
    margin: .38rem 0 .16rem;
    font-size: .62rem;
    line-height: 1.16;
    color: #173f42;
    font-weight: 800;
}

.compact-section-bibliography p,
.compact-section-bibliography li {
    margin: .13rem 0 .17rem;
    color: #263f43;
    font-size: .58rem;
    line-height: 1.28;
}

.compact-section-bibliography strong {
    color: #132f31;
    font-weight: 800;
}

.compact-section-bibliography em {
    color: #203f42;
    font-style: italic;
}

@media (max-width: 760px) {
    .technical-reference-body table {
        display: block;
        overflow-x: auto;
        white-space: normal;
    }

    .technical-reference-summary-note {
        display: block;
        margin-left: 1.05rem;
        margin-top: .2rem;
    }

    .compact-section-bibliography {
        font-size: .56rem;
    }
}


/* ==========================================================
   UPGRADE v2.6.6 — Layout fixes, support CTA and ad cleanup
   ========================================================== */
.support-cta {
    max-width: var(--max);
    margin: 12px auto;
    padding: 10px 16px;
    border: 1px solid rgba(3,166,166,.22);
    border-left: 4px solid rgba(3,166,166,.72);
    border-radius: 12px;
    background: #f7fbfb;
    color: #334047;
    font-size: .86rem;
    line-height: 1.35;
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    text-align: center;
}
.support-cta-header { margin-bottom: 10px; }
.support-cta-footer { margin-top: 14px; margin-bottom: 14px; background: rgba(255,255,255,.68); }
.support-cta-link {
    font-weight: 700;
    white-space: nowrap;
}

/* Prevent JS depth indentation and browser defaults from creating staggered alignment inside technical blocks. */
.protocol-page :where(.slice-positioning-reference, .slice-positioning-reference *, .technical-reference-collapsible, .technical-reference-collapsible *, .technical-reference-body, .technical-reference-body *, .references-section, .references-section *) {
    text-indent: 0 !important;
}
.protocol-page :where(.slice-positioning-reference.depth-h3-content, .slice-positioning-reference.depth-h4-content, .references-section.depth-h3-content, .references-section.depth-h4-content) {
    margin-left: 0 !important;
}
.protocol-page :where(.slice-positioning-content p, .slice-positioning-content ul, .slice-positioning-content ol, .slice-positioning-content table, .technical-reference-body p, .technical-reference-body ul, .technical-reference-body ol, .technical-reference-body table, .references-section p, .references-section ul, .references-section ol, .references-section table) {
    margin-left: 0 !important;
}
.references-section h3 {
    margin-left: 0 !important;
}
.references-section p {
    padding-left: 0 !important;
}

@media (max-width: 720px) {
    .support-cta { padding: 10px 12px; font-size: .82rem; }
}


/* MRIninja 2.6.7 — donation CTA and technical alignment refinements */
.support-cta {
    border: 1px solid rgba(139, 92, 246, 0.45);
    background: linear-gradient(135deg, rgba(245, 243, 255, 0.96), rgba(237, 233, 254, 0.92) 45%, rgba(250, 245, 255, 0.98));
    color: #3b0764;
    box-shadow: 0 1px 0 rgba(139, 92, 246, 0.10), inset 4px 0 0 rgba(147, 51, 234, 0.72);
}
.support-cta a,
.support-cta-link {
    color: #581c87 !important;
    font-weight: 800;
    border-bottom: 1px dashed rgba(88, 28, 135, 0.55);
}
.support-cta-header,
.support-cta-content {
    width: min(1120px, calc(100% - 48px));
    margin: 12px auto;
    padding: 12px 18px;
    border-radius: 10px;
    text-align: center;
}
.support-cta-content {
    margin-top: 22px;
    margin-bottom: 22px;
}
.ad-slot { display: none !important; }
.technical-reference-body p,
.slice-positioning-content p,
.protocol-page h2 + p,
.protocol-page h3 + p {
    text-indent: 0 !important;
}
.technical-reference-body blockquote,
.slice-positioning-content blockquote {
    margin-left: 0;
}
.technical-reference-body table,
.slice-positioning-content table {
    text-indent: 0;
}

/* MRIninja 2.6.8 — targeted collapsible and Why page alignment fixes */
.protocol-page details.slice-positioning-reference {
    background: #050708 !important;
    border: 1px solid rgba(210, 232, 232, .22) !important;
    border-left: 4px solid rgba(3,166,166,.72) !important;
    border-radius: 13px !important;
    padding: 14px 16px !important;
    margin-top: 22px !important;
    margin-bottom: 22px !important;
    font-family: "IBM Plex Mono", "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace !important;
    font-size: .78rem !important;
    line-height: 1.42 !important;
    color: #e7eeee !important;
}
.protocol-page details.slice-positioning-reference > summary {
    display: block !important;
    cursor: pointer;
    list-style: none;
}
.protocol-page details.slice-positioning-reference > summary::-webkit-details-marker { display: none; }
.protocol-page details.slice-positioning-reference > summary h3 {
    font-family: "IBM Plex Mono", "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace !important;
    font-size: .88rem !important;
    line-height: 1.28 !important;
    margin: 0 0 .32rem !important;
    padding-left: .45rem !important;
    border-left: 2px solid rgba(3,166,166,.52) !important;
    color: #f5fbfb !important;
}
.protocol-page details.slice-positioning-reference > summary h3::before { content: "+ "; color: #9ee7e7; }
.protocol-page details.slice-positioning-reference[open] > summary h3::before { content: "− "; }
.protocol-page details.slice-positioning-reference .toggle-hint {
    display: block;
    margin-left: .45rem;
    color: #b6caca;
    font-size: .72rem;
    line-height: 1.32;
}
.protocol-page details.slice-positioning-reference .slice-positioning-content {
    border-top: 1px solid rgba(210,232,232,.16);
    margin-top: .7rem;
    padding-top: .7rem;
    color: #e7eeee;
}
.protocol-page details.slice-positioning-reference .slice-positioning-content ol {
    padding-left: 1.25rem;
    margin-left: 0 !important;
}
.why-section {
    margin: 1.15rem 0 1.2rem 1rem;
}
.why-section h3,
.why-section p {
    margin-left: 0 !important;
}
@media (max-width: 720px) {
    .why-section { margin-left: .45rem; }
}


/* MRIninja 2.6.9 — protocol at-a-glance, Donate & Request page, violet support CTA */
.protocol-at-a-glance { margin: 18px 0 26px; padding: 18px; border-radius: 18px; background: radial-gradient(circle at top left, rgba(167,139,250,.32), transparent 34%), linear-gradient(135deg, #3b0764 0%, #6d28d9 46%, #9333ea 100%); color: #f8f5ff; box-shadow: 0 18px 42px rgba(76,29,149,.23); border: 1px solid rgba(221,214,254,.28); }
.protocol-at-a-glance-header { display:flex; gap:16px; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; margin-bottom:14px; }
.protocol-at-a-glance h2 { color:#fff; margin:0 0 6px; font-size:1.08rem; border:0; padding:0; }
.protocol-at-a-glance p { margin:0; color:rgba(248,245,255,.84); max-width:780px; font-size:.88rem; }
.protocol-full-link { display:inline-flex; align-items:center; justify-content:center; padding:9px 13px; border-radius:999px; background:rgba(255,255,255,.13); color:#fff !important; text-decoration:none; font-weight:800; border:1px solid rgba(255,255,255,.26); white-space:nowrap; }
.protocol-sequence-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap:10px; }
.protocol-sequence-pill { display:grid; grid-template-columns:auto 1fr; gap:4px 10px; align-items:center; padding:11px 12px; border-radius:14px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.20); }
.protocol-sequence-number { grid-row:span 2; width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(255,255,255,.22); color:#fff; font-weight:900; font-size:.82rem; }
.protocol-sequence-name { color:#fff; font-weight:800; font-size:.9rem; line-height:1.22; }
.protocol-sequence-plane { color:rgba(248,245,255,.78); font-size:.76rem; line-height:1.15; }
.support-cta-violet, .support-cta-content { background: linear-gradient(135deg, #4c1d95 0%, #7e22ce 52%, #a855f7 100%) !important; color:#fff !important; border:1px solid rgba(233,213,255,.40) !important; box-shadow:0 12px 30px rgba(88,28,135,.22), inset 4px 0 0 rgba(216,180,254,.75) !important; }
.support-cta-violet .support-cta-link, .support-cta-content .support-cta-link { color:#fff !important; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.28); border-radius:999px; padding:6px 11px; text-decoration:none; }
.donate-request-hero, .request-protocol-section { margin:1.2rem 0 1.8rem; }
.donate-action-panel { display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; margin:18px 0 10px; padding:18px; border-radius:18px; background:linear-gradient(135deg, rgba(76,29,149,.96), rgba(147,51,234,.90)); color:#fff; box-shadow:0 16px 36px rgba(88,28,135,.20); }
.donate-action-panel h3 { color:#fff; margin-top:0; }
.donate-action-panel p { color:rgba(255,255,255,.84); margin-bottom:0; }
.donate-primary-button, .request-email-button { display:inline-flex; align-items:center; justify-content:center; padding:10px 16px; border-radius:999px; font-weight:900; text-decoration:none; white-space:nowrap; }
.donate-primary-button { background:#fff; color:#581c87 !important; }
.request-email-button { background:#6d28d9; color:#fff !important; }
.donate-note { font-size:.86rem; color:#5b6470; }
.request-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px; margin-top:14px; }
.request-card { padding:16px; border-radius:16px; background:#fbfbff; border:1px solid rgba(109,40,217,.16); }
.request-card h3 { margin-top:0; }
@media (max-width:720px) { .protocol-at-a-glance { padding:15px; } .protocol-full-link { width:100%; } }


/* Patient positioning comfort note */
.positioning-comfort-note {
    margin: .9rem 0 1.1rem;
    padding: .85rem 1rem;
    border-left: 4px solid #03a6a6;
    background: rgba(3,166,166,.08);
    border-radius: 12px;
    color: #173f43;
    font-size: .95rem;
    line-height: 1.55;
}
.positioning-comfort-note strong { color: #12494d; }

/* UPGRADE 2.7.5 — Human verified progress compact badges */
.hv-badge { font-weight: 700; letter-spacing: .02em; min-width: 52px; text-align: center; }
.hv-start { color: #9f1239; border-color: #fecdd3; background: #fff1f2; }
.hv-low { color: #9a3412; border-color: #fed7aa; background: #fff7ed; }
.hv-mid { color: #075985; border-color: #bae6fd; background: #f0f9ff; }
.hv-high { color: #166534; border-color: #bbf7d0; background: #f0fdf4; }


/* Human Verified index legend */
.hv-index-legend { display:inline-flex; align-items:center; gap:.35rem; margin:.75rem 0 .9rem 0; padding:.42rem .65rem; border:1px solid rgba(16,185,129,.28); border-radius:999px; background:rgba(16,185,129,.08); color:var(--muted); font-size:.78rem; line-height:1.25; }
.hv-index-legend strong { color:#047857; letter-spacing:.04em; }

/* MRIninja 2.7.8 — global visual refinement: green protocol summary, softer 4.6 technical blocks, request/report links */
.protocol-at-a-glance {
    background:
        radial-gradient(circle at top left, rgba(20,184,166,.34), transparent 36%),
        radial-gradient(circle at bottom right, rgba(15,118,110,.28), transparent 42%),
        linear-gradient(135deg, #123332 0%, #155e59 48%, #0f766e 100%) !important;
    color: #eefcfb !important;
    box-shadow: 0 18px 42px rgba(10, 47, 45, .26), inset 0 1px 0 rgba(255,255,255,.08) !important;
    border: 1px solid rgba(153, 246, 228, .28) !important;
}
.protocol-at-a-glance h2 { color: #ffffff !important; }
.protocol-at-a-glance p { color: rgba(236,253,245,.86) !important; }
.protocol-full-link {
    background: rgba(236,253,245,.12) !important;
    border-color: rgba(204,251,241,.30) !important;
    color: #ffffff !important;
}
.protocol-full-link:hover { background: rgba(236,253,245,.20) !important; }
.protocol-sequence-pill {
    background: rgba(236,253,245,.11) !important;
    border-color: rgba(204,251,241,.20) !important;
}
.protocol-sequence-number { background: rgba(204,251,241,.20) !important; color: #ffffff !important; }
.protocol-sequence-name { color: #ffffff !important; }
.protocol-sequence-plane { color: rgba(236,253,245,.78) !important; }

.slice-positioning-reference,
.protocol-page details.slice-positioning-reference {
    background:
        radial-gradient(circle at top left, rgba(20,184,166,.08), transparent 36%),
        linear-gradient(135deg, #1f2a2a 0%, #243232 100%) !important;
    border: 1px solid rgba(180, 214, 210, .22) !important;
    border-left: 4px solid rgba(20,184,166,.72) !important;
    color: #eef7f6 !important;
    box-shadow: 0 12px 28px rgba(7, 22, 21, .16) !important;
}
.slice-positioning-reference .slice-positioning-content,
.protocol-page details.slice-positioning-reference .slice-positioning-content {
    color: #eef7f6 !important;
    border-top-color: rgba(180,214,210,.18) !important;
}
.slice-positioning-reference .toggle-hint,
.protocol-page details.slice-positioning-reference .toggle-hint { color: #b8d1ce !important; }
.slice-positioning-reference .slice-positioning-content p,
.slice-positioning-reference .slice-positioning-content li,
.protocol-page details.slice-positioning-reference .slice-positioning-content p,
.protocol-page details.slice-positioning-reference .slice-positioning-content li { color: #e5f1ef !important; }
.slice-positioning-reference .slice-positioning-content th,
.protocol-page details.slice-positioning-reference .slice-positioning-content th { background: rgba(20,184,166,.14) !important; }
.slice-positioning-bibliography {
    background: rgba(15, 39, 38, .58) !important;
    border-color: rgba(180,214,210,.14) !important;
    color: #b7cbc8 !important;
}

.share-line .report-problem-link {
    color: var(--primary);
    font-weight: 700;
    text-decoration: none;
}
.share-line .report-problem-link:hover { text-decoration: underline; }
.request-card-primary {
    border-color: rgba(15,118,110,.22) !important;
    background: linear-gradient(135deg, rgba(240,253,250,.96), rgba(248,250,252,.98)) !important;
}
.secondary-request-button { background: #334155 !important; color: #ffffff !important; }


/* Advanced topic / deep-dive pages */
.advanced-topic-banner {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin: 18px 0 24px;
    padding: 16px 18px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(15,76,73,.10), rgba(20,184,166,.08));
    border: 1px solid rgba(15,118,110,.24);
}
.advanced-topic-banner p { margin: 4px 0 0; color: var(--muted); font-size: .92rem; }
.advanced-topic-icon {
    display: inline-flex;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    background: #0f4c49;
    color: #ecfdf5;
    font-weight: 800;
    flex: 0 0 auto;
}
.advanced-topic-parent-link { margin-top: 8px; }
.advanced-topic-inline-link {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin: 14px 0 18px;
    padding: 13px 15px;
    border-radius: 16px;
    background: rgba(15,76,73,.07);
    border: 1px solid rgba(15,118,110,.20);
}
.advanced-topic-inline-link p { margin: 3px 0 0; color: var(--muted); font-size: .88rem; }
.advanced-topic-inline-icon {
    display:inline-flex;
    width:24px;
    height:24px;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#0f4c49;
    color:#ecfdf5;
    font-size:.82rem;
    font-weight:800;
    flex:0 0 auto;
}
.advanced-topic-index-badge {
    background: rgba(15,76,73,.10);
    color: #0f4c49;
    border-color: rgba(15,76,73,.26);
}


/* Focus/deep-dive pages: premium purple visual system. */
:root {
    --focus-purple-dark: #4c1d95;
    --focus-purple: #7e22ce;
    --focus-purple-bright: #a855f7;
    --focus-purple-soft: #f5f0ff;
    --focus-purple-border: rgba(126,34,206,.34);
}
.focus-icons { display: inline-flex; gap: 4px; margin-left: 6px; vertical-align: middle; }
.focus-icon { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 999px; border: 1px solid var(--focus-purple-border); background: linear-gradient(135deg, #faf5ff, #ede9fe); color: var(--focus-purple-dark); font-size: .72rem; font-weight: 850; line-height: 1; text-decoration: none; box-shadow: 0 2px 7px rgba(126,34,206,.10); }
.focus-icon:hover { background: linear-gradient(135deg, var(--focus-purple-dark), var(--focus-purple-bright)); color: #fff; border-color: rgba(216,180,254,.75); }
.related-deep-dive-callout { margin: 12px 0 16px; padding: 10px 12px; border-left: 3px solid var(--focus-purple); background: linear-gradient(135deg, #faf5ff, #f4efff); border-radius: 10px; font-size: .92rem; box-shadow: inset 0 0 0 1px rgba(126,34,206,.10); }
.related-deep-dive-callout strong { color: var(--focus-purple-dark); }
.related-deep-dive-callout a.internal-link,
.advanced-topic-parent-link a.internal-link { color: var(--focus-purple-dark); border-bottom-color: rgba(126,34,206,.55); font-weight: 700; }
.related-deep-dive-callout a.internal-link:hover,
.advanced-topic-parent-link a.internal-link:hover { color: var(--focus-purple); border-bottom-color: var(--focus-purple); }

/* MRIninja 2.3.23 — protocol index hierarchy and legends */
.index-legend-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem .65rem;
    margin: .75rem 0 .9rem 0;
}
.index-legend-row .hv-index-legend,
.focus-index-legend {
    margin: 0;
}
.focus-index-legend {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .42rem .65rem;
    border: 1px solid rgba(29,81,81,.22);
    border-radius: 999px;
    background: rgba(15,76,73,.06);
    color: var(--muted);
    font-size: .78rem;
    line-height: 1.25;
}
.focus-icon.legend-only {
    width: 20px;
    height: 20px;
    margin: 0;
    pointer-events: none;
}
.protocol-index-item {
    margin: .34rem 0;
    transition: background .15s ease, border-color .15s ease;
}
.protocol-index-master {
    list-style: none;
    margin-left: -1.05rem;
    padding: .42rem .55rem .46rem .65rem;
    border-left: 3px solid rgba(15,118,110,.58);
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(240,253,250,.92), rgba(248,250,252,.98));
    box-shadow: inset 0 0 0 1px rgba(15,118,110,.10);
}
.protocol-index-master .protocol-index-link {
    font-weight: 850;
    color: var(--primary-dark);
}
.protocol-index-child {
    padding-left: .05rem;
}
.master-protocol-badge {
    color: #064e3b;
    background: #d1fae5;
    border-color: rgba(6,78,59,.22);
    font-weight: 850;
    letter-spacing: .045em;
}
.protocol-index-master .hv-badge,
.protocol-index-master .badge {
    vertical-align: middle;
}
@media (max-width: 720px) {
    .protocol-index-master {
        margin-left: -.7rem;
    }
    .index-legend-row {
        align-items: stretch;
    }
    .index-legend-row .hv-index-legend,
    .focus-index-legend {
        max-width: 100%;
    }
}

/* ==========================================================
   What’s New — ultra compact technical changelog
   ========================================================== */
.whatsnew-compact-intro {
    margin: .35rem 0 .45rem;
    padding: .32rem .45rem;
    border: 1px solid rgba(29, 81, 81, .16);
    border-radius: 8px;
    background: rgba(255,255,255,.46);
}
.whatsnew-compact-intro p {
    margin: 0;
    font-size: .68rem;
    line-height: 1.22;
    color: #28474a;
}
.whatsnew-compact-list {
    margin: .2rem 0 1rem;
    border-top: 1px solid rgba(29, 81, 81, .14);
    font-size: .64rem;
    line-height: 1.18;
}
.wn-row {
    display: grid;
    grid-template-columns: 4.6rem 2.75rem minmax(0, 1fr);
    gap: .35rem;
    align-items: baseline;
    padding: .18rem .22rem;
    border-bottom: 1px solid rgba(29, 81, 81, .10);
}
.wn-row:nth-child(even) {
    background: rgba(255,255,255,.28);
}
.wn-version {
    font-family: "IBM Plex Mono", "JetBrains Mono", monospace;
    font-weight: 800;
    color: #173f42;
    white-space: nowrap;
    font-size: .62rem;
}
.wn-tag {
    display: inline-block;
    width: max-content;
    min-width: 2.2rem;
    padding: .05rem .22rem;
    border-radius: 999px;
    font-family: "IBM Plex Mono", "JetBrains Mono", monospace;
    font-size: .48rem;
    line-height: 1.15;
    text-align: center;
    letter-spacing: .035em;
    font-weight: 800;
    border: 1px solid rgba(29, 81, 81, .18);
    color: #173f42;
    background: rgba(3,166,166,.08);
}
.wn-tag.fix { background: rgba(185, 97, 48, .10); color: #6b3a1e; }
.wn-tag.new { background: rgba(20, 120, 102, .13); color: #174f46; }
.wn-tag.ui { background: rgba(68, 105, 120, .12); color: #2d4d58; }
.wn-tag.update { background: rgba(96, 90, 56, .12); color: #56502f; }
.wn-tag.base { background: rgba(29, 81, 81, .12); color: #173f42; }
.wn-text {
    color: #28474a;
    font-size: .64rem;
    line-height: 1.18;
}
.focus-ebm-bibliography {
    margin-top: .55rem;
}
@media (max-width: 760px) {
    .wn-row {
        grid-template-columns: 4.15rem 2.4rem minmax(0, 1fr);
        gap: .24rem;
        padding: .2rem .1rem;
    }
    .wn-version, .wn-text { font-size: .58rem; }
    .wn-tag { font-size: .44rem; min-width: 2rem; }
}


/* MRIninja sequence interactive educational diagrams */
.sequence-visual-block { margin: 18px 0 24px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: #ffffff; box-shadow: 0 8px 18px rgba(31,41,51,.04); }
.sequence-visual-block .sequence-visual-title { margin: 0 0 10px; color: var(--primary-dark); font-weight: 700; font-size: .98rem; }
.sequence-diagram-img { display: block; width: 100%; max-width: 100%; height: auto; border-radius: 10px; background: #fff; }

/* Sequence educational interactive diagrams */
.sequence-interactive-stack {
  display: flex;
  flex-direction: column;
  gap: 22px;
  margin: 20px 0 28px;
}
.sequence-interactive-panel {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 8px 22px rgba(31,41,51,.055);
  overflow: hidden;
}
.sequence-interactive-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--line);
  background: var(--soft-teal);
}
.sequence-interactive-panel-header h4 {
  margin: 0;
  color: var(--primary-dark);
  font-size: 1rem;
  line-height: 1.3;
}
.sequence-fullscreen-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  padding: 7px 11px;
  border-radius: 999px;
  border: 1px solid rgba(3,166,166,.35);
  color: var(--primary-dark);
  background: #ffffff;
  font-weight: 700;
  font-size: .86rem;
  text-decoration: none;
}
.sequence-fullscreen-link:hover {
  color: #ffffff;
  background: var(--primary-dark);
  border-color: var(--primary-dark);
  text-decoration: none;
}
.sequence-interactive-frame {
  width: 100%;
  border: 0;
  background: #ffffff;
  display: block;
}
.sequence-interactive-frame-large {
  min-height: 640px;
  height: 72vh;
  max-height: 820px;
}
@media (max-width: 860px) {
  .sequence-interactive-panel-header {
    align-items: flex-start;
    flex-direction: column;
  }
  .sequence-interactive-frame-large {
    min-height: 520px;
    height: 70vh;
  }
}

/* MRIninja 3.0.1 semantic relation system */
.semantic-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  margin: 0 0 18px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--soft-teal);
  color: var(--muted);
  font-size: .88rem;
  line-height: 1.35;
}
.semantic-breadcrumbs a {
  color: var(--primary-dark);
  font-weight: 700;
  text-decoration: none;
}
.semantic-breadcrumbs a:hover { text-decoration: underline; }
.breadcrumb-separator { color: var(--gold); font-weight: 800; }
.semantic-related-content {
  margin: 34px 0 30px;
  padding: 22px;
  border: 1px solid rgba(3,166,166,.24);
  border-radius: 22px;
  background: linear-gradient(180deg, #ffffff 0%, var(--soft-teal) 100%);
  box-shadow: 0 10px 24px rgba(31,41,51,.055);
}
.related-content-header { margin-bottom: 18px; }
.related-content-header .eyebrow {
  margin: 0 0 5px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .74rem;
  font-weight: 800;
  color: var(--gold);
}
.related-content-header h2 {
  margin-top: 0;
  color: var(--primary-dark);
}
.related-content-header p {
  margin-bottom: 0;
  color: var(--muted);
}
.relation-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.relation-group {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #ffffff;
}
.relation-group h3 {
  margin: 0 0 10px;
  font-size: 1rem;
  color: var(--warm-dark);
}
.relation-link-list {
  display: grid;
  gap: 8px;
}
.relation-link {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  align-items: baseline;
  padding: 8px 9px;
  border-radius: 12px;
  background: var(--soft);
  text-decoration: none;
}
.relation-link:hover {
  background: #eefcfb;
  text-decoration: none;
}
.relation-id {
  color: var(--gold);
  font-size: .76rem;
  font-weight: 800;
  white-space: nowrap;
}
.reading-path {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.reading-path li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 9px;
  align-items: center;
}
.path-step {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--primary-dark);
  color: #ffffff;
  font-size: .78rem;
  font-weight: 800;
}
.semantic-cluster-chip {
  margin-top: 16px;
  padding: 10px 12px;
  border-radius: 999px;
  display: inline-block;
  background: #fffdf6;
  border: 1px solid rgba(166,140,3,.28);
  color: var(--warm-dark);
  font-size: .9rem;
}
@media (max-width: 860px) {
  .relation-grid { grid-template-columns: 1fr; }
  .semantic-related-content { padding: 16px; }
}
