:root{--paper:#ffffff;--bar:#f4f7f7;--ink:#253238;--muted:#5b6b70;--rule:#c7d2d0;--hair:#e3e9e8;--blue:#0d9488;--brand:#0d9488;--stamp:#8e2b24;--up:#10b981}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif;font-size:14px;line-height:1.5}a{color:var(--blue)}.shell{max-width:1180px;margin:0 auto;padding:28px 20px 64px}.eyebrow{font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}h1{font-family:var(--font-serif),ui-sans-serif,system-ui,sans-serif;font-weight:700;font-size:34px;letter-spacing:-.02em;margin:6px 0}.eyebrow,h1,h3{color:var(--brand)}.lede{max-width:62ch;margin:0}.lede,.legend{color:var(--muted)}.legend{margin-top:14px;padding-top:10px;border-top:1px solid var(--hair);font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif;font-size:11px;display:flex;gap:18px;flex-wrap:wrap}.legend b{font-weight:500}.sw{display:inline-block;width:9px;height:9px;vertical-align:-1px}.sw.blue{background:var(--blue)}.sw.ink{background:var(--ink)}.cols{display:grid;grid-template-columns:340px minmax(0,1fr);grid-gap:34px;gap:34px;margin-top:26px}@media (max-width:900px){.cols{grid-template-columns:1fr;gap:26px}}.stack{grid-gap:26px;gap:26px}.stack,aside{display:grid;align-content:start}aside{grid-gap:24px;gap:24px}.panel{border:1px solid var(--rule);background:#fff}.panel h2{margin:0;padding:10px 14px;background:var(--bar);border-bottom:1px solid var(--rule);font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.panel .body{padding:14px}.panel .scroll{overflow-x:auto}.tabs{display:flex;border:1px solid var(--rule);margin-bottom:16px}.tabs button{flex:1 1;padding:9px 8px;background:#fff;border:0;cursor:pointer;font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.tabs button+button{border-left:1px solid var(--rule)}.tabs button[aria-pressed=true]{background:var(--brand);color:#fff}.fld{display:block;margin-bottom:11px}.fld-lab{display:block;margin-bottom:3px;font-size:11px;color:var(--muted);font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif;letter-spacing:.05em}.fld-in{display:flex;align-items:baseline;border-bottom:1px solid var(--rule)}.fld-in input{flex:1 1;width:100%;border:0;background:transparent;padding:4px 0;font-family:var(--font-mono),monospace;font-size:15px;font-weight:500;color:var(--blue)}.fld-in input:focus{outline:2px solid var(--blue);outline-offset:2px}.fld-in em{font-style:normal;font-size:10px;color:var(--muted);font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif}.sld{display:block;margin-bottom:13px}.sld-top{display:flex;justify-content:space-between;align-items:baseline}.sld-val{font-family:var(--font-mono),monospace;font-size:15px;font-weight:500;color:var(--blue)}.sld input{width:100%;margin-top:5px;accent-color:#1f4a82}.sld input:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.sub{margin-top:14px;padding-top:12px;border-top:1px solid var(--hair)}.link{background:none;border:0;padding:0;cursor:pointer;color:var(--blue);font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif;font-size:11px;letter-spacing:.06em;text-decoration:underline;text-underline-offset:3px}.capm{margin-top:12px}.capm-out{margin:10px 0 0;font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif;font-size:12px;color:var(--muted)}.capm-out b{color:var(--ink);font-weight:600}.apply{margin-top:8px;padding:5px 10px;border:1px solid var(--ink);background:#fff;cursor:pointer;font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.apply:hover{background:var(--ink);color:var(--paper)}.stamp-row{display:flex;gap:22px;flex-wrap:wrap;align-items:flex-start}.stamp{border:2px solid var(--stamp);color:var(--stamp);background:#fff;padding:16px 20px;transform:rotate(-1.2deg);max-width:100%}.stamp .k{display:block;margin-bottom:4px;font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif;font-size:10px;letter-spacing:.06em;text-transform:uppercase}.stamp .v{display:block;font-family:var(--font-serif),ui-sans-serif,system-ui,sans-serif;font-size:44px;font-weight:600;line-height:1;letter-spacing:-.02em}.stamp .n{display:block;margin-top:7px;font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif;font-size:11px;line-height:1.6}.verdict{padding-top:8px;max-width:34ch}.verdict p{margin:0 0 8px;font-size:13px;color:var(--muted)}.verdict .big{font-family:var(--font-mono),monospace;font-size:22px;font-weight:500;color:var(--ink)}.verdict .big span{font-size:12px;color:var(--muted)}.up{color:var(--up)}.down{color:var(--stamp)}table{width:100%;border-collapse:collapse;font-size:12px}table,th{font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif}th{padding:7px 10px;text-align:right;border-bottom:1px solid var(--ink);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}th:first-child{text-align:left}td{position:relative;padding:5px 10px;text-align:right;border-bottom:1px solid var(--hair);font-family:var(--font-mono),ui-monospace,monospace}td:first-child{text-align:left;color:var(--muted)}tbody tr:nth-child(2n){background:var(--bar)}tbody tr.fade td:first-child:after{content:" fade";font-size:9px;letter-spacing:.1em;color:var(--muted)}.pvbar{position:absolute;inset:0 auto 0 0;background:rgba(31,74,130,.13)}td span{position:relative}tfoot td{padding:6px 10px;border-bottom:0}tfoot td:first-child{color:var(--ink)}tfoot tr.rule td,tfoot tr.total td{border-top:1px solid var(--ink)}tfoot tr.total td{border-bottom:3px double var(--ink);font-weight:600;font-size:14px}table.grid td{text-align:center}table.grid td:first-child{text-align:left}table.grid td.hit{background:var(--ink);color:var(--paper)}.note{margin:10px 0 0;font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif;font-size:11px;line-height:1.6;color:var(--muted)}.note.pad{padding:0 14px 12px}.warn{margin:0;padding:10px 12px;border:1px solid var(--stamp);color:var(--stamp);font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif;font-size:12px}.modules{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:18px;gap:18px;margin-top:28px}.module.hero{margin-top:28px;border-width:2px;border-color:var(--brand)}.module,.module.hero{display:block;background:#fff}.module{padding:18px;border:1px solid var(--rule);text-decoration:none;color:inherit}.module:hover{border-color:var(--ink)}.module .num{font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif;font-size:11px;letter-spacing:.05em;color:var(--muted)}.module h3{margin:6px 0 8px;font-family:var(--font-serif),ui-sans-serif,system-ui,sans-serif;font-size:20px;font-weight:600}.module p{margin:0;font-size:13px;color:var(--muted)}.module .state{display:inline-block;margin-top:12px;padding:2px 7px;border:1px solid var(--rule);font-family:var(--font-sans),ui-sans-serif,system-ui,sans-serif;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.module .state.live{border-color:var(--up);color:var(--up)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.derive-toggle{border:0;background:none;padding:0;font:inherit;font-size:13px;color:var(--blue);cursor:pointer}.derive{margin-top:12px}.derive-step{margin:9px 0}.derive-label{display:block;font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.derive-step code{display:block;font-family:var(--font-mono),ui-monospace,monospace;font-size:12.5px;background:var(--bar);padding:5px 8px;margin-top:2px;overflow-x:auto;white-space:nowrap}.derive-step small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px;max-width:72ch}.toolkit-head{margin:34px 0 10px;font-size:13px;color:var(--muted)}.toolkit{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:10px;gap:10px}.tool{display:block;padding:11px 14px;border:1px solid var(--hair);background:#fff;text-decoration:none;color:inherit}.tool:hover{border-color:var(--brand)}.tool b{display:block;font-size:13.5px;color:var(--brand);font-weight:600}.tool span{font-size:12px;color:var(--muted)}