/*! Ease My Finance - https://easemyfinances.com - (c) Vinay Jajal. All rights reserved. */
.pm{--surface-2:var(--soft);--port:var(--accent);--on-port:var(--on-accent);--bench:#7F8B97;--gain:var(--pos);--loss:var(--neg);--inter:var(--mark);--gapfill:color-mix(in srgb,var(--accent) 13%,transparent);--gainfill:color-mix(in srgb,var(--pos) 10%,transparent);--lossfill:color-mix(in srgb,var(--neg) 9%,transparent);color:var(--text);font:17px/1.62 var(--body);margin:0 -18px}.pm.pm.pm.pm .pm-top{border-bottom:1px solid var(--line);margin:0 0 6px}.pm.pm.pm.pm .pm-top-in{max-width:980px;margin:0 auto;padding:14px 18px 12px;display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between}.pm.pm.pm.pm .pm-crumbs{font-size:13.5px;color:var(--muted)}.pm.pm.pm.pm .pm-crumbs a{color:var(--muted);text-decoration:none}.pm.pm.pm.pm .pm-crumbs a:hover{color:var(--accent);text-decoration:underline}.pm.pm.pm.pm .pm-crumbs span{margin:0 6px}.pm.pm.pm.pm .pm-pager{max-width:720px;margin:36px auto 8px;padding:20px 20px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:12px}.pm.pm.pm.pm .pm-pg{display:block;border:1px solid var(--line);border-radius:14px;padding:12px 14px;text-decoration:none;color:var(--ink);font:600 16px/1.3 var(--display);background:var(--surface)}.pm.pm.pm.pm .pm-pg small{display:block;font:500 12.5px var(--body);color:var(--muted);margin-bottom:2px}.pm.pm.pm.pm a.pm-pg:hover{border-color:var(--accent)}.pm.pm.pm.pm .pm-pg.next{text-align:right}.pm.pm.pm.pm .pm-pg.none{visibility:hidden}.pm.pm.pm.pm .pm-foot{max-width:720px;margin:20px auto 0;padding:0 20px;font-size:13.5px;line-height:1.55;color:var(--muted)}.pm.pm.pm.pm .pm-contents{max-width:720px;margin:10px auto 0;padding:0 20px}.pm.pm.pm.pm .pm-contents h2{font:700 13px var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:26px 0 8px}.pm.pm.pm.pm .pm-contents ol{list-style:none;margin:0;padding:0}.pm.pm.pm.pm .pm-contents li{margin:0 0 8px}.pm.pm.pm.pm .pm-contents a{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:center;padding:11px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);text-decoration:none;color:var(--ink);font:600 16px/1.3 var(--display)}.pm.pm.pm.pm .pm-contents a:hover{border-color:var(--accent)}.pm.pm.pm.pm .pm-contents a span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--band);color:var(--accent);font:700 14px var(--display)}.pm .bar{align-items:revert;background:revert;border-bottom:revert;display:revert;justify-content:revert;padding:revert;position:revert;top:revert;z-index:revert}.pm .brand h1{border-bottom:revert;color:revert;display:revert;letter-spacing:revert;margin:revert;padding-bottom:revert}.pm .brand{padding:revert}.pm .btn:hover{border-color:revert}.pm .btn{background:revert;border:revert;border-radius:revert;color:revert;cursor:revert;height:revert;padding:revert}.pm .draw{animation:revert;stroke-dasharray:revert;stroke-dashoffset:revert}.pm .field>label{color:revert;font-size:revert}.pm .field{display:revert;flex-direction:revert;gap:revert;min-width:revert}.pm .hero{align-items:revert;display:revert;gap:revert;grid-template-columns:revert;margin:revert;overflow:revert;padding:revert;position:revert;grid-template-columns:revert}.pm .legend{color:revert;display:revert;flex-wrap:revert;font-size:revert;gap:revert}.pm .note{color:revert;font-size:revert;margin:revert;max-width:revert}.pm .readout{color:revert;font-size:revert;font-variant-numeric:revert;margin:revert;min-height:revert}.pm .seg button[aria-pressed=true]{background:revert;color:revert}.pm .seg button{background:revert;border:revert;border-radius:revert;color:revert;cursor:revert;padding:revert}.pm .seg{background:revert;border:revert;border-radius:revert;display:revert;flex-wrap:revert;gap:revert;margin:revert;max-width:revert;padding:revert}.pm .stats div{display:revert;flex-direction:revert;gap:revert}.pm .stats{background:revert;border:revert;border-radius:revert;display:revert;gap:revert;grid-template-columns:revert;margin:revert;padding:revert;grid-template-columns:revert}.pm .step h3{color:revert;margin:revert}.pm .step p{color:revert;font-size:revert;margin:revert}.pm .steps li{margin-bottom:revert}.pm .steps{color:revert;font-size:revert;line-height:revert;margin:revert;padding-left:revert;display:revert;gap:revert;grid-template-columns:revert}.pm .step{background:revert;border:revert;border-radius:revert;padding:revert}.pm a:focus-visible{border-radius:revert;outline:revert;outline-offset:revert}.pm button:focus-visible{border-radius:revert;outline:revert;outline-offset:revert}.pm details *,.pm details ::after,.pm details ::before{box-sizing:revert}.pm details{margin:revert}.pm input:disabled{opacity:revert}.pm input:focus{border-color:revert;outline:revert;outline-offset:revert}.pm input[readonly]:focus{border-color:revert;outline:revert}.pm input[readonly]{cursor:revert}.pm input[type=date]{font-size:revert;padding:revert}.pm input{-webkit-appearance:revert;appearance:revert;background:revert;border:revert;border-radius:revert;color:revert;font-size:revert;font-variant-numeric:revert;height:revert;min-width:revert;padding:revert;width:revert}.pm summary:focus-visible{border-radius:revert;outline:revert;outline-offset:revert}.pm summary{color:revert;cursor:revert;font-weight:revert;padding:revert}.pm table{border-collapse:revert;font-size:revert;font-variant-numeric:revert;width:revert}.pm td.neg,.pm td.pos{color:revert}.pm td:first-child{padding-left:revert;text-align:revert}.pm td{border-bottom:revert;padding:revert;text-align:revert;white-space:revert}.pm th:first-child{padding-left:revert;text-align:revert}.pm th{border-bottom:revert;padding:revert;text-align:revert;white-space:revert;color:revert;font-size:revert;font-weight:revert}.pm tr.sel td{background:revert}.pm.pm.pm *,.pm.pm.pm ::after,.pm.pm.pm ::before{box-sizing:inherit}.pm.pm.pm{margin:0;background:var(--bg);color:var(--ink);font:17px/1.62 var(--body)}.pm.pm.pm .brand,.pm.pm.pm .ch-num,.pm.pm.pm .num,.pm.pm.pm h1,.pm.pm.pm h2,.pm.pm.pm h3{font-family:var(--display)}.pm.pm.pm .num,.pm.pm.pm .tbl{font-variant-numeric:tabular-nums}.pm.pm.pm a{color:var(--port)}.pm.pm.pm :focus-visible{outline:3px solid var(--port);outline-offset:2px;border-radius:4px}.pm.pm.pm img,.pm.pm.pm svg{max-width:100%}.pm.pm.pm .wrap{max-width:720px;margin:0 auto;padding:0 20px}.pm.pm.pm .wide{max-width:980px;margin:0 auto;padding:0 16px}.pm.pm.pm p{margin:0 0 1em}.pm.pm.pm .topbar{position:sticky;top:env(safe-area-inset-top,0);z-index:20;background:var(--bg);background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.pm.pm.pm .topbar-in{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:980px;margin:0 auto;padding:10px 16px 8px}.pm.pm.pm .brand{font-weight:800;font-size:1.05rem;color:var(--ink);text-decoration:none;letter-spacing:-.01em;white-space:nowrap}.pm.pm.pm .level{display:inline-flex;border:1.5px solid var(--line);border-radius:999px;padding:2px;background:var(--surface)}.pm.pm.pm .level button{font:inherit;font-size:.85rem;font-weight:700;border:0;background:0 0;color:var(--muted);padding:5px 12px;border-radius:999px;cursor:pointer;transition:background .25s,color .25s}.pm.pm.pm .level button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.pm.pm.pm .chapters{display:flex;gap:6px;overflow-x:auto;max-width:980px;margin:0 auto;padding:0 16px 10px;scrollbar-width:none}.pm.pm.pm .chapters::-webkit-scrollbar{display:none}.pm.pm.pm .chapters a{flex:none;font-size:.84rem;padding:4px 11px;border-radius:999px;color:var(--muted);text-decoration:none;border:1px solid var(--line);transition:background .25s,color .25s,border-color .25s}.pm.pm.pm .chapters a.on{background:var(--port);color:var(--on-port);border-color:var(--port)}.pm.pm.pm .progress{height:3px;background:0 0}.pm.pm.pm .progress span{display:block;height:100%;width:0;background:var(--port)}.pm.pm.pm .hero{padding:44px 0 20px}.pm.pm.pm h1{font-size:clamp(2.3rem,6.6vw,4.3rem);line-height:1.02;letter-spacing:-.028em;font-weight:800;margin:0 0 .45em;max-width:14ch}.pm.pm.pm .lede{font-size:1.16rem;color:var(--muted);max-width:58ch}.pm.pm.pm .hero-fig{margin:18px auto 8px}.pm.pm.pm .hero-fig svg{display:block;width:100%;height:auto}.pm.pm.pm .legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.88rem;color:var(--muted);margin:6px 0 0}.pm.pm.pm .legend i{display:inline-block;width:18px;height:3px;border-radius:2px;vertical-align:middle;margin-right:6px;background:var(--port)}.pm.pm.pm .legend i.b{background:var(--bench)}.pm.pm.pm .legend i.d{background:repeating-linear-gradient(90deg,var(--bench) 0 5px,transparent 5px 9px)}.pm.pm.pm .legend i.g{height:10px;background:var(--gapfill)}.pm.pm.pm .hero-cap{font-size:1rem;color:var(--ink);margin:10px 0 0;min-height:3.2em;transition:opacity .6s}.pm.pm.pm .hero-cap.wait{opacity:0}.pm.pm.pm .hero-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:18px 0 0}.pm.pm.pm .howto{font-size:.95rem;color:var(--muted);margin-top:18px;max-width:60ch}.pm.pm.pm .chapter{padding:64px 0 20px;border-top:1px solid var(--line);margin-top:36px}.pm.pm.pm .ch-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}.pm.pm.pm .ch-num{font-weight:800;font-size:3.1rem;line-height:.9;color:var(--port);min-width:1.1em}.pm.pm.pm h2{font-size:clamp(1.55rem,4.2vw,2.15rem);line-height:1.1;letter-spacing:-.018em;margin:.12em 0 0;font-weight:750}.pm.pm.pm h3{font-size:1.15rem;margin:0 0 .5em;letter-spacing:-.01em}.pm.pm.pm dl.defs{margin:0 0 1.2em}.pm.pm.pm dl.defs dt{font-weight:700;margin-top:.6em}.pm.pm.pm dl.defs dd{margin:0;color:var(--ink)}.pm.pm.pm .note{margin:1.2em 0;padding:2px 0 2px 16px;border-left:3px solid var(--gain)}.pm.pm.pm .note.pro{border-left-color:var(--port)}.pm.pm.pm .note b.tag{display:block;font-size:.86rem;color:var(--muted);margin-bottom:2px}body[data-level=beg] .pm.pm.pm .pro,body[data-level=pro] .pm.pm.pm .beg{display:none!important}.pm.pm.pm .formula{font-size:1.08rem;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow-x:auto;white-space:nowrap;margin:1em 0 1.3em;line-height:1.4}.pm.pm.pm .formula+.formula{margin-top:-.6em}.pm.pm.pm .frac{display:inline-flex;flex-direction:column;vertical-align:middle;text-align:center;margin:0 4px}.pm.pm.pm .frac>span:first-child{border-bottom:1.5px solid currentColor;padding:0 4px 2px}.pm.pm.pm .frac>span:last-child{padding:2px 4px 0}.pm.pm.pm .formula .lhs{color:var(--port);font-weight:700}.pm.pm.pm .formula small{color:var(--muted);font-size:.8rem;margin-left:10px}.pm.pm.pm .lab{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px 20px;margin:26px 0}.pm.pm.pm .lab-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;margin-bottom:14px}.pm.pm.pm .lab-head h3{margin:0}.pm.pm.pm .lab-head p{margin:0;color:var(--muted);font-size:.95rem;max-width:52ch}.pm.pm.pm .controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px 24px;margin:6px 0 18px}.pm.pm.pm .field label{display:flex;justify-content:space-between;gap:8px;font-size:.92rem;color:var(--muted);margin-bottom:4px}.pm.pm.pm .field label output{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}.pm.pm.pm input[type=range]{width:100%;accent-color:var(--port);margin:4px 0;height:28px}.pm.pm.pm .in{font:inherit;font-variant-numeric:tabular-nums;width:100%;padding:8px 10px;border:1.5px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--ink)}.pm.pm.pm .in:focus{border-color:var(--port);outline:0}.pm.pm.pm .row-btns{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.pm.pm.pm .btn{font:inherit;font-size:.92rem;font-weight:700;padding:8px 15px;border-radius:999px;border:1.5px solid var(--port);background:0 0;color:var(--port);cursor:pointer;text-decoration:none;display:inline-block;transition:background .2s,color .2s}.pm.pm.pm .btn:hover{background:var(--gapfill)}.pm.pm.pm .btn.solid{background:var(--port);color:var(--on-port)}.pm.pm.pm .btn.solid:hover{filter:brightness(1.08)}.pm.pm.pm .btn[aria-pressed=true]{background:var(--port);color:var(--on-port)}.pm.pm.pm .seg{display:inline-flex;border:1.5px solid var(--line);border-radius:10px;overflow:hidden}.pm.pm.pm .seg button{font:inherit;font-size:.86rem;font-weight:700;border:0;background:var(--surface);color:var(--muted);padding:7px 12px;cursor:pointer}.pm.pm.pm .seg button+button{border-left:1.5px solid var(--line)}.pm.pm.pm .seg button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.pm.pm.pm .toggles{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin:0 0 16px;font-size:.9rem;color:var(--muted)}.pm.pm.pm .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px;margin:16px 0 4px}.pm.pm.pm .stat{padding:11px 13px;background:var(--surface-2);border-radius:10px}.pm.pm.pm .stat .k{font-size:.84rem;color:var(--muted);line-height:1.3}.pm.pm.pm .stat .v{font-family:var(--display);font-size:1.55rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.25}.pm.pm.pm .stat .h{font-size:.8rem;color:var(--muted);line-height:1.35;margin-top:2px}.pm.pm.pm .stat.key{background:var(--gapfill)}.pm.pm.pm .pos{color:var(--gain)}.pm.pm.pm .neg{color:var(--loss)}.pm.pm.pm .readout{font-size:.98rem;margin:14px 0 0;padding:12px 14px;border-radius:10px;background:var(--surface-2)}.pm.pm.pm .plug{font-size:.95rem;color:var(--muted);overflow-x:auto;white-space:nowrap;padding:4px 0}.pm.pm.pm .plug b{color:var(--ink)}.pm.pm.pm .warn{color:var(--loss);font-size:.92rem;margin:8px 0 0}.pm.pm.pm .warn:empty{display:none}.pm.pm.pm .chart{display:block;width:100%;height:auto;overflow:visible}.pm.pm.pm .chart text{fill:var(--muted);font:12px var(--body)}.pm.pm.pm .axis{stroke:var(--line);stroke-width:1}.pm.pm.pm .axis.zero{stroke-dasharray:3 4}.pm.pm.pm .ln{fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.pm.pm.pm .ln.p{stroke:var(--port)}.pm.pm.pm .ln.b{stroke:var(--bench)}.pm.pm.pm .ln.dash{stroke:var(--bench);stroke-dasharray:6 5;stroke-width:2}.pm.pm.pm .gap{fill:var(--gapfill)}.pm.pm.pm rect.bar.pos{fill:var(--gain)}.pm.pm.pm rect.bar.neg{fill:var(--loss)}.pm.pm.pm .anim rect.bar{transform-box:fill-box;animation:.5s cubic-bezier(.2,.7,.2,1) both pm-grow}.pm.pm.pm .anim rect.bar.pos{transform-origin:50% 100%}.pm.pm.pm .anim rect.bar.neg{transform-origin:50% 0}.pm.pm.pm .anim .ln.draw{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:pm-draw var(--dur,1.1s) cubic-bezier(.45,.05,.3,1) forwards}.pm.pm.pm .anim .fade{opacity:0;animation:.6s forwards pm-fade;animation-delay:var(--delay,.6s)}@keyframes pm-grow{from{transform:scaleY(0)}}@keyframes pm-draw{to{stroke-dashoffset:0}}@keyframes pm-fade{to{opacity:1}}.pm.pm.pm .hbars{display:grid;gap:10px;margin:12px 0}.pm.pm.pm .hrow{display:grid;grid-template-columns:92px 1fr 96px;gap:10px;align-items:center;font-size:.9rem}.pm.pm.pm .hrow .t{color:var(--muted)}.pm.pm.pm .hrow .n{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.pm.pm.pm .track{height:18px;background:var(--surface-2);border-radius:999px;overflow:hidden;display:flex}.pm.pm.pm .fill{height:100%;background:var(--port);transition:width .5s cubic-bezier(.2,.7,.2,1)}.pm.pm.pm .fill.b{background:var(--bench)}.pm.pm.pm .fill.g{background:var(--gain)}.pm.pm.pm .fill.i{background:var(--inter)}.pm.pm.pm .fill.l{background:var(--loss)}.pm.pm.pm .month{position:relative;height:42px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2) repeating-linear-gradient(90deg,transparent 0 calc(100%/30 - 1px),var(--line) calc(100%/30 - 1px) calc(100%/30));overflow:hidden}.pm.pm.pm .month .inv{position:absolute;top:0;bottom:0;right:0;background:var(--gapfill);transition:left .35s cubic-bezier(.2,.7,.2,1)}.pm.pm.pm .month .pin{position:absolute;top:0;bottom:0;width:4px;margin-left:-2px;background:var(--inter);transition:left .35s cubic-bezier(.2,.7,.2,1)}.pm.pm.pm .month-lbl{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted);margin-top:4px}.pm.pm.pm .month-cap{font-size:.93rem;margin:8px 0 0}.pm.pm.pm .vbars{display:flex;align-items:flex-end;gap:10px;height:230px;padding-top:6px;margin:6px 0 0}.pm.pm.pm .vcol{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}.pm.pm.pm .vbar{width:100%;max-width:78px;background:var(--port);border-radius:6px 6px 2px 2px;transition:height .5s cubic-bezier(.2,.7,.2,1),background .3s;min-height:2px}.pm.pm.pm .vbar.flow{background:var(--inter)}.pm.pm.pm .vcol .amt{font-weight:700;font-size:.92rem;font-variant-numeric:tabular-nums;margin-bottom:4px}.pm.pm.pm .vcol .cap{font-size:.78rem;color:var(--muted);text-align:center;line-height:1.25;margin-top:6px;min-height:2.6em}.pm.pm.pm .vcol .step{font-size:.78rem;font-weight:700;min-height:1.3em}.pm.pm.pm .wf{position:relative;height:240px;margin:14px 0 50px}.pm.pm.pm .wf .zero{position:absolute;left:0;right:0;border-top:1.5px dashed var(--line);transition:top .5s cubic-bezier(.2,.7,.2,1)}.pm.pm.pm .wf .col{position:absolute;top:0;bottom:0;transition:left .5s cubic-bezier(.2,.7,.2,1),width .5s,opacity .3s}.pm.pm.pm .wf .col.off{opacity:0;pointer-events:none}.pm.pm.pm .wf .bar{position:absolute;left:12%;right:12%;border-radius:4px;transition:top .5s cubic-bezier(.2,.7,.2,1),height .5s cubic-bezier(.2,.7,.2,1),background .3s}.pm.pm.pm .wf .bar.total{background:var(--port)}.pm.pm.pm .wf .bar.pos{background:var(--gain)}.pm.pm.pm .wf .bar.neg{background:var(--loss)}.pm.pm.pm .wf .val{position:absolute;left:-10px;right:-10px;text-align:center;font-size:.84rem;font-weight:700;transition:top .5s cubic-bezier(.2,.7,.2,1)}.pm.pm.pm .wf .lbl{position:absolute;top:100%;margin-top:8px;left:-6px;right:-6px;text-align:center;font-size:.78rem;color:var(--muted);line-height:1.15}.pm.pm.pm .scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px}.pm.pm.pm .tbl{width:100%;border-collapse:collapse;font-size:.92rem}.pm.pm.pm .tbl td,.pm.pm.pm .tbl th{padding:7px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}.pm.pm.pm .tbl th{font-weight:700;color:var(--muted);font-size:.82rem;vertical-align:bottom;line-height:1.2}.pm.pm.pm .tbl td:first-child,.pm.pm.pm .tbl th:first-child{text-align:left}.pm.pm.pm .tbl tfoot td{font-weight:700;border-bottom:0;border-top:2px solid var(--line)}.pm.pm.pm .tbl input{font:inherit;font-variant-numeric:tabular-nums;width:66px;text-align:right;padding:6px 7px;border:1.5px solid var(--line);border-radius:7px;background:var(--surface-2);color:var(--ink)}.pm.pm.pm .tbl input:focus{border-color:var(--port);outline:0}.pm.pm.pm .tbl td.pos{background:var(--gainfill)}.pm.pm.pm .tbl td.neg{background:var(--lossfill)}.pm.pm.pm .tbl .was{display:block;font-size:.74rem;color:var(--muted);font-weight:400}.pm.pm.pm .readings{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:8px}.pm.pm.pm .readings li{font-size:.93rem;padding:9px 12px;background:var(--surface-2);border-radius:8px}.pm.pm.pm .cbars{display:grid;gap:12px;margin:18px 0 6px}.pm.pm.pm .crow .t{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:4px}.pm.pm.pm .crow .t b{font-variant-numeric:tabular-nums}.pm.pm.pm .crow .track{height:22px}.pm.pm.pm .resid{font-weight:700;transition:color .3s}.pm.pm.pm .q{margin:26px 0}.pm.pm.pm .q p.qt{font-weight:700;margin-bottom:10px}.pm.pm.pm .opts{display:grid;gap:8px}.pm.pm.pm .opt{text-align:left;font:inherit;font-size:.97rem;padding:10px 14px;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);cursor:pointer;transition:border-color .2s,background .2s}.pm.pm.pm .opt:hover:not(:disabled){border-color:var(--port)}.pm.pm.pm .opt:disabled{cursor:default}.pm.pm.pm .opt.right{border-color:var(--gain);background:var(--gainfill)}.pm.pm.pm .opt.wrong{border-color:var(--loss);background:var(--lossfill)}.pm.pm.pm .why{margin-top:10px;font-size:.94rem;padding:10px 14px;border-radius:10px;background:var(--surface-2)}.pm.pm.pm .why[hidden]{display:none}.pm.pm.pm .score{font-family:var(--display);font-weight:700;font-size:1.2rem;margin:10px 0}.pm.pm.pm details{border-bottom:1px solid var(--line);padding:10px 0}.pm.pm.pm summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:12px}.pm.pm.pm summary::-webkit-details-marker{display:none}.pm.pm.pm summary::after{content:"+";color:var(--port);font-weight:800;transition:transform .25s}.pm.pm.pm details[open] summary::after{transform:rotate(45deg)}.pm.pm.pm details p{margin:.5em 0 .2em;color:var(--ink)}.pm.pm.pm footer{padding:48px 0 60px;color:var(--muted);font-size:.9rem;border-top:1px solid var(--line);margin-top:48px}.pm.pm.pm .part{margin-top:56px;padding:56px 0 0;border-top:4px solid var(--port)}.pm.pm.pm .part-k{font-family:var(--display);font-weight:700;color:var(--port);margin:0;font-size:1rem}.pm.pm.pm .part-t{font-size:clamp(2rem,6vw,3.1rem);line-height:1.02;letter-spacing:-.025em;margin:.12em 0 .35em;font-weight:800}.pm.pm.pm .part p{color:var(--muted);font-size:1.08rem;max-width:58ch}.pm.pm.pm .part+.chapter{border-top:0;margin-top:0;padding-top:36px}.pm.pm.pm .roadmap{display:grid;gap:10px;margin:26px 0 0;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.pm.pm.pm .roadmap a{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);background:var(--surface);transition:border-color .2s}.pm.pm.pm .roadmap a:hover{border-color:var(--port)}.pm.pm.pm .roadmap a b{display:block;font-family:var(--display);color:var(--port);font-size:1rem}.pm.pm.pm .roadmap a span{font-size:.87rem;color:var(--muted);line-height:1.35;display:block;margin-top:2px}.pm.pm.pm h3{margin-top:1.6em}.pm.pm.pm .lab h3,.pm.pm.pm .lab-head h3{margin-top:0}.pm.pm.pm h4{font-size:1rem;margin:1.2em 0 .4em}.pm.pm.pm .steps{counter-reset:s;list-style:none;padding:0;margin:14px 0 18px;display:grid;gap:8px}.pm.pm.pm .steps li{counter-increment:s;position:relative;padding:10px 12px 10px 46px;background:var(--surface);border:1px solid var(--line);border-radius:10px;font-size:.96rem}.pm.pm.pm .lab .steps li{background:var(--surface-2);border-color:transparent}.pm.pm.pm .steps li::before{content:counter(s);position:absolute;left:12px;top:10px;width:23px;height:23px;border-radius:50%;background:var(--port);color:var(--on-port);font:700 .8rem/23px var(--display);text-align:center}.pm.pm.pm .dlist{display:grid;gap:9px;margin:14px 0}.pm.pm.pm .drow{display:grid;grid-template-columns:minmax(96px,34%) 1fr 74px;gap:10px;align-items:center;font-size:.9rem}.pm.pm.pm .drow.tot{font-weight:700;border-top:1px solid var(--line);padding-top:9px}.pm.pm.pm .dn{line-height:1.25}.pm.pm.pm .dtrack{position:relative;height:18px;background:var(--surface-2);border-radius:4px}.pm.pm.pm .dtrack::before{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;border-left:1.5px solid var(--muted);opacity:.5}.pm.pm.pm .dfill{position:absolute;top:2px;bottom:2px;border-radius:3px;transition:left .5s cubic-bezier(.2,.7,.2,1),width .5s cubic-bezier(.2,.7,.2,1),background .3s}.pm.pm.pm .dv{text-align:right;font-weight:700}.pm.pm.pm .twocol{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px 28px}.pm.pm.pm .twocol h4{margin-top:.4em}.pm.pm.pm .xbars{display:grid;gap:12px;margin:14px 0}.pm.pm.pm .xrow .t{display:flex;justify-content:space-between;font-size:.88rem;color:var(--muted);margin-bottom:4px}.pm.pm.pm .xbar{position:relative;display:flex;height:28px;border-radius:7px;overflow:hidden;background:var(--surface-2)}.pm.pm.pm .xseg{height:100%;transition:width .5s cubic-bezier(.2,.7,.2,1);color:var(--on-port);font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden}.pm.pm.pm .xseg.e{background:var(--port)}.pm.pm.pm .xseg.f{background:var(--inter)}.pm.pm.pm .xseg.c{background:var(--bench)}.pm.pm.pm .xseg.h{background:repeating-linear-gradient(45deg,var(--loss) 0 5px,transparent 5px 10px);color:var(--ink)}.pm.pm.pm .xbar .mark{position:absolute;top:0;bottom:0;border-left:2px dashed var(--ink);opacity:.55}.pm.pm.pm .tbl td.hl{background:var(--gapfill);font-weight:700}.pm.pm.pm .tbl.text td{white-space:normal;text-align:left;vertical-align:top}.pm.pm.pm .tbl.text th{text-align:left}.pm.pm.pm .gap.loss{fill:var(--lossfill)}.pm.pm.pm .ln.i{stroke:var(--inter)}.pm.pm.pm .ln.thin{stroke-width:1.8}.pm.pm.pm .dot{stroke:var(--surface);stroke-width:2}.pm.pm.pm .dot.g{fill:var(--gain)}.pm.pm.pm .dot.p{fill:var(--port)}.pm.pm.pm .dot.i{fill:var(--inter)}.pm.pm.pm .dot.b{fill:var(--bench)}.pm.pm.pm .legend i.i{background:var(--inter)}.pm.pm.pm .legend i.ls{background:var(--lossfill);height:10px}.pm.pm.pm .callout{margin:1.2em 0;padding:14px 16px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}.pm.pm.pm .callout b.h{display:block;font-family:var(--display);font-size:1.02rem;margin-bottom:4px}@media (max-width:560px){.pm.pm.pm.pm .pm-pager{grid-template-columns:1fr}.pm.pm.pm.pm .pm-pg.next{text-align:left}.pm.pm.pm{font-size:16.5px}.pm.pm.pm .lab{padding:18px 14px;border-radius:14px}.pm.pm.pm .ch-num{font-size:2.5rem}.pm.pm.pm .brand{font-size:.9rem}.pm.pm.pm .topbar-in{padding:9px 12px 8px;gap:8px}.pm.pm.pm .level button{font-size:.78rem;padding:5px 9px}.pm.pm.pm .hrow{grid-template-columns:70px 1fr 84px}.pm.pm.pm .wf{height:220px}}@media (prefers-reduced-motion:reduce){.pm.pm.pm *{transition:none!important;animation:none!important}}.pm.pm.pm .ch-head h1{margin:0}