/* GreenCore whitepaper extracted styles. */

/* ===== whitepaper style block 1 ===== */
:root {
      --bg: #eef1ee;
      --ink: #16211b;
      --muted: #637069;
      --line: #d8dfd9;
      --paper: #fff;
      --green: #0f7a4f;
      --green-dark: #0a4d36;
      --gold: #ad8234;
      --blue: #246b8f;
      --radius-xl: 24px;
      --radius-lg: 18px;
      --radius-md: 14px;
      --shadow: 0 24px 80px rgba(28, 42, 34, .1);
      --page-w: 920px;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; background: var(--bg); }
    body {
      margin: 0;
      font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Inter, Arial, sans-serif;
      color: var(--ink);
      background:
        radial-gradient(circle at 16% 12%, rgba(15,122,79,.08), transparent 26%),
        radial-gradient(circle at 86% 18%, rgba(173,130,52,.06), transparent 28%),
        linear-gradient(180deg, #f7faf7, var(--bg) 54%, #ffffff);
      line-height: 1.7;
      -webkit-font-smoothing: antialiased;
      text-rendering: geometricPrecision;
    }
    a { color: var(--green); text-decoration: none; }
    a:hover { text-decoration: underline; }
    .app-shell { min-height: 100vh; display: grid; grid-template-columns: 292px minmax(0, 1fr); }
    .sidebar {
      position: sticky; top: 0; height: 100vh; padding: 28px 22px;
      border-right: 1px solid rgba(22,33,27,.08);
      background: rgba(248,250,248,.76); backdrop-filter: blur(24px) saturate(140%); overflow: auto;
    }
    .brand { display: flex; align-items: center; gap: 12px; padding-bottom: 22px; border-bottom: 1px solid rgba(216,223,217,.72); }
    .mark {
      width: 36px; height: 52px; display: grid; place-items: center;
    }
    .mark img {
      width: 100%; height: 100%; object-fit: contain;
      filter: drop-shadow(0 8px 10px rgba(0,0,0,.35)) drop-shadow(0 0 10px rgba(76,255,170,.12));
    }
    .brand strong { display: block; font-size: 16px; line-height: 1.15; letter-spacing: -.02em; }
    .brand span { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; }
    .toolbar { display: grid; grid-template-columns: 1fr 50px; gap: 10px; margin: 20px 0 22px; }
    .toolbar button, .mobile-bar button {
      min-height: 44px; border: 1px solid rgba(15,122,79,.14); border-radius: 999px;
      background: rgba(255,255,255,.82); color: var(--green-dark); font: inherit; font-weight: 650; cursor: pointer;
      box-shadow: 0 8px 22px rgba(28,42,34,.045);
      backdrop-filter: blur(14px);
    }
    .toolbar button:hover, .mobile-bar button:hover { background: #fff; }
    .system-nav { display: grid; gap: 6px; margin: 20px 0 18px; }
    .system-nav a {
      min-height: 38px; display: flex; align-items: center; padding: 8px 12px;
      border: 1px solid rgba(15,122,79,.12); border-radius: 999px;
      color: var(--green-dark); background: rgba(255,255,255,.62);
      font-size: 12px; font-weight: 680; text-decoration: none;
    }
    .system-nav a:hover { background: #fff; text-decoration: none; }
    .pdf-export {
      width: 100%; min-height: 42px; margin: 0 0 18px;
      border: 1px solid rgba(15,122,79,.18); border-radius: 999px;
      color: var(--green-dark); background: rgba(255,255,255,.78);
      font: inherit; font-size: 12px; font-weight: 720; cursor: pointer;
    }
    .pdf-export:hover { background: #fff; }
    .trust-footer {
      margin-left: 292px; padding: 36px clamp(16px,4vw,56px);
      border-top: 1px solid rgba(255,255,255,.08);
      color: rgba(238,246,241,.58); background: #090d0b; font-size: 13px;
    }
    .trust-footer strong { color: #fff; }
    .toc-title { margin: 18px 0 10px; color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
    .toc { display: grid; gap: 4px; padding-bottom: 24px; }
    .toc a {
      display: grid; grid-template-columns: 28px 1fr; gap: 8px; align-items: baseline;
      min-height: 36px; padding: 8px 10px; border-radius: 999px; color: #334139; font-size: 13px; text-decoration: none;
    }
    .toc a:hover, .toc a.active { background: rgba(15,122,79,.09); color: var(--green-dark); }
    .toc .num { color: var(--gold); font-weight: 650; font-variant-numeric: tabular-nums; }
    .mobile-bar {
      position: sticky; top: 0; z-index: 20; display: none; align-items: center; justify-content: space-between; gap: 12px;
      padding: 12px 14px; border-bottom: 1px solid rgba(22,33,27,.1); background: rgba(248,250,248,.86); backdrop-filter: blur(20px) saturate(140%);
    }
    main { min-width: 0; padding: 32px clamp(16px, 4vw, 56px) 72px; }
    .progress { position: fixed; top: 0; left: 0; z-index: 50; height: 3px; width: 0; background: linear-gradient(90deg, var(--green), #62d188, var(--gold)); }
    .doc-header { width: min(var(--page-w), 100%); margin: 0 auto 20px; display: flex; justify-content: space-between; gap: 20px; color: var(--muted); font-size: 13px; }
    .paper-stack { width: min(var(--page-w), 100%); margin: 0 auto; display: grid; gap: 28px; }
    .page {
      position: relative; min-height: 1180px; padding: 78px 80px 76px; background: var(--paper);
      border: 1px solid rgba(22,33,27,.075); border-radius: var(--radius-xl); box-shadow: var(--shadow); overflow: hidden;
      opacity: 0; transform: translateY(22px); transition: opacity .45s ease, transform .45s ease;
    }
    .page.rendered { opacity: 1; transform: translateY(0); }
    .page::before { content: ""; position: absolute; inset: 0 0 auto; height: 5px; background: linear-gradient(90deg, var(--green-dark), var(--green), #76d795, var(--gold)); }
    .page-head { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 38px; padding-bottom: 18px; border-bottom: 1px solid rgba(216,223,217,.76); color: var(--muted); font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
    .page-number { position: absolute; right: 80px; bottom: 34px; color: #8a948f; font-size: 12px; font-variant-numeric: tabular-nums; }
    .section-kicker { color: var(--gold); font-size: 13px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
    h1, h2, h3 { margin: 0; color: var(--ink); line-height: 1.16; letter-spacing: -.025em; }
    h1 { max-width: 720px; margin-top: 18px; font-size: 54px; font-weight: 760; }
    h2 { margin: 14px 0 24px; font-size: 31px; font-weight: 720; }
    h3 { margin: 28px 0 10px; font-size: 18px; font-weight: 700; }
    p { margin: 0 0 16px; color: #2d3831; font-size: 15.5px; }
    .lead { max-width: 720px; margin-top: 24px; color: #334139; font-size: 19px; line-height: 1.8; }
    .cover-meta, .stat-grid, .grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin: 26px 0; }
    .cover-meta { grid-template-columns: repeat(3, 1fr); margin-top: 58px; padding-top: 22px; border-top: 1px solid var(--line); }
    .stat, .callout { padding: 18px; border: 1px solid rgba(216,223,217,.78); background: #fbfcfb; border-radius: var(--radius-md); }
    .stat span, .cover-meta span { display: block; color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
    .stat b, .cover-meta b { display: block; margin-top: 8px; color: var(--ink); font-size: 18px; font-weight: 760; }
    .note { margin-top: 28px; padding: 20px 22px; border-left: 4px solid var(--green); background: #f7faf8; color: #324039; font-size: 14.5px; border-radius: 0 var(--radius-md) var(--radius-md) 0; }
    .callout { margin: 22px 0; border-color: rgba(15,122,79,.18); }
    .callout strong { display: block; margin-bottom: 8px; color: var(--green-dark); font-size: 14px; }
    .small { color: var(--muted); font-size: 13.5px; line-height: 1.65; }
    ul, ol { margin: 12px 0 22px; padding-left: 22px; }
    li { margin: 8px 0; color: #2d3831; font-size: 15.5px; }
    table { width: 100%; margin: 18px 0 24px; border-collapse: collapse; font-size: 14px; }
    th, td { padding: 12px; border-bottom: 1px solid var(--line); vertical-align: top; text-align: left; }
    th { color: var(--green-dark); background: #f6faf7; font-weight: 760; }
    .figure { margin: 28px 0 22px; padding: 18px; border: 1px solid #cfd8d1; background: #fff; border-radius: var(--radius-md); }
    .figure-title { margin: 0 0 12px; color: var(--green-dark); font-size: 13px; font-weight: 760; letter-spacing: .04em; text-transform: uppercase; }
    .caption { margin: 10px 0 0; color: var(--muted); font-size: 12.5px; line-height: 1.55; }
    .tech-svg { display: block; width: 100%; height: auto; border: 1px solid rgba(22,33,27,.1); background: #fff; border-radius: 10px; }
    .tech-svg text { font-family: Inter, "Segoe UI", Arial, sans-serif; fill: #1d2a23; font-size: 12px; font-weight: 650; }
    .mono { font-family: Consolas, "Courier New", monospace; font-size: 13px; }
    .thesis-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin: 22px 0; }
    .thesis-card { padding: 18px; border: 1px solid rgba(216,223,217,.78); border-radius: var(--radius-md); background: #fbfcfb; }
    .thesis-card strong { display: block; margin-bottom: 8px; color: var(--green-dark); }
    .quote-panel { margin: 24px 0; padding: 24px; border-left: 4px solid var(--gold); background: #fbfcfb; color: #27352d; font-size: 17px; line-height: 1.7; border-radius: 0 var(--radius-md) var(--radius-md) 0; }
    .flywheel { margin: 28px 0; padding: 22px; border: 1px solid rgba(216,223,217,.78); border-radius: var(--radius-md); background: white; }
    .allocation-visual {
      display: grid; grid-template-columns: 260px 1fr; gap: 34px; align-items: center;
      margin: 22px 0 26px; padding: 24px; border: 1px solid rgba(216,223,217,.78);
      border-radius: var(--radius-lg); background: #fbfcfb;
    }
    .allocation-donut {
      position: relative; width: 230px; aspect-ratio: 1; margin: auto; border-radius: 50%;
      background: conic-gradient(
        #67e1aa 0 35%,
        #7a68ff 35% 55%,
        #c7a16a 55% 70%,
        #55a9cf 70% 85%,
        #e27ca9 85% 95%,
        #93a66b 95% 100%
      );
      box-shadow: 0 18px 42px rgba(22,33,27,.12);
    }
    .allocation-donut::after {
      content: ""; position: absolute; inset: 25%; border-radius: 50%;
      background: var(--paper); box-shadow: inset 0 0 0 1px rgba(216,223,217,.78);
    }
    .donut-core {
      position: absolute; z-index: 1; inset: 25%; display: grid; place-content: center;
      text-align: center; color: var(--ink); font-size: 9.5px; line-height: 1.12;
      overflow: hidden; overflow-wrap: normal; word-break: keep-all;
    }
    .donut-core strong { display: block; font-size: clamp(11px, 1vw, 14px); letter-spacing: -.04em; white-space: nowrap; }
    .allocation-legend { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; }
    .legend-item { display: grid; grid-template-columns: 10px 1fr auto; gap: 9px; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--line); }
    .legend-swatch { width: 10px; height: 10px; border-radius: 3px; }
    .legend-item span { color: var(--muted); font-size: 12.5px; }
    .legend-item b { color: var(--ink); font-size: 13px; }
    .principles-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 18px 0 22px; }
    .principle-card { min-height: 118px; padding: 18px; border: 1px solid rgba(216,223,217,.78); border-radius: var(--radius-md); background: #fbfcfb; }
    .principle-card strong { display: block; margin-bottom: 7px; color: var(--green-dark); font-size: 15px; }
    .principle-card span { color: var(--muted); font-size: 13.5px; line-height: 1.55; }
    .governance-path { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 16px; counter-reset: governance; }
    .governance-step { position: relative; padding: 13px 12px 13px 38px; border: 1px solid var(--line); border-radius: 10px; color: #2d3831; font-size: 12.5px; line-height: 1.4; }
    .governance-step::before { counter-increment: governance; content: counter(governance); position: absolute; left: 12px; top: 12px; color: var(--green); font-weight: 800; }
    #team .thesis-grid { gap: 10px; margin: 16px 0; }
    #team .thesis-card { padding: 14px 16px; }
    #team .thesis-card p { margin-bottom: 0; font-size: 14px; line-height: 1.55; }
    #team .callout { margin-top: 16px; }
    #risk-matrix table { margin-top: 14px; font-size: 13px; }
    #risk-matrix th, #risk-matrix td { padding: 9px 10px; }
    #risk-matrix .callout { margin-top: 16px; }
    #ecosystem-operating-loop .figure { margin: 16px 0 14px; padding: 12px; }
    #ecosystem-operating-loop .tech-svg { max-height: 650px; }
    #ecosystem-operating-loop table { margin: 12px 0 0; font-size: 12.5px; }
    #ecosystem-operating-loop th, #ecosystem-operating-loop td { padding: 8px 10px; }
    #treasury-governance-flow .figure { margin: 16px 0 12px; padding: 12px; }
    #treasury-governance-flow .tech-svg { max-height: 700px; }
    #treasury-governance-flow table { margin: 12px 0 14px; font-size: 12.5px; }
    #treasury-governance-flow th, #treasury-governance-flow td { padding: 7px 9px; }
    #treasury-governance-flow .grid-2 { margin-top: 12px; gap: 10px; }
    #treasury-governance-flow .grid-2 h3 { margin-top: 12px; }
    #treasury-governance-flow .grid-2 p { margin-bottom: 0; font-size: 14px; }
    #treasury-control-records table { margin: 14px 0; font-size: 12.5px; }
    #treasury-control-records th, #treasury-control-records td { padding: 8px 9px; }
    #governance-lifecycle .figure, #legal-structure .figure { margin: 16px 0 14px; padding: 12px; }
    #governance-lifecycle .tech-svg { max-height: 650px; }
    #legal-structure .tech-svg { max-height: 430px; }
    #legal-structure table { margin: 12px 0 14px; font-size: 12.5px; }
    #legal-structure th, #legal-structure td { padding: 8px 9px; }
    #competitive-positioning table, #listing-strategy table, #kpi-framework table { margin: 14px 0; font-size: 12.5px; }
    #competitive-positioning th, #competitive-positioning td,
    #listing-strategy th, #listing-strategy td,
    #kpi-framework th, #kpi-framework td { padding: 8px 9px; }
    #roadmap table { margin: 14px 0 16px; font-size: 12.5px; }
    #roadmap th, #roadmap td { padding: 8px 9px; }
    #roadmap .callout { margin-top: 14px; }
    #foundation-principles .principles-grid { gap: 10px; margin: 14px 0; }
    #foundation-principles .principle-card { min-height: 0; padding: 14px; }
    #foundation-principles .principle-card span { font-size: 12.5px; line-height: 1.45; }
    #foundation-principles h3 { margin-top: 18px; }
    #team table { margin: 14px 0; font-size: 13px; }
    #team th, #team td { padding: 9px 10px; }
    #team table { border-collapse: separate; border-spacing: 0 7px; }
    #team tbody td {
      border-top: 1px solid rgba(255,255,255,.08);
      border-bottom: 1px solid rgba(255,255,255,.08);
      background: rgba(255,255,255,.035);
    }
    #team tbody td:first-child {
      color: #9effd3;
      font-weight: 760;
      border-left: 1px solid rgba(255,255,255,.08);
      border-radius: 8px 0 0 8px;
    }
    #team tbody td:last-child {
      border-right: 1px solid rgba(255,255,255,.08);
      border-radius: 0 8px 8px 0;
    }
    #architecture .grid-2 { gap: 14px; margin: 24px 0; }
    #architecture .grid-2 > div {
      min-height: 150px;
      padding: 20px;
      border: 1px solid rgba(158,255,211,.18);
      border-radius: var(--radius-md);
      background: linear-gradient(135deg, rgba(158,255,211,.065), rgba(112,87,255,.045));
      box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
    }
    #architecture .grid-2 h3 { margin: 0 0 10px; color: #9effd3; font-size: 17px; }
    #architecture .grid-2 p { margin: 0; font-size: 14px; line-height: 1.7; }
    .institutional-diagram {
      margin: 22px 0;
      padding: 16px;
      border: 1px solid rgba(158,255,211,.2);
      border-radius: var(--radius-lg);
      background: linear-gradient(145deg, rgba(158,255,211,.055), rgba(112,87,255,.06));
      box-shadow: inset 0 1px 0 rgba(255,255,255,.045), 0 18px 46px rgba(0,0,0,.12);
    }
    .institutional-diagram .tech-svg { max-height: 560px; }
    .diagram-note {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
      margin-top: 14px;
    }
    .diagram-note div {
      padding: 12px 14px;
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 10px;
      background: rgba(255,255,255,.035);
    }
    .diagram-note strong { display: block; color: #9effd3; font-size: 12.5px; }
    .diagram-note span { color: rgba(244,250,246,.62); font-size: 11.5px; line-height: 1.5; }
    .legal-subsection {
      margin: 18px 0;
      padding: 20px;
      border: 1px solid rgba(158,255,211,.16);
      border-radius: var(--radius-md);
      background: linear-gradient(135deg, rgba(158,255,211,.05), rgba(112,87,255,.035));
    }
    .legal-subsection h3 { margin-top: 0; color: #9effd3; }
    .back-cover {
      display: grid;
      min-height: 100%;
      align-content: space-between;
      text-align: center;
    }
    .back-cover-mark { width: 118px; height: 156px; margin: 68px auto 24px; object-fit: contain; filter: drop-shadow(0 18px 30px rgba(0,0,0,.4)); }
    .back-cover h2 { margin-bottom: 12px; font-size: 42px; }
    .back-cover-footer { padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); color: var(--muted); font-size: 13px; }
    .back-cover-principles { margin: 0 0 22px; color: #9effd3; font-size: 14px; font-weight: 700; letter-spacing: .04em; }
    .back-cover-release { display: grid; gap: 4px; }
    .back-cover-release p { margin: 0; }
    #governance .grid-2 > div, #foundation-principles .grid-2 > div {
      padding: 18px;
      border: 1px solid rgba(158,255,211,.18);
      border-radius: var(--radius-md);
      background: linear-gradient(135deg, rgba(158,255,211,.06), rgba(112,87,255,.04));
    }
    #governance .grid-2 h3, #foundation-principles .grid-2 h3 {
      margin: 0 0 9px;
      color: #9effd3;
      font-size: 16px;
    }
    #governance .grid-2 p, #foundation-principles .grid-2 p { margin: 0; font-size: 14px; line-height: 1.65; }
    #advisory-network .thesis-grid { margin: 18px 0; gap: 12px; }
    #advisory-network .thesis-card { padding: 16px; }
    #advisory-network .thesis-card p { margin-bottom: 0; font-size: 14px; line-height: 1.6; }
    #institutional-transparency .grid-2 { gap: 14px; margin: 24px 0; }
    #institutional-transparency .grid-2 > div {
      min-height: 160px;
      padding: 20px;
      border: 1px solid rgba(158,255,211,.18);
      border-radius: var(--radius-md);
      background: linear-gradient(135deg, rgba(158,255,211,.065), rgba(112,87,255,.045));
      box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
    }
    #institutional-transparency .grid-2 h3 {
      margin: 0 0 10px;
      color: #9effd3;
      font-size: 17px;
    }
    #institutional-transparency .grid-2 p { margin: 0; font-size: 14px; line-height: 1.7; }
    #institutional-transparency > .page-content > p:last-child,
    #institutional-transparency .page-content > p:last-child {
      margin-top: 20px;
      padding: 18px 20px;
      border-left: 3px solid #9effd3;
      border-radius: 0 var(--radius-md) var(--radius-md) 0;
      background: rgba(158,255,211,.045);
    }
    #treasury-control-records table { border-collapse: separate; border-spacing: 0 7px; }
    #treasury-control-records thead th {
      border-top: 1px solid rgba(158,255,211,.18);
      border-bottom: 1px solid rgba(158,255,211,.18);
      background: rgba(158,255,211,.075);
    }
    #treasury-control-records tbody td {
      color: rgba(244,250,246,.78);
      border-top: 1px solid rgba(255,255,255,.08);
      border-bottom: 1px solid rgba(255,255,255,.08);
      background: rgba(255,255,255,.035);
    }
    #treasury-control-records tbody td:first-child {
      color: #9effd3;
      border-left: 1px solid rgba(255,255,255,.08);
      border-radius: 8px 0 0 8px;
    }
    #treasury-control-records tbody td:last-child {
      border-right: 1px solid rgba(255,255,255,.08);
      border-radius: 0 8px 8px 0;
    }
    .kpi-dashboard { display: grid; gap: 18px; margin: 28px 0; padding: 26px; color: #17231d; border: 1px solid #cfd8d2; border-radius: var(--radius-md); background: #f7faf8; }
    .kpi-row { display: grid; grid-template-columns: 210px 1fr; align-items: center; gap: 20px; }
    .kpi-row strong { color: #17231d !important; font-size: 14px; font-weight: 760; }
    .kpi-track { height: 16px; overflow: hidden; border: 1px solid #d3dbd6; border-radius: 4px; background: #dfe6e2; }
    .kpi-fill { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #0f8557, #7868ff); }
    #stablecoin-payments table, #legal-compliance table { margin: 12px 0 14px; font-size: 12.5px; }
    #stablecoin-payments th, #stablecoin-payments td,
    #legal-compliance th, #legal-compliance td { padding: 8px 9px; }
    #stablecoin-payments .callout, #legal-compliance .callout { margin: 14px 0; }
    #allocation .allocation-visual { grid-template-columns: 200px 1fr; gap: 22px; margin: 14px 0; padding: 16px; }
    #allocation .allocation-donut { width: 178px; }
    #allocation .legend-item { padding: 6px 0; }
    #allocation table { margin: 10px 0; font-size: 12px; }
    #allocation th, #allocation td { padding: 7px 8px; }
    #roadmap .grid-2 { gap: 10px; margin: 14px 0; }
    #roadmap .thesis-card { padding: 14px 16px; }
    #roadmap .thesis-card p { margin-bottom: 0; font-size: 13.5px; line-height: 1.65; }
    @media (max-width: 1040px) {
      .app-shell { grid-template-columns: 1fr; }
      .sidebar { position: fixed; z-index: 40; left: 0; top: 0; width: min(340px, 88vw); transform: translateX(-102%); transition: transform .25s ease; box-shadow: 20px 0 80px rgba(28,42,34,.18); }
      body.menu-open .sidebar { transform: translateX(0); }
      .mobile-bar { display: flex; }
      main { padding-top: 22px; }
      .doc-header { display: none; }
    }
    @media (max-width: 760px) {
      .page { min-height: auto; padding: 54px 24px 62px; border-radius: var(--radius-lg); }
      .page-head { margin-bottom: 26px; display: grid; }
      .page-number { right: 24px; bottom: 22px; }
      h1 { font-size: 38px; }
      h2 { font-size: 25px; }
      .lead { font-size: 17px; }
      .cover-meta, .grid-2, .stat-grid { grid-template-columns: 1fr; }
      .allocation-visual { grid-template-columns: 1fr; padding: 20px; }
      .allocation-donut { width: min(220px, 76vw); }
      .allocation-legend, .principles-grid, .governance-path { grid-template-columns: 1fr; }
      .kpi-row { grid-template-columns: 1fr; gap: 8px; }
      .diagram-note { grid-template-columns: 1fr; }
      .back-cover-mark { margin-top: 20px; }
      .back-cover h2 { font-size: 32px; }
      table { display: block; overflow-x: auto; white-space: nowrap; }
    }
    @media print {
      body { background: white; }
      .sidebar, .mobile-bar, .progress, .doc-header { display: none !important; }
      .app-shell { display: block; }
      main { padding: 0; }
      .paper-stack { width: 100%; gap: 0; }
      .page { box-shadow: none; border: none; border-radius: 0; min-height: 100vh; page-break-after: always; opacity: 1 !important; transform: none !important; }
    }
    @media (max-width: 1040px) { .trust-footer { margin-left: 0; } }

/* ===== whitepaper style block 2 ===== */
:root {
      --bg: #050507;
      --ink: #f4faf6;
      --muted: rgba(235,245,239,.58);
      --line: rgba(255,255,255,.09);
      --paper: rgba(255,255,255,.045);
      --green: #9effd3;
      --green-dark: #6fe0ab;
      --gold: #c7a16a;
      --blue: #7057ff;
      --shadow: 0 26px 90px rgba(0,0,0,.32);
    }
    html, body { background: #050507; }
    body {
      color: var(--ink);
      background:
        radial-gradient(circle at 12% 12%, rgba(112,87,255,.15), transparent 30%),
        radial-gradient(circle at 84% 30%, rgba(158,255,211,.1), transparent 32%),
        #050507;
    }
    a { color: #9effd3; }
    .sidebar {
      border-color: rgba(255,255,255,.07);
      background: rgba(5,5,7,.78);
      backdrop-filter: blur(24px) saturate(130%);
    }
    .brand { border-color: rgba(255,255,255,.08); }
    .mark { box-shadow: none; }
    .brand span, .toc-title, .doc-header, .page-head, .page-number, .small,
    .caption, .stat span, .cover-meta span { color: var(--muted); }
    .toolbar button, .mobile-bar button {
      color: #dfffee;
      border-color: rgba(158,255,211,.15);
      background: rgba(255,255,255,.055);
    }
    .toc a { color: rgba(245,250,247,.72); }
    .toc a:hover, .toc a.active { color: #fff; background: rgba(158,255,211,.08); }
    .toc .num, .section-kicker { color: #9effd3; }
    .mobile-bar {
      color: #fff;
      border-color: rgba(255,255,255,.08);
      background: rgba(5,5,7,.84);
    }
    .progress { background: linear-gradient(90deg, #7057ff, #9effd3, #c7a16a); }
    .page {
      color: var(--ink);
      border-color: rgba(255,255,255,.09);
      background:
        radial-gradient(circle at 94% 4%, rgba(112,87,255,.1), transparent 24%),
        linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.035));
      box-shadow: var(--shadow);
      backdrop-filter: blur(18px);
    }
    .page::before { background: linear-gradient(90deg, #7057ff, #9effd3, #c7a16a); }
    .page-head { border-color: rgba(255,255,255,.08); }
    h1, h2, h3 { color: #f7fbf8; }
    p, li { color: rgba(238,246,241,.72); }
    .lead { color: rgba(242,250,245,.72); }
    .cover-meta { border-color: rgba(255,255,255,.08); }
    .stat, .callout, .thesis-card, .quote-panel, .flywheel, .note, .figure {
      color: var(--ink);
      border-color: rgba(255,255,255,.09);
      background: rgba(255,255,255,.045);
    }
    .allocation-visual, .principle-card {
      border-color: rgba(255,255,255,.09);
      background: rgba(255,255,255,.045);
    }
    .allocation-donut::after { background: #111315; box-shadow: inset 0 0 0 1px rgba(255,255,255,.1); }
    .donut-core, .legend-item b { color: #fff; }
    .legend-item, .governance-step { border-color: rgba(255,255,255,.09); }
    .principle-card strong { color: #9effd3; }
    .principle-card span, .governance-step { color: rgba(238,246,241,.68); }
    .stat b, .cover-meta b { color: #fff; }
    .callout strong, .thesis-card strong, .figure-title { color: #9effd3; }
    th {
      color: #9effd3;
      background: rgba(158,255,211,.055);
    }
    th, td { border-color: rgba(255,255,255,.08); }
    .tech-svg { background: #f8fbf9; }
    @media print {
      body, .page { color: #16211b; background: white; }
      h1, h2, h3 { color: #16211b; }
      p, li { color: #2d3831; }
    }

/* Layout hardening: keep long text, tables, SVGs and diagrams inside every whitepaper page. */
.page,
.page *,
.sidebar,
.sidebar *,
.toc,
.toc *,
.thesis-card,
.principle-card,
.callout,
.quote-panel,
.figure,
.note,
.stat,
.allocation-visual,
.institutional-diagram,
.kpi-dashboard,
.legal-subsection,
table,
th,
td{
  min-width:0;
  max-width:100%;
  overflow-wrap:normal;
  word-break:normal;
}

.mono,
code{
  overflow-wrap:anywhere;
  word-break:break-word;
}

.page{overflow:hidden}

.page-content,
.main,
.paper-stack,
.doc-header{
  min-width:0;
  max-width:100%;
}

table{table-layout:auto}

th,
td{
  white-space:normal;
  vertical-align:top;
}

.tech-svg,
.figure svg,
svg{
  display:block;
  max-width:100%;
  height:auto;
}

.allocation-visual,
.grid-2,
.stat-grid,
.cover-meta,
.principles-grid,
.thesis-grid,
.diagram-note,
.governance-path,
.kpi-row{
  min-width:0;
}

.allocation-legend,
.legend-item,
.kpi-row{
  overflow:hidden;
}

.toc a,
.system-nav a,
.toolbar button,
.mobile-bar button,
.pdf-export{
  white-space:normal;
  line-height:1.25;
}

@media(max-width:760px){
  main{padding:18px 12px 46px}
  .paper-stack,
  .doc-header{width:100%}

  .page{
    padding:42px 18px 58px;
    border-radius:16px;
  }

  .page h1{
    font-size:clamp(36px,11vw,54px);
    line-height:1.02;
  }

  .page h2{
    font-size:clamp(26px,8vw,38px);
    line-height:1.12;
  }

  .page h3{line-height:1.2}

  table{
    display:block;
    width:100%;
    border-collapse:separate!important;
    border-spacing:0 12px!important;
    overflow:visible;
    white-space:normal;
  }

  thead{
    display:none;
  }

  tbody,
  tr,
  th,
  td{
    display:block;
    width:100%!important;
    max-width:none;
    min-width:0!important;
  }

  tr{
    padding:12px 13px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:14px;
    background:rgba(255,255,255,.035);
  }

  th,
  td{
    padding:8px 0;
    border:0!important;
    font-size:13.5px!important;
    line-height:1.62;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }

  td + td,
  th + td{
    border-top:1px solid rgba(255,255,255,.07)!important;
  }

  td::before,
  th::before{
    content:attr(data-label);
    display:block;
    margin-bottom:4px;
    color:#9effd3;
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  .figure,
  .institutional-diagram,
  .kpi-dashboard,
  .allocation-visual,
  .principle-card,
  .thesis-card,
  .callout,
  .quote-panel,
  .note{
    padding:14px;
    border-radius:14px;
  }

  .kpi-row{grid-template-columns:1fr}
}

/* Mobile reading polish. */
h1,
h2,
h3,
.brand strong{
  letter-spacing:0!important;
  text-wrap:balance;
}

.mobile-bar{
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}

.mobile-bar a{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  padding:0 12px;
  border:1px solid rgba(158,255,211,.16);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  text-decoration:none!important;
}

@media(max-width:1040px){
  body.menu-open::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:35;
    background:rgba(0,0,0,.42);
    backdrop-filter:blur(6px);
  }

  .sidebar{
    max-width:86vw;
    border-right-color:rgba(158,255,211,.16)!important;
    box-shadow:24px 0 80px rgba(0,0,0,.34)!important;
  }

  body:not(.menu-open) .sidebar{
    visibility:hidden;
  }

  body.menu-open .sidebar{
    visibility:visible;
  }
}

@media(max-width:760px){
  .mobile-bar{
    gap:8px;
    padding:10px 12px;
  }

  .mobile-bar strong{
    min-width:0;
    font-size:14px;
    line-height:1.2;
  }

  .mobile-bar button{
    min-height:34px;
    padding:0 12px;
    font-size:12px;
  }

  .mobile-bar a{
    font-size:12px!important;
  }
}


