/* Planner (wip-plan-summary, Oct 22 2026): /tools/planner inputs, sections, summary card, encrypted-save sheets, and the 2-page print document.
   Chip "on" state uses the primary gradient (--tl-pri-bg). No new theme colours. */
.pn .pl-grid.pn-g{gap:14px}
@media (min-width:980px){.pn .pl-grid.pn-g{grid-template-columns:minmax(0,400px) minmax(0,1fr)}.pn .pn-in-col{position:static;max-height:none}}
.pn-in-col,.pn-out{display:flex;flex-direction:column;gap:12px;min-width:0}
.pn-secs-out{display:flex;flex-direction:column;gap:12px}
.pn-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.pn-chip{height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);font:500 13px/28px var(--f-body);cursor:pointer}
.pn-chip.on{background:var(--tl-pri-bg);color:var(--tl-pri-ink,#0B1A1B);border-color:transparent}
.pn-chip:focus-visible{outline:2px solid var(--pl-cy);outline-offset:2px}
.pn-samp{margin-top:4px}
details.pn-c>summary{list-style:none;display:flex;align-items:baseline;justify-content:space-between;gap:10px;cursor:pointer;min-height:24px}
details.pn-c>summary::-webkit-details-marker{display:none}
details.pn-c>summary::after{content:"";width:8px;height:8px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(45deg);margin-left:4px;align-self:center;flex:none}
details.pn-c[open]>summary::after{transform:rotate(-135deg)}
.pn-ct{font:600 16px/22px var(--f-head);color:var(--ink)}
.pn-cs{margin-left:auto;font:500 12.5px/18px var(--f-body);color:var(--ink-3);text-align:right}
.pn-cb{margin-top:12px;display:flex;flex-direction:column;gap:10px}
.pn-asm{grid-column:1/-1}
.pn-rows{display:flex;flex-direction:column;gap:6px}
details.pn-row{border:1px solid var(--line);border-radius:10px;background:var(--surface)}
details.pn-row>summary{list-style:none;display:flex;align-items:center;gap:10px;padding:9px 12px;cursor:pointer}
details.pn-row>summary::-webkit-details-marker{display:none}
.pn-dot{width:10px;height:10px;border-radius:3px;flex:none}
details.pn-row .n{flex:1;min-width:0;font:500 13.5px/18px var(--f-body);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
details.pn-row .n small,details.pn-row .v small{display:block;font:400 11.5px/15px var(--f-body);color:var(--ink-3)}
details.pn-row .v{text-align:right;font:600 13.5px/18px var(--f-body);color:var(--ink);font-variant-numeric:tabular-nums}
.pn-rb{padding:2px 12px 12px;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line)}
.pn-rm{align-self:flex-start}.pn-add{align-self:flex-start}
.pn-hold{position:relative}
.pn-hchips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.pn-hc{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 4px 0 6px;border:1px solid var(--line);border-radius:999px;font:500 12.5px/1 var(--f-body);color:var(--ink)}
.pn-hc img{width:18px;height:18px;border-radius:50%;object-fit:contain;background:#fff}
.pn-hc button{border:0;background:none;color:var(--ink-3);font-size:16px;width:22px;height:22px;cursor:pointer}
.pn-dd{position:absolute;left:0;right:0;z-index:20;background:var(--surface);border-radius:10px;box-shadow:0 8px 24px rgba(10,17,36,.18)}
.pn-dd:empty{display:none}
.pn-dd button{display:flex;align-items:center;gap:8px;width:100%;height:40px;padding:0 10px;border:0;background:none;text-align:left;cursor:pointer;font:400 13px/1 var(--f-body);color:var(--ink-2)}
.pn-dd button img{width:20px;height:20px;border-radius:50%;object-fit:contain;background:#fff}
.pn-dd button b{color:var(--ink);min-width:52px}
.pn-dd button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pn-erow{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:6px 8px;align-items:end;padding:8px 0;border-bottom:1px solid var(--line)}
.pn-erow .pn-fx{grid-column:1/2}.pn-erow .pl-x{justify-self:end}
.pn-auto{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:8px;background:var(--surface-2);font:500 13px/18px var(--f-body);color:var(--ink-2)}
.pn-auto small{color:var(--ink-3);font-weight:400}
.pn-ks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px}
@media (min-width:700px){.pn-ks{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pn-k{padding:9px 11px;border-radius:10px;background:var(--surface-2);min-width:0}
.pn-k span{display:block;font:500 11.5px/15px var(--f-body);color:var(--ink-3)}
.pn-k b{display:block;font:700 17px/22px var(--f-head);color:var(--ink);font-variant-numeric:tabular-nums}
.pn-k small{display:block;font:400 11px/14px var(--f-body);color:var(--ink-3)}
.pn-k.neg b{color:var(--pl-amber)}
.pn-rot{margin-top:12px;padding:12px;border-radius:10px;border:1px dashed var(--line-2);font:400 12.5px/18px var(--f-body);color:var(--ink-2)}
.pn-rot ul{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:6px}
.pn-rot li{display:flex;justify-content:space-between;gap:10px}.pn-rot li em{font-style:normal;color:var(--ink);white-space:nowrap}
.pn-rot p{margin:0;color:var(--ink-3)}
.pn-two{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:12px}
@media (min-width:600px){.pn-two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.pn-gl{margin:10px 0 0;padding-left:18px;font:400 12.5px/18px var(--f-body);color:var(--ink-2)}
.pn-mcl{margin:0 0 8px;font:500 15px/21px var(--f-body);color:var(--ink)}
.pn-finra{margin:8px 0 0;font:400 11.5px/16px var(--f-body);color:var(--ink-3)}
.pn-leg{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;font:400 12.5px/17px var(--f-body);color:var(--ink-2)}
.pn-sum .pl-help{margin:4px 0 12px}
.pn-dl{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px}
@media (max-width:640px){.pn-dl{width:100%}}
.pn-acts{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.pn-acts .pl-btn,.pn-bar .pl-btn{height:30px;display:inline-flex;align-items:center;gap:6px}
.pn-lock{flex:none;vertical-align:-2px}
.pn-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pn-saved{margin-right:auto;font:500 12.5px/18px var(--f-body);color:var(--ink-3);display:inline-flex;align-items:center;gap:5px}
.pl-toplan{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 12px;font:400 12.5px/18px var(--f-body);color:var(--ink-3)}
.pl-toplan a{font:600 13.5px/18px var(--f-body);color:var(--pl-cy);text-decoration:none}
/* encrypted save sheets */
.pn-modal .pl-mbox{max-width:460px;width:100%}
.pn-modal .hd b{display:flex;align-items:center;gap:6px}
.pn-modal .bd{display:flex;flex-direction:column;gap:10px}
.pn-priv{display:flex;gap:10px;padding:12px;border-radius:10px;background:var(--surface-2);font:400 13px/18px var(--f-body);color:var(--ink)}
.pn-priv p{margin:0}.pn-priv .loss{margin-top:4px;color:var(--ink-2)}
.pn-pi{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--tl-pri-bg);color:#0B1A1B}
.pn-pi svg{width:16px;height:16px}
.pn-err{margin:0;min-height:0;font:500 12.5px/17px var(--f-body);color:var(--pl-red)}.pn-err:empty{display:none}
.pn-macts{display:flex;flex-wrap:wrap;gap:8px}.pn-macts .pl-btn{height:36px;display:inline-flex;align-items:center;gap:6px}
@media (max-width:640px){.pn-macts .tl-btn.pri{width:100%;justify-content:center}}
.pn-plans{display:flex;flex-direction:column;gap:8px}
.pn-plan{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.pn-ph{display:flex;gap:10px;align-items:flex-start}
.pn-ph .ic{color:var(--ink-3);margin-top:2px}
.pn-ph .n{font:600 14px/19px var(--f-body);color:var(--ink)}.pn-ph .n small{display:block;font:400 12px/16px var(--f-body);color:var(--ink-3)}
.pn-plan.locked .pn-ph .n{color:var(--ink-2)}
.pn-pa{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.pn-pa .pl-btn{height:30px}
.pn-pa .pl-inp{flex:1;min-width:140px}
.pn-del{color:var(--pl-red)!important}

/* ---------- Planner additions: score gauge, gaps, budget, payoff timeline, age sliders, partner ---------- */
.pn-score{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:center}
@media (min-width:700px){.pn-score{grid-template-columns:220px minmax(0,1fr)}}
.pn-sgw{max-width:240px;margin:0 auto;width:100%}.pn-sg{display:block;width:100%;height:auto}
.pn-sg .v{font:600 44px/1 "PS General Sans","General Sans",Inter,sans-serif;fill:var(--ink)}.pn-sg .b{font:500 12.5px/1 var(--f-body);fill:var(--ink-3)}
.pn-subs{display:flex;flex-direction:column;gap:10px}
.pn-subs .r,.pn-tl .r{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:10px;align-items:center}
.pn-subs .n,.pn-tl .n{font:500 13px/17px var(--f-body);color:var(--ink);min-width:0}
.pn-subs .n small,.pn-tl .n small{display:block;font:400 11.5px/15px var(--f-body);color:var(--ink-3)}
.pn-subs .t,.pn-tl .t{height:10px;border-radius:5px;background:var(--surface-2);overflow:hidden;display:block}
.pn-subs .t i{display:block;height:100%;background:#3EC8C9;border-radius:5px}
.pn-tl .t i{display:block;height:100%;background:#2F6FB0;border-radius:5px}
.pn-subs b,.pn-tl b{font:600 13px/17px var(--f-body);color:var(--ink);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.pn-subs b small{color:var(--ink-3);font-weight:400}
.pn-tl{display:flex;flex-direction:column;gap:10px;margin:4px 0 14px}.pn-tl .l{font:600 13px/18px var(--f-body);color:var(--ink-2)}
.pn-tl .ax{position:relative;height:16px;margin-left:calc(56.5% + 0px);margin-right:84px;font:400 11.5px/16px var(--f-body);color:var(--ink-3)}.pn-tl .ax span{position:absolute;transform:translateX(-50%);white-space:nowrap}
.pn-gt td small,.pn-bt td small,.pn-at td small{display:block;font-size:11.5px;color:var(--ink-3);font-weight:400}
.pn-gt td.neg,.pn-at td.neg{color:#CC3A2F}.pn-gt td.pos,.pn-at td.pos{color:#12804A}
html[data-theme=dark] .pn-gt td.neg,html[data-theme=dark] .pn-at td.neg{color:#F28B82}html[data-theme=dark] .pn-gt td.pos,html[data-theme=dark] .pn-at td.pos{color:#3CC79A}
.pn-bt td i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.pn-at tr.cur td{background:var(--surface-2);font-weight:600}
.pn-gt,.pn-bt,.pn-at{width:100%;margin:0 0 12px}
.pn-sl{display:flex;flex-direction:column;gap:12px;margin:0 0 14px;padding:14px;border-radius:12px;background:var(--surface-2)}
.pn-rng label{display:flex;justify-content:space-between;font:500 13px/18px var(--f-body);color:var(--ink-2)}.pn-rv{font:600 15px/18px var(--f-head);color:var(--ink)}
.pn-rng input[type=range]{width:100%;height:30px;accent-color:#2F6FB0}
.pn-partner{grid-column:1/-1;padding:12px;border-radius:10px;border:1px solid var(--line)}
.pn-budw{margin-top:0}
.pn-sec{padding:22px}
.pn-sec>h2{margin:0 0 14px}
#pl .rd-mod{margin-top:22px}
.pn-dl{text-decoration:none}

/* ---------- the paged PDF: off-screen at letter width so charts lay out at print size. Minimum type 11.5px. ---------- */
/* print text: static Inter instances (a variable font is embedded in the PDF as Type 3 glyphs, which space unevenly in viewers and extract badly) */
@font-face{font-family:"PS Inter";font-style:normal;font-weight:400;font-display:block;src:url(/static/fonts/inter-print-400.woff2) format("woff2")}
@font-face{font-family:"PS Inter";font-style:normal;font-weight:500;font-display:block;src:url(/static/fonts/inter-print-500.woff2) format("woff2")}
@font-face{font-family:"PS Inter";font-style:normal;font-weight:600;font-display:block;src:url(/static/fonts/inter-print-600.woff2) format("woff2")}
@font-face{font-family:"PS Inter";font-style:normal;font-weight:700;font-display:block;src:url(/static/fonts/inter-print-700.woff2) format("woff2")}
@font-face{font-family:"PS General Sans";font-style:normal;font-weight:600;font-display:block;src:url(/static/fonts/general-sans-600.woff2) format("woff2")}
@font-face{font-family:"PS General Sans";font-style:normal;font-weight:500;font-display:block;src:url(/static/fonts/general-sans-500.woff2) format("woff2")}
#psDoc{position:absolute;left:-12000px;top:0;width:8.5in;background:#fff;color:#121314;-webkit-print-color-adjust:exact;print-color-adjust:exact;--ps-h:"PS General Sans","General Sans",Inter,system-ui,sans-serif;--ps-b:"PS Inter",Inter,system-ui,sans-serif;--f-body:"PS Inter",Inter,system-ui,-apple-system,sans-serif;--f-head:"General Sans","PS Inter",Inter,system-ui,sans-serif}
.ps-page{box-sizing:border-box;width:8.5in;height:11in;padding:.5in .55in .42in;display:flex;flex-direction:column;overflow:hidden;background:#fff;position:relative}
.ps-wm{font:600 22px/1 var(--ps-h);color:#121314;letter-spacing:-.01em;white-space:nowrap}.ps-wm i{font-style:normal;color:#B8F15A}
.ps-hd{display:flex;align-items:center;gap:18px;padding-bottom:12px;border-bottom:2px solid #1A2D58}
.ps-ttl{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.ps-ttl b{font:600 19px/24px var(--ps-h);color:#121314}.ps-ttl small{font:400 11.5px/15px var(--ps-b);color:#4B5257}
.ps-pg{font:600 11.5px/1 var(--ps-b);color:#4B5257;white-space:nowrap}
.ps-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:14px;padding:16px 0 10px;overflow:hidden}
.ps-ft{display:flex;align-items:center;gap:14px;padding-top:9px;border-top:1px solid #E3E6E8;font:400 11.5px/15px var(--ps-b);color:#4B5257}
.ps-ft .ps-wm{font-size:14px}.ps-ftt{flex:1}
/* cover: solid navy, the c. mark above the wordmark in light ink, lime only on the periods */
.ps-cover{background:var(--deep-bg,#0A1124);color:#F2F4F5;padding:1in .85in .7in;justify-content:space-between}
.ps-cvm{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.ps-mark{font:600 112px/.8 var(--ps-h);color:#F2F4F5;letter-spacing:-.04em}.ps-mark i,.ps-cwm i{font-style:normal;color:#B8F15A}
.ps-cwm{font:600 40px/1 var(--ps-h);color:#F2F4F5;letter-spacing:-.01em}
.ps-cvt{margin-top:auto}
.ps-kick{margin:0 0 10px;font:600 12px/16px var(--ps-b);letter-spacing:.12em;text-transform:uppercase;color:#3EC8C9}
.ps-cover h1{margin:0 0 14px;font:600 46px/1.08 var(--ps-h);color:#F2F4F5;letter-spacing:-.01em}
.ps-cvs{margin:0 0 6px;font:400 16px/23px var(--ps-b);color:#F2F4F5}.ps-cvi{margin:0;font:400 13px/19px var(--ps-b);color:#8B9398}
.ps-toc{margin:38px 0 0;padding:20px 0 0;border-top:1px solid rgba(242,244,245,.18);list-style:none;counter-reset:t;display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;font:500 13px/18px var(--ps-b);color:#F2F4F5}
.ps-toc li{counter-increment:t}.ps-toc li::before{content:counter(t,decimal-leading-zero);color:#3EC8C9;margin-right:10px;font-weight:600}
.ps-cvf{margin-top:40px;font:400 11.5px/16px var(--ps-b);color:#8B9398}
/* dashboard */
.ps-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#psDoc .pn-k{padding:10px 12px;border-radius:10px;background:#F7F8F9}#psDoc .pn-k span{font:500 11.5px/15px var(--ps-b);color:#4B5257}#psDoc .pn-k b{font:600 19px/24px var(--ps-h);color:#121314}#psDoc .pn-k small{font:400 11.5px/15px var(--ps-b);color:#4B5257}
#psDoc .pn-k.neg b{color:#CC3A2F}
.ps-avd{display:flex;flex-direction:column;gap:6px;font:500 12px/16px var(--ps-b);color:#121314}
.ps-avd .r{display:grid;grid-template-columns:1.7in minmax(0,1fr);align-items:center;gap:10px}
.ps-avd .t{display:flex;height:14px;border-radius:4px;overflow:hidden;background:#F7F8F9}.ps-avd .t i{display:block;height:100%}
.ps-avd .k{display:flex;flex-wrap:wrap;gap:4px 14px;padding-left:calc(1.7in + 10px);font-size:11.5px;color:#4B5257}.ps-avd .k em{font-style:normal;display:inline-flex;align-items:center;gap:5px}.ps-avd .k i{width:9px;height:9px;border-radius:2px;display:inline-block}
.ps-sample{margin:0;padding:8px 12px;border-radius:8px;background:#DFEAF0;border-left:3px solid #3EC8C9;font:400 11.5px/16px var(--ps-b);color:#121314}
.ps-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;align-content:start;gap:14px}
.ps-tile{border:1px solid #E3E6E8;border-radius:12px;padding:12px 14px;min-width:0;display:flex;flex-direction:column;gap:8px;break-inside:avoid}
.ps-tile.wide{grid-column:1/-1}
.ps-tile h3{margin:0;font:600 15px/20px var(--ps-h);color:#121314}
#psDoc .pl-help,#psDoc .pl-cap{margin:0;font:400 11.5px/16px var(--ps-b);color:#4B5257}
#psDoc .pn-ks{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
#psDoc .pn-ks .pn-k b{font-size:16px;line-height:21px}
#psDoc .pl-tbl,#psDoc .rd-tbl{font-size:12px;line-height:16px}#psDoc .pl-tbl th,#psDoc .rd-tbl th{font-size:11.5px}
#psDoc .pl-tblw{overflow:visible!important}
#psDoc .pn-subs .n,#psDoc .pn-tl .n,#psDoc .pn-subs b,#psDoc .pn-tl b{font-size:12px;line-height:16px}
#psDoc .pn-subs .n small,#psDoc .pn-tl .n small,#psDoc .pn-tl .ax,#psDoc .pn-tl .l{font-size:11.5px;line-height:15px}
#psDoc .pn-subs .t,#psDoc .pn-tl .t{background:#F7F8F9}
#psDoc .pn-sg .v{fill:#1A2D58}#psDoc .pn-sg .b{fill:#4B5257}
#psDoc .pn-score{grid-template-columns:2.1in minmax(0,1fr)}
#psDoc .pl-bar2{font-size:12px;line-height:16px}
#psDoc .pl-sankey text{font-size:11.5px}
#psDoc .pn-two{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);margin:0}
#psDoc [class*="leg"] li,#psDoc .pl-dleg{font-size:11.5px;line-height:15px}
.ps-accr{display:grid;grid-template-columns:minmax(0,1fr) 1.7in;gap:14px;align-items:center}
.ps-tb table{width:100%;border-collapse:collapse;font:400 12px/16px var(--ps-b);color:#121314}
.ps-tb th{text-align:left;font-weight:600;font-size:11.5px;color:#4B5257;border-bottom:1px solid #E3E6E8;padding:3px 4px}
.ps-tb td{padding:3px 4px;border-bottom:1px solid #F7F8F9;white-space:nowrap}.ps-tb td:first-child{white-space:normal}
.ps-tb td:not(:first-child),.ps-tb th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}
.ps-tb td i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px}.ps-tb small{color:#4B5257;font-size:11.5px}
.ps-dn .pl-dleg{display:none!important}
.ps-tile .pl-wm{display:none}
/* module pages */
.ps-mod .ps-body h3{font:600 15px/20px var(--ps-h);color:#121314}
#psDoc .rd-disc{font-size:11.5px;line-height:16px}
/* disclosures */
.ps-disc h3{margin:10px 0 4px;font:600 14px/18px var(--ps-h);color:#121314}
.ps-cols{column-count:2;column-gap:.3in;font:400 11.5px/15.5px var(--ps-b);color:#24272A}
.ps-cols p{margin:0 0 7px;break-inside:avoid}.ps-cols b{color:#121314}
.ps-asm{width:100%;border-collapse:collapse;font:400 11.5px/15px var(--ps-b);color:#121314}
.ps-asm tbody{display:grid;grid-template-columns:1fr 1fr;column-gap:.3in}
.ps-asm tr{display:grid;grid-template-columns:1.3fr 2fr;border-bottom:1px solid #F7F8F9}.ps-asm td{padding:3px 2px}.ps-asm td:first-child{color:#4B5257}
.ps-gen{margin:6px 0 0;font:400 11.5px/15px var(--ps-b);color:#4B5257}

@media print{
  @page{size:letter;margin:0}
  html,body,html body.ct:not(#_):not(#__){margin:0!important;padding:0!important;background:#fff!important;min-height:0!important}
  html body.ct #psDoc header.ps-hd,html body.ct #psDoc footer.ps-ft{display:flex!important}
  html body.ct #psDoc footer.ps-cvf{display:block!important}
  body :not(#psDoc):not(#psDoc *):not(:has(#psDoc)){display:none!important}
  body,body *:has(#psDoc){display:block!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:#fff!important;max-width:none!important;width:auto!important;position:static!important;transform:none!important}
  #psDoc{position:static;left:auto;width:8.5in}
  #psDoc .ps-cover{background:var(--deep-bg,#0A1124)!important}
  .ps-page{break-after:page;page-break-after:always}.ps-page:last-child{break-after:auto;page-break-after:auto}
}
.pn-leg i{display:inline-block;width:12px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}.pn-leg em{font-style:normal;color:var(--ink-3)}
.pn-modal .pl-fields{display:flex;flex-direction:column;gap:10px;margin:0;padding:0}.pn-modal .pl-f{margin:0;padding:0}
.ps-more{margin:0;font:400 11.5px/15px var(--ps-b);color:#4B5257}
.ps-fbox{display:flex;flex-direction:column;gap:14px}
#psDoc .pl-sankey svg{max-height:3.1in}
.ps-kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
#psDash .ps-kpis .pn-k b{font-size:17px;line-height:22px}
#psDoc .ps-dn{max-width:1.6in}
#psDoc .pn-two{grid-template-columns:2.3in minmax(0,1fr)}
#psDoc .pn-two .pl-donut{grid-template-columns:1fr!important;justify-items:center}
#psDoc .pn-two .pl-donut [class*="leg"]{display:none!important}
#psDoc .pn-bt td{white-space:normal}
#psDoc .ps-tile.half .pl-donut{grid-template-columns:1.3in minmax(0,1fr)!important}
#psDoc .pl-wm{font:600 11.5px/1 "PS Inter",Inter,system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#4B5257;opacity:.8;text-align:right;margin:2px 0 0}
#psDoc .rd-gaps>div{font-size:12.5px;line-height:17px;padding:5px 0;color:#24272A;border-color:#F7F8F9}
#psDoc .pn-subs b small{font-size:11.5px}
html body #psDoc .ps-cover h1{margin:0 0 14px;font:600 46px/1.08 var(--ps-h)!important;color:#F2F4F5!important;letter-spacing:-.01em}
#psDoc .ps-toc{grid-template-columns:1fr;gap:9px}
#psDoc .ps-tiles,#psDoc .ps-fbox>*,#psDoc .ps-body>*{flex:none}
#psDoc .pl-tblw{max-height:none!important;height:auto!important}
#psDoc .pn-two{align-items:start}
/* cover mark: the master c. SVG, inlined at its own proportions */
#psDoc .ps-mark{display:block;line-height:0}#psDoc .ps-csvg{display:block;height:104px;width:auto}
#psDoc .ps-cwm{font-family:"Brand Wordmark","PS General Sans","General Sans",system-ui,sans-serif;font-weight:600;letter-spacing:normal;text-transform:none}
#psDoc .ps-wm{font-family:"Brand Wordmark","PS General Sans","General Sans",system-ui,sans-serif;font-weight:600;letter-spacing:normal;text-transform:none}
.pn-efg .v{font-size:34px}
/* Summary page */
#psDoc .ps-sumwho{margin:0 0 16px}
#psDoc .ps-k5{grid-template-columns:repeat(5,minmax(0,1fr))!important}
#psDoc .ps-sumfig{margin:0 0 16px}
#psDoc .ps-sum2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 16px}
#psDoc .ps-sumc{border:1px solid #E3E6E8;border-radius:8px;padding:16px}
#psDoc .ps-sumc h3+p+h3{margin-top:16px}
#psDoc .ps-sumt{margin:0}
#psDoc .ps-num{width:100%;border-collapse:collapse}#psDoc .ps-num td{padding:8px 0;border-bottom:1px solid #E3E6E8}#psDoc .ps-num td:last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:16px}
#psDoc .ps-num tr:last-child td{border-bottom:0}
#psDoc .pl-sankey svg{max-height:2.5in}
#psDoc .ps-nwr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:24px;align-items:center}
/* ===== article-matched type + tokens (templates/note.html, _rationale.html: design.css, style.css, rationale.css), 8px grid ===== */
#psDoc{font-family:"PS Inter",Inter,system-ui,sans-serif;color:#121314}
#psDoc .ps-ttl b{font:600 24px/30px var(--ps-h);letter-spacing:-.012em;color:#121314}
#psDoc .ps-ttl small{font:400 12.5px/1.4 var(--ps-b);color:#80878C}
#psDoc .ps-pg{font:600 11.5px/1.3 var(--ps-b);letter-spacing:.12em;text-transform:uppercase;color:#80878C}
#psDoc .ps-hd{padding-bottom:16px;gap:16px}
#psDoc .ps-body{gap:16px;padding:16px 0 8px}
#psDoc .ps-ft{padding-top:8px;gap:16px;font:400 12.5px/1.4 var(--ps-b);color:#80878C}
#psDoc .ps-eb,#psDoc .ps-kick{margin:0 0 4px;font:600 11.5px/1.3 var(--ps-b);letter-spacing:.12em;text-transform:uppercase;color:#80878C}
#psDoc .ps-cover .ps-kick{color:#3EC8C9}
#psDoc .ps-lede{margin:0 0 8px;font:400 15.5px/1.5 var(--ps-b);color:#121314}
#psDoc .ps-tile h3,#psDoc .ps-mod .ps-body h3,#psDoc .ps-sumfig h3,#psDoc .ps-sumc h3,#psDoc .ps-disc h3{margin:0;font:600 17px/24px var(--ps-h);letter-spacing:-.008em;color:#121314}
#psDoc .ps-sumc h3{margin:0 0 8px}
#psDoc .ps-tiles{gap:16px}
#psDoc .ps-tile{border:1px solid #E3E6E8;border-radius:12px;padding:16px;gap:8px}
#psDoc .ps-kpis,#psDoc .pn-ks,#psDoc .rd-kpis{gap:8px}
#psDoc .pn-k{padding:8px 12px;border-radius:8px;background:#F7F8F9;gap:0}
#psDoc .pn-k span{font:500 12.5px/1.4 var(--ps-b);color:#4B5257}
#psDoc .pn-k b{font-family:var(--ps-h);font-weight:600;letter-spacing:-.008em;color:#121314}
#psDoc .pn-k small{font:400 11.5px/1.4 var(--ps-b);color:#80878C}
#psDoc .pl-help,#psDoc .pl-cap,#psDoc .rd-cap,#psDoc .rd-disc,#psDoc .ps-gen,#psDoc .ps-more{font:400 12.5px/1.4 var(--ps-b);color:#80878C}
#psDoc .ps-sample{font:400 12.5px/1.4 var(--ps-b);padding:8px 12px;border-radius:8px}
/* tables like .note-body tables: 13.5px, 1px line rows, 5px 6px cells; numbers right-aligned and tabular */
#psDoc .pl-tbl,#psDoc .rd-tbl,#psDoc .ps-tb table,#psDoc .ps-num{font:400 13px/18px var(--ps-b);color:#121314;border-collapse:collapse;width:100%}
#psDoc .pl-tbl th,#psDoc .rd-tbl th,#psDoc .ps-tb th{font:600 11.5px/1.3 var(--ps-b);letter-spacing:.06em;text-transform:uppercase;color:#80878C;border-bottom:1px solid #D3D8DB;padding:5px 6px;background:none}
#psDoc .pl-tbl td,#psDoc .rd-tbl td,#psDoc .ps-tb td{border-bottom:1px solid #E3E6E8;padding:5px 6px;background:none}
#psDoc .pl-tbl td:not(:first-child),#psDoc .pl-tbl th:not(:first-child),#psDoc .rd-tbl td:not(:first-child),#psDoc .rd-tbl th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
#psDoc .ps-num td{padding:5px 6px;border-bottom:1px solid #E3E6E8}#psDoc .ps-num td:first-child{padding-left:0}#psDoc .ps-num td:last-child{padding-right:0}
#psDoc .pl-tbl small,#psDoc .rd-tbl small,#psDoc .ps-tb small{font-size:11.5px;color:#80878C}
#psDoc .pl-tbl tr.cur td{background:#F7F8F9}
#psDoc .ps-cols{font:400 12px/1.5 var(--ps-b);color:#4B5257}
#psDoc .ps-sumt{font:400 13.5px/1.5 var(--ps-b);color:#121314}
#psDoc .ps-tb td{padding:4px 6px}
#psDoc .ps-s-flow .pn-ks{grid-template-columns:repeat(5,minmax(0,1fr))}
#psDoc .pl-sankey svg{max-height:2.2in}
#psDoc .pl-sankey svg{max-height:2in}
#psDoc .ps-s-score .pn-subs{gap:8px}#psDoc .ps-s-score .pn-subs .r{grid-template-columns:minmax(0,3fr) minmax(0,1.2fr) auto;gap:16px}#psDoc .ps-s-score .pn-score{grid-template-columns:1.9in minmax(0,1fr);gap:24px;align-items:center}
#psDoc .pl-tbl th{white-space:normal}#psDoc .pn-gt td:first-child{white-space:normal}
#psDoc .ps-s-bud .pl-tbl td{padding:2px 6px}
#psDoc .ps-nwr{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr)}
#psDoc .ps-s-nw .pl-donut{grid-template-columns:1.35in minmax(0,1fr)!important;gap:16px}
#psDoc .ps-s-nw [class*="leg"] li{padding:2px 0}
/* snapshot side-by-side table: fit the page width, wrap long scenario names */
#psDoc .rd-side{table-layout:fixed;width:100%}#psDoc .rd-side th{white-space:normal!important;vertical-align:bottom;text-align:right}#psDoc .rd-side td{text-align:right}#psDoc .rd-side th:first-child,#psDoc .rd-side td:first-child{text-align:left;width:24%;min-width:0}
#psDoc #psDisc .ps-body{gap:12px}
/* the site-wide Inter reset (ct-cleanup.css, !important) would otherwise win over the wordmark face, as the nav's .bwx is exempted */
#psDoc .ps-cwm,#psDoc .ps-cwm *,#psDoc .ps-wm,#psDoc .ps-wm *{font-family:"Brand Wordmark","PS General Sans","General Sans",system-ui,sans-serif!important}

/* cover: wordmark-only lockup at the left margin (no big c mark); title sits in the upper-middle, contents + footer anchor the bottom */
#psDoc .ps-cover{justify-content:flex-start}#psDoc .ps-cover .ps-cwm{font-size:52px;margin-left:0!important}#psDoc .ps-cover .ps-cvt{margin-top:2.55in}#psDoc .ps-cover .ps-toc{margin-top:auto}
/* a short section moved up under the previous page (fitPages): its own heading, ruled off */
#psDoc .ps-sech{font:600 21px/27px var(--ps-h);letter-spacing:-.012em;color:#121314;margin:6px 0 0;padding-top:16px;border-top:1px solid #DDE2E6}
/* dashboard packing: the accounts donut starts compact; the page fit grows it (to 2.5in) wherever the page has room */
#psDoc .ps-pack .ps-dn{max-width:1.2in}
#psDoc .ps-pack .ps-dn .pl-donut{grid-template-columns:minmax(0,1fr);justify-items:end}
#psDoc .ps-pack .ps-dn canvas{width:1.2in}
#psDoc .ps-pack .ps-accr{grid-template-columns:minmax(0,1fr) 1.3in}

/* numbers: normal proportional digits in body text; fixed-width digits only in right-aligned number columns */
#psDoc,#psDoc *{font-variant-numeric:normal;font-feature-settings:normal}
#psDoc .ps-tb td:not(:first-child),#psDoc .pl-tbl td:not(:first-child),#psDoc .rd-tbl td:not(:first-child),#psDoc .ps-num td:last-child,#psDoc .pn-subs b,#psDoc details.pn-row .v{font-variant-numeric:tabular-nums}
/* screen-only instructions (hover, tap ...) swap for print copy that describes the figure */
.pl-prt{display:none}
#psDoc .pl-scr{display:none!important}#psDoc .pl-prt{display:inline!important}
@media print{.pl-scr{display:none!important}.pl-prt{display:inline!important}}
/* the site-wide Inter rule is !important; in the PDF body text uses the static print instances instead (headings and wordmarks keep their faces) */
html body.ct #psDoc,html body.ct #psDoc :not(h1,h2,h3,.ps-cwm,.ps-wm,.ps-cwm *,.ps-wm *){font-family:"PS Inter",Inter,system-ui,sans-serif!important}
/* sentence-case labels keep normal spacing in print (tracking only on the uppercase eyebrows and table headers) */
html body.ct #psDoc .rd-kpi span,html body.ct #psDoc dt{letter-spacing:normal!important}
/* Chrome drops the General Sans fi/fl ligatures whenever letter-spacing is non-zero, leaving a gap ("Cash f low") */
html body.ct #psDoc h2,html body.ct #psDoc h3{letter-spacing:normal!important}
/* headless Chrome on Linux snaps hinted glyph advances to whole pixels (17px "f" = 9px instead of 6.5px), which opens gaps after narrow glyphs; use unhinted outline metrics in the document */
#psDoc,#psDoc *{text-rendering:geometricPrecision}
