.ip-root{--ip-bg:#f5f9fd;--ip-text:#102a43;--ip-blue:#1769aa;--ip-secondary:#4c6278;--ip-rule:#d6e4ef;background:var(--ip-bg);min-height:100svh;color:var(--ip-text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-body), sans-serif;flex-direction:column;padding:0 4.2vw;font-size:15px;line-height:1.5;display:flex}.ip-root *{box-sizing:border-box}.ip-root a{color:var(--ip-blue);text-decoration:none}.ip-root button,.ip-root a,.ip-root input{touch-action:manipulation}.ip-root button{cursor:pointer;font:inherit;color:var(--ip-blue);border:1px solid var(--ip-rule);background:0 0;border-radius:4px;padding:10px 17px}.ip-root button:disabled{cursor:default}.ip-root button:hover,.ip-root a:hover{text-underline-offset:4px;text-decoration:underline}.ip-root :focus-visible{outline:3px solid var(--ip-blue);outline-offset:5px}.ip-root h1:focus{outline:none}.ip-root .ip-primary{background:var(--ip-blue);color:#fff;border:1px solid var(--ip-blue);border-radius:4px;justify-content:center;align-items:center;gap:8px;padding:12px 21px;display:inline-flex}.ip-root .ip-primary:not(:disabled):hover{background:#125689;border-color:#125689;text-decoration:none}.ip-root .ip-text-link{text-underline-offset:5px;padding:10px 0;text-decoration:underline;display:inline-block}.ip-header{border-bottom:1px solid var(--ip-rule);justify-content:space-between;align-items:center;gap:24px;min-height:92px;display:flex}.ip-root .ip-brand{color:var(--ip-text);font-family:var(--font-serif), serif;font-size:22px}.ip-brand span{font:10px var(--font-body), sans-serif;text-transform:uppercase;letter-spacing:.16em;color:var(--ip-secondary);margin-top:4px;display:block}.ip-header-actions{align-items:center;gap:30px;display:flex}.ip-stage{flex-direction:column;flex:1;justify-content:center;width:100%;max-width:1240px;min-height:650px;margin:auto;padding:38px 0 35px;display:flex}.ip-eyebrow{color:var(--ip-secondary);text-transform:uppercase;letter-spacing:.14em;margin:0 0 16px;font-size:11px}.ip-root h1{font-family:var(--font-serif), serif;letter-spacing:-.025em;margin:0;font-size:clamp(30px,3.1vw,45px);font-weight:400;line-height:1.12}.ip-opening{flex-direction:row;justify-content:space-between;align-items:center;gap:25px;position:relative}.ip-opening-copy{z-index:1;max-width:640px}.ip-opening h1{font-size:clamp(60px,7vw,100px);line-height:.98}.ip-author{margin:24px 0 27px;font-size:18px}.ip-question{font:clamp(23px, 2.1vw, 30px)/1.4 var(--font-serif), serif;max-width:590px;margin:0 0 35px}.ip-actions{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.ip-motif{flex-shrink:0;width:44%;max-width:530px}.ip-scene-heading{margin-bottom:24px}.ip-demo{grid-template-columns:minmax(0,1fr) 270px;align-items:center;gap:48px;display:grid}.ip-demo figure{min-width:0;margin:0}.ip-chart{width:100%;height:auto;display:block;overflow:visible}.ip-chart text{font-family:var(--font-body), sans-serif;fill:var(--ip-secondary);font-size:14px}.ip-chart .ip-axis-label{fill:var(--ip-text);font-size:14px}.ip-grid{stroke:var(--ip-rule);stroke-width:1px}.ip-axis{stroke:var(--ip-secondary);stroke-width:1px;fill:none}.ip-initial{stroke:#7f919f;stroke-dasharray:7 5}.ip-demand{stroke:#a75b14}.ip-shifted{stroke:var(--ip-blue)}.ip-chart .ip-line-label{paint-order:stroke;stroke:var(--ip-bg);stroke-width:5px;stroke-linejoin:round;font-size:14px}.ip-chart .ip-blue-label{fill:var(--ip-blue)}.ip-chart .ip-amber-label{fill:#a75b14}.ip-guide{stroke:#7f919f;stroke-dasharray:3 4;fill:none}.ip-controls{flex-direction:column;gap:10px;display:flex}.ip-controls label{justify-content:space-between;font-size:14px;display:flex}.ip-controls output{font-variant-numeric:tabular-nums;color:var(--ip-blue)}.ip-controls input{width:100%;accent-color:var(--ip-blue);min-height:20px;margin:0 0 12px}.ip-readouts{border-top:1px solid var(--ip-rule);margin:12px 0 0}.ip-readouts>div{border-bottom:1px solid var(--ip-rule);justify-content:space-between;align-items:baseline;gap:18px;padding:12px 0;display:flex}.ip-readouts dt{color:var(--ip-secondary);max-width:175px;font-size:12px}.ip-readouts dd{color:var(--ip-text);font-variant-numeric:tabular-nums;margin:0;font-size:25px}.ip-readouts small{white-space:nowrap;color:var(--ip-secondary);font-size:10px;display:block}.ip-footer{border-top:1px solid var(--ip-rule);justify-content:space-between;align-items:center;gap:20px;min-height:90px;display:flex}.ip-footer nav{align-items:center;gap:25px;display:flex}.ip-footer nav a{color:var(--ip-secondary);align-items:center;gap:8px;font-size:11px;display:flex}.ip-footer nav a span{border:1px solid var(--ip-rule);border-radius:50%;place-items:center;width:28px;height:28px;font-size:10px;display:grid}.ip-footer nav a[aria-current]{color:var(--ip-blue)}.ip-footer nav a[aria-current] span{background:var(--ip-blue);border-color:var(--ip-blue);color:#fff}.ip-equations{width:100%;max-width:850px;margin:0 auto}.ip-tags{color:var(--ip-secondary);gap:24px;margin:15px 0 25px;font-size:12px;display:flex}.ip-equations dl{margin:0}.ip-equations dl>div{border-bottom:1px solid var(--ip-rule);grid-template-columns:190px 1fr;gap:20px;padding:12px 0;display:grid}.ip-equations dt{color:var(--ip-secondary);font-size:13px}.ip-equations dd{font:24px var(--font-serif), serif;margin:0}.ip-parameter-strip{color:var(--ip-secondary);margin:24px 0;font-size:13px}@media (min-width:1000px) and (max-height:800px){.ip-header{min-height:72px}.ip-stage{min-height:540px;padding:26px 0}.ip-footer{min-height:72px}.ip-demo{gap:28px}.ip-chart{max-height:400px}.ip-controls{gap:8px}.ip-controls input{margin-bottom:8px}.ip-readouts>div{padding:8px 0}}@media (max-width:760px){.ip-root{padding:0 22px}.ip-header{gap:15px;min-height:85px}.ip-root .ip-brand{font-size:17px}.ip-brand span{font-size:8px}.ip-header-actions{gap:12px;font-size:12px}.ip-stage{justify-content:flex-start;min-height:0;padding:42px 0}.ip-opening{flex-direction:column;align-items:flex-start;gap:15px;display:flex}.ip-opening h1{font-size:65px}.ip-opening .ip-eyebrow{font-size:9px}.ip-question{font-size:25px}.ip-motif{align-self:flex-end;width:100%;max-width:340px;margin-top:0}.ip-demo{grid-template-columns:1fr;gap:25px}.ip-demo figure{padding-top:5px;overflow-x:auto}.ip-chart{min-width:0}.ip-controls{width:100%;max-width:440px}.ip-footer{flex-wrap:wrap;gap:15px;min-height:0;padding:20px 0}.ip-footer nav{order:-1;justify-content:space-between;gap:12px;width:100%}.ip-footer nav a{max-width:105px;font-size:10px;line-height:1.4}.ip-footer nav a span{flex-shrink:0;width:24px;height:24px}.ip-equations dl>div{grid-template-columns:1fr;gap:7px}.ip-equations dd{font-size:21px}.ip-tags{flex-wrap:wrap;gap:15px}}@media (prefers-reduced-motion:reduce){.ip-root *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.ip-root kbd{font:10px var(--font-body), sans-serif;border:1px solid var(--ip-rule);color:var(--ip-secondary);border-radius:3px;margin-left:10px;padding:2px 5px}.ip-chart-note{color:var(--ip-secondary);margin:0;font-size:12px;line-height:1.8}.ip-placeholder .ip-primary{margin-top:40px}.ip-map{color:var(--ip-text);border:1px solid var(--ip-rule);background:#fff;border-radius:6px;width:calc(100vw - 80px);max-width:1100px;max-height:calc(100svh - 70px);margin:auto;padding:0;box-shadow:0 24px 90px #102a4326}.ip-map::backdrop{background:#102a4366}.ip-map-content{padding:32px 38px}.ip-map-heading{justify-content:space-between;align-items:center;display:flex}.ip-map-heading h2{font:36px var(--font-serif), serif;margin:0}.ip-map-heading .ip-eyebrow{margin-bottom:4px}.ip-map-key{color:var(--ip-secondary);gap:28px;margin:25px 0;font-size:11px;display:flex}.ip-map-key span:first-child{color:var(--ip-blue)}.ip-map ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;margin:0;padding:0;list-style:none;display:grid}.ip-map li{border-top:1px solid var(--ip-rule);min-height:100px}.ip-map li>a:first-child{align-items:flex-start;gap:12px;min-height:85px;padding:17px 0 12px;display:flex}.ip-map-number{border:1px solid var(--ip-blue);border-radius:50%;flex-shrink:0;place-items:center;width:25px;height:25px;font-size:10px;display:grid}.ip-map-planned .ip-map-number{border:1px dashed var(--ip-secondary);color:var(--ip-secondary)}.ip-map-label{color:var(--ip-text);font-size:14px}.ip-map-label small{color:var(--ip-secondary);margin-top:6px;font-size:10px;display:block}.ip-map-implemented .ip-map-label small{color:var(--ip-blue)}.ip-map [aria-current] .ip-map-number{background:var(--ip-blue);color:#fff}.ip-root .ip-map-branch{margin:0 0 13px 37px;font-size:12px;display:block}.ip-map-branch small{color:var(--ip-secondary);margin-left:7px;font-size:9px}@media (max-width:760px){.ip-map{width:calc(100vw - 24px);max-height:calc(100svh - 24px)}.ip-map-content{padding:24px}.ip-map ol{grid-template-columns:1fr}.ip-map li{min-height:0}.ip-map-key{flex-wrap:wrap;gap:8px 18px}.ip-map li>a:first-child{min-height:75px}.ip-header-actions>a{font-size:0}.ip-header-actions>a:after{content:"Paper ↗";font-size:12px}.ip-header-actions button{padding:8px 10px}.ip-header-actions kbd{display:none}}@media (min-width:761px){.ip-chart{height:450px}.ip-stage{min-height:calc(100svh - 182px)}}@media (min-width:1000px) and (max-height:800px){.ip-stage{min-height:calc(100svh - 144px);padding:20px 0}.ip-scene-heading{margin-bottom:12px}.ip-scene-heading .ip-eyebrow{margin-bottom:10px}.ip-controls{gap:6px}.ip-controls input{margin-bottom:4px}.ip-controls button{padding:8px 14px}.ip-root .ip-controls .ip-primary{padding:10px 16px}.ip-controls .ip-text-link{padding:4px 0}.ip-readouts{margin-top:6px}.ip-readouts>div{padding:6px 0}.ip-readouts dd{font-size:23px}}
