.pm{margin-top:40px}.pm-loading{min-height:80vh;margin-top:40px}.pm-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;display:flex}.pm-models,.pm-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pm-currency select,.pm-node-panel select,.pm-target select{font:inherit;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:8px;padding:6px 10px;font-size:13px}.pm-model-blurb{color:var(--muted);max-width:76ch;margin:14px 0 26px;font-size:14px}.pm-note{color:var(--muted);margin-top:18px;font-size:13.5px;line-height:1.6}.pm-num{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px;align-items:center;display:inline-flex;overflow:hidden}.pm-num:focus-within{outline:2px solid var(--accent);outline-offset:1px}.pm-num input{width:120px;min-width:0;font:inherit;font-family:var(--font-mono), monospace;color:var(--text);text-align:right;background:0 0;border:0;padding:7px 10px;font-size:13.5px}.pm-num input:focus{outline:none}.pm-affix{font-family:var(--font-mono), monospace;color:var(--muted);padding:0 8px;font-size:12px}.pm-calc{grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:start;gap:36px;display:grid}.pm-inputs{top:calc(var(--nav-h,72px) + 16px);max-height:calc(100vh - var(--nav-h,72px) - 32px);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:18px 18px 20px;position:sticky;overflow:auto}.pm-inputs h2,.pm-funnel h2,.pm-targets h2,.pm-outcomes h2,.pm-guardrails h2{font-family:var(--font-serif), Georgia, serif;margin-bottom:12px;font-size:20px}.pm-input{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;align-items:center;gap:2px 12px;padding:9px 0;display:grid}.pm-input label{font-size:13px;line-height:1.35}.pm-input small{color:var(--muted);grid-area:2/1;font-size:11.5px;line-height:1.4}.pm-input .pm-num{grid-area:1/2/span 2}.pm-input .pm-num input{width:104px}.pm-inputs>.t-btn{margin-top:14px}.pm-funnel{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:28px;padding:18px 20px}.pm-fn{margin:0;padding:0;list-style:none}.pm-fn-step,.pm-fn-gap{grid-template-columns:110px minmax(0,1fr) 150px;align-items:center;gap:12px;display:grid}.pm-fn-step{font-size:13.5px}.pm-fn-track{height:26px;position:relative}.pm-fn-bar{width:calc(var(--w) * 100%);background:var(--accent-mid);border-radius:4px;transition:width .7s cubic-bezier(.2,.7,.2,1);position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}@starting-style{.pm-fn-bar{width:0}}.pm-fn-num{font-family:var(--font-mono), monospace;font-size:12.5px}.pm-fn-gap{min-height:24px}.pm-fn-shape{background:var(--accent-light);min-height:24px;clip-path:polygon(calc(50% - var(--a) * 50%) 0, calc(50% + var(--a) * 50%) 0, calc(50% + var(--b) * 50%) 100%, calc(50% - var(--b) * 50%) 100%);grid-column:2;align-self:stretch;transition:clip-path .7s cubic-bezier(.2,.7,.2,1)}@starting-style{.pm-fn-shape{clip-path:polygon(50% 0,50% 0,50% 100%,50% 100%)}}.pm-fn-rate{font-family:var(--font-mono), monospace;color:var(--muted);grid-column:3;font-size:11px}.pm-fn .worst .pm-fn-shape{background:color-mix(in srgb, var(--caution) 24%, transparent)}.pm-fn .worst .pm-fn-rate{color:var(--caution);font-weight:600}.pm-loop{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:28px;padding:18px 20px 14px}.pm-loop h2{font-family:var(--font-serif), Georgia, serif;font-size:20px}.pm-loop-blurb{color:var(--muted);max-width:64ch;margin:6px 0 4px;font-size:13.5px}.pm-loop{--ch-loop-bg:var(--surface)}.pm-loop .ch-loop-step{background:var(--bg)}.pm-stage{margin-bottom:30px}.pm-stage-head{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-bottom:12px;padding-bottom:8px;display:flex}.pm-stage-head h2{font-family:var(--font-serif), Georgia, serif;font-size:22px}.pm-stage-head p{color:var(--muted);font-size:13.5px}.pm-cards{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;display:grid}.pm-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:6px;flex-direction:column;gap:6px;padding:14px 16px 16px;display:flex}.pm-card.good{border-left-color:var(--ok)}.pm-card.watch{border-left-color:var(--caution)}.pm-card.low{border-left-color:var(--danger)}.pm-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.pm-card h3{font-size:13.5px;font-weight:600;line-height:1.35}.pm-card h3 a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px}.pm-card h3 a:hover{color:var(--accent)}.pm-status{font-family:var(--font-mono), monospace;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border-strong);color:var(--muted);white-space:nowrap;border-radius:999px;flex:none;padding:3px 8px;font-size:9.5px}.pm-status.good{border-color:var(--ok);color:var(--ok)}.pm-status.watch{border-color:var(--caution);color:var(--caution)}.pm-status.low{border-color:var(--danger);color:var(--danger)}.pm-value{font-family:var(--font-serif), Georgia, serif;color:var(--text);font-size:28px;font-weight:700;line-height:1.1}.pm-working{font-family:var(--font-mono), monospace;color:var(--text);overflow-wrap:anywhere;font-size:11.5px;line-height:1.5}.pm-formula,.pm-rule{color:var(--muted);font-size:12.5px;line-height:1.5}.pm-rule{border-top:1px dashed var(--border);margin-top:auto;padding-top:6px}.pm-ns{background:var(--surface);border:1px solid var(--accent-mid);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;margin:18px 0 14px;padding:18px 22px;display:flex}.pm-ns h2{font-family:var(--font-serif), Georgia, serif;margin-top:4px;font-size:24px}.pm-ns-numbers{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.pm-ns-numbers b{font-family:var(--font-serif), Georgia, serif;color:var(--accent);font-size:34px}.pm-ns-numbers .up{color:var(--ok);font-family:var(--font-mono), monospace;font-size:13px}.pm-ns-numbers .down{color:var(--danger);font-family:var(--font-mono), monospace;font-size:13px}.pm-tree{margin:0 0 8px;padding:0;list-style:none}.pm-node{padding-left:calc(var(--depth) * 28px);position:relative}.pm-node:not(.root):before{content:"";left:calc(var(--depth) * 28px - 16px);border-left:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);border-bottom-left-radius:6px;width:12px;height:28px;position:absolute;top:-6px}.pm-guardrails .pm-node:before{display:none}.pm-node-row{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:8px 12px;margin:4px 0;padding:6px 8px;display:grid}.pm-node.root>.pm-node-row{border-color:var(--accent-mid)}.pm-node-name{min-width:0;font:inherit;color:var(--text);background:0 0;border:0;padding:4px 2px;font-size:14px;font-weight:500}.pm-node-name:focus{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.pm-node-value b{font-family:var(--font-mono), monospace;align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex}.pm-op{background:var(--bg2);width:20px;height:20px;color:var(--accent);border-radius:6px;place-items:center;font-size:13px;display:inline-grid}.pm-node-tags{gap:6px;display:flex}.pm-tag{font-family:var(--font-mono), monospace;letter-spacing:.06em;background:var(--bg2);color:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:10px}.pm-tag.leading{color:var(--ok)}.pm-tag.lagging{color:var(--caution)}.pm-node-edit{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 6px;font-size:12.5px}.pm-node-panel{border:1px dashed var(--border-strong);border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;margin:0 0 10px;padding:12px 14px;font-size:12.5px;display:flex}.pm-node-panel label{color:var(--muted);flex-direction:column;gap:4px;display:flex}.pm-node-panel input{font:inherit;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:8px;padding:6px 10px;font-size:13px}.pm-node-buttons{flex-wrap:wrap;gap:8px;display:flex}.pm-outcomes,.pm-guardrails{margin-top:30px}.pm-view-toggle{gap:6px;margin:4px 0 12px;display:flex}.pm-treeview[data-view=diagram] .pm-tree-list,.pm-treeview[data-view=list] .pm-diagram-wrap{display:none}.pm-diagram-wrap{padding:6px 2px 14px;overflow-x:auto}.pm-diagram{margin:0 auto;position:relative}.pm-diagram-links{position:absolute;inset:0;overflow:visible}.pm-link{fill:none;stroke:var(--border-strong);stroke-width:1.5px}.pm-link-pulse{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;stroke-dasharray:.3 1.3;stroke-dashoffset:.3px;animation:.5s ease-in both pm-climb}@keyframes pm-climb{0%{stroke-dashoffset:.3px}to{stroke-dashoffset:-1px}}.pm-dnode{background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;flex-direction:column;gap:4px;padding:9px 11px 7px;display:flex;position:absolute}.pm-dnode.root{border-color:var(--accent)}.pm-dnode.on{outline:2px solid var(--accent);outline-offset:2px}.pm-dnode-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.pm-dnode-value{margin-top:auto}.pm-dnode-value b{font-family:var(--font-mono), monospace;align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.pm-dnode.root .pm-dnode-value b{color:var(--accent)}.pm-dnode .pm-num input{width:100px}.pm-dnode-foot{justify-content:space-between;align-items:center;gap:6px;min-height:22px;display:flex}.pm-dnode-foot .pm-node-tags{min-width:0;overflow:hidden}.pm-dnode-foot .pm-node-edit{margin-right:-4px;padding:2px 4px}.pm-dnode-flash{border:2px solid var(--accent);border-radius:inherit;pointer-events:none;opacity:0;animation:.8s ease-out both pm-flash;position:absolute;inset:-1px}@keyframes pm-flash{0%{opacity:0}25%{opacity:1}to{opacity:0}}.pm-diagram-editor{border:1px solid var(--accent-mid);background:var(--surface);border-radius:10px;margin:0 0 18px;padding:14px 16px 4px}.pm-diagram-editor .pm-node-panel{border:0;padding:10px 0 8px}.pm-diagram-editor-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.pm-diagram-editor-head label{color:var(--muted);flex-direction:column;flex:280px;gap:4px;font-size:12.5px;display:flex}.pm-diagram-editor-head input{font:inherit;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);border-radius:8px;padding:7px 10px;font-size:15px;font-weight:500}.pm-goals .t-field input{width:100%}.pm-targets{margin-top:26px}.pm-target{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 0;font-size:13.5px;display:flex}.pm-target-now,.pm-target-effect{font-family:var(--font-mono), monospace;color:var(--muted);font-size:12.5px}.pm-targets>.t-btn{margin-top:12px}.pm-projection{margin-top:14px;font-size:15px}.pm-frameworks{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:30px;display:grid}.pm-fw{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;padding:18px 20px;font-size:14px;line-height:1.55;display:flex}.pm-fw.wide{grid-column:1/-1}.pm-fw header{margin-bottom:6px}.pm-fw h3{font-family:var(--font-serif), Georgia, serif;font-size:20px}.pm-fw header span{color:var(--muted);font-size:12.5px}.pm-fw-label{font-family:var(--font-mono), monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:8px;font-size:10px}.pm-fw ul{margin:0;padding-left:18px}.pm-fw li{margin:3px 0}.pm-fw li.muted{color:var(--muted);margin-left:-18px;list-style:none}.pm-fw footer{flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:12px;display:flex}.pm-credit{color:var(--muted);flex-basis:100%;font-size:12px;line-height:1.5}.pm-cfr{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 24px;display:grid}.pm-path{flex-basis:100%;max-width:460px;margin:6px 0 2px}.pm-path svg{width:100%;height:48px;animation:.8s ease-out both pm-wipe;display:block}@keyframes pm-wipe{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.pm-path-base{stroke:var(--border-strong);stroke-width:1px;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.pm-path-line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.pm-path-tick{stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke}.pm-path-steps{text-align:center;grid-template-columns:repeat(4,1fr);margin:2px 0 0;padding:0;list-style:none;display:grid}.pm-path-steps span{font-family:var(--font-mono), monospace;letter-spacing:.06em;color:var(--muted);font-size:10px;display:block}.pm-path-steps b{font-family:var(--font-mono), monospace;font-size:12.5px;font-weight:500}.pm-path figcaption{text-align:center;color:var(--muted);margin-top:4px;font-size:12px}.pm-targets>.pm-path{margin-top:10px}@media (prefers-reduced-motion:reduce){.pm-fn-bar,.pm-fn-shape{transition:none}.pm-path svg{animation:none}.pm-link-pulse,.pm-dnode-flash{display:none}}@media (max-width:860px){.pm-calc{grid-template-columns:minmax(0,1fr)}.pm-inputs{max-height:none;position:static}.pm-fn-step,.pm-fn-gap{grid-template-columns:84px minmax(0,1fr) 92px;gap:8px}.pm-node{padding-left:calc(var(--depth) * 16px)}.pm-node:not(.root):before{left:calc(var(--depth) * 16px - 11px);width:8px}.pm-node-row{grid-template-columns:minmax(0,1fr) auto}.pm-node-tags{flex-wrap:wrap;grid-column:1}.pm-node-edit{grid-column:2;justify-self:end}}@media (max-width:760px){.pm-view-toggle,.pm-treeview .pm-diagram-wrap,.pm-diagram-editor{display:none}.pm-treeview[data-view=diagram] .pm-tree-list{display:block}}.pm-dnode-foot .pm-tag{text-overflow:ellipsis;min-width:0;overflow:hidden}
