@font-face{font-family:Serif;src:url(/fonts/SourceSerif4.ttf)}@font-face{font-family:Plex;src:url(/fonts/IBMPlexSans.ttf)}@font-face{font-family:Mono;src:url(/fonts/IBMPlexMono.ttf)}:root{--bg:#183B40;--panel:#23484C;--text:#E5F0EE;--line:#7B9E9F;--accent:#C3AD82}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 Plex,Arial,sans-serif}a{color:inherit;text-underline-offset:5px}button,input{font:inherit}button{cursor:pointer;border:1px solid var(--line);color:var(--text);background:transparent;padding:10px 15px;border-radius:2px}button:hover{background:var(--panel)}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button:disabled{opacity:.5;cursor:not-allowed}input[type=number]{display:block;width:100%;background:var(--bg);border:0;border-bottom:1px solid var(--line);color:var(--text);padding:9px 0;font:20px Mono,monospace;border-radius:0}input[type=range]{width:100%;accent-color:var(--accent);margin:18px 0 0;cursor:pointer}label{font-size:13px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Serif,Georgia,serif;font-weight:450}h1{font-size:clamp(30px,3.25vw,49px);line-height:1.13}h2{font-size:25px}h3{font-size:20px}main{max-width:1600px;margin:auto;padding:0 48px}header{display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--line);padding:23px 0}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:30px Serif,Georgia,serif}.descriptor{font-size:13px;border-left:1px solid var(--line);padding-left:20px}nav{margin-left:auto;display:flex;align-items:center;gap:24px;font-size:13px}nav a{text-decoration:none}nav button{font-size:12px}#count{font-family:Mono;font-size:11px}.title-row{display:flex;justify-content:space-between;align-items:end;padding:37px 0 33px;gap:24px}.title-row p{font-size:15px}.eyebrow{font:11px Mono,monospace;letter-spacing:.07em;display:block;margin-bottom:12px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.section-head h2 span{font:12px Mono;color:var(--accent);margin-right:14px}.section-head button{font-size:12px}.allocation{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0}.money-inputs{display:grid;grid-template-columns:repeat(5,1fr);gap:28px}#allocation-bar{display:flex;height:44px;margin:26px 0 16px;overflow:hidden;border:1px solid var(--line)}#allocation-bar div{display:flex;align-items:center;justify-content:center;min-width:0;white-space:nowrap;overflow:hidden;font:12px Mono;border-right:2px solid var(--bg)}#allocation-bar div:nth-child(1){background:var(--accent);color:var(--bg)}#allocation-bar div:nth-child(2){background:var(--text);color:var(--bg)}#allocation-bar div:nth-child(3){background:var(--line);color:var(--bg)}#allocation-bar div:nth-child(4){background:var(--panel);color:var(--text);border-right:0}.asset-inputs{display:grid;grid-template-columns:repeat(3,1fr) 1.4fr;gap:28px}.asset-id{display:block;font-size:14px;margin-bottom:4px}.asset-inputs input{font-size:18px}.asset-inputs p{font-size:13px;padding-top:7px}.lab-grid{display:grid;grid-template-columns:1.35fr 1fr;border-bottom:1px solid var(--line)}.matrix-panel{padding:28px 30px 25px 0;border-right:1px solid var(--line)}.recovery{padding:28px 0 25px 30px}.tag{font:10px Mono;white-space:nowrap}.shock-controls{display:grid;grid-template-columns:1fr 1fr;gap:32px}.shock-controls label{font-size:14px}output{float:right;color:var(--accent);font-family:Mono}.hint{font-size:12px;line-height:1.55;margin:15px 0}details{border-top:1px solid var(--line);padding:13px 0}summary{cursor:pointer;font-size:14px}details p{font-size:13px;margin:12px 0}.specific{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:15px}.specific small{font-size:10px;display:block;margin-top:8px}.matrix-title{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:19px 0 15px}.matrix-title span{font:9px Mono}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-family:Mono;font-size:12px}caption{caption-side:bottom;text-align:left;font:11px Plex;margin-top:10px}th{font-weight:400;text-align:center;padding:10px 5px;font-size:10px}th:first-child{text-align:left;max-width:90px}td{border:1px solid var(--line);padding:0}td button{border:0;width:100%;padding:13px 5px;font-family:Mono;font-size:13px;border-radius:0}td button.target{background:var(--panel)}td button[aria-pressed=true]{background:var(--accent);color:var(--bg)}.legend{display:flex;gap:14px;margin-top:14px;font-size:10px}.selected{background:var(--panel);padding:23px}.selected>span{font:10px Mono;letter-spacing:.06em}.coverage{display:flex;align-items:baseline;gap:16px;margin:12px 0 0}.coverage strong{font:66px/1.1 Serif}.coverage span{font:12px Mono}.selected>p{font-size:13px;margin:10px 0 22px}.metrics{border-top:1px solid var(--line);padding-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:11px}.metrics strong{display:block;font:20px Mono;margin-top:6px}.fork svg{width:100%;height:54px;display:block}.fork path{stroke:var(--accent);stroke-width:1;fill:none}.paths{display:grid;grid-template-columns:1fr 1fr;gap:20px}.paths article+article{border-left:1px solid var(--line);padding-left:20px}.paths span{font:9px Mono}.paths h3{font:31px Serif;color:var(--accent);margin:7px 0}.paths p{font-size:12px}.primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}.primary:hover{background:var(--text);color:var(--bg)}.actions{display:flex;gap:10px;flex-wrap:wrap}.actions button{font-size:13px}.text-button{border:0;padding:13px 0 0;font-size:12px;text-decoration:underline;text-underline-offset:4px}.reports{padding:30px 0;border-bottom:1px solid var(--line)}.reports>p{font-size:13px}#saved-list{margin-top:17px}.saved-item{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);padding:13px 0}.saved-item p{font-size:13px;flex:1}.saved-item button{font-size:12px}.method{display:grid;grid-template-columns:1fr 1.5fr;gap:65px;padding:42px 0}.method h2{font-size:33px;margin-bottom:20px}.method p{font-size:14px}.method code{display:block;font:12px/1.9 Mono;padding:12px;background:var(--panel)}.method details:last-child{border-bottom:1px solid var(--line)}footer{display:flex;align-items:center;gap:25px;border-top:1px solid var(--line);padding:26px 0 38px;font-size:13px}footer a:last-child{margin-left:auto}footer .brand{font-size:23px}.skip-link{position:fixed;top:-100px;left:20px;z-index:30;padding:10px;background:var(--accent);color:var(--bg)}.skip-link:focus{top:10px}#error{position:sticky;bottom:10px;border:2px solid var(--accent);padding:15px;background:var(--bg)}#message{margin-top:10px;color:var(--accent)}dialog{background:var(--bg);color:var(--text);border:1px solid var(--line);max-width:520px;padding:36px}dialog::backdrop{background:#183b40dd}dialog h2{font-size:31px;line-height:1.2}dialog p{margin:20px 0;font-size:15px}#intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:var(--bg);padding:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}#intro[hidden]{display:none}.intro-top{position:absolute;top:25px;left:32px;right:32px;display:flex;justify-content:space-between;align-items:center;font:11px Mono}.intro-top button{font:12px Plex}#intro svg{width:min(780px,90vw);max-height:48vh;margin-top:45px;overflow:visible}#intro path{fill:none;stroke:var(--accent);stroke-width:2}#intro .guides path{stroke:var(--line);stroke-width:.7}#intro text{font:12px Mono;fill:var(--text)}#loads{transform:translateY(-30px);animation:load 6s ease forwards}#loads>path:first-child{stroke-width:8;stroke-dasharray:300;animation:draw 2s ease both}.forces{stroke-dasharray:120;animation:draw 2s 2s both}#buffer{stroke-width:4!important;stroke-dasharray:700;animation:draw 2s 3.5s both}#branches{opacity:0;animation:appear 1.2s 6s forwards}.intro-copy{text-align:center;min-height:150px;margin-top:25px}.intro-copy>span{font:11px Mono}.intro-copy h1{font-size:55px;margin:12px 0 8px;opacity:0;animation:appear 1s 8s forwards}.intro-copy p{font-size:14px}#intro.exiting{opacity:0;transition:opacity .4s;pointer-events:none}@keyframes draw{0%{stroke-dashoffset:700;opacity:0}to{stroke-dashoffset:0;opacity:1}}@keyframes load{0%,25%{transform:translateY(-30px)}75%,to{transform:translateY(20px)}}@keyframes appear{to{opacity:1}}@media(min-width:1500px){.matrix-panel{padding-right:45px}.recovery{padding-left:45px}}@media(max-width:1000px){main{padding:0 24px}.descriptor{display:none}.title-row p{max-width:230px}.lab-grid{grid-template-columns:1.15fr 1fr}.matrix-panel{padding-right:20px}.recovery{padding-left:20px}.section-head h2{font-size:21px}.tag{display:none}.coverage strong{font-size:55px}.metrics strong{font-size:16px}.money-inputs,.asset-inputs{gap:18px}.paths h3{font-size:25px}}@media(max-width:720px){main{padding:0 18px}header{flex-wrap:wrap;padding:17px 0;gap:12px}.brand{font-size:27px}nav{width:100%;margin:0;justify-content:space-between;gap:12px}.title-row{display:block;padding:28px 0}.title-row p{margin-top:15px;max-width:none;font-size:14px}.money-inputs{grid-template-columns:1fr 1fr;gap:20px}.money-inputs label:last-child{grid-column:1/3}.asset-inputs{grid-template-columns:repeat(3,1fr);gap:14px}.asset-inputs p{grid-column:1/4}.asset-id{font-size:12px}.asset-inputs label{font-size:10px}#allocation-bar div{font-size:9px}.lab-grid{display:block}.matrix-panel{padding:24px 0;border:0;border-bottom:1px solid var(--line)}.recovery{padding:24px 0}.matrix-title{display:block}.matrix-title span{display:block;margin-top:6px}.shock-controls{gap:20px}.shock-controls label{font-size:12px}.legend{gap:10px;font-size:9px}.coverage strong{font-size:66px}.metrics strong{font-size:21px}.paths h3{font-size:31px}.method{display:block;padding:30px 0}.method>div+div{margin-top:28px}.method h2{font-size:30px}.section-head{gap:10px}.section-head h2{font-size:20px}.section-head h2 span{margin-right:8px}.section-head button{font-size:10px;padding:8px}.saved-item{flex-wrap:wrap}.saved-item p{min-width:100%}footer{flex-wrap:wrap;gap:16px}footer a:last-child{margin-left:0;width:100%}.intro-top{left:18px;right:18px;font-size:8px}#intro{padding:18px}.intro-copy h1{font-size:42px}.intro-copy p{font-size:12px}#intro svg{width:110vw}th:first-child{font-size:8px}td button{font-size:11px;padding:13px 3px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}#intro{display:none}*{animation:none!important;transition:none!important}}@media print{#intro,header nav,.actions,.text-button,button,footer,.reports{display:none!important}body{background:#fff;color:#000}main{padding:0}.lab-grid{display:block}.matrix-panel,.recovery{padding:15px 0;border:0}.selected,.method code{background:#fff;color:#000}.selected{border:1px solid black}input{color:#000!important;background:#fff!important}.method{gap:20px}details{break-inside:avoid}#allocation-bar{-webkit-print-color-adjust:exact;print-color-adjust:exact}.title-row{padding:15px 0}}
