@import url('font-config.css');
@font-face{font-family:Jakarta;src:url('f/jakarta.woff2') format('woff2');font-weight:300 500;font-style:normal;font-display:swap}
:root{
  --ground:#090c0a;--surface:#151a16;--sink:#222723;--ink:#f8f9f2;--body:#d5dbd1;
  --muted:#b9c1b7;--accent:#c8fa37;--paper:#f2f2e9;--paper-ink:#192018;
  --display:Object,Arial,sans-serif;--sans:Jakarta,Arial,sans-serif;
  --measure:1040px;--gutter:40px;--rail:304px;--band-pad:80px;
  --ease:cubic-bezier(.22,1,.36,1);scroll-padding-top:calc(104px + env(safe-area-inset-top));
}
*{box-sizing:border-box;outline:none;box-shadow:none}
html{scroll-behavior:auto;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--body);font:400 16px/1.8 var(--sans);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
button{font:inherit;border:0;cursor:pointer}a,button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
a{color:var(--ink);text-decoration:none}a:hover{color:var(--accent)}
a:focus-visible,button:focus-visible{background:var(--accent);color:var(--ground)}
a,button{transition:background-color .18s var(--ease),color .18s var(--ease)}
svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;flex:none}
img{-webkit-user-drag:none;pointer-events:none}
.wrap{width:100%;max-width:var(--measure);margin-inline:auto;padding-inline:var(--gutter)}
.band>.wrap{padding-block:var(--band-pad);container-type:inline-size}
.band.alt{background:var(--surface)}
.chapter-heading{display:grid;grid-template-columns:24px minmax(0,1fr);gap:16px;align-items:baseline;margin-bottom:24px}
.numeral{font:500 14px/1.2 var(--sans);color:var(--accent);font-variant-numeric:tabular-nums}
h1,h2{margin:0;color:var(--ink);font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:-.045em;text-wrap:balance;line-height:1.1}
h1{font-size:clamp(40px,4.5vw,64px);letter-spacing:-.055em;line-height:1.02}
h1 .line{display:block}
h2{font-size:clamp(24px,2.2vw,32px)}
h3{font:500 18px/1.4 var(--sans);color:var(--ink);margin:0 0 12px;letter-spacing:-.02em;text-wrap:balance}
p{margin:0 0 24px;text-wrap:pretty}p:last-child{margin-bottom:0}
.lead{font-size:16px;line-height:1.8;color:var(--ink);margin-top:24px}
.note,.muted{color:var(--muted)}.note{font-size:14px;line-height:1.75}
.label{font-size:12px;font-weight:500;color:var(--muted);letter-spacing:0;text-transform:none}
.figure{font-family:var(--sans);font-weight:500;color:var(--accent);font-variant-numeric:tabular-nums}
.masthead{padding-top:144px;padding-bottom:80px}
.paper-topbar{position:fixed;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;height:calc(80px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-inline:max(32px,env(safe-area-inset-left),env(safe-area-inset-right));background:var(--ground);z-index:50}
.paper-actions{display:flex;align-items:center;gap:8px}
.paper-button{display:flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 18px;border-radius:999px;background:var(--sink);color:var(--ink);font-size:13px;font-weight:500;white-space:nowrap}
.paper-button:hover,.paper-button:focus-visible{background:var(--accent);color:var(--ground)}
.app-link{background:var(--accent);color:var(--ground)}
.app-link:hover,.app-link:focus-visible{background:var(--ink);color:var(--ground)}
.mark{display:flex;align-items:center;gap:8px;width:max-content;height:40px}
.mark::before,.mark::after{content:"";display:block;mask-position:center;mask-repeat:no-repeat;mask-size:contain;mask-mode:luminance}
.mark::before{width:32px;height:36px;background:var(--accent);mask-image:url('marks/p-ducat.svg');mask-size:120% auto;mask-mode:alpha}
.mark::after{width:104px;height:26px;background:var(--ink);mask-image:url('marks/p-wordmark.svg');mask-size:110% auto;mask-mode:alpha}
.mark .name,.mark .kind{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.contents-toggle{display:none;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:0 16px;border-radius:999px;background:var(--ink);color:var(--ground);white-space:nowrap;font-size:13px;font-weight:500}
.contents-toggle:hover{background:var(--accent);color:var(--ground)}
.contents-toggle:focus-visible{background:var(--accent);color:var(--ground)}
.back-to-top,.contents-close{display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;padding:0;border-radius:999px;background:var(--sink);color:var(--ink);white-space:nowrap}
.back-to-top svg,.contents-close svg{width:20px;height:20px}
.back-to-top:hover,.back-to-top:focus-visible,.contents-close:hover,.contents-close:focus-visible{background:var(--accent);color:var(--ground)}
.back-to-top:active,.contents-toggle:active,.contents-close:active{transform:scale(.985)}
.back-to-top[hidden],.contents-close{display:none}
.contents-shell{display:contents}
.contents-shortcuts{display:none}
.contents-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.subhead{font-size:16px;line-height:1.75;color:var(--muted);margin-top:32px}
.plate{margin-top:48px}
.plate-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.cell{min-width:0}
.cell .val{font-size:28px;line-height:1.2;letter-spacing:-.04em;font-weight:500;margin:12px 0;font-family:var(--sans);color:var(--accent)}
.cell .say{font-size:13px;line-height:1.65;color:var(--muted)}
.index{margin-top:48px}
.index h3{margin-bottom:16px;font-size:14px}
.index ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.index li{display:flex;gap:8px;align-items:center;position:relative;border-radius:8px;min-width:0;padding:0 8px}
.index .rn{flex:0 0 20px;color:var(--muted);font-size:11px;font-weight:500;line-height:1.2}
.index a{font-size:13px;line-height:36px;white-space:nowrap;display:block;overflow:hidden;text-overflow:ellipsis;min-height:36px;color:var(--muted);flex:1;min-width:0;transition:none}
.index a::after{content:"";position:absolute;inset:0;border-radius:8px}
.index li:has(a[aria-current="location"]){background:var(--accent)}
.index li:has(a[aria-current="location"]) :is(a,.rn){color:var(--ground)}
.index li:has(a:hover),.index li:has(a:focus-visible){background:var(--ink)}
.index li:has(a:hover) :is(a,.rn),.index li:has(a:focus-visible) :is(a,.rn){color:var(--ground)}
.index a:focus-visible{background:transparent}
.skip-link{position:fixed;top:-80px;left:24px;z-index:100;display:flex;align-items:center;height:44px;padding:0 16px;border-radius:12px;background:var(--accent);color:var(--ground);white-space:nowrap;font-size:14px}
.skip-link:focus{top:16px}
.rows{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:24px}
.rows li{padding:0}
.rows .top{display:flex;justify-content:space-between;align-items:baseline;gap:24px}
.rows .k{font-size:16px;font-weight:500;color:var(--ink)}
.rows .w{font-size:15px;line-height:1.5;font-weight:500;white-space:nowrap;color:var(--accent)}
.rows p{font-size:14px;line-height:1.8;color:var(--muted);margin:8px 0 0}
.seq{list-style:none;padding:0;margin:32px 0 0;counter-reset:step;display:grid;gap:24px}
.seq li{position:relative;padding-left:40px}
.seq li::before{counter-increment:step;content:counter(step);position:absolute;top:2px;left:0;width:24px;font:500 14px/1.5 var(--sans);color:var(--accent)}
.seq .k{display:block;font-size:16px;font-weight:500;line-height:1.5;color:var(--ink);margin-bottom:8px}
.seq p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}
.sheet{width:100%;border-collapse:separate;border-spacing:0;margin-top:32px;font-size:13px;font-variant-numeric:tabular-nums}
.sheet caption{padding-bottom:16px!important;text-align:left}
.sheet th{font-size:12px;font-weight:500;color:var(--muted);text-align:right;padding:12px 8px;background:var(--sink)}
.sheet th:first-child{border-radius:8px 0 0 8px}.sheet th:last-child{border-radius:0 8px 8px 0}
.sheet td{padding:16px 8px;text-align:right;white-space:nowrap}
.sheet th:first-child,.sheet td:first-child{text-align:left}
.sheet tfoot{color:var(--ink);font-weight:500}
.sheet tfoot td{background:var(--sink)}
.sheet tfoot td:first-child{border-radius:8px 0 0 8px}.sheet tfoot td:last-child{border-radius:0 8px 8px 0}
.sheet tbody tr[data-mark] td:first-child::before{content:"";display:inline-block;width:16px;height:16px;margin-right:8px;vertical-align:-3px;background:var(--mark) center/contain no-repeat}
.sheet [data-mark="usdg"]{--mark:url('marks/m-usdg.png')}.sheet [data-mark="aapl"]{--mark:url('marks/m-aapl.png')}.sheet [data-mark="nvda"]{--mark:url('marks/m-nvda.png')}.sheet [data-mark="tsla"]{--mark:url('marks/m-tsla.png')}.sheet [data-mark="weth"]{--mark:url('marks/m-weth.png')}
.ladder{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:24px}
.ladder li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;align-items:baseline}
.ladder .step{font-size:18px;font-weight:500;letter-spacing:-.025em;color:var(--accent)}
.ladder .cond{font-size:14px;line-height:1.7;color:var(--muted)}
.pull{font:700 clamp(22px,2.2vw,30px)/1.25 var(--display);letter-spacing:-.04em;text-wrap:balance;color:var(--ink);margin:32px 0 0}
.pull+.pull{margin-top:16px}
.params{margin-top:32px;display:grid;gap:32px}
.param{display:grid;grid-template-columns:24px minmax(0,220px) minmax(0,1fr);gap:16px;align-items:baseline}
.param .i{font-size:12px;color:var(--muted)}
.param .v{font-size:15px;line-height:1.6;font-weight:500;color:var(--accent)}
.param .d{font-size:14px;line-height:1.75;color:var(--muted)}
.param .d b{display:block;font-weight:500;color:var(--ink);margin-bottom:8px}
footer{background:var(--ground)}footer .wrap{padding-block:64px}
.links{list-style:none;display:flex;gap:8px 24px;flex-wrap:wrap;margin:0 0 32px;padding:0;font-size:13px}
.links a{display:flex;align-items:center;min-height:44px;white-space:nowrap;border-radius:8px}
.legal{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:16px}
.band{position:relative}
.anchor-alias{position:absolute;top:0}
.document-note{color:var(--muted);font-size:14px;line-height:1.8;margin-bottom:32px}
.values,.ranks,.inv{margin:32px 0;padding:0;display:grid;gap:28px}
.values dt,.ranks dt,.inv dt{color:var(--ink);font-size:17px;font-weight:500;line-height:1.5}
.values dt,.ranks dt{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.values .v,.ranks .v{color:var(--accent);font-size:15px;white-space:nowrap}
.values dd,.ranks dd,.inv dd{margin:10px 0 0;color:var(--muted);font-size:15px;line-height:1.8}
.steps{list-style:none;margin:32px 0;padding:0;counter-reset:mechanic;display:grid;gap:28px}
.steps>li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:16px;color:var(--muted);font-size:15px;line-height:1.8}
.steps>li::before{counter-increment:mechanic;content:counter(mechanic);color:var(--accent);font-size:14px;line-height:1.9}
.steps .t{display:block;color:var(--ink);font-size:17px;font-weight:500;margin-bottom:8px;line-height:1.5}
.band h3{margin-top:40px}
.band .pull{margin-bottom:32px}
.cap{font-size:13px;line-height:1.8;color:var(--muted);margin:20px 0 32px}
.params{list-style:none;padding:0;margin-bottom:32px}
.ladder{margin-bottom:32px}.ladder .s{color:var(--accent);font-size:17px;font-weight:500}
.ladder li{font-size:14px;color:var(--muted);line-height:1.8}
.tbl{width:100%;margin:32px 0 20px;container-type:inline-size}
.tbl:focus-visible{background:var(--sink)}
.tbl .sheet{margin-top:0;display:table;min-width:0;font-size:14px;overflow:visible;padding:0}
.tbl .sheet th{font-size:13px}
.tbl.compare .sheet{min-width:0;table-layout:fixed;font-size:14px;line-height:1.75}
.compare .sheet td,.compare .sheet th{white-space:normal;text-align:left;vertical-align:top;padding:18px 16px}
.compare .sheet th:first-child,.compare .sheet td:first-child{width:16%;color:var(--ink)}
.compare .sheet th:nth-child(2),.compare .sheet td:nth-child(2){color:var(--accent)}
.compare .sheet tbody tr:nth-child(even){background:var(--surface)}
.protocol-name{display:grid;justify-items:start;gap:12px;color:var(--ink)}
.protocol-name>span:last-child{white-space:nowrap}
.protocol-symbol{display:block;width:28px;height:28px;flex:none;background:var(--ink);mask-position:center;mask-size:contain;mask-repeat:no-repeat;mask-mode:alpha}
.protocol-symbol[data-protocol="ducat"]{background:var(--accent);mask-image:url('marks/p-ducat.svg')}
.protocol-symbol[data-protocol="standard"]{mask-image:url('marks/p-standard.svg')}
.protocol-symbol[data-protocol="olympus"]{mask-image:url('marks/p-olympus.svg')}
.protocol-symbol[data-protocol="netnet"]{background:transparent url('marks/p-netnet.png') center/contain no-repeat}
.table-column-label{display:none}
.time{list-style:none;margin:32px 0;padding:0;display:grid;gap:24px}
.time li{display:grid;grid-template-columns:144px minmax(0,1fr);gap:24px;font-size:15px}
.time .y{color:var(--accent);font-weight:500}
.triad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:40px 0;color:var(--muted);font-size:14px}
.triad .a{display:block;color:var(--accent);font-weight:500;font-size:18px;margin-bottom:8px}
.coda{font:700 clamp(24px,2.2vw,32px)/1.2 var(--display);color:var(--ink);letter-spacing:-.04em;text-wrap:balance}
.teaser{margin-top:48px}.teaser-cta{color:var(--accent)}
.mechanism{margin:40px 0;padding:32px 0;break-inside:avoid;container-type:inline-size}
.mechanism:is(#reserve-map,#regime-map,#redemption-map,#ratchet-map,#pass-map){padding:32px;border-radius:18px;background:var(--surface)}
.band.alt .mechanism:is(#reserve-map,#regime-map,#redemption-map,#ratchet-map,#pass-map){background:var(--ground)}
.mechanism>*{min-width:0}
.mechanism p{text-wrap:balance}
.mechanism figcaption{font:500 19px/1.5 var(--sans);color:var(--ink);margin-bottom:28px;text-align:center;text-wrap:balance}
.mechanism .figure-caption{font-size:13px;color:var(--muted);line-height:1.8;text-align:center;max-width:580px;margin:24px auto 0}
.flow-source{text-align:center;color:var(--ink);font-weight:500;font-size:16px;padding-bottom:40px;position:relative}
.flow-source::after{content:"";position:absolute;width:1px;height:24px;bottom:0;left:50%;background:var(--muted)}
.flow-branches{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto 1fr auto;column-gap:32px;row-gap:0;position:relative;padding-top:40px}
.flow-branches::before{content:"";position:absolute;top:0;left:calc(25% - 8px);right:calc(25% - 8px);height:1px;background:var(--muted)}
.flow-branch{position:relative;text-align:center;min-width:0;display:grid;grid-row:1/4;grid-template-rows:subgrid}
.flow-branch::before{content:"";position:absolute;width:1px;height:24px;top:-40px;left:50%;background:var(--muted)}
.flow-branch h3{font-size:16px;margin:0 0 12px;font-weight:500;text-wrap:balance}
.flow-branch p{font-size:14px;line-height:1.75;color:var(--muted);margin:0 0 16px;text-wrap:pretty}
.mechanism .flow-branch p{text-wrap:balance}
.flow-result{display:block;font-size:13px;color:var(--accent);line-height:1.6}
.mechanism-steps{list-style:none;margin:0;padding:0;counter-reset:diagram;display:grid;gap:0}
.mechanism-steps li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:4px 16px;padding:0 0 24px;position:relative;font-size:14px;line-height:1.8;color:var(--muted)}
.mechanism-steps li::before{counter-increment:diagram;content:counter(diagram);grid-row:1/3;color:var(--accent);font-size:16px;line-height:1.7;text-align:center}
.mechanism-steps li:not(:last-child)::after{content:"";position:absolute;top:32px;bottom:8px;left:12px;width:1px;background:var(--sink)}
.mechanism-steps strong{font-weight:500;font-size:16px;color:var(--ink);line-height:1.7}
.mechanism-steps span{grid-column:2}.mechanism-steps li:last-child{padding-bottom:0}
#ratchet-map figcaption,#pass-map figcaption{text-align:left}
#ratchet-map .figure-caption,#pass-map .figure-caption{text-align:left;margin-inline:0;max-width:none;text-wrap:pretty}
.cycle-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin:40px 0}
.cycle-panel{margin:0;padding:32px;border-radius:18px;background:var(--surface);min-width:0}
.band.alt .cycle-panel{background:var(--ground)}
.cycle-panel figcaption{text-align:left;margin:0 0 32px;font-size:24px}
.cycle-panel .steps{margin:0;gap:32px}
.cycle-panel .steps>li{position:relative;gap:16px;font-size:14px;line-height:1.8}
.cycle-panel .steps>li:not(:last-child)::after{content:"";position:absolute;left:12px;top:40px;bottom:-16px;width:1px;background:var(--sink)}
.cycle-panel .steps>li::before{text-align:center;font-size:15px;line-height:28px}
.cycle-panel .steps .t{font-size:16px;line-height:1.5;margin-bottom:8px;text-wrap:balance}
.cycle-panel .steps>li>div{text-wrap:pretty;min-width:0}
@container(min-width:760px){
  #ratchet-map .mechanism-steps{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);grid-template-rows:28px auto 1fr;gap:16px 32px}
  #ratchet-map .mechanism-steps li{grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;grid-row:1/4;padding:0;gap:16px}
  #ratchet-map .mechanism-steps li::before{grid-column:1;grid-row:1;text-align:left}
  #ratchet-map .mechanism-steps strong{grid-row:2;text-wrap:balance}
  #ratchet-map .mechanism-steps span{grid-column:1;grid-row:3;text-wrap:pretty}
  #ratchet-map .mechanism-steps li::after{content:"";position:absolute;left:44px;right:0;top:14px;bottom:auto;width:auto;height:1px;background:var(--muted)}
}
@container(max-width:720px){
  .cycle-grid{grid-template-columns:minmax(0,1fr)}
}
.allocation-bar{height:18px;display:flex;gap:3px;overflow:hidden;border-radius:4px;background:var(--ground)}
.allocation-bar span:first-child{width:16.666667%;background:var(--accent)}
.allocation-bar span:last-child{flex:1;background:var(--muted)}
.allocation-labels{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:20px}
.allocation-labels>div:last-child{text-align:right}
.allocation-labels span,.allocation-labels small{display:block;font-size:13px;color:var(--muted)}
.allocation-labels strong{display:block;font:700 clamp(22px,3vw,32px)/1.4 var(--display);color:var(--ink);margin:8px 0}
.allocation-labels>div:first-child strong{color:var(--accent)}
.formula-line{font-size:15px;text-align:center;margin-top:28px;color:var(--ink)}
.inputs{padding-top:0}.inputs::before,.inputs .flow-branch::before{display:none}
.flow-value{color:var(--ink);font:700 28px/1.4 var(--display)}
.calculation{text-align:center;margin-top:16px;padding-top:40px;position:relative;font-size:14px;color:var(--muted)}
.calculation::before{content:"";position:absolute;top:0;left:50%;width:1px;height:24px;background:var(--muted)}
.calculation strong{display:block;font:700 clamp(28px,3vw,36px)/1.4 var(--display);color:var(--accent);margin-top:12px}
.calculation small{display:block;color:var(--muted);font:400 13px/1.8 var(--sans);margin-top:6px}
@media(min-width:1080px){
  body{padding-left:var(--rail)}
  .index{position:fixed;top:104px;left:0;bottom:16px;width:var(--rail);padding:0 16px;overflow-y:auto;overscroll-behavior:contain;z-index:20;margin:0;background:var(--ground);scrollbar-width:thin;scrollbar-color:var(--sink) var(--ground)}
  .contents-heading{display:none}
}
@media(max-width:1079px){
  :root{--gutter:max(32px,env(safe-area-inset-left),env(safe-area-inset-right));--band-pad:64px}
  .contents-toggle{display:flex}
  .paper-button,.mark{height:44px}
  html:not(.is-enhanced) .index{padding-inline:var(--gutter)}
  .is-enhanced .contents-shell{position:fixed;inset:0;z-index:60;display:flex;justify-content:center;align-items:flex-start;height:100dvh;padding:calc(96px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-left),env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom));background:rgba(0,0,0,.64)}
  .is-enhanced .contents-shell:not(.is-open){display:none}
  .is-enhanced .index{display:flex;flex-direction:column;min-height:0;width:100%;max-width:600px;max-height:100%;margin:0;padding:16px;border-radius:18px;background:var(--surface);overflow:hidden}
  .is-enhanced .index ol{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--sink) var(--ground);scroll-snap-type:y proximity}
  .is-enhanced .index li{scroll-snap-align:start}
  .is-enhanced .contents-heading{flex:none;min-height:44px;margin-bottom:12px;padding-left:8px}
  .contents-heading h3{font-size:17px;margin:0}
  .is-enhanced .contents-close{display:flex;width:44px;height:44px}
  .is-enhanced .contents-shortcuts{display:flex;flex:none;justify-content:space-between;gap:12px;margin-top:16px}
  .index .contents-shortcuts a{display:flex;align-items:center;justify-content:center;flex:none;min-height:44px;line-height:1.2;padding:0 16px;border-radius:999px;background:var(--sink);color:var(--ink);font-size:13px;font-weight:500;white-space:nowrap}
  .index .contents-shortcuts a::after{display:none}
  .index .contents-shortcuts .contents-app{background:var(--accent);color:var(--ground)}
  .index .contents-shortcuts a:hover,.index .contents-shortcuts a:focus-visible{background:var(--ink);color:var(--ground)}
  .back-to-top{width:44px;height:44px}
  html.contents-open body{position:fixed;left:0;right:0;overflow:hidden}
  .index a{min-height:44px;line-height:44px;font-size:13px}
  .index li{gap:8px}.index .rn{font-size:12px}
  .index ol{gap:4px}
  .masthead{padding-bottom:64px}
}
@media(max-width:600px){
  :root{--gutter:max(24px,env(safe-area-inset-left),env(safe-area-inset-right));--band-pad:48px}
  body{font-size:16px;line-height:1.85}
  .masthead{padding-top:calc(120px + env(safe-area-inset-top));padding-bottom:48px}
  .paper-topbar{padding-inline:var(--gutter);gap:12px}
  .website-link,.app-link{display:none}
  .mark{height:44px}.mark::before{width:28px;height:32px}.mark::after{width:92px;height:24px}
  .contents-toggle{font-size:12px;padding-inline:12px;gap:8px}
  .contents-toggle svg{display:none}
  h1{font-size:40px}h2{font-size:24px;line-height:1.15}
  .subhead{font-size:16px;line-height:1.75;margin-top:24px}
  .lead{font-size:14px;line-height:1.8}
  .chapter-heading{grid-template-columns:16px minmax(0,1fr);gap:12px;margin-bottom:24px}
  .numeral{font-size:12px}
  p{margin-bottom:24px}.note{font-size:12px}
  .plate{margin-top:32px}.plate-row{grid-template-columns:1fr;gap:24px}
  .cell{display:grid;grid-template-columns:1fr auto;column-gap:16px;align-items:baseline}
  .cell .val{font-size:26px;margin:0}.cell .say{grid-column:1/-1;margin-top:8px;font-size:12px}
  .index a{font-size:13px}.index .rn{font-size:12px;flex-basis:16px}
  .rows .top{flex-direction:column;gap:4px}.rows .k,.seq .k{font-size:14px}
  .rows .w{font-size:13px}.rows p,.seq p,.ladder .cond{font-size:13px}
  .seq li{padding-left:32px}.seq li::before{font-size:12px}
  .sheet{font-size:11px;display:block;overflow-x:auto;max-width:100%;padding-bottom:8px}
  .sheet th{font-size:11px;padding:12px 8px}.sheet td{padding:12px 8px}
  .sheet tbody tr[data-mark] td:first-child::before{width:14px;height:14px;margin-right:6px}
  .ladder li{grid-template-columns:1fr;gap:8px}.ladder .step{font-size:16px}
  .pull{font-size:22px;line-height:1.3}
  .param{grid-template-columns:16px minmax(0,1fr);gap:8px 16px}
  .param .v{font-size:14px}.param .d{grid-column:2;font-size:14px}
  footer .wrap{padding-block:48px calc(48px + env(safe-area-inset-bottom))}.legal{font-size:12px}.links{font-size:13px;gap:8px 24px}
  .band h3{margin-top:32px}.values dt,.ranks dt,.inv dt,.steps .t{font-size:16px}
  .values dd,.ranks dd,.inv dd,.steps>li{font-size:14px}
  .values dt,.ranks dt{gap:6px}.values .v,.ranks .v{font-size:14px}
  .document-note{font-size:14px}.mechanism{padding:16px 0;margin:32px 0}
  .mechanism:is(#reserve-map,#regime-map,#redemption-map,#ratchet-map,#pass-map){padding:24px 20px}
  .cycle-grid{margin:32px 0}.cycle-panel{padding:24px 20px}
  .cycle-panel figcaption{margin-bottom:24px}.cycle-panel .steps>li{gap:12px}.cycle-panel .steps .t{font-size:15px}
  .mechanism figcaption{font-size:18px}.mechanism .figure-caption{font-size:12px}
  .flow-source{font-size:14px}.flow-branches{column-gap:24px}
  .flow-branches::before{left:calc(25% - 6px);right:calc(25% - 6px)}
  .flow-branch h3{margin:0 0 12px;font-size:14px}.flow-branch p{font-size:13px}.flow-result{font-size:12px}
  .mechanism-steps strong{font-size:15px}.mechanism-steps li{font-size:14px;gap:4px 12px}
  .formula-line{font-size:13px}.allocation-labels span,.allocation-labels small{font-size:12px}
  .flow-value{font-size:23px}.time li{grid-template-columns:1fr;gap:8px;font-size:14px}
  .triad{grid-template-columns:1fr;gap:20px}.triad>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
  .triad .a{font-size:16px;margin:0}.cap{font-size:12px}
}
@media screen{
  @container(max-width:820px){
    .tbl .sheet{display:block;width:100%;font-size:14px;line-height:1.75}
    .sheet caption{display:block;padding:0 0 20px!important;text-align:left}
    .sheet thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
    .sheet tbody{display:grid;gap:24px}
    .sheet tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 24px;padding:24px;background:var(--surface);border-radius:12px}
    .band.alt .sheet tbody tr{background:var(--ground)}
    .sheet tbody td,.compare .sheet tbody td{display:block;min-width:0;width:auto;text-align:left;white-space:normal;padding:0;color:var(--body);text-wrap:pretty}
    .sheet tbody td:first-child,.compare .sheet tbody td:first-child{grid-column:1/-1;width:auto;font-size:16px;font-weight:500;color:var(--ink)}
    .sheet tbody td:not(:first-child)::before{content:attr(data-label);display:block;font-size:12px;font-weight:500;color:var(--muted);margin-bottom:6px}
    .compare .sheet tbody td:nth-child(2){color:var(--accent)}
    .compare .sheet tbody td:not(:first-child)::before{display:none}
    .compare .table-column-label{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:13px;font-weight:500;color:var(--muted)}
    .table-column-label .protocol-symbol{width:24px;height:24px}
    .sheet tbody td.empty-cell{display:none}
    .sheet tbody td.empty-cell+td{grid-column:1}
    .sheet tbody tr:is(.total,.core){grid-template-columns:minmax(0,1fr);gap:12px}
    .sheet tbody tr:is(.total,.core) td:not(:first-child):not(.empty-cell){display:flex;align-items:baseline;justify-content:space-between;gap:16px;grid-column:1}
    .sheet tbody tr:is(.total,.core) td:not(:first-child)::before{margin:0}
    .sheet tbody tr[data-mark] td:first-child::before{width:20px;height:20px;margin-right:10px;vertical-align:-4px}
  }
  @container(max-width:460px){
    .sheet tbody tr{gap:16px;padding:20px 16px}
    .compare .sheet tbody tr{grid-template-columns:minmax(0,1fr);gap:20px}
    .compare .sheet tbody td:not(:first-child){display:grid;grid-template-columns:minmax(0,1fr);gap:4px}
    .compare .sheet tbody td:not(:first-child)::before{margin-bottom:0}
  }
}
@media(max-width:359px){
  :root{--gutter:max(20px,env(safe-area-inset-left),env(safe-area-inset-right))}
  .paper-topbar{gap:8px;padding-inline:var(--gutter)}.contents-toggle{padding-inline:10px;font-size:12px;gap:6px}
  .mark{gap:6px}.mark::after{width:84px}
  h1{font-size:36px}h2{font-size:20px}
  #two-weights h2{font-size:18px}
  .is-enhanced .index{padding:12px}
  .mechanism:is(#reserve-map,#regime-map,#redemption-map,#ratchet-map,#pass-map){padding:24px 16px}
  .cycle-panel{padding:24px 16px}
  .flow-branches{column-gap:16px}.flow-branches::before{left:calc(25% - 4px);right:calc(25% - 4px)}
  .flow-branch h3{font-size:13px}
}
.cycle-grid>.cycle-panel{margin:0}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
@page{size:A4;margin:18mm}
@media print{
  :root{--ground:#fff;--surface:#fff;--sink:#f1f2ed;--ink:#111;--body:#222;--muted:#444;--accent:#222;--gutter:0;--band-pad:8mm}
  html{user-select:text;-webkit-user-select:text}
  body{padding:0;background:#fff;color:#222;font-size:10pt;line-height:1.55}
  .wrap{max-width:none;padding-inline:0}
  .index,.paper-actions,.skip-link{display:none!important}
  .paper-topbar{position:static;padding:0;width:auto;height:auto;margin-bottom:12mm;background:none}
  .masthead{padding-top:0;padding-bottom:12mm}
  h1{font-size:34pt}h2{font-size:18pt}.lead{font-size:11pt}.subhead{font-size:11pt}
  .chapter-heading{break-after:avoid;page-break-after:avoid}
  h3{break-after:avoid}p{orphans:3;widows:3}
  .plate-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8mm}.cell{display:block}
  .cell .val{font-size:19pt}.cell .say{font-size:9pt}
  .rows,.seq,.params{gap:5mm}.rows li,.seq li,.param,.ladder li{break-inside:avoid;page-break-inside:avoid}
  .rows p,.seq p,.note,.param .d,.ladder .cond{font-size:9.5pt}
  .pull{font-size:16pt}.sheet{display:table;font-size:9pt;overflow:visible}
  .sheet th,.sheet td{font-size:9pt;padding:3mm 2mm}.sheet tr{break-inside:avoid}
  .sheet thead{display:table-header-group}.sheet tfoot{display:table-row-group}
  .param{grid-template-columns:6mm 55mm minmax(0,1fr)}.param .d{grid-column:auto}
  .links{display:none}.legal{font-size:8.5pt}footer .wrap{padding-block:8mm}
  .tbl{overflow:visible}.tbl .sheet{min-width:0;font-size:8pt}
  .tbl.compare .sheet{min-width:0;width:100%;font-size:6.5pt;line-height:1.5}
  .compare .sheet td,.compare .sheet th{padding:2mm;font-size:6.5pt}
  .compare .sheet th:first-child,.compare .sheet td:first-child{width:22mm}
  .mechanism{margin:6mm 0;padding:4mm 0}.mechanism figcaption{font-size:12pt}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
@media print{
  .contents-shell{display:none!important}
  html.contents-open body{position:static;overflow:visible;top:auto!important}
  [inert]{visibility:visible}
}
