:root{color-scheme:light;--navy: #1e2b4f;--navy-dark: #131c35;--navy-light: #33446f;--brass: #b8893f;--brass-light: #d4a458;--paper: #faf8f3;--paper-warm: #f4eee2;--card: #ffffff;--ink: #1b2230;--muted: #6b7280;--line: #e6e1d5;--line-strong: #d6cfbe;--good: #2f7d5b;--bad: #a02934;--pool: #8a7a52;--serif: "Fraunces", Georgia, serif;--sans: "Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--sans);background:var(--paper);color:var(--ink);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.app{max-width:1180px;margin:0 auto;padding:0 22px;display:flex;flex-direction:column;height:100vh}.masthead{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(180deg,var(--navy) 0%,var(--navy-dark) 100%);margin:0 -22px 22px;padding:20px 28px;border-bottom:4px solid var(--brass)}.masthead h1{font-family:var(--serif);font-weight:500;font-size:24px;letter-spacing:.3px;color:var(--paper);margin:0}.masthead .kicker{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--brass-light);font-weight:700;margin-bottom:2px}.masthead .company{text-align:right;color:#cdd5e6;font-size:13px}.masthead .company strong{color:var(--paper);display:block;font-size:16px}.banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(180deg,#f0d896 0%,var(--brass) 100%);color:var(--navy-dark);padding:11px 16px;border-radius:4px;margin-bottom:20px;border:1px solid var(--brass)}.banner[hidden]{display:none}.banner .body{font-size:13px}.banner button{background:var(--navy);color:var(--paper);border:none;padding:8px 14px;border-radius:3px;font:inherit;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;cursor:pointer}.banner button:hover{background:var(--navy-dark)}.workspace{display:grid;grid-template-columns:360px 1fr;gap:22px;flex:1 1 auto;min-height:0}.editor-col,.output-col{overflow-y:auto;min-height:0;padding-bottom:48px;padding-right:6px}.editor-col{scrollbar-width:thin}@media (max-width: 880px){.app{height:auto}.workspace{grid-template-columns:1fr}.editor-col,.output-col{overflow:visible}}.section{padding:0;overflow:hidden}.section-head{width:100%;display:flex;align-items:center;gap:10px;background:linear-gradient(180deg,#fff 0%,var(--paper-warm) 100%);border:none;border-bottom:1px solid transparent;cursor:pointer;padding:14px 18px;font:inherit;text-align:left}.section.open .section-head{border-bottom:2px solid var(--brass)}.section-head .chevron{color:var(--brass);font-size:12px;width:12px}.section-head .section-title{flex:1;font-size:11px;text-transform:uppercase;letter-spacing:1.4px;color:var(--navy);font-weight:800}.section-head .section-badge{font-size:11px;font-weight:700;color:var(--paper);background:var(--navy);border-radius:10px;padding:1px 9px}.section-body{padding:16px 18px 18px}.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:18px 20px;margin-bottom:18px;box-shadow:0 1px 2px #14181f0a}.card h2{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;color:var(--navy);font-weight:800;margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid var(--brass)}.control{margin-bottom:16px}.control label{display:flex;justify-content:space-between;font-weight:600;font-size:12.5px;margin-bottom:6px}.control label .val{font-variant-numeric:tabular-nums;color:var(--navy);font-weight:700}.control input[type=range]{width:100%;accent-color:var(--brass)}.control .hint{font-size:11px;color:var(--muted);margin-top:4px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}@media (max-width: 620px){.metrics{grid-template-columns:repeat(2,1fr)}}.metric{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px 16px}.metric .k{font-size:10.5px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:700}.metric .v{font-family:var(--serif);font-size:22px;font-weight:500;color:var(--navy);margin-top:4px;font-variant-numeric:tabular-nums}.metric .sub{font-size:11px;color:var(--muted);margin-top:2px}table.cap{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}table.cap th,table.cap td{text-align:right;padding:8px 10px;border-bottom:1px solid var(--line)}table.cap th:first-child,table.cap td:first-child{text-align:left}table.cap th{font-size:10.5px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);font-weight:700}table.cap tr.total td{border-top:2px solid var(--line-strong);border-bottom:none;font-weight:800}.tag{display:inline-block;font-size:10px;font-weight:700;padding:1px 7px;border-radius:10px}.tag.common{background:#e7edf7;color:var(--navy)}.tag.preferred{background:#efe6d2;color:#7a5a1e}.tag.option_pool{background:#efece2;color:var(--pool)}.qsbs{font-size:10px;color:var(--good);font-weight:700}.btn-row{display:flex;gap:10px;flex-wrap:wrap}button.primary{background:var(--navy);color:var(--paper);border:none;padding:11px 18px;border-radius:5px;font:inherit;font-weight:700;font-size:13px;cursor:pointer}button.primary:hover{background:var(--navy-dark)}button.ghost{background:transparent;color:var(--navy);border:1.5px solid var(--line-strong);padding:11px 18px;border-radius:5px;font:inherit;font-weight:700;font-size:13px;cursor:pointer}button.ghost:hover{border-color:var(--brass)}.footnote{font-size:11px;color:var(--muted);margin-top:14px;line-height:1.5}.footnote a{color:var(--navy)}.field-row{display:flex;align-items:center;gap:10px}.field-row input[type=range]{flex:1;accent-color:var(--brass)}.numbox{width:116px;font:inherit;font-size:12.5px;text-align:right;padding:6px 8px;border:1px solid var(--line-strong);border-radius:4px;background:var(--paper);color:var(--ink);font-variant-numeric:tabular-nums}.numbox.wide{width:130px}.numbox:focus,.full:focus,.editor-table input:focus{outline:2px solid var(--brass-light);border-color:var(--brass)}.unit{color:var(--muted);font-size:12px}.full{width:100%;font:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:4px;background:var(--paper);color:var(--ink)}.frow-head{display:flex;gap:6px;margin-bottom:4px}.frow-head span{font-size:9.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:700}.frow-head .h-name,.frow-head .h-class{flex:1 1 0}.frow-head .h-shares{flex:0 0 70px;text-align:right}.frow-head .h-del{flex:0 0 26px}.frows{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.frow{display:flex;gap:6px;align-items:center}.frow input[type=text]{min-width:0;font:inherit;font-size:12.5px;padding:6px 8px;border:1px solid var(--line-strong);border-radius:4px;background:var(--paper);color:var(--ink)}.frow .f-name,.frow .f-class{flex:1 1 0}.smartnum{flex:0 0 auto;width:70px;text-align:right;font-variant-numeric:tabular-nums;font:inherit;font-size:12.5px;padding:6px 8px;border:1px solid var(--line-strong);border-radius:4px;background:var(--paper);color:var(--ink);transition:width .12s ease}.smartnum:focus{width:132px;outline:2px solid var(--brass-light);border-color:var(--brass)}.frow .row-del{flex:0 0 auto}.editor-table{width:100%;border-collapse:collapse;margin-bottom:8px}.editor-table th{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:700;text-align:left;padding:2px 6px 6px}.editor-table td{padding:3px 4px}.editor-table input[type=text]{width:100%;font:inherit;font-size:12.5px;padding:6px 8px;border:1px solid var(--line-strong);border-radius:4px;background:var(--paper);color:var(--ink)}.editor-table input[type=number]{font:inherit;font-size:12.5px;padding:6px 8px;border:1px solid var(--line-strong);border-radius:4px;text-align:right;background:var(--paper)}.row-del{background:transparent;border:1px solid var(--line-strong);color:var(--bad);width:26px;height:28px;border-radius:4px;font-size:16px;line-height:1;cursor:pointer}.row-del:hover:not(:disabled){background:#f7e9ea;border-color:var(--bad)}.row-del:disabled{opacity:.3;cursor:not-allowed}.add-row{background:transparent;border:1.5px dashed var(--line-strong);color:var(--navy);padding:8px 12px;border-radius:5px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;width:100%}.add-row:hover{border-color:var(--brass)}.add-row.big{margin-top:12px;border-style:solid;font-weight:700}.round-block{border:1px solid var(--line);border-radius:7px;padding:14px;margin-bottom:14px;background:var(--paper-warm)}.round-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}.round-name{flex:1;font-family:var(--serif);font-size:16px;font-weight:500;color:var(--navy);border:none;background:transparent;border-bottom:2px solid var(--brass);padding:2px 2px 4px}.round-name:focus{outline:none}.inv-head{display:flex;justify-content:space-between;align-items:baseline;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin:10px 0 6px}.inv-head .raised{color:var(--navy);font-weight:700}.conv-item{border:1px solid var(--line);border-radius:7px;padding:12px;margin-bottom:12px;background:var(--paper-warm)}.conv-head{display:flex;gap:6px;align-items:center;margin-bottom:10px}.conv-name{flex:1 1 0;min-width:0;font:inherit;font-size:13px;font-weight:600;padding:6px 8px;border:1px solid var(--line-strong);border-radius:4px;background:var(--paper);color:var(--ink)}.conv-type{flex:0 0 auto;font:inherit;font-size:12px;padding:6px;border:1px solid var(--line-strong);border-radius:4px;background:var(--paper);color:var(--ink)}.conv-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}.conv-grid label{display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:600;color:var(--muted)}.numbox.sm{width:100%}caption.cap-cap{caption-side:bottom;text-align:left;font-size:11px;color:var(--muted);padding-top:8px;line-height:1.5}.accr{color:var(--good);font-size:10px;font-weight:700}.datebox{text-align:left;font-size:11.5px}.warn{background:#fbecea;border:1px solid var(--bad);color:var(--bad);padding:9px 12px;border-radius:5px;font-size:12px;font-weight:600;margin:0 0 12px}.inline-field{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.inline-field label{font-weight:600;font-size:12.5px;color:var(--ink)}.inline-date{flex:0 0 auto;width:150px;padding:6px 8px;border:1px solid var(--line-strong);border-radius:4px;background:var(--paper);color:var(--ink)}.seg-row{display:flex;align-items:center;gap:14px;margin-bottom:14px}.seg-row .conv-type{flex:0 0 auto}.check{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--ink);cursor:pointer}.check input{accent-color:var(--brass)}.ibox{display:inline-flex;align-items:center;gap:4px}.ibox .unit{color:var(--muted);font-size:12px}.hint.info{background:#eef2f9;border:1px solid #d8e0ee;border-radius:6px;padding:9px 11px;color:#3a455c;margin:0 0 14px;line-height:1.5}.hint.info strong{color:var(--navy)}.hint.info.dismissible{position:relative;padding-right:30px}.note-x{position:absolute;top:4px;right:5px;background:transparent;border:none;color:#6b7280;font-size:17px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:4px}.note-x:hover{background:#dde4f0;color:var(--navy)}.frow .conv-type{flex:0 0 auto;max-width:96px}.prows{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}.prow{display:flex;flex-direction:column;gap:6px;padding-bottom:8px;border-bottom:1px dashed var(--line)}.prow:last-child{border-bottom:none;padding-bottom:0}.prow2{display:flex;gap:6px;align-items:center}.prow2 .conv-type{flex:0 0 auto;max-width:110px}.prow2 .f-class{flex:0 0 auto;width:132px}.prow2 .smartnum{flex:1 1 auto}.prow2 .row-del{flex:0 0 auto}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:color .15s}th.sortable:hover{color:var(--brass)}th.sortable.r{text-align:right}th.sortable.active{color:var(--brass)}th.sortable .sort-ind{font-size:9px;opacity:.55}th.sortable.active .sort-ind{opacity:1}.derived-line{font-size:11.5px;color:var(--muted);margin-top:6px;line-height:1.5}.derived-line strong{color:var(--navy)}.seg-label{font-weight:600;font-size:12.5px;flex:1}.pool-meter{font-size:12px;color:var(--muted);margin-bottom:10px}.pool-meter strong{color:var(--navy)}.pool-meter .over{color:var(--bad);font-weight:700}.sub-label{font-size:10.5px;text-transform:uppercase;letter-spacing:1px;color:var(--brass);font-weight:800;margin:14px 0 8px}.sub-label:first-child{margin-top:0}.card.highlight{border:1px solid var(--brass);box-shadow:0 2px 10px #b8893f24}.card.highlight h2{color:var(--navy)}.neg{color:var(--bad);font-weight:700}.pos{color:var(--good);font-weight:700}.prepost-summary{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:12px;color:var(--muted);margin-bottom:12px}.prepost-summary strong{color:var(--navy)}tr.row-new{background:#f3f7f2}.newbadge{display:inline-block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--good);border:1px solid var(--good);border-radius:8px;padding:0 6px;margin-left:8px}.mast-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.tour-launch{display:inline-flex;align-items:center;gap:6px;background:#ffffff1a;color:var(--paper);border:1px solid var(--brass);border-radius:20px;padding:6px 14px;font:inherit;font-size:12px;font-weight:700;letter-spacing:.3px;cursor:pointer;transition:background .15s,transform .15s}.tour-launch:hover{background:var(--brass);color:var(--navy-dark);transform:translateY(-1px)}.section-head-row{display:flex;align-items:stretch}.section-head-row .section-head{flex:1;width:auto}.section.open .section-head{border-bottom-color:transparent}.section.open .section-head-row{border-bottom:2px solid var(--brass)}.help-btn{flex:0 0 auto;width:34px;background:linear-gradient(180deg,#fff 0%,var(--paper-warm) 100%);border:none;border-left:1px solid var(--line);color:var(--navy);font-weight:800;font-size:14px;cursor:pointer;transition:background .15s,color .15s}.help-btn:hover,.help-btn.active{background:var(--navy);color:var(--paper)}.guide-wrap{padding-top:14px}.guide{font-size:12.5px;line-height:1.55;color:var(--ink);position:relative}.guide-part{margin-bottom:11px}.guide-part:last-child{margin-bottom:0}.guide-part p{margin:2px 0 0}.guide-label{display:inline-block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--brass)}.guide-part.insight{background:var(--paper-warm);border-left:3px solid var(--brass);border-radius:5px;padding:9px 11px}.guide-part.insight .guide-label{color:var(--navy)}.need-pill{font-size:9px;font-weight:800;letter-spacing:.5px;border-radius:8px;padding:1px 7px;vertical-align:middle}.need-pill.core{background:var(--navy);color:var(--paper)}.need-pill.optional{background:#e7e1d2;color:var(--navy)}.guide-list{margin:0;padding-left:18px;font-size:12.5px;line-height:1.6}.guide-list li{margin-bottom:3px}.guide-x{position:absolute;top:-4px;right:-4px;width:24px;height:24px;border:none;background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;border-radius:12px}.guide-x:hover{background:var(--paper-warm);color:var(--navy)}.tour-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000}.tour-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#0c12218c}.tour-spotlight{position:fixed;border-radius:10px;pointer-events:none;box-shadow:0 0 0 9999px #0c12218c,0 0 0 2px var(--brass-light);transition:top .25s ease,left .25s ease,width .25s ease,height .25s ease}.tour-tip{position:fixed;background:var(--card);border-radius:12px;border-top:4px solid var(--brass);box-shadow:0 24px 70px -20px #0c1221a6;padding:16px 18px 14px;max-height:calc(100vh - 24px);overflow-y:auto}.tour-tip-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.tour-count{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.tour-skip{background:none;border:none;color:var(--muted);font:inherit;font-size:11px;cursor:pointer;text-decoration:underline}.tour-skip:hover{color:var(--navy)}.tour-title{font-family:var(--serif);font-weight:500;font-size:19px;color:var(--navy);margin:0 0 8px}.tour-body{font-size:13px;line-height:1.55;color:var(--ink)}.tour-body p{margin:0 0 8px}.tour-actions{display:flex;justify-content:space-between;gap:10px;margin-top:14px}.tour-btn{font:inherit;font-size:13px;font-weight:700;padding:9px 18px;border-radius:6px;cursor:pointer;transition:background .15s,transform .15s}.tour-btn.ghost{background:transparent;color:var(--navy);border:1.5px solid var(--line-strong)}.tour-btn.ghost:disabled{opacity:.4;cursor:default}.tour-btn.ghost:not(:disabled):hover{border-color:var(--navy)}.tour-btn.primary{background:var(--navy);color:var(--paper);border:none}.tour-btn.primary:hover{background:var(--navy-dark);transform:translateY(-1px)}.mast-actions{display:flex;gap:8px}.pdf-btn{display:inline-flex;align-items:center;gap:6px;background:var(--brass);color:var(--navy-dark);border:1px solid var(--brass);border-radius:20px;padding:6px 14px;font:inherit;font-size:12px;font-weight:800;letter-spacing:.3px;cursor:pointer;transition:background .15s,transform .15s}.pdf-btn:hover{background:var(--brass-light);transform:translateY(-1px)}.print-only{display:none}@media print{@page{size:Letter;margin:0}html,body{background:#fff!important;color:#14181f}body{font-size:10px;width:auto!important;padding:.5in .55in!important}.app{display:block;height:auto;width:100%!important;max-width:100%!important;margin:0;padding:0}*{box-shadow:none!important}.masthead,.banner,.editor-col,.tour-root,.mast-actions,.help-btn,.section,.btn-row,.add-row{display:none!important}.workspace{display:block;grid-template-columns:none;width:100%!important}.output-col{overflow:visible!important;padding:0!important;width:100%!important;max-width:100%!important}.card,.metric,table,.guide{break-inside:avoid}.card{border:1px solid #e0dccf;border-radius:6px;margin-bottom:12px;padding:12px 14px}.card h2{font-size:13px}.metrics{display:flex;flex-wrap:wrap!important;gap:8px;margin-bottom:12px}.metric{border:1px solid #e0dccf;flex:1 1 120px;min-width:0}table{width:100%!important;table-layout:auto}table.cap{font-size:9px}th,td{word-break:break-word;overflow-wrap:anywhere}th.sortable{cursor:default}th.sortable .sort-ind{display:none}svg{max-width:100%!important;height:auto}a{color:#14181f;text-decoration:none}.print-only{display:block}.print-header{padding:0 0 12px;margin-bottom:14px;border-bottom:2px solid var(--brass)}.print-header .ph-brand{font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--brass)}.print-header .ph-title{font-family:var(--serif);font-weight:500;font-size:24px;color:var(--navy);margin:4px 0 2px}.print-header .ph-date{font-size:11px;color:#6b7280}.print-foot{margin-top:16px;padding-top:10px;border-top:1px solid #e0dccf;font-size:9px;color:#6b7280;line-height:1.5}.print-foot .pf-contact{margin-top:4px}.print-foot strong{color:var(--navy)}}
