/* The explanation uses semantic, responsive diagrams: readable with or without motion. */
[hidden]{display:none!important}.header [aria-current=page]{color:var(--cyan)}.explain-intro{display:grid;grid-template-columns:1.35fr 1fr;gap:4rem;padding-block:5rem 4rem}.explain-intro h1{font-size:clamp(2.6rem,4.8vw,4.6rem)}.intro-aside{align-self:end;max-width:30rem;padding-bottom:.35rem;color:var(--muted)}.intro-aside .intro{font-size:1.65rem;color:var(--ink);margin-top:0}.intro-aside .text-link{margin-top:.5rem}.journey{border:1px solid var(--line);background:linear-gradient(130deg,#101d2b,#0a121c);scroll-margin-top:1rem}.journey-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.3rem 1.8rem;border-bottom:1px solid var(--line)}.journey-top h2{font-size:1rem;letter-spacing:0}.playback{display:flex;gap:1.1rem;align-items:center;font-size:.8rem}.playback #step-count{font-family:ui-monospace,monospace;color:var(--muted);margin-right:1rem}.playback button{border:1px solid var(--line);padding:.45rem .75rem}.playback #play{color:var(--cyan);min-width:11rem}.journey-layout{display:grid;grid-template-columns:285px minmax(0,1fr)}.step-nav{border-right:1px solid var(--line);padding:1.4rem .9rem;background:#080f1850}.step-nav a{display:flex;align-items:flex-start;gap:1rem;text-decoration:none;padding:1.15rem .85rem;border:1px solid transparent;font-size:.94rem;line-height:1.4;min-height:84px}.step-nav a>span{font-family:ui-monospace,monospace;color:#738b9f;font-size:.77rem;padding-top:.15rem}.step-nav small{display:block;color:var(--muted);font-size:.75rem;margin-top:.35rem}.step-nav b{margin-left:auto;opacity:0;font-weight:400}.step-nav a:hover{background:#132636}.step-nav [aria-current=step]{background:#14312f;border-color:#36635b;color:#d6fff5}.step-nav [aria-current=step]>span,.step-nav [aria-current=step] b{color:var(--cyan);opacity:1}.stage{padding:2.15rem 2.15rem 0;scroll-margin-top:1rem}.stage+.stage{border-top:1px solid var(--line);margin-top:2rem}.enhanced .stage{margin:0;border:0;min-height:655px}.stage-heading{max-width:44rem}.stage-heading .eyebrow{font-size:.7rem;margin-bottom:1rem}.stage-heading h3{font-size:clamp(1.75rem,2.6vw,2.6rem);margin:0 0 1.1rem}.stage-heading>p:last-child{color:var(--muted);font-size:.94rem;max-width:40rem}.diagram{position:relative;padding:1.8rem 1.3rem 1.2rem;background-color:#09121d;background-image:radial-gradient(#293c4d 1px,transparent 1px);background-size:20px 20px;border:1px solid var(--line);margin-block:1.4rem;isolation:isolate}.flow{display:grid;grid-template-columns:minmax(0,1fr) 104px minmax(0,1fr);align-items:center;position:relative}.node{position:relative;min-width:0;background:#102a2b;border:1px solid #42736d;padding:1.1rem;box-shadow:0 12px 20px #0002;line-height:1.5}.node::before{content:"";position:absolute;width:7px;height:7px;background:var(--cyan);border-radius:50%;right:12px;top:14px;box-shadow:0 0 12px #82e1d355}.node-b{background:#211d31;border-color:#625180}.node-b::before{background:var(--violet);box-shadow:0 0 12px #b9a3ed55}.compact-node{background:#142332;border-color:#4b647a}.compact-node::before{background:#9cafc3}.node-eyebrow{display:block;font: .63rem/1.4 ui-monospace,monospace;letter-spacing:.07em;color:var(--cyan);padding-right:.5rem;margin-bottom:.65rem}.node-b .node-eyebrow{color:var(--violet)}.node strong{display:block;font-size:1rem;font-weight:550;line-height:1.35;letter-spacing:-.02em}.node>span:not(.node-eyebrow){display:block;font-size:.79rem;color:#c8d8e3;margin-top:.65rem}.node small{display:block;font-size:.68rem;line-height:1.5;color:var(--muted);margin-top:.6rem}.node ul,.node ol{font-size:.72rem;margin:.7rem 0 0;padding-left:1rem;color:#c8d8e3;line-height:1.8}.node .permission-list{padding:0;list-style:none;line-height:1.65}.permission-list li{margin:.45rem 0}.check{color:var(--cyan);margin-right:.3rem}.grant{color:var(--gold);margin-right:.3rem}.connector{position:relative;align-self:center;height:90px;display:flex;align-items:center;justify-content:center;min-width:0}.wire-label{position:absolute;top:7px;width:125px;text-align:center;font: .6rem/1.3 ui-monospace,monospace;color:#b9c9d8}.wire{position:relative;display:block;width:100%;height:2px;background:#82e1d360;--packet:var(--cyan)}.wire:after{content:"";position:absolute;right:1px;top:-3px;width:7px;height:7px;border-right:1px solid var(--cyan);border-top:1px solid var(--cyan);transform:rotate(45deg)}.wire i{display:block;position:absolute;top:-3px;left:0;width:8px;height:8px;border-radius:50%;background:var(--packet);box-shadow:0 0 10px var(--packet);animation:travel 2.8s ease-in-out infinite}.wire.dotted{background:repeating-linear-gradient(90deg,#82e1d3aa 0 3px,transparent 3px 8px)}.wire.gold{background:#eac58b65;--packet:var(--gold)}.wire.gold:after{border-color:var(--gold)}.diagram-foot{color:var(--muted);font-size:.72rem;line-height:1.6;text-align:center;margin:1.35rem auto 0;max-width:32rem}.owner-strip{display:flex;justify-content:center;align-items:center;gap:.7rem;flex-wrap:wrap;font-size:.77rem;margin:-.35rem 0 1.4rem;color:var(--muted)}.owner-strip strong{color:var(--ink);font-weight:500}.owner-symbol{color:var(--gold);font-size:1.5rem;line-height:1}.infrastructure{border:1px dashed #4b687a;background:#122333;margin:0 auto 1.3rem;padding:.7rem 1rem;max-width:29rem;text-align:center}.infra-kind{font:.72rem ui-monospace,monospace;color:var(--cyan)}.infrastructure p{font-size:.71rem;color:var(--muted);margin:.4rem 0 0}.choice{display:flex;gap:.25rem;flex-wrap:wrap;padding:.3rem;background:#080f18;width:fit-content;border:1px solid var(--line);margin-top:1.4rem}.choice button{padding:.5rem .85rem;font-size:.78rem;color:var(--muted)}.choice button[aria-pressed=true]{background:#243c45;color:#e4fff9}.choice button:hover{color:var(--ink)}.stage-note{display:grid;grid-template-columns:88px 1fr;gap:1rem;font-size:.77rem;padding:.25rem 0 1.6rem}.stage-note>span{font:.6rem/1.6 ui-monospace,monospace;color:var(--gold);padding-top:.1rem}.stage-note p{color:var(--muted);margin:0;line-height:1.7}.step-footer{border-top:1px solid var(--line);padding:1rem 2.15rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.step-footer p{font-size:.7rem;color:var(--muted);margin:0}.step-footer>div{display:flex;gap:.7rem;flex-shrink:0}.step-footer button{padding:.4rem .75rem;border:1px solid var(--line);font-size:.8rem}.step-footer button:last-child{color:var(--cyan)}.step-footer button:disabled{opacity:.35}.relay-chip{position:absolute;top:58px;padding:.25rem .4rem;border:1px dashed var(--gold);background:#252332;color:var(--gold);white-space:nowrap;font:.6rem ui-monospace,monospace}[data-demo=transport][data-mode=relay] .wire{--packet:var(--violet);background:#b9a3ed80}.cache-branch{display:flex;gap:.8rem;margin:1.35rem 0 0;border-top:1px dashed #6b5a3d;padding:1rem .1rem .1rem;color:var(--gold)}.branch-mark{font-size:1.6rem;line-height:1}.cache-branch strong{font-size:.78rem;font-weight:550}.cache-branch p{font-size:.71rem;line-height:1.7;margin:.3rem 0 0;color:var(--muted)}.simulation-control{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.simulation-control .button{font-size:.76rem;padding:.5rem .8rem;gap:.8rem}.simulation-control .micro{font-size:.63rem}.wire.broken{background:repeating-linear-gradient(90deg,#eac58b60 0 3px,transparent 3px 10px)}.wire.broken i{display:none}[data-demo=withdrawal][data-mode=learned] .node-b{border-color:var(--gold)}.system-map{padding-block:6rem}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin-top:2.8rem}.role-grid article{border-top:1px solid var(--line);padding-top:1.4rem}.role-number{font:1.3rem ui-monospace,monospace;letter-spacing:.08em;color:var(--cyan)}.role-grid article:nth-child(2) .role-number{color:#aab9ca}.role-grid article:nth-child(3) .role-number{color:var(--violet)}.role-grid h3{margin-block:1.25rem 1rem}.role-grid p{color:var(--muted);font-size:.94rem}.role-caption{font:.63rem ui-monospace,monospace;letter-spacing:.06em;color:#8aa0b4}.permission-band{background:#101c29;border-block:1px solid var(--line)}.access-section{display:grid;grid-template-columns:.95fr 1.1fr;gap:5rem;padding-block:4.5rem}.access-section h2{margin-bottom:1.5rem}.access-section>div>p:not(.eyebrow){color:var(--muted)}.access-table{border-collapse:collapse;width:100%;font-size:.83rem}.access-table caption{text-align:left;color:var(--muted);font:.65rem ui-monospace,monospace;letter-spacing:.06em;padding-bottom:1rem}.access-table th,.access-table td{text-align:left;border-bottom:1px solid #314153;padding:.85rem .5rem .85rem 0;vertical-align:top}.access-table thead th{font-size:.7rem;color:var(--muted);font-weight:400;padding-top:0}.access-table tbody th{width:44%;font-weight:500;padding-right:1.2rem}.access-table td{font-size:.73rem;color:var(--muted)}.access-table td span{display:block;font-size:.79rem;margin-bottom:.25rem}.access-public{color:var(--cyan)}.access-private{color:var(--violet)}.explain-faq{display:grid;grid-template-columns:.95fr 1.1fr;gap:5rem;padding-block:5rem}.explain-faq>div>p:last-child{margin-top:1.5rem;color:var(--muted)}.faq-items details{border-bottom:1px solid var(--line);padding:1.2rem 0}.faq-items details:first-child{border-top:1px solid var(--line)}.faq-items summary{cursor:pointer;font-size:1rem;list-style:none;display:flex;gap:1rem;justify-content:space-between}.faq-items summary::-webkit-details-marker{display:none}.faq-items summary::after{content:"+";color:var(--cyan)}.faq-items details[open] summary::after{content:"−"}.faq-items summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.faq-items p{margin:1rem 0 .2rem;font-size:.88rem;color:var(--muted)}.faq-items p a{color:var(--cyan)}.read-next{display:grid;grid-template-columns:.95fr 1.1fr;gap:5rem;border-block:1px solid var(--line);padding-block:3.5rem}.read-links{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}.read-links a{display:grid;grid-template-columns:1fr auto;text-decoration:none;gap:.25rem 1rem}.read-links span{font-size:.94rem;color:var(--cyan)}.read-links small{font-size:.73rem;color:var(--muted);grid-column:1;line-height:1.6}.read-links b{grid-column:2;grid-row:1;font-weight:400}.explain-disclaimer{padding-block:2rem 0;max-width:70rem}.explain-disclaimer p{font-size:.75rem;color:var(--muted);margin:0}.explain-disclaimer a{color:var(--cyan)}.paused .wire i{animation-play-state:paused}@keyframes travel{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:calc(100% - 8px);opacity:0}}
@media(min-width:1400px){.enhanced .stage{min-height:660px}}
@media(max-width:1100px){.explain-intro{gap:2rem}.journey-layout{grid-template-columns:230px minmax(0,1fr)}.step-nav a{padding:1.05rem .55rem;gap:.6rem}.step-nav small{font-size:.7rem}.stage{padding:1.7rem 1.4rem 0}.diagram{padding:1.3rem .8rem 1rem}.flow{grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr)}.node{padding:.85rem}.wire-label{width:88px;font-size:.55rem}.enhanced .stage{min-height:720px}.stage-note{grid-template-columns:1fr;gap:.4rem}.step-footer{padding:1rem 1.4rem}.access-section,.explain-faq,.read-next{gap:2.5rem}.playback{gap:.5rem}.playback #step-count{margin-right:.25rem}}
@media(max-width:800px){.explain-intro{grid-template-columns:1fr;padding-block:3rem 2.5rem;gap:1.5rem}.desktop-break{display:none}.intro-aside{max-width:38rem}.intro-aside .intro{font-size:1.25rem;margin-bottom:.7rem}.intro-aside .intro br{display:none}.intro-aside .intro br:after{content:" "}.journey-top{padding:1rem 1.1rem;flex-wrap:wrap}.journey-layout{grid-template-columns:1fr}.step-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:.3rem;padding:.6rem;border-right:0;border-bottom:1px solid var(--line)}.step-nav a{min-height:0;padding:.65rem .5rem;font-size:.75rem;gap:.45rem;align-items:center}.step-nav small,.step-nav b{display:none}.step-nav a>span{font-size:.64rem;padding:0}.enhanced .stage{min-height:0}.stage-heading h3{font-size:2rem}.diagram{padding:1.4rem 1.2rem}.node{padding:1.1rem}.node strong{font-size:1.05rem}.node-eyebrow{font-size:.68rem}.node>span:not(.node-eyebrow),.node ul,.node ol{font-size:.78rem}.node small{font-size:.72rem}.flow{grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr)}.wire-label{width:120px;font-size:.62rem}.role-grid{gap:1.5rem}.system-map{padding-block:4rem}.access-section,.explain-faq,.read-next{grid-template-columns:1fr;gap:2rem}.access-section{padding-block:3rem}.explain-faq{padding-block:3.5rem}.stage-note{grid-template-columns:88px 1fr;gap:1rem}}
@media(max-width:520px){.explain-intro h1{font-size:2.7rem}.explain-intro .eyebrow{font-size:.66rem}.playback{width:100%;justify-content:space-between;font-size:.68rem;gap:.4rem}.playback #play{min-width:0}.playback button{padding:.45rem .6rem}.journey-top h2{font-size:.9rem}.step-nav{grid-template-columns:repeat(2,1fr)}.step-nav a{font-size:.73rem;padding:.6rem .4rem}.stage{padding:1.4rem 1rem 0}.stage-heading h3{font-size:1.9rem}.stage-heading>p:last-child{font-size:.87rem}.diagram{padding:1.2rem 1rem;margin-block:1rem}.flow{grid-template-columns:1fr}.node{width:100%;padding:1rem 1.1rem}.node strong{font-size:1.08rem}.node-eyebrow{font-size:.68rem;margin-bottom:.45rem}.node>span:not(.node-eyebrow),.node ul,.node ol{font-size:.8rem}.node small{font-size:.73rem}.connector{height:72px;width:100%}.wire{width:2px;height:72px;background:#82e1d360}.wire:after{right:-2px;top:auto;bottom:1px;transform:rotate(135deg)}.wire i{top:0;left:-3px;animation-name:travel-down}.wire-label{left:calc(50% + 13px);top:23px;width:110px;text-align:left;font-size:.62rem}.wire.dotted{background:repeating-linear-gradient(180deg,#82e1d3aa 0 3px,transparent 3px 8px)}.wire.broken{background:repeating-linear-gradient(180deg,#eac58b60 0 3px,transparent 3px 10px)}.relay-chip{left:calc(50% - 102px);top:25px}.owner-strip{font-size:.7rem;gap:.5rem;margin-bottom:1rem}.owner-strip>span:last-child{flex-basis:100%;text-align:center;margin-top:-.3rem}.stage-note{grid-template-columns:1fr;gap:.35rem;font-size:.75rem}.step-footer{padding:.85rem 1rem;align-items:flex-end}.step-footer p{font-size:.65rem;max-width:10rem}.step-footer button{font-size:.75rem;padding:.4rem .6rem}.step-footer>div{gap:.4rem}.role-grid{grid-template-columns:1fr;gap:2rem}.role-grid h3{margin-block:.8rem}.role-grid p{margin-bottom:.8rem}.system-map{padding-block:3.5rem}.choice button{font-size:.72rem;padding:.45rem .6rem}.read-links{grid-template-columns:1fr;gap:1.5rem}.read-next{padding-block:2.7rem}.access-table tbody th{padding-right:.7rem}.faq-items summary{font-size:.94rem}.diagram-foot{font-size:.7rem}.cache-branch p{font-size:.74rem}.simulation-control{gap:.7rem}.infrastructure p{font-size:.73rem}}
@keyframes travel-down{0%{top:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{top:calc(100% - 8px);opacity:0}}
@media(prefers-reduced-motion:reduce){.wire i{animation:none;left:45%;opacity:1}html{scroll-behavior:auto}}@media(prefers-reduced-motion:reduce) and (max-width:520px){.wire i{left:-3px;top:40%}}@media print{body{background:white;color:black}.header,.playback,.step-nav,.choice,.step-footer,.simulation-control,.footer{display:none!important}.stage[hidden]{display:block!important}.journey-layout,.explain-intro,.access-section,.explain-faq,.read-next{display:block}.wrap{width:100%}.stage{break-inside:avoid}.node,.diagram,.journey,.permission-band{background:white;color:black}.node span,.node strong,.node small,.stage p,.stage-note p{color:black}.wire i{animation:none}.explain-faq details>p{display:block!important}}

.route-diagram svg{display:block;width:100%;max-width:620px;margin:auto;overflow:visible}
.route-path{fill:none;stroke:var(--cyan);stroke-width:2;stroke-dasharray:7 7;animation:route-flow 2s linear infinite}
.route-alternate{opacity:.35;animation:none}.route-receipt{fill:none;stroke:var(--gold);stroke-width:2;stroke-dasharray:4 6;opacity:0}
.route-node circle{fill:#142635;stroke:var(--cyan);stroke-width:1.5}.route-node text{fill:var(--ink);font:16px ui-monospace,monospace;text-anchor:middle}
svg .route-label{fill:var(--muted);font:12px ui-monospace,monospace;text-anchor:middle}
[data-demo=routing][data-mode=failure] .route-primary,[data-demo=routing][data-mode=receipt] .route-primary{stroke:#edac9c;opacity:.35;animation:none}
[data-demo=routing][data-mode=failure] .route-b circle,[data-demo=routing][data-mode=receipt] .route-b circle{stroke:#edac9c;stroke-dasharray:3 3}
[data-demo=routing][data-mode=failure] .route-alternate,[data-demo=routing][data-mode=receipt] .route-alternate{opacity:1;animation:route-flow 2s linear infinite}
[data-demo=routing][data-mode=receipt] .route-receipt{opacity:1;animation:route-return 2s linear infinite}
.paused .route-path,.paused .route-receipt{animation-play-state:paused!important}
@keyframes route-flow{to{stroke-dashoffset:-28}}@keyframes route-return{to{stroke-dashoffset:20}}
@media(prefers-reduced-motion:reduce){.route-path,.route-receipt{animation:none!important}}
@media(max-width:520px){.route-diagram{padding:1rem .25rem}.route-diagram .diagram-foot{padding-inline:.5rem}}
@media(max-width:520px){.route-node text{font-size:24px}svg .route-label{font-size:19px}}
