    .doc{ max-width:52rem; margin:0 auto; padding:0 1.25rem; }
    .doc h2{ font-family:'Playfair Display',Georgia,serif; font-size:1.65rem; font-weight:700; color:#103b27; margin:2.4rem 0 .5rem; letter-spacing:-.01em; }
    .doc h3{ font-family:"Space Grotesk",sans-serif; font-size:1.05rem; font-weight:700; color:#1a6e41; margin:1.5rem 0 .4rem; }
    .doc p, .doc li{ color:rgba(18,68,44,.9); line-height:1.75; }
    .doc p{ margin:.7rem 0; }
    .doc ul,.doc ol{ margin:.6rem 0 .6rem 1.2rem; }
    .doc ul li{ list-style:disc; margin:.35rem 0; }
    .doc ol li{ list-style:decimal; margin:.35rem 0; }
    .doc strong{ color:#0d3322; }
    .doc a{ color:#16543a; text-decoration:underline; text-underline-offset:2px; }
    .doc-lead{ font-size:1.1rem; color:rgba(18,68,44,.92); }
    .doc-answer{ margin:1.1rem 0; padding:1rem 1.2rem; border-radius:1rem; background:rgba(47,163,98,.08); border:1px solid rgba(47,163,98,.22); }
    .doc-answer p{ margin:0; }
    .doc-note{ margin:1.4rem 0; padding:1rem 1.2rem; border-radius:1rem; background:rgba(233,173,42,.1); border:1px solid rgba(233,173,42,.35); }
    .doc-note p{ margin:0; color:#6b4a12; font-size:.94rem; }
    .crumbs{ font-size:.82rem; color:rgba(18,68,44,.65); margin-bottom:.4rem; }
    .crumbs a{ color:#16543a; }
    .card-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:1rem; margin:1.4rem 0; }
    .mini-card{ display:block; padding:1.1rem 1.2rem; border-radius:1rem; background:#fff; border:1px solid rgba(47,163,98,.2); text-decoration:none !important; box-shadow:0 10px 30px -22px rgba(16,68,44,.4); transition:transform .2s ease, box-shadow .2s ease; }
    .mini-card:hover{ transform:translateY(-2px); box-shadow:0 16px 40px -24px rgba(16,68,44,.5); }
    .mini-card h3{ margin:0 0 .3rem; font-size:1rem; }
    .mini-card p{ margin:0; font-size:.9rem; color:rgba(18,68,44,.78); }
    .term{ margin:1.1rem 0; padding-bottom:1rem; border-bottom:1px solid rgba(47,163,98,.14); }
    .term h3{ margin:0 0 .25rem; }
    .term p{ margin:0; }
    html[data-theme="dark"] .doc h2, html[data-theme="dark"] .doc strong{ color:#eaf6ee; }
    html[data-theme="dark"] .doc h3{ color:#7fd4a0; }
    html[data-theme="dark"] .doc p, html[data-theme="dark"] .doc li, html[data-theme="dark"] .doc-lead{ color:rgba(214,236,222,.88); }
    html[data-theme="dark"] .doc a, html[data-theme="dark"] .crumbs a{ color:#7fd4a0; }
    html[data-theme="dark"] .doc-answer{ background:rgba(127,212,160,.1); border-color:rgba(127,212,160,.24); }
    html[data-theme="dark"] .doc-note{ background:rgba(240,198,94,.09); border-color:rgba(240,198,94,.3); }
    html[data-theme="dark"] .doc-note p{ color:#f3ddb0; }
    html[data-theme="dark"] .crumbs{ color:rgba(190,216,199,.74); }
    html[data-theme="dark"] .mini-card{ background:#0f2b1e; border-color:rgba(127,212,160,.18); }
    html[data-theme="dark"] .mini-card p{ color:rgba(214,236,222,.8); }
    html[data-theme="dark"] .term{ border-bottom-color:rgba(127,212,160,.14); }
    html.theme-switching *{ transition:none !important; }
    /* the shared .footer-link / faint Tailwind inks are tuned for the dark
       footer on the home page; these pages sit on a light canvas, so restate
       them for both themes instead of inheriting an unreadable colour. */
    body > footer .footer-link{ color:rgba(18,68,44,.82) !important; }
    body > footer .footer-link:hover{ color:#0d3322 !important; }
    body > footer p{ color:rgba(18,68,44,.72) !important; }
    html[data-theme="dark"] body > footer .footer-link{ color:rgba(214,236,222,.82) !important; }
    html[data-theme="dark"] body > footer .footer-link:hover{ color:#eaf6ee !important; }
    html[data-theme="dark"] body > footer p{ color:rgba(214,236,222,.72) !important; }
    .crumbs{ color:rgba(18,68,44,.8); }
    html[data-theme="dark"] .crumbs{ color:rgba(214,236,222,.8); }

    .addr-card{ margin:1.2rem 0; padding:1.1rem 1.2rem; border-radius:1rem; background:#fff; border:1px solid rgba(47,163,98,.24); box-shadow:0 10px 30px -22px rgba(16,68,44,.4); }
    .addr-label{ display:block; font-size:.8rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:#1a6e41; }
    .addr-code{ display:block; margin:.5rem 0 .8rem; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.95rem; color:#0d3322; word-break:break-all; }
    .addr-actions{ display:flex; flex-wrap:wrap; gap:.5rem; }
    .addr-actions .btn-ghost{ text-decoration:none !important; }
    .facts{ display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:.75rem; margin:1.2rem 0; }
    .facts > div{ padding:.85rem 1rem; border-radius:.9rem; background:rgba(47,163,98,.07); border:1px solid rgba(47,163,98,.18); }
    .facts dt{ font-size:.78rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:#1a6e41; }
    .facts dd{ margin:.25rem 0 0; color:#0d3322; line-height:1.5; }
    .facts code{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.9rem; word-break:break-all; }
    .facts .facts-wide{ grid-column:1 / -1; }
    /* .notranslate keeps brand names on one line site-wide; the 44-character address
       is the one thing that must be allowed to wrap, or it runs out of its box on a phone */
    .facts code.notranslate, .addr-code.notranslate{ white-space:normal; }
    .alloc{ width:100%; border-collapse:collapse; margin:1rem 0; font-size:.95rem; }
    .alloc th, .alloc td{ text-align:left; padding:.55rem .6rem; border-bottom:1px solid rgba(47,163,98,.18); color:rgba(18,68,44,.92); }
    .alloc th{ font-size:.78rem; letter-spacing:.04em; text-transform:uppercase; color:#1a6e41; }
    .alloc-wrap{ overflow-x:auto; }
    .asset-card img{ display:block; width:64px; height:64px; margin-bottom:.6rem; }
    .em-link{ text-decoration:none !important; }
    html[data-theme="dark"] .addr-card{ background:#0f2b1e; border-color:rgba(127,212,160,.2); }
    html[data-theme="dark"] .addr-label, html[data-theme="dark"] .facts dt, html[data-theme="dark"] .alloc th{ color:#7fd4a0; }
    html[data-theme="dark"] .addr-code, html[data-theme="dark"] .facts dd{ color:#eaf6ee; }
    html[data-theme="dark"] .facts > div{ background:rgba(127,212,160,.08); border-color:rgba(127,212,160,.18); }
    html[data-theme="dark"] .alloc th, html[data-theme="dark"] .alloc td{ border-bottom-color:rgba(127,212,160,.16); }
    html[data-theme="dark"] .alloc td{ color:rgba(214,236,222,.88); }
