/* Long-form reading companion to the shared wallet palette. */
.wp { padding-top:126px; }
.wp-hero { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:72px; align-items:center; padding-top:38px; padding-bottom:76px; }
.wp-label { color:var(--teal); font-size:.78rem; font-weight:650; letter-spacing:.12em; text-transform:uppercase; margin:0 0 18px; }
.wp-hero h1 { font-size:clamp(2.5rem,4.4vw,4.6rem); letter-spacing:-.045em; line-height:1.08; }
.wp-intro { color:var(--text-dim); font-size:1.15rem; line-height:1.7; max-width:42ch; margin:24px 0; }
.wp-actions { display:flex; gap:12px; flex-wrap:wrap; }
.wp-edition { display:flex; gap:18px; flex-wrap:wrap; font-size:.86rem; color:var(--text-faint); margin:24px 0 0; }
.wp-cover { min-height:346px; border:1px solid var(--border-hi); border-radius:24px; background:linear-gradient(155deg,var(--surface),var(--bg-2)); box-shadow:var(--shadow); padding:28px; position:relative; overflow:hidden; }
.wp-cover::after { content:""; position:absolute; bottom:0; left:0; right:0; height:9px; background:var(--grad-bright); }
.wp-cover img { margin-bottom:8px; }
.wp-cover p { font-weight:600; letter-spacing:.16em; font-size:.8rem; margin:0 0 21px; }
.wp-cover strong { font-size:2rem; letter-spacing:-.03em; display:block; color:var(--violet-hi); }
.wp-cover span { display:block; color:var(--text-dim); font-size:1rem; line-height:1.6; margin-top:14px; }
.wp-cover small { display:block; margin-top:34px; font-size:.8rem; color:var(--text-faint); }
.wp-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:62px; align-items:start; }
.wp-toc { position:sticky; top:110px; max-height:calc(100dvh - 135px); overflow:auto; border:1px solid var(--border); background:var(--surface); border-radius:22px; }
.wp-toc summary { font-size:.92rem; padding:20px 16px 12px; cursor:pointer; font-weight:650; }
.wp-toc summary span { display:block; color:var(--text-faint); font-size:.78rem; font-weight:400; margin:5px 0 0 15px; }
.wp-toc ol { list-style:none; padding:0 10px 14px; margin:0; }
.wp-toc li { margin:2px 0; }
.wp-toc a { display:grid; grid-template-columns:23px 1fr; gap:8px; padding:9px 10px; border-radius:10px; color:var(--text-dim); font-size:.875rem; line-height:1.45; text-decoration:none; border-left:2px solid transparent; }
.wp-toc a span { color:var(--violet-hi); font-size:.8rem; font-variant-numeric:tabular-nums; }
.wp-toc a:hover, .wp-toc a[aria-current="location"] { background:var(--surface-2); color:var(--text); border-left-color:var(--teal); }
.wp-article { min-width:0; }
.wp-chapter { padding:0 0 60px; margin:0 0 60px; border-bottom:1px solid var(--border); scroll-margin-top:112px; }
.wp-chapter h2 { font-size:clamp(1.8rem,3vw,2.5rem); line-height:1.18; letter-spacing:-.035em; max-width:28ch; margin-bottom:22px; }
.wp-chapter h3 { font-size:1.15rem; line-height:1.4; margin:30px 0 14px; }
.wp-chapter p { font-size:1.0625rem; line-height:1.85; color:var(--text-dim); margin:0 0 22px; }
.wp-chapter .wp-label { font-size:.78rem; line-height:1.5; color:var(--teal); }
.wp-chapter .wp-lead { font-size:1.2rem; line-height:1.7; color:var(--text); margin-bottom:30px; }
.wp-chapter a { color:var(--violet-hi); text-underline-offset:4px; }
.wp-callout { background:var(--bg-2); border:1px solid var(--border); border-left:3px solid var(--violet); border-radius:18px; padding:24px; margin:28px 0; }
.wp-callout h3 { margin:0 0 12px; color:var(--violet-hi); }
.wp-callout p { margin:0; font-size:1rem; line-height:1.75; }
.wp-cards { display:grid; gap:14px; margin:28px 0; }
.wp-cards > div, .wp-flow > div, .wp-metrics > div { background:var(--surface); border:1px solid var(--border); border-radius:18px; padding:22px; min-width:0; }
.wp-cards h3,.wp-flow h3 { margin:8px 0 12px; }
.wp-cards p,.wp-flow p { margin:0; font-size:1rem; line-height:1.7; }
.wp-seq { color:var(--teal); font-size:.8rem; font-variant-numeric:tabular-nums; }
.wp-flow { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:28px 0; }
.wp-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:28px 0; }
.wp-metrics .wp-seq { display:none; }
.wp-metrics h3 { font-size:2.3rem; color:var(--violet-hi); margin:0 0 10px; }
.wp-metrics p { margin:0; font-size:.9rem; line-height:1.5; }
.wp-formula { margin:28px 0; }
.wp-formula > div { background:var(--surface); border:1px solid var(--border); border-radius:18px; padding:24px; overflow:auto; }
.wp-formula span { display:block; color:var(--teal); font-family:ui-monospace,monospace; font-size:.9rem; line-height:1.8; overflow-wrap:anywhere; }
.wp figcaption { font-size:.875rem; line-height:1.65; color:var(--text-faint); margin-top:12px; }
.wp-table { border:1px solid var(--border); border-radius:18px; overflow:auto; margin:28px 0; }
.wp-table table { width:100%; border-collapse:collapse; font-size:.9rem; line-height:1.6; }
.wp-table caption { padding:18px; text-align:left; font-weight:600; background:var(--bg-2); }
.wp-table th { background:var(--bg-2); color:var(--violet-hi); font-weight:600; text-align:left; }
.wp-table th,.wp-table td { padding:14px 16px; vertical-align:top; border-bottom:1px solid var(--border); min-width:105px; }
.wp-table td { color:var(--text-dim); }
.wp-table tr:nth-child(odd) td { background:var(--surface); }
.wp-table tr:nth-child(even) td { background:var(--bg-2); }
.wp-table tr:last-child td { border-bottom:0; }
.wp-chart { background:var(--surface); border:1px solid var(--border); border-radius:18px; padding:22px; margin:28px 0; }
.wp-chart h3 { margin:0 0 10px; }
.wp-chart svg { display:block; width:100%; height:auto; }
.wp-chart svg text { fill:var(--text-faint); font-size:12px; }
.wp-chart svg path { stroke:var(--border); fill:none; stroke-width:1; }
.wp-chart svg polyline { stroke:var(--teal); fill:none; stroke-width:3; stroke-linecap:round; }
.wp-chapter .wp-sources { font-size:.875rem; margin:28px 0 0; }
.wp-sources a { display:inline-block; min-width:30px; padding:4px; }
.wp-references { padding-left:26px; margin:28px 0; }
.wp-references li { padding:8px 0 14px 6px; font-size:1rem; line-height:1.7; scroll-margin-top:112px; }
.wp-end { display:flex; flex-wrap:wrap; align-items:center; gap:24px; padding-bottom:64px; }
.wp-end a:not(.btn) { color:var(--violet-hi); }
@media (max-width:1100px) { .wp-hero { gap:32px; grid-template-columns:minmax(0,1fr) 240px; } .wp-layout { gap:28px; grid-template-columns:220px minmax(0,1fr); } }
@media (max-width:800px) { .wp { padding-top:100px; } .wp-hero { grid-template-columns:1fr; padding-top:20px; padding-bottom:40px; } .wp-cover { display:none; } .wp-layout { display:block; } .wp-toc { position:static; max-height:none; margin-bottom:42px; } .wp-toc ol { columns:2; } .wp-toc li { break-inside:avoid; } .wp-chapter { padding-bottom:38px; margin-bottom:40px; } }
@media (max-width:480px) { .wp-toc ol { columns:1; } .wp-flow { grid-template-columns:1fr; } .wp-metrics { gap:8px; } .wp-metrics > div { padding:14px 10px; } .wp-metrics h3 { font-size:1.9rem; } .wp-actions .btn { white-space:normal; text-align:center; } .wp-callout,.wp-formula > div { padding:18px; } .wp-table table { min-width:520px; } }
@media print { #nav,.skip-link,.wp-cover,.wp-actions,.wp-toc,.wp-end,footer { display:none!important; } body,.wp,.wp-chapter,.wp-table td,.wp-callout,.wp-formula > div { background:white!important; color:#18121f!important; } .wp { padding:0; } .wp-layout,.wp-hero { display:block; } .wrap { max-width:none; padding:0; } .wp-hero { padding:0 0 24px; } .wp-chapter { break-before:page; } .wp p,.wp h1,.wp h2,.wp h3,.wp a,.wp-label,.wp-edition,.wp figcaption,.wp-table td,.wp-formula span { color:#18121f!important; } .grad-text { background:none; -webkit-text-fill-color:currentColor; } .wp-table { overflow:visible; } .wp-table table { min-width:0; } .wp-table tr,.wp-callout { break-inside:avoid; } }
@media print {
    .wp-cards > div,.wp-flow > div,.wp-metrics > div,.wp-chart,.wp-table th,.wp-table caption {
        background:white!important; color:#18121f!important;
    }
    .wp-seq { color:#18121f!important; }
    .wp-chart svg text { fill:#18121f; }
    .wp-chart svg polyline { stroke:#55417a; }
}
